From b1dfb711a89033765eccf16e536a90edbd4b8f1f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 02 二月 2026 08:42:31 +0800
Subject: [PATCH] 空桶入库最上面只放208
---
src/main/java/com/zy/service/impl/MainServiceImpl.java | 69 ++++++++++++++++++++++++++--------
1 files changed, 52 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index e4c1ad4..a7a47b8 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -107,6 +107,7 @@
crnOutSiteToRgvSite.put(1093, (short) 1091);crnOutSiteToRgvSite.put(1099, (short) 1097);crnOutSiteToRgvSite.put(1107, (short) 1105);
+ crnOutSiteToRgvSite2.put(1093, (short) 1091);crnOutSiteToRgvSite2.put(1099, (short) 1097);crnOutSiteToRgvSite2.put(1107, (short) 1105);
crnOutSiteToRgvSite2.put(1087, (short) 1089);crnOutSiteToRgvSite2.put(1084, (short) 1086);crnOutSiteToRgvSite2.put(1081, (short) 1083);
crnOutSiteToRgvSite2.put(1043, (short) 1041);crnOutSiteToRgvSite2.put(1016, (short) 1018);crnOutSiteToRgvSite2.put(1008, (short) 1006);
}
@@ -325,7 +326,7 @@
/**
* 缃愯绾胯妗舵暟閲忓噺灏�
*/
- private void decreaseWantBucketCount(int site, int decrease) throws InterruptedException {
+ private synchronized void decreaseWantBucketCount(int site, int decrease) throws InterruptedException {
int siteNew;
switch (site) {
@@ -362,6 +363,7 @@
}
log.info("鑷姩鍑虹┖妗跺噺灏戠綈瑁呯嚎瑕佹《鏁版垚鍔燂紝绔欑偣锛歿}锛屽噺灏戝墠锛歿}锛屽噺灏戞暟锛歿}锛屽墿浣欒妗舵暟锛歿}", site, count, decrease, remaining);
+ Thread.sleep(700);
}
/**
@@ -844,10 +846,16 @@
WrkMast wrkMast1050 = wrkMastMapper.selectPakInStep2(4, workNo1050);
// 鍒ゆ柇1050娌℃湁琚爢鍨涙満鍙栵紝骞朵笖娌℃湁灏炬嫋淇″彿
if(wrkMast1050 != null && wrkMast1050.getCtnType() != 1) {
+ WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
+ String model = wrkDetl.getModel();
// 鍒ゆ柇杩欎袱涓揣鏄笉鏄竴绉嶇被鍨嬶紝涓嶆槸缁�1050鍒嗛厤搴撲綅锛岀粰灏炬嫋鏍囪瘑锛屾槸鍒欑粰涓や釜璐у垎閰嶅簱浣�
if(wrkMast1050.getPdcType().equals(wrkMast1049.getPdcType())) {
// 鍙栨柊搴撲綅缁勭殑绗竴涓簱浣�
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O"));
+ Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O");
+ if (model.equals("IBC")) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L
+ wrapper.ne("lev1", 11);
+ }
+ List<LocMast> locMasts = locMastService.selectList(wrapper);
List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 9 || locMast1.getRow1() == 11).collect(Collectors.toList());
List<LocMast> collect1 = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 10 || locMast1.getRow1() == 12).collect(Collectors.toList());
if (collect.size() <= 0 && collect1.size() <= 0) {
@@ -866,8 +874,7 @@
News.error("绔欑偣:{},浠诲姟鍙穥}锛氬叆搴撶┖妗跺簱鏃犲搴旂┖绌烘《缁�",1050,workNo1050);
return true;
}
- WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
- if (wrkDetl.getModel().equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L锛屽簱浣嶅墿浣欓噺涓嶅鏃讹紝濡傛灉鏄�208L妗跺叆搴擄紝鍒欏厛浠庢渶椤跺眰鏀�
+ if (model.equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L锛屽簱浣嶅墿浣欓噺涓嶅鏃讹紝濡傛灉鏄�208L妗跺叆搴擄紝鍒欏厛浠庢渶椤跺眰鏀�
locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).reversed().thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
} else {
locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
@@ -903,7 +910,11 @@
}
} else {
// 鍙栨柊搴撲綅缁勭殑绗竴涓簱浣�
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O"));
+ Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O");
+ if (model.equals("IBC")) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L
+ wrapper.ne("lev1", 11);
+ }
+ List<LocMast> locMasts = locMastService.selectList(wrapper);
List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 9 || locMast1.getRow1() == 11).collect(Collectors.toList());
List<LocMast> collect1 = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 10 || locMast1.getRow1() == 12).collect(Collectors.toList()); // 绗竴涓厛鏀捐繖涓ゆ帓
if (collect.size() <= 0 && collect1.size() <= 0) {
@@ -922,8 +933,7 @@
News.error("绔欑偣:{},浠诲姟鍙穥}锛氬叆搴撶┖妗跺簱鏃犲搴旂┖绌烘《缁�",1050,workNo1050);
return true;
}
- WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
- if (wrkDetl.getModel().equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L锛屽簱浣嶅墿浣欓噺涓嶅鏃讹紝濡傛灉鏄�208L妗跺叆搴擄紝鍒欏厛浠庢渶椤跺眰鏀�
+ if (model.equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 鏈�涓婇潰涓�灞傚彧鑳芥斁208L锛屽簱浣嶅墿浣欓噺涓嶅鏃讹紝濡傛灉鏄�208L妗跺叆搴擄紝鍒欏厛浠庢渶椤跺眰鏀�
locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).reversed().thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
} else {
locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
@@ -1338,6 +1348,7 @@
wrkMast.setWorkNoOther(0); // 娓呯┖鍙︿竴涓换鍔″彿
// 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
if (wrkMastMapper.updateById(wrkMast) > 0) {
+ log.info("{}鍙峰爢鍨涙満浠诲姟瀹屾垚锛岀敵璇峰浣嶏紝浠诲姟鍙凤細{}",crnProtocol.getCrnNo(),crnProtocol.getTaskNo());
// 鍫嗗灈鏈哄浣�
News.warnNoLog(""+mark+" - 2"+" - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}",crnThread.getCrnProtocol().getCrnNo());
crnThread.setResetFlag(true);
@@ -1353,6 +1364,10 @@
* 鍫嗗灈鏈哄洖鍘熺偣
*/
public synchronized void originGo() throws InterruptedException {
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoHome").eq("status", 1));
+ if (config == null || Cools.isEmpty(config.getValue()) || !config.getValue().equals("Y")) {
+ return;
+ }
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -1407,7 +1422,7 @@
basCrnpService.updateById(basCrnp); // 璁剧疆鏇存柊鏃堕棿锛岄伩鍏嶉噸澶嶄笅鍙戝洖鍘熺偣
log.info("{}鍙峰爢鍨涙満鍥炲師鐐逛换鍔′笅鍙戞垚鍔燂細{}", crn.getId(), JSON.toJSON(crnCommand));
}
- Thread.sleep(3000);
+ Thread.sleep(4000);
}
}
}
@@ -1787,6 +1802,11 @@
matDto.setWeight(wrkDetl1.getWeight());
matDto.setGrossWeight(wrkDetl1.getManLength());
ledCommand.getMatDtos().add(matDto);
+ } else {
+ // 鍏ュ簱绌烘墭鐩橈紝寮傚父鍘诲紓甯稿彛鏄剧ず鎶ヨ淇℃伅,缁欑┖宸ヤ綔鏄庣粏
+ if(wrkMast.getIoType() == 3) {
+ ledCommand.getMatDtos().add(matDto);
+ }
}
// 璁㈠崟
// if(wrkDetl1 != null && !Cools.isEmpty(wrkDetl1.getOrderNo())) {
@@ -2209,7 +2229,8 @@
wrkMast.setWrkSts(15L);
wrkMast.setModiTime(new Date());
wrkMastService.updateById(wrkMast);
- } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 || wrkMast.getStaNo() == 1024)) {
+ } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035
+ || wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016|| wrkMast.getStaNo() == 1043)) {
if(wrkMast.getWrkSts() != 2 ){
log.warn("rgv鏀捐揣瀹屾垚110锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
continue;
@@ -2270,7 +2291,7 @@
// log.info("寮傚父鍙e叆搴撳叆搴撶洰鏍囩珯鐐瑰凡鍒嗛厤:{}", wrkMast.getStaNo());
return;
}
-
+ log.info("寮傚父鍙e叆搴撹姹倃ms鍓�,浠诲姟鍙凤細{}锛屼换鍔$姸鎬侊細{}",wrkMast.getWrkNo(), wrkMast.getWrkSts());
try {
CanningLineInLocParam param = new CanningLineInLocParam();
param.setWrkNo(staProtocol.getWorkNo());
@@ -2286,7 +2307,7 @@
log.info("寮傚父鍙e叆搴撹姹倃ms鍘熷杩斿洖锛�" + response);
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
- log.error("寮傚父鍙e叆搴撹姹傛帴鍙f垚鍔熷父锛寀rl:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
+ log.info("寮傚父鍙e叆搴撹姹傛帴鍙f垚鍔燂紝url:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
} else {
log.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紝url:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
News.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
@@ -2313,13 +2334,17 @@
}
// 绔欑偣鏉′欢鍒ゆ柇
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0 && staProtocol.isHigh()) {
if(site == 1019 && staProtocol.getHideWorkNo() != 0) {
WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getHideWorkNo()));
if(wrkMast1 != null && wrkMast1.getWrkSts() != 15) {
News.warn("绌烘墭鍑哄簱鏈畬鎴愶紝鏃犳硶杞┖鎵樺叆搴撲换鍔★紝浠诲姟鍙�:{}锛屽綋鍓嶇姸鎬�:{}",wrkMast1.getWrkNo(),wrkMast1.getWrkSts());
continue;
}
+ }
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 10).eq("source_sta_no", site));
+ if (count >= 2) {
+ News.warn("闄愬埗{}绌烘瘝鎵樺彔鐩樺叆搴撴暟灏忎簬2锛屽綋鍓嶏細{}", site, count);
}
try {
SearchLocParam param = new SearchLocParam();
@@ -2671,7 +2696,7 @@
// 鏍规嵁缃愯绾垮弽棣堜换鍔″彿鏌ヨ宸ヤ綔妗�
WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWrkNo());
if(wrkMast == null) {
- log.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。涓嶅瓨鍦�:{}",staProtocol.getWrkNo());
+ News.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。涓嶅瓨鍦�:{}",staProtocol.getWrkNo());
continue;
} else if(wrkMast.getWrkSts() != 2) {
log.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。鐘舵�佸紓甯革紝涓嶄负2:{}",staProtocol.getWrkNo());
@@ -2747,10 +2772,15 @@
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() != 0) {
// 鏌ヨ宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectByWrkNo(staProtocol.getWorkNo());
- if (wrkMast != null && wrkMast.getWhsType() == null && wrkMast.getIoType() != 120) {
+ if (wrkMast != null && wrkMast.getWhsType() == null) {
WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- staProtocol.setBucketType(wrkDetl.getMatnr());
- staProtocol.setBucketCount(wrkDetl.getAnfme().intValue());
+ if(wrkMast.getIoType() == 120) {
+ staProtocol.setBucketType("1");
+ staProtocol.setBucketCount(1);
+ } else {
+ staProtocol.setBucketType(wrkDetl.getMatnr());
+ staProtocol.setBucketCount(wrkDetl.getAnfme().intValue());
+ }
boolean result = MessageQueue.offer(SlaveType.Devp, inGzxSiteList.indexOf(site) + 4, new Task(4, staProtocol));
if (result) {
log.info("鍛婅瘔缃愯绾垮叆搴撴《淇℃伅鍛戒护闃熷垪鎺ㄩ�佹垚鍔燂細" + staProtocol.getWorkNo() + "," +"鎵樼洏鐮侊細" + wrkMast.getBarcode() +"锛�" + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount());
@@ -2817,7 +2847,7 @@
}
// 绔欑偣鏉′欢鍒ゆ柇
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
StaProtocol staProtocolNew = new StaProtocol();
staProtocolNew.setSiteId(staProtocol.getSiteId());
@@ -2825,6 +2855,11 @@
staProtocolNew.setStaNo(crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) != null ? crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) :wrkMast.getSourceStaNo().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocolNew));
+ Integer siteId = staProtocol.getSiteId();
+ if(siteId == 1081 || siteId == 1084 || siteId == 1087) {
+ staProtocol.setPlaceableFlag(1);
+ MessageQueue.offer(SlaveType.Devp, outGzxSiteList.indexOf(staProtocol.getSiteId()) + 4, new Task(5, staProtocol));
+ }
log.info("鎵嬪姩绔欎綅杞Щ杈撻�佺嚎涓嬪彂锛�" + staProtocolNew.getWorkNo() + "," + staProtocolNew.getSiteId() + "->" + staProtocolNew.getStaNo());
if (!result) {
News.errorNoLog("" + " - 1" + " - 鏇存柊plc绔欑偣淇℃伅澶辫触");
--
Gitblit v1.9.1