| src/main/java/com/zy/api/controller/HmesApiController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/api/service/HmesApiService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/api/controller/HmesApiController.java
@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import java.util.Objects; @@ -82,13 +83,14 @@ * 获取机台及对应工位冻结情况 * @author Ryan * @date 2026/3/20 11:06 * @param devNo 机台号,不传则查询全部 * @return com.core.common.R */ // @ManagerAuth @ApiOperation("获取机台及对应工位冻结情况") @GetMapping("/work/freeze/status") public R getDeviceFreezeStatus() { return hmesApiService.getDeviceFreezeStatus(); public R getDeviceFreezeStatus(@RequestParam(required = false) String devNo) { return hmesApiService.getDeviceFreezeStatus(devNo); } /** src/main/java/com/zy/api/service/HmesApiService.java
@@ -11,7 +11,7 @@ R releaseLock(ReceviceTaskParams params); R getDeviceFreezeStatus(); R getDeviceFreezeStatus(String devNo); R backLoc(HmesBackLocParams params); } src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
@@ -251,18 +251,34 @@ } @Override public R getDeviceFreezeStatus() { List<BasDevice> devices = basDeviceService.selectList(new EntityWrapper<BasDevice>() .eq("status", 1) .orderBy("dev_no", true)); public R getDeviceFreezeStatus(String devNo) { EntityWrapper<BasDevice> deviceWrapper = new EntityWrapper<>(); deviceWrapper.eq("status", 1); deviceWrapper.orderBy("dev_no", true); if (!Cools.isEmpty(devNo)) { deviceWrapper.eq("dev_no", devNo.trim()); } List<BasDevice> devices = basDeviceService.selectList(deviceWrapper); if (Cools.isEmpty(devices)) { if (!Cools.isEmpty(devNo)) { return R.error("机台[" + devNo + "]不存在或已禁用"); } return R.ok(Collections.emptyList()); } List<LocAroundBind> binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>() .orderBy("dev_no", true) .orderBy("order_no", true) .orderBy("id", true)); Set<String> deviceTypes = devices.stream() .map(BasDevice::getType) .filter(type -> !Cools.isEmpty(type)) .collect(Collectors.toCollection(LinkedHashSet::new)); EntityWrapper<LocAroundBind> bindWrapper = new EntityWrapper<>(); bindWrapper.orderBy("dev_no", true); bindWrapper.orderBy("order_no", true); bindWrapper.orderBy("id", true); if (!Cools.isEmpty(deviceTypes)) { bindWrapper.in("dev_no", deviceTypes); } List<LocAroundBind> binds = locAroundBindService.selectList(bindWrapper); Map<String, List<LocAroundBind>> bindMap = new HashMap<>(); if (!Cools.isEmpty(binds)) { bindMap = binds.stream() src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -322,10 +322,25 @@ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>() .eq("zpallet", mast.getBarcode()) .eq("loc_no", mast.getSourceLocNo())); if (Objects.isNull(locDetl)) { WrkDetl mainWrkDetl = null; if (Objects.isNull(locDetl) && !Cools.isEmpty(mast.getWrkCode())) { mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() .eq("wrk_no", mast.getWrkCode()) .eq("zpallet", mast.getBarcode())); if (Objects.isNull(mainWrkDetl)) { mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() .eq("wrk_no", mast.getWrkCode())); } if (!Objects.isNull(mainWrkDetl)) { log.info("locDetl为空,回退查询主任务明细,wrkNo={}, mainWrkNo={}, barcode={}", mast.getWrkNo(), mast.getWrkCode(), mast.getBarcode()); } } if (Objects.isNull(locDetl) && Objects.isNull(mainWrkDetl)) { throw new CoolException("明细数据不存在!!"); } Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDetl.getMatnr())); String matnrNo = Objects.isNull(locDetl) ? mainWrkDetl.getMatnr() : locDetl.getMatnr(); Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnrNo)); if (Objects.isNull(matnr)) { throw new CoolException("物料基础信息不存在!!"); } @@ -333,9 +348,15 @@ Double val = Math.round((weight - matnr.getSafeQty()) * 10000) / 10000.0; if (val.compareTo(0.0) > 0) { WrkDetl wrkDetl = new WrkDetl(); BeanUtils.copyProperties(locDetl, wrkDetl); if (Objects.isNull(locDetl)) { BeanUtils.copyProperties(mainWrkDetl, wrkDetl); wrkDetl.setStockQty(Cools.isEmpty(mainWrkDetl.getStockQty()) ? mainWrkDetl.getAnfme() : mainWrkDetl.getStockQty()); wrkDetl.setZpallet(mast.getBarcode()); } else { BeanUtils.copyProperties(locDetl, wrkDetl); wrkDetl.setStockQty(locDetl.getAnfme()); } wrkDetl.setWrkNo(mast.getWrkNo()); wrkDetl.setStockQty(locDetl.getAnfme()); wrkDetl.setIoTime(new Date()); wrkDetl.setWeight(weight); wrkDetl.setIoTime(mast.getIoTime());