From 1a24bc85c7dbd80a4460ace64dd88846ff1af654 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期日, 03 十一月 2024 09:48:33 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkDetlMapper.xml | 6 ++ src/main/java/com/zy/asrs/entity/param/TagParam.java | 8 ++ src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 2 src/main/java/com/zy/asrs/service/WrkMastService.java | 4 + src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 + src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 5 + src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 3 + src/main/java/com/zy/common/web/WcsController.java | 66 ++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 70 +++++++++++++++++++++++ src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 10 files changed, 169 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/param/TagParam.java b/src/main/java/com/zy/asrs/entity/param/TagParam.java index ab87118..3e1256d 100644 --- a/src/main/java/com/zy/asrs/entity/param/TagParam.java +++ b/src/main/java/com/zy/asrs/entity/param/TagParam.java @@ -6,6 +6,10 @@ @Data public class TagParam { - private String parentTagName; - private String tagName; + private String ItemClassId; + private String ParentItemClassId; + private String Name; + private String SysActive; + private String ParentName; + } diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java index 15503d5..f44e1fb 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java @@ -28,4 +28,6 @@ List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo); int updateIoTimeWms(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime); + + int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime); } diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index efcec10..ae41072 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -30,4 +30,7 @@ List<WrkMast> selectToShuttleTask(); List<WrkMast> selectToShuttleOutTask(); + + @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}") + int saveWrkDetlLog(Integer workNo); } diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java index 4239172..7eeaf83 100644 --- a/src/main/java/com/zy/asrs/service/WrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java @@ -24,4 +24,6 @@ List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo); boolean updateIoTimeWms(Integer workNo, Date ioTime); + + boolean updateIoTime(Integer workNo, Date ioTime); } diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java index faa3ebe..ae749a8 100644 --- a/src/main/java/com/zy/asrs/service/WrkMastService.java +++ b/src/main/java/com/zy/asrs/service/WrkMastService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.WrkMast; +import org.apache.ibatis.annotations.Insert; import java.util.List; @@ -30,4 +31,7 @@ List<WrkMast> selectToShuttleTask(); List<WrkMast> selectToShuttleOutTask(); + + @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}") + int saveWrkDetlLog(Integer workNo); } 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 f042c12..a828246 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -637,5 +637,75 @@ @Transactional public void syncTag(List<TagParam> param) { + param.forEach(tag-> { + // 鍒嗙被 + Long tagId; + Date now = new Date(); + if (Cools.isEmpty(tag.getParentItemClassId())){ + Tag priTag = tagService.selectByName("鍏ㄩ儴", 1); + + // 浜岀骇鍒嗙被 + Tag secTag = tagService.selectByName(tag.getName(), 2); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + tag.getName(), // 鍚嶇О + priTag.getId(), // 鐖剁骇 + priTag.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + tag.getItemClassId() // 澶囨敞 + ); + if (tagMapper.insert(secTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + }else { + Tag priTag =tagService.selectOne(new EntityWrapper<Tag>().eq("memo", tag.getParentItemClassId())); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + tag.getParentName(), // 鍚嶇О + top.getId(), // 鐖剁骇 + top.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + tag.getParentItemClassId() // 澶囨敞 + ); + if (tagMapper.insert(priTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + } + }); } } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index 9b15e6d..968b9b6 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -88,4 +88,9 @@ public boolean updateIoTimeWms(Integer workNo, Date ioTime) { return this.baseMapper.updateIoTimeWms(workNo, ioTime) > 0; } + + @Override + public boolean updateIoTime(Integer workNo, Date ioTime) { + return this.baseMapper.updateIoTime(workNo, ioTime) > 0; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java index 6d0f9e9..dbd5dd3 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java @@ -70,4 +70,9 @@ public List<WrkMast> selectToShuttleOutTask() { return this.baseMapper.selectToShuttleOutTask(); } + + @Override + public int saveWrkDetlLog(Integer workNo) { + return this.baseMapper.saveWrkDetlLog(workNo); + } } diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 2b419c8..afa1f5d 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @@ -53,6 +54,71 @@ @Autowired private StaDescService staDescService; + @PostMapping + @Transactional + public synchronized R getLocNo3(@RequestBody SearchLocParam param){ + log.info("鏀跺埌WCS鎷f枡鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); + if (Cools.isEmpty(wrkMast)){ + return R.error("鏈壘鍒颁换鍔�"); + } + StartupDto dto = null; + // 鑾峰彇鐩爣绔� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", wrkMast.getIoType() - 50) + .eq("stn_no", 31002) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)){ + return R.error("鏈壘鍒扮珯鐐硅矾寰�"); + } + if (wrkMast.getWrkSts() == 14 && wrkMast.getIoType() == 103){ + try { + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (wrkMastService.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); + } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (wrkMastService.saveWrkMastLog(wrkMast.getWrkNo()) == 0) { + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + } + + Date now = new Date(); + // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) + Integer staNo = staDesc.getCrnStn(); + // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� + wrkMast.setIoTime(now); + wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57 + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 + wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯 + wrkMast.setStaNo(staNo); // 鐩爣绔� + wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� + wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� + wrkMast.setModiTime(now); + if (wrkMastService.updateById(wrkMast)) { + throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); + } + // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級 + wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now); + // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + locMast.setLocSts("Q"); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�"); + } + dto.setWorkNo(wrkMast.getWrkNo()); + dto.setLocNo(wrkMast.getLocNo()); + return R.ok(dto); + } catch (Exception e) { + return R.error(e.getMessage()); + } + }else { + + } + return R.error(); + } + @PostMapping("/pakin2/loc/v1") @ResponseBody @Transactional diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index e99d6bf..ca46fff 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -101,6 +101,12 @@ where 1=1 and wrk_no = #{workNo} </update> + <update id="updateIoTime"> + update asr_wrk_detl + set io_time = #{ioTime} + where 1=1 + and wrk_no = #{workNo} + </update> <select id="selectPakoutQuery" resultMap="BaseResultMap"> select -- Gitblit v1.9.1