From b1fe5e3f3eed2e4cf20a1ca2871db3f3f6576f2d Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期五, 09 五月 2025 15:47:05 +0800 Subject: [PATCH] 初始化 --- src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 79 +++-- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 4 src/main/webapp/static/wcs/js/common.js | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 156 ++++++--- src/main/resources/mapper/LocMastMapper.xml | 4 src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java | 4 src/main/resources/application-prod.yml | 244 ++++++++++++++- src/main/java/com/zy/asrs/controller/CrnController.java | 12 pom.xml | 6 src/main/webapp/static/wms/js/common.js | 2 src/main/java/com/zy/core/thread/SiemensCrnThread.java | 2 src/main/webapp/static/wcs/js/console.map.js | 2 src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 src/main/java/com/zy/core/MainProcess.java | 16 src/main/java/com/zy/asrs/service/LocMastService.java | 2 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 335 ++++++++++----------- src/main/resources/application.yml | 6 17 files changed, 566 insertions(+), 312 deletions(-) diff --git a/pom.xml b/pom.xml index 1d02e2c..f8501f5 100644 --- a/pom.xml +++ b/pom.xml @@ -9,13 +9,13 @@ <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.zy</groupId> - <artifactId>jdzwcs</artifactId> + <artifactId>scwcs</artifactId> <version>1.0.0</version> <packaging>war</packaging> <properties> <java.version>1.8</java.version> - <cool.version>3.4.5</cool.version> + <cool.version>3.4.0</cool.version> <mysql-driver.version>5.1.47</mysql-driver.version> <mybatis-plus.version>2.3.2</mybatis-plus.version> <fastjson.version>1.2.58</fastjson.version> @@ -200,7 +200,7 @@ </dependencies> <build> - <finalName>jdzwcs</finalName> + <finalName>scwcs</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 2ee0692..dcdfe29 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -429,12 +429,12 @@ command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡 - command.setSourcePosZ(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosX(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosY(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞� + command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� // command.setCommand((short)1); LocMast sourceLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getSourcePosX()) .eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ())); diff --git a/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java b/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java index a0505a5..35f0690 100644 --- a/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java +++ b/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java @@ -10,4 +10,8 @@ private Integer WCSStatus=0; //閿欒淇℃伅 鍏蜂綋鐨勯敊璇俊鎭紙瓒呴珮锛岃秴閲嶇瓑锛� private String WCSErrorMessage=""; + //鏄惁婊℃澘 1婊℃澘 0绌烘澘 + private int StaType=1; + //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣� + private int LocType=0; } diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index d7f0f90..39505eb 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java @@ -30,7 +30,7 @@ LocMast queryDemoSourceLoc(@Param("crnNo") Integer crnNo); - LocMast queryDemoLoc(@Param("crnNo") Integer crnNo); + LocMast queryDemoLoc(@Param("crnNo") Integer crnNo,@Param("locType1") short locType1); @Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and loc_type1 = #{locType1} and crn_no = #{crnNo}") Integer selectEmptyLocCount(@Param("locType1") Short locType1, @Param("crnNo") Integer crnNo); diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java index 5e75f6b..e414ace 100644 --- a/src/main/java/com/zy/asrs/service/LocMastService.java +++ b/src/main/java/com/zy/asrs/service/LocMastService.java @@ -37,7 +37,7 @@ * @param crn * @return */ - LocMast queryDemoLoc(Integer crn); + LocMast queryDemoLoc(Integer crn,short locType1); /** * 妫�鏌ュ綋鍓嶅簱浣嶆墍灞炲贩閬撶殑绌哄簱浣嶆暟閲� 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 ef957cb..02b29ea 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -59,8 +59,8 @@ } @Override - public LocMast queryDemoLoc(Integer crn) { - return this.baseMapper.queryDemoLoc(crn); + public LocMast queryDemoLoc(Integer crn,short locType1) { + return this.baseMapper.queryDemoLoc(crn,locType1); } @Override 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 c270c19..43b8aaa 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -113,6 +113,70 @@ private CrnController crnController; @Autowired private SiteController siteController; + + /** + * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆 + */ + public synchronized void crnDemoOfLocMove1() { + try { + List <BasCrnp> basCrnps =basCrnpService.selectList(new EntityWrapper<BasCrnp>()); + for (BasCrnp crn : basCrnps) { + if (!crn.getEmpIn().equals("1")) { + continue; + } // 蹇呴』涓烘紨绀虹姸鎬� + + + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getCrnNo()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + continue; + } + + // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { + // 鑾峰彇绉诲簱宸ヤ綔妗d俊鎭� + WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getCrnNo()); + if (null != wrkMast) { + continue; + } + LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getCrnNo()); + + LocMast loc = locMastService.queryDemoLoc(crn.getCrnNo(),sourceLoc.getLocType1()); + if (null == sourceLoc || null == loc) { + continue; + } + String sourceLocNo = sourceLoc.getLocNo(); + String locNo = loc.getLocNo(); + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 淇濆瓨宸ヤ綔妗� + TaskWrk taskWrk = new TaskWrk(); + taskWrk.setWrkNo(workNo); + taskWrk.setTaskNo(workNo+"");//浠诲姟鍙� + taskWrk.setWrkSts(11); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + taskWrk.setIoType(3); // 鍏ュ嚭搴撶姸鎬侊細 3.搴撴牸绉昏浇 + taskWrk.setIoPri(13); + taskWrk.setCrnNo(crn.getCrnNo()); + taskWrk.setStartPoint(sourceLocNo);//璧风偣 + taskWrk.setTargetPoint(locNo); + taskWrk.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + taskWrk.setModiTime(new Date()); + int res = taskWrkMapper.insert(taskWrk); + if (res == 0) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + }else { + loc.setCtnKind(1); + locMastService.updateById(loc); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + + @Synchronized public void shiftTargetToCyclePoint() throws IOException, InterruptedException { try { @@ -164,7 +228,7 @@ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol5)); } } else { - if(staProtocol.isLoading() && (staProtocol.getStaNo() == 105 || staProtocol.getStaNo() == 110 || staProtocol.getStaNo() == 111)){ + if (staProtocol.isLoading() && (staProtocol.getStaNo() == 105 || staProtocol.getStaNo() == 110 || staProtocol.getStaNo() == 111)) { short workNo = staProtocol.getWorkNo(); staProtocol.setWorkNo(workNo); staProtocol.setStaNo((short) 112); @@ -221,9 +285,6 @@ } - - - public synchronized void generateStoreWrkFile1() throws IOException, InterruptedException { try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 @@ -276,7 +337,7 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && workNo >= 9790 + && workNo >= 9990 && staProtocol.isPakMk()) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); @@ -303,6 +364,10 @@ } log.info("缁勬墭鍏ュ簱={}", storageEscalationParam); storageEscalationParam.setBoxNo(BoxNo); + //鏄惁婊℃澘 1婊℃澘 0绌烘澘 + storageEscalationParam.setStaType(staProtocol.isEmptyMk()? 0:1); + //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣� + storageEscalationParam.setLocType(staProtocol.isHigh()? 1:0); String response = ""; Boolean success = false; try { @@ -313,20 +378,13 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if(back){ - if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){ - staProtocol.setStaNo((short)105); - } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) { - staProtocol.setStaNo((short)107); - }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) { - staProtocol.setStaNo((short)109); - }else if (staProtocol.getWorkNo()>=9876 && staProtocol.getWorkNo() <= 9900){ - staProtocol.setStaNo((short)110); - } + if (back) { + staProtocol.setWorkNo((short) 9991); + staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - }else{ - if (!Cools.isEmpty(response)&&!Cools.isEmpty(jsonObject.get("ReturnStatus"))&&jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { + } else { + if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) { Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); // 鍒涙柊涓�涓叆搴撳伐浣滄。 TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()); @@ -342,7 +400,7 @@ staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("TaskNo",taskWrk.getTaskNo()); + hashMap.put("TaskNo", taskWrk.getTaskNo()); try { //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS response = new HttpHandler.Builder() @@ -353,7 +411,7 @@ .doPost(); JSONObject jsonObject1 = JSON.parseObject(response); Boolean bool = false; - if(jsonObject1.get("ReturnStatus").equals(0)){ + if (jsonObject1.get("ReturnStatus").equals(0)) { taskWrk.setStatus(2);//娲惧彂浠诲姟 bool = true; taskWrkService.updateById(taskWrk); @@ -371,22 +429,14 @@ } } } else { -// staProtocol.setWorkNo((short) 9991); - if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){ - staProtocol.setStaNo((short)105); - } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) { - staProtocol.setStaNo((short)107); - }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) { - staProtocol.setStaNo((short)109); - }else{ - staProtocol.setStaNo((short)110); - } + staProtocol.setWorkNo((short) 9991); + staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } else { -// staProtocol.setWorkNo((short) 9991); + staProtocol.setWorkNo((short) 9991); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -876,7 +926,7 @@ crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� crnCommand.setCommand((short) 1); - log.info("鍫嗗灈鏈哄叆搴撲换鍔′笅鍙�={}",crnCommand); + log.info("鍫嗗灈鏈哄叆搴撲换鍔′笅鍙�={}", crnCommand); if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); @@ -896,7 +946,7 @@ * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴� */ - public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { + public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null); if (taskWrksInitial.size() == 0) { return; @@ -916,24 +966,24 @@ continue; } - LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); + LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); //鍒ゆ柇鍏跺簱浣嶆槸鍚︿负娣卞簱浣嶏紝濡傛灉涓烘繁搴撲綅鎵惧叾娴呭簱浣嶆槸閮芥湁璐� - if(locMast.getRow1()==1||locMast.getRow1()==5){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()+1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); + if (locMast.getRow1() == 1 || locMast.getRow1() == 5) { + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("row1", (locMast.getRow1() + 1)) + .eq("bay1", locMast.getBay1()) + .eq("lev1", locMast.getLev1()).eq("loc_sts", "F")); + if (!Cools.isEmpty(locMast1)) { + log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); continue; } - }else if(locMast.getRow1()==4||locMast.getRow1()==8){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()-1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); + } else if (locMast.getRow1() == 4 || locMast.getRow1() == 8) { + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("row1", (locMast.getRow1() - 1)) + .eq("bay1", locMast.getBay1()) + .eq("lev1", locMast.getLev1()).eq("loc_sts", "F")); + if (!Cools.isEmpty(locMast1)) { + log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); continue; } } @@ -964,8 +1014,8 @@ break; } int storeCount = basDevpService.getStoreCount(); - if(storeCount >= maxCount){ - log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount); + if (storeCount >= maxCount) { + log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}", storeCount); break; } @@ -1104,7 +1154,7 @@ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } String response = ""; - Boolean bool=false; + Boolean bool = false; HashMap<String, Object> headParam = new HashMap<>(); headParam.put("TaskNo", taskWrk.getTaskNo()); try { @@ -1116,7 +1166,7 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if(jsonObject.get("ReturnStatus").equals(0)){ + if (jsonObject.get("ReturnStatus").equals(0)) { bool = true; taskWrk.setStatus(2); taskWrkMapper.updateById(taskWrk); @@ -1125,7 +1175,7 @@ } catch (Exception e) { log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk); // throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触"); - }finally { + } finally { apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms" , wmsUrl + taskStatusFeedbackPath , null @@ -1216,7 +1266,7 @@ crnOperatorParam.setCrnNo(crn.getId()); R r = crnController.crnTaskComplete(crnOperatorParam); Thread.sleep(1000); - if(!r.get("code").equals(200)){ + if (!r.get("code").equals(200)) { return; } if (!Cools.isEmpty(taskWrk)) { diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index 1e53034..65e39cd 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -11,7 +11,10 @@ import com.zy.asrs.service.*; import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; import com.zy.asrs.utils.PostMesDataUtils; +import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -57,30 +60,15 @@ private String TaskExecCallback; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; + @Autowired + private ConfigService configService; @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { - HashMap<String, Object> headParam = new HashMap<>(); - if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚 - headParam.put("Result", 1); - } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { - headParam.put("Result", 2); - } - String response = ""; - Boolean bool = false; - try { - headParam.put("TaskNo", taskWrk.getTaskNo()); - log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(TaskExecCallback) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); + Config config =configService.selectByCode("ysms"); + if(config.getValue().equals("Y")&&taskWrk.getIoType()==3){ TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); if (!wrkLogService.insert(taskWrkLog)) { throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); @@ -88,19 +76,48 @@ if (!taskWrkService.deleteById(taskWrk)) { throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); } - bool = true; - } catch (Exception e) { - log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); - } finally { - apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms" - , wmsUrl + TaskExecCallback - , null - , "127.0.0.1" - , JSON.toJSONString(headParam) - , response - , bool - ); + }else{ + HashMap<String, Object> headParam = new HashMap<>(); + if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚 + headParam.put("Result", 1); + } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { + headParam.put("Result", 2); + } + String response = ""; + Boolean bool = false; + try { + headParam.put("TaskNo", taskWrk.getTaskNo()); + log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(TaskExecCallback) + .setJson(JSON.toJSONString(headParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); + if (!wrkLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + bool = true; + } catch (Exception e) { + log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); + } finally { + apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms" + , wmsUrl + TaskExecCallback + , null + , "127.0.0.1" + , JSON.toJSONString(headParam) + , response + , bool + ); + } } + } } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index d600b5f..99398a8 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -47,7 +47,7 @@ } // 婕旂ず -// mainService.crnDemoOfLocMove1(); + mainService.crnDemoOfLocMove1(); // 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。 mainService.generateStoreWrkFile1(); // 缁勬墭 // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 @@ -68,13 +68,13 @@ //鐜舰寰幆鍑芥暟 // mainService.shiftTargetToCyclePoint(); // mainService.shiftCyclePointToTarget(); - i++; - if (i > 2) { - //鐜舰寰幆鍑芥暟 - mainService.shiftTargetToCyclePoint(); - mainService.shiftCyclePointToTarget(); - i = 0; - } +// i++; +// if (i > 2) { +// //鐜舰寰幆鍑芥暟 +// mainService.shiftTargetToCyclePoint(); +// mainService.shiftCyclePointToTarget(); +// i = 0; +// } //鑷姩娲惧彂浠诲姟 // mainService.autoDistribute(); diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index 37ca98b..2701a91 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -192,7 +192,7 @@ - OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); + OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); // 澶嶄綅淇″彿 if (crnProtocol.getTaskFinish() == 0) { diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 0fa8c85..edb52c5 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -49,32 +49,72 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); private short heartBeatVal = 1; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ - add(100);add(101);add(102);add(103);add(104); - add(105);add(106);add(107);add(108);add(109); - add(110);add(111);add(112);add(113);add(114); - add(115);add(116);add(117);add(118);add(119); - add(120);add(121);add(122);add(123);add(124); - add(125);add(1001);add(1002);add(1003);add(1004); + add(1001); + add(1002); + add(1003); + add(1004); + add(1005); + add(1010); + add(1006); + add(1007); + add(1008); + add(1009); + add(1011); + add(1012); + add(1013); + add(1014); + add(1015); + add(1016); + add(1017); + add(1018); + add(1019); + add(1020); + + }}; - /*public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ - add(200);add(201);add(202);add(203); - add(204);add(205);add(206);add(207); - add(208);add(209);add(210);add(211); - add(212);add(213);add(214);add(215); - add(216);add(217);add(218);add(219); - add(220);add(221);add(222);add(223); - add(224);add(225);add(226);add(227); - add(228);add(229);add(230);add(231); - add(232);add(233);add(234);add(235); + public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ + add(2001); + add(2002); + add(2003); + add(2004); + add(2005); + add(2006); + add(2007); + add(2008); + add(2009); + add(2010); + add(2011); + add(2012); + add(2013); + add(2014); + add(2015); + add(2016); + add(2017); + add(2018); + add(2019); + }}; public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{ - add(300);add(301);add(302);add(303); - add(304);add(305);add(306);add(307); + add(1051); + add(1052); + add(1053); + add(1054); + add(1055); + add(1056); + add(1057); + add(1058); }}; public static final ArrayList<Integer> staNos4 = new ArrayList<Integer>() {{ - add(400);add(401);add(402);add(403); - add(404);add(405);add(406);add(407); - }};*/ + add(2051); + add(2052); + add(2053); + add(2054); + add(2055); + add(2056); + add(2057); + add(2058); + + }}; /** * 鏉$爜鏁伴噺 @@ -90,17 +130,18 @@ * 4.鍑哄簱妯″紡 */ public IoModeType ioModeOf2F = IoModeType.NONE; -// public IoModeType ioMode = IoModeType.NONE; + + // public IoModeType ioMode = IoModeType.NONE; private ArrayList<Integer> getStaNo() { switch (slave.getId()) { case 1: return staNos1; - /*case 2: + case 2: return staNos2; case 3: return staNos3; case 4: - return staNos4;*/ + return staNos4; default: throw new CoolException("鏈嶅姟鍣ㄥ紓甯�"); } @@ -128,12 +169,12 @@ break; // 鍐欐暟鎹� ID+鐩爣绔� case 2: - write((StaProtocol)task.getData()); + write((StaProtocol) task.getData()); read(); break; // 鍐欐暟鎹� ID+鐩爣绔� case 4: - writeCycle((StaProtocol)task.getData()); + writeCycle((StaProtocol) task.getData()); read(); break; /* case 3: @@ -187,12 +228,12 @@ siemensS7Net.setRack(slave.getRack().byteValue()); siemensS7Net.setSlot(slave.getSlot().byteValue()); OperateResult connect = siemensS7Net.ConnectServer(); - if(connect.IsSuccess){ + if (connect.IsSuccess) { result = true; - OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); log.info("杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } else { - OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); log.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); // DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); // deviceErrorService.addDeviceError("devp", slave.getId(), "杈撻�佺嚎plc杩炴帴澶辫触"); @@ -210,7 +251,7 @@ // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); + OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -220,11 +261,11 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, i*8)); // 宸ヤ綔鍙� + staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8)); // 宸ヤ綔鍙� - staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*8 + 4)); // 鐩爣绔� + staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4)); // 鐩爣绔� - boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); + boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 2); staProtocol.setAutoing(status[0]); // 鑷姩 staProtocol.setLoading(status[1]); // 鏈夌墿 staProtocol.setInEnable(status[2]); // 鍙叆 @@ -240,90 +281,38 @@ } } -// OperateResultExOne<byte[]> resultAgvAndPlc = siemensS7Net.Read("DB102.0", (short) 30); -// if (resultAgvAndPlc.IsSuccess) { -// for (int i = 0; i < staNoSize; i++) { -// int sign =(i+2)/2-1; -// if ((i+2)%2!=0){ -// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 -// StaProtocol staProtocol = station.get(siteId); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(siteId); -// station.put(siteId, staProtocol); -// } -// staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6+4)); // 鍏佽鍙栬揣 -// staProtocol.setAgvStartPlace((short)0); // 鍏佽鏀捐揣 -// continue; -// } -// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 -// StaProtocol staProtocol = station.get(siteId); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(siteId); -// station.put(siteId, staProtocol); -// } -// staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6)); // 鍏佽鍙栬揣 -// staProtocol.setAgvStartPlace(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6 + 2)); // 鍏佽鏀捐揣 -// } -// } - -// OperateResultExOne<byte[]> resultAgvAndPlcOk = siemensS7Net.Read("DB132.0", (short) 30); -// if (resultAgvAndPlcOk.IsSuccess) { -// for (int i = 0; i < staNoSize; i++) { -// int sign =(i+2)/2-1; -// if ((i+2)%2!=0){ -// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 -// StaProtocol staProtocol = station.get(siteId); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(siteId); -// station.put(siteId, staProtocol); -// } -// staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6+4)); // 鍏佽鍙栬揣 -// staProtocol.setAgvTargetPlace((short)0); // 鍏佽鏀捐揣 -// continue; -// } -// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 -// StaProtocol staProtocol = station.get(siteId); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(siteId); -// station.put(siteId, staProtocol); -// } -// try{ -// staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6)); // 鍙栬揣瀹屾垚 -// if (staProtocol.getAgvTargetPick()!=0){ -// System.out.println(staProtocol.getAgvTargetPick()); -// } -// staProtocol.setAgvTargetPlace(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6 + 2)); // 鏀捐揣瀹屾垚 -// if (staProtocol.getAgvTargetPlace()!=0){ -// System.out.println(staProtocol.getAgvTargetPlace()); -// } -// }catch (Exception e){ -// log.error(""+e); -// } -// } -// } - - - if (slave.getId() == 1) { - //鏉$爜 - //Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.848.0", (short) 8); - if (result2.IsSuccess) { - for (int i = 0; i < 1; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); - if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { - barcodeThread.setBarcode(barcode); - } + //鏉$爜 + Thread.sleep(200); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0", (short) 8); + if (result2.IsSuccess) { + for (int i = 0; i < 1; i++) { + String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); + if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { + barcodeThread.setBarcode(barcode); } } + } - //澶栧舰妫�娴� - OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.810.0", (short) (barcodeSize*1)); - StaProtocol staProtocol1 = station.get(116); + //澶栧舰妫�娴� + OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.802.0", (short) (barcodeSize * 1)); + if (resultErr1.IsSuccess) { + int sta = 0; + switch (slave.getId()) { + case 1: + sta = 1014; + break; + case 2: + sta = 2007; + break; + case 3: + sta = 1052; + break; + case 4: + sta = 2056; + break; + } + StaProtocol staProtocol1 = station.get(sta); boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, 0, 1); staProtocol1.setFrontErr(status1[0]); staProtocol1.setBackErr(status1[1]); @@ -332,25 +321,25 @@ staProtocol1.setRightErr(status1[4]); staProtocol1.setWeightErr(status1[5]); staProtocol1.setBarcodeErr(status1[6]); + } - OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (staNoSize * 4)); - if (resultErr.IsSuccess) { - for (int i = 0; i < staNoSize; i++) { - Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 - boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 4, 1); - StaProtocol staProtocol = station.get(siteId); - staProtocol.setBreakerErr(status[0]); - staProtocol.setInfraredErr(status[1]); - staProtocol.setOutTimeErr(status[2]); - staProtocol.setSeizeSeatErr(status[3]); - staProtocol.setWrkYgoodsN(status[4]); - staProtocol.setInverterErr(status[5]); - staProtocol.setContactErr(status[6]); - staProtocol.setUpcontactErr(status[7]); - } + OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (staNoSize * 4)); + if (resultErr.IsSuccess) { + for (int i = 0; i < staNoSize; i++) { + Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i * 4, 1); + StaProtocol staProtocol = station.get(siteId); + staProtocol.setBreakerErr(status[0]); + staProtocol.setInfraredErr(status[1]); + staProtocol.setOutTimeErr(status[2]); + staProtocol.setSeizeSeatErr(status[3]); + staProtocol.setWrkYgoodsN(status[4]); + staProtocol.setInverterErr(status[5]); + staProtocol.setContactErr(status[6]); + staProtocol.setUpcontactErr(status[7]); + } - } @@ -377,9 +366,8 @@ // this.ioMode = IoModeType.get(result2.Content); // } - if (result.IsSuccess ) { - - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); + if (result.IsSuccess) { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� try { @@ -418,48 +406,48 @@ } ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); - if (staProtocol.getAgvTypeSign()==0 || staProtocol.getAgvTypeSign()==2 ){ //0鍙栬揣 - switch (staProtocol.getSiteId()){ + if (staProtocol.getAgvTypeSign() == 0 || staProtocol.getAgvTypeSign() == 2) { //0鍙栬揣 + switch (staProtocol.getSiteId()) { case 100: - index=32; + index = 32; break; case 101: - index=34; + index = 34; break; case 102: - index=38; + index = 38; break; case 103: - index=40; + index = 40; break; case 104: - index=44; + index = 44; break; case 105: - index=46; + index = 46; break; case 106: - index=50; + index = 50; break; case 107: - index=52; + index = 52; break; default: return; } - }else { - switch (staProtocol.getSiteId()){ + } else { + switch (staProtocol.getSiteId()) { case 100: - index=30; + index = 30; break; case 102: - index=36; + index = 36; break; case 104: - index=42; + index = 42; break; case 106: - index=48; + index = 48; break; default: return; @@ -471,28 +459,29 @@ int writeCount = 0; do { short textWrite = 1;// 浠诲姟瀹屾垚 - if (staProtocol.getAgvTypeSign()>1){ + if (staProtocol.getAgvTypeSign() > 1) { textWrite = 0;// 浠诲姟澶嶄綅 } write = siemensS7Net.Write("DB102." + index, textWrite); - if(write.IsSuccess){ - writeCount=6; - }else { + if (write.IsSuccess) { + writeCount = 6; + } else { writeCount++; log.error("鍐欏叆杈撻�佺嚎鍙栨斁璐у畬鎴愬懡浠ゅ悗璇诲彇澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); } - }while (writeCount<5); + } while (writeCount < 5); if (!write.IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol))); log.error("鍐欏叆杈撻�佺嚎鍙栨斁璐у畬鎴愮珯鐐规暟鎹け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); } else { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); - log.info("杈撻�佺嚎鍙栨斁璐у畬鎴愬懡浠や笅鍙戠爜鍨涘畬鎴� 缁欒緭閫佺嚎鍐欎换鍔″畬鎴� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol)); + log.info("杈撻�佺嚎鍙栨斁璐у畬鎴愬懡浠や笅鍙戠爜鍨涘畬鎴� 缁欒緭閫佺嚎鍐欎换鍔″畬鎴� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol)); } } + private void write(StaProtocol staProtocol) throws InterruptedException { if (staProtocol == null) { return; @@ -510,7 +499,7 @@ boolean writeFlag = false; // 浠诲姟涓嬪彂鎴愬姛鏍囪 String plcAddressWorkNo = "DB100." + index * 6; String plcAddressStaNo = "DB100." + (index * 6 + 4); - + Thread.sleep(100); while (writeCount < 5) { // **璇诲彇褰撳墠PLC鐘舵�侊紝閬垮厤涓嶅繀瑕佺殑鍐欏叆** OperateResultExOne<byte[]> readResult = siemensS7Net.Read(plcAddressWorkNo, (short) 6); @@ -561,8 +550,8 @@ int writeCount = 0; // 浠诲姟涓嬪彂灏濊瘯娆℃暟 boolean writeFlag = false; // 浠诲姟涓嬪彂鎴愬姛鏍囪 String plcAddressWorkNo = ""; - String plcAddressStaNo = "" ; - switch (staProtocol.getSiteId()){ + String plcAddressStaNo = ""; + switch (staProtocol.getSiteId()) { case 105: plcAddressWorkNo = "DB73." + 0; plcAddressStaNo = "DB73." + 4; @@ -689,16 +678,16 @@ int writeCount = 0; //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 boolean writeFlag = false; - while(writeCount < 5){ - writeResult = siemensS7Net.Write("DB100." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯 + while (writeCount < 5) { + writeResult = siemensS7Net.Write("DB100." + index * 4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯 - if(writeResult.IsSuccess){ + if (writeResult.IsSuccess) { Thread.sleep(200); - OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short)4); - if(readResult.IsSuccess){ + OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 4); + if (readResult.IsSuccess) { short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0); short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2); - if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){ + if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) { //浠诲姟鍛戒护鍐欏叆鎴愬姛 writeFlag = true; log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); @@ -708,7 +697,7 @@ } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓 writeCount++; OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); + slave.getId(), JSON.toJSON(staProtocol), writeCount)); log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); } @@ -722,7 +711,7 @@ } else { writeCount++; OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); + slave.getId(), JSON.toJSON(staProtocol), writeCount)); log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); } @@ -730,9 +719,9 @@ } //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡 - if(!writeFlag){ + if (!writeFlag) { staProtocol = station.get(staProtocol.getSiteId()); - if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { + if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0) { staProtocol.setPakMk(true); } OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol))); @@ -748,7 +737,7 @@ Integer siteId = staProtocol.getSiteId(); staProtocol = station.get(siteId); - if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) { + if ((siteId == 101 || siteId == 201) && (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0)) { staProtocol.setPakMk(true); } @@ -805,7 +794,7 @@ /** * 蹇冭烦 */ - private void heartbeat(){ + private void heartbeat() { if (heartBeatVal == 1) { heartBeatVal = 2; } else { @@ -837,14 +826,14 @@ ArrayList<Integer> staNos = staNos1; System.out.println(staNos.indexOf(129)); System.out.println(staNos.size()); - for (int i = 0; i<staNos.size(); i++) { + for (int i = 0; i < staNos.size(); i++) { // System.out.println(i*2); // System.out.println(i*2 + 200); // System.out.println(i); } int index = staNos.indexOf(128); - System.out.println(index*2); - System.out.println(index*2 + 200); + System.out.println(index * 2); + System.out.println(index * 2 + 200); } // public static void main(String[] args) throws Exception { diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 9af468b..4a5af51 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,6 +1,6 @@ wcs-slave: doubleDeep: true #鍙屾繁 - doubleLocs: 1,4,5,8 #鍙屾繁搴撲綅鎺掑彿 1,4,5,8 + doubleLocs: 1,4 #鍙屾繁搴撲綅鎺掑彿 1,4 groupCount: 4 #涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁� crn[0]: #鍫嗗灈鏈�1 id: 1 @@ -10,19 +10,32 @@ rack: 0 offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 125 - row: 3 + crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--1F杈撻�佺嚎 鏀捐揣鍙� + staNo: 1002 + row: 1 bay: 1 - lev: 2 + lev: 1 devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 100 + crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--1F杈撻�佺嚎 鍙栬揣鍙� + staNo: 1004 row: 2 bay: 1 - lev: 2 + lev: 1 backSta: 102 devpPlcId: ${wcs-slave.devp[0].id} + crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2002 + row: 1 + bay: 59 + lev: 11 + devpPlcId: ${wcs-slave.devp[1].id} + crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2003 + row: 2 + bay: 59 + lev: 11 + backSta: 102 + devpPlcId: ${wcs-slave.devp[1].id} crn[1]: #鍫嗗灈鏈�2 id: 2 ip: 10.10.10.120 @@ -31,43 +44,224 @@ rack: 0 offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 115 - row: 7 + crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--1F杈撻�佺嚎 鏀捐揣鍙� + staNo: 1006 + row: 3 bay: 1 - lev: 2 + lev: 1 devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 120 - row: 6 + crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--1F杈撻�佺嚎 鍙栬揣鍙� + staNo: 1008 + row: 4 bay: 1 - lev: 2 + lev: 1 backSta: 106 devpPlcId: ${wcs-slave.devp[0].id} - devp[0]: #杈撻�佺嚎 + crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2002 + row: 3 + bay: 59 + lev: 11 + devpPlcId: ${wcs-slave.devp[1].id} + crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2003 + row: 4 + bay: 59 + lev: 11 + backSta: 106 + devpPlcId: ${wcs-slave.devp[1].id} + crn[2]: #鍫嗗灈鏈�3 + id: 3 + ip: 192.168.110.10 + slot: 0 + demo: false + rack: 0 + offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 + port: 102 + crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--1F杈撻�佺嚎 鏀捐揣鍙� + staNo: 1056 + row: 6 + bay: 1 + lev: 1 + devpPlcId: ${wcs-slave.devp[2].id} + crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--1F杈撻�佺嚎 鍙栬揣鍙� + staNo: 1058 + row: 7 + bay: 1 + lev: 1 + backSta: 106 + devpPlcId: ${wcs-slave.devp[2].id} + crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2057 + row: 7 + bay: 1 + lev: 13 + devpPlcId: ${wcs-slave.devp[3].id} + crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2057 + row: 7 + bay: 1 + lev: 13 + backSta: 106 + devpPlcId: ${wcs-slave.devp[3].id} + crnOutStn[2]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2058 + row: 6 + bay: 1 + lev: 13 + devpPlcId: ${wcs-slave.devp[3].id} + crnInStn[2]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2058 + row: 6 + bay: 1 + lev: 13 + backSta: 106 + devpPlcId: ${wcs-slave.devp[3].id} + crnOutStn[3]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2051 + row: 7 + bay: 13 + lev: 13 + devpPlcId: ${wcs-slave.devp[3].id} + crnInStn[3]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2051 + row: 7 + bay: 13 + lev: 13 + backSta: 106 + devpPlcId: ${wcs-slave.devp[3].id} + crnOutStn[4]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2052 + row: 7 + bay: 10 + lev: 13 + devpPlcId: ${wcs-slave.devp[3].id} + crnInStn[4]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2052 + row: 7 + bay: 10 + lev: 13 + backSta: 106 + devpPlcId: ${wcs-slave.devp[3].id} + crnOutStn[5]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙� + staNo: 2054 + row: 7 + bay: 4 + lev: 13 + devpPlcId: ${wcs-slave.devp[3].id} + crnInStn[5]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙� + staNo: 2056 + row: 7 + bay: 12 + lev: 13 + backSta: 106 + devpPlcId: ${wcs-slave.devp[3].id} + devp[0]: #杈撻�佺嚎--鍗婃垚鍝�1F id: 1 - ip: 10.10.10.130 + ip: 192.168.110.50 rack: 0 port: 102 slot: 0 emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0 - staNo: 116 + staNo: 1014 inSta[0]: #鍏ュ簱鍙�1 - staNo: 116 - backSta: 110 + staNo: 1014 + backSta: 1015 barcode: ${wcs-slave.barcode[0].id} outSta[0]: #鍑哄簱鍙�1 - staNo: 105 + staNo: 1019 outSta[1]: #鍑哄簱鍙�2 - staNo: 107 + staNo: 1010 outSta[2]: #鍑哄簱鍙�2 - staNo: 109 + staNo: 1020 + devp[1]: #杈撻�佺嚎--鍗婃垚鍝�2F + id: 2 + ip: 192.168.110.70 + rack: 0 + port: 102 + slot: 0 + emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0 + staNo: 2007 + inSta[0]: #鍏ュ簱鍙�1 + staNo: 2007 + backSta: 2006 + barcode: ${wcs-slave.barcode[1].id} + outSta[0]: #鍑哄簱鍙�1 + staNo: 2001 + outSta[1]: #鍑哄簱鍙�2 + staNo: 2019 + devp[2]: #杈撻�佺嚎--鎴愬搧1F + id: 3 + ip: 192.168.110.30 + rack: 0 + port: 102 + slot: 0 + emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0 + staNo: 1058 + inSta[0]: #鍏ュ簱鍙�1 + staNo: 1052 + backSta: 1051 + barcode: ${wcs-slave.barcode[2].id} + inSta[1]: #鍏ュ簱鍙�2 #绌烘澘鍏ュ簱鍙�0 + staNo: 1058 + backSta: 1053 + barcode: ${wcs-slave.barcode[2].id} + outSta[0]: #鍑哄簱鍙�1 + staNo: 1053 + devp[3]: #杈撻�佺嚎--鎴愬搧2F + id: 4 + ip: 192.168.110.70 + rack: 0 + port: 102 + slot: 0 + emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0 + staNo: 2056 + inSta[0]: #鍏ュ簱鍙�1 + staNo: 2056 + backSta: 2055 + barcode: ${wcs-slave.barcode[3].id} + outSta[0]: #鍑哄簱鍙�1 + staNo: 1053 + outSta[1]: #鍑哄簱鍙�1 + staNo: 251 + outSta[2]: #鍑哄簱鍙�1 + staNo: 252 outSta[3]: #鍑哄簱鍙�1 - staNo: 110 + staNo: 257 + outSta[4]: #鍑哄簱鍙�1 + staNo: 258 + # 鎷f枡鍏ュ簱鍙�1 + pickSta[0]: + staNo: 2051 + barcode: ${wcs-slave.barcode[3].id} + # 鎷f枡鍏ュ簱鍙�2 + pickSta[1]: + staNo: 2052 + barcode: ${wcs-slave.barcode[3].id} + # 鎷f枡鍏ュ簱鍙�3 + pickSta[2]: + staNo: 2057 + barcode: ${wcs-slave.barcode[3].id} + # 鎷f枡鍏ュ簱鍙�4 + pickSta[3]: + staNo: 2058 + barcode: ${wcs-slave.barcode[3].id} barcode[0]: #鏉$爜鎵弿浠� port: 51236 ip: 172.17.91.39 id: 1 + barcode[1]: #鏉$爜鎵弿浠� + port: 51236 + ip: 172.17.91.39 + id: 1 + barcode[2]: #鏉$爜鎵弿浠� + port: 51236 + ip: 172.17.91.39 + id: 1 + barcode[3]: #鏉$爜鎵弿浠� + port: 51236 + ip: 172.17.91.39 + id: 1 # crn[0]: #鍫嗗灈鏈�1 # rack: 0 # offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c149282..cc93d3e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8080 + port: 8081 servlet: context-path: /@pom.build.finalName@ @@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://10.10.10.220:1433;databasename=rywxasrs + url: jdbc:sqlserver://127.0.0.1:1433;databasename=czscwcs username: sa password: sa@123 mvc: @@ -37,7 +37,7 @@ #License鐩稿叧閰嶇疆 license: - subject: jdzwcs + subject: scwcs publicAlias: publicCert storePass: public_zhongyang_123456789 licensePath: license.lic diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml index 19d8f6e..16f72f9 100644 --- a/src/main/resources/mapper/LocMastMapper.xml +++ b/src/main/resources/mapper/LocMastMapper.xml @@ -51,12 +51,12 @@ <select id="queryDemoSourceLoc" resultMap="BaseResultMap"> select top 1 * from asr_loc_mast where crn_no = #{crnNo} - and loc_sts='D' + and loc_sts='F' ORDER BY NEWID() </select> <select id="queryDemoLoc" resultMap="BaseResultMap"> - select top 1 * from asr_loc_mast where crn_no = #{crnNo} and loc_sts = 'O' + select top 1 * from asr_loc_mast where crn_no = #{crnNo} and loc_type1 = #{locType1} and loc_sts = 'O' and (ctn_kind=0 or ctn_kind is null) ORDER BY NEWID() </select> diff --git a/src/main/webapp/static/wcs/js/common.js b/src/main/webapp/static/wcs/js/common.js index 44a248f..01a010b 100644 --- a/src/main/webapp/static/wcs/js/common.js +++ b/src/main/webapp/static/wcs/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/jdzwcs"; +var baseUrl = "/scwcs"; // 璧嬪�� function setVal(el, val) { diff --git a/src/main/webapp/static/wcs/js/console.map.js b/src/main/webapp/static/wcs/js/console.map.js index b77d4bd..792a4fd 100644 --- a/src/main/webapp/static/wcs/js/console.map.js +++ b/src/main/webapp/static/wcs/js/console.map.js @@ -1,5 +1,5 @@ mapInfo = { - "mapName": "jdzwcs", + "mapName": "scwcs", "rackCount": 13, "crnCount": 4, "stbCount": 4, diff --git a/src/main/webapp/static/wms/js/common.js b/src/main/webapp/static/wms/js/common.js index 4882225..7a479e6 100644 --- a/src/main/webapp/static/wms/js/common.js +++ b/src/main/webapp/static/wms/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/jdzwcs"; +var baseUrl = "/scwcs"; // 璇︽儏绐楀彛-楂樺害 var detailHeight = '80%'; -- Gitblit v1.9.1