From 08d8933d3fe66fb83f1e2e7e4038e62b3c5143e1 Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期四, 19 六月 2025 11:10:43 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 238 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 173 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index 7a58fad..58e205d 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -8,10 +8,11 @@ import com.core.common.DateUtils; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.StaDesc; import com.zy.asrs.entity.TaskWrk; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.LocMastService; -import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.entity.param.CarryParam; +import com.zy.asrs.entity.param.TaskCreateParam; +import com.zy.asrs.service.*; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; @@ -23,6 +24,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.*; @RestController @@ -37,6 +39,12 @@ @Autowired private LocMastService locMastService; + + @Autowired + private OpenService openService; + + @Autowired + private StaDescService staDescService; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; @@ -60,7 +68,7 @@ try{ Integer wrkNo = null; - Integer taskNo = null; + String taskNo = null; Integer status = null; Date modiTimeStart = null, modiTimeEnd = null; for (Map.Entry<String, Object> entry : param.entrySet()) { @@ -75,7 +83,7 @@ } else if (entry.getKey().equals("wrk_no")) { wrkNo = Integer.parseInt(val); } else if (entry.getKey().equals("task_no")) { - taskNo = Integer.parseInt(val); + taskNo = val; } else if (entry.getKey().equals("status")) { status = Integer.parseInt(val); } @@ -143,6 +151,84 @@ taskWrk1.setModiTime(new Date()); taskWrk1.setModiUser(getUserId()); taskWrkService.updateById(taskWrk1); + return R.ok(); + } + + @RequestMapping(value = "/taskWrk/addTask/auth") + @ManagerAuth + public R addTaskPoint(CarryParam param){ + try{ + param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴� + param.updateLocNo(); + if (Cools.isEmpty(param)){ + return R.error("鍙傛暟涓虹┖锛�"); + } else if (Cools.isEmpty(param.getTaskNo())){ + return R.error("浠诲姟鍙蜂负绌猴紒"); + } else if (Cools.isEmpty(param.getIoType())){ + return R.error("浠诲姟绫诲瀷涓虹┖锛�"); + } + if (Cools.isEmpty(param.getStartPoint()) || Cools.isEmpty(param.getTargetPoint())){ + return R.error("鍒濆鐩爣鎴栬�呯洰鏍囦綅涓虹┖"); + } + + + String locNo=null; + if(param.getIoType()==1){ + locNo=param.getTargetPoint(); + }else{ + locNo=param.getStartPoint(); + } + LocMast locMast = locMastService.selectByLocNo(locNo); + if(Cools.isEmpty(locMast)){ + return R.error("鍒濆搴撲綅鏃犳硶鎵惧埌"); + } + + R r = null; + + if(param.getIoType() == 1){ + //鍏ュ簱浠诲姟鍒涘缓 + StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() + .eq("type_no",1) + .eq("crn_no",locMast.getCrnNo()) + .eq("stn_no",param.getStartPoint())); + if(Cools.isEmpty(staDesc)){ + return R.error("鍏ュ簱璺姴涓嶅瓨鍦�"); + } + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn())); + + }else if(param.getIoType() == 2){ + //鍑哄簱浠诲姟鍒涘缓 + StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() + .eq("type_no",2) + .eq("crn_no",locMast.getCrnNo()) + .eq("stn_no",param.getTargetPoint())); + if(Cools.isEmpty(staDesc)){ + return R.error("鍑哄簱璺姴涓嶅瓨鍦�"); + } + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getStnNo())); + }else if (param.getIoType() == 3){ + LocMast locMast2 = locMastService.selectByLocNo(param.getTargetPoint()); + if(Cools.isEmpty(locMast2)){ + return R.error("鐩爣搴撲綅鏃犳硶鎵惧埌"); + } + if (!locMast2.getCrnNo().equals(locMast.getCrnNo())){ + return R.error("璧峰搴撲綅涓庣洰鏍囧簱浣嶄笉鍐嶅悓涓�宸烽亾"); + } + //绉诲簱浠诲姟鍒涘缓 + r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo())); + } + + apiLogService.save("wcs鎵嬪姩鐢熸垚Wms浠诲姟" + ,request.getRemoteAddr()+request.getRequestURI() + ,null + ,request.getRemoteAddr() + ,JSON.toJSONString(param) + ,r.toString() + ,true + ); + } catch (Exception e){ + + } return R.ok(); } @@ -223,7 +309,7 @@ @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟") public R complete(@RequestParam String taskNo) { TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3){ + if ((Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3) && !taskWrk.getStatus().equals(TaskStatusType.OVER3.id)){ return R.error("宸插畬缁撴垨宸插彇娑�") ; } LocMast locMast=new LocMast(); @@ -260,41 +346,44 @@ } String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("taskNo",taskWrk.getTaskNo()); - headParam.put("status",taskWrk.getStatus()); - headParam.put("ioType",taskWrk.getIoTypeWms()); - headParam.put("barcode",taskWrk.getBarcode()); -// headParam.put("reportTime",new Date()); - log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" - ,wmsUrl+taskStatusFeedbackPath - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } Date now = new Date(); locMast.setModiTime(now); - locMastService.updateById(locMast); - taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 + taskWrk.setStatus(TaskStatusType.OVER2.id);//鎵嬪姩瀹屾垚浠诲姟 taskWrk.setModiTime(now); taskWrk.setCompleteTime(now); +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,null +// ,"127.0.0.1" +// ,JSON.toJSONString(headParam) +// ,response +// ,true +// ); +// }catch (Exception e){ +// log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); +//// throw new CoolException(e); +// } + locMastService.updateById(locMast); taskWrkService.updateById(taskWrk); return R.ok(); } @@ -319,35 +408,37 @@ taskWrk.setModiUser(1111L);//鎿嶄綔鍛� } String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("taskNo",taskWrk.getTaskNo()); - headParam.put("status",taskWrk.getStatus()); - headParam.put("ioType",taskWrk.getIoTypeWms()); - headParam.put("barcode",taskWrk.getBarcode()); -// headParam.put("reportTime",new Date()); - - log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" - ,wmsUrl+taskStatusFeedbackPath - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// +// log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,null +// ,"127.0.0.1" +// ,JSON.toJSONString(headParam) +// ,response +// ,true +// ); +// }catch (Exception e){ +// log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); +//// throw new CoolException(e); +// } taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); return R.ok(); @@ -377,6 +468,7 @@ return R.ok(); } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==3) { taskWrk.setWrkSts(2); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//娲惧彂鐘舵�� taskWrkService.updateById(taskWrk); if(!taskWrkService.updateById(taskWrk)){ return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); @@ -387,6 +479,22 @@ } } + @PostMapping(value = "/taskWrk/assign/auth") + @ManagerAuth(memo = "杈撻�佺嚎涓嬪彂瀹屾垚") + public R returnAssign(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==1){ + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//娲惧彂鐘舵�� + taskWrk.setWrkSts(2); + if(!taskWrkService.updateById(taskWrk)){ + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + }else{ + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曡烦杞�"); + } + + } } -- Gitblit v1.9.1