From dc24e8e11dd2f17967fac7809ba40688162f8e9e Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 04 六月 2024 15:34:08 +0800 Subject: [PATCH] # 库位初始化 --- src/main/java/com/zy/asrs/controller/AgvBasDevpController.java | 255 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 246 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java index e0ccebf..466391b 100644 --- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java +++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java @@ -1,29 +1,44 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSONArray; +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.annotations.ManagerAuth; +import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; -import com.zy.asrs.entity.AgvBasDevp; -import com.zy.asrs.service.AgvBasDevpService; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.LocMastInitParam; +import com.zy.asrs.service.*; +import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import java.util.Date; -import java.util.Map; +import java.util.*; @RestController +@RequestMapping("/agv") public class AgvBasDevpController extends BaseController { @Autowired AgvBasDevpService agvBasDevpService; + @Autowired + AgvWrkMastService agvWrkMastService; + @Autowired + AgvWrkDetlService agvWrkDetlService; + @Autowired + AgvWaitPakinService agvWaitPakinService; + @Autowired + AgvWorkService agvWorkService; + @Autowired + AgvLocDetlService agvLocDetlService; - @RequestMapping(value = "/agvBasDevp/list/auth") + @RequestMapping(value = "/basDevp/list/auth") @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @@ -37,7 +52,7 @@ return R.ok(agvBasDevpService.selectPage(new Page<>(curr, limit), wrapper)); } - @RequestMapping(value = "/agvBasDevp/add/auth") + @RequestMapping(value = "/basDevp/add/auth") @ManagerAuth(memo = "绔欑偣娣诲姞") public R add(AgvBasDevp agvBasDevp) { agvBasDevp.setModiUser(getUserId()); @@ -47,6 +62,227 @@ agvBasDevp.setLocSts("O"); agvBasDevpService.insert(agvBasDevp); return R.ok(); + } + + @RequestMapping(value = "/basDevp/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<AgvBasDevp> wrapper = new EntityWrapper<AgvBasDevp>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != agvBasDevpService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(BasDevp.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + + @RequestMapping(value = "/basDevp/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") Long id) { + return R.ok(agvBasDevpService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/basDevp/update/auth") + @ManagerAuth(memo = "绔欑偣淇敼") + public R update(AgvBasDevp basDevp){ + if (Cools.isEmpty(basDevp) || null==basDevp.getDevNo()){ + return R.error(); + } + basDevp.setModiUser(getUserId()); + basDevp.setModiTime(new Date()); + agvBasDevpService.updateById(basDevp); + return R.ok("淇敼瀹屾垚"); + } + + @RequestMapping(value = "/basDevp/delete/auth") + @ManagerAuth(memo = "绔欑偣鍒犻櫎") + public R delete(@RequestParam String param){ + List<AgvBasDevp> list = JSONArray.parseArray(param, AgvBasDevp.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (AgvBasDevp entity : list){ + agvBasDevpService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/basDevp/unbind/auth") + @ManagerAuth(memo = "绔欑偣瑙g粦") + public R unbind(@RequestParam String param){ + AgvBasDevp agvBasDevp = JSONArray.parseObject(param,AgvBasDevp.class); + + //鑻ュ綋鍓嶇珯鐐硅揣浣嶇姸鎬佷笉涓篎.鍦ㄥ簱鐘舵�侊紝鍒欒繑鍥為敊璇� + if(!agvBasDevp.getLocSts().equals("F")){ + return R.error("褰撳墠绔欑偣璐т綅鐘舵�佷笉涓哄湪搴擄紝鏃犳硶瑙i櫎缁戝畾"); + } + agvBasDevp.setLocSts("O"); + agvBasDevp.setBarcode(""); + agvBasDevp.setLocType2(null); + agvBasDevpService.update(agvBasDevp,new EntityWrapper<AgvBasDevp>().eq("dev_no",agvBasDevp.getDevNo())); + + return R.ok(); + } + + @RequestMapping(value = "/basDevp/export/auth") + @ManagerAuth(memo = "绔欑偣瀵煎嚭") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("basDevp")); + convert(map, wrapper); + List<AgvBasDevp> list = agvBasDevpService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/basDevpQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); + wrapper.like("dev_no", condition); + Page<AgvBasDevp> page = agvBasDevpService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (AgvBasDevp basDevp : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", basDevp.getDevNo()); + map.put("value", basDevp.getDevNo()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/basDevp/init/auth") + @ManagerAuth(memo = "鍒濆鍖栫珯鐐�") + public R init(LocMastInitParam param) { + //娓呯┖鍘熸湁搴撲綅 + agvBasDevpService.clearBasDevp(); + //鍒濆鍖�1妤�3妤肩珯鐐� + agvBasDevpService.initBasDevp(); + + return R.ok(); + } + + /* + 绔欑偣鏄庣粏 + */ + @RequestMapping(value = "/basDevp/detail/list/auth") + public R basDevpDetailList(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam Map<String, Object> param){ + String devNo = param.get("devNo").toString(); + if (Cools.isEmpty(devNo) || !CodeDetectionUtil.carCodeDetection(devNo)){ + throw new CoolException(devNo + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�"); + } + AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); + if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){ + //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏 + Page<AgvWaitPakin> agvWaitPakinPage = agvWaitPakinService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWaitPakin>() + .eq("supp_code", agvBasDevp.getBarcode())); + if(agvWaitPakinPage.getRecords().size()>0){ + return R.ok(agvWaitPakinPage); + }else { + //濡傛灉鍏ュ簱閫氭。鏄庣粏涓虹┖锛屽垯鍘诲伐浣滄。鎵炬槑缁� + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() + .eq("loc_no", agvBasDevp.getDevNo()) + .or().eq("source_loc_no",agvBasDevp.getDevNo())); + if (Cools.isEmpty(agvWrkMast)) { + Page<AgvLocDetl> agvLocDetlPage = agvLocDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvLocDetl>() + .eq("supp_code", agvBasDevp.getBarcode())); + if (agvLocDetlPage.getRecords().size() > 0) { + return R.ok(agvLocDetlPage); + } else { + return R.error("褰撳墠璐ф灦鐮佸紓甯革紒"); + } + } + + Page<AgvWrkDetl> agvWrkDetlPage = agvWrkDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWrkDetl>() + .eq("wrk_no", agvWrkMast.getWrkNo())); + + if(agvWrkDetlPage.getRecords().size()>0){ + return R.ok(agvWrkDetlPage); + } + } + } + + return R.ok(); + } + + @RequestMapping(value = "/basDevp/visualized/list/auth") + public R visualizedList(@RequestBody JSONObject param){ + + String stationCode = param.get("stationCode").toString(); + + Map<String, Object> result = agvBasDevpService.getAgvBasDevpDtoByStationCode(stationCode); + + return R.ok(result); + } + @RequestMapping(value = "/basDevp/visualized/list/auth/v2") + public R visualizedList(@RequestParam String stationCode){ + + Map<String, Object> result = agvBasDevpService.getAgvBasDevpDtoByStationCode(stationCode); + + return R.ok(result); + } + /* + 浠诲姟瀹屾垚 + */ + @RequestMapping(value = "/basDevp/visualized/container/moveOut") + @ManagerAuth(memo = "纭鍑哄簱") + public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) { + + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + + agvWrkMast.setWrkSts(206L); + agvWrkMastService.updateById(agvWrkMast); + + return R.ok("璐ф灦绂诲満鎴愬姛"); + } + + /* + 浠诲姟瀹屾垚 + */ + @RequestMapping(value = "/basDevp/visualized/container/moveOut2") + @ManagerAuth(memo = "纭鍑哄簱2") + public R visualiZedContainerMoveOut2(@RequestBody Map<String,Object> map) { + + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + + agvWrkMast.setWrkSts(208L); + agvWrkMastService.updateById(agvWrkMast); + + return R.ok("璐ф灦绂诲満鎴愬姛"); + } + + /* + 鎷f枡/鐩樼偣鍏ュ簱 + */ + @RequestMapping(value = "/basDevp/visualized/container/pickIn") + @ManagerAuth(memo = "宸叉嫞鏂欏洖搴�") + public R visualiZedPickIn(@RequestBody Map<String,Object> map){ + List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); + String devNo = map.get("devNo").toString(); + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if (agvWrkMast != null) { + if(agvWrkMast.getIoType() == 101){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍑哄簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + agvWrkMast.setLocNo(devNo); + agvWrkMastList.add(agvWrkMast); + agvWorkService.pickIn(agvWrkMastList); + } else { + return R.error("鏌ヤ笉鍒版嫞鏂欏嚭搴撲换鍔�"); + } + + + + return R.ok("鐢熸垚鎷f枡鍥炲簱浠诲姟鎴愬姛"); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ @@ -61,4 +297,5 @@ } } } + } -- Gitblit v1.9.1