From 290595946ef959de43e9b079be16285c8a4d752d Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 05 十二月 2022 10:43:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/LocDetlController.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java index 87d2cbb..94b07ff 100644 --- a/src/main/java/com/zy/asrs/controller/LocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java @@ -13,10 +13,12 @@ import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.LocDetl; +import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.ManLocDetl; import com.zy.asrs.entity.Mat; import com.zy.asrs.mapper.LocDetlMapper; import com.zy.asrs.service.LocDetlService; +import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.ManLocDetlService; import com.zy.asrs.service.MatService; import com.zy.common.web.BaseController; @@ -33,6 +35,8 @@ @Autowired private LocDetlService locDetlService; + @Autowired + private LocMastService locMastService; @Autowired private LocDetlMapper locDetlMapper; @@ -161,7 +165,62 @@ @ManagerAuth(memo = "鍚堝悓鍙凤紙鎵瑰彿锛変慨鏀�") public R updateBatch(LocDetl locDetl){ if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){ - return R.error(); + 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())); + } + 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("杈撳叆鏁伴噺鏈夎锛岃瑙勮寖鎿嶄綔锛侊紒锛�"); + } + }catch (Exception e){ + return R.error("寮傚父"); } return new R(201,"鍚堝悓鍙蜂慨鏀规垚鍔燂紝璇峰埛鏂伴〉闈紒锛侊紒"); } -- Gitblit v1.9.1