diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java index a92c5cd..8275bcd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java @@ -217,7 +217,8 @@ public class ToWmsApiController { agvContainerTask.setStatus("0"); List agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTask); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(""), "请求未下发的AGV执行队列", AjaxResult.success(agvContainerTasks)); - requestLogService.insertRequestLog(requestLog); + // 最新 main 暂不重复落库该轮询请求日志。 +// requestLogService.insertRequestLog(requestLog); if (agvContainerTasks != null && agvContainerTasks.size() > 0) { for (AgvContainerTask containerTask : agvContainerTasks) { containerTask.setStatus("1"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java index 01d44e7..609dbcf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java @@ -379,10 +379,11 @@ public class ToErpServiceImpl implements IToErpService { } // ===================== 入库单 1-4 逻辑完全不变 ===================== - if (type >= 1 && type <= 4) { + if ((type >= 1 && type <= 4) || (type >= 10 && type <= 14)) { InStockin param = new InStockin(); param.setErpBill(deliveryNoticeVo.getBillNo()); param.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); + param.setInType(String.valueOf(type)); List existList = inStockinService.selectInStockinListBill(param); // List existList = inStockinService.selectInStockinListApi(param); InStockin exist = (existList != null && !existList.isEmpty()) ? existList.get(0) : null; @@ -482,10 +483,11 @@ public class ToErpServiceImpl implements IToErpService { } // ===================== 出库单 5-7 改造:按立库/平库分两组各1主单多明细 ===================== - else if (type >= 5 && type <= 7) { + else if ((type >= 5 && type <= 7) || (type >= 15 && type <= 20)) { OutStockout param = new OutStockout(); param.setErpStockoutId(deliveryNoticeVo.getBillNo()); param.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); + param.setOutType(String.valueOf(type)); List outList = outStockoutService.selectOutStockoutList(param); OutStockout exist = (outList != null && !outList.isEmpty()) ? outList.get(0) : null; String billNo = deliveryNoticeVo.getBillNo(); 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 769425a..1d89857 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 @@ -240,7 +240,6 @@ public class ToWmsServiceImpl implements IToWmsService { outboundWorkflowCoordinator.onJobFinished(ykJob.getJobId()); } break; - default: log.error("作业类型错误"); return AjaxResult.error("作业类型错误"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/PkDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/PkDetail.java new file mode 100644 index 0000000..dddfbe4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/PkDetail.java @@ -0,0 +1,27 @@ +package com.ruoyi.job.mydojob.domain; + +import java.io.Serializable; + +public class PkDetail implements Serializable { + private String stockinDetailId; + private String quantity; + + + public String getStockinDetailId() { + return stockinDetailId; + } + + public void setStockinDetailId(String stockinDetailId) { + this.stockinDetailId = stockinDetailId; + } + + public String getQuantity() { + return quantity; + } + + public void setQuantity(String quantity) { + this.quantity = quantity; + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index 793dd20..81c95b4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.job.mydojob.mapper; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.job.mydojob.domain.MydoJob; import org.apache.ibatis.annotations.Param; @@ -94,4 +95,6 @@ public interface MydoJobMapper void updateLed(HashMap map); void updateLedError(HashMap map); + + Integer selectBySpare4OrCargo(InStockinDetail inStockinDetail); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java index 566b676..786c2aa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java @@ -1,5 +1,6 @@ package com.ruoyi.pda.domain; +import com.ruoyi.job.mydojob.domain.PkDetail; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; import lombok.AllArgsConstructor; import lombok.Data; @@ -30,6 +31,7 @@ public class TrayCodeMakeSure { private List materials; //异常详情列表 private List materialDetails; + private List pkDetailList; private String quantity; private String stockinDetailId; private String inStockinDetailId; 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 cfe8dab..d6a203d 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 @@ -10,12 +10,15 @@ import com.ruoyi.algorithm.wms.OutboundWorkflowCoordinator; import com.ruoyi.check.commit.domain.CheckCommitRecord; import com.ruoyi.check.commit.service.ICheckCommitRecordService; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.MessageUtils; import com.ruoyi.in.stockin.service.IInStockinService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.domain.PkDetail; +import com.ruoyi.job.mydojob.mapper.MydoJobMapper; import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; @@ -66,6 +69,8 @@ public class PdaServiceImp implements PdaService { private OutStockoutDetailServiceImpl outStockoutDetailService; @Autowired private OutboundWorkflowCoordinator outboundWorkflowCoordinator; + @Autowired + private MydoJobMapper mapper; @Override public List selectHasHalfTray(String inStockinDetailId) { @@ -73,6 +78,10 @@ public class PdaServiceImp implements PdaService { // InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); // inStockinDetail.setSpare4(inStockinDetail.getSpare4()); List hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail); + Integer count = mapper.selectBySpare4OrCargo(inStockinDetail); + if (count > 0) { + return null; + } return hasHalfTray; } @@ -126,7 +135,7 @@ public class PdaServiceImp implements PdaService { pdaMapper.bindTray(map); if (!"10".equals(map.get("v_result").toString())) { errorbulider.append(mydoJobDetail.getStockinDetailId() + map.get("v_resultmsg").toString()); - return AjaxResult.error(errorbulider.toString()); + throw new RuntimeException(map.get("v_result").toString()); } } HashMap map = new HashMap<>(); @@ -134,7 +143,7 @@ public class PdaServiceImp implements PdaService { map.put("v_is_full", trayCodeMakeSure.getIsFull()); pdaMapper.addInJob(map); if (!"10".equals(map.get("v_result").toString())) { - return AjaxResult.error(errorbulider.toString()); + throw new RuntimeException(map.get("v_result").toString()); } return AjaxResult.success(); } @@ -217,6 +226,7 @@ public class PdaServiceImp implements PdaService { mydoJob.setInOrOut("28"); mydoJob.setTrayCode(trayCodeMakeSure.getTrayCode()); List mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob); + return AjaxResult.success(mydoJobDetails); } @@ -321,19 +331,23 @@ public class PdaServiceImp implements PdaService { @Override + @Transactional(rollbackFor = Exception.class) public AjaxResult completeInPk(TrayCodeMakeSure trayCodeMakeSure) { - HashMap map = new HashMap<>(); - map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); - map.put("v_in_stockin_detail_id", trayCodeMakeSure.getStockinDetailId()); - map.put("v_quantity", trayCodeMakeSure.getQuantity()); - map.put("v_cargo_space_id", trayCodeMakeSure.getCargoSpaceId()); - pdaMapper.completeInPk(map); - String result = map.get("v_result").toString(); - if ("10".equals(result)) { - return AjaxResult.success(); - } else { - return AjaxResult.error(map.get("v_resultmsg").toString()); + for (PkDetail pkDetail : trayCodeMakeSure.getPkDetailList()) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_in_stockin_detail_id", pkDetail.getStockinDetailId()); + map.put("v_quantity", pkDetail.getQuantity()); + map.put("v_cargo_space_id", trayCodeMakeSure.getCargoSpaceId()); + pdaMapper.completeInPk(map); + + if (!"10".equals(String.valueOf(map.get("v_result")))) { + String errorMessage = Objects.toString(map.get("v_result_msg"), "平库入库失败"); + throw new ServiceException(errorMessage); + } } + + return AjaxResult.success(); } @Override diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index b328af5..c7b9fab 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:sqlserver://127.0.0.1:1433;databaseName=FT546-wms;encrypt=false; + url: jdbc:sqlserver://192.168.188.236:1433;databaseName=FT546-wms;encrypt=true;trustServerCertificate=true; username: sa - password: 123456 + password: Flrd0914. # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml index fd19718..ce913a5 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml @@ -103,7 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml index fb655ab..d1d5edd 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml @@ -161,6 +161,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where isd.product_name like concat('%',#{materialDesc},'%') ) + + and is2.stockin_id in ( + select distinct stockin_id from in_stockin_detail isd + + where isd.product_id like concat('%',#{productId},'%') + ) + and is2.stockin_id in ( select distinct stockin_id from in_stockin_detail isd diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml index 0ae080b..f7496e7 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml @@ -304,7 +304,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + diff --git a/ruoyi-ui/src/views/bas/traycode/index.vue b/ruoyi-ui/src/views/bas/traycode/index.vue index e23267a..f0917d4 100644 --- a/ruoyi-ui/src/views/bas/traycode/index.vue +++ b/ruoyi-ui/src/views/bas/traycode/index.vue @@ -203,11 +203,10 @@
@@ -464,11 +463,6 @@ export default { font-family: Arial, sans-serif; } -.vue-qr { - display: block; - margin: 20px auto; - max-width: 100%; -} @media print { @page { @@ -481,7 +475,7 @@ export default { } .vue-easy-print { - padding: 20px; + padding: 5px; } .num { @@ -489,8 +483,5 @@ export default { margin-top: 10px; } - .vue-qr { - margin: 10px auto; - } }