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