From 7e8c8abedab8d33ea5faff80545e566aa71306d6 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 21 五月 2024 14:48:11 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/AgvLocMastController.java | 82 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 74 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java index 28a5e7b..ac0679a 100644 --- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java +++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java @@ -10,10 +10,13 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; -import com.zy.asrs.entity.AgvLocMast; -import com.zy.asrs.entity.LocMast; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.LocMastInitParam; +import com.zy.asrs.service.AdjDetlService; +import com.zy.asrs.service.AgvLocDetlService; import com.zy.asrs.service.AgvLocMastService; +import com.zy.asrs.service.AgvWrkMastService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -29,6 +32,12 @@ @Autowired private AgvLocMastService agvLockMastService; + @Autowired + private AgvWrkMastService agvWrkMastService; + @Autowired + private AgvLocDetlService agvLocDetlService; + @Autowired + private AdjDetlService adjDetlService; @RequestMapping(value = "/locMast/list/auth") @ManagerAuth @@ -39,7 +48,7 @@ @RequestParam Map<String, Object> param){ excludeTrash(param); EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); - convert(param, wrapper); + convert1(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} return R.ok(agvLockMastService.selectPage(new Page<>(curr, limit), wrapper.eq("status",0))); } @@ -58,8 +67,51 @@ @RequestMapping(value = "/locMast/update/auth") @ManagerAuth(memo = "搴撲綅淇敼") @Transactional - public R update(LocMast locMast){ - //to do + public R update(AgvLocMast locMast){ + if (Cools.isEmpty(locMast) || null==locMast.getLocNo()){ + return R.error(); + } + AgvWrkMast wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() + .eq("source_loc_no", locMast.getLocNo()) + .or().eq("loc_no", locMast.getLocNo())); + if(!Cools.isEmpty(wrkMast)){ + return R.error("璇ュ簱浣嶆鍦ㄤ綔涓氾紝璇峰厛澶勭悊宸ヤ綔妗�"); + } + AgvLocMast oldLocMast = agvLockMastService.selectById(locMast.getLocNo()); + if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) { + return R.error("褰撳墠鎿嶄綔宸茶闃绘锛岃鑱旂郴绠$悊鍛�"); + } + Date now = new Date(); + // 鏈夌墿鏂欐椂淇敼涓虹┖搴撲綅鎴栬�呯┖鏉垮簱浣嶏紝鍒欏垹闄ゅ簱瀛樻槑缁� + if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F") || oldLocMast.getLocSts().equals("S")) { + if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")) { + List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo())); + for (AgvLocDetl locDetl : locDetls) { + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setBatch(locDetl.getBatch()); + adjDetl.setOriQty(locDetl.getAnfme()); + adjDetl.setAdjQty(0.0D); + adjDetl.setModiTime(now); + adjDetl.setModiUser(getUserId()); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(getUserId()); + if (!adjDetlService.insert(adjDetl)) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + if (!agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo()))) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + } + locMast.setModiUser(getUserId()); + locMast.setModiTime(now); + if(!agvLockMastService.updateById(locMast)) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } return R.ok(); } @@ -101,11 +153,13 @@ @ManagerAuth(memo = "鍒濆鍖栧簱浣�") public R init(LocMastInitParam param) { //娓呯┖鍘熸湁搴撲綅 - agvLockMastService.clearLoc(); - //鍒濆鍖栦竴妤肩珯鐐� +// agvLockMastService.clearLoc(); + //鍒濆鍖栦竴妤煎簱浣� agvLockMastService.initLocFloor1(); + //鍒濆鍖栦簩妤煎簱浣� +// agvLockMastService.initLocFloor2(); //鍒濆鍖栦笁妤肩珯鐐� - agvLockMastService.initLocFloor3(); +// agvLockMastService.initLocFloor3(); return R.ok(); } @@ -128,4 +182,16 @@ } } } + private <T> void convert1(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.eq(entry.getKey(), val); + } + } + } } -- Gitblit v1.9.1