From aca94963ca944c256c4ef69d0316a2e8d6ccbc62 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 11 四月 2026 16:35:32 +0800
Subject: [PATCH] 单据上报U8批次
---
src/main/resources/mapper/OrderDetlMapper.xml | 6
src/main/resources/mapper/OrderReportMapper.xml | 36 +++++++
src/main/java/com/zy/asrs/entity/OrderDetl.java | 2
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 4
src/main/java/com/zy/asrs/entity/OrderReport.java | 43 ++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2
src/main/resources/mapper/LocDetlMapper.xml | 3
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 37 +++++--
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 115 +++++++++++++++-------
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 15 +++
src/main/java/com/zy/asrs/mapper/OrderReportMapper.java | 23 ++++
11 files changed, 228 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 17b1f8e..7b7131b 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -446,7 +446,7 @@
public Double getEnableQty() {
if (null != this.anfme && this.workQty != null) {
- return this.anfme - this.workQty;
+ return this.anfme - this.workQty - this.qty;
}
// if (null != this.anfme && this.qty != null) {
// return this.anfme - this.qty;
diff --git a/src/main/java/com/zy/asrs/entity/OrderReport.java b/src/main/java/com/zy/asrs/entity/OrderReport.java
new file mode 100644
index 0000000..0e47fd4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/OrderReport.java
@@ -0,0 +1,43 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.beans.BeanUtils;
+
+/**
+ * @author pang.jiabao
+ * @description
+ * @createDate 2026/4/10 14:30
+ */
+@Data
+@TableName("man_order_report")
+public class OrderReport {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @TableField("order_no")
+ private String orderNo;
+
+ @TableField("matnr")
+ private String matnr;
+
+ @TableField("maktx")
+ private String maktx;
+
+ @TableField("batch")
+ private String batch;
+
+ @TableField("anfme")
+ private Double anfme;
+
+ public void sync(Object source) {
+ BeanUtils.copyProperties(source,this);
+ }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderReportMapper.java b/src/main/java/com/zy/asrs/mapper/OrderReportMapper.java
new file mode 100644
index 0000000..b57b0a9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/OrderReportMapper.java
@@ -0,0 +1,23 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.OrderReport;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author pang.jiabao
+ * @description
+ * @createDate 2026/4/10 14:28
+ */
+@Mapper
+public interface OrderReportMapper extends BaseMapper<OrderReport> {
+
+ int insertBatch(@Param("list") List<OrderReport> list);
+
+ List<OrderReport> selectSummary(@Param("orderNo") String orderNo, @Param("matnr") String matnr);
+
+ int moveToLog(@Param("orderNos") List<String> orderNos);
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2a055e4..0cb0be0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -13,6 +13,7 @@
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.mapper.OrderReportMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.SaasUtils;
@@ -85,6 +86,9 @@
@Resource
private OrderDetlMapper orderDetlMapper;
+ @Resource
+ private OrderReportMapper orderReportMapper;
+
@Override
@Transactional
public R WarehouseOut(CombParam combParam, Long userId) {
@@ -111,21 +115,27 @@
if (order.getSettle() == 1) {
orderService.updateSettle(order.getId(), 2L, userId);
}
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), "");
if (Cools.isEmpty(orderDetl)) {
continue;
}
if (orderDetl.getAnfme() < orderDetl.getWorkQty() + combMat.getAnfme()) {
combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty());
}
- // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
- if (orderDetlMapper.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme()) <= 0) {
+ // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+ if (orderDetlMapper.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), "", combMat.getAnfme()) <= 0) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏宸ヤ綔鏁伴噺澶辫触");
}
- // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
- if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
- throw new CoolException("淇敼鍗曟嵁鏄庣粏瀹屾垚鏁伴噺澶辫触");
- }
+// // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+// if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), "", combMat.getAnfme())) {
+// throw new CoolException("淇敼鍗曟嵁鏄庣粏瀹屾垚鏁伴噺澶辫触");
+// }
+ // 鎻掑叆涓婃姤琛�
+ combMat.setOrderNo(combParam.getOrderNo());
+ OrderReport orderReport = new OrderReport();
+ orderReport.sync(combMat);
+ orderReportMapper.insert(orderReport);
+
// 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
orderService.checkComplete(combParam.getOrderNo());
}
@@ -226,14 +236,19 @@
if (Cools.isEmpty(order)){
throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟澶辫触");
}
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), "");
if (Cools.isEmpty(orderDetl)){
throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟鏄庣粏澶辫触");
}
// 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
- if (!orderDetlService.increase(order.getId(),waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
+ if (!orderDetlService.increase(order.getId(),waitPakin.getMatnr(), "", waitPakin.getAnfme())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
+ // 鎻掑叆涓婃姤琛�
+ OrderReport orderReport = new OrderReport();
+ orderReport.sync(waitPakin);
+ orderReportMapper.insert(orderReport);
+
// 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
orderService.checkComplete(waitPakin.getOrderNo());
@@ -339,12 +354,12 @@
throw new CoolException("鍗曟嵁缂栧彿宸插畬鎴愶細" + elem.getOrderNo());
}
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), "");
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), "", elem.getAnfme())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
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 6f7b59e..b897c8c 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -891,7 +891,7 @@
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), "", wrkDetl.getAnfme())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index c6b0474..8f8f8b8 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -2,15 +2,18 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.OrderReport;
import com.zy.asrs.entity.u8.ReportU8Vo;
import com.zy.asrs.entity.u8.U8ResultVo;
import com.zy.asrs.mapper.OrderMapper;
+import com.zy.asrs.mapper.OrderReportMapper;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderDetlService;
@@ -51,7 +54,12 @@
@Autowired
private DocTypeService docTypeService;
+ @Resource
+ private OrderReportMapper orderReportMapper;
+
private static final String baseUrl = "192.168.4.189:10006/api/U8Server";
+// private static final String baseUrl = "127.0.0.1:8080/jsjwms/open/asrs";
+
private static final Map<String, String> pathMap = new HashMap<String, String>() {{
put("閲囪喘鍒拌揣鍗�", "/purchasein_import");
put("閿�鍞彂璐у崟", "/saleout_import");
@@ -59,6 +67,12 @@
put("棰嗘枡鐢宠鍗�", "/materialout_import");
put("鍏朵粬鍏ュ簱鍗�", "/otherin_import");
put("鍏朵粬鍑哄簱鍗�", "/otherout_import");
+// put("閲囪喘鍒拌揣鍗�", "/purchasein_import");
+// put("閿�鍞彂璐у崟", "/purchasein_import");
+// put("鐢熶骇璁㈠崟", "/purchasein_import");
+// put("棰嗘枡鐢宠鍗�", "/purchasein_import");
+// put("鍏朵粬鍏ュ簱鍗�", "/purchasein_import");
+// put("鍏朵粬鍑哄簱鍗�", "/purchasein_import");
}};
@Resource
private OrderMapper orderMapper;
@@ -176,6 +190,7 @@
return SUCCESS;
}
+ @Transactional
public void startNew(Map.Entry<String, List<Order>> orderMap) {
String docName = orderMap.getKey();
List<Order> value = orderMap.getValue();
@@ -205,6 +220,10 @@
List<String> successReceiptNos = list.stream().filter(u8ResultVo -> "T".equals(u8ResultVo.getResult())).map(U8ResultVo::getReceiptNo).collect(Collectors.toList());
if (!successReceiptNos.isEmpty()) {
orderMapper.batchUpdateSettleByOrderNos(successReceiptNos);
+ // 涓婃姤琛ㄨ浆鍘嗗彶
+ orderReportMapper.moveToLog(successReceiptNos);
+ // 鍒犻櫎涓婃姤琛ㄦ暟鎹�
+ orderReportMapper.delete(new EntityWrapper<OrderReport>().in("order_no",successReceiptNos));
success = true;
}
log.info("鍗曟嵁涓婃姤鎴愬姛锛屽崟鎹紪鍙凤細{}", successReceiptNos);
@@ -252,14 +271,17 @@
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
String docType$ = order.getDocType$();
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setAutoidPo(orderDetl.getSku());
- item.setPoautoidcol(docType$.equals("閲囪喘璁㈠崟") ? "ID" : docType$.equals("閲囪喘鍒拌揣鍗�") || docType$.equals("濮斿鍒拌揣鍗�") ? "Autoid" :
- docType$.equals("濮斿璁㈠崟") ? "MODetailsID" : "");
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setAutoidPo(orderDetl.getSku());
+ item.setPoautoidcol(docType$.equals("閲囪喘璁㈠崟") ? "ID" : docType$.equals("閲囪喘鍒拌揣鍗�") || docType$.equals("濮斿鍒拌揣鍗�") ? "Autoid" :
+ docType$.equals("濮斿璁㈠崟") ? "MODetailsID" : "");
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
@@ -280,13 +302,16 @@
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
// String docType$ = order.getDocType$();
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setAutoidSo(orderDetl.getSku());
- item.setSoautoidcol("IDLSID");
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setAutoidSo(orderDetl.getSku());
+ item.setSoautoidcol("IDLSID");
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
@@ -306,13 +331,16 @@
List<ReportU8Vo.Item> itemList = new ArrayList<>();
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setAutoidMo(orderDetl.getSku());
- item.setMoautoidcol("MODID");
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setAutoidMo(orderDetl.getSku());
+ item.setMoautoidcol("MODID");
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
@@ -333,13 +361,16 @@
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
// String docType$ = order.getDocType$();
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setAutoidAll(orderDetl.getSku());
- item.setAllcautoidcol("AutoID");
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setAutoidAll(orderDetl.getSku());
+ item.setAllcautoidcol("AutoID");
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
@@ -359,11 +390,14 @@
List<ReportU8Vo.Item> itemList = new ArrayList<>();
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
@@ -383,11 +417,14 @@
List<ReportU8Vo.Item> itemList = new ArrayList<>();
List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetlList) {
- ReportU8Vo.Item item = new ReportU8Vo.Item();
- item.setCinvcode(orderDetl.getMatnr());
- item.setIquantity(orderDetl.getQty());
- item.setCbatch(orderDetl.getBatch());
- itemList.add(item);
+ List<OrderReport> orderReports = orderReportMapper.selectSummary(orderDetl.getOrderNo(), orderDetl.getMatnr());
+ for(OrderReport orderReport: orderReports) {
+ ReportU8Vo.Item item = new ReportU8Vo.Item();
+ item.setCinvcode(orderDetl.getMatnr());
+ item.setIquantity(orderReport.getAnfme());
+ item.setCbatch(orderReport.getBatch());
+ itemList.add(item);
+ }
}
reportU8Vo.setDetailList(itemList);
list.add(reportU8Vo);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index d71d3e4..b760e50 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.zy.asrs.entity.OrderReport;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.mapper.OrderReportMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -14,6 +16,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -39,21 +43,32 @@
@Autowired
private OrderService orderService;
+ @Resource
+ private OrderReportMapper orderReportMapper;
+
@Transactional
public ReturnT<String> start(WrkMast wrkMast) {
try {
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ List<OrderReport> orderReports = new ArrayList<>();
// 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
if (!Cools.isEmpty(wrkDetls)) {
Iterator<WrkDetl> iterator = wrkDetls.iterator();
while (iterator.hasNext()) {
WrkDetl wrkDetl = iterator.next();
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+ OrderReport orderReport = new OrderReport();
+ orderReport.sync(wrkDetl);
+ orderReports.add(orderReport);
orderService.checkComplete(wrkDetl.getOrderNo());
iterator.remove();
}
}
}
+ // 鎻掑叆涓婃姤琛�
+ if (!orderReports.isEmpty()) {
+ orderReportMapper.insertBatch(orderReports);
+ }
// 鍏ュ簱 --------------------------------------------------------------------------------
if (wrkMast.getWrkSts() == 5) {
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 b8b09db..b6e7c5b 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -135,7 +135,7 @@
try {
if(!Cools.isEmpty(orderDetl)){
if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
+ "",wrkDetl.getAnfme())){
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -391,7 +391,7 @@
try {
if(!Cools.isEmpty(orderDetl)){
if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
+ "",wrkDetl.getAnfme())){
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 2dafee4..97ebbc8 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -166,10 +166,11 @@
select
ROW_NUMBER() over (order by sum(a.anfme) desc) as row
, a.matnr
+ , a.batch
, sum(a.anfme) as anfme
from asr_loc_detl a
where 1=1
- group by a.matnr
+ group by a.matnr,a.batch
</select>
<select id="selectPakoutByRule" resultMap="BaseResultMap">
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 8c855f7..b05eddc 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -127,7 +127,7 @@
<update id="increase">
update man_order_detl
- set qty = qty + #{qty}
+ set qty = qty + #{qty},work_qty = work_qty - #{qty}
where 1=1
and order_id = #{orderId}
and matnr = #{matnr}
@@ -170,7 +170,7 @@
<update id="increaseQtyByOrderNo">
update man_order_detl
- set qty = qty + #{qty}
+ set qty = qty + #{qty},work_qty = work_qty - #{qty}
where 1=1
and order_no = #{orderNo}
and matnr = #{matnr}
@@ -201,7 +201,7 @@
</update>
<update id="increaseWorkQtyByOrderNo">
update man_order_detl
- set work_qty = work_qty + #{qty}
+ set qty = qty + #{qty}
where 1=1
and order_no = #{orderNo}
and matnr = #{matnr}
diff --git a/src/main/resources/mapper/OrderReportMapper.xml b/src/main/resources/mapper/OrderReportMapper.xml
new file mode 100644
index 0000000..2ff3834
--- /dev/null
+++ b/src/main/resources/mapper/OrderReportMapper.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.zy.asrs.mapper.OrderReportMapper">
+
+ <insert id="insertBatch">
+ INSERT INTO man_order_report (order_no, matnr, maktx, batch, anfme)
+ <foreach collection="list" item="item" separator=" UNION ALL ">
+ SELECT
+ #{item.orderNo},
+ #{item.matnr},
+ #{item.maktx},
+ #{item.batch},
+ #{item.anfme}
+ </foreach>
+ </insert>
+ <insert id="moveToLog">
+ INSERT INTO man_order_report_log (id, order_no, matnr, maktx, batch, anfme)
+ SELECT id, order_no, matnr, maktx, batch, anfme
+ FROM man_order_report
+ WHERE order_no IN
+ <foreach collection="orderNos" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </insert>
+ <select id="selectSummary" resultType="com.zy.asrs.entity.OrderReport">
+ SELECT
+ order_no AS orderNo,
+ matnr,
+ batch,
+ SUM(anfme) AS anfme
+ FROM man_order_report
+ WHERE order_no = #{orderNo}
+ AND matnr = #{matnr}
+ GROUP BY order_no, matnr, batch
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1