*
lsh
2025-11-05 f7549d786a572e344e8cd3e94a0827a8c219760b
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2810,20 +2810,6 @@
                continue;
            }
//            CrnSlave crn = new CrnSlave(crnSlave);
//            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
//                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
//                continue;
//            }
//
//            if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
//                for (CrnSlave crnOther : slaveProperties.getCrn()) {
//                    if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
//                        crn.updateCrnInStn(crnOther);
//                    }
//                }
//            }
            // 只有当堆垛机空闲 并且 无任务时才继续执行
            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
                    && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
@@ -3236,19 +3222,7 @@
                    continue;
                }
                CrnSlave crn = new CrnSlave(crnSlave);
                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                    CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
                    continue;
                }
                if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
                            crn.updateCrnInStn(crnOther);
                        }
                    }
                }
                CrnSlave crn = crnSlave;
                //  状态:等待确认 并且  任务完成位 = 1
                if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
@@ -3258,14 +3232,7 @@
                        log.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},巷道号={},工作号={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
                        continue;
                    }
//                Thread.sleep(300);
                    //确认完成信号
//                    CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
//                    crnOperatorParam.setCrnNo(crn.getId());
                    Date now = new Date();
//                    crnController.crnTaskComplete(crnOperatorParam);
//                    MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))
                    crnThread.setResetFlag(true);
                    if (!Cools.isEmpty(taskWrk)) {
@@ -3311,44 +3278,6 @@
                        taskWrk.setCompleteTime(now);
                        taskWrkService.updateById(taskWrk);
//                    try {
//                        HashMap<String, Object> headParam = new HashMap<>();
//                        headParam.put("taskNo",taskWrk.getTaskNo());
//                        headParam.put("taskStatus",taskWrk.getStatusWms());
//                        headParam.put("ioType",taskWrk.getIoTypeWms());
//                        headParam.put("barCode",taskWrk.getBarcode());
//                        headParam.put("reportTime", LocalDateTime.now());
//                        headParam.put("weight",taskWrk.getScWeight().doubleValue());
//
//                        String response;
//                        log.error("wcs完结任务上报wms==》", headParam);
//
//                        response = new HttpHandler.Builder()
//                                // .setHeaders(headParam)
//                                .setUri(wmsUrl)
//                                .setPath(taskStatusFeedbackPath)
//                                .setJson(JSON.toJSONString(headParam))
//                                .build()
//                                .doPost();
//                        log.error("wcs完结任务上报wms==》", response);
//
////                        JSONObject jsonObject = JSON.parseObject(response);
////                        log.error("wcs完结任务上报wms==》", jsonObject);
//
//                        apiLogService.save("wcs派发入库任务上报wms"
//                                , wmsUrl + taskStatusFeedbackPath
//                                , null
//                                , "127.0.0.1"
//                                , JSON.toJSONString(headParam)
//                                , response
//                                , true
//                        );
//                    } catch (Exception e) {
//                        log.error("wcs完结任务上报wms失败", taskWrk);
//                        log.error("wcs完结任务上报wms失败,报错信息:", e);
////                        throw new CoolException("wcs派发入库任务上报wms失败");
//                    }
                    }
                }
@@ -3370,6 +3299,14 @@
                    if (Cools.isEmpty(crnProtocol.getLocMastDemoList())) {
                        continue;
                    }
                    BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
                    if (basCrnp == null) {
                        log.error("{}号堆垛机尚未在数据库进行维护!", crnSlave.getId());
                        continue;
                    }
                    if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                        continue;
                    }
                    for (String locNo : crnProtocol.getLocMastDemoList()){
                        LocMast locMast = locMastService.selectByLocNo(locNo);
                        if (locMast.getLocSts().equals("F")){