From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期二, 08 七月 2025 08:32:32 +0800 Subject: [PATCH] 完善拣料转全板 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 164 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 143 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index e1c7b1b..4f423d8 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -7,10 +7,7 @@ import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.OpenOrderCompleteParam; -import com.zy.asrs.entity.param.OpenOrderPakinParam; -import com.zy.asrs.entity.param.OpenOrderPakoutParam; -import com.zy.asrs.entity.param.PackParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.mapper.TagMapper; @@ -18,6 +15,7 @@ import com.zy.asrs.utils.MatUtils; import com.zy.common.model.DetlDto; import com.zy.common.utils.NodeUtils; +import com.zy.common.utils.Synchro; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -280,31 +278,46 @@ } } } + @Override @Transactional - public void pickToFill( WrkMast wrkMast ){ + public void pickToFill(WrkMast wrkMast) { Date now = new Date(); wrkMast.setIoType(101); + wrkMast.setWrkSts(17L); wrkMast.setMemo("鎹℃枡杞叏鏉垮伐浣滄。"); - wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>() - .eq("wrk_no",wrkMast.getWrkNo())); - wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo()); + wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>() + .eq("wrk_no", wrkMast.getWrkNo())); + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo()); for (LocDetl locDetl : locDetls) { - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(locDetl); - wrkDetl.setWrkNo(wrkMast.getWrkNo()); - wrkDetl.setIoTime(wrkMast.getIoTime()); - wrkDetl.setZpallet(wrkDetl.getBarcode()); - wrkDetl.setBarcode(wrkMast.getBarcode()); - wrkDetl.setAppeTime(now); - wrkDetl.setModiTime(now); - wrkDetl.setAppeUser(1L); - wrkDetl.setModiUser(1L); - wrkDetl.setMatType(locDetl.getMatType()); - wrkDetlService.insert(wrkDetl); + double v = locDetl.getAnfme(); + boolean boo= true; + for(WrkDetl wrkDetl : wrkDetls) { + if(wrkDetl.getMatnr().equals(locDetl.getMatnr())&&wrkDetl.getBatch().equals(locDetl.getBatch())) { + v = locDetl.getAnfme() - wrkDetl.getAnfme(); + if(v == 0){ + boo = false; + } + } + } + if(boo){ + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setZpallet(wrkDetl.getBarcode()); + wrkDetl.setBarcode(wrkMast.getBarcode()); + wrkDetl.setAnfme(v); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkDetl.setAppeUser(1L); + wrkDetl.setModiUser(1L); + wrkDetl.setMatType(locDetl.getMatType()); + wrkDetlService.insert(wrkDetl); + } } - locMastService.updateLocSts(wrkMast.getSourceLocNo(),"R"); + locMastService.updateLocSts(wrkMast.getSourceLocNo(), "R"); } @@ -474,4 +487,113 @@ } } + @Override + @Transactional + public void syncMat(MatSyncParam param) { + if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <= 0) { + throw new CoolException("鍟嗗搧鏁版嵁涓虹┖"); + } + for (MatSyncParam.MatParam matParam : param.getMatDetails()) { + if (Cools.isEmpty(matParam.getMatnr())) { + throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖"); + } + if (Cools.isEmpty(matParam.getInoutEveryday())) { + throw new CoolException("鏄惁涓洪珮棰戝叆鍑哄簱鐗╂枡鏍囪瘑涓嶈兘涓虹┖"); + } + if (Cools.isEmpty(matParam.getMatType())) { + throw new CoolException("涓婃灦鍖哄煙涓嶈兘涓虹┖"); + } + Date now = new Date(); + Mat mat = matService.selectByMatnr(matParam.getMatnr()); + if (mat == null) { + mat = new Mat(); + // 鍒嗙被 + Long tagId; + // 涓�绾у垎绫� + if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { + Tag priTag = tagService.selectOne(new EntityWrapper<Tag>().eq("name", matParam.getGroupCode())); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + matParam.getGroupCode(), // 鍚嶇О + top.getId(), // 鐖剁骇 + top.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(priTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + // 浜岀骇鍒嗙被 + Tag secTag = tagService.selectByName(matParam.getGroupName(), 3); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + matParam.getGroupName(), // 鍚嶇О + priTag.getId(), // 鐖剁骇 + priTag.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 3, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(secTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + tagId = secTag.getId(); + } else { + tagId = tagService.getTop().getId(); + } + Synchro.Copy(matParam,mat); + + + mat.setTagId(tagId); + mat.setStatus(1); + mat.setCreateTime(now); + mat.setUpdateTime(now); + if (!matService.insert(mat)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } else { + log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + } + } else { + Synchro.Copy(matParam,mat); + if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { + throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); + } + } + } + + } } -- Gitblit v1.9.1