#
zjj
2023-12-27 eeb25c1d45e28f0c09145d335d6a3e9535891bad
#
4个文件已修改
97 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/SiteController.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pipeline.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.domain.vo.PlcErrorTableVo;
import com.zy.asrs.domain.vo.SiteTableVo;
@@ -101,31 +102,66 @@
            Map<Integer, StaProtocol> station = devpThread.getStation();
            for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                StaProtocol staProtocol = entry.getValue();
//                if (staProtocol) {
//                    PlcErrorTableVo vo = new PlcErrorTableVo();
//                    vo.setNo(entry.getKey());   //  序号
//
//                    vo.setPlcDesc("");  //  todo:luxiaotao plc错误描述
//                    vo.setError("");    //  todo:luxiaotao 异常信息
//                    list.add(vo);
//                }
                if (!Cools.isEmpty(staPlcErr(entry))){
                    list.add(staPlcErr(entry).get(0)) ;
                }
            }
        }
        list.sort((o1, o2) -> {
            if (o1.getNo().compareTo(o2.getNo()) > 0){
                return 1;
            }else if (o1.getNo().compareTo(o2.getNo()) < 0){
                return 0;
            }else{
                return -1;
            }
        });
        return R.ok().add(list);
    }
    public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){
        List<PlcErrorTableVo> list = new ArrayList<>();
        StaProtocol staProtocol = entry.getValue();
        if (staProtocol.isFrontErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("前超限");
            vo.setError("前超限");
            list.add(vo);
        }
        if (staProtocol.isBackErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("后超限");
            vo.setError("后超限");
            list.add(vo);
        }
        if (staProtocol.isHighErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("高超限");
            vo.setError("高超限");
            list.add(vo);
        }
        if (staProtocol.isLeftErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("左超限");
            vo.setError("左超限");
            list.add(vo);
        }
        if (staProtocol.isRightErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("右超限");
            vo.setError("右超限");
            list.add(vo);
        }
        if (staProtocol.isBarcodeErr()){
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setNo(entry.getKey());   //  序号
            vo.setPlcDesc("扫码失败");
            vo.setError("扫码失败");
            list.add(vo);
        }
        return list;
    }
    @PostMapping("/output/site")
    @ManagerAuth(memo = "站点设备报文日志输出")
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -369,7 +369,7 @@
                        && staProtocol.isLoading()
                        && staProtocol.isInEnable()
                        && staProtocol.isPakMk()
                        && staProtocol.getWorkNo() == 9991) {
                        && staProtocol.getWorkNo() == 9999) {
//                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                    if (barcode.equals("") || barcode.equals("99999999")) {
@@ -389,7 +389,8 @@
                        continue;
                    }
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
//                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
                    ledThread.errorReset();
                    if (wrkMast == null) {
                        wrkMast = wrkMastMapper.selectPickStep(barcode);
@@ -474,6 +475,8 @@
                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    if (!result) {
                        log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId());
                    }else {
                        ledThread.errorReset();
                    }
                }
@@ -1293,6 +1296,7 @@
                // 获取空板入库站信息
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed());
                if (staProtocol == null) {
                    continue;
                } else {
@@ -1303,6 +1307,13 @@
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                        && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() >= 9990
                        && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) {
                    List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                            .eq("sta_no", emptyInSta.getStaNo())
                            .eq("io_type", 10)
                            .eq("wrk_sts", 2));
                    if (!Cools.isEmpty(wrkMasts)){
                        continue;
                    }
                    try {
                        LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -1319,7 +1330,7 @@
                        JSONObject jsonObject = JSON.parseObject(response);
                        if (jsonObject.getInteger("code").equals(200)) {
                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                            ledThread.errorReset();
                            // 更新站点信息 且 下发plc命令
                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
                            staProtocol.setStaNo(dto.getStaNo().shortValue());
src/main/resources/application.yml
@@ -160,17 +160,19 @@
    # 空板入库口1
    emptyInSta[0]:
      staNo: 1002
      led: ${wcs-slave.led[0].id}
    emptyInSta[1]:
      staNo: 1012
      led: ${wcs-slave.led[3].id}
    # 拣料入库口1
    pickSta[0]:
      staNo: 1003
      staNo: 1002
      barcode: ${wcs-slave.barcode[0].id}
      backSta: 1001
      led: ${wcs-slave.led[0].id}
    # 拣料入库口2
    pickSta[1]:
      staNo: 1013
      staNo: 1012
      barcode: ${wcs-slave.barcode[1].id}
      backSta: 1011
      led: ${wcs-slave.led[3].id}
src/main/webapp/views/pipeline.html
@@ -61,7 +61,7 @@
                    <table id="plc-error-table">
                        <thead>
                        <tr>
                            <th style="width: 200px">序号</th>
                            <th style="width: 200px">站点</th>
                            <th style="width: 400px">PLC错误描述</th>
                            <th style="width: 400px">异常</th>
                        </tr>