From 0531316b080ca77616387c1f86c0399e6f2d2875 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 08 二月 2023 10:29:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/LocDetlController.java | 127 ++++++++++++++++++++++++++++++++---------- 1 files changed, 97 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java index 553be70..c227b76 100644 --- a/src/main/java/com/zy/asrs/controller/LocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java @@ -12,11 +12,9 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; -import com.zy.asrs.entity.LocDetl; -import com.zy.asrs.entity.Mat; +import com.zy.asrs.entity.*; import com.zy.asrs.mapper.LocDetlMapper; -import com.zy.asrs.service.LocDetlService; -import com.zy.asrs.service.MatService; +import com.zy.asrs.service.*; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -31,6 +29,11 @@ @Autowired private LocDetlService locDetlService; + @Autowired + private LocMastService locMastService; + @Autowired + private AdjDetlService adjDetlService; + @Autowired private LocDetlMapper locDetlMapper; @Autowired @@ -83,45 +86,37 @@ return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class))); } - @RequestMapping(value = "/locDetl/list/auth") + @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 鎺ュ彛闂 @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam(required = false)String condition, - @RequestParam Map<String, Object> param, - @RequestParam(required = false)Boolean unreason){ - if (unreason) { - - return R.ok(locDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<LocDetl>() - .where(" DATALENGTH( batch ) != 11 or\n" + - " batch LIKE '%[a-z]%'"))); - } - param.remove("unreason"); - String row = ""; + @RequestParam Map<String, Object> param){ +// String row = ""; EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); - if (param.get("row") != null) { - String chooseRow = (String) param.get("row"); - if (chooseRow.length() == 1) { - row = "0" + chooseRow; - param.remove("row"); - }else { - row = chooseRow; - param.remove("row"); - } - } +// if (param.get("row") != null) { +// String chooseRow = (String) param.get("row"); +// if (chooseRow.length() == 1) { +// row = "0" + chooseRow; +// param.remove("row"); +// }else { +// row = chooseRow; +// param.remove("row"); +// } +// } excludeTrash(param); convert(param, wrapper); allLike(LocDetl.class, param.keySet(), wrapper, condition); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} - if (!row.equals("")){ - wrapper.and() - .where("loc_no like '" +row +"%'"); - } - +// if (!row.equals("")){ +// wrapper.and() +// .where("loc_no like '" +row +"%'"); +// } return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper)); } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ @@ -162,6 +157,78 @@ locDetlService.updateById(locDetl); return R.ok(); } + @RequestMapping(value = "/locDetl/updateBatch/auth") + @ManagerAuth(memo = "鍚堝悓鍙凤紙鎵瑰彿锛変慨鏀�") + public R updateBatch(LocDetl locDetl){ + if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){ + return R.error("鍙傛暟寮傚父"); + }else if (locDetl.getBatch().equals(locDetl.getSku())){ + return R.error("鍓嶅悗鍚堝悓鍙蜂竴鑷达紝鏃犻渶淇敼锛侊紒锛�"); + } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); + if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){ + return R.error("搴撲綅鍙峰繀椤诲瓨鍦ㄥ苟涓斿簱浣嶇姸鎬佷负鈥淔鈥濓紒锛侊紒"); + } + try{ + LocDetl locDetlSource = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch()); + if (Cools.isEmpty(locDetlSource) || (locDetl.getBatch()==null && locDetlSource.getBatch()!=null)){ + locDetlSource = locDetlService.selectOne(new EntityWrapper<LocDetl>() + .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getBatch())); + if (Cools.isEmpty(locDetlSource)){ + return R.error("寮傚父"); + } + } + LocDetl locDetlEnd = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku()); + if (!Cools.isEmpty(locDetlEnd) && locDetl.getSku()==null && locDetlEnd.getBatch()!=null){ + locDetlEnd = locDetlService.selectOne(new EntityWrapper<LocDetl>() + .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getSku())); + } + AdjDetl adjDetlSource = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getBatch(),null,locDetlSource.getAnfme(),null,null,locDetlSource.getAnfme()-locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); + AdjDetl adjDetlEnd=null; + if (Cools.isEmpty(locDetlEnd)){ + adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,0.0,null,null,locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); + }else { + adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,locDetlEnd.getAnfme(),null,null,locDetlEnd.getAnfme()+locDetl.getAnfme(),null,"淇敼鍚堝悓鍙�:"+locDetl.getBatch()+"鈫�"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); + } + if (locDetlSource.getAnfme()-locDetl.getAnfme()==0){ + if (Cools.isEmpty(locDetlEnd)){ + locDetlSource.setBatch(locDetl.getSku()); + if (locDetl.getBatch()==null || locDetl.getBatch()==""){ + locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>() + .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch","")); + }else { + locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>() + .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetl.getBatch())); + } + }else { + locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch()); + if (locDetl.getBatch()==null || locDetl.getBatch()==""){ + locDetlService.delete(new EntityWrapper<LocDetl>() + .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch","")); + }else { + locDetlService.delete(new EntityWrapper<LocDetl>() + .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetlSource.getBatch())); + } + } + }else if (locDetlSource.getAnfme()>locDetl.getAnfme()){ + locDetlService.updateAnfme(locDetlSource.getAnfme()-locDetl.getAnfme(),locDetlSource.getLocNo(),locDetlSource.getMatnr(),locDetlSource.getBatch()); + if (Cools.isEmpty(locDetlEnd)){ + locDetlSource.setAnfme(locDetl.getAnfme()); + locDetlSource.setBatch(locDetl.getSku()); + locDetlService.insert(locDetlSource); + }else { + locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch()); + } + }else { + return R.error("杈撳叆鏁伴噺鏈夎锛岃瑙勮寖鎿嶄綔锛侊紒锛�"); + } + adjDetlService.insert(adjDetlSource); + adjDetlService.insert(adjDetlEnd); + }catch (Exception e){ + return R.error("寮傚父锛侊紒锛佽瑙勮寖鎿嶄綔锛侊紒锛�"); + } + return new R(201,"鍚堝悓鍙蜂慨鏀规垚鍔燂紝璇峰埛鏂伴〉闈紒锛侊紒"); + } @RequestMapping(value = "/locDetl/delete/auth") @ManagerAuth(memo = "搴撲綅鏄庣粏鍒犻櫎") -- Gitblit v1.9.1