From 8c47919d892aaeb00cdef1b408c88a09113a6213 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期一, 15 七月 2024 21:46:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 124 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 115 insertions(+), 9 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 bb8ab74..cb828b8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4483,6 +4483,84 @@
}
}
+ /*
+ * 鍫嗗灈鏈哄彇璐ц嚦宸ヤ綅浠诲姟
+ * */
+ public synchronized boolean crnExecuteTakeFullPair(Integer crnNo,WrkMastSplitTwin wrkMastSplitTwinOne,WrkMastSplitTwin wrkMastSplitTwinTwo, Integer crnStation){
+ try{
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommandParam crnCommandParam = new CrnCommandParam();
+ crnCommandParam.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommandParam.setTaskNo(wrkMastSplitTwinOne.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX(wrkMastSplitTwinOne.getStartRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY(wrkMastSplitTwinOne.getStartBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ(wrkMastSplitTwinOne.getStartLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+
+ crnCommandParam.setTaskNo2(wrkMastSplitTwinTwo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode2(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX2(wrkMastSplitTwinTwo.getStartRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY2(wrkMastSplitTwinTwo.getStartBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ2(wrkMastSplitTwinTwo.getStartLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX2((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY2((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ2((short)0); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, crnCommandParam.getCrnNo(), new Task(9, crnCommandParam))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnCommandParam.getCrnNo(), JSON.toJSONString(crnCommandParam));
+ return false;
+ } else {
+ return true;
+ }
+ }catch (Exception e){
+ return false;
+ }
+ }
+
+ /*
+ * 鍫嗗灈鏈烘斁璐ц揣鑷冲嚭搴撶珯鐐逛换鍔�
+ * */
+ public synchronized boolean crnExecutePutFullPair(Integer crnNo,WrkMastSplitTwin wrkMastSplitTwinOne,WrkMastSplitTwin wrkMastSplitTwinTwo, Integer crnStation){
+ try{
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommandParam crnCommandParam = new CrnCommandParam();
+ crnCommandParam.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommandParam.setTaskNo(wrkMastSplitTwinOne.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode(CrnTaskModeType.SEPARATE_PUT); // 浠诲姟妯″紡: 鍗曟斁璐�
+ crnCommandParam.setSourcePosX((short)0); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY((short)0); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX(wrkMastSplitTwinOne.getEndRow().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY(wrkMastSplitTwinOne.getEndBay().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ(wrkMastSplitTwinOne.getEndLev().shortValue()); // 鐩爣搴撲綅灞�
+
+ crnCommandParam.setTaskNo2(wrkMastSplitTwinTwo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode2(CrnTaskModeType.SEPARATE_PUT); // 浠诲姟妯″紡: 鍗曟斁璐�
+ crnCommandParam.setSourcePosX2((short)0); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY2((short)0); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ2((short)0); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX2(wrkMastSplitTwinTwo.getEndRow().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY2(wrkMastSplitTwinTwo.getEndBay().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ2(wrkMastSplitTwinTwo.getEndLev().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, crnCommandParam.getCrnNo(), new Task(9, crnCommandParam))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnCommandParam.getCrnNo(), JSON.toJSONString(crnCommandParam));
+ return false;
+ } else {
+ return true;
+ }
+ }catch (Exception e){
+ return false;
+ }
+ }
+
/**
* Jar浠诲姟鍒涘缓 鍒濆 //瀹屾垚
*/
@@ -7460,6 +7538,9 @@
BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+ jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
//B==>A
if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),11,1})){
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
@@ -7512,6 +7593,9 @@
BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+ jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
//C==>B
if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),8,1})){
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
@@ -7579,6 +7663,8 @@
if (wrkMastExecuteService.selectMoveStart(steSlave.getId())!=0){
continue;
}
+ } else {
+ continue;
}
try{
@@ -7590,6 +7676,9 @@
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
BasJarMast basJarMast = new BasJarMast(basJar);
basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
}
@@ -7632,6 +7721,9 @@
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
BasJarMast basJarMast = new BasJarMast(basJar);
basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
}
@@ -7661,27 +7753,41 @@
if (steProtocol == null || steProtocol.getChargeStatus()!=1) {
continue;
}
- WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
- if (!Cools.isEmpty(wrkMastExecuteByCharge)){
- continue;
- }
- if (steProtocol.getCharge()>50.0F){
- if (wrkMastExecuteService.selectNoStart(steSlave.getId())==0){
+ if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
+ } else if (steProtocol.getCharge()>50.0F){
+ if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
continue;
}
}
- } else if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
} else {
continue;
}
+ WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
+ if (Cools.isEmpty(wrkMastExecuteByCharge)){
+ BasJar basJar = basJarMapper.selectById(steSlave.getId()==1? 1:3);
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+ BasJarMast basJarMast = new BasJarMast(basJar);
+ basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
+ wrkMastExecuteByCharge = new WrkMastExecute(basJarMast);
+ wrkMastExecuteByCharge.setJarId(basJar.getJarNo());
+ wrkMastExecuteByCharge.setSteId(steSlave.getId());//绌挎鏉縄D
+ wrkMastExecuteByCharge.setRgvId(basJar.getEnterRgvNo());//RGV ID enter
+ wrkMastExecuteByCharge.setRgvEndId(basJar.getOutRgvNo());//RGV ID out
+ wrkMastExecuteByCharge.setIoType(100);//浠诲姟绫诲瀷 0: 鏈煡 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 5: 鍏ョ~鍖栫綈 6: 鍏ュ喎鍗存Ы 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� 9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A 100:灏忚溅鍏呯數浠诲姟
+ wrkMastExecuteByCharge.setType(1);//璁惧 0: 鏈煡 1: 纭寲缃� 2: 鍐峰嵈妲� 3: 纭寲缃�==>鍐峰嵈妲�
+ }
+
try{
- if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.MOVING,true)){
+ if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.CHARGE,true)){
//瀹屾垚鍏呯數浠诲姟
//璋冭溅 == > 鏂紑鍏呯數
- if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,false,wrkMastExecuteByCharge.getJarId())){
+ if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,true,wrkMastExecuteByCharge.getJarId())){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
}
--
Gitblit v1.9.1