提交TOC、TOB业务优化
This commit is contained in:
parent
6041289293
commit
571aefd6c5
|
@ -1,6 +1,7 @@
|
||||||
package com.hzya.frame.plugin.lets.entity;
|
package com.hzya.frame.plugin.lets.entity;
|
||||||
|
|
||||||
import com.hzya.frame.web.entity.BaseEntity;
|
import com.hzya.frame.web.entity.BaseEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (BdRdcl)实体类
|
* (BdRdcl)实体类
|
||||||
*
|
*
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hzya.frame.plugin.lets.plugin.purchase;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
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.hzya.frame.base.PluginBaseEntity;
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
|
@ -11,11 +12,9 @@ import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant;
|
||||||
import com.hzya.frame.plugin.lets.dao.*;
|
import com.hzya.frame.plugin.lets.dao.*;
|
||||||
import com.hzya.frame.plugin.lets.entity.*;
|
import com.hzya.frame.plugin.lets.entity.*;
|
||||||
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.PoOrderChildrenDto;
|
import com.hzya.frame.plugin.lets.u8cdto.*;
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.PoOrderParentChildrenDto;
|
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.PoOrderParentDto;
|
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.PoOrderSonDto;
|
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
||||||
|
import com.hzya.frame.plugin.lets.util.RdclUtil;
|
||||||
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean;
|
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean;
|
||||||
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData;
|
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData;
|
||||||
|
@ -28,9 +27,8 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理品牌采购退货业务:(代理品牌采购退货)OFS销退出库单生成U8C红字采购订单
|
* 代理品牌采购退货业务:(代理品牌采购退货)OFS销退出库单生成U8C红字采购订单
|
||||||
|
@ -70,6 +68,15 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdInvmandocDao iBdInvmandocDao;
|
private IBdInvmandocDao iBdInvmandocDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBdCalbodyDao iBdCalbodyDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBdStordocDao iBdStordocDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RdclUtil rdclUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
@ -110,9 +117,9 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
public void startImplement(String code) {
|
public void startImplement(String startTime, String endTime) {
|
||||||
String threadNameStr = StrUtil.format("(代理品牌采购)OFS采购入库单生成U8C采购订单 售后入库单号", code);
|
String threadNameStrStart = StrUtil.format("开始(代理品牌采退)OFS采退出库单生成U8C红字采购订单 开始时间:{} 结束时间:{}", startTime, endTime);
|
||||||
logger.info(threadNameStr);
|
logger.info(threadNameStrStart);
|
||||||
|
|
||||||
Thread thread = new Thread(new Runnable() {
|
Thread thread = new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -120,11 +127,12 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
try {
|
try {
|
||||||
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClosedAt_start(startTime);
|
||||||
|
queryOfsSoSaleOutVo.setClosedAt_end(endTime);
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE_RETURN");
|
|
||||||
queryOfsSoSaleOutVo.setStatus(900L);
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
|
@ -137,13 +145,58 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
logger.error("startImplement方法抛出异常", e);
|
logger.error("startImplement方法抛出异常", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, threadNameStr);
|
}, threadNameStrStart);
|
||||||
thread.start();
|
thread.start();
|
||||||
try {
|
try {
|
||||||
thread.join();
|
thread.join();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("thread.join()异常", e);
|
logger.error("thread.join()异常", e);
|
||||||
}
|
}
|
||||||
|
String threadNameStrEnd = StrUtil.format("结束(代理品牌采退)OFS采退出库单生成U8C红字采购订单 开始时间:{} 结束时间:{}", startTime, endTime);
|
||||||
|
logger.info(threadNameStrEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单号查询
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String code) {
|
||||||
|
String threadNameStrStart = StrUtil.format("开始(代理品牌采购)OFS采购入库单生成U8C采购订单 售后入库单号:{}", code);
|
||||||
|
logger.info(threadNameStrStart);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
|
||||||
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStrStart);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
String threadNameStrEnd = StrUtil.format("开始(代理品牌采购)OFS采购入库单生成U8C采购订单 售后入库单号:{}", code);
|
||||||
|
logger.info(threadNameStrEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -159,9 +212,23 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
interfaceParamDto.setApi("ofs.shipment.search");
|
interfaceParamDto.setApi("ofs.receipt.search");
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
ofsUnifiedService.unified(interfaceParamDto);
|
StockinOrderSearchResponse rertunGoodsRootBean = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
|
if (rertunGoodsRootBean != null) {
|
||||||
|
if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) {
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = rertunGoodsRootBean.getData();
|
||||||
|
if (stockinOrderList != null && stockinOrderList.size() > 0) {
|
||||||
|
headerDetailsDtoList.addAll(stockinOrderList);
|
||||||
|
|
||||||
|
//TODO OFS没有提供分页字段,等待开发
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("查询失败,失败原因:{}", JSON.toJSON(interfaceParamDto));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("rertunGoodsRootBean为空!interfaceParamDto对象的结果集json:{}", JSON.toJSON(interfaceParamDto));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -203,6 +270,8 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
List<PoOrderSonDto> poOrderSonDtos = queryBasicArchives(returnGoodHeaderDetailsDataDtoList);
|
List<PoOrderSonDto> poOrderSonDtos = queryBasicArchives(returnGoodHeaderDetailsDataDtoList);
|
||||||
// 代理品牌采购业务流程
|
// 代理品牌采购业务流程
|
||||||
BdBusitypeEntity bdBusitypeEntity = u8cOperationFlow();
|
BdBusitypeEntity bdBusitypeEntity = u8cOperationFlow();
|
||||||
|
// 查询采购收发类别
|
||||||
|
BdRdclEntity bdRdclEntity = rdclUtil.queryRdClObject("102");
|
||||||
|
|
||||||
if (poOrderSonDtos != null && poOrderSonDtos.size() > 0) {
|
if (poOrderSonDtos != null && poOrderSonDtos.size() > 0) {
|
||||||
for (int i = 0; i < poOrderSonDtos.size(); i++) {
|
for (int i = 0; i < poOrderSonDtos.size(); i++) {
|
||||||
|
@ -215,8 +284,10 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
BdCorpEntity bdCorpEntity = poOrderSonDto.getBdCorpEntity();//采购公司、收货公司
|
BdCorpEntity bdCorpEntity = poOrderSonDto.getBdCorpEntity();//采购公司、收货公司
|
||||||
BdDeptdocEntity bdDeptdocEntity = poOrderSonDto.getBdDeptdocEntity();//采购部门
|
BdDeptdocEntity bdDeptdocEntity = poOrderSonDto.getBdDeptdocEntity();//采购部门
|
||||||
BdPurorgEntity bdPurorgEntity = poOrderSonDto.getBdPurorgEntity();//采购组织
|
BdPurorgEntity bdPurorgEntity = poOrderSonDto.getBdPurorgEntity();//采购组织
|
||||||
BdCubasdocEntity bdCubasdocEntity = poOrderSonDto.getBdCubasdocEntity();
|
BdCubasdocEntity bdCubasdocEntity = poOrderSonDto.getBdCubasdocEntity();//客商基本档案-供应商
|
||||||
BdCumandocEntity bdCumandocEntity = poOrderSonDto.getBdCumandocEntity();//客商档案-供应商
|
BdCumandocEntity bdCumandocEntity = poOrderSonDto.getBdCumandocEntity();//客商管理档案-供应商
|
||||||
|
BdCalbodyEntity bdCalbodyEntity = poOrderSonDto.getBdCalbodyEntity();//收货库存组织
|
||||||
|
BdStordocEntity bdStordocEntity = poOrderSonDto.getBdStordocEntity();//收货仓库
|
||||||
|
|
||||||
OfsPoOrderData ofsPoOrderData = poOrderSonDto.getOfsPoOrderData();//OFS采购订单
|
OfsPoOrderData ofsPoOrderData = poOrderSonDto.getOfsPoOrderData();//OFS采购订单
|
||||||
OfsPoOrderHeader ofsPoOrderDataHeader = ofsPoOrderData.getHeader();
|
OfsPoOrderHeader ofsPoOrderDataHeader = ofsPoOrderData.getHeader();
|
||||||
|
@ -233,42 +304,82 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
poOrderParentDto.setDauditdate(generateBusinessDate);//审批日期
|
poOrderParentDto.setDauditdate(generateBusinessDate);//审批日期
|
||||||
poOrderParentDto.setDorderdate(generateBusinessDate);//订单日期
|
poOrderParentDto.setDorderdate(generateBusinessDate);//订单日期
|
||||||
poOrderParentDto.setDrevisiondate(generateBusinessDate);//修改日期
|
poOrderParentDto.setDrevisiondate(generateBusinessDate);//修改日期
|
||||||
|
//2024年8月21日 13:34:07 对比了手工建单和接口传单,发现接口传单少了这个:是否由销售订单协同生成、补货标志、是否已协同生成销售订单 默认为N
|
||||||
|
poOrderParentDto.setBsocooptome(false);//是否由销售订单协同生成
|
||||||
|
poOrderParentDto.setBisreplenish(false);//补货标志
|
||||||
|
poOrderParentDto.setBcooptoso(false);//是否已协同生成销售订单
|
||||||
|
poOrderParentDto.setCgiveinvoicevendor(bdCumandocEntity.getPkCumandoc());//发票方id
|
||||||
|
|
||||||
|
poOrderParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
poOrderParentDto.setVdef19(poOrderSonDto.getCode());//原单单号
|
||||||
|
poOrderParentDto.setVdef20(poOrderSonDto.getId());//原单主键
|
||||||
|
|
||||||
|
//收发类别
|
||||||
|
// poOrderParentDto.setPk_defdoc3(bdRdclEntity.getPkRdcl());
|
||||||
|
// poOrderParentDto.setVdef3(bdRdclEntity.getRdname());
|
||||||
|
|
||||||
//采购订单明细行
|
//采购订单明细行
|
||||||
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
||||||
|
|
||||||
for (int j = 0; j < details.size(); j++) {
|
for (int j = 0; j < details.size(); j++) {
|
||||||
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
||||||
|
OfsPoOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(ofsPoOrderDataDetails, stockinB);
|
||||||
|
|
||||||
|
//TODO 测试
|
||||||
|
stockinB.setReceivedQty("1");
|
||||||
|
ofsPoOrderDetail.setFulfillAmount("10");
|
||||||
|
|
||||||
//2024年8月20日 16:02:21 已经和妮姐、万万确认,采购公司和收货公司目前是一致的,暂时不用区分取数逻辑
|
//2024年8月20日 16:02:21 已经和妮姐、万万确认,采购公司和收货公司目前是一致的,暂时不用区分取数逻辑
|
||||||
BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(stockinB, bdCorpEntity.getPkCorp());
|
BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(stockinB, bdCorpEntity.getPkCorp());
|
||||||
String receivedQty = stockinB.getReceivedQty();//实收数量
|
String receivedQty = stockinB.getReceivedQty();//实收数量
|
||||||
|
String fulfillAmount = ofsPoOrderDetail.getFulfillAmount();//实收累计总金额
|
||||||
|
|
||||||
//原币含税单价
|
//原币含税单价
|
||||||
|
BigDecimal noriginalcurprice = null;
|
||||||
try {
|
try {
|
||||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
noriginalcurprice = new BigDecimal(fulfillAmount).divide(new BigDecimal(receivedQty), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("计算采购入库单原币含税单价失败", e);
|
logger.error("计算采购入库单原币含税单价失败", e);
|
||||||
Assert.state(false, "计算采购入库单原币含税单价失败 原因:{}", e.getMessage());
|
Assert.state(false, "计算采购入库单原币含税单价失败 原因:{}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PoOrderChildrenDto poOrderChildrenDto = new PoOrderChildrenDto();
|
PoOrderChildrenDto poOrderChildrenDto = new PoOrderChildrenDto();
|
||||||
poOrderChildrenDto.setCmangid(bdInvmandocEntity.getPkInvmandoc());//存货管理id
|
poOrderChildrenDto.setCmangid(bdInvmandocEntity.getPkInvmandoc());//存货管理id
|
||||||
poOrderChildrenDto.setNordernum(receivedQty);//订货数量
|
poOrderChildrenDto.setNordernum(receivedQty);//订货数量
|
||||||
// poOrderChildrenDto.setNorgtaxprice();//原币含税单价
|
poOrderChildrenDto.setNorgtaxprice(noriginalcurprice.stripTrailingZeros().toPlainString());//原币含税单价
|
||||||
// poOrderChildrenDto.setPk_arrvcorp();//收货公司
|
poOrderChildrenDto.setPk_arrvcorp(bdCorpEntity.getPkCorp());//收货公司
|
||||||
// poOrderChildrenDto.setPk_arrvstoorg();//收货库存组织
|
poOrderChildrenDto.setPk_arrvstoorg(bdCalbodyEntity.getPkCalbody());//收货库存组织
|
||||||
// poOrderChildrenDto.setCwarehouseid();//收货仓库
|
poOrderChildrenDto.setCwarehouseid(bdStordocEntity.getPkStordoc());//收货仓库
|
||||||
|
poOrderChildrenDto.setPk_reqcorp(bdCorpEntity.getPkCorp());//需求公司 *
|
||||||
|
// poOrderChildrenDto.setIisreplenish(false);//补货标识 *
|
||||||
|
poOrderChildrenDto.setCoperator("0001A110000000000U3D");//操作员id
|
||||||
|
// poOrderChildrenDto.setBreceiveplan(false);//存在到货计划
|
||||||
poOrderChildrenDtoList.add(poOrderChildrenDto);
|
poOrderChildrenDtoList.add(poOrderChildrenDto);
|
||||||
|
|
||||||
//2024年8月20日 16:00:03 已经和佳妮总确认,计划到货日期,不用进行传递
|
//2024年8月20日 16:00:03 已经和佳妮总确认,计划到货日期,不用进行传递
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<PoOrderParentChildrenDto> poOrderParentChildrenDtoList = new ArrayList<>();
|
||||||
PoOrderParentChildrenDto poOrderParentChildrenDto = new PoOrderParentChildrenDto();
|
PoOrderParentChildrenDto poOrderParentChildrenDto = new PoOrderParentChildrenDto();
|
||||||
poOrderParentChildrenDto.setParentvo(poOrderParentDto);
|
poOrderParentChildrenDto.setParentvo(poOrderParentDto);
|
||||||
poOrderParentChildrenDto.setChildrenvo(poOrderChildrenDtoList);
|
poOrderParentChildrenDto.setChildrenvo(poOrderChildrenDtoList);
|
||||||
|
poOrderParentChildrenDtoList.add(poOrderParentChildrenDto);
|
||||||
|
|
||||||
|
Map<String, List<PoOrderParentChildrenDto>> stringStringMap = new HashMap<>();
|
||||||
|
stringStringMap.put("puordervo", poOrderParentChildrenDtoList);
|
||||||
|
PoOrderHeadBodyDto poOrderHeadBodyDto = sendU8CPoOrder(JSON.toJSONString(stringStringMap));
|
||||||
|
|
||||||
|
String corderid = null;
|
||||||
|
String vordercode = null;
|
||||||
|
PoOrderHeadDto parentvo = poOrderHeadBodyDto.getParentvo();
|
||||||
|
List<PoOrderBodyDto> childrenvo = poOrderHeadBodyDto.getChildrenvo();
|
||||||
|
if (parentvo != null) {
|
||||||
|
corderid = parentvo.getCorderid();
|
||||||
|
}
|
||||||
|
if (childrenvo != null) {
|
||||||
|
vordercode = parentvo.getVordercode();
|
||||||
|
}
|
||||||
|
logger.info("推送U8C代理品牌采购订单采购!U8C采购订单主键:{} U8C采购订单编码:{}", corderid, vordercode);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("poOrderSonDto.size为0!");
|
logger.info("poOrderSonDto.size为0!");
|
||||||
|
@ -338,6 +449,8 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
//2024年8月20日 14:47:55 丽知商城、OFS 供应商客商档案、传递到U8C的客商,
|
//2024年8月20日 14:47:55 丽知商城、OFS 供应商客商档案、传递到U8C的客商,
|
||||||
//其中自定义项1作为原系统编码,因此统一传到自定义项一,已经和大家确认好了,没有关系的,放心大胆传吧,宝贝
|
//其中自定义项1作为原系统编码,因此统一传到自定义项一,已经和大家确认好了,没有关系的,放心大胆传吧,宝贝
|
||||||
String shipFromCode = header.getShipFromCode();
|
String shipFromCode = header.getShipFromCode();
|
||||||
|
Assert.notNull(shipFromCode, "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码");
|
||||||
|
Assert.state(!"".equals(shipFromCode.trim()), "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码!");
|
||||||
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
||||||
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCubasdocEntity.setDr(0L);
|
bdCubasdocEntity.setDr(0L);
|
||||||
|
@ -363,6 +476,33 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
Assert.state(false, "根据客商基本档案主键{},匹配到多个客商管理档案", bdCubasdocEntityList.get(0).getPkCubasdoc());
|
Assert.state(false, "根据客商基本档案主键{},匹配到多个客商管理档案", bdCubasdocEntityList.get(0).getPkCubasdoc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2024年8月20日 23:51:56 收货库存组织,应该是通过收货公司查询得出收货库存组织,目前收货公司和采购公司保持一致,那么就以采购公司带出!这个逻辑已经和佳妮确认
|
||||||
|
BdCalbodyEntity bdCalbodyEntity = new BdCalbodyEntity();
|
||||||
|
bdCalbodyEntity.setDr(0);
|
||||||
|
bdCalbodyEntity.setDataSourceCode("lets_u8c");
|
||||||
|
bdCalbodyEntity.setPkCorp(bdCorpEntityList.get(0).getPkCorp());
|
||||||
|
List<BdCalbodyEntity> bdCalbodyEntities = iBdCalbodyDao.query(bdCalbodyEntity);
|
||||||
|
if (bdCalbodyEntities.size() == 0) {
|
||||||
|
Assert.state(false, "根据U8C采购公司{},无法匹配到U8C发货库存组织", bdCorpEntityList.get(0).getPkCorp());
|
||||||
|
} else if (bdCalbodyEntities.size() >= 2) {
|
||||||
|
Assert.state(false, "根据U8C采购公司{},匹配到U8C发货库存组织{}个", bdCorpEntityList.get(0).getPkCorp(), bdCalbodyEntities.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
//收货仓库
|
||||||
|
String facilityCode = header.getFacilityCode();
|
||||||
|
Assert.notNull(facilityCode, "O售后入库单仓库facilityCode字段不能为空");
|
||||||
|
BdStordocEntity bdStordocEntity = new BdStordocEntity();
|
||||||
|
bdStordocEntity.setDr(0L);
|
||||||
|
bdStordocEntity.setDataSourceCode("lets_u8c");
|
||||||
|
bdStordocEntity.setPkCalbody(bdCalbodyEntities.get(0).getPkCalbody());
|
||||||
|
bdStordocEntity.setStorcode(facilityCode);
|
||||||
|
List<BdStordocEntity> bdStordocEntityList = iBdStordocDao.query(bdStordocEntity);
|
||||||
|
if (bdStordocEntityList.size() == 0) {
|
||||||
|
Assert.state(false, "根据O仓库编码+U8C收货库存组织主键,无法匹配到U8C仓库", facilityCode, bdCalbodyEntities.get(0).getPkCalbody());
|
||||||
|
} else if (bdStordocEntityList.size() >= 2) {
|
||||||
|
Assert.state(false, "根据O仓库编码+U8C收货库存组织主键,匹配到U8C仓库多个", facilityCode, bdCalbodyEntities.get(0).getPkCalbody());
|
||||||
|
}
|
||||||
|
|
||||||
//查询OFS采购订单
|
//查询OFS采购订单
|
||||||
OfsPoOrderData ofsPoOrderData = queryOfsPoOrder(header.getRefOrderCode());
|
OfsPoOrderData ofsPoOrderData = queryOfsPoOrder(header.getRefOrderCode());
|
||||||
|
|
||||||
|
@ -373,8 +513,11 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
poOrderSonDto.setBdCubasdocEntity(bdCubasdocEntityList.get(0));
|
poOrderSonDto.setBdCubasdocEntity(bdCubasdocEntityList.get(0));
|
||||||
poOrderSonDto.setBdCumandocEntity(bdCumandocEntityList.get(0));
|
poOrderSonDto.setBdCumandocEntity(bdCumandocEntityList.get(0));
|
||||||
poOrderSonDto.setOfsPoOrderData(ofsPoOrderData);
|
poOrderSonDto.setOfsPoOrderData(ofsPoOrderData);
|
||||||
|
poOrderSonDto.setBdCalbodyEntity(bdCalbodyEntities.get(0));
|
||||||
|
poOrderSonDto.setBdStordocEntity(bdStordocEntityList.get(0));
|
||||||
|
poOrderSonDto.setDetails(details);
|
||||||
|
|
||||||
BeanUtil.copyPropertiesV2(poOrderSonDto, header);
|
BeanUtil.copyPropertiesV2(header, poOrderSonDto);
|
||||||
poOrderSonDtoArrayList.add(poOrderSonDto);
|
poOrderSonDtoArrayList.add(poOrderSonDto);
|
||||||
}
|
}
|
||||||
//成功
|
//成功
|
||||||
|
@ -409,6 +552,8 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) {
|
private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) {
|
||||||
|
//TODO 测试
|
||||||
|
poOrderSonDto.setShipAt("2024-08-19");
|
||||||
if (poOrderSonDto != null && poOrderSonDto.getShipAt() != null) {
|
if (poOrderSonDto != null && poOrderSonDto.getShipAt() != null) {
|
||||||
String shipAt = poOrderSonDto.getShipAt();
|
String shipAt = poOrderSonDto.getShipAt();
|
||||||
String businessFormat = null;
|
String businessFormat = null;
|
||||||
|
@ -492,14 +637,91 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
* 查找对应的采购订单明细行
|
* 查找对应的采购订单明细行
|
||||||
* 2024年8月20日 17:42:15
|
* 2024年8月20日 17:42:15
|
||||||
* 应该通过明细行主键匹配,但是只能根据sku匹配目前的实现逻辑
|
* 应该通过明细行主键匹配,但是只能根据sku匹配目前的实现逻辑
|
||||||
|
* 查找OFS采购订单明细行,主要是为了带出实付金额,通过实付金额/实收数量=含税单价
|
||||||
*
|
*
|
||||||
* @param ofsPoOrderDataDetails OFS采购订单明细行所有对象
|
* @param ofsPoOrderDataDetails OFS采购订单明细行所有对象
|
||||||
* @param stockinB OFS采购入库单明细行对象
|
* @param stockinB OFS采购入库单明细行对象
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private void findOfsPoOrderDetail(List<OfsPoOrderDetails> ofsPoOrderDataDetails, StockinOrderSearchResponse.StockinOrder.StockinB stockinB) {
|
private OfsPoOrderDetails findOfsPoOrderDetail(List<OfsPoOrderDetails> ofsPoOrderDataDetails, StockinOrderSearchResponse.StockinOrder.StockinB stockinB) {
|
||||||
if (ofsPoOrderDataDetails != null && ofsPoOrderDataDetails.size() > 0 && stockinB != null) {
|
if (ofsPoOrderDataDetails != null && ofsPoOrderDataDetails.size() > 0 && stockinB != null) {
|
||||||
|
// 2024年8月20日 23:33:11 先使用sku验证,然后O接口更新明细id,使用明细id匹配!
|
||||||
|
// 2024年8月20日 23:36:04 使用sku匹配,在某种角度来说是错误的
|
||||||
|
// 2024年8月21日 14:23:02 O接口已经返回明细行主键,根据这个匹配
|
||||||
|
for (int i = 0; i < ofsPoOrderDataDetails.size(); i++) {
|
||||||
|
Assert.notNull(ofsPoOrderDataDetails.get(i).getId(), "采购订单明细行主键不能为空!");
|
||||||
|
Assert.notNull(stockinB.getRefOrderDetailId(), "采购入库单明细行对应的关联采购订单的明细行主键不能为空!");
|
||||||
|
if (ofsPoOrderDataDetails.get(i).getId().equals(stockinB.getRefOrderDetailId())) {
|
||||||
|
return ofsPoOrderDataDetails.get(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("findOfsPoOrderDetail方法对应的ofsPoOrderDataDetails不能为空!否则业务目标无法完成!");
|
||||||
|
}
|
||||||
|
Assert.state(false, "无法匹配到采购订单明细行,业务逻辑无法完成,根据sku编码:{}查找,但是在采购订单中无法匹配!", stockinB.getSkuCode());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 2024年8月20日 23:58:13
|
||||||
|
* 推送U8C采购订单
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public PoOrderHeadBodyDto sendU8CPoOrder(String param) throws Exception {
|
||||||
|
long startLong = System.currentTimeMillis();
|
||||||
|
logger.info("代理品牌采购推送开始,推送参数:" + param + ",U8C_URL:" + ProfilesActiveConstant.U8C_URL);
|
||||||
|
String result = HttpRequest.post(ProfilesActiveConstant.U8C_URL).header("appId", "800037")//头信息,多个头信息多次调用此方法即可
|
||||||
|
.header("usercode", "admin").header("password", "21232f297a57a5a743894a0e4a801fc3").header("system", "lz").header("trantype", "PK").header("apiCode", "8000370004")//头信息,多个头信息多次调用此方法即可
|
||||||
|
.header("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可
|
||||||
|
.header("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可
|
||||||
|
.body(param)//表单内容
|
||||||
|
.timeout(20000)//超时,毫秒
|
||||||
|
.execute().body();
|
||||||
|
logger.info("代理品牌采购推送结束,返回参数:" + result);
|
||||||
|
long endLong = System.currentTimeMillis();
|
||||||
|
logger.info("U8C采购订单接口请求耗时:" + (endLong - startLong));
|
||||||
|
|
||||||
|
//2024年8月21日 13:17:57 如果结果返回为null,则赋予"",后面的处理逻辑能满足需求
|
||||||
|
if (result == null) {
|
||||||
|
result = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject jsonObject = JSON.parseObject(result);
|
||||||
|
result = String.valueOf(jsonObject.get("attribute"));
|
||||||
|
|
||||||
|
boolean isSuccess = false;
|
||||||
|
PoOrderHeadBodyDto poOrderHeadBodyDto = null;
|
||||||
|
if (result != null && !"".equals(result)) {
|
||||||
|
ReusltStrDto reusltStrDto = JSON.parseObject(result, ReusltStrDto.class);
|
||||||
|
if ("success".equals(reusltStrDto.getStatus())) {
|
||||||
|
poOrderHeadBodyDto = resultDataHandle(reusltStrDto.getData());
|
||||||
|
isSuccess = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!isSuccess) {
|
||||||
|
Assert.state(false, "代理品牌采购业务推送U8C采购订单失败 接口返回结果:{}", result);
|
||||||
|
}
|
||||||
|
return poOrderHeadBodyDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回结果解析处理,在确认了success后调用
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
private PoOrderHeadBodyDto resultDataHandle(String resultData) {
|
||||||
|
try {
|
||||||
|
if (resultData != null && !"".equals(resultData)) {
|
||||||
|
if (resultData.contains("[")) {
|
||||||
|
resultData = resultData.substring(1, resultData.length() - 1);
|
||||||
|
}
|
||||||
|
return JSON.parseObject(resultData, PoOrderHeadBodyDto.class);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("resultDataHandle方法解析返回参数失败的错误", e);
|
||||||
|
//如果解析失败,记录原因,但是不能影响结果的记录
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -14,6 +14,7 @@ import com.hzya.frame.plugin.lets.entity.*;
|
||||||
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.*;
|
import com.hzya.frame.plugin.lets.u8cdto.*;
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
||||||
|
import com.hzya.frame.plugin.lets.util.RdclUtil;
|
||||||
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean;
|
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean;
|
||||||
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData;
|
import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData;
|
||||||
|
@ -73,6 +74,9 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdStordocDao iBdStordocDao;
|
private IBdStordocDao iBdStordocDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RdclUtil rdclUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
@ -114,8 +118,8 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
public void startImplement(String startTime, String endTime) {
|
public void startImplement(String startTime, String endTime) {
|
||||||
String threadNameStr = StrUtil.format("(代理品牌采购)OFS采购入库单生成U8C采购订单 售后入库单号", startTime, endTime);
|
String threadNameStrStart = StrUtil.format("开始(代理品牌采购)OFS采购入库单生成U8C采购订单 开始时间:{} 结束时间:{}", startTime, endTime);
|
||||||
logger.info(threadNameStr);
|
logger.info(threadNameStrStart);
|
||||||
|
|
||||||
Thread thread = new Thread(new Runnable() {
|
Thread thread = new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -142,13 +146,15 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
logger.error("startImplement方法抛出异常", e);
|
logger.error("startImplement方法抛出异常", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, threadNameStr);
|
}, threadNameStrStart);
|
||||||
thread.start();
|
thread.start();
|
||||||
try {
|
try {
|
||||||
thread.join();
|
thread.join();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("thread.join()异常", e);
|
logger.error("thread.join()异常", e);
|
||||||
}
|
}
|
||||||
|
String threadNameStrEnd = StrUtil.format("结束(代理品牌采购)OFS采购入库单生成U8C采购订单 开始时间:{} 结束时间:{}", startTime, endTime);
|
||||||
|
logger.info(threadNameStrEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -263,6 +269,8 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
List<PoOrderSonDto> poOrderSonDtos = queryBasicArchives(returnGoodHeaderDetailsDataDtoList);
|
List<PoOrderSonDto> poOrderSonDtos = queryBasicArchives(returnGoodHeaderDetailsDataDtoList);
|
||||||
// 代理品牌采购业务流程
|
// 代理品牌采购业务流程
|
||||||
BdBusitypeEntity bdBusitypeEntity = u8cOperationFlow();
|
BdBusitypeEntity bdBusitypeEntity = u8cOperationFlow();
|
||||||
|
// 查询采购收发类别
|
||||||
|
BdRdclEntity bdRdclEntity = rdclUtil.queryRdClObject("102");
|
||||||
|
|
||||||
if (poOrderSonDtos != null && poOrderSonDtos.size() > 0) {
|
if (poOrderSonDtos != null && poOrderSonDtos.size() > 0) {
|
||||||
for (int i = 0; i < poOrderSonDtos.size(); i++) {
|
for (int i = 0; i < poOrderSonDtos.size(); i++) {
|
||||||
|
@ -305,6 +313,10 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
poOrderParentDto.setVdef19(poOrderSonDto.getCode());//原单单号
|
poOrderParentDto.setVdef19(poOrderSonDto.getCode());//原单单号
|
||||||
poOrderParentDto.setVdef20(poOrderSonDto.getId());//原单主键
|
poOrderParentDto.setVdef20(poOrderSonDto.getId());//原单主键
|
||||||
|
|
||||||
|
//收发类别
|
||||||
|
// poOrderParentDto.setPk_defdoc3(bdRdclEntity.getPkRdcl());
|
||||||
|
// poOrderParentDto.setVdef3(bdRdclEntity.getRdname());
|
||||||
|
|
||||||
//采购订单明细行
|
//采购订单明细行
|
||||||
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
|
@ -135,6 +135,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopTobOrToCUtil shopTobOrToCUtil;
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsStandardUtil ofsStandardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -163,7 +166,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
|
// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
|
||||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
getSet(headerDetailsDtoList);
|
getSet(headerDetailsDtoList);
|
||||||
|
@ -208,7 +211,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
|
||||||
logger.info("根据根据号拉群:数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("根据根据号拉群:数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
getSet(headerDetailsDtoList);
|
getSet(headerDetailsDtoList);
|
||||||
|
@ -302,40 +305,6 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询OFS结果集
|
|
||||||
*
|
|
||||||
* @param queryOfsSoSaleOutVo 查询参数
|
|
||||||
* @param headerDetailsDtoList 查询结果集
|
|
||||||
* @param pageNo 从第pageNo页开始查询
|
|
||||||
*/
|
|
||||||
private void queryOfsSaleOrder(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<HeaderDetailsDto> headerDetailsDtoList, Long pageNo) throws Exception {
|
|
||||||
|
|
||||||
Long pageSize = 200L;
|
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
|
||||||
|
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
|
||||||
interfaceParamDto.setApi("ofs.shipment.search");
|
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
|
||||||
SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
|
||||||
if (saleOutReturnMessageDto != null) {
|
|
||||||
if ("false".equals(saleOutReturnMessageDto.getError()) && "0".equals(saleOutReturnMessageDto.getCode()) && "Success".equals(saleOutReturnMessageDto.getMsg())) {
|
|
||||||
List<HeaderDetailsDto> headerDetailsDtoList1 = saleOutReturnMessageDto.getData();
|
|
||||||
if (headerDetailsDtoList1 != null && headerDetailsDtoList1.size() > 0) {
|
|
||||||
headerDetailsDtoList.addAll(headerDetailsDtoList1);
|
|
||||||
|
|
||||||
//TODO OFS没有提供分页字段
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//2024年7月30日 13:47:04 查询失败
|
|
||||||
logger.error("查询失败,失败原因:{}", JSON.toJSON(saleOutReturnMessageDto));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("returnMessageBasics为空!queryOfsSoSaleOutVo对象结果:{}", JSON.toJSON(queryOfsSoSaleOutVo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// public void queryOfsSaleOrder() throws Exception {
|
// public void queryOfsSaleOrder() throws Exception {
|
||||||
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
// queryOfsSoSaleOutVo.setCreated_start("2024-07-05 16:38:00");
|
// queryOfsSoSaleOutVo.setCreated_start("2024-07-05 16:38:00");
|
||||||
|
@ -908,7 +877,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
return JSON.parseObject(resultData, SoSaleResultRootDto.class);
|
return JSON.parseObject(resultData, SoSaleResultRootDto.class);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
logger.error("解析返回参数失败的错误", e);
|
logger.error("解析返回参数失败的错误", e);
|
||||||
//如果解析失败,记录原因,但是不能影响结果的记录
|
//如果解析失败,记录原因,但是不能影响结果的记录
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,10 +18,7 @@ import com.hzya.frame.plugin.lets.ofs.service.ITocofsSaleoutService;
|
||||||
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo;
|
import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo;
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.*;
|
import com.hzya.frame.plugin.lets.u8cdto.*;
|
||||||
import com.hzya.frame.plugin.lets.util.ShopTobOrToCUtil;
|
import com.hzya.frame.plugin.lets.util.*;
|
||||||
import com.hzya.frame.plugin.lets.util.TocOrderBasicArchivesCacheUtil;
|
|
||||||
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
|
||||||
import com.hzya.frame.split.SplitListByCountUtil;
|
import com.hzya.frame.split.SplitListByCountUtil;
|
||||||
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
||||||
|
@ -108,6 +105,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopTobOrToCUtil shopTobOrToCUtil;
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsStandardUtil ofsStandardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -136,7 +136,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003");
|
// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003");
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
|
||||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
getSet(headerDetailsDtoList);
|
getSet(headerDetailsDtoList);
|
||||||
|
@ -188,7 +188,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
|
||||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
getSet(headerDetailsDtoList);
|
getSet(headerDetailsDtoList);
|
||||||
|
@ -296,32 +296,32 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @param headerDetailsDtoList 查询结果集
|
* @param headerDetailsDtoList 查询结果集
|
||||||
* @param pageNo 从第pageNo页开始查询
|
* @param pageNo 从第pageNo页开始查询
|
||||||
*/
|
*/
|
||||||
private void queryOfsSaleOrder(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList, Long pageNo) throws Exception {
|
// private void queryOfsSaleOrder(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList, Long pageNo) throws Exception {
|
||||||
|
//
|
||||||
Long pageSize = 200L;
|
// Long pageSize = 200L;
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
// queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
// queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
//
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
// InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
interfaceParamDto.setApi("ofs.shipment.search");
|
// interfaceParamDto.setApi("ofs.shipment.search");
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
// interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
// SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
if (saleOutReturnMessageDto != null) {
|
// if (saleOutReturnMessageDto != null) {
|
||||||
if ("false".equals(saleOutReturnMessageDto.getError()) && "0".equals(saleOutReturnMessageDto.getCode()) && "Success".equals(saleOutReturnMessageDto.getMsg())) {
|
// if ("false".equals(saleOutReturnMessageDto.getError()) && "0".equals(saleOutReturnMessageDto.getCode()) && "Success".equals(saleOutReturnMessageDto.getMsg())) {
|
||||||
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList1 = saleOutReturnMessageDto.getData();
|
// List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList1 = saleOutReturnMessageDto.getData();
|
||||||
if (headerDetailsDtoList1 != null && headerDetailsDtoList1.size() > 0) {
|
// if (headerDetailsDtoList1 != null && headerDetailsDtoList1.size() > 0) {
|
||||||
headerDetailsDtoList.addAll(headerDetailsDtoList1);
|
// headerDetailsDtoList.addAll(headerDetailsDtoList1);
|
||||||
|
//
|
||||||
//TODO OFS没有提供分页字段
|
// //TODO OFS没有提供分页字段
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
//2024年7月30日 13:47:04 查询失败
|
// //2024年7月30日 13:47:04 查询失败
|
||||||
logger.error("查询失败,失败原因:{}", JSON.toJSON(saleOutReturnMessageDto));
|
// logger.error("查询失败,失败原因:{}", JSON.toJSON(saleOutReturnMessageDto));
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
logger.error("returnMessageBasics为空!queryOfsSoSaleOutVo对象结果:{}", JSON.toJSON(queryOfsSoSaleOutVo));
|
// logger.error("returnMessageBasics为空!queryOfsSoSaleOutVo对象结果:{}", JSON.toJSON(queryOfsSoSaleOutVo));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// public void queryOfsSaleOrder() throws Exception {
|
// public void queryOfsSaleOrder() throws Exception {
|
||||||
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
|
|
@ -134,6 +134,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OffsetTimeTime offsetTimeTime;
|
private OffsetTimeTime offsetTimeTime;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsStandardUtil ofsStandardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -162,7 +165,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001");
|
// queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
@ -210,7 +213,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
@ -309,38 +312,6 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询OFS售后退货入库单
|
|
||||||
*
|
|
||||||
* @param queryOfsSoSaleOutVo 查询参数
|
|
||||||
* @param headerDetailsDtoList 查询结果集
|
|
||||||
* @param pageNo 从第pageNo页开始查询
|
|
||||||
*/
|
|
||||||
private void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<StockinOrderSearchResponse.StockinOrder> headerDetailsDtoList, Long pageNo) throws Exception {
|
|
||||||
Long pageSize = 200L;
|
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
|
||||||
|
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
|
||||||
interfaceParamDto.setApi("ofs.receipt.search");
|
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
|
||||||
StockinOrderSearchResponse rertunGoodsRootBean = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
|
|
||||||
if (rertunGoodsRootBean != null) {
|
|
||||||
if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) {
|
|
||||||
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = rertunGoodsRootBean.getData();
|
|
||||||
if (stockinOrderList != null && stockinOrderList.size() > 0) {
|
|
||||||
headerDetailsDtoList.addAll(stockinOrderList);
|
|
||||||
|
|
||||||
//TODO OFS没有提供分页字段,等待开发
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("查询失败,失败原因:{}", JSON.toJSON(interfaceParamDto));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("rertunGoodsRootBean为空!interfaceParamDto对象的结果集json:{}", JSON.toJSON(interfaceParamDto));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代码同步逻辑
|
* 代码同步逻辑
|
||||||
*
|
*
|
||||||
|
|
|
@ -17,16 +17,14 @@ import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsEntity;
|
||||||
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo;
|
import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo;
|
||||||
import com.hzya.frame.plugin.lets.u8cdto.*;
|
import com.hzya.frame.plugin.lets.u8cdto.*;
|
||||||
import com.hzya.frame.plugin.lets.util.ShopTobOrToCUtil;
|
import com.hzya.frame.plugin.lets.util.*;
|
||||||
import com.hzya.frame.plugin.lets.util.TocReturnBasicArchivesCacheUtil;
|
|
||||||
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
|
||||||
import com.hzya.frame.split.SplitListByCountUtil;
|
import com.hzya.frame.split.SplitListByCountUtil;
|
||||||
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.RertunGoodsRootBean;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.RertunGoodsRootBean;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodHeaderDetailsDataDto;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodHeaderDetailsDataDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
||||||
import com.hzya.frame.ttxofs.service.OfsUnifiedService;
|
import com.hzya.frame.ttxofs.service.OfsUnifiedService;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -107,6 +105,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopTobOrToCUtil shopTobOrToCUtil;
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsStandardUtil ofsStandardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -124,13 +125,13 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
||||||
|
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
|
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
queryOfsSoSaleOutVo.setCreated_start(calculateDateVo.getStart_time());
|
queryOfsSoSaleOutVo.setCreated_start(calculateDateVo.getStart_time());
|
||||||
queryOfsSoSaleOutVo.setCreated_end(calculateDateVo.getEnd_time());
|
queryOfsSoSaleOutVo.setCreated_end(calculateDateVo.getEnd_time());
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
//2024年8月22日 14:02:13 已经和O确认,这个字段取消传递!
|
||||||
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
||||||
queryOfsSoSaleOutVo.setStatus(900L);
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
@ -138,10 +139,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001");
|
// queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L);
|
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
getSet(returnGoodHeaderDetailsDataDtoList);
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查询到任何数据!不需要同步");
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
}
|
}
|
||||||
|
@ -181,7 +182,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
try {
|
try {
|
||||||
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
|
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
@ -191,7 +192,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
queryOfsSoSaleOutVo.setInternalInstructionType("RETURN");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L);
|
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L, "ofs.receipt.search");
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
||||||
getSet(returnGoodHeaderDetailsDataDtoList);
|
getSet(returnGoodHeaderDetailsDataDtoList);
|
||||||
|
@ -223,13 +224,13 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private void getSet(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList) throws Exception {
|
private void getSet(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList) throws Exception {
|
||||||
//保存到mysql
|
//保存到mysql
|
||||||
batchInsert(returnGoodHeaderDetailsDataDtoList);
|
batchInsert(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
//过滤成功的数据
|
//过滤成功的数据
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList1 = filterData(returnGoodHeaderDetailsDataDtoList);
|
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
//执行推送主逻辑
|
//执行推送主逻辑
|
||||||
implement(returnGoodHeaderDetailsDataDtoList1);
|
implement(stockinOrderList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -237,11 +238,11 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private List<ReturnGoodHeaderDetailsDataDto> filterData(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList) {
|
private List<StockinOrderSearchResponse.StockinOrder> filterData(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList) {
|
||||||
List<ReturnGoodHeaderDetailsDataDto> headerDetailsDtoList1 = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder> headerDetailsDtoList1 = new ArrayList<>();
|
||||||
if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
//TODO 出库单明细主键,需要O返回,目前没有,已经提需求
|
//TODO 出库单明细主键,需要O返回,目前没有,已经提需求
|
||||||
headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoList);
|
headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
}
|
}
|
||||||
return headerDetailsDtoList1;
|
return headerDetailsDtoList1;
|
||||||
}
|
}
|
||||||
|
@ -249,20 +250,20 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
/**
|
/**
|
||||||
* 保存抓取到的数据到mysql底表,如果底表里已经存在,则会忽略
|
* 保存抓取到的数据到mysql底表,如果底表里已经存在,则会忽略
|
||||||
*
|
*
|
||||||
* @param returnGoodHeaderDetailsDataDtoList 数据行
|
* @param returnGoodHeaderDetailsDataDtoArrayList mysql数据行
|
||||||
*/
|
*/
|
||||||
private void batchInsert(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList) throws Exception {
|
private void batchInsert(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList) throws Exception {
|
||||||
if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
List<ReturnGoodSearchHeaderDto> headerDetailsDtoList1 = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder.StockinH> headerDetailsDtoList1 = new ArrayList<>();
|
||||||
List<ReturnGoodSearchDetailsDto> headerDetailsDtoList2 = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder.StockinB> headerDetailsDtoList2 = new ArrayList<>();
|
||||||
|
|
||||||
for (ReturnGoodHeaderDetailsDataDto index : returnGoodHeaderDetailsDataDtoList) {
|
for (StockinOrderSearchResponse.StockinOrder index : returnGoodHeaderDetailsDataDtoArrayList) {
|
||||||
ReturnGoodSearchHeaderDto header = index.getHeader();// 主表
|
StockinOrderSearchResponse.StockinOrder.StockinH header = index.getHeader();// 主表
|
||||||
List<ReturnGoodSearchDetailsDto> details = index.getDetails();//明细表
|
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = index.getDetails();//明细表
|
||||||
|
|
||||||
for (int i = 0; i < details.size(); i++) {
|
for (int i = 0; i < details.size(); i++) {
|
||||||
ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = details.get(i);
|
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(i);
|
||||||
returnGoodSearchDetailsDto.setReturnGoodSearchHeaderDto(header);
|
stockinB.setReturnGoodSearchHeaderDto(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
headerDetailsDtoList1.add(header);
|
headerDetailsDtoList1.add(header);
|
||||||
|
@ -270,10 +271,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
//每250作为一个批次插入主表,根据主键(id)判断是否重复,如果重复的,则不进行插入
|
//每250作为一个批次插入主表,根据主键(id)判断是否重复,如果重复的,则不进行插入
|
||||||
List<List<ReturnGoodSearchHeaderDto>> lists = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100);
|
List<List<StockinOrderSearchResponse.StockinOrder.StockinH>> lists = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100);
|
||||||
for (int i = 0; i < lists.size(); i++) {
|
for (int i = 0; i < lists.size(); i++) {
|
||||||
List<ReturnGoodSearchHeaderDto> returnGoodSearchHeaderDtos = lists.get(i);
|
List<StockinOrderSearchResponse.StockinOrder.StockinH> stockinHS = lists.get(i);
|
||||||
List<TocofsReturngoodsEntity> tocofsReturngoodsEntities = copyHeaderDto(returnGoodSearchHeaderDtos);
|
List<TocofsReturngoodsEntity> tocofsReturngoodsEntities = copyHeaderDto(stockinHS);
|
||||||
if (tocofsReturngoodsEntities.size() > 0) {
|
if (tocofsReturngoodsEntities.size() > 0) {
|
||||||
logger.info("插入底表{}个对象(表头)", tocofsReturngoodsEntities.size());
|
logger.info("插入底表{}个对象(表头)", tocofsReturngoodsEntities.size());
|
||||||
iTocofsReturngoodsDao.entityInsertBatchV2(tocofsReturngoodsEntities);
|
iTocofsReturngoodsDao.entityInsertBatchV2(tocofsReturngoodsEntities);
|
||||||
|
@ -283,10 +284,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
//插入明细表
|
//插入明细表
|
||||||
List<List<ReturnGoodSearchDetailsDto>> lists1 = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100);
|
List<List<StockinOrderSearchResponse.StockinOrder.StockinB>> lists1 = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100);
|
||||||
for (int i = 0; i < lists1.size(); i++) {
|
for (int i = 0; i < lists1.size(); i++) {
|
||||||
List<ReturnGoodSearchDetailsDto> returnGoodSearchDetailsDtos = lists1.get(i);
|
List<StockinOrderSearchResponse.StockinOrder.StockinB> stockinBS = lists1.get(i);
|
||||||
List<TocofsReturngoodsDetailedEntity> tocofsReturngoodsDetailedEntities = copyDetailsDto(returnGoodSearchDetailsDtos);
|
List<TocofsReturngoodsDetailedEntity> tocofsReturngoodsDetailedEntities = copyDetailsDto(stockinBS);
|
||||||
if (tocofsReturngoodsDetailedEntities.size() > 0) {
|
if (tocofsReturngoodsDetailedEntities.size() > 0) {
|
||||||
logger.info("插入底表{}个对象(表体)", tocofsReturngoodsDetailedEntities.size());
|
logger.info("插入底表{}个对象(表体)", tocofsReturngoodsDetailedEntities.size());
|
||||||
iTocofsReturngoodsDetailedDao.entityInsertBatchV2(tocofsReturngoodsDetailedEntities);
|
iTocofsReturngoodsDetailedDao.entityInsertBatchV2(tocofsReturngoodsDetailedEntities);
|
||||||
|
@ -304,31 +305,31 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @param headerDetailsDtoList 查询结果集
|
* @param headerDetailsDtoList 查询结果集
|
||||||
* @param pageNo 从第pageNo页开始查询
|
* @param pageNo 从第pageNo页开始查询
|
||||||
*/
|
*/
|
||||||
private void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<ReturnGoodHeaderDetailsDataDto> headerDetailsDtoList, Long pageNo) throws Exception {
|
// private void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<ReturnGoodHeaderDetailsDataDto> headerDetailsDtoList, Long pageNo) throws Exception {
|
||||||
|
//
|
||||||
Long pageSize = 200L;
|
// Long pageSize = 200L;
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
// queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
// queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
//
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
// InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
interfaceParamDto.setApi("ofs.receipt.search");
|
// interfaceParamDto.setApi("ofs.receipt.search");
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
// interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
RertunGoodsRootBean rertunGoodsRootBean = (RertunGoodsRootBean) ofsUnifiedService.unified(interfaceParamDto);
|
// RertunGoodsRootBean rertunGoodsRootBean = (RertunGoodsRootBean) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
if (rertunGoodsRootBean != null) {
|
// if (rertunGoodsRootBean != null) {
|
||||||
if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) {
|
// if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) {
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = rertunGoodsRootBean.getData();
|
// List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = rertunGoodsRootBean.getData();
|
||||||
if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
// if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
||||||
headerDetailsDtoList.addAll(returnGoodHeaderDetailsDataDtoList);
|
// headerDetailsDtoList.addAll(returnGoodHeaderDetailsDataDtoList);
|
||||||
|
//
|
||||||
//TODO OFS没有提供分页字段,等待开发
|
// //TODO OFS没有提供分页字段,等待开发
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
logger.error("查询失败,失败原因:{}", JSON.toJSON(interfaceParamDto));
|
// logger.error("查询失败,失败原因:{}", JSON.toJSON(interfaceParamDto));
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
logger.error("rertunGoodsRootBean为空!interfaceParamDto对象的结果集json:{}", JSON.toJSON(interfaceParamDto));
|
// logger.error("rertunGoodsRootBean为空!interfaceParamDto对象的结果集json:{}", JSON.toJSON(interfaceParamDto));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// public void queryOfsSaleOrder() throws Exception {
|
// public void queryOfsSaleOrder() throws Exception {
|
||||||
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
@ -352,10 +353,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
/**
|
/**
|
||||||
* 代码同步逻辑
|
* 代码同步逻辑
|
||||||
*
|
*
|
||||||
* @param returnGoodHeaderDetailsDataDtoList1 查询得到的O出库单对象
|
* @param returnGoodHeaderDetailsDataDtoList1 查询得到的O售后入库单对象
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private void implement(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList1) throws Exception {
|
private void implement(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) throws Exception {
|
||||||
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
||||||
try {
|
try {
|
||||||
// 查询基本档案
|
// 查询基本档案
|
||||||
|
@ -372,7 +373,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
String keyGroup = entry.getKey();
|
String keyGroup = entry.getKey();
|
||||||
List<GoodsRertunSonDetailsDto> oldValue = entry.getValue();
|
List<GoodsRertunSonDetailsDto> oldValue = entry.getValue();
|
||||||
|
|
||||||
ReturnGoodSearchHeaderDto header = oldValue.get(0).getHeader();
|
StockinOrderSearchResponse.StockinOrder.StockinH header = oldValue.get(0).getHeader();
|
||||||
BdCorpEntity bdCorpEntity = oldValue.get(0).getBdCorpEntity();//表头销售公司
|
BdCorpEntity bdCorpEntity = oldValue.get(0).getBdCorpEntity();//表头销售公司
|
||||||
BdCorpEntity deliverGoodsCorp = oldValue.get(0).getDeliverGoodsCorp();//发货公司
|
BdCorpEntity deliverGoodsCorp = oldValue.get(0).getDeliverGoodsCorp();//发货公司
|
||||||
BdCalbodyEntity bdCalbodyEntity = oldValue.get(0).getBdCalbodyEntity();//发货仓库组织
|
BdCalbodyEntity bdCalbodyEntity = oldValue.get(0).getBdCalbodyEntity();//发货仓库组织
|
||||||
|
@ -511,7 +512,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(ReturnGoodSearchHeaderDto header) {
|
private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) {
|
||||||
if (header != null && header.getCheckInTo() != null) {
|
if (header != null && header.getCheckInTo() != null) {
|
||||||
//TOC以出库日期作为业务日期
|
//TOC以出库日期作为业务日期
|
||||||
String checkInTo = header.getCheckInTo();
|
String checkInTo = header.getCheckInTo();
|
||||||
|
@ -532,11 +533,12 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 档案转换
|
* 档案转换(OFS->U8C)
|
||||||
*
|
*
|
||||||
|
* @param returnGoodHeaderDetailsDataDtoList1 OFS售后入库单对象
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private List<GoodsRertunSonDetailsDto> queryBasicArchives(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList1) {
|
private List<GoodsRertunSonDetailsDto> queryBasicArchives(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) {
|
||||||
List<GoodsRertunSonDetailsDto> sonDetailsDtoList = new ArrayList<>();
|
List<GoodsRertunSonDetailsDto> sonDetailsDtoList = new ArrayList<>();
|
||||||
|
|
||||||
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
||||||
|
@ -545,9 +547,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
tocReturnBasicArchivesCacheUtil.initCache();
|
tocReturnBasicArchivesCacheUtil.initCache();
|
||||||
|
|
||||||
for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) {
|
for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) {
|
||||||
ReturnGoodHeaderDetailsDataDto returnGoodHeaderDetailsDataDto = returnGoodHeaderDetailsDataDtoList1.get(i);
|
StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList1.get(i);
|
||||||
ReturnGoodSearchHeaderDto header = returnGoodHeaderDetailsDataDto.getHeader();
|
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
|
||||||
List<ReturnGoodSearchDetailsDto> details = returnGoodHeaderDetailsDataDto.getDetails();
|
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
|
||||||
|
|
||||||
//表头公司:通过名称匹配U8C公司
|
//表头公司:通过名称匹配U8C公司
|
||||||
// String corpName = "上海丽知品牌管理有限公司";
|
// String corpName = "上海丽知品牌管理有限公司";
|
||||||
|
@ -606,7 +608,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
|
|
||||||
//字段拷贝
|
//字段拷贝
|
||||||
for (int j = 0; j < details.size(); j++) {
|
for (int j = 0; j < details.size(); j++) {
|
||||||
ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = details.get(j);
|
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
||||||
|
|
||||||
//2024年8月6日 10:16:22 通过O出库单的表头,查询得出U8C档案,放在表体的原因是方便分组汇总
|
//2024年8月6日 10:16:22 通过O出库单的表头,查询得出U8C档案,放在表体的原因是方便分组汇总
|
||||||
//下一个步骤的分组汇总,是通过表体明细完成的
|
//下一个步骤的分组汇总,是通过表体明细完成的
|
||||||
|
@ -624,7 +626,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
goodsRertunSonDetailsDto.setBdCubasdocEntity(bdCubasdocEntity);
|
goodsRertunSonDetailsDto.setBdCubasdocEntity(bdCubasdocEntity);
|
||||||
goodsRertunSonDetailsDto.setPlatformArchives(bdDefdocEntity);
|
goodsRertunSonDetailsDto.setPlatformArchives(bdDefdocEntity);
|
||||||
|
|
||||||
BeanUtil.copyPropertiesV2(returnGoodSearchDetailsDto, goodsRertunSonDetailsDto);
|
BeanUtil.copyPropertiesV2(stockinB, goodsRertunSonDetailsDto);
|
||||||
sonDetailsDtoList.add(goodsRertunSonDetailsDto);
|
sonDetailsDtoList.add(goodsRertunSonDetailsDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -640,41 +642,40 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bean copy
|
* 对象拷贝 bean copy
|
||||||
* 2024年8月9日 11:23:57
|
* 2024年8月9日 11:23:57
|
||||||
*/
|
*/
|
||||||
private List<TocofsReturngoodsEntity> copyHeaderDto(List<ReturnGoodSearchHeaderDto> returnGoodSearchHeaderDtos) {
|
private List<TocofsReturngoodsEntity> copyHeaderDto(List<StockinOrderSearchResponse.StockinOrder.StockinH> stockinHS) {
|
||||||
List<TocofsReturngoodsEntity> tocofsReturngoodsEntityArrayList = new ArrayList<>();
|
List<TocofsReturngoodsEntity> tocofsReturngoodsEntityArrayList = new ArrayList<>();
|
||||||
if (returnGoodSearchHeaderDtos != null && returnGoodSearchHeaderDtos.size() > 0) {
|
if (stockinHS != null && stockinHS.size() > 0) {
|
||||||
for (int i = 0; i < returnGoodSearchHeaderDtos.size(); i++) {
|
for (int i = 0; i < stockinHS.size(); i++) {
|
||||||
ReturnGoodSearchHeaderDto headerDto = returnGoodSearchHeaderDtos.get(i);
|
StockinOrderSearchResponse.StockinOrder.StockinH stockinH = stockinHS.get(i);
|
||||||
|
|
||||||
TocofsReturngoodsEntity tocofsReturngoodsEntity = new TocofsReturngoodsEntity();
|
TocofsReturngoodsEntity tocofsReturngoodsEntity = new TocofsReturngoodsEntity();
|
||||||
BeanUtil.copyPropertiesV2(headerDto, tocofsReturngoodsEntity);
|
BeanUtil.copyPropertiesV2(stockinH, tocofsReturngoodsEntity);
|
||||||
tocofsReturngoodsEntityArrayList.add(tocofsReturngoodsEntity);
|
tocofsReturngoodsEntityArrayList.add(tocofsReturngoodsEntity);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("需要复制{}个bean对象(O表头)", returnGoodSearchHeaderDtos.size());
|
logger.info("需要复制{}个bean对象(O表头)", stockinHS.size());
|
||||||
}
|
}
|
||||||
return tocofsReturngoodsEntityArrayList;
|
return tocofsReturngoodsEntityArrayList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bean copy
|
* 对象拷贝 bean copy
|
||||||
* 2024年8月9日 11:24:01
|
* 2024年8月9日 11:24:01
|
||||||
*/
|
*/
|
||||||
private List<TocofsReturngoodsDetailedEntity> copyDetailsDto(List<ReturnGoodSearchDetailsDto> headerDetailsDtoList2) {
|
private List<TocofsReturngoodsDetailedEntity> copyDetailsDto(List<StockinOrderSearchResponse.StockinOrder.StockinB> stockinBS) {
|
||||||
List<TocofsReturngoodsDetailedEntity> tocofsSaleoutDetailedEntityArrayList = new ArrayList<>();
|
List<TocofsReturngoodsDetailedEntity> tocofsSaleoutDetailedEntityArrayList = new ArrayList<>();
|
||||||
if (headerDetailsDtoList2 != null && headerDetailsDtoList2.size() > 0) {
|
if (stockinBS != null && stockinBS.size() > 0) {
|
||||||
for (int i = 0; i < headerDetailsDtoList2.size(); i++) {
|
for (int i = 0; i < stockinBS.size(); i++) {
|
||||||
ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = headerDetailsDtoList2.get(i);
|
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = stockinBS.get(i);
|
||||||
|
|
||||||
//表头
|
//表头
|
||||||
ReturnGoodSearchHeaderDto returnGoodSearchHeaderDto = returnGoodSearchDetailsDto.getReturnGoodSearchHeaderDto();
|
StockinOrderSearchResponse.StockinOrder.StockinH returnGoodSearchHeaderDto = stockinB.getReturnGoodSearchHeaderDto();
|
||||||
|
|
||||||
TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity = new TocofsReturngoodsDetailedEntity();
|
TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity = new TocofsReturngoodsDetailedEntity();
|
||||||
// tocofsReturngoodsDetailedEntity.setBusinessType("TOC_RETURN");
|
BeanUtil.copyPropertiesV2(stockinB, tocofsReturngoodsDetailedEntity);
|
||||||
BeanUtil.copyPropertiesV2(returnGoodSearchDetailsDto, tocofsReturngoodsDetailedEntity);
|
|
||||||
createPrimaryKeyAndBusinessDateAndBusinessType(tocofsReturngoodsDetailedEntity, returnGoodSearchHeaderDto);
|
createPrimaryKeyAndBusinessDateAndBusinessType(tocofsReturngoodsDetailedEntity, returnGoodSearchHeaderDto);
|
||||||
tocofsSaleoutDetailedEntityArrayList.add(tocofsReturngoodsDetailedEntity);
|
tocofsSaleoutDetailedEntityArrayList.add(tocofsReturngoodsDetailedEntity);
|
||||||
}
|
}
|
||||||
|
@ -694,7 +695,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
for (int i = 0; i < goodsRertunSonDetailsDtos.size(); i++) {
|
for (int i = 0; i < goodsRertunSonDetailsDtos.size(); i++) {
|
||||||
GoodsRertunSonDetailsDto goodsRertunSonDetailsDto = goodsRertunSonDetailsDtos.get(i);
|
GoodsRertunSonDetailsDto goodsRertunSonDetailsDto = goodsRertunSonDetailsDtos.get(i);
|
||||||
//2024年8月6日 10:35:25表头对象用于带出表头相关的分组汇总信息
|
//2024年8月6日 10:35:25表头对象用于带出表头相关的分组汇总信息
|
||||||
ReturnGoodSearchHeaderDto header = goodsRertunSonDetailsDto.getHeader();
|
StockinOrderSearchResponse.StockinOrder.StockinH header = goodsRertunSonDetailsDto.getHeader();
|
||||||
|
|
||||||
//公司
|
//公司
|
||||||
BdCorpEntity bdCorpEntity = goodsRertunSonDetailsDto.getBdCorpEntity();
|
BdCorpEntity bdCorpEntity = goodsRertunSonDetailsDto.getBdCorpEntity();
|
||||||
|
@ -925,8 +926,11 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
/**
|
/**
|
||||||
* 填充主表主键、业务日期、业务类型
|
* 填充主表主键、业务日期、业务类型
|
||||||
* 2024年8月15日 17:31:54
|
* 2024年8月15日 17:31:54
|
||||||
|
*
|
||||||
|
* @param tocofsReturngoodsDetailedEntity dao明细行对象
|
||||||
|
* @param returnGoodSearchHeaderDto OFS售后入库单表头对象
|
||||||
*/
|
*/
|
||||||
private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity, ReturnGoodSearchHeaderDto returnGoodSearchHeaderDto) {
|
private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity, StockinOrderSearchResponse.StockinOrder.StockinH returnGoodSearchHeaderDto) {
|
||||||
if (tocofsReturngoodsDetailedEntity != null && returnGoodSearchHeaderDto != null) {
|
if (tocofsReturngoodsDetailedEntity != null && returnGoodSearchHeaderDto != null) {
|
||||||
tocofsReturngoodsDetailedEntity.setPrimaryKey(tocofsReturngoodsDetailedEntity.getId());//主表主键
|
tocofsReturngoodsDetailedEntity.setPrimaryKey(tocofsReturngoodsDetailedEntity.getId());//主表主键
|
||||||
tocofsReturngoodsDetailedEntity.setBusinessDate(returnGoodSearchHeaderDto.getCheckInFrom());//业务日期
|
tocofsReturngoodsDetailedEntity.setBusinessDate(returnGoodSearchHeaderDto.getCheckInFrom());//业务日期
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.hzya.frame.plugin.lets.entity.*;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto;
|
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
@ -17,12 +18,12 @@ import java.math.BigDecimal;
|
||||||
* @Filename:SonDetailsDto
|
* @Filename:SonDetailsDto
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class GoodsRertunSonDetailsDto extends ReturnGoodSearchDetailsDto {
|
public class GoodsRertunSonDetailsDto extends StockinOrderSearchResponse.StockinOrder.StockinB {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表头对象
|
* 表头对象
|
||||||
*/
|
*/
|
||||||
private ReturnGoodSearchHeaderDto header;
|
private StockinOrderSearchResponse.StockinOrder.StockinH header;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表头公司(销售公司)
|
* 表头公司(销售公司)
|
||||||
|
|
|
@ -0,0 +1,114 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
||||||
|
import com.hzya.frame.ttxofs.service.OfsUnifiedService;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OFS标准接口查询,业务区分类
|
||||||
|
*
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:OfsStandardUtil
|
||||||
|
* @Date:2024/8/22 13:30
|
||||||
|
* @Filename:OfsStandardUtil
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class OfsStandardUtil {
|
||||||
|
|
||||||
|
Logger logger = LoggerFactory.getLogger(OfsStandardUtil.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsUnifiedService ofsUnifiedService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OFS出库单查询
|
||||||
|
*
|
||||||
|
* @param queryOfsSoSaleOutVo 接口查询入参
|
||||||
|
* @param headerDetailsDtoList 收集对象
|
||||||
|
* @param pageNo 从第几页开始查询
|
||||||
|
* @param api api接口名称
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void queryOfsSaleOrder(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<HeaderDetailsDto> headerDetailsDtoList, Long pageNo, String api) throws Exception {
|
||||||
|
Assert.notNull(queryOfsSoSaleOutVo, "queryOfsSoSaleOutVo不能为空!");
|
||||||
|
Assert.notNull(headerDetailsDtoList, "headerDetailsDtoList不能为空");
|
||||||
|
Assert.notNull(pageNo, "pageNo不能为空");
|
||||||
|
Assert.notNull(api, "api不能为空");
|
||||||
|
|
||||||
|
Long pageSize = 200L;
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
|
||||||
|
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
|
interfaceParamDto.setApi(api);
|
||||||
|
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
|
SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
|
if (saleOutReturnMessageDto != null) {
|
||||||
|
if ("false".equals(saleOutReturnMessageDto.getError()) && "0".equals(saleOutReturnMessageDto.getCode()) && "Success".equals(saleOutReturnMessageDto.getMsg())) {
|
||||||
|
List<HeaderDetailsDto> headerDetailsDtoList1 = saleOutReturnMessageDto.getData();
|
||||||
|
if (headerDetailsDtoList1 != null && headerDetailsDtoList1.size() > 0) {
|
||||||
|
headerDetailsDtoList.addAll(headerDetailsDtoList1);
|
||||||
|
|
||||||
|
//TODO OFS没有提供分页字段
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//2024年7月30日 13:47:04 查询失败
|
||||||
|
logger.error("查询失败,失败原因:{}", JSON.toJSON(saleOutReturnMessageDto));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("returnMessageBasics为空!queryOfsSoSaleOutVo对象结果:{}", JSON.toJSON(queryOfsSoSaleOutVo));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OFS入库单查询
|
||||||
|
*
|
||||||
|
* @param queryOfsSoSaleOutVo 接口入参
|
||||||
|
* @param headerDetailsDtoList 收集对象
|
||||||
|
* @param pageNo 从第几页开始查询
|
||||||
|
* @param api api接口名称
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List<StockinOrderSearchResponse.StockinOrder> headerDetailsDtoList, Long pageNo, String api) throws Exception {
|
||||||
|
Assert.notNull(queryOfsSoSaleOutVo, "queryOfsSoSaleOutVo不能为空!");
|
||||||
|
Assert.notNull(headerDetailsDtoList, "headerDetailsDtoList不能为空");
|
||||||
|
Assert.notNull(pageNo, "pageNo不能为空");
|
||||||
|
Assert.notNull(api, "api不能为空");
|
||||||
|
|
||||||
|
Long pageSize = 200L;
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
|
||||||
|
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
|
interfaceParamDto.setApi(api);
|
||||||
|
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
|
StockinOrderSearchResponse rertunGoodsRootBean = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
|
if (rertunGoodsRootBean != null) {
|
||||||
|
if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) {
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = rertunGoodsRootBean.getData();
|
||||||
|
if (stockinOrderList != null && stockinOrderList.size() > 0) {
|
||||||
|
headerDetailsDtoList.addAll(stockinOrderList);
|
||||||
|
|
||||||
|
//TODO OFS没有提供分页字段,等待开发
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("查询失败,失败原因:{}", JSON.toJSON(interfaceParamDto));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("rertunGoodsRootBean为空!interfaceParamDto对象的结果集json:{}", JSON.toJSON(interfaceParamDto));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import com.hzya.frame.plugin.lets.dao.IBdRdclDao;
|
||||||
|
import com.hzya.frame.plugin.lets.entity.BdRdclEntity;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:RdclUtil
|
||||||
|
* @Date:2024/8/21 15:10
|
||||||
|
* @Filename:RdclUtil
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class RdclUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBdRdclDao iBdRdclDao;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询收发类别
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public BdRdclEntity queryRdClObject(String code) {
|
||||||
|
Assert.notNull(code, "收发类别编码不能为空");
|
||||||
|
Assert.state(!"".equals(code.trim()), "收发类别编码不能为空");
|
||||||
|
|
||||||
|
BdRdclEntity bdRdclEntity = new BdRdclEntity();
|
||||||
|
bdRdclEntity.setDr(0);
|
||||||
|
bdRdclEntity.setRdcode(code);
|
||||||
|
bdRdclEntity.setDataSourceCode("lets_u8c");
|
||||||
|
List<BdRdclEntity> bdRdclEntityList = iBdRdclDao.query(bdRdclEntity);
|
||||||
|
if (bdRdclEntityList == null || bdRdclEntityList.size() == 0) {
|
||||||
|
Assert.state(false, "无法查询到U8C收发类别 收发类别编码:{}", code);
|
||||||
|
} else if (bdRdclEntityList.size() >= 2) {
|
||||||
|
Assert.state(false, "无询到{}个U8C收发类别,存在歧义 收发类别编码:{}", bdRdclEntityList.size(), code);
|
||||||
|
}
|
||||||
|
return bdRdclEntityList.get(0);
|
||||||
|
}
|
||||||
|
}
|
|
@ -32,7 +32,7 @@ public class SoSaleOutPluginInitializerToBTest {
|
||||||
@Test
|
@Test
|
||||||
public void startImplement() {
|
public void startImplement() {
|
||||||
// soSaleOutPluginInitializerToB.startImplement(null, null);
|
// soSaleOutPluginInitializerToB.startImplement(null, null);
|
||||||
soSaleOutPluginInitializerToB.startImplement("LETS-SH2024010900000008");
|
soSaleOutPluginInitializerToB.startImplement("LETS-SH2024082100000005");
|
||||||
|
|
||||||
// try {
|
// try {
|
||||||
// SaleOrderMessageDto ofsOrder = afterSalesOrderUtil.getOfsOrder("LETS-SO2024081600000050");
|
// SaleOrderMessageDto ofsOrder = afterSalesOrderUtil.getOfsOrder("LETS-SO2024081600000050");
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.hzya.frame.WebappApplication;
|
||||||
|
import com.hzya.frame.plugin.lets.entity.BdRdclEntity;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:RdclUtilTest
|
||||||
|
* @Date:2024/8/21 15:16
|
||||||
|
* @Filename:RdclUtilTest
|
||||||
|
*/
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest(classes = WebappApplication.class)
|
||||||
|
public class RdclUtilTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RdclUtil rdclUtil;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void queryRdClObject() {
|
||||||
|
BdRdclEntity bdRdclEntity = rdclUtil.queryRdClObject("203");
|
||||||
|
System.out.println(JSON.toJSONString(bdRdclEntity));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue