From c4c837df24c9880c6a3cd68a2f2ee500634e1705 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 27 九月 2023 09:04:06 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 170 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c693737..e4f6bc6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -241,6 +241,22 @@
String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
+ } else if (code == 1000){
+ if (inSta.getStaNo().equals(103)){
+ staProtocol.setWorkNo((short)9996);
+ staProtocol.setStaNo((short)203);
+ }else {
+ staProtocol.setWorkNo((short)9996);
+ staProtocol.setStaNo((short)103);
+ }
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+ // led 寮傚父鏄剧ず
+ if (ledThread != null) {
+ String errorMsg = barcode + "闇�瑕佹崲鍏ュ簱绔欍�傜洰鏍囩珯锛�"+staProtocol.getStaNo();
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
}
} catch (Exception e) {
e.printStackTrace();
@@ -387,12 +403,17 @@
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
staProtocol.setStaNo(staNo);
devpThread.setPakMk(staProtocol.getSiteId(), false);
- BasDevp basDevp = basDevpMapper.selectByDevNo(300);
- basDevp.setWrkNo1(wrkMast.getWrkNo());
- basDevpService.selectById(basDevp);
+ if (staProtocol.getStaNo().equals(300)){
+ BasDevp basDevp = basDevpMapper.selectByDevNo(300);
+ basDevp.setWrkNo1(wrkMast.getWrkNo());
+ basDevpService.selectById(basDevp);
+ News.info("300绔欏幓鍏ュ簱绔欎换鍔′笅鍙戯紝鏇存柊绔欑偣琛紝[浠诲姟鍙�:{}锛岀珯鐐瑰彿:{}]", wrkMast.getWrkNo().shortValue(), staNo);
+ }
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ } else {
+ News.info("300绔欏幓鍏ュ簱绔欎换鍔″凡涓嬪彂锛孾浠诲姟鍙�:{}锛岀珯鐐瑰彿:{}]", wrkMast.getWrkNo().shortValue(), staNo);
}
}
}
@@ -569,6 +590,11 @@
staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
+ if (staProtocol.getStaNo().equals(300)){
+ BasDevp basDevp = basDevpMapper.selectByDevNo(300);
+ basDevp.setWrkNo1(wrkMast.getWrkNo());
+ basDevpService.selectById(basDevp);
+ }
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
@@ -948,10 +974,16 @@
continue;
}
- // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏銆乆搴撲綅杩涜鏍¢獙
+ // 鍏ュ簱娣卞簱浣嶆槸鍚︽湁闈濬銆丏銆乆搴撲綅杩涜鏍¢獙 锛� Q銆丳銆丷銆丼锛�
if (wrkMastMapper.selectShallowLoc(Integer.parseInt(wrkMast.getLocNo().substring(0, 2)),Integer.parseInt(wrkMast.getLocNo().substring(2, 5)),Integer.parseInt(wrkMast.getLocNo().substring(5, 7)))!=null){
- continue;
+ //妫�鏌ュ叆搴撳簱浣嶆槸鍚︽槸鍦ㄥ爢鍨涙満杈瑰簱浣�
+ ArrayList<Integer> outLoc = new ArrayList<>();
+ outLoc.add(3);outLoc.add(4);outLoc.add(11);outLoc.add(12);outLoc.add(18);outLoc.add(19);
+ if (!outLoc.contains(Integer.parseInt(wrkMast.getLocNo().substring(0, 2)))) {
+ continue;
+ }
}
+
//鍔犲己鍒ゆ柇锛屽彧瑕佸瓨鍦ㄧЩ搴撲换鍔★紝璇存槑鍑哄簱浠诲姟鏈畬鍏ㄧ粨鏉燂紝涓嶆墽琛屽叆搴撲换鍔�
WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
@@ -1231,6 +1263,17 @@
continue;
}
+ /*
+ * 100銆�200瀛樺湪杩涜涓殑鐩樼偣浠诲姟锛屽垯涓嶆墽琛岀洏鐐逛换鍔�
+ * */
+ if (wrkMast.getIoType().equals(107)){
+ Integer countPan = wrkMastMapper.selectWrkStsAndIoType107Count(wrkMast.getSourceStaNo());
+ if (countPan!=0){
+ News.error("MainServiceImpl locToCrnStn 1271琛�"+"鐩樼偣鍑哄簱璺宠繃锛屽瓨鍦ㄨ繘琛屼腑鍙兘鍫靛浠诲姟鏁皗}涓�",countPan);
+ continue;
+ }
+ }
+
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
@@ -1337,13 +1380,11 @@
}else {
waitWrkMast.setIoPri(9999d);
}
- if(wrkMast.getIoPri()>=9000.0){
- wrkMast.setIoPri(9999d);
- }else if (wrkMast.getIoPri()>20.0){
- wrkMast.setIoPri(wrkMast.getIoPri()-10.0);
- }else {
- wrkMast.setIoPri(13.0d);
- }
+// if (wrkMast.getIoPri()>23.0){
+// wrkMast.setIoPri(wrkMast.getIoPri()-10.0);
+// }else {
+ wrkMast.setIoPri(15.0d);
+// }
if (wrkMastMapper.updateById(wrkMast)==0){
News.error("璋冩暣浼樺厛绾уけ璐�");
}
@@ -4365,6 +4406,75 @@
break;
}
LocMast loc = null;
+
+ if(shallowLoc.getLocType2() == 3){ //浣庨娣风洿鎺ュ嚭搴�
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ Date now = new Date();
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬侊細 101.鍏ㄦ澘鍑哄簱
+ wrkMast.setIoPri((double) 9999);
+ wrkMast.setCrnNo(crn.getId());
+ wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
+ if (shallowLoc.getCrnNo()==1){
+ wrkMast.setStaNo(100);
+ wrkMast.setSourceStaNo(108);
+ }else if (shallowLoc.getCrnNo()==2){
+ wrkMast.setStaNo(100);
+ wrkMast.setSourceStaNo(104);
+ }else {
+ wrkMast.setStaNo(200);
+ wrkMast.setSourceStaNo(208);
+ }
+
+
+// wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt("Y"); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
+ wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ int res = wrkMastMapper.insert(wrkMast);
+ if (res == 0) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ if (shallowLoc.getLocSts().equals("F")) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) {
+ shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ shallowLoc.setModiTime(now);
+ if (!locMastService.updateById(shallowLoc)) {
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+ }
+
+ return;
+ }
+
List<LocMast> locs = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no",crn.getId())
.eq("loc_type1",shallowLoc.getLocType1())
.eq("loc_type2",shallowLoc.getLocType2())
@@ -4400,7 +4510,7 @@
if (null == loc) {
News.error("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
-// return;
+ return;
// throw new CoolException("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
}
@@ -4531,4 +4641,51 @@
}
}
+ public synchronized void automaticallyTurnOffCharging() {
+ // 鑾峰彇褰撳墠鏃堕棿鎴�
+ long timestamp = System.currentTimeMillis();
+ Date date = new Date(timestamp);
+ TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
+ java.util.Calendar calendar = java.util.Calendar.getInstance(timeZone);
+ calendar.setTime(date);
+ int hour = calendar.get(java.util.Calendar.HOUR_OF_DAY);
+ if (hour>8 && hour<18){
+ for (SteSlave ste : slaveProperties.getSte()) {
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ BasSte basSte = basSteService.selectById(ste.getId());
+ if (Cools.isEmpty(steProtocol, basSte)) { continue; }
+ try{
+ // 鍦ㄧ嚎 绌洪棽 鏃犱綔涓氭爣璁� 涓嶅湪鍏呯數
+ if (steProtocol.getMode() == 0
+ || !steProtocol.statusType.equals(SteStatusType.IDLE)
+ || basSte.getPakMk().equals("Y")
+ || steProtocol.getChargeStatus() == 0
+ ) {
+ continue;
+ }
+ if (!steProtocol.isEnable()) {
+ continue;
+ }
+ if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
+ WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue());
+ if (wrkCharge == null) {
+ if (steProtocol.getChargeStatus() == 1){
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.CLOSE_CHARGE);
+ if (!MessageQueue.offer(SlaveType.Ste, ste.getId(), new Task(2, steCommand))) {
+ News.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", ste.getId(), JSON.toJSON(steCommand));
+ }
+ }
+ }
+ }
+ }catch (Exception e){
+ News.error("鑷姩鍏抽棴鍏呯數鍑洪敊锛岃仈绯荤鐞嗗憳锛�"+hour+"鐐�;"+ste.getId()+"鍙峰皬杞�;");
+ }
+ }
+ }
+ }
+
}
--
Gitblit v1.9.1