zjj
2024-01-03 1d1535329278351e048841e97608bc072248e490
#取消任务同步wms
1个文件已修改
67 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/TaskWrkController.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -29,6 +29,8 @@
import java.net.UnknownHostException;
import java.util.*;
import static com.zy.asrs.entity.param.TaskStatusFeedbackParam.getTaskType;
@RestController
@Slf4j
public class TaskWrkController extends BaseController {
@@ -265,22 +267,65 @@
        if (taskWrk == null) {
            return R.error();
        }
        if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
            return R.error(taskWrk.getTaskNo() + "已被取消");
        String wmsCancelledtask = toWmsCancelledtask(taskWrk);
        JSONObject jsonObject = JSON.parseObject(wmsCancelledtask);
        if (Cools.isEmpty(jsonObject)){
            return R.error("超时或未知错误");
        }
        Date now = new Date();
        taskWrk.setStatus(TaskStatusType.CANCEL.id);
        taskWrk.setModiTime(now);//操作时间
        try{
            taskWrk.setModiUser(getUserId());//操作员
        }catch (Exception e){
            taskWrk.setModiUser(9999L);//操作员
        if (jsonObject.getInteger("code").equals(200)){
            if (!taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no",taskNo))){
                return R.error("删除任务失败");
            }
        }else if (jsonObject.getInteger("code").equals(500)){
            return R.error(jsonObject.get("msg").toString());
        }else {
            return R.error("超时或未知错误");
        }
        taskWrk.setCompleteTime(now);//完结时间
        taskWrkService.updateById(taskWrk);
        return R.ok();
    }
    public String toWmsCancelledtask(TaskWrk taskWrk){
        Map<String, Object> map = new HashMap<>();
        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
        TaskOverToWms taskOverToWms = new TaskOverToWms();
        taskOverToWms.setFeedbackFrom("WCS"); //来源
        taskOverToWms.setWarehouseId("1688469798893297665"); //仓库标识
        taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //任务号
        taskOverToWms.setTaskType(getTaskType(taskWrk.getIoType())); // 任务类型
        taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 容器编码
        if (taskWrk.getIoType() ==1 ){
            taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //设备编码
            taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //目标库位
        }else if (taskWrk.getIoType() ==2){
            Map<Integer,String> map1 = new HashMap<>();
            map1.put(102,"J-1101");
            map1.put(106,"J-1103");
            map1.put(110,"J-1105");
            map1.put(114,"J-1107");
            map1.put(118,"J-1109");
            map1.put(122,"J-1111");
            taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //设备编码
            taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //源库位
        }
        taskOverToWms.setTaskStatus("cancelled"); //任务状态
        String response = null;
        try {
            response = new HttpHandler.Builder()
                    .setHeaders(map)
                    .setUri(wmsUrl)
                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
                    .setJson(JSON.toJSONString(taskOverToWms))
                    .build()
                    .doPost();
        }catch (Exception e){
            log.error("wms连接失败");
        }
        return response;
    }
    @PostMapping(value = "/taskWrk/updateCommandStep")
    @ManagerAuth(memo = "更新步序")
    public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) {