Commit 2cab3ec41c270fc6f686a5ab1aef09d57ce9b50b

Authored by 易文鹏
1 parent 98891781

feat:入库明细、库存明细、交易明细,新增是否自建单据字段和对应条件查询

Showing 20 changed files with 127 additions and 11 deletions
src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
... ... @@ -164,7 +164,7 @@ public class OverrideHandleServiceImpl implements OverrideHandleService {
164 164 if (material == null) {
165 165 return AjaxResult.error("物料不存在:" + materialCode);
166 166 }
167   - if (material.getSpec().equals("自建单据物料")) {
  167 + if (material.getSelfCreated()) {
168 168 isSelfCreated = 1;
169 169 }
170 170 }
... ...
src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java
... ... @@ -233,7 +233,7 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService
233 233 if (material == null) {
234 234 return AjaxResult.error("物料不存在:" + materialCode);
235 235 }
236   - if (material.getSpec().equals("自建单据物料")) {
  236 + if (material.getSelfCreated()) {
237 237 isSelfCreated = 1;
238 238 break;
239 239 }
... ...
src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
... ... @@ -18,6 +18,7 @@ import com.huaheng.framework.web.page.PageDomain;
18 18 import com.huaheng.framework.web.page.TableDataInfo;
19 19 import com.huaheng.framework.web.page.TableSupport;
20 20 import com.huaheng.pc.common.JasperPrint.Print;
  21 +import com.huaheng.pc.config.location.domain.Location;
21 22 import com.huaheng.pc.config.material.domain.Material;
22 23 import com.huaheng.pc.config.material.service.MaterialService;
23 24 import com.huaheng.pc.config.materialArea.domain.MaterialArea;
... ... @@ -93,6 +94,8 @@ public class MaterialController extends BaseController {
93 94 .eq(StringUtils.isNotEmpty(material.getType()), Material::getType, material.getType())
94 95 .like(StringUtils.isNotNull(material.getSpec()) && StringUtils.isNotEmpty(material.getSpec()), Material::getSpec, material.getSpec())
95 96 .eq(Material::getWarehouseCode, ShiroUtils.getWarehouseCode())
  97 + .eq(material.getSelfCreated() != null, Material::getSelfCreated, material.getSelfCreated())
  98 +
96 99 .eq(Material::getDeleted, false);
97 100  
98 101 if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
... ... @@ -19,6 +19,7 @@ import com.huaheng.framework.web.page.TableSupport;
19 19 import com.huaheng.framework.web.service.ConfigService;
20 20 import com.huaheng.pc.config.company.domain.Company;
21 21 import com.huaheng.pc.config.company.service.CompanyService;
  22 +import com.huaheng.pc.config.material.domain.Material;
22 23 import com.huaheng.pc.config.material.service.MaterialServiceImpl;
23 24 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
24 25 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
... ... @@ -113,6 +114,7 @@ public class InventoryDetailController extends BaseController {
113 114 .like(StringUtils.isNotEmpty(inventoryDetail.getMaterialColor()), InventoryDetail::getMaterialColor, inventoryDetail.getMaterialColor()) //原仓库编码
114 115 .eq(StringUtils.isNotEmpty(inventoryDetail.getWarehouse()), InventoryDetail::getWarehouse, inventoryDetail.getWarehouse()) //原仓库编码
115 116 .like(StringUtils.isNotEmpty(inventoryDetail.getWarehouseName()), InventoryDetail::getWarehouseName, inventoryDetail.getWarehouseName()) //原仓库名称
  117 + .eq(inventoryDetail.getSelfCreated() != null, InventoryDetail::getSelfCreated, inventoryDetail.getSelfCreated())
116 118  
117 119 //货主
118 120 .in(StringUtils.isNotEmpty(inventoryDetail.getCompanyCode()), InventoryDetail::getCompanyCode, inventoryDetail.getCompanyCode())
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java
... ... @@ -365,4 +365,10 @@ public class InventoryDetail implements Serializable {
365 365 @TableField(value = "isMustFlatWarehouseMaterial")
366 366 @ApiModelProperty(value = "是否必须平库物料,1为是")
367 367 private Boolean isMustFlatWarehouseMaterial;
  368 +
  369 + /**
  370 + * 1为自建单据
  371 + */
  372 + @TableField(value = "selfCreated")
  373 + private Boolean selfCreated;
368 374 }
... ...
src/main/java/com/huaheng/pc/inventory/inventoryTransaction/controller/InventoryTransactionController.java
... ... @@ -12,6 +12,7 @@ import com.huaheng.framework.web.controller.BaseController;
12 12 import com.huaheng.framework.web.page.PageDomain;
13 13 import com.huaheng.framework.web.page.TableDataInfo;
14 14 import com.huaheng.framework.web.page.TableSupport;
  15 +import com.huaheng.pc.config.material.domain.Material;
15 16 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
16 17 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
17 18 import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
... ... @@ -89,6 +90,8 @@ public class InventoryTransactionController extends BaseController {
89 90 .eq(StringUtils.isNotEmpty(inventoryTransaction.getWarehouse()), InventoryTransaction::getWarehouse, inventoryTransaction.getWarehouse()) //原仓库编码
90 91 .like(StringUtils.isNotEmpty(inventoryTransaction.getWarehouseName()), InventoryTransaction::getWarehouseName, inventoryTransaction.getWarehouseName()) //原仓库名称
91 92 .eq(StringUtils.isNotEmpty(inventoryTransaction.getZoneCode()), InventoryTransaction::getZoneCode, inventoryTransaction.getZoneCode()) //库区
  93 + .eq(inventoryTransaction.getSelfCreated() != null, InventoryTransaction::getSelfCreated, inventoryTransaction.getSelfCreated())
  94 +
92 95 //货主
93 96 .in(InventoryTransaction::getCompanyCode, ShiroUtils.getCompanyCodeList())
94 97 .orderByDesc(InventoryTransaction::getId);
... ...
src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
... ... @@ -358,4 +358,10 @@ public class InventoryTransaction implements Serializable {
358 358 @TableField(value = "isMustFlatWarehouseMaterial")
359 359 @ApiModelProperty(value = "是否必须平库物料,1为是")
360 360 private Boolean isMustFlatWarehouseMaterial;
  361 +
  362 + /**
  363 + * 1为自建单据
  364 + */
  365 + @TableField(value = "selfCreated")
  366 + private Boolean selfCreated;
361 367 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
... ... @@ -422,4 +422,10 @@ public class ReceiptDetail implements Serializable {
422 422 @TableField(value = "remarks")
423 423 @ApiModelProperty(value = "自建库备注")
424 424 private String remarks;
  425 +
  426 + /**
  427 + * 1为自建单据
  428 + */
  429 + @TableField(value = "selfCreated")
  430 + private Boolean selfCreated;
425 431 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... ... @@ -120,6 +120,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
120 120 receiptDetail.setMaterialName(material.getName());
121 121 receiptDetail.setMaterialSpec(material.getSpec());
122 122 receiptDetail.setMaterialUnit(material.getUnit());
  123 + receiptDetail.setSelfCreated(true);
123 124  
124 125 receiptDetail.setCreatedBy(ShiroUtils.getName());
125 126 receiptDetail.setLastUpdatedBy(ShiroUtils.getName());
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
... ... @@ -14,6 +14,7 @@ import lombok.Data;
14 14 @Data
15 15 @TableName(value = "receipt_detail_history")
16 16 public class ReceiptDetailHistory implements Serializable {
  17 + private static final long serialVersionUID = 1L;
17 18 /**
18 19 * 入库明细内部号
19 20 */
... ... @@ -424,5 +425,17 @@ public class ReceiptDetailHistory implements Serializable {
424 425 @ApiModelProperty(value = "是否平库,1为平库")
425 426 private Integer isFlatWarehouse;
426 427  
427   - private static final long serialVersionUID = 1L;
  428 + @TableField(value = "isMustFlatWarehouseMaterial")
  429 + @ApiModelProperty(value = "是否必须平库物料,1为是")
  430 + private Boolean isMustFlatWarehouseMaterial;
  431 +
  432 + @TableField(value = "remarks")
  433 + @ApiModelProperty(value = "自建库备注")
  434 + private String remarks;
  435 +
  436 + /**
  437 + * 1为自建单据
  438 + */
  439 + @TableField(value = "selfCreated")
  440 + private Boolean selfCreated;
428 441 }
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
... ... @@ -201,6 +201,8 @@ public class ShipmentHeaderController extends BaseController {
201 201 .like(StringUtils.isNotEmpty(shipmentHeader.getProcessType()), ShipmentHeader::getProcessType, shipmentHeader.getProcessType())
202 202 .eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()), ShipmentHeader::getShipmentType, shipmentHeader.getShipmentType())
203 203 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeader::getReferCode, shipmentHeader.getReferCode())
  204 + .like(StringUtils.isNotEmpty(shipmentHeader.getSuperiorCode()), ShipmentHeader::getSuperiorCode, shipmentHeader.getSuperiorCode())
  205 + .like(StringUtils.isNotEmpty(shipmentHeader.getSuperiorName()), ShipmentHeader::getSuperiorName, shipmentHeader.getSuperiorName())
204 206 .like(StringUtils.isNotEmpty(shipmentHeader.getTransferWarehouseName()), ShipmentHeader::getTransferWarehouseName, shipmentHeader.getTransferWarehouseName())
205 207 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeader::getReferCodeType, shipmentHeader.getReferCodeType())
206 208 .between(StringUtils.isNotNull(startTime1), ShipmentHeader::getRequestedDeliveryDate, startTime1, endTime1)
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java
... ... @@ -152,6 +152,8 @@ public class ShipmentHeaderHistoryController extends BaseController {
152 152 .like(StringUtils.isNotEmpty(shipmentHeader.getProcessType()), ShipmentHeaderHistory::getProcessType, shipmentHeader.getProcessType())
153 153 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeaderHistory::getReferCode, shipmentHeader.getReferCode())
154 154 .like(StringUtils.isNotEmpty(shipmentHeader.getTransferWarehouseName()), ShipmentHeaderHistory::getTransferWarehouseName, shipmentHeader.getTransferWarehouseName())
  155 + .like(StringUtils.isNotEmpty(shipmentHeader.getSuperiorCode()), ShipmentHeaderHistory::getSuperiorCode, shipmentHeader.getSuperiorCode())
  156 + .like(StringUtils.isNotEmpty(shipmentHeader.getSuperiorName()), ShipmentHeaderHistory::getSuperiorName, shipmentHeader.getSuperiorName())
155 157 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeaderHistory::getReferCodeType, shipmentHeader.getReferCodeType())
156 158 .like(StringUtils.isNotEmpty(shipmentHeader.getOrigin()), ShipmentHeaderHistory::getOrigin, shipmentHeader.getOrigin())
157 159 .between(StringUtils.isNotNull(startTime1), ShipmentHeaderHistory::getRequestedDeliveryDate, startTime1, endTime1)
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
... ... @@ -560,7 +560,9 @@ public class ReceiptTaskService {
560 560 inventoryDetail.setIsFlatWarehouse(receiptDetail.getIsFlatWarehouse());
561 561 inventoryDetail.setRemarks(receiptDetail.getRemarks());
562 562 inventoryDetail.setIsMustFlatWarehouseMaterial(receiptDetail.getIsMustFlatWarehouseMaterial());
563   -
  563 + if (receiptDetail.getSelfCreated()) {
  564 + inventoryDetail.setSelfCreated(true);
  565 + }
564 566 inventoryDetail.setReceiptCode(receiptHeader.getCode());
565 567 inventoryDetail.setMaterialColor(receiptHeader.getMaterialColor());
566 568 inventoryDetail.setWarehouse(receiptHeader.getWarehouse());
... ... @@ -604,6 +606,9 @@ public class ReceiptTaskService {
604 606 inventoryTransaction.setWarehouseName(receiptHeader.getWarehouseName());
605 607 inventoryTransaction.setIsFlatWarehouse(receiptDetail.getIsFlatWarehouse());
606 608 inventoryTransaction.setIsMustFlatWarehouseMaterial(receiptDetail.getIsMustFlatWarehouseMaterial());
  609 + if (receiptDetail.getSelfCreated()) {
  610 + inventoryDetail.setSelfCreated(true);
  611 + }
607 612 TaskHeader taskHeader = taskHeaderService.getById(taskDetail.getTaskId());
608 613 if (StringUtils.isNotEmpty(taskHeader.getLastUpdatedBy())) {
609 614 inventoryTransaction.setCreatedBy(taskHeader.getLastUpdatedBy());
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
... ... @@ -509,7 +509,7 @@ public class ShipmentTaskService {
509 509 List<InventoryDetail> list = inventoryDetailService.list(new LambdaUpdateWrapper<InventoryDetail>().eq(InventoryDetail::getMaterialCode, materialCode));
510 510 if (list.isEmpty()) {
511 511 Material material = materialService.getMaterialByCode(materialCode, "CS0001");
512   - if (material != null) {
  512 + if (material != null && material.getSelfCreated()) {
513 513 materialService.removeById(material);
514 514 }
515 515 }
... ...
src/main/resources/templates/config/material/material.html
... ... @@ -18,10 +18,18 @@
18 18 <li>
19 19 规格:<input type="text" name="spec"/>
20 20 </li>
  21 +
  22 + <!-- <li>-->
  23 + <!-- 物料类别:<select name="type" th:with="type=${@materialType.list()}">-->
  24 + <!-- <option value="">所有</option>-->
  25 + <!-- <option th:each="e : ${type}" th:text="${e['name']}" th:value="${e['code']}"></option>-->
  26 + <!-- </select>-->
  27 + <!-- </li>-->
21 28 <li>
22   - 物料类别:<select name="type" th:with="type=${@materialType.list()}">
23   - <option value="">所有</option>
24   - <option th:each="e : ${type}" th:text="${e['name']}" th:value="${e['code']}"></option>
  29 + 是否自建单据物料:<select id="selfCreated" name="selfCreated">
  30 + <option value=''>所有</option>
  31 + <option value="true">是</option>
  32 + <option value="false">否</option>
25 33 </select>
26 34 </li>
27 35 <li class="time2">
... ... @@ -79,6 +87,7 @@
79 87 var datas = [[${@dict.getType('sys_normal_disable')}]];
80 88 var mType = [[${@materialType.queryType()}]];
81 89 var materialArea = [[${@materialArea.queryCode()}]];
  90 + var selfCreatedList = [[${@dict.getType('yes_or_no')}]];
82 91  
83 92 $(function () {
84 93 var options = {
... ... @@ -175,6 +184,14 @@
175 184 title: '供需政策'
176 185 },
177 186 {
  187 + field: 'selfCreated',
  188 + title: '自建单据物料',
  189 + formatter: function (value, row, index) {
  190 + return $.table.selectDictLabel(selfCreatedList, value);
  191 + },
  192 + align: 'center',
  193 + },
  194 + {
178 195 field: 'isBatch',
179 196 title: '是否批次'
180 197 },
... ...
src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
... ... @@ -49,6 +49,12 @@
49 49 原仓库编码:<input type="text" name="warehouseName"/>
50 50 </li>
51 51 <li>
  52 + 是否自建单据:<select id="selfCreated" name="selfCreated">
  53 + <option value=''>所有</option>
  54 + <option value="true">是</option>
  55 + <option value="false">否</option>
  56 + </select>
  57 + <li>
52 58 库存状态:
53 59 <select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
54 60 <option value="">所有</option>
... ... @@ -333,6 +339,14 @@
333 339 title: '通知单号',
334 340 },
335 341 {
  342 + field: 'selfCreated',
  343 + title: '自建单据',
  344 + formatter: function (value, row, index) {
  345 + return $.table.selectDictLabel(yes_or_no, value);
  346 + },
  347 + align: 'center',
  348 + },
  349 + {
336 350 field: 'remarks',
337 351 title: '备注',
338 352 },
... ...
src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
... ... @@ -74,9 +74,15 @@
74 74 <li>
75 75 合并前单号:<input type="text" name="recordCode"/>
76 76 </li>
77   - <!-- <li>-->
78   - <!-- 操作人工号:<input type="text" name="createdByNo"/>-->
79   - <!-- </li>-->
  77 + <li>
  78 + 是否自建单据:<select id="selfCreated" name="selfCreated">
  79 + <option value=''>所有</option>
  80 + <option value="true">是</option>
  81 + <option value="false">否</option>
  82 + </select>
  83 + <!-- <li>-->
  84 + <!-- 操作人工号:<input type="text" name="createdByNo"/>-->
  85 + <!-- </li>-->
80 86 <li class="time">
81 87 <label>创建时间: </label>
82 88 <input type="text" class="time-input" id="startTime" placeholder="开始时间"
... ... @@ -240,6 +246,14 @@
240 246 title: '任务数量'
241 247 },
242 248 {
  249 + field: 'selfCreated',
  250 + title: '自建单据',
  251 + formatter: function (value, row, index) {
  252 + return $.table.selectDictLabel(yes_or_no, value);
  253 + },
  254 + align: 'center',
  255 + },
  256 + {
243 257 field: 'batch',
244 258 title: '批次',
245 259 visible: false
... ...
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... ... @@ -304,6 +304,7 @@
304 304 var statusFirst = [[${statusFirst}]];
305 305 var statusLast = [[${statusLast}]];
306 306 var yes_or_no = [[${@dict.getType('yes_or_no')}]];
  307 +
307 308 //完成开始
308 309 layui.use('laydate', function () {
309 310 var laydate = layui.laydate;
... ... @@ -711,6 +712,14 @@
711 712 title: '已收数量'
712 713 },
713 714 {
  715 + field: 'selfCreated',
  716 + title: '自建单据物料',
  717 + formatter: function (value, row, index) {
  718 + return $.table.selectDictLabel(yes_or_no, value);
  719 + },
  720 + align: 'center',
  721 + },
  722 + {
714 723 field: 'isMustFlatWarehouseMaterial',
715 724 title: '必须平库物料',
716 725 formatter: function (value, row, index) {
... ... @@ -731,6 +740,7 @@
731 740 }
732 741 }
733 742 },
  743 +
734 744 {
735 745 field: 'referCode',
736 746 title: 'ERP单号',
... ...
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... ... @@ -76,6 +76,12 @@
76 76 调入仓库名称:<input type="text" name="transferWarehouseName"/>
77 77 </li>
78 78 <li>
  79 + 母件名称:<input type="text" name="superiorName"/>
  80 + </li>
  81 + <li>
  82 + 母件编码:<input type="text" name="superiorCode"/>
  83 + </li>
  84 + <li>
79 85 头 状 态:<select name="firstStatus"
80 86 th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
81 87 <option value="">所有</option>
... ...
src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html
... ... @@ -62,6 +62,12 @@
62 62 调入仓库名称:<input type="text" name="transferWarehouseName"/>
63 63 </li>
64 64 <li>
  65 + 母件名称:<input type="text" name="superiorName"/>
  66 + </li>
  67 + <li>
  68 + 母件编码:<input type="text" name="superiorCode"/>
  69 + </li>
  70 + <li>
65 71 头 状 态:<select name="firstStatus"
66 72 th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
67 73 <option value="">所有</option>
... ...