|  |  |  | 
|---|
|  |  |  | import com.zy.asrs.entity.*; | 
|---|
|  |  |  | import com.zy.asrs.mapper.BasCrnErrorMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.BasCrnpService; | 
|---|
|  |  |  | import com.zy.asrs.service.LocMastService; | 
|---|
|  |  |  | import com.zy.asrs.service.WrkMastService; | 
|---|
|  |  |  | import com.zy.asrs.service.TaskWrkService; | 
|---|
|  |  |  | import com.zy.asrs.utils.CommandUtils; | 
|---|
|  |  |  | import com.zy.asrs.utils.CrnOperaUtils; | 
|---|
|  |  |  | import com.zy.core.CrnThread; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.zy.core.properties.SystemProperties; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | public class CrnController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${wms.url}") | 
|---|
|  |  |  | private String wmsUrl; | 
|---|
|  |  |  | @Value("${wms.movePath}") | 
|---|
|  |  |  | private String movePath; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SlaveProperties slaveProperties; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WrkMastService wrkMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasCrnErrorMapper basCrnErrorMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasCrnpService basCrnpService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMastService locMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CrnOperaUtils crnOperaUtils; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private TaskWrkService taskWrkService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ManagerAuth(memo = "进行中的命令") | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号 | 
|---|
|  |  |  | if (crnProtocol.getTaskNo()>0) { | 
|---|
|  |  |  | WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); | 
|---|
|  |  |  | if (wrkMast != null) { | 
|---|
|  |  |  | vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站 | 
|---|
|  |  |  | vo.setStaNo(wrkMast.getStaNo$());   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(wrkMast.getLocNo());    //  目标库位 | 
|---|
|  |  |  | TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); | 
|---|
|  |  |  | if (taskWrk != null) { | 
|---|
|  |  |  | vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(null);    //  源站 | 
|---|
|  |  |  | vo.setStaNo(null);   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(taskWrk.getStartPoint());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(taskWrk.getTargetPoint());    //  目标库位 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号 | 
|---|
|  |  |  | if (crnProtocol.getTaskNo()>0) { | 
|---|
|  |  |  | WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); | 
|---|
|  |  |  | if (wrkMast != null) { | 
|---|
|  |  |  | vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站 | 
|---|
|  |  |  | vo.setStaNo(wrkMast.getStaNo$());   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(wrkMast.getLocNo());    //  目标库位 | 
|---|
|  |  |  | TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); | 
|---|
|  |  |  | if (taskWrk != null) { | 
|---|
|  |  |  | vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(null);    //  源站 | 
|---|
|  |  |  | vo.setStaNo(null);   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(taskWrk.getStartPoint());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(taskWrk.getTargetPoint());    //  目标库位 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号 | 
|---|
|  |  |  | if (crnProtocol.getTaskNo()>0) { | 
|---|
|  |  |  | WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); | 
|---|
|  |  |  | if (wrkMast != null) { | 
|---|
|  |  |  | vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站 | 
|---|
|  |  |  | vo.setStaNo(wrkMast.getStaNo$());   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(wrkMast.getLocNo());    //  目标库位 | 
|---|
|  |  |  | TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); | 
|---|
|  |  |  | if (taskWrk != null) { | 
|---|
|  |  |  | vo.setDeviceStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc());   //  模式状态 | 
|---|
|  |  |  | vo.setSourceStaNo(null);    //  源站 | 
|---|
|  |  |  | vo.setStaNo(null);   //  目标站 | 
|---|
|  |  |  | vo.setSourceLocNo(taskWrk.getStartPoint());    //  源库位 | 
|---|
|  |  |  | vo.setLocNo(taskWrk.getTargetPoint());    //  目标库位 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态 | 
|---|