| src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -589,12 +589,13 @@ @Override @Transactional(rollbackFor = Exception.class) public void comb(CombParam param, Long userId) { if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { // if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { // throw new CoolException(BaseRes.PARAM); // } if (Objects.isNull(param.getBarcode())) { throw new CoolException(BaseRes.PARAM); } if (param.getCombMats().size() < 1) { throw new CoolException("请提取一个商品,或者刷新重新组托!"); } // 判断是否有相同条码的数据 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()) .eq("io_status", "N")) > 0) { @@ -626,6 +627,22 @@ Date now = new Date(); // 无单组托 if (Cools.isEmpty(param.getOrderNo())) { if (param.getPakinType().equals("3")) { WaitPakin waitPakin = new WaitPakin(); waitPakin.setZpallet(param.getBarcode()); waitPakin.setIoStatus("N"); waitPakin.setStatus("Y"); waitPakin.setAppeUser(userId); waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } } else { if (param.getCombMats().size() < 1) { throw new CoolException("请提取一个商品,或者刷新重新组托!"); } // 生成入库通知档 List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { @@ -671,6 +688,7 @@ waitPakin.setModiTime(now); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } } } // 关联组托 @@ -1777,9 +1795,20 @@ param.setLocType1((short) 1); } BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode())); if (Objects.isNull(container)) { throw new CoolException("容器编码未维护,请维护后再操作!!"); } log.info("WCS任务生成请求参数:", JSONObject.toJSONString(param)); Integer whsType = 1; //用于判断料箱托盘,料箱,笼框 if (container.getType().equals(ContainerType.CONTAINER_TYPE_SALVER.type)) { whsType = 3; } else if (container.getType().equals(ContainerType.CONTAINER_TYPE_CAGE.type)) { whsType = 2; } log.info("WCS任务生成请求参数:{}", JSONObject.toJSONString(param)); BasDevp station = basDevpService.selectOne(new EntityWrapper<BasDevp>() .eq("dev_no", param.getSourceStaNo())); @@ -1795,7 +1824,7 @@ throw new CoolException("数据错误,组拖档已不存在!!"); } WrkMast wrkMast = generateCrnInTask(waitPakins, station, param.getLocType1(), userId); WrkMast wrkMast = generateCrnInTask(waitPakins,whsType, station, param.getLocType1(), userId); Map<String, Object> response = new HashMap<>(); response.put("taskNo", wrkMast.getWrkNo()); @@ -1938,12 +1967,13 @@ /** * 生成堆垛机入库任务 * * @param whsType * @param station * @author Ryan * @date 2025/12/9 13:54 */ @Transactional(rollbackFor = Exception.class) public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, BasDevp station, Short locType, Long userId) { public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, Integer whsType, BasDevp station, Short locType, Long userId) { Date now = new Date(); // StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>() // .eq("agv_sta", station.getDevNo()) @@ -1999,7 +2029,7 @@ } } else { StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto); StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), whsType, findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); // 生成工作档 @@ -2050,6 +2080,7 @@ // 生成工作档明细 waitPakins.forEach(waitPakin -> { if (!Objects.isNull(waitPakin.getMatnr())) { WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(waitPakin); wrkDetl.setWrkNo(wrkMast.getWrkNo()); @@ -2059,6 +2090,12 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } else { wrkMast.setWrkSts(1L); wrkMast.setIoType(10); wrkMastService.updateById(wrkMast); } }); src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -5,7 +5,6 @@ import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; @@ -13,15 +12,12 @@ import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.enums.LocAreaType; import com.zy.asrs.enums.LocStsType; import com.zy.asrs.enums.TaskIOType; import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.entity.result.FindLocNoAttributeVo; import com.zy.asrs.service.*; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; import com.zy.common.model.enumUtils.OrderEnumVo; import com.zy.common.model.enums.IoWorkType; import com.zy.common.model.enums.WorkNoType; import com.zy.common.properties.SlaveProperties; @@ -124,7 +120,7 @@ // List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); // List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0)); StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo, locTypeDto); StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto); if (Cools.isEmpty(dto)) { throw new CoolException("查询库位失败!!==》startupFullPutStore ==》 commonService.getLocNo"); } @@ -708,7 +704,7 @@ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto); StartupDto dto = commonService.getLocNo(10, devpNo, sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 生成工作档 @@ -784,15 +780,15 @@ throw new CoolException("所选库位存在状态不为D的库位,库位号:" + locMast.getLocNo() + " 、当前状态:" + locMast.getLocSts() + "-" + locMast.getLocSts$()); } // 获取源站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", 110) .eq("stn_no", param.getOutSite()) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); Integer sourceStaNo = staDesc.getCrnStn(); if (Cools.isEmpty(sourceStaNo)) { throw new CoolException("检索源站失败"); } // Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() // .eq("type_no", 110) // .eq("stn_no", param.getOutSite()) // .eq("crn_no", locMast.getCrnNo()); // StaDesc staDesc = staDescService.selectOne(wrapper); // Integer sourceStaNo = staDesc.getCrnStn(); // if (Cools.isEmpty(sourceStaNo)) { // throw new CoolException("检索源站失败"); // } Date now = new Date(); // 保存工作档 WrkMast wrkMast = new WrkMast(); @@ -801,9 +797,10 @@ wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID wrkMast.setIoType(110); // 入出库状态: 110.空板出库 wrkMast.setIoPri(10D); wrkMast.setSourceStaNo(sourceStaNo + ""); // 源站 // wrkMast.setSourceStaNo(sourceStaNo + ""); // 源站 wrkMast.setStaNo(param.getOutSite() + ""); // 目标站 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setBarcode(locMast.getBarcode()); wrkMast.setSourceLocNo(locNo); // 源库位 wrkMast.setFullPlt("N"); // 满板:Y wrkMast.setPicking("N"); // 拣料