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