Commit 2cab3ec41c270fc6f686a5ab1aef09d57ce9b50b
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> |
... | ... |