From 2c799e6d26c726e3943f24e61c84f7d562087cfc Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 26 六月 2025 10:20:12 +0800
Subject: [PATCH] #增加堆垛机12物料衔接类型
---
license.lic | 0
src/main/java/com/zy/asrs/entity/TransplantWork.java | 11 +++++
src/main/java/com/zy/asrs/service/WrkMastService.java | 2 +
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 5 ++
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 +
src/main/resources/mapper/WrkMastMapper.xml | 6 +++
src/main/java/com/zy/asrs/controller/MobileController.java | 8 ++++
src/main/java/com/zy/common/web/WcsController.java | 55 +++++++++++++++++++++++++--
9 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/license.lic b/license.lic
new file mode 100644
index 0000000..4966cf8
--- /dev/null
+++ b/license.lic
Binary files differ
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 42d7241..6115bfe 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -199,6 +199,14 @@
return R.ok("缁勬墭鎴愬姛");
}
+ @RequestMapping("/combAuto/auth")
+ @ManagerAuth(memo = "缁勬墭")
+ public R combAuto(@RequestBody CombParam combParam){
+// mobileService.comb(combParam, getUserId());
+ mobileService.comb(combParam, getUserId());
+ return R.ok("缁勬墭鎴愬姛");
+ }
+
@RequestMapping("/kitting/query/auth")
@ManagerAuth(memo = "榻愬鍏ュ簱鏌ヨ")
public R kittingQuery(@RequestBody CombParam combParam){
diff --git a/src/main/java/com/zy/asrs/entity/TransplantWork.java b/src/main/java/com/zy/asrs/entity/TransplantWork.java
new file mode 100644
index 0000000..ac53dfe
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/TransplantWork.java
@@ -0,0 +1,11 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+@Data
+public class TransplantWork {
+ private Integer workNo;
+ private String barcode;
+ private Integer sourceStaNo;
+ private Integer staNo;
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 8d0111e..f593fa3 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -21,6 +21,8 @@
@Select("select count(1) from asr_wrk_mast where 1=1 and io_type = #{ioType} and sta_no = #{staNo}")
int selectWrkMastBareBoardStaNo(Integer ioType,Integer staNo);
+ WrkMast selectWrkMast(Integer workNo,String barcode);
+
List<WrkMast> selectWrkMastWrkDetl(@Param("ioType") Integer ioType, @Param("matnr") String matnr , @Param("batch") String batch , @Param("brand") String brand
, @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3
, @Param("boxType1")String boxType1, @Param("boxType2")String boxType2, @Param("boxType3")String boxType3, @Param("crnNo") Integer crnNo);
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index 0329de3..258d5dc 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -27,4 +27,6 @@
List<WrkMast> selectWrkMastWrkDetl(Integer ioType, FindLocNoAttributeVo findLocNoAttributeVo, Integer crnNo);
+ WrkMast selectWrkMast(Integer workNo,String barcode);
+
}
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 d8ad458..9911553 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -58,4 +58,9 @@
,findLocNoAttributeVo.getBoxType1(),findLocNoAttributeVo.getBoxType2(),findLocNoAttributeVo.getBoxType3()
,crnNo);
}
+
+ @Override
+ public WrkMast selectWrkMast(Integer workNo, String barcode) {
+ return this.baseMapper.selectWrkMast(workNo, barcode);
+ }
}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 2ae05fb..c99b8ff 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -424,7 +424,7 @@
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
try {
- if (null == locMast) {
+ if (null == locMast && wrkMast.getIoType() !=12) {
// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -532,6 +532,9 @@
}
}
break;
+ //3鍙峰爢鍨涙満琛旀帴
+ case 12:
+ break;
default:
break;
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fd48d94..2869b5e 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -155,6 +155,53 @@
return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
}
+
+ @PostMapping("/auto/Transplanting/v1")
+ @ResponseBody
+ public R autoTransplanting(@RequestBody TransplantWork transplantWork){
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
+ if(wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()) == null){
+ return R.error("鏃犺鐩樼偣绉绘牻浠诲姟");
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo());
+ Date now = new Date();
+ int workNo = commonService.getWorkNo(2);
+
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L);
+ wrkMast.setIoPri(14D);
+ wrkMast.setIoType(12);
+ wrkMast.setCrnNo(3);
+ wrkMast.setBarcode(transplantWork.getBarcode());
+ wrkMast.setSourceStaNo(transplantWork.getSourceStaNo());
+ wrkMast.setStaNo(transplantWork.getStaNo());
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ wrkMast.setMemo("鑷姩3鍙峰爢鍨涙満绉绘牻");
+ for (WrkDetl item : wrkDetls) {
+ WrkDetl newDetl = new WrkDetl();
+ newDetl.sync(item); // 鍋囪 sync 鏄繁鎷疯礉灞炴��
+ newDetl.setWrkNo(wrkMast.getWrkNo());
+ newDetl.setIoTime(wrkMast.getIoTime());
+ newDetl.setAppeTime(now);
+ newDetl.setModiTime(now);
+ if (!wrkDetlService.insert(newDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ }
+ return wrkMastService.insert(wrkMast) ? R.ok("鑷姩3鍙峰爢鍨涙満绉绘牻鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩3鍙峰爢鍨涙満绉绘牻澶辫触");
+ }
+
/**
* 鍏ㄦ澘鍏ュ簱
*/
@@ -163,10 +210,10 @@
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
-// List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-// List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
- FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
+ List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
+ List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
+// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
int workNo = dto.getWorkNo();
Date now = new Date();
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 83c4cce..e9300ad 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -75,6 +75,12 @@
order by io_time,wrk_no asc
</select>
+ <select id="selectWrkMast" resultMap="BaseResultMap">
+ select top 1 *
+ from asr_wrk_mast
+ where wrk_no = #{workNo} and barcode = #{barcode}
+ </select>
+
<select id="selectWrkMastWrkDetl" resultMap="BaseResultMap">
select m.* from asr_wrk_mast m,asr_wrk_detl d
where 1=1
--
Gitblit v1.9.1