|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  | import com.zy.asrs.entity.*; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.zy.asrs.utils.PostMesDataUtils; | 
|---|
|  |  |  | import com.zy.asrs.utils.Utils; | 
|---|
|  |  |  | import com.zy.common.service.CommonService; | 
|---|
|  |  |  | import com.zy.common.utils.HttpHandler; | 
|---|
|  |  |  | import com.zy.core.CrnThread; | 
|---|
|  |  |  | import com.zy.core.DevpThread; | 
|---|
|  |  |  | import com.zy.core.cache.SlaveConnection; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 | 
|---|
|  |  |  | if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<TaskWrk> taskWrks1 = taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo()); | 
|---|
|  |  |  | if (Cools.isEmpty(taskWrks1) && taskWrks1.size()!=0){ | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint()); | 
|---|
|  |  |  | LocMast shallowLoc = locMastService.selectById(shallowLocNo); | 
|---|
|  |  |  | if (!shallowLoc.getLocSts().equals("O")){ | 
|---|
|  |  |  | // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬! | 
|---|
|  |  |  | if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { | 
|---|
|  |  |  | log.error("工作号={},库位号={},浅库位异常:浅库位号:={},库位状态={}",taskWrk.getTaskNo(),taskWrk.getStartPoint(),shallowLocNo,shallowLoc.getLocSts()); | 
|---|
|  |  |  | } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { | 
|---|
|  |  |  | taskWrk.setTransferMark(1); | 
|---|
|  |  |  | taskWrkMapper.updateById(taskWrk); | 
|---|
|  |  |  | WMSAndAGVInterfaceParam param = new WMSAndAGVInterfaceParam(); | 
|---|
|  |  |  | param.setTaskNo(taskWrk.getTaskNo()); | 
|---|
|  |  |  | new PostMesDataUtils().postMesData("MES系统",wmsUrl,movePath,param); | 
|---|
|  |  |  | log.error("工作号={},库位号={},浅库位需要移库:浅库位号:={},库位状态={}",taskWrk.getTaskNo(),taskWrk.getStartPoint(),shallowLocNo,shallowLoc.getLocSts()); | 
|---|
|  |  |  | } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { | 
|---|
|  |  |  | log.error("工作号={},库位号={},浅库位异常:浅库位号:={},库位状态={}",taskWrk.getTaskNo(),taskWrk.getStartPoint(),shallowLocNo,shallowLoc.getLocSts()); | 
|---|
|  |  |  | TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo); | 
|---|
|  |  |  | if (!Cools.isEmpty(hallowLocNoTask)){ | 
|---|
|  |  |  | //                            new PostMesDataUtils().postMesData("移库任务分配库位",wmsUrl,movePath,hallowLocNoTask); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String response = new HttpHandler.Builder() | 
|---|
|  |  |  | .setUri(wmsUrl) | 
|---|
|  |  |  | .setPath(movePath) | 
|---|
|  |  |  | .setJson(JSON.toJSONString(hallowLocNoTask)) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  | .doPost(); | 
|---|
|  |  |  | System.out.println("response:"+response); | 
|---|
|  |  |  | JSONObject jsonObject = JSON.parseObject(response); | 
|---|
|  |  |  | if (jsonObject.getInteger("code").equals(200)) { | 
|---|
|  |  |  | //解析 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl+"/"+movePath, JSON.toJSONString(hallowLocNoTask), "请求移库任务分配库位"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|