From 33cb8b070c31a96bc514d07e3d1d9f6514a057d9 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期一, 29 七月 2024 10:50:56 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 142 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 129 insertions(+), 13 deletions(-)
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 e7b11bc..e6dc36b 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -11,9 +11,11 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
+import com.zy.asrs.entity.vo.JarMastTableVo;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.BareBoardHandler;
import com.zy.asrs.utils.CodeDetectionUtil;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.PostMesDataUtils;
@@ -29,6 +31,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
import java.util.Date;
@@ -83,6 +86,12 @@
private LocMastService locMastService;
@Autowired
private WorkService workService;
+ @Autowired
+ private BareBoardHandler bareBoardHandler;
+ @Autowired
+ private BasJarMastService basJarMastService;
+ @Autowired
+ private BasCrnpService basCrnpService;
@Override
@Transactional
@@ -1070,6 +1079,9 @@
} else if (param.getType()==3){//鐩翠緵浜х嚎
smallContainersSta(param);
}
+// else if (param.getType()==99){//搴撳唴渚涗骇绾� //鍑哄簱 娴嬭瘯
+// smallContainersBig99(param);
+// }
} catch (Exception e){
throw new CoolException("澶辫触锛侊紒锛佸師鍥狅細"+e.getMessage());
}
@@ -1190,6 +1202,34 @@
throw new CoolException("鍝佸彿 matnr,閲嶉噺鑼冨洿鍋忕Щ鍊间负绌猴紒锛侊紒,璇峰厛涓嬪彂鍩虹妗f锛侊紒锛�");
}
+ ArrayList<Integer> crns =new ArrayList<>();
+ ArrayList<Integer> crnList =new ArrayList<>();
+
+ crns.add(1);crns.add(2);crns.add(3);crns.add(4);crns.add(5);crns.add(6);crns.add(7);
+
+ for (Integer crnNo : crns){
+ // 妫�娴嬭矾寰�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 101)
+ .eq("stn_no", param.getDevNo())
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)){
+ continue;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(crnNo);
+ if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){
+ continue;
+ }
+ if (!basCrnpService.checkSiteError(crnNo, false)){
+ continue;
+ }
+ crnList.add(crnNo);
+ }
+
+ if (crnList.isEmpty()){
+ throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
+ }
ArrayList<LocDetl> locDetlArrayList = new ArrayList<>();
Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight());
@@ -1205,14 +1245,12 @@
for (LocDetl locDetl:locDetls){
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
if (locMast.getLocSts().equals("F")){
- if (locDetlArrayList.size()<param.getBatchNum()) {//涓�
- locDetlArrayList.add(locDetl);
+ if (crnList.contains(locMast.getCrnNo())){
+ if (locDetlArrayList.size()<param.getBatchNum()) {//涓�
+ locDetlArrayList.add(locDetl);
+ }
}
}
- }
-
- if (locDetlArrayList.isEmpty()){
- throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight());
}
Integer batchNum = param.getBatchNum();
@@ -1233,8 +1271,10 @@
for (LocDetl locDetl:locDetls){
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
if (locMast.getLocSts().equals("F")){
- if (locDetlArrayList.size()<batchNum) {//涓�
- locDetlArrayList.add(locDetl);
+ if (crnList.contains(locMast.getCrnNo())){
+ if (locDetlArrayList.size()<batchNum) {//涓�
+ locDetlArrayList.add(locDetl);
+ }
}
}
}
@@ -1257,24 +1297,37 @@
for (LocDetl locDetl:locDetls){
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
if (locMast.getLocSts().equals("F")){
- if (locDetlArrayList.size()<batchNum) {//涓�
- locDetlArrayList.add(locDetl);
+ if (crnList.contains(locMast.getCrnNo())){
+ if (locDetlArrayList.size()<batchNum) {//涓�
+ locDetlArrayList.add(locDetl);
+ }
}
}
}
}
-
+ if (locDetlArrayList.isEmpty()){
+ throw new CoolException("鏈壘鍒扮鍚堟潯浠剁殑鐗╂枡鏄庣粏锛氬搧鍙�==銆媘atnr:"+param.getMatnr()+"锛涢噸閲�==銆媤right:"+param.getWeight());
+ }
if (locDetlArrayList.size()<batchNum){
throw new CoolException("搴撳瓨鏁伴噺:"+locDetlArrayList.size()+"锛涘皬浜庨渶姹傛暟閲�:"+param.getBatchNum());
}
+
+ ArrayList<LocDetl> locDetlArraySou = new ArrayList<>();
+
for (LocDetl locDetl : locDetlArrayList){
if (batchNum <= 0){
return;
}
- StockOutParam stockOutParam = new StockOutParam(param,locDetl);
- workService.startupFullTakeStore(stockOutParam, userId);
+ locDetlArraySou.add(locDetl);
batchNum --;
}
+ try{
+ StockOutParam stockOutParam = new StockOutParam(param,locDetlArraySou);
+ workService.startupFullTakeStore(stockOutParam, userId);
+ } catch (Exception e){
+ throw new CoolException("鐢熸垚鍑哄簱浠诲姟澶辫触:鍑哄簱鏁伴噺锛�"+locDetlArraySou.size());
+ }
+
}
public void smallContainersJar(SmallCompleteParam param) {
@@ -1460,5 +1513,68 @@
}
}
+ /*
+ * 鍑哄簱
+ * 鐩翠緵浜х嚎
+ * */
+ public void smallContainersBig99(SmallCompleteParam param) {//鐩翠緵浜х嚎//鍑哄簱
+ Long userId = 7777L;//mes
+ //鍒ゆ柇param鍙傛暟
+ if (Cools.isEmpty(param.getType())){
+ throw new CoolException("鍙傛暟锛氱被鍨� type涓虹┖");
+// }else if (Cools.isEmpty(param.getStaNo())){
+// throw new CoolException("鍙傛暟锛氭姇鏂欑偣浣� staNo涓虹┖");
+ }else if (Cools.isEmpty(param.getDevNo())){
+ throw new CoolException("鍙傛暟锛氫骇绾跨偣浣� devNo涓虹┖");
+ }else if (Cools.isEmpty(param.getMatnr())){
+ throw new CoolException("鍙傛暟锛氬搧鍙� matnr涓虹┖");
+ }else if (Cools.isEmpty(param.getWeight())){
+ throw new CoolException("鍙傛暟锛氱墿鏂欓噸閲� wright涓虹┖");
+ }else if (Cools.isEmpty(param.getBatchNum())){
+ throw new CoolException("鍙傛暟锛氬嚭搴撴暟閲� batchNum涓虹┖");
+ }
+ Integer devNo = param.getDevNo();
+ Integer batchNum = param.getBatchNum();
+
+
+ for (int i =0;i<batchNum;i++){
+ bareBoardHandler.startYx(devNo,99);
+ }
+ }
+
+ /*
+ * 鑾峰彇纭寲缃愪换鍔′俊鎭� //
+ * */
+ @Override
+ @Transactional
+ public List<JarMastTableVo> getJatIdList(Integer id) {
+ List<BasJarMast> jarMasts = basJarMastService.selectList(new EntityWrapper<BasJarMast>().eq("jar_id", id));
+ if (Cools.isEmpty(jarMasts)){
+ return new ArrayList<JarMastTableVo>();
+ }
+ ArrayList<JarMastTableVo> jarMastTableVos = new ArrayList<>();
+ for (BasJarMast jarMast : jarMasts) {
+ JarMastTableVo jarMastTableVo = new JarMastTableVo();
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", jarMast.getWrkNo()));
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", jarMast.getWrkNo()));
+ if (wrkDetls.isEmpty()){
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetls.add(wrkDetl);
+ }
+ if (Cools.isEmpty(wrkMast) || Cools.isEmpty(wrkDetls)){
+ continue;
+ }
+ jarMastTableVo.setJarId(jarMast.getJarId());
+ jarMastTableVo.setJarWrkNo(jarMast.getWrkNo().toString());
+ jarMastTableVo.setStatus(jarMast.getStatus());
+ jarMastTableVo.setStatus$(jarMast.getStatus$());
+ jarMastTableVo.setMatnr(wrkDetls.get(0).getMatnr());
+ jarMastTableVo.setMaktx(wrkDetls.get(0).getMaktx());
+ jarMastTableVo.setWeight(wrkDetls.get(0).getWeight());
+ jarMastTableVos.add(jarMastTableVo);
+ }
+ return jarMastTableVos;
+ }
+
/*...........................浜冲窞鐓滄槦..............浠ヤ笂.............浜冲窞鐓滄槦...........................*/
}
--
Gitblit v1.9.1