From eddd13490f2d17c70841d468cf5cac3779f9886b Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期三, 24 四月 2024 15:02:42 +0800 Subject: [PATCH] 添加图号 --- src/main/java/com/zy/asrs/controller/LocDetlController.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 112 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java index b25c818..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,7 +86,7 @@ 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, @@ -91,13 +94,29 @@ @RequestParam(required = false)String orderByType, @RequestParam(required = false)String condition, @RequestParam Map<String, Object> param){ - excludeTrash(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"); +// } +// } + 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 +"%'"); +// } 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()){ @@ -138,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 = "搴撲綅鏄庣粏鍒犻櫎") @@ -158,7 +249,22 @@ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl")); + String row = ""; + if (map.get("row") != null) { + String chooseRow = (String) map.get("row"); + if (chooseRow.length() == 1) { + row = "0" + chooseRow; + map.remove("row"); + }else { + row = chooseRow; + map.remove("row"); + } + } convert(map, wrapper); + if (!row.equals("")){ + wrapper.and() + .where("loc_no like '" +row +"%'"); + } List<LocDetl> list = locDetlService.selectList(wrapper); return R.ok(exportSupport(list, fields)); } -- Gitblit v1.9.1