From 0134bfa28a0583c0f2b28e52a6c0aeee7098ecf9 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期四, 03 四月 2025 13:04:28 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/controller/SiteController.java | 76 --- src/main/java/com/zy/asrs/entity/BasRgv.java | 2 src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 328 ++++++++++-------- src/main/java/com/zy/core/enums/RouteCollectCountType.java | 42 ++ src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java | 2 src/main/resources/application-prod.yml | 109 ------ src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 4 src/main/resources/mapper/WrkMastStaMapper.xml | 70 +- src/main/java/com/zy/core/properties/SlaveProperties.java | 3 src/main/java/com/zy/asrs/utils/CommandUtils.java | 2 src/main/java/com/zy/core/model/protocol/StaProtocol.java | 129 ------ src/main/java/com/zy/asrs/entity/WrkMastSta.java | 2 src/main/java/com/zy/asrs/entity/BasRgvOpt.java | 2 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | 4 src/main/java/com/zy/asrs/entity/BasRgvMap.java | 2 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 18 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 235 +----------- src/main/resources/application.yml | 1 19 files changed, 331 insertions(+), 702 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index 45efdff..7c843c9 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -171,7 +171,7 @@ vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔� vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�"); //楂樹綆搴撲綅 - vo.setCar(staProtocol.isCar() ? "鏈�": "鏃�"); +// vo.setCar(staProtocol.isCar() ? "鏈�": "鏃�"); return R.ok().add(vo); } } @@ -182,8 +182,8 @@ @PostMapping("/detl/update") @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁") public R siteDetlUpdate(@RequestParam Integer devNo, - @RequestParam Short workNo, - @RequestParam Short staNo, + @RequestParam Integer workNo, + @RequestParam Integer staNo, @RequestParam(required = false) String pakMk, @RequestParam(required = false) Boolean inEnable, @RequestParam(required = false) Boolean outEnable @@ -267,8 +267,8 @@ staProtocol.setOutEnable(outEnable); basDevp.setOutEnable(outEnable ? "Y" : "N"); } - staProtocol.setWorkNo((short) 0); - staProtocol.setStaNo((short) 0); + staProtocol.setWorkNo(0); + staProtocol.setStaNo(0); basDevpService.updateById(basDevp); boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol), false); if (result) { @@ -308,8 +308,8 @@ } else { staProtocol = staProtocol.clone(); } - staProtocol.setWorkNo((short) 9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setWorkNo( 9999); + staProtocol.setStaNo(inSta.getStaNo()); boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol), false); if (result) { return R.ok(); @@ -324,68 +324,6 @@ public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){ List<PlcErrorTableVo> list = new ArrayList<>(); StaProtocol staProtocol = entry.getValue(); - if (staProtocol.getBreakerErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - vo.setPlcDesc("鏂矾鍣ㄦ晠闅�"); - vo.setError("鏂矾鍣ㄦ晠闅�"); - list.add(vo); - } - if (staProtocol.getInfraredErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - vo.setPlcDesc("鍏夌數寮傚父"); - vo.setError("鍏夌數寮傚父"); - list.add(vo); - } - if (staProtocol.getOutTimeErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("杩愯瓒呮椂"); - vo.setError("杩愯瓒呮椂"); - list.add(vo); - } - if (staProtocol.getSeizeSeatErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("鍗犱綅瓒呮椂"); - vo.setError("鍗犱綅瓒呮椂"); - list.add(vo); - } - if (staProtocol.getWrkYgoodsN()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("鏈変换鍔℃棤璐ф晠闅�"); - vo.setError("鏈変换鍔℃棤璐ф晠闅�"); - list.add(vo); - } - if (staProtocol.getInverterErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("鍙橀鍣ㄦ晠闅�"); - vo.setError("鍙橀鍣ㄦ晠闅�"); - list.add(vo); - } - if (staProtocol.getContactErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("鐢垫満鎺ヨЕ鍣ㄦ晠闅�"); - vo.setError("鐢垫満鎺ヨЕ鍣ㄦ晠闅�"); - list.add(vo); - } - if (staProtocol.getUpcontactErr()){ - PlcErrorTableVo vo = new PlcErrorTableVo(); - vo.setNo(entry.getKey()); // 搴忓彿 - - vo.setPlcDesc("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�"); - vo.setError("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�"); - list.add(vo); - } if (staProtocol.isFrontErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 搴忓彿 diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java index 7cdcf91..68b61ac 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java @@ -13,7 +13,7 @@ private Integer siteId; // 宸ヤ綔鍙� - private Short workNo; + private Integer workNo; // 宸ヤ綔鐘舵�� private String wrkSts = ""; diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java index 2677861..ce27481 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java @@ -14,7 +14,7 @@ private String siteId; // 宸ヤ綔鍙� - private Short workNo; + private Integer workNo; // 绔欑偣鐘舵�� private SiteStatusType siteStatus; diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java index 6007fce..4fa183e 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java @@ -12,7 +12,7 @@ private Integer devNo; // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // 鑷姩 private String autoing = "-"; @@ -33,7 +33,7 @@ private String emptyMk = "-"; // 鐩爣绔� - private Short staNo = 0; + private Integer staNo = 0; //楂樹綆搴撲綅 private String locType1 = "-"; diff --git a/src/main/java/com/zy/asrs/entity/BasRgv.java b/src/main/java/com/zy/asrs/entity/BasRgv.java index cc9458e..c572525 100644 --- a/src/main/java/com/zy/asrs/entity/BasRgv.java +++ b/src/main/java/com/zy/asrs/entity/BasRgv.java @@ -14,7 +14,7 @@ import java.util.Date; @Data -@TableName("asr_bas_rgv") +@TableName("\"SOURCE\".\"asr_bas_rgv\"") public class BasRgv implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/zy/asrs/entity/BasRgvMap.java b/src/main/java/com/zy/asrs/entity/BasRgvMap.java index 172a9e9..08fbaac 100644 --- a/src/main/java/com/zy/asrs/entity/BasRgvMap.java +++ b/src/main/java/com/zy/asrs/entity/BasRgvMap.java @@ -10,7 +10,7 @@ import java.io.Serializable; @Data -@TableName("asr_bas_rgv_map") +@TableName("\"SOURCE\".\"asr_bas_rgv_map\"") public class BasRgvMap implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java index 7043daa..4cb80bf 100644 --- a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java +++ b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java @@ -14,7 +14,7 @@ import java.util.Date; @Data -@TableName("asr_bas_rgv_opt") +@TableName("\"SOURCE\".\"asr_bas_rgv_opt\"") public class BasRgvOpt implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java index 2fdcb25..0635c49 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java @@ -14,7 +14,7 @@ import java.util.Date; @Data -@TableName("asr_wrk_mast_sta") +@TableName("\"SOURCE\".\"asr_wrk_mast_sta\"") public class WrkMastSta implements Serializable { private static final long serialVersionUID = 1L; 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 04841ba..3b91932 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -24,12 +24,16 @@ import com.zy.core.enums.*; import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; +import com.zy.core.model.RgvSlave; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; +import com.zy.core.model.command.RgvCommand; import com.zy.core.model.protocol.CrnProtocol; +import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.BarcodeThread; +import com.zy.core.thread.RgvThread; import com.zy.core.thread.SiemensDevpThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -78,6 +82,12 @@ private ApiLogService apiLogService; @Autowired private CommonService commonService; + @Autowired + private BasRgvService basRgvService; + @Autowired + private WrkMastStaMapper wrkMastStaMapper; + @Autowired + private BasRgvMapMapper basRgvMapMapper; @Value("${wms.url}") private String wmsUrl; @@ -90,6 +100,8 @@ @Autowired private CrnController crnController; + @Value("${wms.rgvOpen}") + private boolean rgvOpen; public void generateStoreWrkFile() throws IOException, InterruptedException { try { @@ -107,8 +119,8 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo(); - Short stano = staProtocol.getStaNo(); + Integer workNo = staProtocol.getWorkNo(); + Integer stano = staProtocol.getStaNo(); // 灏哄妫�娴嬪紓甯� boolean back = false; @@ -154,7 +166,7 @@ } // News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); staProtocol.setWorkNo(workNo); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setStaNo(inSta.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); @@ -189,8 +201,8 @@ log.info("鎵樼洏鐮侊細"+barcode+"浠诲姟妗e瓨鍦�"); return; }else { - staProtocol.setWorkNo(taskWrk1.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + staProtocol.setWorkNo(taskWrk1.getWrkNo()); + staProtocol.setStaNo(staDesc.getCrnStn()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } @@ -222,8 +234,8 @@ // 閫�鍥� log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+"寮傚父淇℃伅"+e1); } - staProtocol.setWorkNo((short)9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(inSta.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); // TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); @@ -276,8 +288,8 @@ log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+errMsg); log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅"+e); - staProtocol.setWorkNo((short)9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(inSta.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); // TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); @@ -331,8 +343,8 @@ taskWrkService.insert(taskWrk); StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).eq("stn_no",staProtocol.getSiteId())); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + staProtocol.setWorkNo(taskWrk.getWrkNo()); + staProtocol.setStaNo(staDesc.getCrnStn()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } @@ -345,8 +357,8 @@ // 閫�鍥� log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - staProtocol.setWorkNo((short)9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(inSta.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); @@ -394,8 +406,8 @@ } log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:"+JSON.toJSONString(taskWrk)); // R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + staProtocol.setWorkNo(taskWrk.getWrkNo()); + staProtocol.setStaNo(staDesc.getCrnStn()); boolean offer = false; try{ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); @@ -1112,7 +1124,160 @@ } return taskWrk; } + /** + * 瀹屾垚灏忚溅浠诲姟 + */ + public synchronized void rgvCompleteWrkMastSta() { + try{ + for (RgvSlave rgvSlave:slaveProperties.getRgv()) { + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + } + BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); + if (basRgv == null) { + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + continue; + } + // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔� + if (rgvProtocol.getStatusType() == RgvStatusType.WORKING + && rgvProtocol.getModeType() == RgvModeType.AUTO + && ((rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.WAITING ) || + (rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING )) + ) { + log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); + if (rgvProtocol.getTaskNo1()!=0 && (rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING)){ + if (rgvProtocol.getTaskNo1()==(short)32222){ + boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + } + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + break; + } + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().longValue()); + if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=1 || wrkMastSta.getWrkSts()!=1){ + log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta); + continue; + } + /* WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue()); + if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){ + Thread.sleep(200); + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + if (!staProtocol.isAutoing() || !staProtocol.isLoading()){ + continue; + } + // 涓嬪彂绔欑偣淇℃伅 + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); + if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) { + continue; + } + log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol); +// try{ +// Thread.sleep(1000); +// DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); +// StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd()); +// log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd); +// if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo()) +// staProtocolEnd.setWorkNo(wrkMast.getWrkNo()); +// staProtocolEnd.setStaNo(wrkMast.getStaNo()); +// if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) { +// continue; +// } +// log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd); +// } +// }catch (Exception e){ +// +// } + }*/ + boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + break; + } + wrkMastSta.setWrkSts(3); + wrkMastStaMapper.updateById(wrkMastSta); + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){ + if (rgvProtocol.getTaskNo2()==(short)32222){ + boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + } + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + break; + } + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo2().longValue()); + if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getType()!=2){ + log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta); + continue; + } + /*WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue()); + if (!Cools.isEmpty(wrkMast) && wrkMastSta.getWrkType()!=5){ + Thread.sleep(200); + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd()); + if (!staProtocol.isAutoing() || !staProtocol.isLoading()){ + continue; + } + // 涓嬪彂绔欑偣淇℃伅 + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); + if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) { + continue; + } + log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟锛�"+staProtocol); +// try{ +// Thread.sleep(1000); +// DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); +// StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd()); +// log.error("灏忚溅浠诲姟瀹屾垚璇诲彇杈撻�佺嚎浠诲姟锛�"+staProtocolEnd); +// if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo()) +// staProtocolEnd.setWorkNo(wrkMast.getWrkNo()); +// staProtocolEnd.setStaNo(wrkMast.getStaNo()); +// if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) { +// continue; +// } +// log.error("灏忚溅浠诲姟瀹屾垚涓嬪彂杈撻�佺嚎浠诲姟绗簩娆★細"+staProtocolEnd); +// } +// }catch (Exception e){ +// +// } + }*/ + boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); + if (!rgvComplete){ + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); + break; + } + wrkMastSta.setWrkSts(3); + wrkMastStaMapper.updateById(wrkMastSta); + BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); + }else { + log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{},绛夊緟wcs纭浣嗘槸娌℃湁宸ヤ綔鍙凤紒",rgvProtocol.getRgvNo()); + } + } + } + }catch (Exception e){ + log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e); + } + } /** * 鍏ュ嚭搴� ===>> 灏忚溅浣滀笟涓嬪彂 */ @@ -1156,9 +1321,6 @@ case 4://鍙栧彔鐩� signWork = rgvRunWrkMastEmptyStaTake(rgvSlave); break; - case 5:////婊″彇 - signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave); - break; case 6:////鎻愬崌 // signWork = qwe(); break; @@ -1178,9 +1340,6 @@ break; case 4://鍙栧彔鐩� signWork = rgvRunWrkMastEmptyStaTake(rgvSlave); - break; - case 5:////婊″彇 - signWork = rgvRunWrkMastEmptyStaTakeFull(rgvSlave); break; case 6:////鎻愬崌 // signWork = rgvRunWrkMastEmptyStaPut(); @@ -1247,16 +1406,6 @@ BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaEnd()); if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; - } - if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ - if (basDevp.getLoadingSuper().equals("Y")){ - continue; - } - } - if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ - if (!basDevp.getEmptyMk().equals("Y")){ - continue; - } } Date date = new Date(); @@ -1365,16 +1514,6 @@ if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; } - if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ - if (basDevp.getLoadingSuper().equals("Y")){ - continue; - } - } - if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ - if (!basDevp.getEmptyMk().equals("Y")){ - continue; - } - } Date date = new Date(); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId()); @@ -1473,16 +1612,6 @@ if (!basDevp.getAutoing().equals("Y") || basDevp.getLoading().equals("Y") || basDevp.getWrkNo()!=0){ continue; } - if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ - if (basDevp.getLoadingSuper().equals("Y")){ - continue; - } - } - if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ - if (!basDevp.getEmptyMk().equals("Y")){ - continue; - } - } Date date = new Date(); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId()); @@ -1578,11 +1707,6 @@ if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){ continue; } - if (basDevp.getDevNo()>=118 && basDevp.getDevNo()<=123){ - if (!basDevp.getEmptyMk().equals("Y")){ - continue; - } - } Date date = new Date(); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId()); @@ -1603,98 +1727,6 @@ log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); log.info(date+"鍙犵洏浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); sign = rgvTakeEmpty(rgvProtocol.getRgvNo(),wrkMastSta);//鍙犵洏 - }else { - continue; - } - if (sign){ - boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), basRgvMap.getStartRoute()); - if (signMap){ - wrkMastSta.setWrkSts(1); - try{ - wrkMastStaMapper.updateById(wrkMastSta); - }catch (Exception e){ - log.error("鏇存柊灏忚溅浠诲姟澶辫触"); - } - return true; - }else { - log.error("3879琛岋紝璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo()); - } - }else { - log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo()); - } - break; - } - } -// } - }catch (Exception e){ - log.error("3989琛屾墽琛屽皬杞﹀彇绌烘澘浠诲姟涓嬪彂澶辫触"); - log.error("3989琛�"+e); - } - return false; - } - - public synchronized boolean rgvRunWrkMastEmptyStaTakeFull(RgvSlave rgvSlave) {//婊″彇 - try{ -// for (RgvSlave rgvSlave:slaveProperties.getRgv()) { - RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); - RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); - if (rgvProtocol == null) { - return false; - } - BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); - if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); - return false; - } - - // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾棤鐗�//rgv鍙敤 - if (rgvProtocol.getStatusType() == RgvStatusType.IDLE - && rgvProtocol.getStatusType1() == RgvStatusType.IDLE - && rgvProtocol.getStatusType2() == RgvStatusType.IDLE - && rgvProtocol.getModeType() == RgvModeType.AUTO - && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 - && rgvProtocol.getLoaded2()==0 //鐜板満淇敼锛氬彔鐩樻満锛�////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗╋紙鍙兘鎷嗗彔锛� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 4锛氾紙锛夊彧鍏佽鎷嗙洏 - ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); - if (basRgvMap == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); - return false; - } - List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute()); - basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙� - List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route); - WrkMast wrkMast = wrkMastMapper.selectBy122ManQu(122,110,15L); - if (!Cools.isEmpty(wrkMast)){ - WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue()); - if (!Cools.isEmpty(wrkMastSta) && wrkMastSta.getType()==2 && wrkMastSta.getWrkType()==5 ){ - wrkMastStaList.add(wrkMastSta); - } - } - for (WrkMastSta wrkMastSta : wrkMastStaList){ - if (wrkMastSta.getType()!=2 || wrkMastSta.getWrkType()!=5){// 2:绌烘澘 || 宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 5锛氭弧鍙� 6锛氭弧鏀� - continue; - } - boolean sign = false; - if (wrkMastSta.getStaStart()!=0){//婊″彇 - BasDevp basDevp = basDevpService.selectById(wrkMastSta.getStaStart()); - if (!basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y")){ - continue; - } - Date date = new Date(); - - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, rgvSlave.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo()); - if (staProtocol == null) { - log.info(date+"婊″彇浠诲姟涓嬪彂锛氭湭鏌ヨ鍒扮珯鐐逛俊鎭細"+wrkMastSta); - continue; - } - if (!staProtocol.isAutoing() || staProtocol.isLoading()){ - continue; - } - - log.info(date+"婊″彇浠诲姟涓嬪彂锛氬皬杞﹀伐浣滄。锛�"+wrkMastSta); - log.info(date+"婊″彇浠诲姟涓嬪彂锛氱洰鏍囩珯鐘舵�侊細"+basDevp); - sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta); }else { continue; } 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 777dbde..150385a 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -229,12 +229,12 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo(); + Integer workNo = staProtocol.getWorkNo(); if (wharfCode1.contains(param.getWharfCode())){ - if (!staProtocol.isLoading() && !staProtocol.isCar() && staProtocol.getWorkNo() >0){ + if (!staProtocol.isLoading() && staProtocol.getWorkNo() >0){ //AGV鍑哄簱瀹屾垚浠ュ悗 - staProtocol.setWorkNo((short) 0); - staProtocol.setStaNo((short)0); + staProtocol.setWorkNo( 0); + staProtocol.setStaNo(0); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); if (result) { @@ -246,10 +246,10 @@ for (DevpSlave.Sta inSta : devp.getInSta()) { if (inSta.getBackSta().equals(staDesc.getStnNo())){ - if (staProtocol.isLoading() && !staProtocol.isCar() && workNo == 0){ + if (staProtocol.isLoading() && workNo == 0){ //AGV鍏ュ簱瀹屾垚浠ュ悗 - staProtocol.setWorkNo((short) 9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(inSta.getStaNo()); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); if (result) { @@ -322,7 +322,7 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo(); + Integer workNo = staProtocol.getWorkNo(); if (workNo == 0 && !staProtocol.isLoading()){ if (Cools.isEmpty( map.get(inSta.getStaNo()))){ continue; @@ -358,7 +358,7 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo(); + Integer workNo = staProtocol.getWorkNo(); if (workNo == 0 && !staProtocol.isLoading()){ if (Cools.isEmpty( map.get(inSta.getStaNo()))){ continue; diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java index c237c06..e1ee44a 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java @@ -213,8 +213,8 @@ //鐢熸垚杈撻�佺嚎鍛戒护 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone(); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint())); + staProtocol.setWorkNo(taskWrk.getWrkNo()); + staProtocol.setStaNo(Integer.parseInt(taskWrk.getTargetPoint())); if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) { log.error("杈撻�佺嚎鍛戒护鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("杈撻�佺嚎鍛戒护鐢熸垚澶辫触"); diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java index a18ce22..172d0d3 100644 --- a/src/main/java/com/zy/asrs/utils/CommandUtils.java +++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java @@ -90,7 +90,7 @@ commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护 - staProtocol.setCommandId(commandInfo.getId()); +// staProtocol.setCommandId(commandInfo.getId()); commandPackage.setCommand(staProtocol); commandPackage.setWrkNo(wrkNo); commandPackage.setDevice("杈撻�佺嚎"); diff --git a/src/main/java/com/zy/core/enums/RouteCollectCountType.java b/src/main/java/com/zy/core/enums/RouteCollectCountType.java new file mode 100644 index 0000000..518b771 --- /dev/null +++ b/src/main/java/com/zy/core/enums/RouteCollectCountType.java @@ -0,0 +1,42 @@ +package com.zy.core.enums; + +public enum RouteCollectCountType { + + INTERSECTION(0, "浜ら泦"), // 浜ら泦 + DIFFERENCESET(1, "宸泦"), // 宸泦 + UNION(2, "骞堕泦"), //骞堕泦 + DEDUPLICATIONUNION(3, "鍘婚噸骞堕泦"), //鍘婚噸骞堕泦 + ; + + public Integer id; + public String desc; + RouteCollectCountType(Integer id, String desc) { + this.id = id; + this.desc = desc; + } + + public static RouteCollectCountType get(Short id) { + if (null == id) { + return null; + } + for (RouteCollectCountType type : RouteCollectCountType.values()) { + if (type.id.equals(id.intValue())) { + return type; + } + } + return null; + } + + public static RouteCollectCountType get(RouteCollectCountType type) { + if (null == type) { + return null; + } + for (RouteCollectCountType crnLiftPosType : RouteCollectCountType.values()) { + if (crnLiftPosType == type) { + return crnLiftPosType; + } + } + return null; + } + +} diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index 10dce88..463846a 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -1,11 +1,7 @@ package com.zy.core.model.protocol; import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.entity.CommandInfo; import lombok.Data; - -import java.util.ArrayList; -import java.util.List; /** * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅 @@ -19,11 +15,11 @@ // ---------------------------------------------------------------- // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // ---------------------------------------------------------------- // 鐩爣绔� - private Short staNo; + private Integer staNo; // ---------------------------------------------------------------- // 鑷姩 @@ -45,13 +41,10 @@ private boolean fullPlt; // 楂� - private boolean high = false; + private boolean high; // 浣� private boolean low; - - //agv - private boolean car; // 閿佸畾鏍囪 private boolean pakMk = true; @@ -62,134 +55,38 @@ // 闅斿绔欑偣锛堝彴杞︿綅缃級 private String nearbySta; - //鎸囦护ID - private Integer commandId; - // 澶栧舰妫�娴� ------------------------------------------------------------------------ // 鍓嶈秴闄� - private boolean frontErr = false; + private boolean frontErr; // 鍚庤秴闄� - private boolean backErr = false; + private boolean backErr; // 楂樿秴闄� - private boolean highErr = false; + private boolean highErr; // 宸﹁秴闄� - private boolean leftErr = false; + private boolean leftErr; // 鍙宠秴闄� - private boolean rightErr = false; + private boolean rightErr; // 瓒呴噸 - private boolean weightErr = false; + private boolean weightErr; // 鎵爜澶辫触 - private boolean barcodeErr = false; + private boolean barcodeErr; - //鏁呴殰----------------------------------------------------------------------- - private Boolean breakerErr = false; //鏂矾鍣ㄦ晠闅� - - private Boolean infraredErr = false; //鍏夌數寮傚父 - - private Boolean outTimeErr = false; //杩愯瓒呮椂 - - private Boolean seizeSeatErr = false; //鍗犱綅瓒呮椂 - - private Boolean wrkYgoodsN = false;//鏈変换鍔℃棤璐ф晠闅� - - private Boolean inverterErr = false; //鍙橀鍣ㄦ晠闅� - - private Boolean contactErr = false; //鐢垫満鎺ヨЕ鍣ㄦ晠闅� - - private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅� - - - - private Short agvStartPick; //鍏佽鍙栬揣 - private Short agvStartPlace; //鍏佽鏀捐揣 - private Short agvTypeSign; //鍏佽鏀捐揣 - - private Short agvTargetPick; //鍙栬揣瀹屾垚 - private Short agvTargetPlace; //鏀捐揣瀹屾垚 - private Short agvTypeSignEnd; //鏀捐揣瀹屾垚 - - private List<Integer> alarm; - - - public List<Integer> getAlarm(){ - List<Integer> alarm = new ArrayList<>(); - if (breakerErr){ - alarm.add(1); - } - if (infraredErr){ - alarm.add(2); - } - if (outTimeErr){ - alarm.add(3); - } - if (seizeSeatErr){ - alarm.add(4); - } - if (wrkYgoodsN){ - alarm.add(5); - } - if (inverterErr){ - alarm.add(6); - } - if (contactErr){ - alarm.add(7); - } - if (upcontactErr){ - alarm.add(8); - } - return alarm; - } - - + // Super鏈夋棤淇℃伅 + private boolean loadingSuper = true; public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); basDevp.setDevNo(siteId); - basDevp.setWrkNo(workNo.intValue()); + basDevp.setWrkNo(workNo); basDevp.setAutoing(autoing?"Y":"N"); basDevp.setLoading(loading?"Y":"N"); - if (frontErr){ - basDevp.setStaErr(11); - }else if (backErr){ - basDevp.setStaErr(12); - }else if (highErr){ - basDevp.setStaErr(13); - }else if (leftErr){ - basDevp.setStaErr(14); - }else if (rightErr){ - basDevp.setStaErr(15); - }else if (weightErr){ - basDevp.setStaErr(16); - }else if (barcodeErr){ - basDevp.setStaErr(17); - }else if (breakerErr){ - basDevp.setStaErr(18); - }else if (infraredErr){ - basDevp.setStaErr(19); - }else if (outTimeErr){ - basDevp.setStaErr(110); - }else if (seizeSeatErr){ - basDevp.setStaErr(111); - }else if (wrkYgoodsN){ - basDevp.setStaErr(112); - }else if (inverterErr){ - basDevp.setStaErr(113); - }else if (contactErr){ - basDevp.setStaErr(114); - }else if (upcontactErr){ - basDevp.setStaErr(115); - }else { - if (!loading){ - basDevp.setStaErr(0); - } - } basDevp.setInEnable(inEnable?"Y":"N"); basDevp.setOutEnable(outEnable?"Y":"N"); basDevp.setLocType1((short) 0); // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿 diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java index b2e19a4..502126a 100644 --- a/src/main/java/com/zy/core/properties/SlaveProperties.java +++ b/src/main/java/com/zy/core/properties/SlaveProperties.java @@ -4,6 +4,7 @@ import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; import com.zy.core.model.LedSlave; +import com.zy.core.model.RgvSlave; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -32,6 +33,8 @@ private List<CrnSlave> crn = new ArrayList<>(); + private List<RgvSlave> rgv = new ArrayList<>(); + private List<DevpSlave> devp = new ArrayList<>(); private List<Slave> barcode = new ArrayList<>(); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 7a914aa..c50efbf 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -125,15 +125,6 @@ write((StaProtocol)task.getData()); read(); break; - // 鍐欐暟鎹� ID+鐩爣绔� - case 4: - writeAgvOk((StaProtocol)task.getData()); - read(); - break; - /* case 3: - write2((StaProtocol)task.getData()); - read(); - break;*/ default: break; } @@ -160,13 +151,13 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo((short) 0); // ID + staProtocol.setWorkNo(0); // ID staProtocol.setAutoing(false); // 鑷姩 staProtocol.setLoading(false); // 鏈夌墿 staProtocol.setInEnable(false); // 鍙叆 staProtocol.setOutEnable(false); // 鍙嚭 staProtocol.setEmptyMk(false); // 绌烘澘淇″彿 - staProtocol.setStaNo((short) 0); // 鐩爣绔� + staProtocol.setStaNo(0); // 鐩爣绔� if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); @@ -214,9 +205,9 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, i*8)); // 宸ヤ綔鍙� + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i*8)); // 宸ヤ綔鍙� - staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*8 + 4)); // 鐩爣绔� + staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i*8 + 4)); // 鐩爣绔� boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); staProtocol.setAutoing(status[0]); // 鑷姩 @@ -246,8 +237,8 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6+4)); // 鍏佽鍙栬揣 - staProtocol.setAgvStartPlace((short)0); // 鍏佽鏀捐揣 +// staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6+4)); // 鍏佽鍙栬揣 +// staProtocol.setAgvStartPlace((short)0); // 鍏佽鏀捐揣 continue; } Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -257,8 +248,8 @@ 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)); // 鍏佽鏀捐揣 +// staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6)); // 鍏佽鍙栬揣 +// staProtocol.setAgvStartPlace(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6 + 2)); // 鍏佽鏀捐揣 } } @@ -274,8 +265,8 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6+4)); // 鍏佽鍙栬揣 - staProtocol.setAgvTargetPlace((short)0); // 鍏佽鏀捐揣 +// staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6+4)); // 鍏佽鍙栬揣 +// staProtocol.setAgvTargetPlace((short)0); // 鍏佽鏀捐揣 continue; } Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -285,18 +276,18 @@ 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); - } +// 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); +// } } } @@ -322,14 +313,14 @@ 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]); +// 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]); } } @@ -392,90 +383,6 @@ } } - /** - * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� - */ - private void writeAgvOk(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - ArrayList<Integer> staNos = getStaNo(); - int index = staNos.indexOf(staProtocol.getSiteId()); - if (staProtocol.getAgvTypeSign()==0 || staProtocol.getAgvTypeSign()==2 ){ //0鍙栬揣 - switch (staProtocol.getSiteId()){ - case 100: - index=32; - break; - case 101: - index=34; - break; - case 102: - index=38; - break; - case 103: - index=40; - break; - case 104: - index=44; - break; - case 105: - index=46; - break; - case 106: - index=50; - break; - case 107: - index=52; - break; - default: - return; - } - }else { - switch (staProtocol.getSiteId()){ - case 100: - index=30; - break; - case 102: - index=36; - break; - case 104: - index=42; - break; - case 106: - index=48; - break; - default: - return; - } - } - - OperateResult write = null; - //浠诲姟涓嬪彂娆℃暟 - int writeCount = 0; - do { - short textWrite = 1;// 浠诲姟瀹屾垚 - if (staProtocol.getAgvTypeSign()>1){ - textWrite = 0;// 浠诲姟澶嶄綅 - } - write = siemensS7Net.Write("DB102." + index, textWrite); - if(write.IsSuccess){ - writeCount=6; - }else { - writeCount++; - log.error("鍐欏叆杈撻�佺嚎鍙栨斁璐у畬鎴愬懡浠ゅ悗璇诲彇澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - }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)); - } - - - } private void write(StaProtocol staProtocol) throws InterruptedException { if (null == staProtocol) { return; @@ -547,88 +454,6 @@ // } } - - } - private void write2(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - ArrayList<Integer> staNos = getStaNo(); - - int index = staNos.indexOf(staProtocol.getSiteId()); - short[] array = new short[2]; - array[0] = staProtocol.getWorkNo(); - array[1] = staProtocol.getStaNo(); - - OperateResult writeResult; - //浠诲姟涓嬪彂娆℃暟 - int writeCount = 0; - //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 - boolean writeFlag = false; - while(writeCount < 5){ - writeResult = siemensS7Net.Write("DB100." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯 - - if(writeResult.IsSuccess){ - Thread.sleep(200); - 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)){ - //浠诲姟鍛戒护鍐欏叆鎴愬姛 - writeFlag = true; - log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - - Date now = new Date(); - break; - } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓 - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - - } - } else { - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol), writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - - } - } else { - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - - } - Thread.sleep(200); - } - - //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡 - if(!writeFlag){ - staProtocol = station.get(staProtocol.getSiteId()); - 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))); - log.error("鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); - - //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒� - boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(3, staProtocol)); - read();//璇诲彇1娆¤澶囩姸鎬� - return; - } 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)); - - Integer siteId = staProtocol.getSiteId(); - staProtocol = station.get(siteId); - if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) { - staProtocol.setPakMk(true); - } - - } } diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 4299c61..85fc914 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -22,121 +22,12 @@ id: 1 slot: 0 demo: false - crn[1]: #鍫嗗灈鏈�2 - rack: 0 - offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 - port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 103 - row: 5 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - ip: 192.168.4.250 - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 102 - row: 4 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - id: 2 - slot: 0 - demo: false - crn[2]: #鍫嗗灈鏈�3 - rack: 0 - offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 - port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 105 - row: 9 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - ip: 192.168.4.250 - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 104 - row: 8 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - id: 3 - slot: 0 - demo: false - crn[3]: #鍫嗗灈鏈�4 - rack: 0 - offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 - port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 107 - row: 12 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - ip: 192.168.4.250 - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 106 - row: 11 - bay: 1 - lev: 1 - devpPlcId: ${wcs-slave.devp[0].id} - id: 4 - slot: 0 - demo: false barcode[0]: #鏉$爜鎵弿浠�1 port: 51236 ip: 10.10.10.52 id: 1 - barcode[1]: #鏉$爜鎵弿浠�2 - port: 51236 - ip: 192.168.4.250 - id: 2 - barcode[2]: #鏉$爜鎵弿浠�3 - port: 51236 - ip: 192.168.4.250 - id: 3 - barcode[3]: #鏉$爜鎵弿浠�4 - port: 51236 - ip: 192.168.4.250 - id: 4 devp[0]: #杈撻�佺嚎 - emptyInSta[2]: #绌烘澘鍏ュ簱鍙�3 - staNo: 104 - emptyInSta[1]: #绌烘澘鍏ュ簱鍙�2 - staNo: 102 - rack: 0 - emptyInSta[0]: #绌烘澘鍏ュ簱鍙�1 - staNo: 100 ip: 192.168.4.250 - outSta[4]: #鍑哄簱鍙�5 - staNo: 104 - outSta[3]: #鍑哄簱鍙�4 - staNo: 103 - outSta[6]: #鍑哄簱鍙�7 - staNo: 106 slot: 0 - outSta[5]: #鍑哄簱鍙�6 - staNo: 105 - outSta[0]: #鍑哄簱鍙�1 - staNo: 100 - outSta[2]: #鍑哄簱鍙�3 - staNo: 102 - emptyInSta[3]: #绌烘澘鍏ュ簱鍙�4 - staNo: 106 - outSta[1]: #鍑哄簱鍙�2 - staNo: 101 - inSta[2]: - staNo: 104 - barcode: ${wcs-slave.barcode[2].id} - inSta[3]: - staNo: 106 - barcode: ${wcs-slave.barcode[3].id} port: 102 - outSta[7]: #鍑哄簱鍙�8 - staNo: 107 - inSta[0]: #鍏ュ簱鍙�1 - staNo: 100 - barcode: ${wcs-slave.barcode[0].id} - inSta[1]: #鍏ュ簱鍙�2 - staNo: 102 - barcode: ${wcs-slave.barcode[1].id} id: 1 \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6fc1b9a..dd6e174 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -50,6 +50,7 @@ wms: # 鏄惁寮�鍚笂鎶� start: true + rgvOpen: true # WMS绯荤粺ip #url: 10.32.53.195:8080 # WMS绯荤粺ip diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml index a20c84a..7ea7fd9 100644 --- a/src/main/resources/mapper/WrkMastStaMapper.xml +++ b/src/main/resources/mapper/WrkMastStaMapper.xml @@ -22,102 +22,102 @@ </resultMap> <select id="selectAllWrkMastStaList" resultMap="BaseResultMap"> - select * from asr_wrk_mast_sta + select * from "SOURCE"."asr_wrk_mast_sta" where 1=1 - and wrk_sts=0 + and WRK_STS=0 <if test="type!=null"> - and type = #{type} + and TYPE = #{type} </if> - order by line_number,id + order by LINE_NUMBER,ID </select> <select id="selectByWrkNo" resultMap="BaseResultMap"> - select top 1 * from asr_wrk_mast_sta + select top 1 * from "SOURCE"."asr_wrk_mast_sta" where 1=1 - and wrk_no = #{workNo} + and WRK_NO = #{workNo} </select> <select id="selectNoInterfere" resultMap="BaseResultMap"> - select top 1 * from asr_wrk_mast_sta + select top 1 * from "SOURCE"."asr_wrk_mast_sta" where 1=1 - and (sta_start in + and (STA_START in <foreach item="item" collection="staStarts" index="index" separator="," open="(" close=")"> #{item} </foreach> - or sta_start = 0 + or STA_START = 0 ) - and (sta_end in + and (STA_END in <foreach item="item" collection="staEnds" index="index" separator="," open="(" close=")"> #{item} </foreach> - or sta_end = 0 + or STA_END = 0 ) - and wrk_sts=0 - order by line_number,id + and WRK_STS=0 + order by LINE_NUMBER,ID </select> <select id="selectNoInterfereList" resultMap="BaseResultMap"> - select * from asr_wrk_mast_sta + select * from "SOURCE"."asr_wrk_mast_sta" where 1=1 - and (sta_start in + and (STA_START in <foreach item="item" collection="staStarts" index="index" separator="," open="(" close=")"> #{item} </foreach> - or sta_start = 0 + or STA_START = 0 ) - and (sta_end in + and (STA_END in <foreach item="item" collection="staEnds" index="index" separator="," open="(" close=")"> #{item} </foreach> - or sta_end = 0 + or STA_END = 0 ) - and wrk_sts=0 - order by line_number,id + and WRK_STS=0 + order by LINE_NUMBER,ID </select> <select id="selectAllWrkCount" resultType="Integer"> - select count(1) from asr_wrk_mast_sta + select count(1) from "SOURCE"."asr_wrk_mast_sta" where 1=1 <if test="type!=null"> - and type = #{type} + and TYPE = #{type} </if> </select> <select id="selectAllWrkCount108" resultType="Integer"> - select count(1) from asr_wrk_mast_sta + select count(1) from "SOURCE"."asr_wrk_mast_sta" where 1=1 - and type = 1 - and (sta_end = 108 or sta_start = 108) + and TYPE = 1 + and (STA_END = 108 or STA_START = 108) </select> <select id="selectAllWrkCount108Y" resultType="Integer"> - select count(1) from asr_wrk_mast_sta + select count(1) from "SOURCE"."asr_wrk_mast_sta" where 1=1 -- and type = 1 - and ((sta_end <= 108 or sta_start <= 108) - or (sta_end = 118 or sta_start = 118) - or (sta_end = 122 or sta_start = 122)) + and ((STA_END <= 108 or STA_START <= 108) + or (STA_END = 118 or STA_START = 118) + or (STA_END = 122 or STA_START = 122)) </select> <select id="selectAllWrkStsCount" resultType="Integer"> - select count(1) from asr_wrk_mast_sta + select count(1) from "SOURCE"."asr_wrk_mast_sta" where 1=1 <if test="type!=null"> - and type = #{type} + and TYPE = #{type} </if> <if test="wrkSts!=null"> - and wrk_sts = #{wrkSts} + and WRK_STS = #{wrkSts} </if> </select> <select id="selectAllWrkStsCountWrkMastSta" resultMap="BaseResultMap"> - select top 1 * from asr_wrk_mast_sta + select top 1 * from "SOURCE"."asr_wrk_mast_sta" where 1=1 <if test="type!=null"> - and type = #{type} + and TYPE = #{type} </if> <if test="wrkSts!=null"> - and wrk_sts = #{wrkSts} + and WRK_STS = #{wrkSts} </if> </select> -- Gitblit v1.9.1