From 1a1e3398d15027a65e56e0ed82e54f3a4feea0b6 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期五, 25 四月 2025 09:49:25 +0800 Subject: [PATCH] 123 --- src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java | 4 src/main/java/com/zy/asrs/entity/param/TaskOverParam.java | 5 src/main/java/com/zy/asrs/controller/OpenController.java | 292 ++++++++++++++++---------------- src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 152 +++++++++++++++- src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 src/main/java/com/zy/core/MainProcess.java | 5 src/main/resources/mapper/TransferTaskMapper.xml | 8 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 4 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 34 --- src/main/resources/application.yml | 6 11 files changed, 316 insertions(+), 198 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 1cdf7c3..3f21178 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,7 +1,6 @@ package com.zy.asrs.controller; 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; @@ -15,12 +14,10 @@ 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.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; @@ -105,25 +102,6 @@ } } - //agv浠诲姟瀹屾垚 - @PostMapping("/toAgvTaskOver") - @AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛") - public R getAgvTaskOver(@RequestHeader String appkey, - @RequestBody TaskOverParam param, - HttpServletRequest request) { - auth(appkey, param, request); - if (Cools.isEmpty(param)) { - return R.parse(BaseRes.PARAM); - } - if (Cools.isEmpty(param.getStartPoint())) { - return R.error("鐮佸ご[wharfCode]涓嶈兘涓虹┖"); - } - if (Cools.isEmpty(param.getStatus())) { - return R.error("瀹屾垚鏍囪[status]涓嶈兘涓虹┖"); - } - openService.getAgvTaskOver(param); - return R.ok(); - } //鍒涘缓浠诲姟 @PostMapping("/taskCreate") @@ -189,18 +167,6 @@ return R.ok(); } - //鏌ヨ浠诲姟璇︽儏 - @GetMapping("/queryTask") - public R queryTask(@RequestHeader String appkey, - @RequestParam String taskNo, - HttpServletRequest request) { - auth(appkey, taskNo, request); - TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (taskWrk == null) { - return R.error("浠诲姟涓嶅瓨鍦�"); - } - return R.ok().add(taskWrk); - } //鍙栨斁璐х敵璇� @PostMapping("/pick/and/place/v1") @@ -240,20 +206,6 @@ return openService.getAgvPickAndPlaceV2(param); } - //鏌ヨ浠诲姟鎸囦护闆嗗悎 - @GetMapping("/queryTaskCommand") - public R queryTaskCommand(@RequestHeader String appkey, - @RequestParam String taskNo, - HttpServletRequest request) { - auth(appkey, taskNo, request); - TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (taskWrk == null) { - return R.error("浠诲姟涓嶅瓨鍦�"); - } - - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo); - return R.ok().add(commandInfos); - } private void auth(String appkey, Object obj, HttpServletRequest request) { log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj)); @@ -266,103 +218,6 @@ } } - //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛 -// @PostMapping("/targetWharfApply") -// @AppAuth(memo = "AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛") -// public R targetWharfApply(@RequestHeader String appkey, -// @RequestBody WMSAndAGVInterfaceParam param, -// HttpServletRequest request) throws IOException { -// auth(appkey, param, request); -// -// if (Cools.isEmpty(param)) { -// return R.error("鍙傛暟涓虹┖锛�"); -// } else if (Cools.isEmpty(param.getTaskNo())) { -// return R.error("宸ヤ綔鍙蜂负绌猴紒"); -// } else if (Cools.isEmpty(param.getContainerCode())) { -// return R.error("鎵樼洏缂栫爜涓虹┖锛�"); -// } else if (Cools.isEmpty(param.getWharfSource())) { -// return R.error("婧愮爜澶翠负绌猴紒"); -// } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size() == 0) { -// return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒"); -// } -// R r = openService.AgvToWCSToWms(param); -// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" -// , request.getRemoteAddr() + request.getRequestURI() -// , appkey -// , request.getRemoteAddr() -// , JSON.toJSONString(param) -// , r.toString() -// , true -// ); -// return r; -// } -// -// //AGV璇锋眰鍔ㄤ綔鎺ュ彛 -// @PostMapping("/agvTaskRequest") -// @AppAuth(memo = "AGV璇锋眰鍔ㄤ綔鎺ュ彛") -// public R agvTaskRequest(@RequestHeader String appkey, -// @RequestBody WMSAndAGVInterfaceParam param, -// HttpServletRequest request) { -// auth(appkey, param, request); -// if (Cools.isEmpty(param)) { -// return R.error("鍙傛暟涓虹┖锛�"); -// } else if (Cools.isEmpty(param.getRequestType())) { -// return R.error("璇锋眰绫诲瀷涓虹┖锛�"); -// } else if (Cools.isEmpty(param.getWharfCode())) { -// return R.error("鐮佸ご缂栧彿涓虹┖锛�"); -// } -// -// Map<String, Integer> map = new HashMap<>(); -// map.put("J-1102", 102); -// map.put("J-1101", 101); -// map.put("J-1103", 105); -// map.put("J-1104", 106); -// map.put("J-1105", 109); -// map.put("J-1106", 110); -// map.put("J-1107", 113); -// map.put("J-1108", 114); -// map.put("J-1109", 117); -// map.put("J-1110", 118); -// map.put("J-1111", 121); -// map.put("J-1112", 122); -// map.put("H-1102", 300); -// map.put("H-1101", 305); -// map.put("G-1102", 400); -// map.put("G-1101", 405); -//// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() -//// .eq("stn_desc", param.getWharfCode())); -//// -//// if (Cools.isEmpty(staDesc)){ -//// return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�"); -//// } -// if (Cools.isEmpty(map.get(param.getWharfCode()))) { -// return R.error("鏈煡璇㈠埌绔欑偣"); -// } -// BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode())); -// if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))) { -// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" -// , request.getRemoteAddr() + request.getRequestURI() -// , appkey -// , request.getRemoteAddr() -// , JSON.toJSONString(param) -// , R.ok().toString() -// , true -// ); -// return R.ok("鍙叆"); -// } else { -// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" -// , request.getRemoteAddr() + request.getRequestURI() -// , appkey -// , request.getRemoteAddr() -// , JSON.toJSONString(param) -// , R.error("绔欑偣鐘舵�佷笉鍙叆").toString() -// , true -// ); -// return R.error("绔欑偣鐘舵�佷笉鍙叆"); -// } -// -// -// } //浠诲姟涓嬪彂鎺ュ彛 @PostMapping("/outboundTaskSend") @@ -402,7 +257,7 @@ .eq("stn_no", param.getTerminalNo())); if (Cools.isEmpty(staDesc)) { map.put("Code", "0"); - map.put("Msg", "鍑哄簱璺姴涓嶅瓨鍦紒"); + map.put("Msg", "鍑哄簱璺緞涓嶅瓨鍦紒"); return map; } r = openService.taskCreate(new TaskCreateParam(param, staDesc.getCrnNo())); @@ -509,4 +364,149 @@ return R.ok(crnStatusParams); } + + //鏌ヨ浠诲姟璇︽儏 + @GetMapping("/queryTask") + public R queryTask(@RequestHeader String appkey, + @RequestParam String taskNo, + HttpServletRequest request) { + auth(appkey, taskNo, request); + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (taskWrk == null) { + return R.error("浠诲姟涓嶅瓨鍦�"); + } + return R.ok().add(taskWrk); + } + + //鏌ヨ浠诲姟鎸囦护闆嗗悎 + @GetMapping("/queryTaskCommand") + public R queryTaskCommand(@RequestHeader String appkey, + @RequestParam String taskNo, + HttpServletRequest request) { + auth(appkey, taskNo, request); + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (taskWrk == null) { + return R.error("浠诲姟涓嶅瓨鍦�"); + } + + List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo); + return R.ok().add(commandInfos); + } + + + //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛 +// @PostMapping("/targetWharfApply") +// @AppAuth(memo = "AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛") +// public R targetWharfApply(@RequestHeader String appkey, +// @RequestBody WMSAndAGVInterfaceParam param, +// HttpServletRequest request) throws IOException { +// auth(appkey, param, request); +// +// if (Cools.isEmpty(param)) { +// return R.error("鍙傛暟涓虹┖锛�"); +// } else if (Cools.isEmpty(param.getTaskNo())) { +// return R.error("宸ヤ綔鍙蜂负绌猴紒"); +// } else if (Cools.isEmpty(param.getContainerCode())) { +// return R.error("鎵樼洏缂栫爜涓虹┖锛�"); +// } else if (Cools.isEmpty(param.getWharfSource())) { +// return R.error("婧愮爜澶翠负绌猴紒"); +// } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size() == 0) { +// return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒"); +// } +// R r = openService.AgvToWCSToWms(param); +// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" +// , request.getRemoteAddr() + request.getRequestURI() +// , appkey +// , request.getRemoteAddr() +// , JSON.toJSONString(param) +// , r.toString() +// , true +// ); +// return r; +// } +// +// //AGV璇锋眰鍔ㄤ綔鎺ュ彛 +// @PostMapping("/agvTaskRequest") +// @AppAuth(memo = "AGV璇锋眰鍔ㄤ綔鎺ュ彛") +// public R agvTaskRequest(@RequestHeader String appkey, +// @RequestBody WMSAndAGVInterfaceParam param, +// HttpServletRequest request) { +// auth(appkey, param, request); +// if (Cools.isEmpty(param)) { +// return R.error("鍙傛暟涓虹┖锛�"); +// } else if (Cools.isEmpty(param.getRequestType())) { +// return R.error("璇锋眰绫诲瀷涓虹┖锛�"); +// } else if (Cools.isEmpty(param.getWharfCode())) { +// return R.error("鐮佸ご缂栧彿涓虹┖锛�"); +// } +// +// Map<String, Integer> map = new HashMap<>(); +// map.put("J-1102", 102); +// map.put("J-1101", 101); +// map.put("J-1103", 105); +// map.put("J-1104", 106); +// map.put("J-1105", 109); +// map.put("J-1106", 110); +// map.put("J-1107", 113); +// map.put("J-1108", 114); +// map.put("J-1109", 117); +// map.put("J-1110", 118); +// map.put("J-1111", 121); +// map.put("J-1112", 122); +// map.put("H-1102", 300); +// map.put("H-1101", 305); +// map.put("G-1102", 400); +// map.put("G-1101", 405); +//// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() +//// .eq("stn_desc", param.getWharfCode())); +//// +//// if (Cools.isEmpty(staDesc)){ +//// return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�"); +//// } +// if (Cools.isEmpty(map.get(param.getWharfCode()))) { +// return R.error("鏈煡璇㈠埌绔欑偣"); +// } +// BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode())); +// if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))) { +// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" +// , request.getRemoteAddr() + request.getRequestURI() +// , appkey +// , request.getRemoteAddr() +// , JSON.toJSONString(param) +// , R.ok().toString() +// , true +// ); +// return R.ok("鍙叆"); +// } else { +// apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" +// , request.getRemoteAddr() + request.getRequestURI() +// , appkey +// , request.getRemoteAddr() +// , JSON.toJSONString(param) +// , R.error("绔欑偣鐘舵�佷笉鍙叆").toString() +// , true +// ); +// return R.error("绔欑偣鐘舵�佷笉鍙叆"); +// } +// +// +// } +// @PostMapping("/toAgvTaskOver") +// @AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛") +// public R getAgvTaskOver(@RequestHeader String appkey, +// @RequestBody TaskOverParam param, +// HttpServletRequest request) { +// auth(appkey, param, request); +// if (Cools.isEmpty(param)) { +// return R.parse(BaseRes.PARAM); +// } +// if (Cools.isEmpty(param.getStartPoint())) { +// return R.error("鐮佸ご[wharfCode]涓嶈兘涓虹┖"); +// } +// if (Cools.isEmpty(param.getStatus())) { +// return R.error("瀹屾垚鏍囪[status]涓嶈兘涓虹┖"); +// } +// openService.getAgvTaskOver(param); +// return R.ok(); +// } } diff --git a/src/main/java/com/zy/asrs/entity/param/TaskOverParam.java b/src/main/java/com/zy/asrs/entity/param/TaskOverParam.java index 16e8931..f3aac37 100644 --- a/src/main/java/com/zy/asrs/entity/param/TaskOverParam.java +++ b/src/main/java/com/zy/asrs/entity/param/TaskOverParam.java @@ -17,6 +17,11 @@ */ private Integer startPoint; /** + * 楂樺害 + */ + private Integer height; + + /** * 1鏀俱��0鍙� */ private int type; diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index 643b890..75ce6ea 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java @@ -39,4 +39,6 @@ List<LocMast> selectLocByLev(@Param("lev") Integer lev); + + } diff --git a/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java b/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java index 2a68e9f..afce76f 100644 --- a/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java +++ b/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java @@ -9,6 +9,8 @@ @Repository public interface TransferTaskMapper extends BaseMapper<TransferTask> { + TransferTask selectByStartPoint(Integer startPoint); + TransferTask selectByEndPoint(Integer endPoint); } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index aa40e13..74d742c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -7,12 +7,18 @@ import com.core.exception.CoolException; import com.zy.asrs.controller.CrnController; import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.entity.*; import com.zy.asrs.entity.wms.StorageEscalationParam; -import com.zy.asrs.mapper.*; +import com.zy.asrs.mapper.BasCrnErrorMapper; +import com.zy.asrs.mapper.StaDescMapper; +import com.zy.asrs.mapper.TaskWrkMapper; +import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.*; +import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.Utils; +import com.zy.common.service.CommonService; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -29,6 +35,7 @@ import com.zy.core.thread.SiemensDevpThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -36,6 +43,7 @@ import java.io.IOException; import java.util.Date; import java.util.List; +import java.util.Random; /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� @@ -55,6 +63,8 @@ @Autowired private LocMastService locMastService; @Autowired + private LocDetlService locDetlService; + @Autowired private BasCrnpService basCrnpService; @Autowired private BasDevpService basDevpService; @@ -66,10 +76,9 @@ private TaskWrkMapper taskWrkMapper; @Autowired - private DevpTaskMapper devpTaskMapper; - @Autowired private TaskWrkService taskWrkService; - + @Autowired + private CommonService commonService; @Autowired private StaDescMapper staDescMapper; @@ -87,6 +96,22 @@ @Autowired private TransferTaskService transferTaskService; + + @Autowired + private WrkMastService wrkMastService; + + @Autowired + private WrkDetlService wrkDetlService; + + @Value("${loc-move.enable}") + private boolean enable; + @Value("${loc-move.crn1}") + private boolean crn1; + @Value("${loc-move.crn2}") + private boolean crn2; + @Value("${loc-move.crn3}") + private boolean crn3; + public void generateStoreWrkFile() throws IOException, InterruptedException { try { @@ -838,7 +863,7 @@ try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { - if (devp.getId() == 2){ + if (devp.getId() == 2) { continue; } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); @@ -1003,23 +1028,120 @@ /** * 璺戝簱绋嬪簭 */ - public void debug() { - //棣栧厛搴撲綅鏈変竴涓湪搴撶殑搴撲綅 - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F")); - if (locMast != null) { - // 鍐嶇敓鎴愪竴涓Щ搴撲换鍔� - LocMast mk = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").ne("mk", 1)); - + public void debug(String sts, Long modiUser, Integer loc_type1) { + if (!enable) { + return; } - + List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>()); + if (basCrnps.isEmpty()) { + return; + } + for (BasCrnp basCrnp : basCrnps) { + if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) { + continue; + } + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11)); + if (Cools.isEmpty(wrkMasts) || wrkMasts.isEmpty()) { + int i = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser)); + LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser)); + if (locMastStart == null || i > 1) { + continue; + } + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("loc_sts", "O") + .eq("crn_no", basCrnp.getCrnNo()) + .eq("loc_type1", locMastStart.getLocType1()) + .ne("modi_user", 77)); + if (Cools.isEmpty(locMasts)) { + continue; + } + Random random = new Random(); + LocMast locMastEnd = locMasts.get(random.nextInt(locMasts.size())); + ReturnT<String> result = locMove(locMastStart, locMastEnd, basCrnp.getCrnNo()); + if (!result.isSuccess()) { + log.error("澶勭悊澶辫触"); + } + } + } } + + public void locMove(LocMast sourceLoc, LocMast locNo, Long userId) { + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLoc.getLocNo())); + LocMast loc = locMastService.selectById(locNo); + if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { + throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�"); + } + Date now = new Date(); + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PICK.type); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 + wrkMast.setIoPri(10D); + wrkMast.setCrnNo(sourceLoc.getCrnNo()); + wrkMast.setSourceLocNo(sourceLoc.getLocNo()); // 婧愬簱浣� + wrkMast.setLocNo(locNo.getLocNo()); // 鐩爣搴撲綅 + wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘 + wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 宸ヤ綔妗f槑缁嗕繚瀛� + for (LocDetl locDetl : locDetls) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setAnfme(locDetl.getAnfme()); + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + } + // 淇敼婧愬簱浣嶇姸鎬� + if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) { + sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 + sourceLoc.setModiUser(userId); + sourceLoc.setModiTime(now); + if (!locMastService.updateById(sourceLoc)) { + throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + } + } else { + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLoc.getLocSts$()); + } + // 淇敼鐩爣搴撲綅鐘舵�� + if (loc.getLocSts().equals("O")) { + loc.setLocSts("S"); // S.鍏ュ簱棰勭害 + loc.setModiTime(now); + loc.setModiUser(userId); + if (!locMastService.updateById(loc)) { + throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細" + loc.getLocSts$()); + } + } /** * 杞Щ浠诲姟涓嬪彂 */ public void transferTaskStart() { - for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) { try { // 鑾峰彇鍏ュ簱绔欎俊鎭� @@ -1082,7 +1204,7 @@ continue; } log.info("杞Щ浠诲姟瀹屾垚锛歵ransferTask:" + JSON.toJSONString(transferTask)); - transferTask.setStatus(5); + transferTask.setStatus(3); transferTaskService.updateById(transferTask); } } catch (Exception e) { diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 8983bdf..a304dd6 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -270,7 +270,11 @@ if (Cools.isEmpty(basDevp)) { return R.error("绔欑偣鍙锋湁璇�" + param.getStartPoint()); } + if (Cools.isEmpty(param.getHeight())) { + return R.error("楂樺害涓嶈兘涓虹┖" + param.getStartPoint()); + } if (param.getType() == 0 && basDevp.getAgvStartPick() == 1) { + basDevp.setInreq2(param.getHeight().toString()); return R.ok(); } else if (param.getType() == 1 && basDevp.getAgvStartPlace() == 1) { return R.ok(); diff --git a/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java index 6fcbf16..261e7ea 100644 --- a/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java @@ -14,11 +14,11 @@ @Override public TransferTask selectByStartPoint(Integer startPoint) { - return null; + return this.baseMapper.selectByStartPoint(startPoint); } @Override public TransferTask selectByEndPoint(Integer endPoint) { - return null; + return this.baseMapper.selectByEndPoint(endPoint); } } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index decaf4d..5234ba5 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -40,7 +40,10 @@ continue; } // 璺戝簱绋嬪簭 - //mainService.debug(); + //mainService.debug("F"); + + mainService.transferTaskStart(); + mainService.transferTaskEnd(); // 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。 diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index a245b82..77c318a 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -121,20 +121,6 @@ this.slave = slave; } - public static void main(String[] args) { - ArrayList<Integer> staNos = staNos1; - System.out.println(staNos.indexOf(129)); - System.out.println(staNos.size()); - for (int i = 0; i < staNos.size(); i++) { -// System.out.println(i*2); -// System.out.println(i*2 + 200); -// System.out.println(i); - } - int index = staNos.indexOf(128); - System.out.println(index * 2); - System.out.println(index * 2 + 200); - } - private ArrayList<Integer> getStaNo() { switch (slave.getId()) { @@ -586,25 +572,5 @@ siemensS7Net.ConnectClose(); } -// public static void main(String[] args) throws Exception { -// DevpSlave slave = new DevpSlave(); -// slave.setIp("192.168.2.125"); -// SiemensDevpThread devpThread = new SiemensDevpThread(slave); -// devpThread.connect(); -// devpThread.read(); -// // 鍐� -// StaProtocol staProtocol = devpThread.getStation().get(1); -// staProtocol.setWorkNo((short) 232); -// staProtocol.setStaNo((short) 6); -// staProtocol.setAutoing(true); -// staProtocol.setEmptyMk(true); -// staProtocol.setInEnable(true); -// devpThread.write(staProtocol); -// System.out.println("----------------------------------------"); -// // 璇� -// devpThread.read(); -// System.out.println(JSON.toJSONString(devpThread.station)); -// -// } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index efb5d3b..a592115 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -60,3 +60,9 @@ successCode: 200 msg: msg data: data +loc-move: + enable: false + crn1: false + crn2: false + crn3: false + crn4: false diff --git a/src/main/resources/mapper/TransferTaskMapper.xml b/src/main/resources/mapper/TransferTaskMapper.xml index a591d23..23f14b1 100644 --- a/src/main/resources/mapper/TransferTaskMapper.xml +++ b/src/main/resources/mapper/TransferTaskMapper.xml @@ -4,4 +4,12 @@ + <select id="selectByStartPoint" resultType="com.zy.asrs.entity.TransferTask"> + select top 1 * from wcs_transfer_task where start_point = #{startPoint} and status = 1 + </select> + + <select id="selectByEndPoint" resultType="com.zy.asrs.entity.TransferTask"> + select top 1 * from wcs_transfer_task where targetPoint = #{endPoint} and status = 2 + </select> + </mapper> -- Gitblit v1.9.1