From f3603d9f0eb85d2a42edbcadd0950889af2c24d2 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 19 二月 2024 18:14:05 +0800 Subject: [PATCH] #库存迁移逻辑修改,从工作明细档进行处理 --- src/main/java/com/zy/asrs/entity/WrkDetlLog.java | 10 ++ src/main/resources/mapper/WrkDetlMapper.xml | 1 src/main/java/com/zy/common/model/OutLocDto.java | 65 +++++++++++++++++++++ src/main/resources/mapper/WrkDetlLogMapper.xml | 1 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 44 ++++++++++---- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 10 ++ src/main/java/com/zy/asrs/entity/WrkDetl.java | 10 ++ src/main/java/com/zy/common/web/WcsController.java | 28 ++++---- src/main/webapp/static/js/common.js | 3 9 files changed, 138 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java index ae755c0..826af34 100644 --- a/src/main/java/com/zy/asrs/entity/WrkDetl.java +++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java @@ -35,12 +35,18 @@ private Date ioTime; /** - * 鏁伴噺 + * 浣滀笟鏁伴噺 */ - @ApiModelProperty(value= "鏁伴噺") + @ApiModelProperty(value= "浣滀笟鏁伴噺") private Double anfme; /** + * 鎬诲簱瀛� + */ + @ApiModelProperty(value= "鎬诲簱瀛�") + private Double stock; + + /** * 鎵樼洏鏉$爜 */ @ApiModelProperty(value= "鎵樼洏鏉$爜") diff --git a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java index c283e3d..0df08e6 100644 --- a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java +++ b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java @@ -34,12 +34,18 @@ private Date ioTime; /** - * 鏁伴噺 + * 浣滀笟鏁伴噺 */ - @ApiModelProperty(value= "鏁伴噺") + @ApiModelProperty(value= "浣滀笟鏁伴噺") private Double anfme; /** + * 鎬诲簱瀛� + */ + @ApiModelProperty(value= "鎬诲簱瀛�") + private Double stock; + + /** * 鎵樼洏鏉$爜 */ @ApiModelProperty(value= "鎵樼洏鏉$爜") diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 3680f51..0a5347a 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -284,6 +284,11 @@ } } + for (OutLocDto dto : dtos) { + dto.sortLocDetlDtos(); + } + + ArrayList<String> outerLocs = new ArrayList<>(); //妫�娴嬫槸鍚︿负娴呭簱浣� boolean sign=false; @@ -423,14 +428,15 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { - if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} + if (detlDto.getCount()==null) {continue;} WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(detlDto.getLocDetl()); wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙� wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); - wrkDetl.setAnfme(anfme); // 鏁伴噺 + wrkDetl.setAnfme(anfme); // 浣滀笟鏁伴噺 + wrkDetl.setStock(detlDto.getLocDetl().getAnfme()); wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 6665933..84350bd 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -138,20 +138,37 @@ } log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏鍒楄〃锛�" + JSON.toJSONString(wrkDetls53)); for (WrkDetl wrkDetl : wrkDetls53) { - - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode()); - if (null != locDetl) { - log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl)); - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), - locMast.getLocNo(), - wrkDetl.getMatnr(), - wrkDetl.getBatch(), - wrkDetl.getSuppCode(), - wrkDetl.getThreeCode(), - wrkDetl.getDeadTime())) { - exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); - } + double anfme = wrkDetl.getStock() - wrkDetl.getAnfme(); + if (anfme <= 0) {//搴撳瓨 - 浣滀笟鏁伴噺 <= 0 娓呮帀璇ユ暟鎹� + continue; } + + LocDetl locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setLocNo(wrkMast.getLocNo()); + locDetl.setAnfme(anfme); + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setAppeTime(now); + locDetl.setAppeUser(9527L); + locDetl.setModiTime(now); + locDetl.setModiUser(9527L); + if (!locDetlService.insert(locDetl)) { + exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + +// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode()); +// if (null != locDetl) { +// log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl)); +// if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), +// locMast.getLocNo(), +// wrkDetl.getMatnr(), +// wrkDetl.getBatch(), +// wrkDetl.getSuppCode(), +// wrkDetl.getThreeCode(), +// wrkDetl.getDeadTime())) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// } +// } } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -273,6 +290,7 @@ if (!locMastService.updateById(sourceLoc)) { exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); } + locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo())); } // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts locMast.setLocSts(locSts); diff --git a/src/main/java/com/zy/common/model/OutLocDto.java b/src/main/java/com/zy/common/model/OutLocDto.java index e75f276..3388eb6 100644 --- a/src/main/java/com/zy/common/model/OutLocDto.java +++ b/src/main/java/com/zy/common/model/OutLocDto.java @@ -69,4 +69,69 @@ return sameNumber == locDetls.size(); } + public void sortLocDetlDtos() { + ArrayList<LocDetlDto> list = new ArrayList<>(); + EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); + wrapper.eq("loc_no", locNo); + LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); + List<LocDetl> locDetls = locDetlService.selectList(wrapper); + for (LocDetl locDetl : locDetls) { + boolean flag = true; + for (LocDetlDto locDetlDto : locDetlDtos) { + LocDetl detl = locDetlDto.getLocDetl(); + if (!Cools.isEmpty(locDetl.getMatnr())) { + if (!locDetl.getMatnr().equals(detl.getMatnr())) { + continue; + } + } + if (!Cools.isEmpty(locDetl.getBatch())) { + if (!locDetl.getBatch().equals(detl.getBatch())) { + continue; + } + } + if (!Cools.isEmpty(locDetl.getSuppCode())) { + if (!locDetl.getSuppCode().equals(detl.getSuppCode())) { + continue; + } + } + flag = false; + break; + } + + if (flag) { + LocDetlDto dto = new LocDetlDto(locDetl, 0D); + list.add(dto); + } + } + + locDetlDtos.addAll(list); +// ArrayList<String> matnr = new ArrayList<>(); +// ArrayList<String> batch = new ArrayList<>(); +// ArrayList<String> suppCode = new ArrayList<>(); +// for (LocDetlDto locDetlDto : locDetlDtos) { +// LocDetl locDetl = locDetlDto.getLocDetl(); +// if (!Cools.isEmpty(locDetl.getMatnr())) { +// matnr.add(locDetl.getMatnr()); +// } +// if (!Cools.isEmpty(locDetl.getBatch())) { +// batch.add(locDetl.getBatch()); +// } +// if (!Cools.isEmpty(locDetl.getSuppCode())) { +// suppCode.add(locDetl.getSuppCode()); +// } +// } +// +// EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); +// wrapper.eq("loc_no", locNo); +// wrapper.notIn("matnr", matnr); +// wrapper.notIn("batch", batch); +// wrapper.notIn("supp_code", suppCode); +// LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); +// List<LocDetl> locDetls = locDetlService.selectList(wrapper); +// for (LocDetl locDetl : locDetls) { +// LocDetlDto dto = new LocDetlDto(locDetl, 0D); +// locDetlDtos.add(dto); +// } + } + } diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 3855940..53add18 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -497,21 +497,21 @@ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } - Date now = new Date(); - for (LocDetl locDetl : locDetls) { - locDetl.setLocNo(dto.getLocNo());//淇敼鐩爣搴撲綅 - locDetl.setAppeTime(now); - locDetl.setModiTime(now); - if (!locDetlService.insert(locDetl)) { - throw new CoolException("搴撳瓨鏄庣粏鏇存柊澶辫触"); - } - } +// Date now = new Date(); +// for (LocDetl locDetl : locDetls) { +// locDetl.setLocNo(dto.getLocNo());//淇敼鐩爣搴撲綅 +// locDetl.setAppeTime(now); +// locDetl.setModiTime(now); +// if (!locDetlService.insert(locDetl)) { +// throw new CoolException("搴撳瓨鏄庣粏鏇存柊澶辫触"); +// } +// } - //妫�鏌ョ洰鏍囧簱浣嶏紝搴撳瓨鏄庣粏鏄惁娣诲姞鎴愬姛 - List<LocDetl> checkLocDetls = locDetlService.selectByLocNo(dto.getLocNo()); - if (checkLocDetls.isEmpty()) { - throw new CoolException("搴撳瓨鏄庣粏杩佺Щ澶辫触"); - } +// //妫�鏌ョ洰鏍囧簱浣嶏紝搴撳瓨鏄庣粏鏄惁娣诲姞鎴愬姛 +// List<LocDetl> checkLocDetls = locDetlService.selectByLocNo(dto.getLocNo()); +// if (checkLocDetls.isEmpty()) { +// throw new CoolException("搴撳瓨鏄庣粏杩佺Щ澶辫触"); +// } // //娓呯┖婧愬簱浣嶆暟鎹� LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo()); diff --git a/src/main/resources/mapper/WrkDetlLogMapper.xml b/src/main/resources/mapper/WrkDetlLogMapper.xml index a4a997e..57934bc 100644 --- a/src/main/resources/mapper/WrkDetlLogMapper.xml +++ b/src/main/resources/mapper/WrkDetlLogMapper.xml @@ -7,6 +7,7 @@ <result column="wrk_no" property="wrkNo" /> <result column="io_time" property="ioTime" /> <result column="anfme" property="anfme" /> + <result column="stock" property="stock" /> <result column="zpallet" property="zpallet" /> <result column="matnr" property="matnr" /> <result column="maktx" property="maktx" /> diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index a9a84f2..6012632 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -7,6 +7,7 @@ <result column="wrk_no" property="wrkNo" /> <result column="io_time" property="ioTime" /> <result column="anfme" property="anfme" /> + <result column="stock" property="stock" /> <result column="zpallet" property="zpallet" /> <result column="matnr" property="matnr" /> <result column="maktx" property="maktx" /> diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index cc817a0..a6ba1da 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -229,7 +229,8 @@ ,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜',hide: true} ,{field: 'suppCode', align: 'center',title: '鏂欑鐮�', hide: false} ,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜'} - ,{field: 'anfme', align: 'center',title: '鏁伴噺'} + ,{field: 'anfme', align: 'center',title: '浣滀笟鏁伴噺'} + ,{field: 'stock', align: 'center',title: '鎬诲簱瀛�'} ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300, sort:true, hide: true} ,{field: 'maktx', align: 'center',title: '瀛樿揣鍚嶇О'} ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false} -- Gitblit v1.9.1