Commit 7d881f7c2a69f9376fb625add8a8e3656834792c
1 parent
4b7efb7b
盘点添加方法事务优化
Signed-off-by: TanYibin <5491541@qq.com>
Showing
5 changed files
with
92 additions
and
102 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wms/service/WmsServiceImpl.java
@@ -246,8 +246,8 @@ public class WmsServiceImpl implements WmsService { | @@ -246,8 +246,8 @@ public class WmsServiceImpl implements WmsService { | ||
246 | @Transactional(rollbackFor = Exception.class) | 246 | @Transactional(rollbackFor = Exception.class) |
247 | public Result createEmptyIn(WmsEntity wmsEntity) { | 247 | public Result createEmptyIn(WmsEntity wmsEntity) { |
248 | String warehouseCode = wmsEntity.getWarehouseCode(); | 248 | String warehouseCode = wmsEntity.getWarehouseCode(); |
249 | - String toPort = wmsEntity.getToPort(); | ||
250 | - String referCode = wmsEntity.getTaskNo(); | 249 | +// String toPort = wmsEntity.getToPort(); |
250 | +// String referCode = wmsEntity.getTaskNo(); | ||
251 | String contaienrCode = wmsEntity.getContainerCode(); | 251 | String contaienrCode = wmsEntity.getContainerCode(); |
252 | 252 | ||
253 | Result result = taskHeaderService.createEmptyIn(contaienrCode, QuantityConstant.EMPTY_STRING, warehouseCode); | 253 | Result result = taskHeaderService.createEmptyIn(contaienrCode, QuantityConstant.EMPTY_STRING, warehouseCode); |
@@ -259,7 +259,7 @@ public class WmsServiceImpl implements WmsService { | @@ -259,7 +259,7 @@ public class WmsServiceImpl implements WmsService { | ||
259 | public Result createEmptyOut(WmsEntity wmsEntity) { | 259 | public Result createEmptyOut(WmsEntity wmsEntity) { |
260 | String warehouseCode = wmsEntity.getWarehouseCode(); | 260 | String warehouseCode = wmsEntity.getWarehouseCode(); |
261 | String toPort = wmsEntity.getToPort(); | 261 | String toPort = wmsEntity.getToPort(); |
262 | - String referCode = wmsEntity.getTaskNo(); | 262 | +// String referCode = wmsEntity.getTaskNo(); |
263 | String contaienrCode = wmsEntity.getContainerCode(); | 263 | String contaienrCode = wmsEntity.getContainerCode(); |
264 | 264 | ||
265 | Result result = taskHeaderService.createEmptyOut(contaienrCode, toPort, warehouseCode); | 265 | Result result = taskHeaderService.createEmptyOut(contaienrCode, toPort, warehouseCode); |
@@ -271,7 +271,7 @@ public class WmsServiceImpl implements WmsService { | @@ -271,7 +271,7 @@ public class WmsServiceImpl implements WmsService { | ||
271 | public Result createCheckOut(WmsEntity wmsEntity) { | 271 | public Result createCheckOut(WmsEntity wmsEntity) { |
272 | String warehouseCode = wmsEntity.getWarehouseCode(); | 272 | String warehouseCode = wmsEntity.getWarehouseCode(); |
273 | String toPort = wmsEntity.getToPort(); | 273 | String toPort = wmsEntity.getToPort(); |
274 | - String referCode = wmsEntity.getTaskNo(); | 274 | +// String referCode = wmsEntity.getTaskNo(); |
275 | String contaienrCode = wmsEntity.getContainerCode(); | 275 | String contaienrCode = wmsEntity.getContainerCode(); |
276 | 276 | ||
277 | Result result = taskHeaderService.createCheckOutTask(contaienrCode, toPort, warehouseCode); | 277 | Result result = taskHeaderService.createCheckOutTask(contaienrCode, toPort, warehouseCode); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
@@ -37,7 +37,7 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | @@ -37,7 +37,7 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | ||
37 | ContainerMapper containerMapper; | 37 | ContainerMapper containerMapper; |
38 | 38 | ||
39 | @Override | 39 | @Override |
40 | - public Result batchAddContainers(Container container, int number) { | 40 | + public Result<?> batchAddContainers(Container container, int number) { |
41 | String containerTypeCode = container.getContainerTypeCode(); | 41 | String containerTypeCode = container.getContainerTypeCode(); |
42 | String warehouseCode = container.getWarehouseCode(); | 42 | String warehouseCode = container.getWarehouseCode(); |
43 | int startNumber = getStartNumber(containerTypeCode, container.getWarehouseCode()); | 43 | int startNumber = getStartNumber(containerTypeCode, container.getWarehouseCode()); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/controller/CycleCountDetailController.java
@@ -123,7 +123,7 @@ public class CycleCountDetailController extends HuahengBaseController { | @@ -123,7 +123,7 @@ public class CycleCountDetailController extends HuahengBaseController { | ||
123 | @AutoLog(value = "盘点盘盈-增加明细") | 123 | @AutoLog(value = "盘点盘盈-增加明细") |
124 | @ApiOperation(value = "盘点盘盈-增加明细", notes = "盘点盘盈-增加明细") | 124 | @ApiOperation(value = "盘点盘盈-增加明细", notes = "盘点盘盈-增加明细") |
125 | @RequestMapping(value = "/increaseInInventoryGain", method = {RequestMethod.PUT, RequestMethod.POST}) | 125 | @RequestMapping(value = "/increaseInInventoryGain", method = {RequestMethod.PUT, RequestMethod.POST}) |
126 | - public Result<String> increaseInInventoryGain(@RequestBody CycleCountDetailChild cycleCountDetailChild) { | 126 | + public Result<?> increaseInInventoryGain(@RequestBody CycleCountDetailChild cycleCountDetailChild) { |
127 | return cycleCountDetailService.increaseInInventoryGain(cycleCountDetailChild); | 127 | return cycleCountDetailService.increaseInInventoryGain(cycleCountDetailChild); |
128 | } | 128 | } |
129 | 129 | ||
@@ -225,25 +225,17 @@ public class CycleCountDetailController extends HuahengBaseController { | @@ -225,25 +225,17 @@ public class CycleCountDetailController extends HuahengBaseController { | ||
225 | @AutoLog(value = "盘点添加") | 225 | @AutoLog(value = "盘点添加") |
226 | @ApiOperation(value = "盘点添加", notes = "盘点添加") | 226 | @ApiOperation(value = "盘点添加", notes = "盘点添加") |
227 | @PostMapping(value = "/stockTakeTask") | 227 | @PostMapping(value = "/stockTakeTask") |
228 | - public Result<String> stockTakeTask(@RequestParam(name = "ids") String ids, @RequestParam(name = "headerId") int headerId, | ||
229 | - @RequestParam(name = "code") String code) { | 228 | + public Result<?> stockTakeTask(@RequestParam(name = "ids") String ids, @RequestParam(name = "headerId") int headerId, @RequestParam(name = "code") String code) { |
230 | if (StringUtils.isEmpty(ids)) { | 229 | if (StringUtils.isEmpty(ids)) { |
231 | return Result.error("taskId不能为空"); | 230 | return Result.error("taskId不能为空"); |
232 | } | 231 | } |
233 | - Result result = null; | ||
234 | - Integer[] idList = ConvertUtils.toIntArray(ids); | ||
235 | - for (int taskId : idList) { | ||
236 | - result = handleMultiProcess("cancelTask", new HuahengBaseController.MultiProcessListener() { | ||
237 | - @Override | ||
238 | - public Result doProcess() { | ||
239 | - Result result = cycleCountDetailService.stockDetailAdd(taskId, headerId, code); | ||
240 | - return result; | ||
241 | - } | ||
242 | - }); | ||
243 | - } | ||
244 | - result.setResult(headerId); | 232 | + Result<?> result = handleMultiProcess("stockTakeTask", new HuahengBaseController.MultiProcessListener() { |
233 | + @Override | ||
234 | + public Result<?> doProcess() { | ||
235 | + return cycleCountDetailService.stockDetailAdd(ConvertUtils.toIntArray(ids), headerId, code); | ||
236 | + } | ||
237 | + }); | ||
245 | return result; | 238 | return result; |
246 | - | ||
247 | } | 239 | } |
248 | 240 | ||
249 | /** | 241 | /** |
@@ -297,7 +289,7 @@ public class CycleCountDetailController extends HuahengBaseController { | @@ -297,7 +289,7 @@ public class CycleCountDetailController extends HuahengBaseController { | ||
297 | cycleCountDetailList = queryList; | 289 | cycleCountDetailList = queryList; |
298 | } else { | 290 | } else { |
299 | List<String> selectionList = Arrays.asList(selections.split(",")); | 291 | List<String> selectionList = Arrays.asList(selections.split(",")); |
300 | - cycleCountDetailList = queryList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); | 292 | + cycleCountDetailList = queryList.stream().filter(item -> selectionList.contains(item.getId() + "")).collect(Collectors.toList()); |
301 | } | 293 | } |
302 | 294 | ||
303 | // Step.3 组装pageList | 295 | // Step.3 组装pageList |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/ICycleCountDetailService.java
@@ -10,37 +10,35 @@ import java.util.List; | @@ -10,37 +10,35 @@ import java.util.List; | ||
10 | 10 | ||
11 | /** | 11 | /** |
12 | * @Description: 盘点明细表 | 12 | * @Description: 盘点明细表 |
13 | - * @Author: jeecg-boot | ||
14 | - * @Date: 2023-01-30 | ||
15 | - * @Version: V1.0 | 13 | + * @Author: jeecg-boot |
14 | + * @Date: 2023-01-30 | ||
15 | + * @Version: V1.0 | ||
16 | */ | 16 | */ |
17 | public interface ICycleCountDetailService extends IService<CycleCountDetail> { | 17 | public interface ICycleCountDetailService extends IService<CycleCountDetail> { |
18 | 18 | ||
19 | - /** | ||
20 | - * 添加一对多 | ||
21 | - * | ||
22 | - */ | ||
23 | - public void saveMain(CycleCountDetail cycleCountDetail,List<CycleCountDetailChild> cycleCountDetailChildList) ; | 19 | + /** |
20 | + * 添加一对多 | ||
21 | + */ | ||
22 | + public void saveMain(CycleCountDetail cycleCountDetail, List<CycleCountDetailChild> cycleCountDetailChildList); | ||
24 | 23 | ||
25 | - /** | ||
26 | - * 修改一对多 | ||
27 | - * | ||
28 | - */ | ||
29 | - public void updateMain(CycleCountDetail cycleCountDetail,List<CycleCountDetailChild> cycleCountDetailChildList); | 24 | + /** |
25 | + * 修改一对多 | ||
26 | + */ | ||
27 | + public void updateMain(CycleCountDetail cycleCountDetail, List<CycleCountDetailChild> cycleCountDetailChildList); | ||
30 | 28 | ||
31 | - /** | ||
32 | - * 删除一对多 | ||
33 | - */ | ||
34 | - public void delMain (String id); | 29 | + /** |
30 | + * 删除一对多 | ||
31 | + */ | ||
32 | + public void delMain(String id); | ||
35 | 33 | ||
36 | - /** | ||
37 | - * 批量删除一对多 | ||
38 | - */ | ||
39 | - public void delBatchMain (Collection<? extends Serializable> idList); | 34 | + /** |
35 | + * 批量删除一对多 | ||
36 | + */ | ||
37 | + public void delBatchMain(Collection<? extends Serializable> idList); | ||
40 | 38 | ||
41 | - Result stockDetailAdd(int taskId,int headerId,String code); | 39 | + Result stockDetailAdd(Integer[] taskIdList, Integer headerId, String code); |
42 | 40 | ||
43 | - Result createCycleCoutTaskByDetailId(Integer cycleCoutdetailId,String toPort,String warehouseCode); | 41 | + Result createCycleCoutTaskByDetailId(Integer cycleCoutdetailId, String toPort, String warehouseCode); |
44 | 42 | ||
45 | Result increaseInInventoryGain(CycleCountDetailChild cycleCountDetailChild); | 43 | Result increaseInInventoryGain(CycleCountDetailChild cycleCountDetailChild); |
46 | } | 44 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java
@@ -128,68 +128,68 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -128,68 +128,68 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
128 | 128 | ||
129 | @Override | 129 | @Override |
130 | @Transactional | 130 | @Transactional |
131 | - public Result stockDetailAdd(int taskId, int headerId, String code) { | ||
132 | - LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
133 | - inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getInventoryHeaderId, taskId); | ||
134 | - List<InventoryDetail> inventoryDetails = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); | ||
135 | - | ||
136 | - LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
137 | - cycleCountDetailLambdaQueryWrapper.eq(CycleCountDetail::getContainerCode, inventoryDetails.get(0).getContainerCode()).ne(CycleCountDetail::getEnableStatus, | ||
138 | - QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); | ||
139 | - List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper); | ||
140 | - if (cycleCountDetails.size() > 0) { | ||
141 | - return Result.error("当前容器已经在盘点队列还没有完成 盘点单号" + cycleCountDetails.get(0).getCycleCountHeadCode()); | ||
142 | - } | 131 | + public Result stockDetailAdd(Integer[] taskIdList, Integer headerId, String code) { |
132 | + for (Integer taskId : taskIdList) { | ||
133 | + LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
134 | + inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getInventoryHeaderId, taskId); | ||
135 | + List<InventoryDetail> inventoryDetails = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); | ||
136 | + | ||
137 | + LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
138 | + cycleCountDetailLambdaQueryWrapper.eq(CycleCountDetail::getContainerCode, inventoryDetails.get(0).getContainerCode()) | ||
139 | + .ne(CycleCountDetail::getEnableStatus, QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); | ||
140 | + List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper); | ||
141 | + if (cycleCountDetails.size() > 0) { | ||
142 | + return Result.error("当前容器已经在盘点队列还没有完成 盘点单号" + cycleCountDetails.get(0).getCycleCountHeadCode()); | ||
143 | + } | ||
143 | 144 | ||
144 | - String warehouseCode = inventoryDetails.get(0).getWarehouseCode(); | 145 | + String warehouseCode = inventoryDetails.get(0).getWarehouseCode(); |
145 | 146 | ||
146 | - Container containerByCode = containerServiceImpl.getContainerByCode(inventoryDetails.get(0).getContainerCode(), warehouseCode); | ||
147 | - if (containerByCode.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) { | ||
148 | - return Result.error("当前容器已锁定 请检查数据 库存里面不是锁定 实际上容器里面锁定了"); | ||
149 | - } | 147 | + Container containerByCode = containerServiceImpl.getContainerByCode(inventoryDetails.get(0).getContainerCode(), warehouseCode); |
148 | + if (containerByCode.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) { | ||
149 | + return Result.error("当前容器已锁定 请检查数据 库存里面不是锁定 实际上容器里面锁定了"); | ||
150 | + } | ||
150 | 151 | ||
151 | - Location locationByCode = locationService.getLocationByCode(inventoryDetails.get(0).getLocationCode(), warehouseCode); | ||
152 | - if (locationByCode.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) { | ||
153 | - return Result.error("当前库位已锁定 请检查数据 库存里面不是锁定 实际上库位里面锁定了"); | ||
154 | - } | 152 | + Location locationByCode = locationService.getLocationByCode(inventoryDetails.get(0).getLocationCode(), warehouseCode); |
153 | + if (locationByCode.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) { | ||
154 | + return Result.error("当前库位已锁定 请检查数据 库存里面不是锁定 实际上库位里面锁定了"); | ||
155 | + } | ||
155 | 156 | ||
156 | - CycleCountDetail cycleCountDetail = new CycleCountDetail(); | ||
157 | - cycleCountDetail.setCycleCountHeadId(headerId); | ||
158 | - cycleCountDetail.setContainerCode(inventoryDetails.get(0).getContainerCode()); | ||
159 | - cycleCountDetail.setCycleCountHeadCode(code); | ||
160 | - cycleCountDetail.setCompanyCode(inventoryDetails.get(0).getCompanyCode()); | ||
161 | - cycleCountDetail.setWarehouseCode(inventoryDetails.get(0).getWarehouseCode()); | ||
162 | - cycleCountDetail.setInventoryHeaderId(inventoryDetails.get(0).getInventoryHeaderId()); | ||
163 | - cycleCountDetail.setLocationCode(inventoryDetails.get(0).getLocationCode()); | ||
164 | - cycleCountDetail.setInventorySts(inventoryDetails.get(0).getInventoryStatus()); | ||
165 | - cycleCountDetail.setSystemQty(BigDecimal.ZERO); | ||
166 | - cycleCountDetail.setCountedQty(BigDecimal.ZERO); | ||
167 | - cycleCountDetail.setGapQty(BigDecimal.ZERO); | ||
168 | - cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILD); | ||
169 | - this.save(cycleCountDetail); | ||
170 | - | ||
171 | - for (InventoryDetail inventoryDetail : inventoryDetails) { | ||
172 | - CycleCountDetailChild cycleCountDetailChild = new CycleCountDetailChild(); | ||
173 | - cycleCountDetailChild.setCycleCountDetailid(cycleCountDetail.getId()); | ||
174 | - cycleCountDetailChild.setCyclecountheadcode(code); | ||
175 | - cycleCountDetailChild.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILD); | ||
176 | - cycleCountDetailChild.setLocationCode(inventoryDetail.getLocationCode()); | ||
177 | - cycleCountDetailChild.setContainerCode(inventoryDetail.getContainerCode()); | ||
178 | - cycleCountDetailChild.setMaterialCode(inventoryDetail.getMaterialCode()); | ||
179 | - cycleCountDetailChild.setMaterialName(inventoryDetail.getMaterialName()); | ||
180 | - cycleCountDetailChild.setMaterialSpec(inventoryDetail.getMaterialSpec()); | ||
181 | - cycleCountDetailChild.setMaterialUnit(inventoryDetail.getMaterialUnit()); | ||
182 | - cycleCountDetailChild.setInventoryStatus(inventoryDetail.getInventoryStatus()); | ||
183 | - cycleCountDetailChild.setBatch(inventoryDetail.getBatch()); | ||
184 | - cycleCountDetailChild.setLot(inventoryDetail.getLot()); | ||
185 | - cycleCountDetailChild.setSystemQty(inventoryDetail.getQty()); | ||
186 | - cycleCountDetailChild.setCountedQty(BigDecimal.ZERO); | ||
187 | - cycleCountDetailChild.setGapQty(BigDecimal.ZERO); | ||
188 | - cycleCountDetailChild.setInventoryDetaiId(inventoryDetail.getId()); | ||
189 | - cycleCountDetailChildServiceImpl.save(cycleCountDetailChild); | 157 | + CycleCountDetail cycleCountDetail = new CycleCountDetail(); |
158 | + cycleCountDetail.setCycleCountHeadId(headerId); | ||
159 | + cycleCountDetail.setContainerCode(inventoryDetails.get(0).getContainerCode()); | ||
160 | + cycleCountDetail.setCycleCountHeadCode(code); | ||
161 | + cycleCountDetail.setCompanyCode(inventoryDetails.get(0).getCompanyCode()); | ||
162 | + cycleCountDetail.setWarehouseCode(inventoryDetails.get(0).getWarehouseCode()); | ||
163 | + cycleCountDetail.setInventoryHeaderId(inventoryDetails.get(0).getInventoryHeaderId()); | ||
164 | + cycleCountDetail.setLocationCode(inventoryDetails.get(0).getLocationCode()); | ||
165 | + cycleCountDetail.setInventorySts(inventoryDetails.get(0).getInventoryStatus()); | ||
166 | + cycleCountDetail.setSystemQty(BigDecimal.ZERO); | ||
167 | + cycleCountDetail.setCountedQty(BigDecimal.ZERO); | ||
168 | + cycleCountDetail.setGapQty(BigDecimal.ZERO); | ||
169 | + cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILD); | ||
170 | + cycleCountDetailService.save(cycleCountDetail); | ||
171 | + for (InventoryDetail inventoryDetail : inventoryDetails) { | ||
172 | + CycleCountDetailChild cycleCountDetailChild = new CycleCountDetailChild(); | ||
173 | + cycleCountDetailChild.setCycleCountDetailid(cycleCountDetail.getId()); | ||
174 | + cycleCountDetailChild.setCyclecountheadcode(code); | ||
175 | + cycleCountDetailChild.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILD); | ||
176 | + cycleCountDetailChild.setLocationCode(inventoryDetail.getLocationCode()); | ||
177 | + cycleCountDetailChild.setContainerCode(inventoryDetail.getContainerCode()); | ||
178 | + cycleCountDetailChild.setMaterialCode(inventoryDetail.getMaterialCode()); | ||
179 | + cycleCountDetailChild.setMaterialName(inventoryDetail.getMaterialName()); | ||
180 | + cycleCountDetailChild.setMaterialSpec(inventoryDetail.getMaterialSpec()); | ||
181 | + cycleCountDetailChild.setMaterialUnit(inventoryDetail.getMaterialUnit()); | ||
182 | + cycleCountDetailChild.setInventoryStatus(inventoryDetail.getInventoryStatus()); | ||
183 | + cycleCountDetailChild.setBatch(inventoryDetail.getBatch()); | ||
184 | + cycleCountDetailChild.setLot(inventoryDetail.getLot()); | ||
185 | + cycleCountDetailChild.setSystemQty(inventoryDetail.getQty()); | ||
186 | + cycleCountDetailChild.setCountedQty(BigDecimal.ZERO); | ||
187 | + cycleCountDetailChild.setGapQty(BigDecimal.ZERO); | ||
188 | + cycleCountDetailChild.setInventoryDetaiId(inventoryDetail.getId()); | ||
189 | + cycleCountDetailChildServiceImpl.save(cycleCountDetailChild); | ||
190 | + } | ||
190 | } | 191 | } |
191 | - | ||
192 | - return Result.OK("生成完成"); | 192 | + return Result.OK("生成完成", headerId); |
193 | } | 193 | } |
194 | 194 | ||
195 | /** | 195 | /** |