Commit cee29210869b8c6fe0ab621e1d5b6901082dc382
1 parent
82dc69e8
解决事务嵌套问题
Signed-off-by: TanYibin <5491541@qq.com>
Showing
6 changed files
with
39 additions
and
17 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
@@ -150,7 +150,11 @@ public class MesServiceImpl implements IMesService { | @@ -150,7 +150,11 @@ public class MesServiceImpl implements IMesService { | ||
150 | if (!success) { | 150 | if (!success) { |
151 | throw new JeecgBootException("MES下发入库信息,更新入库组盘头失败"); | 151 | throw new JeecgBootException("MES下发入库信息,更新入库组盘头失败"); |
152 | } | 152 | } |
153 | - return huahengMultiHandlerService.createReceiptTask(receiptContainerHeader, warehouseCode); | 153 | + result = receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode); |
154 | + if (!result.isSuccess()) { | ||
155 | + throw new JeecgBootException(result.getMessage()); | ||
156 | + } | ||
157 | + return result; | ||
154 | } | 158 | } |
155 | 159 | ||
156 | @Override | 160 | @Override |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wms/service/WmsServiceImpl.java
@@ -162,7 +162,11 @@ public class WmsServiceImpl implements WmsService { | @@ -162,7 +162,11 @@ public class WmsServiceImpl implements WmsService { | ||
162 | if (!success) { | 162 | if (!success) { |
163 | throw new JeecgBootException("WMS下发入库信息,更新入库组盘头失败"); | 163 | throw new JeecgBootException("WMS下发入库信息,更新入库组盘头失败"); |
164 | } | 164 | } |
165 | - return huahengMultiHandlerService.createReceiptTask(receiptContainerHeader, warehouseCode); | 165 | + result = receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode); |
166 | + if (!result.isSuccess()) { | ||
167 | + throw new JeecgBootException(result.getMessage()); | ||
168 | + } | ||
169 | + return result; | ||
166 | } | 170 | } |
167 | 171 | ||
168 | @Override | 172 | @Override |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java
@@ -72,12 +72,10 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem | @@ -72,12 +72,10 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem | ||
72 | @Override | 72 | @Override |
73 | @Transactional(rollbackFor = Exception.class) | 73 | @Transactional(rollbackFor = Exception.class) |
74 | public Result createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { | 74 | public Result createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { |
75 | - String lockKey = warehouseCode; | ||
76 | - Result result = handleMultiProcess("createReceiptTask", lockKey, new MultiProcessListener() { | 75 | + Result result = handleMultiProcess("createReceiptTask", warehouseCode, new MultiProcessListener() { |
77 | @Override | 76 | @Override |
78 | public Result<?> doProcess() { | 77 | public Result<?> doProcess() { |
79 | - Result result = receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode); | ||
80 | - return result; | 78 | + return receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode); |
81 | } | 79 | } |
82 | }); | 80 | }); |
83 | return result; | 81 | return result; |
@@ -89,8 +87,7 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem | @@ -89,8 +87,7 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem | ||
89 | Result result = handleMultiProcess("combination", new MultiProcessListener() { | 87 | Result result = handleMultiProcess("combination", new MultiProcessListener() { |
90 | @Override | 88 | @Override |
91 | public Result<?> doProcess() { | 89 | public Result<?> doProcess() { |
92 | - Result result = shipmentCombinationService.combination(combinationModel); | ||
93 | - return result; | 90 | + return shipmentCombinationService.combination(combinationModel); |
94 | } | 91 | } |
95 | }); | 92 | }); |
96 | return result; | 93 | return result; |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
@@ -57,26 +57,37 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -57,26 +57,37 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
57 | 57 | ||
58 | @Autowired | 58 | @Autowired |
59 | private ReceiptContainerHeaderMapper receiptContainerHeaderMapper; | 59 | private ReceiptContainerHeaderMapper receiptContainerHeaderMapper; |
60 | + | ||
60 | @Autowired | 61 | @Autowired |
61 | private ReceiptContainerDetailMapper receiptContainerDetailMapper; | 62 | private ReceiptContainerDetailMapper receiptContainerDetailMapper; |
63 | + | ||
62 | @Resource | 64 | @Resource |
63 | private IContainerService containerService; | 65 | private IContainerService containerService; |
66 | + | ||
64 | @Resource | 67 | @Resource |
65 | private IReceiptContainerDetailService receiptContainerDetailService; | 68 | private IReceiptContainerDetailService receiptContainerDetailService; |
69 | + | ||
66 | @Resource | 70 | @Resource |
67 | private ILocationService locationService; | 71 | private ILocationService locationService; |
72 | + | ||
68 | @Resource | 73 | @Resource |
69 | private IReceiptContainerHeaderService receiptContainerHeaderService; | 74 | private IReceiptContainerHeaderService receiptContainerHeaderService; |
75 | + | ||
70 | @Resource | 76 | @Resource |
71 | private ITaskHeaderService taskHeaderService; | 77 | private ITaskHeaderService taskHeaderService; |
78 | + | ||
72 | @Resource | 79 | @Resource |
73 | private ITaskDetailService taskDetailService; | 80 | private ITaskDetailService taskDetailService; |
81 | + | ||
74 | @Resource | 82 | @Resource |
75 | private IReceiptDetailService receiptDetailService; | 83 | private IReceiptDetailService receiptDetailService; |
84 | + | ||
76 | @Resource | 85 | @Resource |
77 | private IReceiptHeaderService receiptHeaderService; | 86 | private IReceiptHeaderService receiptHeaderService; |
87 | + | ||
78 | @Resource | 88 | @Resource |
79 | private IInventoryHeaderService inventoryHeaderService; | 89 | private IInventoryHeaderService inventoryHeaderService; |
90 | + | ||
80 | @Resource | 91 | @Resource |
81 | private IParameterConfigurationService parameterConfigurationService; | 92 | private IParameterConfigurationService parameterConfigurationService; |
82 | 93 | ||
@@ -106,7 +117,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -106,7 +117,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
106 | } | 117 | } |
107 | 118 | ||
108 | @Override | 119 | @Override |
109 | - @Transactional(rollbackFor = JeecgBootException.class, propagation = Propagation.REQUIRES_NEW) | 120 | + @Transactional |
110 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString1", msg = "'任务ID:' + #taskHeader.getId()", | 121 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString1", msg = "'任务ID:' + #taskHeader.getId()", |
111 | condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) | 122 | condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) |
112 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务生成'", extra = "#extraJsonString2", | 123 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务生成'", extra = "#extraJsonString2", |
@@ -115,7 +126,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -115,7 +126,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
115 | public Result<TaskHeader> createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { | 126 | public Result<TaskHeader> createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { |
116 | log.info("开始创建入库任务"); | 127 | log.info("开始创建入库任务"); |
117 | if (!receiptContainerHeader.getWarehouseCode().equals(warehouseCode)) { | 128 | if (!receiptContainerHeader.getWarehouseCode().equals(warehouseCode)) { |
118 | - return Result.error("创建入库任务, id:" + receiptContainerHeader.getId() + "的入库组盘不能在" + warehouseCode + "仓库操作"); | 129 | + throw new JeecgBootException("创建入库任务, id:" + receiptContainerHeader.getId() + "的入库组盘不能在" + warehouseCode + "仓库操作"); |
119 | } | 130 | } |
120 | String containerCode = receiptContainerHeader.getContainerCode(); | 131 | String containerCode = receiptContainerHeader.getContainerCode(); |
121 | String fromLocationCode = receiptContainerHeader.getFromLocationCode(); | 132 | String fromLocationCode = receiptContainerHeader.getFromLocationCode(); |
@@ -125,11 +136,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -125,11 +136,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
125 | List<ReceiptContainerDetail> receiptContainerDetailList = | 136 | List<ReceiptContainerDetail> receiptContainerDetailList = |
126 | receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(receiptContainerHeader.getId()); | 137 | receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(receiptContainerHeader.getId()); |
127 | if (receiptContainerDetailList.size() == 0) { | 138 | if (receiptContainerDetailList.size() == 0) { |
128 | - return Result.error("创建入库任务, id:" + receiptContainerHeader.getId() + "的入库组盘,没有组盘明细,请先组盘!"); | 139 | + throw new JeecgBootException("创建入库任务, id:" + receiptContainerHeader.getId() + "的入库组盘,没有组盘明细,请先组盘!"); |
129 | } | 140 | } |
130 | int receiptContainerStatus = receiptContainerHeader.getStatus(); | 141 | int receiptContainerStatus = receiptContainerHeader.getStatus(); |
131 | if (receiptContainerStatus != QuantityConstant.RECEIPT_CONTAINER_BUILD) { | 142 | if (receiptContainerStatus != QuantityConstant.RECEIPT_CONTAINER_BUILD) { |
132 | - return Result.error("创建入库任务, 入库组盘状态不是创建状态"); | 143 | + throw new JeecgBootException("创建入库任务, 入库组盘状态不是创建状态"); |
133 | } | 144 | } |
134 | String containerFillStatus = QuantityConstant.STATUS_CONTAINER_FILL_SOME; | 145 | String containerFillStatus = QuantityConstant.STATUS_CONTAINER_FILL_SOME; |
135 | if (!StringUtils.isEmpty(receiptContainerHeader.getContainerFillStatus())) { | 146 | if (!StringUtils.isEmpty(receiptContainerHeader.getContainerFillStatus())) { |
@@ -411,30 +422,36 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -411,30 +422,36 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
411 | } | 422 | } |
412 | 423 | ||
413 | @Override | 424 | @Override |
425 | + @Transactional | ||
414 | public Result cancelReceiving(List<Integer> ids) { | 426 | public Result cancelReceiving(List<Integer> ids) { |
415 | Result result = null; | 427 | Result result = null; |
416 | for (Integer id : ids) { | 428 | for (Integer id : ids) { |
417 | - result = cancelReceiving(id); | 429 | + result = receiptContainerHeaderService.cancelReceiving(id); |
430 | + if (!result.isSuccess()) { | ||
431 | + throw new JeecgBootException(result.getMessage()); | ||
432 | + } | ||
418 | } | 433 | } |
419 | return result; | 434 | return result; |
420 | } | 435 | } |
421 | 436 | ||
422 | @Override | 437 | @Override |
438 | + @Transactional | ||
423 | public boolean updateToPortById(String toPort, int id) { | 439 | public boolean updateToPortById(String toPort, int id) { |
424 | ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); | 440 | ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); |
425 | receiptContainerHeader.setToPort(toPort); | 441 | receiptContainerHeader.setToPort(toPort); |
426 | receiptContainerHeader.setId(id); | 442 | receiptContainerHeader.setId(id); |
427 | - boolean success = updateById(receiptContainerHeader); | 443 | + boolean success = receiptContainerHeaderService.updateById(receiptContainerHeader); |
428 | return success; | 444 | return success; |
429 | } | 445 | } |
430 | 446 | ||
431 | @Override | 447 | @Override |
448 | + @Transactional | ||
432 | public boolean updateToPortAndStatus(String toPort, int status, int id) { | 449 | public boolean updateToPortAndStatus(String toPort, int status, int id) { |
433 | ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); | 450 | ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); |
434 | receiptContainerHeader.setToPort(toPort); | 451 | receiptContainerHeader.setToPort(toPort); |
435 | receiptContainerHeader.setStatus(status); | 452 | receiptContainerHeader.setStatus(status); |
436 | receiptContainerHeader.setId(id); | 453 | receiptContainerHeader.setId(id); |
437 | - boolean success = updateById(receiptContainerHeader); | 454 | + boolean success = receiptContainerHeaderService.updateById(receiptContainerHeader); |
438 | return success; | 455 | return success; |
439 | } | 456 | } |
440 | 457 |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -222,7 +222,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi | @@ -222,7 +222,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi | ||
222 | combinationModel.setShipQty(inventoryQty); | 222 | combinationModel.setShipQty(inventoryQty); |
223 | shipmentQty = shipmentQty.subtract(inventoryQty); | 223 | shipmentQty = shipmentQty.subtract(inventoryQty); |
224 | } | 224 | } |
225 | - Result result = huahengMultiHandlerService.combination(combinationModel); | 225 | + Result result = shipmentCombinationService.combination(combinationModel); |
226 | if (!result.isSuccess()) { | 226 | if (!result.isSuccess()) { |
227 | throw new JeecgBootException(result.getMessage()); | 227 | throw new JeecgBootException(result.getMessage()); |
228 | } | 228 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -867,7 +867,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -867,7 +867,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
867 | } | 867 | } |
868 | 868 | ||
869 | @Override | 869 | @Override |
870 | - @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) | 870 | + @Transactional |
871 | public Result sendTaskToWcs(Integer taskId) { | 871 | public Result sendTaskToWcs(Integer taskId) { |
872 | TaskHeader taskHeader = taskHeaderService.getById(taskId); | 872 | TaskHeader taskHeader = taskHeaderService.getById(taskId); |
873 | if (taskHeader == null) { | 873 | if (taskHeader == null) { |