Commit 7db8c8eebe7bffbf6a17d642549a3707119d2350
1 parent
d329f3c7
出库单操作记录提(2)
Signed-off-by: TanYibin <5491541@qq.com>
Showing
15 changed files
with
103 additions
and
106 deletions
ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue
... | ... | @@ -102,29 +102,17 @@ |
102 | 102 | type="primary" |
103 | 103 | icon="download" |
104 | 104 | size="small" |
105 | - @click="downloadFile(text)"> | |
106 | - 下载 | |
105 | + @click="downloadFile(text)">下载 | |
107 | 106 | </a-button> |
108 | 107 | </template> |
109 | - | |
110 | - <span slot="action" slot-scope="text, record"> | |
111 | - <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)">生成任务</a> | |
112 | - <a v-else-if="record.status == 0" @click="createTask(record)">生成任务</a> | |
113 | - <a-divider type="vertical"/> | |
108 | + <span slot="action" slot-scope="text, record"> | |
109 | + <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)">生成任务<a-divider type="vertical"/></a> | |
110 | + <a v-else-if="record.status == 0" @click="createTask(record)">生成任务<a-divider type="vertical"/></a> | |
114 | 111 | <a-popconfirm v-if="record.status == 0" v-has="'receiptContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)"> |
115 | - <a>取消配盘</a> | |
112 | + <a>取消配盘<a-divider type="vertical"/></a> | |
116 | 113 | </a-popconfirm> |
117 | - <a-divider type="vertical"/> | |
118 | - <a-dropdown> | |
119 | - <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> | |
120 | - <a-menu slot="overlay"> | |
121 | - <a-menu-item> | |
122 | - <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a> | |
123 | - </a-menu-item> | |
124 | - </a-menu> | |
125 | - </a-dropdown> | |
114 | + <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a> | |
126 | 115 | </span> |
127 | - | |
128 | 116 | </a-table> |
129 | 117 | </div> |
130 | 118 | |
... | ... |
ant-design-vue-jeecg/src/views/system/shipment/ShipmentContainerHeaderList.vue
... | ... | @@ -115,28 +115,17 @@ |
115 | 115 | type="primary" |
116 | 116 | icon="download" |
117 | 117 | size="small" |
118 | - @click="downloadFile(text)"> | |
119 | - 下载 | |
118 | + @click="downloadFile(text)">下载 | |
120 | 119 | </a-button> |
121 | 120 | </template> |
122 | 121 | |
123 | 122 | <span slot="action" slot-scope="text, record"> |
124 | - <a v-if="record.status == 0" @click="selectPort(record)">生成任务</a> | |
125 | - <a-divider type="vertical"/> | |
123 | + <a v-if="record.status == 0" @click="selectPort(record)">生成任务<a-divider type="vertical"/></a> | |
126 | 124 | <a-popconfirm v-if="record.status == 0" v-has="'shipmentContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)"> |
127 | - <a>取消配盘</a> | |
125 | + <a>取消配盘<a-divider type="vertical"/></a> | |
128 | 126 | </a-popconfirm> |
129 | - <a-divider type="vertical"/> | |
130 | - <a-dropdown> | |
131 | - <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> | |
132 | - <a-menu slot="overlay" > | |
133 | - <a-menu-item> | |
134 | - <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a> | |
135 | - </a-menu-item> | |
136 | - </a-menu> | |
137 | - </a-dropdown> | |
127 | + <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a> | |
138 | 128 | </span> |
139 | - | |
140 | 129 | </a-table> |
141 | 130 | </div> |
142 | 131 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
... | ... | @@ -89,7 +89,7 @@ public class WcsServiceImpl implements WcsService { |
89 | 89 | */ |
90 | 90 | @Override |
91 | 91 | @Transactional(rollbackFor = Exception.class) |
92 | - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情分配库位'", extra = "#extraJsonString", msg = "'分配库位:' + #locationCode", | |
92 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情分配库位'", extra = "#extraJsonString", msg = "'库位编码:' + #locationCode", | |
93 | 93 | condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) |
94 | 94 | public Result warecellAllocation(WarecellDomain warecellDomain) { |
95 | 95 | String warehouseCode = warecellDomain.getWarehouseCode(); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
... | ... | @@ -49,36 +49,31 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope |
49 | 49 | "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty")); |
50 | 50 | } |
51 | 51 | } else if (logDTO.getBizType().equals("入库单追踪")) { |
52 | - if (logDTO.getTag().equals("详情分配库位")) { | |
52 | + if (logDTO.getTag().equals("详情分配库位") || logDTO.getTag().equals("详情组盘") || logDTO.getTag().equals("详情取消组盘")) { | |
53 | 53 | String message = "容器编码:{},物料编码:{},入库数量:{}"; |
54 | 54 | operationLogList.addAll( |
55 | 55 | createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode", "getMaterialCode", "getQty")); |
56 | + } else if (logDTO.getTag().equals("入库任务生成") || logDTO.getTag().equals("入库任务取消")) { | |
57 | + String message = "物料编码:{},入库数量:{}"; | |
58 | + operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
56 | 59 | } else if (logDTO.getTag().equals("详情入库")) { |
57 | 60 | String message = "物料编码:{},入库数量:{}"; |
58 | 61 | operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getTaskQty")); |
59 | - } else if (logDTO.getTag().equals("详情组盘")) { | |
60 | - String message = "物料编码:{},数量:{},入库数量:{}"; | |
61 | - operationLogList | |
62 | - .addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty", "getTaskQty")); | |
63 | 62 | } else { |
64 | 63 | String message = "物料编码:{},数量:{}"; |
65 | 64 | operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); |
66 | 65 | } |
67 | 66 | } else if (logDTO.getBizType().equals("出库单追踪")) { |
68 | - if (logDTO.getTag().equals("详情分配库位")) { | |
69 | - String message = "容器编码:{},物料编码:{},出库数量:{}"; | |
70 | - operationLogList.addAll( | |
71 | - createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getContainerCode", "getMaterialCode", "getQty")); | |
72 | - } else if (logDTO.getTag().equals("出库任务生成")) { | |
67 | + if (logDTO.getTag().equals("详情配盘") || logDTO.getTag().equals("详情取消配盘")) { | |
68 | + String message = "库位编码:{},容器编码:{},物料编码:{},出库数量:{}"; | |
69 | + operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getFromLocationCode", | |
70 | + "getContainerCode", "getMaterialCode", "getQty")); | |
71 | + } else if (logDTO.getTag().equals("出库任务生成") || logDTO.getTag().equals("出库任务取消")) { | |
73 | 72 | String message = "物料编码:{},出库数量:{}"; |
74 | 73 | operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); |
75 | 74 | } else if (logDTO.getTag().equals("详情出库")) { |
76 | 75 | String message = "物料编码:{},出库数量:{}"; |
77 | 76 | operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getTaskQty")); |
78 | - } else if (logDTO.getTag().equals("详情配盘")) { | |
79 | - String message = "物料编码:{},数量:{},出库数量:{}"; | |
80 | - operationLogList | |
81 | - .addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty", "getTaskQty")); | |
82 | 77 | } else { |
83 | 78 | String message = "物料编码:{},数量:{}"; |
84 | 79 | operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
... | ... | @@ -148,11 +148,10 @@ public class ReceiptContainerHeaderController extends JeecgController<ReceiptCon |
148 | 148 | @ApiOperation(value = "入库组盘-批量删除", notes = "入库组盘-批量删除") |
149 | 149 | @DeleteMapping(value = "/deleteBatch") |
150 | 150 | @RequiresPermissions("receiptContainerHeader:deleteBatch") |
151 | - public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { | |
151 | + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { | |
152 | 152 | List<String> idList = Arrays.asList(ids.split(",")); |
153 | 153 | List<Integer> idInterList = idList.stream().map(Integer::parseInt).collect(Collectors.toList()); |
154 | - Result result = receiptContainerHeaderService.cancelReceiving(idInterList); | |
155 | - return result; | |
154 | + return receiptContainerHeaderService.cancelReceiving(idInterList); | |
156 | 155 | } |
157 | 156 | |
158 | 157 | /** |
... | ... | @@ -265,7 +264,7 @@ public class ReceiptContainerHeaderController extends JeecgController<ReceiptCon |
265 | 264 | String selections = request.getParameter("selections"); |
266 | 265 | if (oConvertUtils.isNotEmpty(selections)) { |
267 | 266 | List<String> selectionList = Arrays.asList(selections.split(",")); |
268 | - exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); | |
267 | + exportList = pageList.stream().filter(item -> selectionList.contains(item.getId().toString())).collect(Collectors.toList()); | |
269 | 268 | } else { |
270 | 269 | exportList = pageList; |
271 | 270 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/IReceiptContainerHeaderService.java
... | ... | @@ -49,7 +49,7 @@ public interface IReceiptContainerHeaderService extends IService<ReceiptContaine |
49 | 49 | * 取消入库任务 |
50 | 50 | * @return |
51 | 51 | */ |
52 | - boolean cancelReceiptTask(Integer receiptContainerHeaderId); | |
52 | + boolean cancelReceiptTask(TaskHeader taskHeader); | |
53 | 53 | |
54 | 54 | /** |
55 | 55 | * 取消组盘 |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -98,6 +98,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
98 | 98 | |
99 | 99 | @Override |
100 | 100 | @Transactional(rollbackFor = ServiceException.class) |
101 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeaderId", | |
102 | + condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) | |
101 | 103 | public Result<TaskHeader> createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { |
102 | 104 | if (!receiptContainerHeader.getWarehouseCode().equals(warehouseCode)) { |
103 | 105 | return Result.error("id:" + receiptContainerHeader.getId() + "的入库组盘不能在" + warehouseCode + "仓库操作"); |
... | ... | @@ -165,11 +167,12 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
165 | 167 | if (!success) { |
166 | 168 | throw new ServiceException("任务生成失败"); |
167 | 169 | } |
170 | + int taskHeaderId = taskHeader.getId(); | |
168 | 171 | List<TaskDetail> taskDetailList = new ArrayList<>(); |
169 | 172 | List<ReceiptDetail> receiptDetailList = new ArrayList<>(); |
170 | 173 | for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) { |
171 | 174 | TaskDetail taskDetail = new TaskDetail(); |
172 | - taskDetail.setTaskHeaderId(taskHeader.getId()); | |
175 | + taskDetail.setTaskHeaderId(taskHeaderId); | |
173 | 176 | taskDetail.setTaskType(taskHeader.getTaskType()); |
174 | 177 | taskDetail.setWarehouseCode(receiptContainerDetail.getWarehouseCode()); |
175 | 178 | taskDetail.setReceiptId(receiptContainerDetail.getReceiptId()); |
... | ... | @@ -213,6 +216,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
213 | 216 | throw new ServiceException("更新入库单明细失败"); |
214 | 217 | } |
215 | 218 | } |
219 | + LogRecordContext.putVariable("taskHeaderId", taskHeaderId);// 操作日志收集 | |
220 | + LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集 | |
221 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集 | |
216 | 222 | return Result.OK("生成入库任务成功", taskHeader); |
217 | 223 | } |
218 | 224 | |
... | ... | @@ -282,8 +288,10 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
282 | 288 | |
283 | 289 | @Override |
284 | 290 | @Transactional(rollbackFor = ServiceException.class) |
285 | - public boolean cancelReceiptTask(Integer receiptContainerHeaderId) { | |
286 | - ReceiptContainerHeader receiptContainerHeader = getById(receiptContainerHeaderId); | |
291 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务取消'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeader.getId()", | |
292 | + condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) | |
293 | + public boolean cancelReceiptTask(TaskHeader taskHeader) { | |
294 | + ReceiptContainerHeader receiptContainerHeader = getById(taskHeader.getReceiptContainerHeaderId()); | |
287 | 295 | if (receiptContainerHeader == null) { |
288 | 296 | return false; |
289 | 297 | } |
... | ... | @@ -324,17 +332,18 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
324 | 332 | } |
325 | 333 | } |
326 | 334 | } |
327 | - | |
335 | + LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集 | |
336 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集 | |
328 | 337 | return true; |
329 | 338 | } |
330 | 339 | |
331 | 340 | @Override |
332 | 341 | @Transactional(rollbackFor = ServiceException.class) |
333 | - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情取消组盘'", extra = "#extraJsonString", msg = "'容器编码:' + #receiptContainerHeader.getContainerCode()", recordReturnValue = true) | |
342 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情取消组盘'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
334 | 343 | public Result cancelReceiving(Integer id) { |
335 | 344 | ReceiptContainerHeader receiptContainerHeader = getById(id); |
336 | 345 | if (receiptContainerHeader == null) { |
337 | - return Result.error("取消组盘失败,没有找到入库组盘头id是" + id); | |
346 | + return Result.error("取消组盘失败,没有找到入库组盘头ID:" + id); | |
338 | 347 | } |
339 | 348 | int status = receiptContainerHeader.getStatus(); |
340 | 349 | if (status >= QuantityConstant.RECEIPT_CONTAINER_TASK) { |
... | ... | @@ -361,10 +370,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
361 | 370 | receiptDetailList.add(receiptDetail); |
362 | 371 | } |
363 | 372 | if (!this.removeById(id)) { |
364 | - throw new ServiceException("取消组盘失败, 删除入库组盘头表失败id是" + id); | |
373 | + throw new ServiceException("取消组盘失败, 删除入库组盘头表失败,组盘ID:" + id); | |
365 | 374 | } |
366 | - LogRecordContext.putVariable("receiptContainerHeader", receiptContainerHeader); | |
367 | - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptDetailList)); | |
375 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList)); | |
368 | 376 | return Result.ok("取消组盘成功"); |
369 | 377 | } |
370 | 378 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
... | ... | @@ -173,7 +173,6 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R |
173 | 173 | } |
174 | 174 | } |
175 | 175 | } |
176 | - | |
177 | 176 | receiptHeader.setFirstStatus(maxStatus); |
178 | 177 | receiptHeader.setLastStatus(minStatus); |
179 | 178 | if (!receiptHeaderService.updateById(receiptHeader)) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java
... | ... | @@ -88,8 +88,8 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl |
88 | 88 | */ |
89 | 89 | @Override |
90 | 90 | @Transactional(rollbackFor = ServiceException.class) |
91 | - @OperationLog(bizId = "''", bizType = "'物料追踪'", tag = "'入库组盘'", extra = "#extraJsonString1", msg = "''", recordReturnValue = true) | |
92 | - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情组盘'", extra = "#extraJsonString2", msg = "'容器编码:' + #receiveList.get(0).getContainerCode()", recordReturnValue = true) | |
91 | + @OperationLog(bizId = "''", bizType = "'物料追踪'", tag = "'入库组盘'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
92 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情组盘'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
93 | 93 | public Result<ReceiptContainerHeader> receiving(List<Receive> receiveList, String warehouseCode) { |
94 | 94 | boolean result = false; |
95 | 95 | if (receiveList == null || receiveList.size() == 0) { |
... | ... | @@ -237,8 +237,7 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl |
237 | 237 | throw new ServiceException("保存入库组盘详情失败"); |
238 | 238 | } |
239 | 239 | } |
240 | - LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(receiptContainerDetailList)); | |
241 | - LogRecordContext.putVariable("extraJsonString2", JSON.toJSONString(receiptDetailList)); | |
240 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList)); | |
242 | 241 | return Result.OK("收货成功", receiptContainerHeader); |
243 | 242 | } |
244 | 243 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
... | ... | @@ -221,8 +221,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
221 | 221 | |
222 | 222 | @Override |
223 | 223 | @Transactional(rollbackFor = ServiceException.class) |
224 | - @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情配盘'", extra = "#extraJsonString", msg = "'库位编码:' + #locationCode + ',容器编码:' + #containerCode", | |
225 | - recordReturnValue = true) | |
224 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情配盘'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
226 | 225 | public Result combination(CombinationModel combinationModel) { |
227 | 226 | BigDecimal shipmentQty = combinationModel.getShipQty(); |
228 | 227 | ShipmentDetail shipmentDetail = combinationModel.getShipmentDetail(); |
... | ... | @@ -313,9 +312,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
313 | 312 | if (!success) { |
314 | 313 | throw new ServiceException("配盘时, 更新出库单失败"); |
315 | 314 | } |
316 | - LogRecordContext.putVariable("locationCode", locationCode); | |
317 | - LogRecordContext.putVariable("containerCode", containerCode); | |
318 | - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail))); | |
315 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentContainerDetail))); | |
319 | 316 | return Result.ok("配盘成功"); |
320 | 317 | } |
321 | 318 | |
... | ... | @@ -366,8 +363,8 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
366 | 363 | BigDecimal shipmentQty = combinationModel.getShipQty(); |
367 | 364 | ShipmentDetail shipmentDetail = combinationModel.getShipmentDetail(); |
368 | 365 | InventoryDetail inventoryDetail = combinationModel.getInventoryDetail(); |
369 | - String locationCode = inventoryDetail.getLocationCode(); | |
370 | - String containerCode = inventoryDetail.getContainerCode(); | |
366 | +// String locationCode = inventoryDetail.getLocationCode(); | |
367 | +// String containerCode = inventoryDetail.getContainerCode(); | |
371 | 368 | String warehouseCode = inventoryDetail.getWarehouseCode(); |
372 | 369 | String materialCode = inventoryDetail.getMaterialCode(); |
373 | 370 | LambdaQueryWrapper<ShipmentContainerDetail> shipmentContainerDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
... | ... | @@ -416,8 +413,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
416 | 413 | |
417 | 414 | @Override |
418 | 415 | @Transactional(rollbackFor = ServiceException.class) |
419 | - @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务生成'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeaderId + ',目标出入口:' + #shipmentContainerHeader.getToPort()", | |
420 | - condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) | |
416 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务生成'", extra = "#extraJsonString", | |
417 | + msg = "'任务ID:' + #taskHeaderId + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", | |
418 | + condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) | |
421 | 419 | public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber) { |
422 | 420 | Integer preTaskNo = 0; |
423 | 421 | if (shipmentContainerHeader == null) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java
... | ... | @@ -117,9 +117,8 @@ public class ShipmentContainerHeaderController extends JeecgController<ShipmentC |
117 | 117 | @ApiOperation(value = "出库组盘-通过id删除", notes = "出库组盘-通过id删除") |
118 | 118 | @RequiresPermissions("shipmentContainerHeader:delete") |
119 | 119 | @DeleteMapping(value = "/delete") |
120 | - public Result<String> delete(@RequestParam(name = "id", required = true) String id) { | |
121 | - Result result = shipmentContainerHeaderService.cancelCombine(Integer.parseInt(id)); | |
122 | - return result; | |
120 | + public Result<?> delete(@RequestParam(name = "id", required = true) String id) { | |
121 | + return shipmentContainerHeaderService.cancelCombine(Integer.parseInt(id)); | |
123 | 122 | } |
124 | 123 | |
125 | 124 | /** |
... | ... | @@ -131,11 +130,10 @@ public class ShipmentContainerHeaderController extends JeecgController<ShipmentC |
131 | 130 | @ApiOperation(value = "出库组盘-批量删除", notes = "出库组盘-批量删除") |
132 | 131 | @RequiresPermissions("shipmentContainerHeader:deleteBatch") |
133 | 132 | @DeleteMapping(value = "/deleteBatch") |
134 | - public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { | |
133 | + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { | |
135 | 134 | List<String> idList = Arrays.asList(ids.split(",")); |
136 | 135 | List<Integer> idInterList = idList.stream().map(Integer::parseInt).collect(Collectors.toList()); |
137 | - Result result = shipmentContainerHeaderService.cancelCombine(idInterList); | |
138 | - return result; | |
136 | + return shipmentContainerHeaderService.cancelCombine(idInterList); | |
139 | 137 | } |
140 | 138 | |
141 | 139 | /** |
... | ... | @@ -248,7 +246,7 @@ public class ShipmentContainerHeaderController extends JeecgController<ShipmentC |
248 | 246 | String selections = request.getParameter("selections"); |
249 | 247 | if (oConvertUtils.isNotEmpty(selections)) { |
250 | 248 | List<String> selectionList = Arrays.asList(selections.split(",")); |
251 | - exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); | |
249 | + exportList = pageList.stream().filter(item -> selectionList.contains(item.getId().toString())).collect(Collectors.toList()); | |
252 | 250 | } else { |
253 | 251 | exportList = pageList; |
254 | 252 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/IShipmentContainerHeaderService.java
... | ... | @@ -6,6 +6,7 @@ import java.util.List; |
6 | 6 | |
7 | 7 | import org.jeecg.common.api.vo.Result; |
8 | 8 | import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; |
9 | +import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; | |
9 | 10 | |
10 | 11 | import com.baomidou.mybatisplus.extension.service.IService; |
11 | 12 | |
... | ... | @@ -41,7 +42,7 @@ public interface IShipmentContainerHeaderService extends IService<ShipmentContai |
41 | 42 | * 取消出库任务 |
42 | 43 | * @return |
43 | 44 | */ |
44 | - boolean cancelShipmentTask(Integer shipmentContainerHeaderId); | |
45 | + boolean cancelShipmentTask(TaskHeader taskHeader); | |
45 | 46 | |
46 | 47 | /** |
47 | 48 | * 取消配盘 |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java
... | ... | @@ -11,6 +11,7 @@ import javax.annotation.Resource; |
11 | 11 | import org.jeecg.common.api.vo.Result; |
12 | 12 | import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; |
13 | 13 | import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService; |
14 | +import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; | |
14 | 15 | import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail; |
15 | 16 | import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; |
16 | 17 | import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerDetailMapper; |
... | ... | @@ -20,16 +21,21 @@ import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentC |
20 | 21 | import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; |
21 | 22 | import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService; |
22 | 23 | import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService; |
24 | +import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; | |
23 | 25 | import org.jeecg.utils.constant.QuantityConstant; |
24 | 26 | import org.springframework.beans.factory.annotation.Autowired; |
25 | 27 | import org.springframework.stereotype.Service; |
26 | 28 | import org.springframework.transaction.annotation.Transactional; |
27 | 29 | |
30 | +import com.alibaba.fastjson.JSON; | |
28 | 31 | import com.aliyun.oss.ServiceException; |
29 | 32 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
30 | 33 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
31 | 34 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
32 | 35 | |
36 | +import cn.monitor4all.logRecord.annotation.OperationLog; | |
37 | +import cn.monitor4all.logRecord.context.LogRecordContext; | |
38 | + | |
33 | 39 | /** |
34 | 40 | * @Description: 出库组盘 |
35 | 41 | * @Author: jeecg-boot |
... | ... | @@ -123,8 +129,12 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
123 | 129 | } |
124 | 130 | |
125 | 131 | @Override |
126 | - public boolean cancelShipmentTask(Integer shipmentContainerHeaderId) { | |
127 | - ShipmentContainerHeader shipmentContainerHeader = getById(shipmentContainerHeaderId); | |
132 | + @Transactional(rollbackFor = Exception.class) | |
133 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务取消'", extra = "#extraJsonString", | |
134 | + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", | |
135 | + condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) | |
136 | + public boolean cancelShipmentTask(TaskHeader taskHeader) { | |
137 | + ShipmentContainerHeader shipmentContainerHeader = getById(taskHeader.getShipmentContainerHeaderId()); | |
128 | 138 | if (shipmentContainerHeader == null) { |
129 | 139 | return false; |
130 | 140 | } |
... | ... | @@ -154,7 +164,6 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
154 | 164 | if (!success) { |
155 | 165 | throw new ServiceException("取消出库任务时, 更新出库单详情头失败"); |
156 | 166 | } |
157 | - | |
158 | 167 | List<Integer> shipmentIdList = shipmentDetailList.stream().map(ShipmentDetail::getShipmentId).distinct().collect(Collectors.toList()); |
159 | 168 | for (Integer shipmentId : shipmentIdList) { |
160 | 169 | success = shipmentHeaderService.updateShipmentHeaderStatus(shipmentId); |
... | ... | @@ -163,47 +172,53 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
163 | 172 | } |
164 | 173 | } |
165 | 174 | } |
166 | - | |
175 | + LogRecordContext.putVariable("shipmentContainerHeader", shipmentContainerHeader);// 操作日志收集 | |
176 | + LogRecordContext.putVariable("shipmentContainerDetailList", shipmentContainerDetailList);// 操作日志收集 | |
177 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentContainerDetailList));// 操作日志收集 | |
167 | 178 | return true; |
168 | 179 | } |
169 | 180 | |
170 | 181 | @Override |
171 | 182 | @Transactional(rollbackFor = ServiceException.class) |
183 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情取消配盘'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
172 | 184 | public Result cancelCombine(Integer id) { |
173 | 185 | ShipmentContainerHeader shipmentContainerHeader = this.getById(id); |
174 | 186 | if (shipmentContainerHeader == null) { |
175 | - return Result.error("取消出库配盘失败, 没有找到出库组盘头id是" + id); | |
187 | + return Result.error("取消出库配盘失败, 没有找到出库组盘头ID:" + id); | |
176 | 188 | } |
177 | 189 | int status = shipmentContainerHeader.getStatus(); |
178 | 190 | if (status >= QuantityConstant.SHIPMENT_CONTAINER_TASK) { |
179 | 191 | return Result.error("取消出库配盘失败,已经生成出库任务"); |
180 | 192 | } |
181 | 193 | List<ShipmentContainerDetail> shipmentContainerDetailList = shipmentContainerDetailService.getShipmentContainerDetailListByHeaderId(id); |
194 | + List<ShipmentDetail> shipmentDetailList = new ArrayList<ShipmentDetail>(); | |
182 | 195 | for (ShipmentContainerDetail shipmentContainerDetail : shipmentContainerDetailList) { |
183 | 196 | ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentContainerDetail.getShipmentDetailId()); |
184 | 197 | if (shipmentDetail == null) { |
185 | - throw new ServiceException("取消出库配盘失败, 没有找到出库单详情id是" + shipmentContainerDetail.getShipmentDetailId()); | |
198 | + throw new ServiceException("取消出库配盘失败, 没有找到出库单,出库详情ID:" + shipmentContainerDetail.getShipmentDetailId()); | |
186 | 199 | } |
187 | 200 | shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_BUILD); |
188 | 201 | shipmentDetail.setTaskQty(shipmentDetail.getTaskQty().subtract(shipmentContainerDetail.getQty())); |
189 | 202 | if (!shipmentDetailService.updateById(shipmentDetail)) { |
190 | - throw new ServiceException("取消出库配盘失败, 更新出库明细失败id是" + shipmentContainerDetail.getShipmentDetailId()); | |
203 | + throw new ServiceException("取消出库配盘失败, 更新出库明细失败,出库详情ID:" + shipmentContainerDetail.getShipmentDetailId()); | |
191 | 204 | } |
192 | 205 | if (!shipmentContainerDetailService.removeById(shipmentContainerDetail.getId())) { |
193 | - throw new ServiceException("取消出库配盘失败, 删除出库组盘明细表失败id是" + shipmentContainerDetail.getId()); | |
206 | + throw new ServiceException("取消出库配盘失败, 删除出库组盘明细表失败,配盘详情ID:" + shipmentContainerDetail.getId()); | |
194 | 207 | } |
195 | 208 | if (!shipmentHeaderService.updateShipmentHeaderStatus(shipmentDetail.getShipmentId())) { |
196 | - throw new ServiceException("取消出库配盘失败, 更新出库单头失败"); | |
209 | + throw new ServiceException("取消出库配盘失败, 更新出库单头失败,出库单ID:" + shipmentDetail.getShipmentId()); | |
197 | 210 | } |
198 | 211 | InventoryDetail inventoryDetail = inventoryDetailService.getById(shipmentContainerDetail.getInventoryDetailId()); |
199 | 212 | inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(shipmentContainerDetail.getQty())); |
200 | 213 | if (!inventoryDetailService.updateById(inventoryDetail)) { |
201 | - throw new ServiceException("取消出库配盘失败, 解锁库存详情失败"); | |
214 | + throw new ServiceException("取消出库配盘失败, 解锁库存详情失败,库存详情ID:" + inventoryDetail.getId()); | |
202 | 215 | } |
216 | + shipmentDetailList.add(shipmentDetail); | |
203 | 217 | } |
204 | 218 | if (!this.removeById(id)) { |
205 | - throw new ServiceException("取消出库配盘失败, 删除出库组盘头表失败id是" + id); | |
219 | + throw new ServiceException("取消出库配盘失败, 删除出库组盘头表失败,配盘ID:" + id); | |
206 | 220 | } |
221 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentContainerDetailList)); | |
207 | 222 | return Result.ok("取消配盘成功"); |
208 | 223 | } |
209 | 224 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
... | ... | @@ -233,4 +233,8 @@ public interface ITaskHeaderService extends IService<TaskHeader> { |
233 | 233 | Result completeManyEmptyInTask(TaskHeader taskHeader); |
234 | 234 | |
235 | 235 | Result completeManyEmptyOutTask(TaskHeader taskHeader); |
236 | + | |
237 | + Result cancelReceiptTask(TaskHeader taskHeader); | |
238 | + | |
239 | + Result cancelShipmentTask(TaskHeader taskHeader); | |
236 | 240 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... | ... | @@ -925,11 +925,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
925 | 925 | switch (taskType) { |
926 | 926 | case QuantityConstant.TASK_TYPE_WHOLERECEIPT: |
927 | 927 | case QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT: |
928 | - result = cancelReceiptTask(taskHeader); | |
928 | + result = taskHeaderService.cancelReceiptTask(taskHeader); | |
929 | 929 | break; |
930 | 930 | case QuantityConstant.TASK_TYPE_WHOLESHIPMENT: |
931 | 931 | case QuantityConstant.TASK_TYPE_SORTINGSHIPMENT: |
932 | - result = cancelShipmentTask(taskHeader); | |
932 | + result = taskHeaderService.cancelShipmentTask(taskHeader); | |
933 | 933 | break; |
934 | 934 | } |
935 | 935 | cancelLocationAndContainerStatus(taskHeader); |
... | ... | @@ -1096,7 +1096,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1096 | 1096 | */ |
1097 | 1097 | @Override |
1098 | 1098 | @Transactional(rollbackFor = Exception.class) |
1099 | - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
1099 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库'", extra = "#extraJsonString", msg = "'库位编码:' + #toLocationCode + ',容器编码:' + #containerCode", | |
1100 | + recordReturnValue = true) | |
1100 | 1101 | public Result completeReceiptTask(TaskHeader taskHeader) { |
1101 | 1102 | if (taskHeader == null) { |
1102 | 1103 | return Result.error("任务未找到,执行中止"); |
... | ... | @@ -1104,8 +1105,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1104 | 1105 | String warehouseCode = taskHeader.getWarehouseCode(); |
1105 | 1106 | // String fromLocationCode = taskHeader.getFromLocationCode(); |
1106 | 1107 | String toLocationCode = taskHeader.getToLocationCode(); |
1107 | - String zoneCode = taskHeader.getZoneCode(); | |
1108 | 1108 | String containerCode = taskHeader.getContainerCode(); |
1109 | + String zoneCode = taskHeader.getZoneCode(); | |
1109 | 1110 | int taskType = taskHeader.getTaskType(); |
1110 | 1111 | List<TaskDetail> taskDetailList = taskDetailService.getTaskDetailListByTaskId(taskHeader.getId()); |
1111 | 1112 | boolean success = false; |
... | ... | @@ -1245,6 +1246,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1245 | 1246 | throw new ServiceException("完成入库任务时,更新入库单头失败"); |
1246 | 1247 | } |
1247 | 1248 | } |
1249 | + LogRecordContext.putVariable("toLocationCode", toLocationCode); | |
1250 | + LogRecordContext.putVariable("containerCode", containerCode); | |
1248 | 1251 | LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptDetaiList)); |
1249 | 1252 | return Result.ok("完成入库任务"); |
1250 | 1253 | } |
... | ... | @@ -1256,7 +1259,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1256 | 1259 | */ |
1257 | 1260 | @Override |
1258 | 1261 | @Transactional(rollbackFor = Exception.class) |
1259 | - @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
1262 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库'", extra = "#extraJsonString", msg = "'库位编码:' + #fromLocationCode + ',容器编码:' + #containerCode", recordReturnValue = true) | |
1260 | 1263 | public Result completeShipmentTask(TaskHeader taskHeader) { |
1261 | 1264 | if (taskHeader == null) { |
1262 | 1265 | return Result.error("完成出库任务未找到,执行中止"); |
... | ... | @@ -1264,8 +1267,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1264 | 1267 | String warehouseCode = taskHeader.getWarehouseCode(); |
1265 | 1268 | String fromLocationCode = taskHeader.getFromLocationCode(); |
1266 | 1269 | String toLocationCode = taskHeader.getToLocationCode(); |
1267 | -// String zoneCode = taskHeader.getZoneCode(); | |
1268 | 1270 | String containerCode = taskHeader.getContainerCode(); |
1271 | +// String zoneCode = taskHeader.getZoneCode(); | |
1269 | 1272 | int taskType = taskHeader.getTaskType(); |
1270 | 1273 | List<TaskDetail> taskDetailList = taskDetailService.getTaskDetailListByTaskId(taskHeader.getId()); |
1271 | 1274 | boolean success = false; |
... | ... | @@ -1425,6 +1428,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1425 | 1428 | throw new ServiceException("完成出库任务,更新出库单头失败"); |
1426 | 1429 | } |
1427 | 1430 | } |
1431 | + LogRecordContext.putVariable("fromLocationCode", fromLocationCode); | |
1432 | + LogRecordContext.putVariable("containerCode", containerCode); | |
1428 | 1433 | LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentDetailList)); |
1429 | 1434 | return Result.ok("完成出库任务"); |
1430 | 1435 | } |
... | ... | @@ -2127,10 +2132,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2127 | 2132 | * @param taskHeader 任务 |
2128 | 2133 | * @return Result 取消入库任务结果 |
2129 | 2134 | */ |
2135 | + @Override | |
2130 | 2136 | @Transactional(rollbackFor = Exception.class) |
2131 | 2137 | public Result cancelReceiptTask(TaskHeader taskHeader) { |
2132 | - int receiptContainerHeaderId = taskHeader.getReceiptContainerHeaderId(); | |
2133 | - boolean success = receiptContainerHeaderService.cancelReceiptTask(receiptContainerHeaderId); | |
2138 | + boolean success = receiptContainerHeaderService.cancelReceiptTask(taskHeader); | |
2134 | 2139 | if (!success) { |
2135 | 2140 | throw new ServiceException("取消入库任务时, 更新组盘头状态失败"); |
2136 | 2141 | } |
... | ... | @@ -2157,14 +2162,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2157 | 2162 | * @param taskHeader 任务 |
2158 | 2163 | * @return Result 取消出库任务结果 |
2159 | 2164 | */ |
2165 | + @Override | |
2160 | 2166 | @Transactional(rollbackFor = Exception.class) |
2161 | 2167 | public Result cancelShipmentTask(TaskHeader taskHeader) { |
2162 | - int shipmentContainerHeaderId = taskHeader.getShipmentContainerHeaderId(); | |
2163 | - boolean success = shipmentContainerHeaderService.cancelShipmentTask(shipmentContainerHeaderId); | |
2168 | + boolean success = shipmentContainerHeaderService.cancelShipmentTask(taskHeader); | |
2164 | 2169 | if (!success) { |
2165 | 2170 | throw new ServiceException("取消入库任务时, 更新组盘头状态失败"); |
2166 | 2171 | } |
2167 | - | |
2168 | 2172 | return Result.ok("取消出库任务成功"); |
2169 | 2173 | } |
2170 | 2174 | |
... | ... |