From 57e7846403cd3c72cc70e17e205c4e0d8b3aa404 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 04 十一月 2025 10:10:53 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 10 +++++
src/main/resources/mapper/LocMastMapper.xml | 26 +++++++++++++
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 5 ++
src/main/java/com/zy/common/web/WcsController.java | 2
src/main/java/com/zy/asrs/service/LocMastService.java | 4 ++
src/main/java/com/zy/common/service/CommonService.java | 62 ++++++++++++++++++++++++++++--
6 files changed, 102 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 147075a..b20d55e 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -12,7 +12,6 @@
@Mapper
@Repository
public interface LocMastMapper extends BaseMapper<LocMast> {
-
LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1);
@Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
@@ -47,4 +46,8 @@
LocMast selectLocByLocStsPakInO2(@Param("locNos") List<String> locNos);
LocMast selectByBarcode(@Param("zpallet")String zpallet);
+
+ LocMast queryLocToOne(Short locType2);
+
+ LocMast queryLocToTwo(Short locType2);
}
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 170263e..1bfcb56 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -52,4 +52,8 @@
LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos);
LocMast selectByBarcode(String zpallet);
+
+ LocMast queryLocToOne(Short locType2);
+
+ LocMast queryLocToTwo(Short locType2);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index da0787a..62ca66e 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -71,6 +71,16 @@
}
@Override
+ public LocMast queryLocToOne(Short locType2) {
+ return this.baseMapper.queryLocToOne(locType2);
+ }
+
+ @Override
+ public LocMast queryLocToTwo(Short locType2) {
+ return this.baseMapper.queryLocToTwo(locType2);
+ }
+
+ @Override
public Boolean checkWhole(List<LocDetl> locDetls) {
return null;
}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e249b28..3950ae3 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -119,7 +119,7 @@
@Transactional
public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) {
whsType = Utils.GetWhsType(sourceStaNo);
- return getLocNo(whsType, staDescId, sourceStaNo, matnr, batch, grade, 0, locTypeDto, 0);
+ return getLocNoToOne(whsType, staDescId, sourceStaNo, matnr, batch, grade, 0, locTypeDto, 0);
}
/**
@@ -152,15 +152,15 @@
StartupDto startupDto = new StartupDto();
RowLastno rowLastno = rowLastnoService.selectById(whsType);
- int sRow = rowLastno.getsRow();
- int eRow = rowLastno.geteRow();
- int crnNumber = rowLastno.getCrnQty();
+ int sRow = rowLastno.getsRow(); //璧峰鎺掑彿
+ int eRow = rowLastno.geteRow(); //缁堟鎺掑彿
+ int crnNumber = rowLastno.getCrnQty(); //鍫嗗灈鏈烘暟閲�
if (Cools.isEmpty(rowLastno)) {
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
}
// ===============>>>> 寮�濮嬫墽琛�
- curRow = rowLastno.getCurrentRow();
+ curRow = rowLastno.getCurrentRow(); //褰撳墠鎺掑彿
if (!Cools.isEmpty(moveCrnNo) && moveCrnNo != 0) {
crnNumber = moveCrnNo;
@@ -377,4 +377,56 @@
startupDto.setLocNo(locNo);
return startupDto;
}
+
+ /*闀囨睙鎭掔珛鍗曚几绔嬪簱閫昏緫*/
+ @Transactional
+ public StartupDto getLocNoToOne(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
+ //鐩爣搴撲綅
+ LocMast locMast = null;
+ //1鍙峰贩閬� 3绉嶆墭鐩樼被鍨�
+ if (locTypeDto.getLocType2()==4||locTypeDto.getLocType2()==5||locTypeDto.getLocType2()==6){
+ locMast=locMastService.queryLocToOne(locTypeDto.getLocType2());
+ }else if (locTypeDto.getLocType2()==7||locTypeDto.getLocType2()==8){
+ //2鍙峰贩閬� 2绉嶇被鍨嬫墭鐩�
+ locMast=locMastService.queryLocToTwo(locTypeDto.getLocType2());
+ }else {
+ throw new CoolException("涓嶅瓨鍦ㄨ搴撲綅绫诲瀷:"+locTypeDto.getLocType2());
+ }
+ if (locMast == null){
+ throw new CoolException("鍏ュ簱娌℃湁绌哄簱浣�");
+ }
+
+ //鍫嗗灈鏈哄彿
+ Integer crnNo = locMast.getCrnNo();
+
+ //鑾峰彇鐩爣绔�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", staDescId)
+ .eq("stn_no", sourceStaNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)){
+ log.error("鍏ュ簱璺緞涓嶅瓨鍦�,staDesc={},sourceStaNo={},crnNo={}",1,staDescId,crnNo);
+ throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ }
+
+ //妫�娴嬬洰鏍囩珯
+ BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+ if (!staNo.getAutoing().equals("Y")){
+ throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+ }
+
+ //鐢熸垚宸ヤ綔鍙�
+ int workNo = getWorkNo(0);
+
+ //杩斿洖dto
+ StartupDto startupDto =new StartupDto();
+ startupDto.setWorkNo(workNo);
+ startupDto.setLocNo(locMast.getLocNo());
+ startupDto.setStaNo(staNo.getDevNo());
+ startupDto.setCrnNo(crnNo);
+ startupDto.setSourceStaNo(sourceStaNo);
+ return startupDto;
+ }
+
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index b81d26b..b525134 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -118,7 +118,7 @@
}else if (param.getBarcode().startsWith("8")){
locTypeDto.setLocType2((short) 8);
}else {
- throw new CoolException("鏉$爜瑙勫垯涓嶅瓨鍦�");
+ throw new CoolException("鏉$爜瑙勫垯涓嶅瓨鍦�:"+param.getBarcode());
}
StartupDto dto = null;
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 9a68082..da60f3c 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -120,4 +120,30 @@
SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE barcode = #{zpallet}
</select>
+ <select id="queryLocToOne" resultMap="BaseResultMap">
+ select top 1 loc_no as locNo,crn_no as crnNo from asr_loc_mast
+ where loc_status = 'O' and row1 in (1,2)
+ <if test="locType2 == 4">
+ and lev1 = 1
+ </if>
+ <if test="locType2 == 5">
+ and lev1 in(2,3)
+ </if>
+ <if test="locType2 == 6">
+ and lev1 in(4,5)
+ </if>
+ order by lev1 asc,bay1 asc
+ </select>
+
+ <select id="queryLocToTwo" resultMap="BaseResultMap">
+ select top 1 loc_no as locNo,crn_no as crnNo from asr_loc_mast
+ where loc_status = 'O' and row1 in (3,4)
+ <if test="locType2 == 7">
+ and lev1 in(1,2)
+ </if>
+ <if test="locType2 == 8">
+ and lev1 in(3,4,5,6)
+ </if>
+ order by lev1 asc,bay1 asc
+ </select>
</mapper>
--
Gitblit v1.9.1