From 3f68c7a7f117eda92eed81c8951317429e6a9a0c Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期五, 02 二月 2024 12:01:48 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  188 +++++++++++++++++++++-------------------------
 1 files changed, 87 insertions(+), 101 deletions(-)

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 fc220a1..4270982 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.controller.CrnController;
 import com.zy.asrs.controller.OpenController;
+import com.zy.asrs.controller.SiteController;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.domain.param.CrnOperatorParam;
@@ -101,6 +102,8 @@
     private String taskStatusFeedbackPath;
     @Autowired
     private CrnController crnController;
+    @Autowired
+    private SiteController siteController;
 
 
     public void generateStoreWrkFile() throws IOException, InterruptedException {
@@ -218,6 +221,41 @@
                             log.info("鍏ュ簱璇锋眰鍙傛暟{}" + JSON.toJSONString(toWmsDTO));
                             if (jsonObject.getInteger("code").equals(200) && !Cools.isEmpty(jsonObject.get("data").toString())) {
                                 GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
+
+                                //鏌ョ湅璇ュ簱浣嶆槸鍚︿负绌哄簱浣�
+                                LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+                                        .eq("loc_sts","O")
+                                        .eq("loc_no",getWmsDto.getLocNo()));
+                                if(Cools.isEmpty(locMast)){
+                                    try{
+                                        HashMap<String, Object> headParam1 = new HashMap<>();
+                                        headParam1.put("taskNo",getWmsDto.getTaskNo());
+                                        headParam1.put("status",6);
+                                        headParam1.put("ioType",1);
+                                        headParam1.put("barcode",barcode);
+                                        String response2;
+                                        response2 = new HttpHandler.Builder()
+                                                // .setHeaders(headParam)
+                                                .setUri(wmsUrl)
+                                                .setPath(taskStatusFeedbackPath)
+                                                .setJson(JSON.toJSONString(headParam1))
+                                                .build()
+                                                .doPost();
+                                        JSONObject jsonObject1 = JSON.parseObject(response2);
+                                        apiLogService.save("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms"
+                                                ,wmsUrl+taskStatusFeedbackPath
+                                                ,null
+                                                ,"127.0.0.1"
+                                                ,JSON.toJSONString(headParam1)
+                                                ,response
+                                                ,true
+                                        );
+                                    }catch (Exception e){
+                                        log.error("wcs娲惧彂搴撲綅涓嶄负绌轰笂鎶ms", getWmsDto.getWrkNo());
+                                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+                                    }
+                                }
+
                                 // 鍒涙柊涓�涓叆搴撳伐浣滄。
                                 TaskWrk taskWrk = taskWrkService.selectByTaskNo(getWmsDto.getWrkNo());
                                 if(Cools.isEmpty(taskWrk)) {
@@ -347,44 +385,10 @@
                         if (taskWrk == null) {
                             continue;
                         }
-                        // 鍒ゆ柇宸ヤ綔妗f潯浠�
-                        if (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 2) {
-                            // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
-                            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo());
-                            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-                            if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
-                                // 绉诲姩涓�
-                                continue;
-                            }
-                            //  鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
-                            if (crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue())
-                                    && crnProtocol.getTaskFinish() == 0
-                                    && crnProtocol.forkPosType == CrnForkPosType.HOME) {
-                                // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
-                                //鍙栧嚭杈撻�佺嚎鍛戒护
-                                List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
-                                if (commandInfos.isEmpty()) {
-                                    continue;//鍛戒护绌�
-                                }
-
-//                                CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃
-//                                CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class);
-                                Integer commandStep = taskWrk.getCommandStep();
-                                CommandInfo commandInfo = commandInfos.get(commandStep);
-                                CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃
-                                //StaProtocol staProtocol1 = JSON.parseObject(commandInfo.getCommand(), StaProtocol.class);
-                                StaProtocol staProtocol1 = JSON.parseObject(commandPackage.getCommand().toString(), StaProtocol.class);
-                                if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol1))) {
-                                    log.error("杈撻�佺嚎鍛戒护涓嬫柟澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo());
-                                    continue;//鍛戒护涓嬪彂澶辫触
-                                }
-
-                                // 澶嶄綅鍫嗗灈鏈�
-                                crnThread.setResetFlag(true);
-
-                            }
-                        }
+                        siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()),taskWrk.getWrkNo().shortValue(),(short)0,"Y",false,false);
+                        taskWrk.setStatus(5);
+                        taskWrk.setWrkSts(14);
+                        taskWrkService.updateById(taskWrk);
                     }
                 }
 
@@ -752,13 +756,13 @@
             for (TaskWrk taskWrk : taskWrks){
 
                 // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-                if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
-                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
-                    TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
-                    if (!Cools.isEmpty(hallowLocNoTask)){
-                        continue;
-                    }
-                }
+//                if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
+//                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
+//                    TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
+//                    if (!Cools.isEmpty(hallowLocNoTask)){
+//                        continue;
+//                    }
+//                }
                 // 鍫嗗灈鏈烘帶鍒惰繃婊�
                 if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
                     continue;
@@ -768,44 +772,7 @@
                 if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) {
                     continue;
                 }
-                if (Cools.isEmpty(taskWrk.getTargetPoint())){
-                    List<Integer> list = openServiceImpl.getInEnableRoadway();
-                    Map<String, Object> map = new HashMap<>();
-                    map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
-                    ToWmsDTO toWmsDTO = new ToWmsDTO();
-                    toWmsDTO.setWarehouseId("1688469798893297665");
-                    toWmsDTO.setContainerCode(taskWrk.getBarcode());
-                    toWmsDTO.setApplyType("TUNNEL_LOCATION");
-                    toWmsDTO.setTaskTunnel(taskWrk.getCrnNo());
-                    toWmsDTO.setCanInboundTunnels(list);
-                    String response = null;
-                    try {
-                        response = new HttpHandler.Builder()
-                                .setHeaders(map)
-                                .setUri(wmsUrl)
-                                .setPath("wcsManager/wcsInterface/inboundTaskApply")
-                                .setJson(JSON.toJSONString(toWmsDTO))
-                                .build()
-                                .doPost();
-                    }catch (Exception e){
-                        log.error("wms閫氳澶辫触,"+e.getMessage());
-                        continue;
-                    }
-                    JSONObject jsonObject = JSON.parseObject(response);
-                    if (jsonObject.getInteger("code").equals(200)) {
-                        GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
-                        taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode());
-                        taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
-                        if (!taskWrkService.updateById(taskWrk)){
-                            log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
-                        }
-                        continue;
-                    }else {
-                        log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
-                        continue;
-                    }
 
-                }
                 if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("") || taskWrk.getWrkNo() == null) {
                     continue;
                 }
@@ -826,12 +793,12 @@
                 crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-                crnCommand.setSourcePosZ(Utils.getRowShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶆帓
-                crnCommand.setSourcePosX(Utils.getBayShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅垪
-                crnCommand.setSourcePosY(Utils.getLevShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅眰
-                crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
-                crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
+                crnCommand.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶆帓
+                crnCommand.setSourcePosY(Utils.getBayShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅垪
+                crnCommand.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint()));     // 婧愬簱浣嶅眰
+                crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鎺�
+                crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
+                crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
                 crnCommand.setCommand((short) 1);
                 if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand),false)) {
                     log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
@@ -839,20 +806,39 @@
                     // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
                     Date now = new Date();
                     taskWrk.setWrkSts(12);
+                    taskWrk.setStatus(2);
                     taskWrk.setModiTime(now);
                     if (taskWrkMapper.updateById(taskWrk) == 0) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                     }
-                    //寮�濮嬭繍琛�
-                    String response = CrnStartRunning(taskWrk);
-                    JSONObject jsonObject = JSON.parseObject(response);
-                    if (jsonObject.getInteger("code").equals(200)) {
-
-                    }else {
-                        log.error("绉诲簱浠诲姟寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg"));
-                        continue;
+                    try{
+                        HashMap<String, Object> headParam = new HashMap<>();
+                        headParam.put("taskNo",taskWrk.getTaskNo());
+                        headParam.put("status",taskWrk.getStatus());
+                        headParam.put("ioType",taskWrk.getIoType());
+                        headParam.put("barcode",taskWrk.getBarcode());
+                        String response;
+                        response = new HttpHandler.Builder()
+                                // .setHeaders(headParam)
+                                .setUri(wmsUrl)
+                                .setPath(taskStatusFeedbackPath)
+                                .setJson(JSON.toJSONString(headParam))
+                                .build()
+                                .doPost();
+                        JSONObject jsonObject = JSON.parseObject(response);
+                        apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms"
+                                ,wmsUrl+taskStatusFeedbackPath
+                                ,null
+                                ,"127.0.0.1"
+                                ,JSON.toJSONString(headParam)
+                                ,response
+                                ,true
+                        );
+                    }catch (Exception e){
+                        log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", taskWrk);
+                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
                     }
-                    break;
+
                 }
                 return;
             }
@@ -933,7 +919,7 @@
 
                 crnController.crnTaskComplete(crnOperatorParam);
                 if(!Cools.isEmpty(taskWrk)){
-                    if(taskWrk.getIoType()==1){
+                    if(taskWrk.getIoType()==1&&taskWrk.getWrkSts()==3){
                         taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
                         //鏇存柊搴撲綅鐘舵��
@@ -943,8 +929,8 @@
                         locMast.setModiTime(new Date());
                         locMast.setModiUser(9999L);
                         locMastService.updateById(locMast);
-                    }else if(taskWrk.getIoType()==2){
-                        taskWrk.setWrkSts(14);//鍑哄簱瀹屾垚
+                    }else if(taskWrk.getIoType()==2&&taskWrk.getWrkSts()==12){
+                        taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
                         //鏇存柊搴撲綅鐘舵��
                         LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
@@ -953,7 +939,7 @@
                         locMast.setModiTime(new Date());
                         locMast.setModiUser(9999L);
                         locMastService.updateById(locMast);
-                    }else if(taskWrk.getIoType()==3){
+                    }else if(taskWrk.getIoType()==3&&taskWrk.getWrkSts()==12){
                         taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
                         //鏇存柊搴撲綅鐘舵��

--
Gitblit v1.9.1