From 5e26cbc65c02d0b2bfda731bdce5519057cf13e8 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 20 五月 2024 14:10:21 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/WrkDetlMapper.xml | 3 +
src/main/resources/AgvLocDetlMapper.xml | 2 +
src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java | 2 +
src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 91 +++++++++++++++++++++++++++++----------------
src/main/java/com/zy/asrs/service/AgvWrkDetlService.java | 2 +
6 files changed, 73 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
index 0fab304..be4a05b 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
@@ -31,4 +31,6 @@
int updateOrderNo(@Param("orderNo")String orderNo, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+ int updateWrkNo1(@Param("wrk_no")Integer wrkNo, @Param("supp_code")String barcode, @Param("matnr")String matnr, @Param("three_code")String threeCode);
+
}
diff --git a/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java b/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java
index 1c016dc..402da7b 100644
--- a/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java
@@ -24,6 +24,8 @@
boolean updateOrderNo(String orderNo, Integer wrkNo, String matnr, String batch);
+ boolean updateWrkNo1(Integer wrkNo, String barcode, String matnr, String threeCode);
+
boolean deleteByWrkNo(int wrkNo);
}
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 57ee21d..4fa0048 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.service.AgvCommonService;
+import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -454,56 +455,41 @@
*/
@Override
@Transactional
+ @Synchronized
public String allocationOut(AgvMobileStartPakin param, Long userId) {
Date now = new Date();
AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo()));
+ Integer oldWrkNo = agvWrkMast.getWrkNo();
if (Cools.isEmpty(agvWrkMast)) {
throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�");
}
+
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
agvWrkMastLogService.save(agvWrkMast);
agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
-
+ //鍒犻櫎AGV宸ヤ綔妗�
+ agvWrkMastService.deleteById(agvWrkMast);
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast mast = new AgvWrkMast();
- //宸ヤ綔鐘舵��
- mast.setWrkSts(210L);
- //鍏ュ嚭搴撶被鍨�
- mast.setIoType(111);
- mast.setIoTime(now);
- //浼樺厛绾�
- mast.setIoPri(300.0);
- //婧愮珯鐐�
- mast.setSourceLocNo("");
- //鐩爣绔欑偣
- mast.setLocNo("");
- //瀹瑰櫒缂栫爜
- mast.setBarcode(agvWrkMast.getBarcode());
- //瀹瑰櫒绫诲瀷
- mast.setWhsType(30);
- // 鐩爣妤煎眰
- mast.setPauseMk(agvWrkMast.getPauseMk());
- mast.setAppeUser(userId);
- mast.setAppeTime(now);
- mast.setModiUser(userId);
- mast.setModiTime(now);
- if (!agvWrkMastService.insertByIncrease(mast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
- }
+ AgvWrkMast wrkMast = createWrkMast(111, 210L, "", "", agvWrkMast.getBarcode(), now, userId, 30, agvWrkMast.getCrnNo());
// 鏇存柊宸ヤ綔鏄庣粏
- List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", agvWrkMast.getBarcode()));
for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
- agvWrkDetl.setWrkNo(mast.getWrkNo());
- if (!agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("supp_code", agvWrkMast.getBarcode()))) {
- throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触");
+ agvWrkDetl.setWrkNo(wrkMast.getWrkNo());
+ // 淇濇寔宸ヤ綔妗f槑缁�
+ agvWrkDetl.setWrkNo(wrkMast.getWrkNo());
+ agvWrkDetl.setModiUser(userId);
+ agvWrkDetl.setModiTime(now);
+ if (!agvWrkDetlService.insert(agvWrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
}
}
// 鏇存柊绔欑偣鐘舵��
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
// 鏇存柊婧愬簱浣嶇姸鎬�
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
- //鍒犻櫎AGV宸ヤ綔妗�
- agvWrkMastService.deleteById(agvWrkMast);
+
+ //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+ agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",oldWrkNo));
return "ok";
}
/*
@@ -514,8 +500,12 @@
public String allocationIn(AgvMobileStartPakin param, Long userId) {
Date now = new Date();
AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()));
+ AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(param.getDevNo());
if (Cools.isEmpty(agvWrkMast)) {
throw new CoolException("宸ヤ綔妗d腑娌℃湁姝よ揣鏋朵换鍔�");
+ }
+ if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) {
+ throw new CoolException("璇风Щ鍔ㄥ埌->" + agvWrkMast.getCrnNo() + "妤煎叆搴撶偣鍏ュ簱");
}
//宸ヤ綔鐘舵��
agvWrkMast.setWrkSts(211L);
@@ -540,4 +530,41 @@
agvLocMastService.updateById(locMast);
}
+ /*
+ 鐢熸垚宸ヤ綔妗�
+ */
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType,int floor){
+ AgvWrkMast wrkMast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ wrkMast.setWrkSts(wrkSts);
+ //鍏ュ嚭搴撶被鍨�
+ wrkMast.setIoType(ioType);
+ wrkMast.setIoTime(now);
+ //浼樺厛绾�
+ wrkMast.setIoPri(300.0);
+ //婧愮珯鐐�
+ wrkMast.setSourceLocNo(sourceLocNo);
+ //鐩爣绔欑偣
+ wrkMast.setLocNo(locNo);
+ //瀹瑰櫒缂栫爜
+ wrkMast.setBarcode(barcode);
+ //瀹瑰櫒绫诲瀷
+ wrkMast.setWhsType(containerType);
+ // 鐩爣妤煎眰
+ wrkMast.setCrnNo(floor);
+
+ wrkMast.setAppeUser(userId);
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+
+ if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false));
+
+ return wrkMast;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java
index c44a681..6ebfd9c 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java
@@ -91,6 +91,11 @@
}
@Override
+ public boolean updateWrkNo1(Integer wrkNo, String barcode, String matnr, String threeCode) {
+ return baseMapper.updateWrkNo1(wrkNo, barcode, matnr, threeCode) > 0;
+ }
+
+ @Override
public boolean deleteByWrkNo(int wrkNo) {
return this.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
}
diff --git a/src/main/resources/AgvLocDetlMapper.xml b/src/main/resources/AgvLocDetlMapper.xml
index 11728af..613c4d7 100644
--- a/src/main/resources/AgvLocDetlMapper.xml
+++ b/src/main/resources/AgvLocDetlMapper.xml
@@ -72,4 +72,6 @@
group by a.matnr
) b
</select>
+
+
</mapper>
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index a9a84f2..9a2421b 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -140,4 +140,7 @@
<include refid="batchSeq"></include>
</update>
+
+
+
</mapper>
--
Gitblit v1.9.1