From 9c3da520c38c813d6b615adb5b49e7519c994f6b Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 13 六月 2025 12:53:45 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/controller/OpenController.java | 239 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 151 insertions(+), 88 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 52da4d3..8b60abe 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -3,18 +3,17 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.annotations.AppAuth; -import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; -import com.fasterxml.jackson.databind.ObjectMapper; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.*; +import com.zy.asrs.entity.param.CarryParam; +import com.zy.asrs.entity.param.CrnStatusParam; +import com.zy.asrs.entity.param.TaskCreateParam; +import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.web.BaseController; -import com.zy.core.model.DevpSlave; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -22,11 +21,11 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; - -import static org.apache.ibatis.ognl.OgnlRuntime.setFieldValue; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Slf4j @RestController @@ -88,129 +87,192 @@ } } - //浠诲姟涓嬪彂鎺ュ彛 - @PostMapping("/outboundTaskSend") + @PostMapping("/inboundTaskSend") @Transactional - public HashMap<String, Object> outboundTaskSend(@RequestBody HashMap<String,Object> hashMap) { + public HashMap<String, Object> inboundTaskSend(@RequestBody HashMap<String, Object> hashMap) { String jsonString = JSON.toJSONString(hashMap.get("TaskList")); - List<CarryParam> params= JSONObject.parseArray(jsonString,CarryParam.class); + List<CarryParam> params = JSONObject.parseArray(jsonString, CarryParam.class); HashMap<String, Object> map = new HashMap<>(); - List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>(); - for (CarryParam param:params){ - if (Cools.isEmpty(param)){ - map.put("ReturnStatus",1); - map.put("ErrorMessage","鍙傛暟涓虹┖锛�"); + List<WMSAndAGVInterfaceParam> params1 = new ArrayList<>(); + for (CarryParam param : params) { + if (Cools.isEmpty(param)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍙傛暟涓虹┖锛�"); return map; - } else if (Cools.isEmpty(param.getTaskNo())){ - map.put("ReturnStatus",1); - map.put("ErrorMessage","浠诲姟鍙蜂负绌猴紒"); + } else if (Cools.isEmpty(param.getTaskNo())) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "浠诲姟鍙蜂负绌猴紒"); return map; - } else if (Cools.isEmpty(param.getStereoscopicTaskType())){ - map.put("ReturnStatus",1); - map.put("ErrorMessage","浠诲姟绫诲瀷涓虹┖锛�"); + } else if (Cools.isEmpty(param.getStereoscopicTaskType())) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "浠诲姟绫诲瀷涓虹┖锛�"); return map; } String fusion = Utils.Fusion(param.getOriginalRowNo(), param.getOriginalFloorNo(), param.getOriginalColumnNo()); param.setStartPoint(fusion); LocMast locMast = locMastService.selectByLocNo(param.getStartPoint()); - if(Cools.isEmpty(locMast)){ - map.put("ReturnStatus",1); - map.put("ErrorMessage","鍒濆搴撲綅鏃犳硶鎵惧埌锛�"); + if (Cools.isEmpty(locMast)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍒濆搴撲綅鏃犳硶鎵惧埌锛�"); return map; } - HashMap<String,Object> r = new HashMap<>(); + HashMap<String, Object> r = new HashMap<>(); - if(param.getStereoscopicTaskType() == 2){ + if (param.getStereoscopicTaskType() == 1) { //鍑哄簱浠诲姟鍒涘缓 StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() - .eq("type_no",2) - .eq("crn_no",locMast.getCrnNo()) - .eq("stn_no",param.getTerminalNo())); - if(Cools.isEmpty(staDesc)){ - map.put("ReturnStatus",1); - map.put("ErrorMessage","鍑哄簱璺姴涓嶅瓨鍦紒"); + .eq("type_no", 1) + .eq("crn_no", locMast.getCrnNo()) + .eq("stn_no", param.getTerminalNo())); + if (Cools.isEmpty(staDesc)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍏ュ簱璺緞涓嶅瓨鍦紒"); return map; } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); - if(r.get("ReturnStatus").equals(1)){ - return r; - } - }else if (param.getStereoscopicTaskType() == 3){ - String fusion1 = Utils.Fusion(param.getGoalRowNo(), param.getGoalFloorNo(), param.getGoalColumnNo()); - param.setTerminalNo(fusion1); - //绉诲簱浠诲姟鍒涘缓 - r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo())); - if(r.get("ReturnStatus").equals(1)){ + r = openService.taskCreate(new TaskCreateParam(param, staDesc.getCrnNo())); + if (r.get("ReturnStatus").equals(1)) { return r; } } - apiLogService.save("Wms浠诲姟涓嬪彂鎺ュ彛" - ,request.getRemoteAddr()+request.getRequestURI() - ,"" - ,request.getRemoteAddr() - ,JSON.toJSONString(param) - ,r.toString() - ,true + apiLogService.save("Wms鍏ュ簱浠诲姟涓嬪彂鎺ュ彛" + , request.getRemoteAddr() + request.getRequestURI() + , "" + , request.getRemoteAddr() + , JSON.toJSONString(param) + , r.toString() + , true ); } - map.put("ReturnStatus",0); - map.put("ErrorMessage","ok"); + map.put("ReturnStatus", 0); + map.put("ErrorMessage", "ok"); + return map; + } + + + //浠诲姟涓嬪彂鎺ュ彛 + @PostMapping("/outboundTaskSend") + @Transactional + public HashMap<String, Object> outboundTaskSend(@RequestBody HashMap<String, Object> hashMap) { + String jsonString = JSON.toJSONString(hashMap.get("TaskList")); + List<CarryParam> params = JSONObject.parseArray(jsonString, CarryParam.class); + HashMap<String, Object> map = new HashMap<>(); + List<WMSAndAGVInterfaceParam> params1 = new ArrayList<>(); + for (CarryParam param : params) { + if (Cools.isEmpty(param)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍙傛暟涓虹┖锛�"); + return map; + } else if (Cools.isEmpty(param.getTaskNo())) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "浠诲姟鍙蜂负绌猴紒"); + return map; + } else if (Cools.isEmpty(param.getStereoscopicTaskType())) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "浠诲姟绫诲瀷涓虹┖锛�"); + return map; + } + String fusion = Utils.Fusion(param.getOriginalRowNo(), param.getOriginalFloorNo(), param.getOriginalColumnNo()); + param.setStartPoint(fusion); + LocMast locMast = locMastService.selectByLocNo(param.getStartPoint()); + if (Cools.isEmpty(locMast)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍒濆搴撲綅鏃犳硶鎵惧埌锛�"); + return map; + } + + HashMap<String, Object> r = new HashMap<>(); + + if (param.getStereoscopicTaskType() == 2) { + //鍑哄簱浠诲姟鍒涘缓 + StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() + .eq("type_no", 2) + .eq("crn_no", locMast.getCrnNo()) + .eq("stn_no", param.getTerminalNo())); + if (Cools.isEmpty(staDesc)) { + map.put("ReturnStatus", 1); + map.put("ErrorMessage", "鍑哄簱璺姴涓嶅瓨鍦紒"); + return map; + } + r = openService.taskCreate(new TaskCreateParam(param, staDesc.getCrnNo())); + if (r.get("ReturnStatus").equals(1)) { + return r; + } + } else if (param.getStereoscopicTaskType() == 3) { + String fusion1 = Utils.Fusion(param.getGoalRowNo(), param.getGoalFloorNo(), param.getGoalColumnNo()); + param.setTerminalNo(fusion1); + //绉诲簱浠诲姟鍒涘缓 + r = openService.taskCreate(new TaskCreateParam(param, locMast.getCrnNo())); + if (r.get("ReturnStatus").equals(1)) { + return r; + } + } + apiLogService.save("Wms鍑虹Щ搴撲换鍔′笅鍙戞帴鍙�" + , request.getRemoteAddr() + request.getRequestURI() + , "" + , request.getRemoteAddr() + , JSON.toJSONString(param) + , r.toString() + , true + ); + } + map.put("ReturnStatus", 0); + map.put("ErrorMessage", "ok"); return map; } //浠诲姟鍙栨秷鎺ュ彛 @PostMapping("/taskCancel") public R taskCancel(@RequestHeader String appkey, - @RequestBody WMSAndAGVInterfaceParam param, - HttpServletRequest request) { + @RequestBody WMSAndAGVInterfaceParam param, + HttpServletRequest request) { auth(appkey, param, request); - if (Cools.isEmpty(param)){ + if (Cools.isEmpty(param)) { return R.error("鍙傛暟涓虹┖锛�"); - } else if (Cools.isEmpty(param.getTaskNo())){ + } else if (Cools.isEmpty(param.getTaskNo())) { return R.error("宸ヤ綔鍙蜂负绌猴紒"); - } else if (Cools.isEmpty(param.getIoType())){ + } else if (Cools.isEmpty(param.getIoType())) { return R.error("鎿嶄綔绫诲瀷涓虹┖锛�"); - } else if (Cools.isEmpty(param.getBarcode())){ + } else if (Cools.isEmpty(param.getBarcode())) { return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒"); } TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>() .eq("task_no", param.getTaskNo()) - .eq("io_type",param.getIoType()) - .eq("barcode",param.getBarcode())); - if (Cools.isEmpty(taskWrk)){ - return R.error("鏈煡鍒板綋鍓嶄换鍔�---"+param); + .eq("io_type", param.getIoType()) + .eq("barcode", param.getBarcode())); + if (Cools.isEmpty(taskWrk)) { + return R.error("鏈煡鍒板綋鍓嶄换鍔�---" + param); } - boolean sign =false; - switch (param.getTaskStatus()){ + boolean sign = false; + switch (param.getTaskStatus()) { case 1://姝e父鍙栨秷 - if (taskWrk.getStatus()>1){ + if (taskWrk.getStatus() > 1) { return R.error("浠诲姟宸插紑濮嬫墽琛�"); } break; case 2://姝e父瀹屾垚 - if (taskWrk.getStatus()>1){ + if (taskWrk.getStatus() > 1) { return R.error("浠诲姟宸插紑濮嬫墽琛�"); } - sign=true; + sign = true; break; default: return R.error("鏈煡鎿嶄綔"); } - return taskWrkOperate(taskWrk,sign); + return taskWrkOperate(taskWrk, sign); } //浠诲姟鎿嶄綔 - private R taskWrkOperate(TaskWrk taskWrk,boolean sign){ - try{ - if (sign){//瀹屾垚 + private R taskWrkOperate(TaskWrk taskWrk, boolean sign) { + try { + if (sign) {//瀹屾垚 return taskWrkController.complete(taskWrk.getTaskNo()); - }else {//鍙栨秷 + } else {//鍙栨秷 return taskWrkController.cancel(taskWrk.getTaskNo()); } - }catch (Exception e){ + } catch (Exception e) { return R.error(); } } @@ -219,39 +281,39 @@ @GetMapping("/deviceStatus") @Transactional public HashMap<String, Object> deviceStatus() { - HashMap<String,Object> map=new HashMap<>(); - List<CrnStatusParam> crnStatusParams=new ArrayList<>(); + HashMap<String, Object> map = new HashMap<>(); + List<CrnStatusParam> crnStatusParams = new ArrayList<>(); List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); - for (BasCrnp basCrnp:basCrnps){ - CrnStatusParam crnStatusParam=new CrnStatusParam(); + for (BasCrnp basCrnp : basCrnps) { + CrnStatusParam crnStatusParam = new CrnStatusParam(); crnStatusParam.setCrnNo(basCrnp.getCrnNo()); crnStatusParam.setCrnSts(basCrnp.getCrnSts()); crnStatusParam.setErrorCode(basCrnp.getCrnErr()); - BasCrnError error=basCrnErrorService.selectOne(new EntityWrapper<BasCrnError>().eq("error_code",basCrnp.getCrnErr())); - if(Cools.isEmpty(error)){ + BasCrnError error = basCrnErrorService.selectOne(new EntityWrapper<BasCrnError>().eq("error_code", basCrnp.getCrnErr())); + if (Cools.isEmpty(error)) { crnStatusParam.setErrorMsg(""); - }else { + } else { crnStatusParam.setErrorMsg(error.getErrName()); } crnStatusParams.add(crnStatusParam); } for (BasDevp basDevp : basDevps) { - CrnStatusParam crnStatusParam=new CrnStatusParam(); + CrnStatusParam crnStatusParam = new CrnStatusParam(); crnStatusParam.setDevpNo(basDevp.getDevNo()); crnStatusParam.setOutEnable(basDevp.getOutEnable()); crnStatusParam.setInEnable(basDevp.getInEnable()); crnStatusParam.setLoading(basDevp.getLoading()); - if(!Cools.isEmpty(basDevp.getAutoing())&&basDevp.getAutoing().equals("Y")){ + if (!Cools.isEmpty(basDevp.getAutoing()) && basDevp.getAutoing().equals("Y")) { crnStatusParam.setCrnSts(3); - }else{ + } else { crnStatusParam.setCrnSts(2); } crnStatusParams.add(crnStatusParam); } - map.put("ReturnStatus",0); - map.put("ErrorMessage",""); - map.put("data",crnStatusParams); + map.put("ReturnStatus", 0); + map.put("ErrorMessage", ""); + map.put("data", crnStatusParams); return map; } @@ -279,6 +341,7 @@ return list; } + private static void setFieldValue(Object obj, Field field, Object value) throws IllegalAccessException { Class<?> fieldType = field.getType(); -- Gitblit v1.9.1