Commit 31fce74f5cccea019ffd0e13e81ed90323fe704d

Authored by 谭毅彬
2 parents cdf954ed 2f8a31e5

Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4.git into develop

ant-design-vue-jeecg/src/components/tools/HeaderNotice.vue
... ... @@ -228,6 +228,7 @@ export default {
228 228 websocketOnmessage: function (e) {
229 229 console.log("-----接收消息-------", e.data);
230 230 var data = eval("(" + e.data + ")"); //解析对象
  231 + this.openNotification(data)
231 232 if (data.cmd == "topic") {
232 233 //系统通知
233 234 this.loadData();
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... ... @@ -1121,27 +1121,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1121 1121 throw new JeecgBootException("完成入库任务时,保存库存交易失败");
1122 1122 }
1123 1123  
1124   - if (StringUtils.isNotEmpty(fromLocationCode) && !fromLocationCode.equals(toLocationCode)) {
1125   - success =
1126   - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1127   - if (!success) {
1128   - throw new JeecgBootException("完成入库任务时,更新源库位失败");
1129   - }
1130   - }
1131   -
1132   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1133   - if (!success) {
1134   - throw new JeecgBootException("完成入库任务时,更新库位失败");
1135   - }
1136   -
1137   - success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
1138   - if (!success) {
1139   - throw new JeecgBootException("完成入库任务时,更新任务失败");
1140   - }
1141   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
1142   - taskHeader.getContainerFillStatus(), warehouseCode);
1143   - if (!success) {
1144   - throw new JeecgBootException("完成入库任务时,更新容器失败");
  1124 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode,
  1125 + toLocationCode, warehouseCode);
  1126 + if (!result.isSuccess()) {
  1127 + throw new JeecgBootException(result.getMessage());
1145 1128 }
1146 1129 if (!taskHeaderService.combineInventoryDetail(taskHeader)) {
1147 1130 throw new JeecgBootException("合并入库库存失败");
... ... @@ -1159,6 +1142,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1159 1142 if (!inventoryHeaderService.updateInventoryContainerStatusByContainerCode(containerCode, warehouseCode)) {
1160 1143 throw new JeecgBootException("完成入库任务时,更新托盘状态失败");
1161 1144 }
  1145 + success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
  1146 + if (!success) {
  1147 + throw new JeecgBootException("完成出库任务,保存任务头失败");
  1148 + }
1162 1149 receiptDetaiList = receiptDetaiList.stream().filter(t -> t.getStatus().equals(QuantityConstant.RECEIPT_HEADER_COMPLETED)).collect(Collectors.toList());
1163 1150 LogRecordContext.putVariable("taskHeader", taskHeader);
1164 1151 LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(taskDetailList));
... ... @@ -1309,44 +1296,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1309 1296 if (!success) {
1310 1297 throw new JeecgBootException("完成出库任务,保存库存详情失败");
1311 1298 }
1312   - taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
1313   - success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
1314   - if (!success) {
1315   - throw new JeecgBootException("完成出库任务,保存任务头失败");
1316   - }
1317   - if (taskType == QuantityConstant.TASK_TYPE_WHOLESHIPMENT) {
1318   - success =
1319   - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1320   - if (!success) {
1321   - throw new JeecgBootException("完成整盘出库任务,更新源库位失败");
1322   - }
1323   - success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY,
1324   - QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
1325   - if (!success) {
1326   - throw new JeecgBootException("完成整盘出库任务,更新容器失败");
1327   - }
1328   - } else if (taskType == QuantityConstant.TASK_TYPE_SORTINGSHIPMENT) {
1329   - if (!fromLocationCode.equals(toLocationCode)) {
1330   - success = locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY,
1331   - warehouseCode);
1332   - if (!success) {
1333   - throw new JeecgBootException("完成分拣出库任务,更新源库位失败");
1334   - }
1335   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1336   - if (!success) {
1337   - throw new JeecgBootException("完成分拣出库任务,更新目标库位失败");
1338   - }
1339   - } else {
1340   - success = locationService.updateStatus(fromLocationCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1341   - if (!success) {
1342   - throw new JeecgBootException("完成分拣出库任务,更新源库位失败");
1343   - }
1344   - }
1345   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
1346   - inventoryDetailList.size() == 0 ? QuantityConstant.STATUS_CONTAINER_FILL_EMPTY : QuantityConstant.STATUS_CONTAINER_FILL_SOME, warehouseCode);
1347   - if (!success) {
1348   - throw new JeecgBootException("完成分拣出库任务,更新容器失败");
1349   - }
  1299 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode,
  1300 + toLocationCode, warehouseCode);
  1301 + if (!result.isSuccess()) {
  1302 + throw new JeecgBootException(result.getMessage());
1350 1303 }
1351 1304 ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getById(taskHeader.getShipmentContainerHeaderId());
1352 1305 if (shipmentContainerHeader == null) {
... ... @@ -1378,6 +1331,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1378 1331 throw new JeecgBootException("完成出库任务,更新库存状态失败");
1379 1332 }
1380 1333 }
  1334 + success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
  1335 + if (!success) {
  1336 + throw new JeecgBootException("完成出库任务,保存任务头失败");
  1337 + }
1381 1338 // 操作记录添加
1382 1339 shipmentDetailList = shipmentDetailList.stream().filter(t -> t.getStatus().equals(QuantityConstant.SHIPMENT_HEADER_COMPLETED)).collect(Collectors.toList());
1383 1340 LogRecordContext.putVariable("taskHeader", taskHeader);
... ... @@ -1654,8 +1611,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1654 1611 String toLocationCode, String warehouseCode) {
1655 1612 Result result = null;
1656 1613 boolean success = false;
1657   - if (StringUtils.isEmpty(toLocationCode) && taskType == QuantityConstant.TASK_TYPE_OVER_STATION) {
1658   - return Result.error("完成任务时, 目标库位号为空");
  1614 + if (StringUtils.isEmpty(toLocationCode) && taskType != QuantityConstant.TASK_TYPE_OVER_STATION) {
  1615 + return Result.error("任务类型" + taskType + "完成任务时, 目标库位号为空");
  1616 + }
  1617 + if (StringUtils.isEmpty(containerCode)) {
  1618 + return Result.error("任务类型" + taskType + "完成任务时, 容器号为空");
  1619 + }
  1620 + Container container = containerService.getContainerByCode(containerCode, warehouseCode);
  1621 + if (container == null) {
  1622 + return Result.error("任务类型" + taskType + "完成任务时, 没有找到托盘" + containerCode);
1659 1623 }
1660 1624 switch (taskType) {
1661 1625 case QuantityConstant.TASK_TYPE_WHOLERECEIPT:
... ... @@ -1674,6 +1638,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1674 1638 case QuantityConstant.TASK_TYPE_WHOLESHIPMENT:
1675 1639 case QuantityConstant.TASK_TYPE_EMPTYSHIPMENT:
1676 1640 case QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT:
  1641 + if (StringUtils.isEmpty(fromLocationCode)) {
  1642 + return Result.error("任务类型" + taskType + "完成任务时, 起始库位号为空");
  1643 + }
1677 1644 success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
1678 1645 QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
1679 1646 break;
... ... @@ -1681,13 +1648,24 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1681 1648 case QuantityConstant.TASK_TYPE_CYCLECOUNT:
1682 1649 case QuantityConstant.TASK_TYPE_TRANSFER:
1683 1650 case QuantityConstant.TASK_TYPE_CHECK_OUT:
  1651 + if (StringUtils.isEmpty(fromLocationCode)) {
  1652 + return Result.error("任务类型" + taskType + "完成任务时, 起始库位号为空");
  1653 + }
1684 1654 InventoryHeader inventoryHeader = inventoryHeaderService.getInventoryHeaderByContainerCode(containerCode, warehouseCode);
1685 1655 if (inventoryHeader != null) {
1686   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
1687   - QuantityConstant.STATUS_CONTAINER_FILL_SOME, warehouseCode);
  1656 + if (fromLocationCode.equals(toLocationCode)) {
  1657 + success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
  1658 + } else {
  1659 + success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
  1660 + QuantityConstant.STATUS_CONTAINER_FILL_SOME, warehouseCode);
  1661 + }
1688 1662 } else {
1689   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
1690   - QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
  1663 + if (fromLocationCode.equals(toLocationCode)) {
  1664 + success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
  1665 + } else {
  1666 + success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY,
  1667 + QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
  1668 + }
1691 1669 }
1692 1670 break;
1693 1671 case QuantityConstant.TASK_TYPE_OVER_STATION:
... ... @@ -1696,20 +1674,30 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1696 1674 break;
1697 1675 }
1698 1676 if (!success) {
1699   - throw new JeecgBootException("完成任务时,更新容器失败");
  1677 + throw new JeecgBootException("任务类型" + taskType + "完成任务时, 更新容器失败");
1700 1678 }
1701 1679 if (StringUtils.isNotEmpty(fromLocationCode) && !fromLocationCode.equals(toLocationCode)) {
  1680 + Location toLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode);
  1681 + if (toLocation == null) {
  1682 + return Result.error("完成任务时," + toLocationCode + "目标库位不存在");
  1683 + }
1702 1684 success =
1703 1685 locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1704 1686 if (!success) {
1705   - throw new JeecgBootException("完成任务时,更新源库位失败");
  1687 + throw new JeecgBootException("任务类型" + taskType + "完成任务时,更新源库位失败");
1706 1688 }
1707 1689 }
1708   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
1709   - if (!success) {
1710   - throw new JeecgBootException("完成任务时,更新库位失败");
  1690 + if (StringUtils.isNotEmpty(toLocationCode)) {
  1691 + Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode);
  1692 + if (toLocation == null) {
  1693 + return Result.error("任务类型" + taskType + "完成任务时, " + toLocationCode + "目标库位不存在");
  1694 + }
  1695 + success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
  1696 + if (!success) {
  1697 + throw new JeecgBootException("任务类型" + taskType + "完成任务时,更新库位失败");
  1698 + }
1711 1699 }
1712   - return Result.OK("完成任务成功");
  1700 + return Result.OK("任务类型" + taskType + "完成任务成功");
1713 1701 }
1714 1702  
1715 1703 /**
... ... @@ -1733,27 +1721,16 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1733 1721 if (StringUtils.isEmpty(toLocationCode)) {
1734 1722 return Result.error("完成空托盘入库任务时, 目标库位号为空");
1735 1723 }
1736   - Container container = containerService.getContainerByCode(containerCode, warehouseCode);
1737   - if (container == null) {
1738   - return Result.error("完成空托盘入库任务时, 没有找到托盘" + containerCode);
1739   - }
1740   - Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode);
1741   - if (toLocation == null) {
1742   - return Result.error("完成空托盘入库任务时," + toLocationCode + "目标库位不存在");
1743   - }
1744   - boolean success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
1745   - if (!success) {
1746   - throw new JeecgBootException("完成空托盘入库任务时, 更新容器的库位号和状态失败");
  1724 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT,
  1725 + containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
  1726 + if (!result.isSuccess()) {
  1727 + throw new JeecgBootException(result.getMessage());
1747 1728 }
1748   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
  1729 + boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
1749 1730 if (!success) {
1750   - throw new JeecgBootException("完成空托盘入库任务时, 更新库位的容器编码和状态失败");
  1731 + throw new JeecgBootException("完成空托盘出库任务时, 更新任务失败");
1751 1732 }
1752   - success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
1753 1733 log.info("完成空托入库任务");
1754   - if (!success) {
1755   - throw new JeecgBootException("完成空托盘入库任务时, 更新任务失败");
1756   - }
1757 1734 return Result.OK("完成空托盘入库成功");
1758 1735 }
1759 1736  
... ... @@ -1787,7 +1764,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
1787 1764 // 1.先拿到盘点单主单据
1788 1765 CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(taskHeader.getShipmentContainerHeaderId());
1789 1766  
1790   - if ((cycleCountDetail.getCountedQty().add(cycleCountDetail.getGapQty())).compareTo(BigDecimal.ZERO) == 0) {
  1767 + if (cycleCountDetail.getGapQty().compareTo(BigDecimal.ZERO) == 0) {
1791 1768 return Result.error("盘点单据系统实盘数量跟差异数量0,不能完成 单据号" + cycleCountDetail.getCycleCountHeadCode());
1792 1769 }
1793 1770  
... ... @@ -2042,17 +2019,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
2042 2019 if (port == null) {
2043 2020 return Result.error("完成空托盘出库任务时," + toPortCode + "目标出库口不存在");
2044 2021 }
2045   - boolean success =
2046   - containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2047   - if (!success) {
2048   - throw new JeecgBootException("完成空托盘出库任务时, 更新容器的库位号和状态失败");
2049   - }
2050   - success =
2051   - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2052   - if (!success) {
2053   - throw new JeecgBootException("完成空托盘出库任务时, 更新库位的容器编码和状态失败");
  2022 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT,
  2023 + containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode);
  2024 + if (!result.isSuccess()) {
  2025 + throw new JeecgBootException(result.getMessage());
2054 2026 }
2055   - success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
  2027 + boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
2056 2028 log.info("完成空托盘出库任务" + taskHeader.getId());
2057 2029 if (!success) {
2058 2030 throw new JeecgBootException("完成空托盘出库任务时, 更新任务失败");
... ... @@ -2119,24 +2091,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
2119 2091 throw new JeecgBootException("完成移库任务时,保存库存交易失败");
2120 2092 }
2121 2093 }
2122   - taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
2123   - success = taskHeaderService.updateById(taskHeader);
2124   - if (!success) {
2125   - throw new JeecgBootException("完成移库任务时, 更新任务失败");
2126   - }
2127   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2128   - if (!success) {
2129   - throw new JeecgBootException("完成移库任务时, 更新容器状态失败");
2130   - }
2131   - success =
2132   - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2133   - if (!success) {
2134   - throw new JeecgBootException("完成移库任务时, 更新起始库位状态失败");
2135   - }
2136   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2137   - if (!success) {
2138   - throw new JeecgBootException("完成移库任务时, 更新目标库位状态失败");
2139   - }
2140 2094 LambdaUpdateWrapper<InventoryHeader> inventoryHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
2141 2095 inventoryHeaderLambdaUpdateWrapper.eq(InventoryHeader::getWarehouseCode, warehouseCode).eq(InventoryHeader::getContainerCode, containerCode)
2142 2096 .eq(InventoryHeader::getLocationCode, fromLocationCode);
... ... @@ -2154,6 +2108,16 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
2154 2108 throw new JeecgBootException("完成移库任务时, 更新库存详情失败");
2155 2109 }
2156 2110 }
  2111 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_OVER_STATION,
  2112 + containerCode, fromLocationCode, toLocationCode, warehouseCode);
  2113 + if (!result.isSuccess()) {
  2114 + throw new JeecgBootException(result.getMessage());
  2115 + }
  2116 + taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
  2117 + success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
  2118 + if (!success) {
  2119 + throw new JeecgBootException("完成移库任务时, 更新任务失败");
  2120 + }
2157 2121 log.info("完成移库任务" + taskHeader.getId());
2158 2122 return Result.OK("完成移库任务成功");
2159 2123 }
... ... @@ -2218,42 +2182,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
2218 2182 if (!success) {
2219 2183 throw new JeecgBootException("完成出库查看任务时,更新库存头失败");
2220 2184 }
2221   - if (fromLocationCode.equals(toLocationCode)) {
2222   - success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2223   - } else {
2224   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2225   - }
2226   - if (!success) {
2227   - throw new JeecgBootException("完成出库查看任务时,更新容器状态失败");
2228   - }
2229   - } else {
2230   - if (fromLocationCode.equals(toLocationCode)) {
2231   - success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2232   - } else {
2233   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
2234   - }
2235   - if (!success) {
2236   - throw new JeecgBootException("完成出库查看任务时,更新容器状态失败");
2237   - }
2238 2185 }
2239 2186  
2240   - if (!fromLocationCode.equals(toLocationCode)) {
2241   - success =
2242   - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2243   - if (!success) {
2244   - throw new JeecgBootException("完成出库查看任务时,更新源库位失败");
2245   - }
2246   - } else {
2247   - success = locationService.updateStatus(fromLocationCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2248   - if (!success) {
2249   - throw new JeecgBootException("完成出库查看任务时,更新源库位失败");
2250   - }
2251   - }
2252   - if (StringUtils.isNotEmpty(fromLocationCode) && !fromLocationCode.equals(toLocationCode)) {
2253   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2254   - if (!success) {
2255   - throw new JeecgBootException("完成出库查看任务时,更新目标库位失败");
2256   - }
  2187 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT,
  2188 + containerCode, fromLocationCode, toLocationCode, warehouseCode);
  2189 + if (!result.isSuccess()) {
  2190 + throw new JeecgBootException(result.getMessage());
2257 2191 }
2258 2192 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
2259 2193 success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
... ... @@ -2301,16 +2235,21 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
2301 2235 if (toPort == null) {
2302 2236 return Result.error("创建跨站任务时,目标站台为空");
2303 2237 }
  2238 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_OVER_STATION,
  2239 + containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode);
  2240 + if (!result.isSuccess()) {
  2241 + throw new JeecgBootException(result.getMessage());
  2242 + }
2304 2243 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
2305 2244 boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
2306 2245 if (!success) {
2307 2246 throw new JeecgBootException("创建跨站任务时, 更新任务失败");
2308 2247 }
2309   - success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
  2248 +// success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
  2249 +// if (!success) {
  2250 +// throw new JeecgBootException("创建跨站任务时, 更新容器状态失败");
  2251 +// }
2310 2252 log.info("完成跨站任务" + taskHeader.getId());
2311   - if (!success) {
2312   - throw new JeecgBootException("创建跨站任务时, 更新容器状态失败");
2313   - }
2314 2253 return Result.OK("完成跨站任务成功");
2315 2254 }
2316 2255  
... ... @@ -2343,21 +2282,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
2343 2282 if (toLocation == null) {
2344 2283 return Result.error("完成空托盘组入库任务时,没有找到库位" + toLocationCode);
2345 2284 }
  2285 + Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT,
  2286 + containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
  2287 + if (!result.isSuccess()) {
  2288 + throw new JeecgBootException(result.getMessage());
  2289 + }
2346 2290 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
2347 2291 boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
2348 2292 if (!success) {
2349 2293 throw new JeecgBootException("完成空托盘组入库任务时, 更新任务失败");
2350 2294 }
2351   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_LOCATION_EMPTY,
2352   - QuantityConstant.STATUS_CONTAINER_FILL_MANY, warehouseCode);
2353   - if (!success) {
2354   - throw new JeecgBootException("完成空托盘组入库任务时, 更新容器失败");
2355   - }
2356   - success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
2357 2295 log.info("完成空托盘组入库任务" + taskHeader.getId());
2358   - if (!success) {
2359   - throw new JeecgBootException("完成空托盘组入库任务时, 更新库位失败");
2360   - }
2361 2296 return Result.ok("完成空托盘组入库任务成功");
2362 2297 }
2363 2298  
... ...