diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index 4a7653e..ee0c898 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -202,7 +202,7 @@ public class ToWmsServiceImpl implements IToWmsService { List agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam); if (CollUtil.isNotEmpty(agvContainerTasks)){ for (AgvContainerTask agvContainerTask : agvContainerTasks) { - agvContainerTask.setStatus("3"); + agvContainerTask.setStatus("2"); agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date())); agvContainerTaskService.updateAgvContainerTask(agvContainerTask); agvContainerTaskService.insertHistory(agvContainerTask.getId()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index 85effff..5737875 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -60,6 +60,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -92,11 +93,11 @@ public class PdaServiceImp implements PdaService { private IOutStockoutService outStockoutService; @Autowired private IOutStockoutDetailService outStockoutDetailService; - @Autowired + @Resource private BasProductPortMapper basProductPortMapper; @Autowired private IBasStockService basStockService; - @Autowired + @Resource private MydoJobFinishMapper mydoJobFinishMapper; @Autowired private IOutPickSubmitService outPickSubmitService; @@ -243,10 +244,6 @@ public class PdaServiceImp implements PdaService { @Transactional(rollbackFor = Exception.class) public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) { - /*List mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList(); - if(CollUtil.isEmpty(mydoJobDetailList)){ - return AjaxResult.warn("拣选的物料不能为空"); - }*/ //判断任务是否存在 MydoJob mydoJobParam = new MydoJob(); mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode()); @@ -305,7 +302,7 @@ public class PdaServiceImp implements PdaService { //修改拣选数量 mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity()); mydoJobDetailService.updateMydoJobDetail(mydoJobDetail); - updateTagTaskStatus(mydoJobDetail, basWarehouse); + //修改单据实际数量 String inOrOutDId = mydoJobDetail.getInOrOutDId(); @@ -315,7 +312,9 @@ public class PdaServiceImp implements PdaService { outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail); } //修改电子标签 - updateTagTaskStatus(mydoJobDetail, basWarehouse); + if ("2".equals(basWarehouse.getWarehouseType())){ + updateTagTaskStatus(mydoJobDetail); + } } //判断拣选数量是否等于出库数量 @@ -363,29 +362,6 @@ public class PdaServiceImp implements PdaService { mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity()); mydoJobDetailService.updateMydoJobDetail(mydoJobDetail); - OutPickSubmit outPickSubmitParam = new OutPickSubmit(); - //outPickSubmitParam.setJobId(mydoJob.getJobId()); - //outPickSubmitParam.setJobDetailId(mydoJobDetail.getJobDetailId()); - outPickSubmitParam.setWarehouseId(mydoJob.getWarehouseId()); - outPickSubmitParam.setExitId(mydoJob.getExitId()); - outPickSubmitParam.setProductId(mydoJobDetail.getProductId()); - List outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam); - if (outPickSubmits.isEmpty()) { - //存入中间表 - OutPickSubmit outPickSubmit = new OutPickSubmit(); - outPickSubmit.setJobId(mydoJob.getJobId()); - outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId()); - outPickSubmit.setProductId(mydoJobDetail.getProductId()); - outPickSubmit.setQuantity(mydoJobDetail.getOutQuantity()); - outPickSubmit.setTrayCode(trayCodeMakeSure.getTrayCode()); - outPickSubmit.setWarehouseId(mydoJob.getWarehouseId()); - outPickSubmit.setExitId(mydoJob.getExitId()); - outPickSubmitService.insertOutPickSubmit(outPickSubmit); - } else { - OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0); - oldOutPickSubmit.setQuantity(Convert.toBigDecimal(oldOutPickSubmit.getQuantity()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString()); - outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit); - } //修改单据实际数量 String inOrOutDId = mydoJobDetail.getInOrOutDId(); OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId); @@ -394,7 +370,11 @@ public class PdaServiceImp implements PdaService { outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail); } //修改电子标签 - updateTagTaskStatus(mydoJobDetail, basWarehouse); + if ("2".equals(basWarehouse.getWarehouseType())){ + updateTagTaskStatus(mydoJobDetail); + } + //插入中间表 + insertPickSubmitData(mydoJob, mydoJobDetail); } @@ -423,6 +403,38 @@ public class PdaServiceImp implements PdaService { } } + /** + * 插入中间表 + * @param mydoJob + * @param mydoJobDetail + */ + private void insertPickSubmitData(MydoJob mydoJob, MydoJobDetail mydoJobDetail) { + OutPickSubmit outPickSubmitParam = new OutPickSubmit(); + outPickSubmitParam.setWarehouseId(mydoJob.getWarehouseId()); + outPickSubmitParam.setExitId(mydoJob.getExitId()); + outPickSubmitParam.setProductId(mydoJobDetail.getProductId()); + List outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam); + if (outPickSubmits.isEmpty()) { + if (Convert.toInt(mydoJobDetail.getPickQuantity())>0){ + //存入中间表 + OutPickSubmit outPickSubmit = new OutPickSubmit(); + outPickSubmit.setJobId(mydoJob.getJobId()); + outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId()); + outPickSubmit.setProductId(mydoJobDetail.getProductId()); + outPickSubmit.setQuantity(mydoJobDetail.getPickQuantity()); + outPickSubmit.setTrayCode(mydoJob.getTrayCode()); + outPickSubmit.setWarehouseId(mydoJob.getWarehouseId()); + outPickSubmit.setExitId(mydoJob.getExitId()); + outPickSubmitService.insertOutPickSubmit(outPickSubmit); + } + + } else { + OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0); + oldOutPickSubmit.setQuantity(Convert.toBigDecimal(oldOutPickSubmit.getQuantity()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString()); + outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit); + } + } + @Override @Transactional(rollbackFor = Exception.class) @@ -451,7 +463,9 @@ public class PdaServiceImp implements PdaService { mydoJobDetail.setSpare3("1"); mydoJobDetailService.updateMydoJobDetail(mydoJobDetail); - updateTagTaskStatus(mydoJobDetail, basWarehouse); + if ("2".equals(basWarehouse.getWarehouseType())){ + updateTagTaskStatus(mydoJobDetail); + } } } List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId()); @@ -475,20 +489,19 @@ public class PdaServiceImp implements PdaService { * 修改电子标签数量 * * @param mydoJobDetail - * @param basWarehouse */ - private void updateTagTaskStatus(MydoJobDetail mydoJobDetail, BasWarehouse basWarehouse) { - if ("2".equals(basWarehouse.getWarehouseType())) { - //修改电子标签任务 - TagTask param = new TagTask(); - param.setJobDetailId(mydoJobDetail.getJobDetailId()); - List tagTasks = tagTaskService.selectTagTaskList(param); - if (CollUtil.isNotEmpty(tagTasks)) { - TagTask tagTask = tagTasks.get(0); - tagTask.setStatus("2"); - tagTaskService.updateTagTask(tagTask); - } + private void updateTagTaskStatus(MydoJobDetail mydoJobDetail) { + + //修改电子标签任务 + TagTask param = new TagTask(); + param.setJobDetailId(mydoJobDetail.getJobDetailId()); + List tagTasks = tagTaskService.selectTagTaskList(param); + if (CollUtil.isNotEmpty(tagTasks)) { + TagTask tagTask = tagTasks.get(0); + tagTask.setStatus("2"); + tagTaskService.updateTagTask(tagTask); } + } /** @@ -542,6 +555,8 @@ public class PdaServiceImp implements PdaService { param.setJobId(mydoJob.getJobId()); List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); + BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId()); + String stockOutId = ""; for (MydoJobDetail mydoJobDetail : mydoJobDetails) { @@ -557,6 +572,13 @@ public class PdaServiceImp implements PdaService { basStock.setOutQuantity(String.valueOf(pickQuantity)); basStockService.updateBasStock(basStock); + //修改电子标签 + if ("2".equals(basWarehouse.getWarehouseType())){ + updateTagTaskStatus(mydoJobDetail); + } + + //将数据存入中间表 + insertPickSubmitData(mydoJob, mydoJobDetail); } //生成回流任务,标记productStatus为异常状态 HashMap map = new HashMap<>(); @@ -566,6 +588,8 @@ public class PdaServiceImp implements PdaService { iToWcsService.pushInMydoJob(); String result = map.get("v_result").toString(); if ("10".equals(result)) { + //删除电子标签信息 + deleteTagTask(trayCodeMakeSure, basWarehouse, mydoJob); //自动分配 return outStockoutService.autoAllot(stockOutId); } else {