feat(purchase): 过滤实发数量为0的采购订单明细行

- 在 ConsignmachiningCinfurmIn、ProxyPurchaseWarehousOrder 和 ProxyPurchaseWarehousWarehouse 类中添加过滤逻辑- 过滤掉实发数量为0的明细行,避免生成无效的采购订单
- 更新数据库密码配置
- 调整测试用例,使用新的采购订单代码
This commit is contained in:
liuy 2025-04-10 10:02:11 +08:00
parent 404b0007b1
commit b5f1ede6b8
7 changed files with 71 additions and 55 deletions

View File

@ -470,6 +470,12 @@ public class ConsignmachiningCinfurmIn extends PluginBaseEntity {
List<ConsignmachiningInBodyDto> consignmachiningInBodyDtoArrayList = new ArrayList<>(); List<ConsignmachiningInBodyDto> consignmachiningInBodyDtoArrayList = new ArrayList<>();
for (int j = 0; j < details.size(); j++) { for (int j = 0; j < details.size(); j++) {
OFSReceiptConfirmSearchResponse.Detail detail = details.get(j); OFSReceiptConfirmSearchResponse.Detail detail = details.get(j);
//如果明细行的实发数量为0则过滤掉
if ("0".equals(new BigDecimal(detail.getReceivedQty()).stripTrailingZeros().toPlainString())) {
continue;
}
//匹配U8C采购订单明细行 //匹配U8C采购订单明细行
ScOrderBEntity u8cPoOrderDetail = findOfsPoOrderDetailAndU8cPoOrderDetail(detail, stockinOrder, ofsPoOrderData, scOrderBEntityList); ScOrderBEntity u8cPoOrderDetail = findOfsPoOrderDetailAndU8cPoOrderDetail(detail, stockinOrder, ofsPoOrderData, scOrderBEntityList);
//通过O采购订单入库单明细行联查OFS采购入库单明细行 //通过O采购订单入库单明细行联查OFS采购入库单明细行

View File

@ -514,6 +514,11 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
for (int j = 0; j < details.size(); j++) { for (int j = 0; j < details.size(); j++) {
OfsPoOrderDetails ofsPoOrderDetails = details.get(j); OfsPoOrderDetails ofsPoOrderDetails = details.get(j);
//如果明细行的实发数量为0则过滤掉
// if ("0".equals(new BigDecimal(ofsPoOrderDetails.getRequestQty()).stripTrailingZeros().toPlainString())) {
// continue;
// }
//2024年8月20日 16:02:21 已经和妮姐万万确认采购公司和收货公司目前是一致的暂时不用区分取数逻辑 //2024年8月20日 16:02:21 已经和妮姐万万确认采购公司和收货公司目前是一致的暂时不用区分取数逻辑
BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(ofsPoOrderDetails, bdCorpEntity.getPkCorp()); BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(ofsPoOrderDetails, bdCorpEntity.getPkCorp());
String receivedQty = ofsPoOrderDetails.getRequestQty();//请求数量 String receivedQty = ofsPoOrderDetails.getRequestQty();//请求数量

View File

@ -511,6 +511,11 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
for (int j = 0; j < details.size(); j++) { for (int j = 0; j < details.size(); j++) {
OFSReceiptConfirmSearchResponse.Detail detail = details.get(j); OFSReceiptConfirmSearchResponse.Detail detail = details.get(j);
if ("0".equals(new BigDecimal(detail.getReceivedQty()).stripTrailingZeros().toPlainString())) {
continue;
}
//OFS采购订单明细行 //OFS采购订单明细行
OfsPoOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(ofsPoOrderDataDetails, detail); OfsPoOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(ofsPoOrderDataDetails, detail);
//U8C采购订单明细行 //U8C采购订单明细行

View File

@ -14,7 +14,7 @@ spring:
master: master:
url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=600000000&socketTimeout=600000000&autoReconnectForPools=true&keepAlive=true url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=600000000&socketTimeout=600000000&autoReconnectForPools=true&keepAlive=true
username: root username: root
password: 62e4295b615a30dbf3b8ee96f41c820b password: bd993088e8a7c3dc5f44441617f9b4bf
driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
savefile: savefile:
# 文件保存路径 # 文件保存路径

View File

@ -27,7 +27,7 @@ public class ProxyPurchaseWarehousOrderTest {
@Test @Test
public void startImplementByCode() { public void startImplementByCode() {
try { try {
proxyPurchaseWarehousOrder.startImplementByCode("LETS-PO2025032500000001"); proxyPurchaseWarehousOrder.startImplementByCode("LETS-RE2025040300001802-confirm");
// proxyPurchaseWarehousOrder.startImplementByTime("2025-01-21 17:38:26", "2025-01-21 17:38:26"); // proxyPurchaseWarehousOrder.startImplementByTime("2025-01-21 17:38:26", "2025-01-21 17:38:26");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -28,7 +28,7 @@ public class ProxyPurchaseWarehousWarehouseTest {
public void startImplementByCode() { public void startImplementByCode() {
// proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2025030400002125-confirm"); // proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2025030400002125-confirm");
String code = "LETS-RE2025022800002706-confirm"; String code = "LETS-RE2025040300001802-confirm";
proxyPurchaseWarehousWarehouse.startImplementByCode(code); proxyPurchaseWarehousWarehouse.startImplementByCode(code);
} }
} }

View File

@ -1,46 +1,46 @@
//package com.hzya.frame; package com.hzya.frame;
//
//import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
//import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
//import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
//import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
//import com.hzya.frame.cbs8.dto.req.PayRequestDTO; import com.hzya.frame.cbs8.dto.req.PayRequestDTO;
//import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO; import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO;
//import com.hzya.frame.cbs8.dto.res.PayResultResDTO; import com.hzya.frame.cbs8.dto.res.PayResultResDTO;
//import com.hzya.frame.cbs8.service.ICbs8ExtService; import com.hzya.frame.cbs8.service.ICbs8ExtService;
//import com.hzya.frame.cbs8.service.ICbs8Service; import com.hzya.frame.cbs8.service.ICbs8Service;
//import com.hzya.frame.cbs8.util.CBSUtil; import com.hzya.frame.cbs8.util.CBSUtil;
//import com.hzya.frame.cbs8.util.CbsAccessToken; import com.hzya.frame.cbs8.util.CbsAccessToken;
//import com.hzya.frame.plugin.cbs8.plugin.PayApplyPluginInitializer; //import com.hzya.frame.plugin.cbs8.plugin.PayApplyPluginInitializer;
//import com.hzya.frame.plugin.cbs8.plugin.PayResultPluginInitializer; //import com.hzya.frame.plugin.cbs8.plugin.PayResultPluginInitializer;
//import com.hzya.frame.plugin.cbs8.plugin.TransactionDetailPluginInitializer; //import com.hzya.frame.plugin.cbs8.plugin.TransactionDetailPluginInitializer;
//import com.hzya.frame.plugin.seeyonExt.plugin.SeeyonExtPluginInitializer; //import com.hzya.frame.plugin.seeyonExt.plugin.SeeyonExtPluginInitializer;
//import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
//import com.hzya.frame.seeyon.cbs8.service.IPaymentService; import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
//import com.hzya.frame.stringutil.StringUtil; import com.hzya.frame.stringutil.StringUtil;
//import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
//import com.hzya.frame.util.AESUtil; import com.hzya.frame.util.AESUtil;
//import org.apache.http.protocol.HTTP; import org.apache.http.protocol.HTTP;
//import org.junit.Test; import org.junit.Test;
//import org.junit.runner.RunWith; import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
//
//import javax.annotation.Resource; import javax.annotation.Resource;
//import java.util.*; import java.util.*;
//
///** /**
// * @ClassName dsasas * @ClassName dsasas
// * @Description * @Description
// * @Author llg * @Author llg
// * Date 2023/7/16 8:18 上午 * Date 2023/7/16 8:18 上午
// */ */
//@RunWith(SpringRunner.class) //@RunWith(SpringRunner.class)
//@SpringBootTest(classes = {WebappApplication.class}) //@SpringBootTest(classes = {WebappApplication.class})
//public class temButtom { public class temButtom {
//
// @Resource // @Resource
// SeeyonExtPluginInitializer seeyonExtPluginInitializer; // SeeyonExtPluginInitializer seeyonExtPluginInitializer;
// @Resource // @Resource
@ -56,7 +56,7 @@
// private TransactionDetailPluginInitializer transactionDetailPluginInitializer; // private TransactionDetailPluginInitializer transactionDetailPluginInitializer;
// @Autowired // @Autowired
// private PayResultPluginInitializer payResultPluginInitializer; // private PayResultPluginInitializer payResultPluginInitializer;
//
// @Test // @Test
// public void cbs8PluginTest(){ // public void cbs8PluginTest(){
// try { // try {
@ -96,7 +96,7 @@
// List<PayResultResDTO> cl202406140002 = cs8Service.queryPayResult(new PayResultRequestDTO("CL202406140002")); // List<PayResultResDTO> cl202406140002 = cs8Service.queryPayResult(new PayResultRequestDTO("CL202406140002"));
// System.out.println("111"); // System.out.println("111");
// } // }
//
// @Test // @Test
// public void cbs8ExtTest(){ // public void cbs8ExtTest(){
// PaymentEntity paymentEntity = new PaymentEntity(); // PaymentEntity paymentEntity = new PaymentEntity();
@ -164,16 +164,16 @@
// throw new RuntimeException(e); // throw new RuntimeException(e);
// } // }
// } // }
//
// @Test @Test
// public void test01() { public void test01() {
// String a = AESUtil.encrypt("hzya@1314"); String a = AESUtil.encrypt("hzya1314");
// System.out.println(a); System.out.println(a);
// String b = AESUtil.decrypt("62e4295b615a30dbf3b8ee96f41c820b"); String b = AESUtil.decrypt("62e4295b615a30dbf3b8ee96f41c820b");
// System.out.println(b); System.out.println(b);
// } }
//
//
//
//
//} }