Commit 7db8c8eebe7bffbf6a17d642549a3707119d2350

Authored by 谭毅彬
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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;ReceiveMapper, Receive&gt; 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&lt;ReceiveMapper, Receive&gt; 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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;TaskHeader&gt; {
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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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  
... ...