#
zzgtfwq
12 小时以前 d635a99e20e207b40b16b8536c02a0b74df63c61
#
9个文件已修改
164 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MonitorController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/license.lic 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -215,7 +215,7 @@
            Map<String, Object> map1 = new HashMap<>();
            map1.put("name", "空");
            map1.put("value", 11200-used);
            map1.put("value", 8064-used);
            pie.add(map1);
            Map<String, Object> map2 = new HashMap<>();
@@ -231,15 +231,15 @@
        // 库位使用率
        double usedDivides = Arith.divides(3, used, 11200);
        double usedDivides = Arith.divides(3, used, 8064);
        double usedPr = Arith.multiplys(1, usedDivides, 100);
        return R.ok(
                Cools.add("pie", pie)
                        .add("stockCunt", locUseRate.getFqty())
                        .add("emptyCount", 11200-used)
                        .add("emptyCount", 8064-used)
                        .add("noneCount", locUseRate.getXqty())
                        .add("total", 11200)
                        .add("total", 8064)
                        .add("used", used)
                        .add("usedPr", usedPr)
        );
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -195,12 +195,13 @@
        if (Cools.isEmpty(param.getBarcode())) {
             return R.error("容器编码[barcode]不能为空");
        }
        if (Cools.isEmpty(param.getStartPoint())) {
             return R.error("起点[startPoint]不能为空");
        }
        if (Cools.isEmpty(param.getTargetPoint())) {
             return R.error("目标点[targetPoint]不能为空");
        }
//        if (Cools.isEmpty(param.getStartPoint())) {
//             return R.error("起点[startPoint]不能为空");
//        }
//        if (Cools.isEmpty(param.getTargetPoint())) {
//             return R.error("目标点[targetPoint]不能为空");
//        }
        try {
            boolean result = openService.taskCreate(param);
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -31,7 +31,7 @@
    WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode);
    WrkMast selectPakInStep5(@Param("staNo")Integer staNo,@Param("sheetNo")String sheetNo);
    WrkMast selectPakInStep6(@Param("barcode")String barcode);
    /**
     * 查询同一台堆垛机下所有出库任务
     * @param crnNo
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -414,19 +414,18 @@
            // 遍历拣料入库口
            for (DevpSlave.Sta pickSta : devp.getPickSta()) {
//                // 获取条码扫描仪信息
//                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
//                if (barcodeThread == null) {
//                    continue;
//                }
//                String barcode = barcodeThread.getBarcode();
//                if(!Cools.isEmpty(barcode)) {
//                    log.info("{}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode);
//                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
//                        continue;
//                    }
//                } else {
//                    continue;
//                }
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
                if (barcodeThread == null) {
                    continue;
                }
                String barcode = barcodeThread.getBarcode();
                if(!Cools.isEmpty(barcode)) {
                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                        continue;
                    }
                } else {
                    continue;
                }
                // 获取拣料入库站信息
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -440,9 +439,9 @@
//                // 入出库模式判断
//                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() ) {
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9998) {
//                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep6(barcode);
                    if (wrkMast == null) {
                        // 无拣料数据
                        continue;
@@ -455,45 +454,27 @@
                    //   获取库位号
                    try {
                        SearchLocParam param = new SearchLocParam();
                        Integer staNo = wrkMast.getSourceStaNo();
                        param.setBarcode(wrkMast.getBarcode());
                        param.setIoType(wrkMast.getIoType());
                        param.setSourceStaNo(pickSta.getStaNo()); //作业站点
                        param.setLocType1((short)1);
                        String response = "";
                        log.info("入库作业站"+pickSta.getStaNo()+"盘点再入库任务请求WMS===>>参数:" + param);
                        try {
                            response = new HttpHandler.Builder()
                                    .setUri(wmsUrl)
                                    .setPath("/rpc/pakin2/loc/v1")
                                    .setJson(JSON.toJSONString(param))
                                    .setTimeout(15, TimeUnit.SECONDS)
                                    .build()
                                    .doPost();
                        } catch(Exception e){
                            log.error("入库作业站"+pickSta.getStaNo()+"盘点再入库任务请求WMS===>>参数:" + param);
                            log.error("stnToCrnStnPick2===>>盘点查库位入库接口失败", e);
                            e.printStackTrace();
                            continue;
                        wrkMast.setIoType(wrkMast.getIoType() - 50);
                        wrkMast.setWrkSts(2L);
                        wrkMast.setSourceStaNo(wrkMast.getStaNo()-1);
                        wrkMast.setStaNo(staNo - 2);
                        wrkMast.setLocNo(wrkMast.getSourceLocNo());
                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
                        if(locMast.getLocSts().equals("P")){
                            locMast.setLocSts("Q");
                            locMastService.updateById(locMast);
                        }
                        log.info("入库作业站"+pickSta.getStaNo()+"盘点再入库任务请求WMS===>>参数:" + param);
                        log.info("入库作业站"+pickSta.getStaNo()+"下发盘点再入库任务请求WMS返回结果===>>" + response);
                        if(response.equals("")) {
                            continue;
                        }
                        JSONObject jsonObject = JSON.parseObject(response);
//                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                        Integer code = jsonObject.getInteger("code");
                        if (code == 200) {
                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                            if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getStaNo())) {
                                log.error("任务号"+wrkMast.getWrkNo()+"盘点再入库查询库位失败===>>" + jsonObject.toJSONString());
                            } else {
                                log.info("任务号"+wrkMast.getWrkNo()+"盘点再入库查询库位成功===>>" + jsonObject.toJSONString());
                        if (wrkMastService.updateById(wrkMast)) {
                                try {
                                    // 更新站点信息 且 下发plc命令
                                    staProtocol.setWorkNo(wrkMast.getWrkNo());
                                    staProtocol.setStaNo(dto.getStaNo().shortValue());
                                    devpThread.setPakMk(staProtocol.getSiteId(), false,1096);
                                staProtocol.setStaNo((short)(wrkMast.getSourceStaNo() - 1));
                                devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
//                                    ledThread.errorReset();
                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                    if (!result) {
@@ -505,9 +486,6 @@
                                    e.printStackTrace();
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                }
                            }
                        } else {
                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin2/loc/v1", JSON.toJSONString(param), response);
                        }
                    } catch (Exception e) {
                        log.error("stnToCrnStnPick2===>>fail", e);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -180,52 +180,44 @@
            // 2. 保存WrkMast
            WrkMast wrkMast = new WrkMast();
            int workNo = getWorkNo(0);
            Integer sourceStaNo = (param.getStartPoint() == null || param.getStartPoint().isEmpty())
                    ? null : Integer.valueOf(param.getStartPoint());
            Integer targetStaNo = (param.getTargetPoint() == null || param.getTargetPoint().isEmpty())
                    ? null : Integer.valueOf(param.getTargetPoint());
            if(param.getIoType() == 2 || param.getIoType() == 12){
                wrkMast.setWrkNo(workNo);
                wrkMast.setUserNo(param.getTaskNo());
                wrkMast.setIoType(param.getIoType() != 2?10:1);
                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
                wrkMast.setBarcode(param.getBarcode());
                wrkMast.setMemo(param.getMemo());
                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
                wrkMast.setLocNo(param.getTargetLocNo());
                wrkMast.setSourceLocNo(param.getSourceLocNo());
            }else if(param.getIoType() == 22 || param.getIoType() == 32){
                wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
                wrkMast = wrkMastService.selectOne(
                        new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())
                );
                wrkMast.setWrkSts(param.getIoType() != 32 ? 53L: 57L);
                wrkMast.setWrkNo(workNo);
                wrkMast.setUserNo(param.getTaskNo());
                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
                wrkMast.setBarcode(param.getBarcode());
                wrkMast.setMemo(param.getMemo());
                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
                wrkMast.setLocNo(param.getTargetLocNo());
                wrkMast.setSourceLocNo(param.getSourceLocNo());
            }else if(param.getIoType() == 3){
                wrkMast.setWrkNo(workNo);
                wrkMast.setUserNo(param.getTaskNo());
                wrkMast.setEmptyMk("N");
                wrkMast.setIoType(11);
                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 12.0);
                wrkMast.setBarcode(param.getBarcode());
                wrkMast.setMemo(param.getMemo());
                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
                wrkMast.setLocNo(param.getTargetLocNo());
                wrkMast.setSourceLocNo(param.getSourceLocNo());
            }else{
                wrkMast.setIoType(ioType);
            }
            /* 公共字段 */
                wrkMast.setWrkNo(workNo);
                wrkMast.setUserNo(param.getTaskNo());
                wrkMast.setIoType(ioType);
                wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
                wrkMast.setBarcode(param.getBarcode());
                wrkMast.setMemo(param.getMemo());
                wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
                wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
            wrkMast.setSourceStaNo(sourceStaNo);
            wrkMast.setStaNo(targetStaNo);
                wrkMast.setLocNo(param.getTargetLocNo());
                wrkMast.setSourceLocNo(param.getSourceLocNo());
            }
            if(Inbound){
                wrkMast.setWrkSts(2L);
@@ -268,7 +260,7 @@
            }
            // 3. 保存WrkDetl
            if (param.getDetlList() != null && !param.getDetlList().isEmpty()) {
            if (param.getDetlList() != null && !param.getDetlList().isEmpty() && param.getIoType()!=3) {
                for (TaskCreateParam.Detl detl : param.getDetlList()) {
                    WrkDetl wrkDetl = new WrkDetl();
                    wrkDetl.setWrkNo(wrkMast.getWrkNo());
src/main/java/com/zy/core/MainProcess.java
@@ -58,7 +58,7 @@
//                    continue;
//                }
                //盘点拣料再入库
//                mainService.stnToCrnStnPick();
                mainService.stnToCrnStnPick();
                // 入库  ===>> 入库站到堆垛机站,根据条码扫描生成入库工作档
                mainService.generateStoreWrkFile(); // 组托
src/main/java/com/zy/core/thread/RgvThread.java
@@ -415,6 +415,7 @@
                                    RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
                                    break;
                                }
                                Thread.sleep(1000);
                            }
                            if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50
                                    && taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){
src/main/resources/license.lic
Binary files differ
src/main/resources/mapper/WrkMastMapper.xml
@@ -119,7 +119,9 @@
    <select id="selectPakInStep5" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast where sta_no=#{staNo} and wrk_sts = 14 and io_type>100 and sheet_no!=#{sheetNo}
    </select>
    <select id="selectPakInStep6" resultMap="BaseResultMap">
        select top 1 * from dbo.asr_wrk_mast where barcode=#{barcode} and wrk_sts = 14
    </select>
    <select id="selectPakInStep12" resultMap="BaseResultMap">
        select * from dbo.asr_wrk_mast where wrk_sts=2 and crn_no=#{crnNo} and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC
    </select>