#
zzgtfwq
5 小时以前 d635a99e20e207b40b16b8536c02a0b74df63c61
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -180,52 +180,44 @@
            // 2. 保存WrkMast
            WrkMast wrkMast = new WrkMast();
            int workNo = getWorkNo(0);
            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.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());
            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.setIoType(param.getIoType() != 2 ? 10 : 1);
            } else if (param.getIoType() == 22 || param.getIoType() == 32) {
                wrkMast = wrkMastService.selectOne(
                        new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())
                );
                wrkMast.setWrkSts(param.getIoType() != 32 ? 53L : 57L);
            } else if (param.getIoType() == 3) {
                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.setWrkNo(workNo);
                wrkMast.setUserNo(param.getTaskNo());
            } else {
                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.setLocNo(param.getTargetLocNo());
                wrkMast.setSourceLocNo(param.getSourceLocNo());
            }
            /* 公共字段 */
            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(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());
@@ -342,17 +334,22 @@
             if (devpThread == null) continue;
             
             // 检查该PLC是否管理该站点
             if (devpThread.getStation().containsKey(sourceStaNo.shortValue())) {
                 StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo.shortValue());
                 if (staProtocol != null && staProtocol.getWorkNo() == 9998) {
             if (devpThread.getStation().containsKey(sourceStaNo)) {
                 StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo);
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
                 if (staProtocol != null && staProtocol.getWorkNo() == 9999) {
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
                     if (wrkMast.getStaNo() != null) {
                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
                        staProtocol.setStaNo((short)(wrkMast.getSourceStaNo()- 1));
                     }
                     
                     // 下发PLC指令
                     devpThread.setPakMk(staProtocol.getSiteId(), false, 283);
                     devpThread.setPakMk(staProtocol.getSiteId(), false, 9999);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     
                     if (result) {