From cdfb6025516e43275982780291b4c5bd866bd9d7 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 25 七月 2025 09:24:16 +0800 Subject: [PATCH] #erp对接修改 --- src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 10 +++ src/main/webapp/static/js/order/out.js | 6 + src/main/resources/mapper/LocDetlMapper.xml | 16 +++++ src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 12 +++ src/main/java/com/zy/common/model/LocDto.java | 12 ++++ src/main/java/com/zy/common/web/WcsController.java | 8 +- src/main/java/com/zy/asrs/controller/OutController.java | 56 +++++++++++------- src/main/java/com/zy/common/service/CommonService.java | 6 +- src/main/java/com/zy/third/lk/task/LKInTBScheduler.java | 10 ++- 9 files changed, 101 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index f5f52b8..344338a 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -88,31 +88,43 @@ if (issued <= 0.0D) { continue; } - List<LocDetl> locDetls = locDetlService.queryStock(orderDetl); + + // 浣跨敤鏂板澶氬瓧娈垫潯浠舵煡璇㈠簱瀛橈紙鍙敼鎴愪紶鍏ュ弬鏁版潵浼樺寲锛� + List<LocDetl> locDetls = locDetlService.queryStock(orderDetl); // 杩欎釜鏂规硶鍐呴儴搴旇鏍规嵁澶氫釜瀛楁鍖归厤 for (LocDetl locDetl : locDetls) { - if (locDetl.getMatnr().equals(orderDetl.getMatnr())) { - if (issued > 0) { - LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), - issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); - locDto.setStaNos(staNos); - locDto.setModel(locDetl.getModel()); - locDto.setOutOrderNo(locDetl.getOutOrderNo()); - locDto.setLuHao(locDetl.getLuHao()); - locDto.setPacking(locDetl.getPacking()); - locDto.setProType(locDetl.getProType()); - locDto.setSPgNO(locDetl.getSPgNO()); - locDto.setColor(locDetl.getColor()); - locDtos.add(locDto); - //exist.add(locDetl.getLocNo()); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); - } else { - break; - } + // 澶氬瓧娈靛尮閰� + boolean match = locDetl.getMatnr().equals(orderDetl.getMatnr()) + && Objects.equals(locDetl.getOutOrderNo(), orderDetl.getOutOrderNo()) + && Objects.equals(locDetl.getTemp2(), orderDetl.getTemp2()) + && Objects.equals(locDetl.getProType(), orderDetl.getProType()) + && Objects.equals(locDetl.getModel(), orderDetl.getModel()) + && Objects.equals(locDetl.getLuHao(), orderDetl.getLuHao()); + + if (!match) continue; + + if (issued > 0) { + LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), + locDetl.getBatch(), orderDetl.getOrderNo(), + issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + locDto.setStaNos(staNos); + locDto.setModel(locDetl.getModel()); + locDto.setOutOrderNo(locDetl.getOutOrderNo()); + locDto.setLuHao(locDetl.getLuHao()); + locDto.setPacking(locDetl.getPacking()); + locDto.setProType(locDetl.getProType()); + locDto.setSPgNO(locDetl.getSPgNO()); + locDto.setColor(locDetl.getColor()); + locDto.setTemp2(locDetl.getTemp2()); // 鏂板瀛楁 + locDtos.add(locDto); + + issued = issued - locDetl.getAnfme(); + } else { + break; } } + if (issued > 0) { LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); locDto.setLack(Boolean.TRUE); @@ -123,9 +135,11 @@ locDto.setProType(orderDetl.getProType()); locDto.setSPgNO(orderDetl.getSPgNO()); locDto.setColor(orderDetl.getColor()); + locDto.setTemp2(orderDetl.getTemp2()); locDtos.add(locDto); } } + return R.ok().add(locDtos); } diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java index 74f82b0..d204060 100644 --- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java @@ -62,7 +62,15 @@ // ------------------------------------------------- - List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos); + List<LocDetl> queryStock(@Param("sPgNO") String sPgNO, + @Param("matnr") String matnr, + @Param("batch") String batch, + @Param("outOrderNo") String outOrderNo, + @Param("temp2") String temp2, + @Param("proType") String proType, + @Param("model") String model, + @Param("luHao") String luHao, + @Param("locNos") Set<String> locNos); Double queryStockAnfme(String matnr, String batch); diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java index 62d2529..0b5e58c 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java @@ -129,7 +129,17 @@ @Override public List<LocDetl> queryStock(OrderDetl orderDetl) { List<LocDetl> data = new ArrayList<>(); - List<LocDetl> locDetls = this.baseMapper.queryStock(null, orderDetl.getMatnr(), null, null, null); + List<LocDetl> locDetls = this.baseMapper.queryStock( + null, + orderDetl.getMatnr(), + orderDetl.getBatch(), + orderDetl.getOutOrderNo(), + orderDetl.getTemp2(), + orderDetl.getProType(), + orderDetl.getModel(), + null, + null // locNos 濡傛灉鏈夋帓闄ゅ垪琛ㄤ篃鍙互浼� + ); if (locDetls == null) { return null; } diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java index c059370..aa0d5f5 100644 --- a/src/main/java/com/zy/common/model/LocDto.java +++ b/src/main/java/com/zy/common/model/LocDto.java @@ -46,6 +46,8 @@ private String color; + private String temp2; + public LocDto() { } @@ -73,6 +75,16 @@ this.anfme = anfme; } + public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo,String temp2, Double anfme) { + this.locNo = locNo; + this.matnr = matnr; + this.maktx = maktx; + this.batch = batch; + this.orderNo = orderNo; + this.temp2 = temp2; + this.anfme = anfme; + } + public String getTitle() { return this.matnr + "锛�" + this.maktx + "锛�"; } diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index ddd63f7..19d3a16 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -193,9 +193,9 @@ times++; } } -// if (nearRow == 0) { -// throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); -// } + if (nearRow == 0) { + throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); + } boolean signRule1 = false; boolean signRule2 = false; diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index e54971f..ba10177 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -75,6 +75,10 @@ if (Cools.isEmpty(param.getBarcode())) { return R.error("鏉$爜涓嶈兘涓虹┖"); } + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); + if (countWrk > 0) { + return R.error("宸ヤ綔妗e凡瀛樺湪"); + } waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); if (Cools.isEmpty(waitPakins)) { WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); @@ -86,10 +90,6 @@ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode())); if (countLoc > 0) { return R.error("搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�"); - } - int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); - if (countWrk > 0) { - return R.error("宸ヤ綔妗e凡瀛樺湪"); } } if (Cools.isEmpty(param.getLocType1())) { diff --git a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java index 9b96131..a71f6ea 100644 --- a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java +++ b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -176,10 +177,10 @@ int insert = erpSqlServer.insert(OutDetTB.class, content); if (insert == 1) { - log.info("鍏ュ簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString()); + log.info("鍑哄簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString()); return true; } else { - log.error("鍏ュ簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString()); + log.error("鍑哄簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString()); throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } @@ -193,6 +194,8 @@ */ @Transactional(rollbackFor = Throwable.class) public boolean insertOutHed(Order order) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String sqlInHedTb = "select * from lk_OutHedTB where LKName='楂橀湒绔嬪簱' and BillNo='" + order.getOrderNo() + "'"; List<OutHedTB> outHeds = erpSqlServer.select(sqlInHedTb, OutHedTB.class); String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='楂橀湒绔嬪簱' and BillNo='" + order.getOrderNo() + "'"; @@ -209,7 +212,7 @@ if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'"); if (!Cools.isEmpty(order.getWareId())) content.put("WareId", "'" + order.getWareId() + "'"); if (!Cools.isEmpty(order.getWareName())) content.put("WareName", "'" + order.getWareName() + "'"); - if (!Cools.isEmpty(order.getUpdateTime())) content.put("MakeDate", "'" + order.getUpdateTime() + "'"); + if (!Cools.isEmpty(order.getUpdateTime())) content.put("MakeDate", "'" + sdf.format(order.getUpdateTime()) + "'"); if (!Cools.isEmpty(order.getTemp1())) content.put("Temp1", "'" + order.getTemp1() + "'"); if (!Cools.isEmpty(order.getTemp2())) content.put("Temp2", "'" + order.getTemp2() + "'"); if (!Cools.isEmpty(order.getTemp3())) content.put("Temp3", "'" + order.getTemp3() + "'"); @@ -218,6 +221,7 @@ if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'"); content.put("LKName", "'楂橀湒绔嬪簱'"); content.put("bPass", "1"); + System.out.println("鎻掑叆鍐呭锛�" + content); int insert = erpSqlServer.insert(OutHedTB.class, content); if (insert == 1) { log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content); diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index 1ea5ec3..f23abf1 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -365,6 +365,22 @@ <if test="batch != null and batch != ''"> and a.batch = #{batch} </if> + <if test="outOrderNo != null and outOrderNo != ''"> + and a.out_order_no = #{outOrderNo} + </if> + <if test="temp2 != null and temp2 != ''"> + and a.temp2 = #{temp2} + </if> + <if test="proType != null and proType != ''"> + and a.pro_type = #{proType} + </if> + <if test="model != null and model != ''"> + and a.model = #{model} + </if> + <if test="luHao != null and luHao != ''"> + and a.lu_hao = #{luHao} + </if> + <!-- <choose>--> <!-- <when test="batch != null and batch != ''">--> <!-- and batch = #{batch}--> diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index 27a69e2..a80e4f0 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -167,10 +167,12 @@ {field: 'zpallet', align: 'center',title: '鎵樼洏鐮�'}, {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'}, {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, - {field: 'outOrderNo', hide: false}, + {field: 'outOrderNo', title: '鍚堝悓鍙�', align: 'center',hide: false}, + {field: 'temp2', align: 'center',title: '瀹㈡埛鍥惧彿', hide: false}, + {field: 'luHao', hide: true}, {field: 'packing', hide: true}, - {field: 'proType', hide: false}, + {field: 'proType', align: 'center',title: '灞炴��',hide: false}, {type: 'checkbox', merge: ['locNo']}, ]], done: function (res) { -- Gitblit v1.9.1