Commit 2b401af48475bebbe57daa7e78d59aabf60b572e
1 parent
4e33ccc8
优化代码
Showing
8 changed files
with
103 additions
and
55 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/controller/ErpController.java
@@ -4,19 +4,11 @@ import javax.annotation.Resource; | @@ -4,19 +4,11 @@ import javax.annotation.Resource; | ||
4 | import javax.servlet.http.HttpServletRequest; | 4 | import javax.servlet.http.HttpServletRequest; |
5 | 5 | ||
6 | import org.jeecg.common.api.vo.Result; | 6 | import org.jeecg.common.api.vo.Result; |
7 | -import org.jeecg.modules.wms.api.erp.entity.ErpCancel; | ||
8 | -import org.jeecg.modules.wms.api.erp.entity.ErpMaterial; | ||
9 | -import org.jeecg.modules.wms.api.erp.entity.ErpReceipt; | ||
10 | -import org.jeecg.modules.wms.api.erp.entity.ErpShipment; | ||
11 | -import org.jeecg.modules.wms.api.erp.entity.InventoryQueryParam; | 7 | +import org.jeecg.modules.wms.api.erp.entity.*; |
12 | import org.jeecg.modules.wms.api.erp.service.IErpService; | 8 | import org.jeecg.modules.wms.api.erp.service.IErpService; |
13 | import org.jeecg.modules.wms.framework.controller.HuahengBaseController; | 9 | import org.jeecg.modules.wms.framework.controller.HuahengBaseController; |
14 | import org.jeecg.utils.support.ApiLogger; | 10 | import org.jeecg.utils.support.ApiLogger; |
15 | -import org.springframework.web.bind.annotation.PostMapping; | ||
16 | -import org.springframework.web.bind.annotation.RequestBody; | ||
17 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
18 | -import org.springframework.web.bind.annotation.ResponseBody; | ||
19 | -import org.springframework.web.bind.annotation.RestController; | 11 | +import org.springframework.web.bind.annotation.*; |
20 | 12 | ||
21 | import io.swagger.annotations.Api; | 13 | import io.swagger.annotations.Api; |
22 | import io.swagger.annotations.ApiOperation; | 14 | import io.swagger.annotations.ApiOperation; |
@@ -32,6 +24,14 @@ public class ErpController extends HuahengBaseController { | @@ -32,6 +24,14 @@ public class ErpController extends HuahengBaseController { | ||
32 | @Resource | 24 | @Resource |
33 | private IErpService erpService; | 25 | private IErpService erpService; |
34 | 26 | ||
27 | + @PostMapping("/addMaterial") | ||
28 | + @ResponseBody | ||
29 | + @ApiOperation("增加物料") | ||
30 | + @ApiLogger(apiName = "增加物料", from = "ERP") | ||
31 | + public Result addMaterial(@RequestBody ErpMaterial erpMaterial) { | ||
32 | + return erpService.addMaterial(erpMaterial); | ||
33 | + } | ||
34 | + | ||
35 | @PostMapping("/receipt") | 35 | @PostMapping("/receipt") |
36 | @ResponseBody | 36 | @ResponseBody |
37 | @ApiOperation("入库单下发") | 37 | @ApiOperation("入库单下发") |
@@ -77,12 +77,4 @@ public class ErpController extends HuahengBaseController { | @@ -77,12 +77,4 @@ public class ErpController extends HuahengBaseController { | ||
77 | return result; | 77 | return result; |
78 | } | 78 | } |
79 | 79 | ||
80 | - @PostMapping("/addMaterial") | ||
81 | - @ResponseBody | ||
82 | - @ApiOperation("增加物料") | ||
83 | - @ApiLogger(apiName = "增加物料", from = "ERP") | ||
84 | - public Result addMaterial(@RequestBody ErpMaterial erpMaterial) { | ||
85 | - return erpService.addMaterial(erpMaterial); | ||
86 | - } | ||
87 | - | ||
88 | } | 80 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/entity/CallBoxBean.java
@@ -3,6 +3,9 @@ package org.jeecg.modules.wms.api.mobile.entity; | @@ -3,6 +3,9 @@ package org.jeecg.modules.wms.api.mobile.entity; | ||
3 | import io.swagger.annotations.ApiModelProperty; | 3 | import io.swagger.annotations.ApiModelProperty; |
4 | import lombok.Data; | 4 | import lombok.Data; |
5 | 5 | ||
6 | +/** | ||
7 | + * @author 游杰 | ||
8 | + */ | ||
6 | @Data | 9 | @Data |
7 | public class CallBoxBean { | 10 | public class CallBoxBean { |
8 | @ApiModelProperty(value = "托盘号", required = true) | 11 | @ApiModelProperty(value = "托盘号", required = true) |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/controller/WcsController.java
@@ -171,7 +171,13 @@ public class WcsController extends HuahengBaseController { | @@ -171,7 +171,13 @@ public class WcsController extends HuahengBaseController { | ||
171 | @ApiOperation("设置物料信息") | 171 | @ApiOperation("设置物料信息") |
172 | @ApiLogger(apiName = "WCS设置物料信息", from = "WCS") | 172 | @ApiLogger(apiName = "WCS设置物料信息", from = "WCS") |
173 | public Result setMaterialInfo(@RequestBody MaterialInfoEntity materialInfoEntity) { | 173 | public Result setMaterialInfo(@RequestBody MaterialInfoEntity materialInfoEntity) { |
174 | - Result result = wcsService.setMaterialInfo(materialInfoEntity); | 174 | + Result result = handleMultiProcess("setMaterialInfo", new MultiProcessListener() { |
175 | + @Override | ||
176 | + public Result<?> doProcess() { | ||
177 | + Result result = wcsService.setMaterialInfo(materialInfoEntity); | ||
178 | + return result; | ||
179 | + } | ||
180 | + }); | ||
175 | return result; | 181 | return result; |
176 | } | 182 | } |
177 | 183 | ||
@@ -184,7 +190,13 @@ public class WcsController extends HuahengBaseController { | @@ -184,7 +190,13 @@ public class WcsController extends HuahengBaseController { | ||
184 | public Result arrivedNotice(@RequestBody ArriveEntity arriveEntity) { | 190 | public Result arrivedNotice(@RequestBody ArriveEntity arriveEntity) { |
185 | String taskNo = arriveEntity.getTaskNo(); | 191 | String taskNo = arriveEntity.getTaskNo(); |
186 | String port = arriveEntity.getPort(); | 192 | String port = arriveEntity.getPort(); |
187 | - Result result = wcsService.arrivedNotice(taskNo, port); | 193 | + Result result = handleMultiProcess("arrivedNotice", new MultiProcessListener() { |
194 | + @Override | ||
195 | + public Result<?> doProcess() { | ||
196 | + Result result = wcsService.arrivedNotice(taskNo, port); | ||
197 | + return result; | ||
198 | + } | ||
199 | + }); | ||
188 | return result; | 200 | return result; |
189 | } | 201 | } |
190 | 202 |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.wms.api.wcs.service; | @@ -2,6 +2,7 @@ package org.jeecg.modules.wms.api.wcs.service; | ||
2 | 2 | ||
3 | import java.net.SocketException; | 3 | import java.net.SocketException; |
4 | import java.util.ArrayList; | 4 | import java.util.ArrayList; |
5 | +import java.util.Date; | ||
5 | import java.util.List; | 6 | import java.util.List; |
6 | import java.util.stream.Collectors; | 7 | import java.util.stream.Collectors; |
7 | 8 | ||
@@ -257,6 +258,7 @@ public class WcsServiceImpl implements WcsService { | @@ -257,6 +258,7 @@ public class WcsServiceImpl implements WcsService { | ||
257 | taskHeader.setZoneCode(location.getZoneCode()); | 258 | taskHeader.setZoneCode(location.getZoneCode()); |
258 | taskHeader.setRoadWay(location.getRoadWay()); | 259 | taskHeader.setRoadWay(location.getRoadWay()); |
259 | taskHeader.setPreTaskNo(preTaskNo); | 260 | taskHeader.setPreTaskNo(preTaskNo); |
261 | + taskHeader.setAllocationTime(new Date()); | ||
260 | taskHeader.setWeight(Integer.parseInt(warecellDomain.getWeight())); | 262 | taskHeader.setWeight(Integer.parseInt(warecellDomain.getWeight())); |
261 | taskHeader.setToLocationCode(locationCode); | 263 | taskHeader.setToLocationCode(locationCode); |
262 | if (!taskHeaderService.updateById(taskHeader)) { | 264 | if (!taskHeaderService.updateById(taskHeader)) { |
@@ -703,6 +705,10 @@ public class WcsServiceImpl implements WcsService { | @@ -703,6 +705,10 @@ public class WcsServiceImpl implements WcsService { | ||
703 | if (status == QuantityConstant.TASK_STATUS_COMPLETED) { | 705 | if (status == QuantityConstant.TASK_STATUS_COMPLETED) { |
704 | return Result.error("任务已经完成taskNo:" + taskNo); | 706 | return Result.error("任务已经完成taskNo:" + taskNo); |
705 | } | 707 | } |
708 | + int taskId = taskHeader.getId(); | ||
709 | + taskHeader = new TaskHeader(); | ||
710 | + taskHeader.setId(taskId); | ||
711 | + taskHeader.setArrivalTime(new Date()); | ||
706 | taskHeader.setStatus(QuantityConstant.TASK_STATUS_ARRIVED_STATION); | 712 | taskHeader.setStatus(QuantityConstant.TASK_STATUS_ARRIVED_STATION); |
707 | taskHeader.setToPortCode(port); | 713 | taskHeader.setToPortCode(port); |
708 | boolean result = taskHeaderService.updateById(taskHeader); | 714 | boolean result = taskHeaderService.updateById(taskHeader); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
@@ -50,4 +50,5 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { | @@ -50,4 +50,5 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { | ||
50 | 50 | ||
51 | boolean updateQtyAndTaskQtyAndLocationCode(BigDecimal qty, BigDecimal taskQty, String locationCode, int id); | 51 | boolean updateQtyAndTaskQtyAndLocationCode(BigDecimal qty, BigDecimal taskQty, String locationCode, int id); |
52 | 52 | ||
53 | + boolean updateBatchLocationCodeById(List<InventoryDetail> inventoryDetailList); | ||
53 | } | 54 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.wms.inventory.inventoryHeader.service.impl; | @@ -2,6 +2,7 @@ package org.jeecg.modules.wms.inventory.inventoryHeader.service.impl; | ||
2 | 2 | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | import java.math.RoundingMode; | 4 | import java.math.RoundingMode; |
5 | +import java.util.ArrayList; | ||
5 | import java.util.List; | 6 | import java.util.List; |
6 | import java.util.Map; | 7 | import java.util.Map; |
7 | import java.util.function.Function; | 8 | import java.util.function.Function; |
@@ -131,6 +132,19 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe | @@ -131,6 +132,19 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe | ||
131 | return success; | 132 | return success; |
132 | } | 133 | } |
133 | 134 | ||
135 | + @Override | ||
136 | + public boolean updateBatchLocationCodeById(List<InventoryDetail> inventoryDetailList) { | ||
137 | + List<InventoryDetail> inventoryDetailList1 = new ArrayList<>(); | ||
138 | + for (InventoryDetail inventoryDetail : inventoryDetailList) { | ||
139 | + InventoryDetail inventoryDetail1 = new InventoryDetail(); | ||
140 | + inventoryDetail1.setId(inventoryDetail.getId()); | ||
141 | + inventoryDetail1.setLocationCode(inventoryDetail.getLocationCode()); | ||
142 | + inventoryDetailList1.add(inventoryDetail1); | ||
143 | + } | ||
144 | + boolean success = this.updateBatchById(inventoryDetailList1); | ||
145 | + return success; | ||
146 | + } | ||
147 | + | ||
134 | /** | 148 | /** |
135 | * 计算库存明细托盘填充度 | 149 | * 计算库存明细托盘填充度 |
136 | * @author TanYibin | 150 | * @author TanYibin |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
@@ -168,4 +168,16 @@ public class TaskHeader implements Serializable { | @@ -168,4 +168,16 @@ public class TaskHeader implements Serializable { | ||
168 | /** 更新日期 */ | 168 | /** 更新日期 */ |
169 | @ApiModelProperty(value = "更新日期") | 169 | @ApiModelProperty(value = "更新日期") |
170 | private Date updateTime; | 170 | private Date updateTime; |
171 | + /** 执行时间(下发任务时间) */ | ||
172 | + @ApiModelProperty(value = "执行时间") | ||
173 | + private Date executeTime; | ||
174 | + /** 分配时间 */ | ||
175 | + @ApiModelProperty(value = "分配时间") | ||
176 | + private Date allocationTime; | ||
177 | + /** 到达时间(到达拣选台时间) */ | ||
178 | + @ApiModelProperty(value = "到达时间") | ||
179 | + private Date arrivalTime; | ||
180 | + /** 完成时间(完成任务时间) */ | ||
181 | + @ApiModelProperty(value = "完成时间") | ||
182 | + private Date completeTime; | ||
171 | } | 183 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -62,6 +62,7 @@ import org.jeecg.utils.StringUtils; | @@ -62,6 +62,7 @@ import org.jeecg.utils.StringUtils; | ||
62 | import org.jeecg.utils.constant.QuantityConstant; | 62 | import org.jeecg.utils.constant.QuantityConstant; |
63 | import org.springframework.beans.factory.annotation.Autowired; | 63 | import org.springframework.beans.factory.annotation.Autowired; |
64 | import org.springframework.stereotype.Service; | 64 | import org.springframework.stereotype.Service; |
65 | +import org.springframework.transaction.annotation.Propagation; | ||
65 | import org.springframework.transaction.annotation.Transactional; | 66 | import org.springframework.transaction.annotation.Transactional; |
66 | 67 | ||
67 | import com.alibaba.fastjson.JSON; | 68 | import com.alibaba.fastjson.JSON; |
@@ -867,7 +868,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -867,7 +868,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
867 | } | 868 | } |
868 | 869 | ||
869 | @Override | 870 | @Override |
870 | - @Transactional(rollbackFor = Exception.class) | 871 | + @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) |
871 | public Result sendTaskToWcs(Integer taskId) { | 872 | public Result sendTaskToWcs(Integer taskId) { |
872 | TaskHeader taskHeader = taskHeaderService.getById(taskId); | 873 | TaskHeader taskHeader = taskHeaderService.getById(taskId); |
873 | if (taskHeader == null) { | 874 | if (taskHeader == null) { |
@@ -1010,9 +1011,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1010,9 +1011,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1010 | if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { | 1011 | if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { |
1011 | return Result.ok("入库任务(" + taskHeader.getId() + ")已经是完成的!"); | 1012 | return Result.ok("入库任务(" + taskHeader.getId() + ")已经是完成的!"); |
1012 | } | 1013 | } |
1013 | - if (taskDetailList.isEmpty()) { | ||
1014 | - throw new JeecgBootException("完成入库任务时, 入库任务明细为空"); | ||
1015 | - } | 1014 | +// if (taskDetailList.isEmpty()) { |
1015 | +// throw new JeecgBootException("完成入库任务时, 入库任务明细为空"); | ||
1016 | +// } | ||
1016 | Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode); | 1017 | Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode); |
1017 | if (toLocation == null) { | 1018 | if (toLocation == null) { |
1018 | throw new JeecgBootException("完成入库任务时,没有找到目的库位"); | 1019 | throw new JeecgBootException("完成入库任务时,没有找到目的库位"); |
@@ -1117,17 +1118,33 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1117,17 +1118,33 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1117 | inventoryTransaction.setQty(receiptQty); | 1118 | inventoryTransaction.setQty(receiptQty); |
1118 | inventoryTransactionList.add(inventoryTransaction); | 1119 | inventoryTransactionList.add(inventoryTransaction); |
1119 | } | 1120 | } |
1120 | - success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, taskHeader.getReceiptContainerHeaderId()); | ||
1121 | - if (!success) { | ||
1122 | - throw new JeecgBootException("完成入库任务时,更新入库组盘头表状态失败"); | ||
1123 | - } | ||
1124 | - success = inventoryDetailService.saveBatch(inventoryDetailList); | ||
1125 | - if (!success) { | ||
1126 | - throw new JeecgBootException("完成入库任务时,保存库存详情失败"); | ||
1127 | - } | ||
1128 | - success = inventoryTransactionService.saveBatch(inventoryTransactionList); | ||
1129 | - if (!success) { | ||
1130 | - throw new JeecgBootException("完成入库任务时,保存库存交易失败"); | 1121 | + |
1122 | + if (!taskDetailList.isEmpty()) { | ||
1123 | + success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, taskHeader.getReceiptContainerHeaderId()); | ||
1124 | + if (!success) { | ||
1125 | + throw new JeecgBootException("完成入库任务时,更新入库组盘头表状态失败"); | ||
1126 | + } | ||
1127 | + success = inventoryDetailService.saveBatch(inventoryDetailList); | ||
1128 | + if (!success) { | ||
1129 | + throw new JeecgBootException("完成入库任务时,保存库存详情失败"); | ||
1130 | + } | ||
1131 | + success = inventoryTransactionService.saveBatch(inventoryTransactionList); | ||
1132 | + if (!success) { | ||
1133 | + throw new JeecgBootException("完成入库任务时,保存库存交易失败"); | ||
1134 | + } | ||
1135 | + if (!taskHeaderService.combineInventoryDetail(taskHeader)) { | ||
1136 | + throw new JeecgBootException("合并入库库存失败"); | ||
1137 | + } | ||
1138 | + if (!receiptDetailService.updateBatchById(receiptDetaiList)) { | ||
1139 | + throw new JeecgBootException("完成入库任务时,更新入库单详情失败"); | ||
1140 | + } | ||
1141 | + List<Integer> receiptIdList = receiptDetaiList.stream().map(ReceiptDetail::getReceiptId).distinct().collect(Collectors.toList()); | ||
1142 | + for (Integer receiptId : receiptIdList) { | ||
1143 | + success = receiptHeaderService.updateReceiptHeaderStatus(receiptId); | ||
1144 | + if (!success) { | ||
1145 | + throw new JeecgBootException("完成入库任务时,更新入库单头失败"); | ||
1146 | + } | ||
1147 | + } | ||
1131 | } | 1148 | } |
1132 | 1149 | ||
1133 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, | 1150 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, |
@@ -1135,25 +1152,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1135,25 +1152,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1135 | if (!result.isSuccess()) { | 1152 | if (!result.isSuccess()) { |
1136 | throw new JeecgBootException(result.getMessage()); | 1153 | throw new JeecgBootException(result.getMessage()); |
1137 | } | 1154 | } |
1138 | - if (!taskHeaderService.combineInventoryDetail(taskHeader)) { | ||
1139 | - throw new JeecgBootException("合并入库库存失败"); | ||
1140 | - } | ||
1141 | - if (!receiptDetailService.updateBatchById(receiptDetaiList)) { | ||
1142 | - throw new JeecgBootException("完成入库任务时,更新入库单详情失败"); | ||
1143 | - } | ||
1144 | - List<Integer> receiptIdList = receiptDetaiList.stream().map(ReceiptDetail::getReceiptId).distinct().collect(Collectors.toList()); | ||
1145 | - for (Integer receiptId : receiptIdList) { | ||
1146 | - success = receiptHeaderService.updateReceiptHeaderStatus(receiptId); | ||
1147 | - if (!success) { | ||
1148 | - throw new JeecgBootException("完成入库任务时,更新入库单头失败"); | ||
1149 | - } | ||
1150 | - } | ||
1151 | if (!inventoryHeaderService.updateInventoryContainerStatusByContainerCode(containerCode, warehouseCode)) { | 1155 | if (!inventoryHeaderService.updateInventoryContainerStatusByContainerCode(containerCode, warehouseCode)) { |
1152 | throw new JeecgBootException("完成入库任务时,更新托盘状态失败"); | 1156 | throw new JeecgBootException("完成入库任务时,更新托盘状态失败"); |
1153 | } | 1157 | } |
1154 | success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId()); | 1158 | success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId()); |
1155 | if (!success) { | 1159 | if (!success) { |
1156 | - throw new JeecgBootException("完成出库任务,保存任务头失败"); | 1160 | + throw new JeecgBootException("完成入库任务时,保存任务头失败"); |
1157 | } | 1161 | } |
1158 | receiptDetaiList = receiptDetaiList.stream().filter(t -> t.getStatus().equals(QuantityConstant.RECEIPT_HEADER_COMPLETED)).collect(Collectors.toList()); | 1162 | receiptDetaiList = receiptDetaiList.stream().filter(t -> t.getStatus().equals(QuantityConstant.RECEIPT_HEADER_COMPLETED)).collect(Collectors.toList()); |
1159 | LogRecordContext.putVariable("taskHeader", taskHeader); | 1163 | LogRecordContext.putVariable("taskHeader", taskHeader); |
@@ -1194,9 +1198,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1194,9 +1198,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1194 | if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { | 1198 | if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) { |
1195 | return Result.ok("完成出库任务,(" + taskHeader.getId() + ")任务已经是完成的!"); | 1199 | return Result.ok("完成出库任务,(" + taskHeader.getId() + ")任务已经是完成的!"); |
1196 | } | 1200 | } |
1197 | - if (taskDetailList.isEmpty()) { | ||
1198 | - return Result.error("完成出库任务,任务明细为空"); | ||
1199 | - } | 1201 | +// if (taskDetailList.isEmpty()) { |
1202 | +// return Result.error("完成出库任务,任务明细为空"); | ||
1203 | +// } | ||
1200 | if (StringUtils.isEmpty(fromLocationCode)) { | 1204 | if (StringUtils.isEmpty(fromLocationCode)) { |
1201 | return Result.error("完成出库任务" + taskHeader.getId() + "没有起始库位,执行中止"); | 1205 | return Result.error("完成出库任务" + taskHeader.getId() + "没有起始库位,执行中止"); |
1202 | } | 1206 | } |
@@ -2143,14 +2147,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2143,14 +2147,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2143 | .eq(InventoryHeader::getLocationCode, fromLocationCode); | 2147 | .eq(InventoryHeader::getLocationCode, fromLocationCode); |
2144 | InventoryHeader inventoryHeader = inventoryHeaderService.getOne(inventoryHeaderLambdaUpdateWrapper); | 2148 | InventoryHeader inventoryHeader = inventoryHeaderService.getOne(inventoryHeaderLambdaUpdateWrapper); |
2145 | if (inventoryHeader != null) { | 2149 | if (inventoryHeader != null) { |
2146 | - inventoryHeader.setLocationCode(toLocationCode); | ||
2147 | - success = inventoryHeaderService.updateById(inventoryHeader); | 2150 | + success = inventoryHeaderService.updateLocationCodeById(toLocationCode, inventoryHeader.getId()); |
2148 | if (!success) { | 2151 | if (!success) { |
2149 | throw new JeecgBootException("完成移库任务时, 更新库存头失败"); | 2152 | throw new JeecgBootException("完成移库任务时, 更新库存头失败"); |
2150 | } | 2153 | } |
2151 | } | 2154 | } |
2152 | if (inventoryDetailList.size() != 0) { | 2155 | if (inventoryDetailList.size() != 0) { |
2153 | - success = inventoryDetailService.updateBatchById(inventoryDetailList); | 2156 | + success = inventoryDetailService.updateBatchLocationCodeById(inventoryDetailList); |
2154 | if (!success) { | 2157 | if (!success) { |
2155 | throw new JeecgBootException("完成移库任务时, 更新库存详情失败"); | 2158 | throw new JeecgBootException("完成移库任务时, 更新库存详情失败"); |
2156 | } | 2159 | } |
@@ -2431,6 +2434,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2431,6 +2434,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2431 | TaskHeader taskHeader = new TaskHeader(); | 2434 | TaskHeader taskHeader = new TaskHeader(); |
2432 | taskHeader.setId(id); | 2435 | taskHeader.setId(id); |
2433 | taskHeader.setStatus(status); | 2436 | taskHeader.setStatus(status); |
2437 | + if (status == QuantityConstant.TASK_STATUS_COMPLETED) { | ||
2438 | + taskHeader.setCompleteTime(new Date()); | ||
2439 | + } else if (status == QuantityConstant.TASK_STATUS_RELEASE) { | ||
2440 | + taskHeader.setExecuteTime(new Date()); | ||
2441 | + } | ||
2434 | boolean success = taskHeaderService.updateById(taskHeader); | 2442 | boolean success = taskHeaderService.updateById(taskHeader); |
2435 | return success; | 2443 | return success; |
2436 | } | 2444 | } |