From 7381c3f093f3b98d169f5f75b05bb8f01a9e799a Mon Sep 17 00:00:00 2001 From: LSH Date: 星期五, 22 十二月 2023 12:52:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 134 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 122 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index 080f9f4..00a2fbf 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -1,28 +1,42 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.entity.CommandInfo; import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.entity.param.TaskOverToWms; +import com.zy.asrs.service.CommandInfoService; import com.zy.asrs.service.TaskWrkService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; +import com.zy.common.utils.HttpHandler; import com.zy.common.web.BaseController; +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.*; @RestController +@Slf4j public class TaskWrkController extends BaseController { + + @Value("${wms.url}") + private String wmsUrl; @Autowired private TaskWrkService taskWrkService; + + @Autowired + private CommandInfoService commandInfoService; @RequestMapping(value = "/taskWrk/{wrkNo}/auth") @ManagerAuth @@ -67,10 +81,28 @@ @RequestMapping(value = "/taskWrk/update/auth") @ManagerAuth public R update(TaskWrk taskWrk){ - if (Cools.isEmpty(taskWrk) || null==taskWrk.getTaskNo()){ + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { return R.error(); } taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @RequestMapping(value = "/taskWrk/updatePoint/auth") + @ManagerAuth + public R updatePoint(TaskWrk taskWrk){ + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { + return R.error(); + } + TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(taskWrk.getTaskNo()); + if (taskWrk1 == null) { + return R.error(); + } + taskWrk1.setStartPoint(taskWrk.getStartPoint()); + taskWrk1.setTargetPoint(taskWrk.getTargetPoint()); + taskWrk1.setModiTime(new Date()); + taskWrk1.setModiUser(getUserId()); + taskWrkService.updateById(taskWrk1); return R.ok(); } @@ -131,18 +163,79 @@ @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟") public R complete(@RequestParam String taskNo) { TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (taskWrk == null) { - return R.error(); + + + 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()); //婧愬簱浣� } - if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) { - return R.error(taskWrk.getTaskNo() + "宸插畬缁�"); + + taskOverToWms.setTaskStatus("handle"); //浠诲姟鐘舵�� + 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杩炴帴澶辫触"); } - Date now = new Date(); - taskWrk.setStatus(TaskStatusType.COMPLETE.id); - taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 - taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� - taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 - taskWrkService.updateById(taskWrk); + + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)){ + if (taskWrk == null) { + return R.error(); + } + if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) { + return R.error(taskWrk.getTaskNo() + "宸插畬缁�"); + } + Date now = new Date(); + taskWrk.setStatus(TaskStatusType.COMPLETE.id); + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + try{ + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + }catch (Exception e){ + taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + } + taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 + taskWrkService.updateById(taskWrk); + + + if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) > 0) { + //浠诲姟宸茬粡杞棩蹇楋紝灏嗚浠诲姟涓嬮潰鐨勬寚浠よ浆鏃ュ織 + commandInfoService.saveToHistory(taskWrk.getTaskNo()); + + //鍒犻櫎浠诲姟 + taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo())); + //鍒犻櫎鎸囦护 + commandInfoService.delete(new EntityWrapper<CommandInfo>().eq("task_no", taskWrk.getTaskNo())); + } + }else { + return R.error("wms閫氳澶辫触"); + } + + return R.ok(); } @@ -159,7 +252,11 @@ Date now = new Date(); taskWrk.setStatus(TaskStatusType.CANCEL.id); taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 - taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + try{ + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + }catch (Exception e){ + taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + } taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); return R.ok(); @@ -180,4 +277,17 @@ return R.ok(); } + public static String getTaskType(Integer paramIoType){ + switch (paramIoType){ + case 1: + return "RK"; + case 2: + return "CK"; + case 3: + return "YK"; + default: + return "鏈煡"; + } + } + } -- Gitblit v1.9.1