From 89a2971d0a728641f1745ae7acb41b4800592a38 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期四, 06 二月 2025 07:53:42 +0800 Subject: [PATCH] 四期 --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 73 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index f286e4d..41dc775 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -4,11 +4,11 @@ import com.core.common.BaseRes; import com.core.common.Cools; import com.core.exception.CoolException; +import com.zy.asrs.constant.AsrsConstants; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CodeDetectionUtil; -import com.zy.asrs.utils.OrderUtils; import com.zy.common.model.DetlDto; import com.zy.common.service.AgvCommonService; import lombok.Synchronized; @@ -797,14 +797,8 @@ agvWrkMastLogService.save(agvWrkMast); agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); String sourceLocNo = agvWrkMast.getSourceLocNo(); - //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); - // TODO: 鍥涙湡 + AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); - String factory = null; - if (!Cools.isEmpty(agvWrkDetls)) { - factory = OrderUtils.getFactory(agvWrkDetls.get(0).getThreeCode()); - } - AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory); if (newLocMast == null) { throw new CoolException("鏃犲彲鐢ㄥ簱浣�"); } @@ -849,6 +843,77 @@ return "ok"; } + /* + * 纭鍔犲伐瀹屾垚 + */ + @Override + @Transactional + public String processedV2(AgvMobileStartPakin param, Long userId) { + Date now = new Date(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()).eq("loc_no", param.getDevNo())); + if (Cools.isEmpty(agvWrkMast)) { + throw new CoolException("鏆傛棤褰撳墠璐ф灦鐨勫伐浣滄。"); + } + if (agvWrkMast.getWrkSts() != 205) { + throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝璇风‘璁�"); + } + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� + agvWrkMastLogService.save(agvWrkMast); + agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); + String sourceLocNo = agvWrkMast.getSourceLocNo(); + // TODO: 鍥涙湡 + List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); + String factory = param.getFactory(); + AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory); + if (newLocMast == null) { + throw new CoolException("鏃犲彲鐢ㄥ簱浣�"); + } + agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo()); + agvWrkMast.setLocNo(newLocMast.getLocNo()); + agvWrkMast.setIoType(57); + agvWrkMast.setWrkSts(201L); + agvWrkMast.setModiUser(userId); + agvWrkMast.setModiTime(now); + agvWrkMast.setIoTime(now); + // 鎵撴爣璁帮紝鑻ュ簱浣嶄笉澶燂紝鍏ュ簱鍒板埆鐨勬ゼ灞傦紝閭d箞闇�瑕佽法灞傜Щ搴� + if (!Cools.isEmpty(factory)){ + if (newLocMast.getLev1() == 1 && factory.equals(AsrsConstants.SANCHANG)) { + agvWrkMast.setPacked("1"); + } else if (newLocMast.getLev1() == 2 && factory.equals(AsrsConstants.ERCHANG)) { + agvWrkMast.setPacked("1"); + } + } + if (!agvWrkMastService.update(agvWrkMast, new EntityWrapper<AgvWrkMast>().eq("wrk_no", agvWrkMast.getWrkNo()))) { + throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); + } + + // 鏇存柊婧愮珯鐐� + 鐩爣搴撲綅鐘舵�� + 鍘嗗彶婧愬簱浣� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(), "R", param.getBarcode(), agvWrkMast.getWhsType().shortValue()); + agvLocMastService.updateLocStsByLocNo(newLocMast.getLocNo(), "S", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue()); + agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30); + agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo)); + + agvWrkDetls.forEach(agvWrkDetl -> { + for (AgvWrkDetl wrkDetl : param.getWrkDetls()) { + if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) { + agvWrkDetl.setAnfme(wrkDetl.getAnfme()); + break; + } + } + agvWrkDetl.setProcessSts(2); + agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2)); + agvWrkDetl.setModiUser(userId); + agvWrkDetl.setModiTime(now); + agvWrkDetl.setIoTime(now); + if (!agvWrkDetlService.update(agvWrkDetl, new EntityWrapper<AgvWrkDetl>() + .eq("matnr", agvWrkDetl.getMatnr()) + .eq("three_code", agvWrkDetl.getThreeCode()) + .eq("supp_code", param.getBarcode()))) { + throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触"); + } + }); + return "ok"; + } /* * 绔欑偣鍥為�� -- Gitblit v1.9.1