提交TOB、TOC优化流程
This commit is contained in:
parent
629965f2a1
commit
d7f0d1dddc
|
@ -31,4 +31,7 @@ public class ProfilesActiveConstant {
|
||||||
|
|
||||||
public static final String CUSTOMER = "'0','2'";
|
public static final String CUSTOMER = "'0','2'";
|
||||||
|
|
||||||
|
public static final String sourceSystem1 = "OFS订单系统";
|
||||||
|
|
||||||
|
public static final String sourceSystem2 = "丽知商城";
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,4 +38,7 @@ public class QueryOfsSoSaleOutVo {
|
||||||
private String closedAt_start;
|
private String closedAt_start;
|
||||||
|
|
||||||
private String closedAt_end;
|
private String closedAt_end;
|
||||||
|
|
||||||
|
private String storeCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,115 @@
|
||||||
|
//package com.hzya.frame.plugin.lets.plugin.purchase;
|
||||||
|
//
|
||||||
|
//import cn.hutool.core.util.StrUtil;
|
||||||
|
//import com.alibaba.fastjson.JSONObject;
|
||||||
|
//import com.hzya.frame.base.PluginBaseEntity;
|
||||||
|
//import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
|
||||||
|
//import com.hzya.frame.plugin.lets.plugin.sales.SoSaleOutPluginInitializerToB;
|
||||||
|
//import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo;
|
||||||
|
//import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
||||||
|
//import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
|
||||||
|
//import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
//import org.slf4j.Logger;
|
||||||
|
//import org.slf4j.LoggerFactory;
|
||||||
|
//
|
||||||
|
//import java.util.ArrayList;
|
||||||
|
//import java.util.List;
|
||||||
|
//
|
||||||
|
///**
|
||||||
|
// * 代理品牌采购业务:(代理品牌采购)OFS采购入库单生成U8C采购订单
|
||||||
|
// *
|
||||||
|
// * @Author:liuyang
|
||||||
|
// * @Package:com.hzya.frame.plugin.lets.plugin.purchase
|
||||||
|
// * @Project:kangarooDataCenterV3
|
||||||
|
// * @name:ProxyPurchase
|
||||||
|
// * @Date:2024/8/19 18:01
|
||||||
|
// * @Filename:ProxyPurchase
|
||||||
|
// */
|
||||||
|
//public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
|
//
|
||||||
|
// Logger logger = LoggerFactory.getLogger(ProxyPurchaseWarehous.class);
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public void initialize() {
|
||||||
|
// logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public void destroy() {
|
||||||
|
// logger.info(getPluginLabel() + "執行銷毀方法destroy()");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public String getPluginId() {
|
||||||
|
// return "com.hzya.frame.plugin.lets.plugin.purchase.ProxyPurchaseWarehous";
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public String getPluginName() {
|
||||||
|
// return "OFS采购入库单生成U8C采购订单(代理品牌)";
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public String getPluginLabel() {
|
||||||
|
// return "OFS采购入库单生成U8C采购订单(代理品牌)";
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public String getPluginType() {
|
||||||
|
// return "3";
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 根据指定时间范围拉取
|
||||||
|
// *
|
||||||
|
// * @author liuyang
|
||||||
|
// */
|
||||||
|
// public void startImplement(String startTime, String endTime) {
|
||||||
|
// String threadNameStr = StrUtil.format("(代理品牌采购)OFS采购入库单生成U8C采购订单 开始时间:{} 结束时间:{}", dateStr, summaryOrderNumber);
|
||||||
|
// logger.info(threadNameStr);
|
||||||
|
//
|
||||||
|
// Thread thread = new Thread(new Runnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// try {
|
||||||
|
// CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
||||||
|
// String tobShop = shopTobOrToCUtil.getCommaShop("TOB");
|
||||||
|
//
|
||||||
|
// List<HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
||||||
|
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
// queryOfsSoSaleOutVo.setShipAt_start(calculateDateVo.getStart_time());
|
||||||
|
// queryOfsSoSaleOutVo.setShipAt_end(calculateDateVo.getEnd_time());
|
||||||
|
// queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
// queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
//// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
||||||
|
// queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
// queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
// queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
// queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
|
//// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
|
||||||
|
// queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
||||||
|
// logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
|
// if (headerDetailsDtoList.size() > 0) {
|
||||||
|
// getSet(headerDetailsDtoList);
|
||||||
|
// } else {
|
||||||
|
// logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
// }
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// logger.error("startImplement方法抛出异常", e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }, threadNameStr);
|
||||||
|
// thread.start();
|
||||||
|
// try {
|
||||||
|
// thread.join();
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// logger.error("thread.join()异常", e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
|
@ -20,9 +20,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.DateStrUtil;
|
import com.hzya.frame.plugin.lets.util.*;
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
|
||||||
import com.hzya.frame.plugin.lets.util.TocOrderBasicArchivesCacheUtil;
|
|
||||||
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;
|
||||||
|
@ -131,6 +129,12 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdInvmandocDao iBdInvmandocDao;
|
private IBdInvmandocDao iBdInvmandocDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AfterSalesOrderUtil afterSalesOrderUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -144,29 +148,25 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
// TODO 注意过滤TOB店铺
|
|
||||||
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOB");
|
||||||
|
|
||||||
List<HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
List<HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
queryOfsSoSaleOutVo.setShipAt_start("2024-07-05 16:38:00");
|
queryOfsSoSaleOutVo.setShipAt_start(calculateDateVo.getStart_time());
|
||||||
queryOfsSoSaleOutVo.setShipAt_end("2024-07-05 16:50:30");
|
queryOfsSoSaleOutVo.setShipAt_end(calculateDateVo.getEnd_time());
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
||||||
queryOfsSoSaleOutVo.setStatus(900L);
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
|
// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
||||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
//保存到mysql
|
getSet(headerDetailsDtoList);
|
||||||
batchInsert(headerDetailsDtoList);
|
|
||||||
//过滤成功的数据
|
|
||||||
List<HeaderDetailsDto> headerDetailsDtos = filterData(headerDetailsDtoList);
|
|
||||||
//执行推送主逻辑
|
|
||||||
implement(headerDetailsDtos);
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查询到任何数据!不需要同步");
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
}
|
}
|
||||||
|
@ -183,6 +183,60 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据出库单单号拉取
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String date) {
|
||||||
|
String threadNameStr = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单 出库单单号:{}", date);
|
||||||
|
logger.info(threadNameStr);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOB");
|
||||||
|
|
||||||
|
List<HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
|
queryOfsSoSaleOutVo.setCode(date);
|
||||||
|
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
||||||
|
logger.info("根据根据号拉群:数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
|
getSet(headerDetailsDtoList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStr);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getSet(List<HeaderDetailsDto> headerDetailsDtoList) throws Exception {
|
||||||
|
//保存到mysql
|
||||||
|
batchInsert(headerDetailsDtoList);
|
||||||
|
//过滤成功的数据
|
||||||
|
List<HeaderDetailsDto> headerDetailsDtos = filterData(headerDetailsDtoList);
|
||||||
|
//执行推送主逻辑
|
||||||
|
implement(headerDetailsDtos);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 过滤掉成功的数据
|
* 过滤掉成功的数据
|
||||||
*
|
*
|
||||||
|
@ -506,6 +560,23 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
HeaderDto header = headerDetailsDto.getHeader();
|
HeaderDto header = headerDetailsDto.getHeader();
|
||||||
List<DetailsDto> details = headerDetailsDto.getDetails();
|
List<DetailsDto> details = headerDetailsDto.getDetails();
|
||||||
|
|
||||||
|
//根据销售出库单,查询得到销售订单
|
||||||
|
SaleOrderMessageDto saleOrderMessageDto = null;
|
||||||
|
try {
|
||||||
|
saleOrderMessageDto = afterSalesOrderUtil.getOfsOrder(header.getRefOrderCode());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("查询销售订单错误,失败原因:{}", e.getMessage());
|
||||||
|
Assert.state(false, "查询销售订单错误,失败原因:{}", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (saleOrderMessageDto == null) {
|
||||||
|
Assert.state(false, "没有匹配到售后订单,系统业务无法完成");
|
||||||
|
}
|
||||||
|
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = saleOrderMessageDto.getData().get(0).getHeader();
|
||||||
|
String memberId = header1.getMemberId();
|
||||||
|
Assert.notNull(memberId, "TOB销售订单(OFS)表头会员id不能为空,否则无法匹配U8C客商档案!");
|
||||||
|
Assert.state(!"".equals(memberId.trim()), "TOB销售订单(OFS)表头会员id不能为空,否则无法匹配U8C客商档案!");
|
||||||
|
|
||||||
// 销售公司、发货公司
|
// 销售公司、发货公司
|
||||||
String companyCode = header.getCompanyCode();
|
String companyCode = header.getCompanyCode();
|
||||||
Assert.notNull(companyCode, "O表头公司不能为空");
|
Assert.notNull(companyCode, "O表头公司不能为空");
|
||||||
|
@ -577,24 +648,32 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
|
|
||||||
//客商基本档案
|
//客商基本档案
|
||||||
//查询OFS对应的销售订单,得到会员id
|
//查询OFS对应的销售订单,得到会员id
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
// queryOfsSoSaleOutVo.setCode();
|
// queryOfsSoSaleOutVo.setCode();
|
||||||
SaleOrderMessageDto ofsOrder = getOfsOrder(queryOfsSoSaleOutVo, 1L);
|
// SaleOrderMessageDto ofsOrder = getOfsOrder(queryOfsSoSaleOutVo, 1L);
|
||||||
|
|
||||||
String custName = "天猫intoyou旗舰店-自营";
|
// String custName = "天猫intoyou旗舰店-自营";
|
||||||
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
||||||
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCubasdocEntity.setDr(0L);
|
bdCubasdocEntity.setDr(0L);
|
||||||
bdCubasdocEntity.setCustname(custName);
|
bdCubasdocEntity.setDef1(memberId);
|
||||||
List<BdCubasdocEntity> bdCubasdocEntityList = iBdCubasdocDao.query(bdCubasdocEntity);
|
List<BdCubasdocEntity> bdCubasdocEntityList = iBdCubasdocDao.query(bdCubasdocEntity);
|
||||||
|
if (bdCubasdocEntityList == null || bdCubasdocEntityList.size() == 0) {
|
||||||
|
Assert.state(false, "根据OFS会员id{},无法查询到U8C客商基本档案", memberId);
|
||||||
|
} else if (bdCubasdocEntityList.size() >= 2) {
|
||||||
|
Assert.state(false, "根据OFS会员id{},查询到U8C多个客商基本档案", memberId);
|
||||||
|
}
|
||||||
|
|
||||||
//客商管理档案
|
//客商管理档案
|
||||||
BdCumandocEntity bdCumandocEntity1 = new BdCumandocEntity();
|
BdCumandocEntity bdCumandocEntity1 = new BdCumandocEntity();
|
||||||
bdCumandocEntity1.setDataSourceCode("lets_u8c");
|
bdCumandocEntity1.setDataSourceCode("lets_u8c");
|
||||||
bdCumandocEntity1.setDr(0L);
|
bdCumandocEntity1.setDr(0L);
|
||||||
bdCumandocEntity1.setPkCorp(bdCorpEntityList.get(0).getPkCorp());
|
bdCumandocEntity1.setPkCorp(bdCorpEntityList.get(0).getPkCorp());
|
||||||
// bdCumandocEntity1.setPkCubasdoc(bdCubasdocEntityList.get(0).getPkCubasdoc());
|
bdCumandocEntity1.setCustflags(ProfilesActiveConstant.CUSTOMER);
|
||||||
List<BdCumandocEntity> bdCumandocEntityList = iBdCumandocDao.query(bdCumandocEntity1);
|
List<BdCumandocEntity> bdCumandocEntityList = iBdCumandocDao.query(bdCumandocEntity1);
|
||||||
|
if (bdCumandocEntityList == null || bdCumandocEntityList.size() == 0) {
|
||||||
|
Assert.state(false, "根据客商基本档案主键{},没有办法查询到客商管理档案", bdCubasdocEntityList.get(0).getPkCubasdoc());
|
||||||
|
}
|
||||||
|
|
||||||
//查找平台
|
//查找平台
|
||||||
String platformZdyId = "0001A210000000000JUD";
|
String platformZdyId = "0001A210000000000JUD";
|
||||||
|
@ -637,7 +716,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
orderOutTobHeaderDto.setDeliverGoodsCorp(bdCorpEntityList.get(0));
|
orderOutTobHeaderDto.setDeliverGoodsCorp(bdCorpEntityList.get(0));
|
||||||
orderOutTobHeaderDto.setPlatformArchives(bdDefdocEntityList.get(0));
|
orderOutTobHeaderDto.setPlatformArchives(bdDefdocEntityList.get(0));
|
||||||
orderOutTobHeaderDto.setShopArchives(bdDefdocEntityList2.get(0));
|
orderOutTobHeaderDto.setShopArchives(bdDefdocEntityList2.get(0));
|
||||||
orderOutTobHeaderDto.setOfsOrder(ofsOrder);
|
orderOutTobHeaderDto.setSaleOrderMessageDto(saleOrderMessageDto);
|
||||||
|
|
||||||
orderOutTobHeaderDto.setHeader(header);
|
orderOutTobHeaderDto.setHeader(header);
|
||||||
orderOutTobHeaderDto.setDetails(details);
|
orderOutTobHeaderDto.setDetails(details);
|
||||||
|
|
|
@ -18,6 +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.TocOrderBasicArchivesCacheUtil;
|
import com.hzya.frame.plugin.lets.util.TocOrderBasicArchivesCacheUtil;
|
||||||
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
||||||
|
@ -27,7 +28,6 @@ import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
|
||||||
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;
|
||||||
|
@ -92,9 +92,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private TocOrderBasicArchivesCacheUtil basicArchivesCacheUtil;
|
private TocOrderBasicArchivesCacheUtil basicArchivesCacheUtil;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ITocofsSaleoutService iTocofsSaleoutService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITocofsSaleoutDao iTocofsSaleoutDao;
|
private ITocofsSaleoutDao iTocofsSaleoutDao;
|
||||||
|
|
||||||
|
@ -108,6 +105,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
|
|
||||||
private static final String ADD = "+";
|
private static final String ADD = "+";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -122,29 +122,24 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
public void run() {
|
public void run() {
|
||||||
LOCK.lock();
|
LOCK.lock();
|
||||||
try {
|
try {
|
||||||
// TODO 注意过滤TOC店铺
|
|
||||||
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
|
|
||||||
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
queryOfsSoSaleOutVo.setShipAt_start("2024-07-05 16:38:00");
|
queryOfsSoSaleOutVo.setShipAt_start(calculateDateVo.getStart_time());
|
||||||
queryOfsSoSaleOutVo.setShipAt_end("2024-07-05 16:50:30");
|
queryOfsSoSaleOutVo.setShipAt_end(calculateDateVo.getEnd_time());
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
|
||||||
queryOfsSoSaleOutVo.setStatus(900L);
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003");
|
// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003");
|
||||||
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
||||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
if (headerDetailsDtoList.size() > 0) {
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
//保存到mysql
|
getSet(headerDetailsDtoList);
|
||||||
batchInsert(headerDetailsDtoList);
|
|
||||||
//过滤成功的数据
|
|
||||||
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtos = filterData(headerDetailsDtoList);
|
|
||||||
//执行推送主逻辑
|
|
||||||
implement(headerDetailsDtos);
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查询到任何数据!不需要同步");
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
}
|
}
|
||||||
|
@ -168,6 +163,67 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按指定时间拉取
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String code) {
|
||||||
|
String threadNameStr = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 出库单单据号:{}", code);
|
||||||
|
logger.info(threadNameStr);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
LOCK.lock();
|
||||||
|
try {
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
|
|
||||||
|
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L);
|
||||||
|
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||||
|
if (headerDetailsDtoList.size() > 0) {
|
||||||
|
getSet(headerDetailsDtoList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
basicArchivesCacheUtil.clearCache();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.info("清理档案缓存失败", e);
|
||||||
|
}
|
||||||
|
LOCK.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStr);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getSet(List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList) throws Exception {
|
||||||
|
//保存到mysql
|
||||||
|
batchInsert(headerDetailsDtoList);
|
||||||
|
//过滤成功的数据
|
||||||
|
List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtos = filterData(headerDetailsDtoList);
|
||||||
|
//执行推送主逻辑
|
||||||
|
implement(headerDetailsDtos);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 过滤掉成功的数据
|
* 过滤掉成功的数据
|
||||||
*
|
*
|
||||||
|
|
|
@ -14,28 +14,20 @@ 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.ofs.dao.ITocofsReturngoodsDao;
|
import com.hzya.frame.plugin.lets.ofs.dao.ITocofsReturngoodsDao;
|
||||||
import com.hzya.frame.plugin.lets.ofs.dao.ITocofsReturngoodsDetailedDao;
|
import com.hzya.frame.plugin.lets.ofs.dao.ITocofsReturngoodsDetailedDao;
|
||||||
import com.hzya.frame.plugin.lets.ofs.dao.ITocofsSaleoutDetailedDao;
|
|
||||||
import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsDetailedEntity;
|
import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsDetailedEntity;
|
||||||
import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsEntity;
|
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.queryvo.StartAndEndVo;
|
||||||
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.DateStrUtil;
|
import com.hzya.frame.plugin.lets.util.*;
|
||||||
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.ofssalesordersearch.HeaderDto;
|
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodordersearch.RerturnGoodsOrderSearchData;
|
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodordersearch.RerturnGoodsOrderSearchJsonRootBean;
|
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.RertunGoodsRootBean;
|
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodHeaderDetailsDataDto;
|
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto;
|
|
||||||
import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto;
|
|
||||||
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
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 lombok.Data;
|
|
||||||
import org.slf4j.Logger;
|
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;
|
||||||
|
@ -103,9 +95,6 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdCalbodyDao iBdCalbodyDao;
|
private IBdCalbodyDao iBdCalbodyDao;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ITocofsSaleoutDetailedDao iTocofsSaleoutDetailedDao;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private QueryBdBusitypeUtil queryBdBusitypeUtil;
|
private QueryBdBusitypeUtil queryBdBusitypeUtil;
|
||||||
|
|
||||||
|
@ -115,10 +104,6 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdSalestruDao iBdSalestruDao;
|
private IBdSalestruDao iBdSalestruDao;
|
||||||
|
|
||||||
private static final String NOTHING = "无";
|
|
||||||
|
|
||||||
private static final String ADD = "+";
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdCumandocDao iBdCumandocDao;
|
private IBdCumandocDao iBdCumandocDao;
|
||||||
|
|
||||||
|
@ -140,6 +125,15 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITocofsReturngoodsDetailedDao iTocofsReturngoodsDetailedDao;
|
private ITocofsReturngoodsDetailedDao iTocofsReturngoodsDetailedDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AfterSalesOrderUtil afterSalesOrderUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OffsetTimeTime offsetTimeTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -153,29 +147,24 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
// TODO 注意过滤TOB店铺
|
//生成一个时间范围
|
||||||
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
StartAndEndVo startAndEndVo = offsetTimeTime.offsetTime();
|
||||||
|
//2024年8月19日 15:47:51 查询出U8C里标记的店铺TOB属性
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOB");
|
||||||
|
|
||||||
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
// queryOfsSoSaleOutVo.setClosedAt_start("2024-07-16 16:44:00");
|
queryOfsSoSaleOutVo.setClosedAt_start(startAndEndVo.getStart_time());
|
||||||
// queryOfsSoSaleOutVo.setClosedAt_end("2024-07-16 16:44:02");
|
queryOfsSoSaleOutVo.setClosedAt_end(startAndEndVo.getEnd_time());
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
// queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
|
||||||
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
|
||||||
// queryOfsSoSaleOutVo.setStatus(900L);
|
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setCode("LETS-RE2024070800000001");
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
|
// queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
//保存到mysql
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
batchInsert(returnGoodHeaderDetailsDataDtoArrayList);
|
|
||||||
//过滤成功的数据
|
|
||||||
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList);
|
|
||||||
//执行推送主逻辑
|
|
||||||
implement(stockinOrderList);
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查询到任何数据!不需要同步");
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
}
|
}
|
||||||
|
@ -192,6 +181,67 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按指定时间拉取
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String code) {
|
||||||
|
String threadNameStr = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单 售后入库单号:{}", code);
|
||||||
|
logger.info(threadNameStr);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
//生成一个时间范围
|
||||||
|
// StartAndEndVo startAndEndVo = offsetTimeTime.offsetTime();
|
||||||
|
//2024年8月19日 15:47:51 查询出U8C里标记的店铺TOB属性
|
||||||
|
String tobShop = shopTobOrToCUtil.getCommaShop("TOB");
|
||||||
|
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
// queryOfsSoSaleOutVo.setClosedAt_start("2002-01-01 00:00:00");// 2024年8月19日 17:13:35 仅作为接口参数验证,O口头反馈根据单号查询,不会启用时间范围搜索
|
||||||
|
// queryOfsSoSaleOutVo.setClosedAt_end("2002-01-01 23:59:59");
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tobShop);
|
||||||
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStr);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境预配置
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
private void getSet(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList) throws Exception {
|
||||||
|
//保存到mysql
|
||||||
|
batchInsert(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
//过滤成功的数据
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
//执行推送主逻辑
|
||||||
|
implement(stockinOrderList);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 过滤掉成功的数据
|
* 过滤掉成功的数据
|
||||||
*
|
*
|
||||||
|
@ -492,7 +542,14 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
|
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
|
||||||
|
|
||||||
//通过售后订单,查询销售订单
|
//通过售后订单,查询销售订单
|
||||||
SaleOrderMessageDto saleOrderMessageDto = queryAfterSalesOrder(header);
|
SaleOrderMessageDto saleOrderMessageDto = null;
|
||||||
|
try {
|
||||||
|
saleOrderMessageDto = afterSalesOrderUtil.queryAfterSalesOrder(header);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("查询出售后订单错误,失败原因:{}", e.getMessage());
|
||||||
|
Assert.state(false, "查询出售后订单错误,失败原因:{}", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
if (saleOrderMessageDto == null) {
|
if (saleOrderMessageDto == null) {
|
||||||
Assert.state(false, "没有匹配到售后订单,系统业务无法完成");
|
Assert.state(false, "没有匹配到售后订单,系统业务无法完成");
|
||||||
}
|
}
|
||||||
|
@ -636,6 +693,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
orderOutTobHeaderDto.setDeliverGoodsCorp(bdCorpEntityList.get(0));
|
orderOutTobHeaderDto.setDeliverGoodsCorp(bdCorpEntityList.get(0));
|
||||||
orderOutTobHeaderDto.setPlatformArchives(bdDefdocEntityList.get(0));
|
orderOutTobHeaderDto.setPlatformArchives(bdDefdocEntityList.get(0));
|
||||||
orderOutTobHeaderDto.setShopArchives(bdDefdocEntityList2.get(0));
|
orderOutTobHeaderDto.setShopArchives(bdDefdocEntityList2.get(0));
|
||||||
|
orderOutTobHeaderDto.setSaleOrderMessageDto(saleOrderMessageDto);
|
||||||
|
|
||||||
orderOutTobHeaderDto.setHeader(header);
|
orderOutTobHeaderDto.setHeader(header);
|
||||||
orderOutTobHeaderDto.setDetails(details);
|
orderOutTobHeaderDto.setDetails(details);
|
||||||
|
@ -725,6 +783,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
Assert.notNull(detailsDto.getSkuCode(), "O存货商家编码不能为空");
|
Assert.notNull(detailsDto.getSkuCode(), "O存货商家编码不能为空");
|
||||||
Assert.notNull(pkCorp, "发货公司主键不能为空");
|
Assert.notNull(pkCorp, "发货公司主键不能为空");
|
||||||
|
|
||||||
|
//TODO 测试
|
||||||
|
detailsDto.setSkuCode("6973391730617");
|
||||||
|
|
||||||
BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity();
|
BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity();
|
||||||
bdInvmandocEntity.setInvcode(detailsDto.getSkuCode());
|
bdInvmandocEntity.setInvcode(detailsDto.getSkuCode());
|
||||||
bdInvmandocEntity.setPkCorp(pkCorp);
|
bdInvmandocEntity.setPkCorp(pkCorp);
|
||||||
|
@ -849,84 +910,4 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
tocofsReturngoodsDetailedEntity.setBusinessType("TOB_RETURN");//业务类型
|
tocofsReturngoodsDetailedEntity.setBusinessType("TOB_RETURN");//业务类型
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据售后订单号,查询售后订单
|
|
||||||
*
|
|
||||||
* @param refOrderCode 售后订单号
|
|
||||||
* @author liuyang
|
|
||||||
*/
|
|
||||||
public RerturnGoodsOrderSearchData getOfsRertunOrder(String refOrderCode) throws Exception {
|
|
||||||
Long pageSize = 200L;
|
|
||||||
Long pageNo = 1L;
|
|
||||||
|
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
|
||||||
queryOfsSoSaleOutVo.setCode(refOrderCode);
|
|
||||||
|
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
|
||||||
interfaceParamDto.setApi("ofs.returnOrder.search");
|
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
|
||||||
RerturnGoodsOrderSearchJsonRootBean rerturnGoodsOrderSearchJsonRootBean = (RerturnGoodsOrderSearchJsonRootBean) ofsUnifiedService.unified(interfaceParamDto);
|
|
||||||
if (rerturnGoodsOrderSearchJsonRootBean != null) {
|
|
||||||
if ("false".equals(rerturnGoodsOrderSearchJsonRootBean.getError()) && "0".equals(rerturnGoodsOrderSearchJsonRootBean.getCode()) && "Success".equals(rerturnGoodsOrderSearchJsonRootBean.getMsg())) {
|
|
||||||
List<RerturnGoodsOrderSearchData> data = rerturnGoodsOrderSearchJsonRootBean.getData();
|
|
||||||
if (data != null && data.size() > 0) {
|
|
||||||
return data.get(0);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("查询售后订单失败,接口返回结果:{}", JSON.toJSON(rerturnGoodsOrderSearchJsonRootBean));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("rerturnGoodsOrderSearchJsonRootBean为空(返回结果为空),查询入参条件:{}!", JSON.toJSON(queryOfsSoSaleOutVo));
|
|
||||||
}
|
|
||||||
Assert.state(false, "根据售后订单号:{} 没有查询到OFS售后订单", refOrderCode);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询OFS销售订单
|
|
||||||
*
|
|
||||||
* @param code OFS销售订单编码
|
|
||||||
* @author liuyang
|
|
||||||
*/
|
|
||||||
public SaleOrderMessageDto getOfsOrder(String code) throws Exception {
|
|
||||||
Long pageSize = 200L;
|
|
||||||
Long pageNo = 1L;
|
|
||||||
|
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
|
||||||
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
|
||||||
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
|
||||||
|
|
||||||
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
|
||||||
interfaceParamDto.setApi("ofs.salesOrder.search");
|
|
||||||
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
|
||||||
SaleOrderMessageDto saleOrderMessageDto = (SaleOrderMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
|
||||||
return saleOrderMessageDto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询售后订单
|
|
||||||
*
|
|
||||||
* @author liuyang
|
|
||||||
*/
|
|
||||||
private SaleOrderMessageDto queryAfterSalesOrder(StockinOrderSearchResponse.StockinOrder.StockinH header) throws Exception {
|
|
||||||
if (header != null) {
|
|
||||||
//根据售后入库单、查询售后订单
|
|
||||||
RerturnGoodsOrderSearchData ofsRertunOrder = getOfsRertunOrder(header.getRefOrderCode());
|
|
||||||
if (ofsRertunOrder == null || ofsRertunOrder.getHeader() == null || ofsRertunOrder.getDetails() == null) {
|
|
||||||
Assert.state(false, "根据OFS售后订单编码{},无法查询到售后订单信息!", header.getRefOrderCode());
|
|
||||||
}
|
|
||||||
SaleOrderMessageDto ofsOrder = getOfsOrder(ofsRertunOrder.getHeader().getRefOrderCode());
|
|
||||||
if (ofsOrder == null) {
|
|
||||||
Assert.state(false, "根据OFS销售订单编码{},无法查询到销售订单信息!", ofsRertunOrder.getHeader().getRefOrderCode());
|
|
||||||
}
|
|
||||||
return ofsOrder;
|
|
||||||
} else {
|
|
||||||
logger.error("queryAfterSalesOrder方法入参为null(header为null!)");
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -17,6 +17,7 @@ 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.TocReturnBasicArchivesCacheUtil;
|
import com.hzya.frame.plugin.lets.util.TocReturnBasicArchivesCacheUtil;
|
||||||
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
import com.hzya.frame.plugin.lets.util.DateStrUtil;
|
||||||
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
|
||||||
|
@ -103,6 +104,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private TocReturnBasicArchivesCacheUtil tocReturnBasicArchivesCacheUtil;
|
private TocReturnBasicArchivesCacheUtil tocReturnBasicArchivesCacheUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按指定时间拉取
|
* 按指定时间拉取
|
||||||
*
|
*
|
||||||
|
@ -117,30 +121,26 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
public void run() {
|
public void run() {
|
||||||
LOCK.lock();
|
LOCK.lock();
|
||||||
try {
|
try {
|
||||||
// TODO 注意过滤TOC店铺
|
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr);
|
||||||
|
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
||||||
|
|
||||||
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
queryOfsSoSaleOutVo.setCreated_start("2024-07-16 15:35:35");
|
queryOfsSoSaleOutVo.setCreated_start(calculateDateVo.getStart_time());
|
||||||
queryOfsSoSaleOutVo.setCreated_end("2024-07-16 15:35:37");
|
queryOfsSoSaleOutVo.setCreated_end(calculateDateVo.getEnd_time());
|
||||||
queryOfsSoSaleOutVo.setClientCode("LETS");
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
// queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
// queryOfsSoSaleOutVo.setCompanyCode("SHLZ");
|
||||||
// queryOfsSoSaleOutVo.setStatus(900L);
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsSoSaleOutVo.setPageNo(1L);
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001");
|
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
||||||
|
// queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001");
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L);
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L);
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
||||||
//保存到mysql
|
getSet(returnGoodHeaderDetailsDataDtoList);
|
||||||
batchInsert(returnGoodHeaderDetailsDataDtoList);
|
|
||||||
//过滤成功的数据
|
|
||||||
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList1 = filterData(returnGoodHeaderDetailsDataDtoList);
|
|
||||||
//执行推送主逻辑
|
|
||||||
implement(returnGoodHeaderDetailsDataDtoList1);
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("没有查询到任何数据!不需要同步");
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
}
|
}
|
||||||
|
@ -164,6 +164,72 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按指定时间拉取
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String code) {
|
||||||
|
String threadNameStr = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 同步单据号:{}", code);
|
||||||
|
logger.info(threadNameStr);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
LOCK.lock();
|
||||||
|
try {
|
||||||
|
String tocShop = shopTobOrToCUtil.getCommaShop("TOC");
|
||||||
|
|
||||||
|
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setInternalInstructionType("SALES");
|
||||||
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
||||||
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L);
|
||||||
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size());
|
||||||
|
if (returnGoodHeaderDetailsDataDtoList.size() > 0) {
|
||||||
|
getSet(returnGoodHeaderDetailsDataDtoList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
tocReturnBasicArchivesCacheUtil.clearCache();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.info("清理档案缓存失败", e);
|
||||||
|
}
|
||||||
|
LOCK.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStr);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预备执行逻辑
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
private void getSet(List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList) throws Exception {
|
||||||
|
//保存到mysql
|
||||||
|
batchInsert(returnGoodHeaderDetailsDataDtoList);
|
||||||
|
//过滤成功的数据
|
||||||
|
List<ReturnGoodHeaderDetailsDataDto> returnGoodHeaderDetailsDataDtoList1 = filterData(returnGoodHeaderDetailsDataDtoList);
|
||||||
|
//执行推送主逻辑
|
||||||
|
implement(returnGoodHeaderDetailsDataDtoList1);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 过滤掉成功的数据
|
* 过滤掉成功的数据
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
package com.hzya.frame.plugin.lets.queryvo;
|
||||||
|
|
||||||
|
public class StartAndEndVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始时间
|
||||||
|
*/
|
||||||
|
private String start_time;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束时间
|
||||||
|
*/
|
||||||
|
private String end_time;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售订单号
|
||||||
|
*/
|
||||||
|
private String src_order_no;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退货入库单单号
|
||||||
|
*/
|
||||||
|
private String order_no;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预入库单号
|
||||||
|
*/
|
||||||
|
private String stockinNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库单号
|
||||||
|
*/
|
||||||
|
private String stockout_no;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺编码
|
||||||
|
*/
|
||||||
|
private String shop_nos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售订单号
|
||||||
|
*/
|
||||||
|
private String vreceiptcode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业务类型
|
||||||
|
*/
|
||||||
|
private String cbiztype;
|
||||||
|
|
||||||
|
public String getCbiztype() {
|
||||||
|
return cbiztype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCbiztype(String cbiztype) {
|
||||||
|
this.cbiztype = cbiztype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVreceiptcode() {
|
||||||
|
return vreceiptcode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVreceiptcode(String vreceiptcode) {
|
||||||
|
this.vreceiptcode = vreceiptcode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShop_nos() {
|
||||||
|
return shop_nos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShop_nos(String shop_nos) {
|
||||||
|
this.shop_nos = shop_nos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStockout_no() {
|
||||||
|
return stockout_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStockout_no(String stockout_no) {
|
||||||
|
this.stockout_no = stockout_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStockinNo() {
|
||||||
|
return stockinNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStockinNo(String stockinNo) {
|
||||||
|
this.stockinNo = stockinNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrder_no() {
|
||||||
|
return order_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrder_no(String order_no) {
|
||||||
|
this.order_no = order_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSrc_order_no() {
|
||||||
|
return src_order_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSrc_order_no(String src_order_no) {
|
||||||
|
this.src_order_no = src_order_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStart_time() {
|
||||||
|
return start_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStart_time(String start_time) {
|
||||||
|
this.start_time = start_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnd_time() {
|
||||||
|
return end_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnd_time(String end_time) {
|
||||||
|
this.end_time = end_time;
|
||||||
|
}
|
||||||
|
}
|
|
@ -80,5 +80,5 @@ public class OrderOutTobHeaderDto extends HeaderDetailsDto {
|
||||||
/**
|
/**
|
||||||
* OFS销售订单
|
* OFS销售订单
|
||||||
*/
|
*/
|
||||||
private SaleOrderMessageDto ofsOrder;
|
private SaleOrderMessageDto saleOrderMessageDto;
|
||||||
}
|
}
|
|
@ -3,6 +3,7 @@ package com.hzya.frame.plugin.lets.u8cdto;
|
||||||
import com.hzya.frame.plugin.lets.entity.*;
|
import com.hzya.frame.plugin.lets.entity.*;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
||||||
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.dto.stock.StockinOrderSearchResponse;
|
||||||
|
@ -91,4 +92,9 @@ public class OrderToBHeaderDto {
|
||||||
* TOB售后入库单表体
|
* TOB售后入库单表体
|
||||||
*/
|
*/
|
||||||
private List<StockinOrderSearchResponse.StockinOrder.StockinB> details;
|
private List<StockinOrderSearchResponse.StockinOrder.StockinB> details;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 售后订单
|
||||||
|
*/
|
||||||
|
private SaleOrderMessageDto saleOrderMessageDto;
|
||||||
}
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
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.plugin.lets.plugin.sales.SoSaleReturnPluginInitializerToB;
|
||||||
|
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.returngoodordersearch.RerturnGoodsOrderSearchData;
|
||||||
|
import com.hzya.frame.ttxofs.dto.returngoodordersearch.RerturnGoodsOrderSearchJsonRootBean;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:AfterSalesOrderUtil
|
||||||
|
* @Date:2024/8/19 14:59
|
||||||
|
* @Filename:AfterSalesOrderUtil
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class AfterSalesOrderUtil {
|
||||||
|
|
||||||
|
Logger logger = LoggerFactory.getLogger(AfterSalesOrderUtil.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OfsUnifiedService ofsUnifiedService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询售后订单
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public SaleOrderMessageDto queryAfterSalesOrder(StockinOrderSearchResponse.StockinOrder.StockinH header) throws Exception {
|
||||||
|
if (header != null) {
|
||||||
|
//根据售后入库单、查询售后订单
|
||||||
|
RerturnGoodsOrderSearchData ofsRertunOrder = getOfsRertunOrder(header.getRefOrderCode());
|
||||||
|
if (ofsRertunOrder == null || ofsRertunOrder.getHeader() == null || ofsRertunOrder.getDetails() == null) {
|
||||||
|
Assert.state(false, "根据OFS售后订单编码{},无法查询到售后订单信息!", header.getRefOrderCode());
|
||||||
|
}
|
||||||
|
SaleOrderMessageDto ofsOrder = getOfsOrder(ofsRertunOrder.getHeader().getRefOrderCode());
|
||||||
|
if (ofsOrder == null) {
|
||||||
|
Assert.state(false, "根据OFS销售订单编码{},无法查询到销售订单信息!", ofsRertunOrder.getHeader().getRefOrderCode());
|
||||||
|
}
|
||||||
|
return ofsOrder;
|
||||||
|
} else {
|
||||||
|
logger.error("queryAfterSalesOrder方法入参为null(header为null!)");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据售后订单号,查询售后订单
|
||||||
|
*
|
||||||
|
* @param refOrderCode 售后订单号
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public RerturnGoodsOrderSearchData getOfsRertunOrder(String refOrderCode) throws Exception {
|
||||||
|
Long pageSize = 200L;
|
||||||
|
Long pageNo = 1L;
|
||||||
|
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
queryOfsSoSaleOutVo.setCode(refOrderCode);
|
||||||
|
|
||||||
|
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
|
interfaceParamDto.setApi("ofs.returnOrder.search");
|
||||||
|
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
|
RerturnGoodsOrderSearchJsonRootBean rerturnGoodsOrderSearchJsonRootBean = (RerturnGoodsOrderSearchJsonRootBean) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
|
if (rerturnGoodsOrderSearchJsonRootBean != null) {
|
||||||
|
if ("false".equals(rerturnGoodsOrderSearchJsonRootBean.getError()) && "0".equals(rerturnGoodsOrderSearchJsonRootBean.getCode()) && "Success".equals(rerturnGoodsOrderSearchJsonRootBean.getMsg())) {
|
||||||
|
List<RerturnGoodsOrderSearchData> data = rerturnGoodsOrderSearchJsonRootBean.getData();
|
||||||
|
if (data != null && data.size() > 0) {
|
||||||
|
return data.get(0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("查询售后订单失败,接口返回结果:{}", JSON.toJSON(rerturnGoodsOrderSearchJsonRootBean));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("rerturnGoodsOrderSearchJsonRootBean为空(返回结果为空),查询入参条件:{}!", JSON.toJSON(queryOfsSoSaleOutVo));
|
||||||
|
}
|
||||||
|
Assert.state(false, "根据售后订单号:{} 没有查询到OFS售后订单", refOrderCode);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询OFS销售订单
|
||||||
|
*
|
||||||
|
* @param code OFS销售订单编码
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public SaleOrderMessageDto getOfsOrder(String code) throws Exception {
|
||||||
|
Long pageSize = 200L;
|
||||||
|
Long pageNo = 1L;
|
||||||
|
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(pageNo);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(pageSize);
|
||||||
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
|
||||||
|
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
|
||||||
|
interfaceParamDto.setApi("ofs.salesOrder.search");
|
||||||
|
interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo));
|
||||||
|
SaleOrderMessageDto saleOrderMessageDto = (SaleOrderMessageDto) ofsUnifiedService.unified(interfaceParamDto);
|
||||||
|
return saleOrderMessageDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateField;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.hzya.frame.plugin.lets.queryvo.StartAndEndVo;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:OffsetTimeTime
|
||||||
|
* @Date:2024/8/19 16:27
|
||||||
|
* @Filename:OffsetTimeTime
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class OffsetTimeTime {
|
||||||
|
/**
|
||||||
|
* 实时执行,计算时间
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public StartAndEndVo offsetTime() {
|
||||||
|
StartAndEndVo startAndEndVo = new StartAndEndVo();
|
||||||
|
Date currentDate = new Date();
|
||||||
|
Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10);
|
||||||
|
Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2);
|
||||||
|
|
||||||
|
String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss");
|
||||||
|
String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
startAndEndVo.setStart_time(startTimeStr);
|
||||||
|
startAndEndVo.setEnd_time(endTimeStr);
|
||||||
|
|
||||||
|
return startAndEndVo;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import com.hzya.frame.plugin.lets.dao.IBdDefdocDao;
|
||||||
|
import com.hzya.frame.plugin.lets.entity.BdDefdocEntity;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:ShopTobOrToCUtil
|
||||||
|
* @Date:2024/8/19 15:20
|
||||||
|
* @Filename:ShopTobOrToCUtil
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class ShopTobOrToCUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBdDefdocDao iBdDefdocDao;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询TOB或者TOC对应的销售订单店铺
|
||||||
|
*
|
||||||
|
* @param memo TOB、TOC请传这个
|
||||||
|
*/
|
||||||
|
public List<BdDefdocEntity> queryU8cShop(String memo) {
|
||||||
|
//查询U8C店铺档案
|
||||||
|
String platformZdyId2 = "0001A210000000000XZX";
|
||||||
|
|
||||||
|
BdDefdocEntity bdDefdocEntity2 = new BdDefdocEntity();
|
||||||
|
bdDefdocEntity2.setPkDefdoclist(platformZdyId2);
|
||||||
|
bdDefdocEntity2.setDr(0);
|
||||||
|
bdDefdocEntity2.setDataSourceCode("lets_u8c");
|
||||||
|
bdDefdocEntity2.setMemo(memo);
|
||||||
|
List<BdDefdocEntity> bdDefdocEntityList2 = iBdDefdocDao.query(bdDefdocEntity2);
|
||||||
|
if (bdDefdocEntityList2.size() == 0) {
|
||||||
|
Assert.state(false, "根据O店铺编码{},无法匹配到U8C店铺自定义档案 备注类型:{}", memo);
|
||||||
|
}
|
||||||
|
return bdDefdocEntityList2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCommaShop(String memo) {
|
||||||
|
List<BdDefdocEntity> bdDefdocEntityList = queryU8cShop(memo);
|
||||||
|
return bdDefdocEntityList.stream().map(BdDefdocEntity::getDoccode).collect(Collectors.joining(","));
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,7 +28,8 @@ public class SoSaleReturnPluginInitializerToBTest {
|
||||||
@Test
|
@Test
|
||||||
public void startImplement() {
|
public void startImplement() {
|
||||||
try {
|
try {
|
||||||
soSaleReturnPluginInitializerToB.startImplement(null, null);
|
// soSaleReturnPluginInitializerToB.startImplement(null, null);
|
||||||
|
soSaleReturnPluginInitializerToB.startImplement("LETS-RE2024081900000001");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.hzya.frame.plugin.lets.util;
|
||||||
|
|
||||||
|
import com.hzya.frame.WebappApplication;
|
||||||
|
import com.hzya.frame.plugin.lets.entity.BdDefdocEntity;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.util
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:ShopTobOrToCUtilTest
|
||||||
|
* @Date:2024/8/19 15:32
|
||||||
|
* @Filename:ShopTobOrToCUtilTest
|
||||||
|
*/
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest(classes = WebappApplication.class)
|
||||||
|
public class ShopTobOrToCUtilTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopTobOrToCUtil shopTobOrToCUtil;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void queryU8cShop() {
|
||||||
|
try {
|
||||||
|
System.out.println(shopTobOrToCUtil.getCommaShop("TOC"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,6 +7,7 @@ import com.hzya.frame.ttxofs.dto.ofsBaseSearch.OfsSupplierReturnMessageDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse;
|
import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto;
|
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto;
|
||||||
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
|
||||||
|
import com.hzya.frame.ttxofs.dto.returngoodordersearch.RerturnGoodsOrderSearchJsonRootBean;
|
||||||
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -35,9 +36,9 @@ public class ApiDtoCacheMap {
|
||||||
apiDtoCacheMap.put("ofs.store.search", new OfsShopReturnMessageDto());//店铺查询
|
apiDtoCacheMap.put("ofs.store.search", new OfsShopReturnMessageDto());//店铺查询
|
||||||
apiDtoCacheMap.put("ofs.vendor.search", new OfsSupplierReturnMessageDto());//店铺查询
|
apiDtoCacheMap.put("ofs.vendor.search", new OfsSupplierReturnMessageDto());//店铺查询
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
apiDtoCacheMap.put("ofs.sku.search", new OFSSKUSearchResponse());//OFS存货档案查询接口
|
apiDtoCacheMap.put("ofs.sku.search", new OFSSKUSearchResponse());//OFS存货档案查询接口
|
||||||
apiDtoCacheMap.put("ofs.inventory.class.search", new OFSSKUClassSearchResponse());//OFS存货分类查询接口
|
apiDtoCacheMap.put("ofs.inventory.class.search", new OFSSKUClassSearchResponse());//OFS存货分类查询接口
|
||||||
|
|
||||||
|
apiDtoCacheMap.put("ofs.returnOrder.search", new RerturnGoodsOrderSearchJsonRootBean());//售后订单
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.hzya.frame.ttxofs.basics;
|
package com.hzya.frame.ttxofs.basics;
|
||||||
|
|
||||||
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:liuyang
|
* @Author:liuyang
|
||||||
|
@ -12,42 +10,10 @@ import java.util.List;
|
||||||
* @Date:2024/7/30 11:45
|
* @Date:2024/7/30 11:45
|
||||||
* @Filename:ReturnMessageBasics
|
* @Filename:ReturnMessageBasics
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class ReturnMessageBasics {
|
public class ReturnMessageBasics {
|
||||||
|
|
||||||
private String code;
|
private String code;
|
||||||
private String msg;
|
private String msg;
|
||||||
private String notify;
|
private String notify;
|
||||||
private String error;
|
private String error;
|
||||||
|
|
||||||
public String getCode() {
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCode(String code) {
|
|
||||||
this.code = code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMsg() {
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMsg(String msg) {
|
|
||||||
this.msg = msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNotify() {
|
|
||||||
return notify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNotify(String notify) {
|
|
||||||
this.notify = notify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getError() {
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setError(String error) {
|
|
||||||
this.error = error;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,17 @@ public class HeaderDto {
|
||||||
private String isFinanical;
|
private String isFinanical;
|
||||||
private String finanicalStatus;
|
private String finanicalStatus;
|
||||||
|
|
||||||
|
//会员id
|
||||||
|
private String memberId;
|
||||||
|
|
||||||
|
public String getMemberId() {
|
||||||
|
return memberId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberId(String memberId) {
|
||||||
|
this.memberId = memberId;
|
||||||
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.hzya.frame.ttxofs.dto.returngoodordersearch;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated: 2024-08-19 11:31:49
|
||||||
|
*
|
||||||
|
* @author bejson.com (i@bejson.com)
|
||||||
|
* @website http://www.bejson.com/java2pojo/
|
||||||
|
*/
|
||||||
|
@lombok.Data
|
||||||
|
public class RerturnGoodsOrderSearchData {
|
||||||
|
private RerturnGoodsOrderSearchHeader header;
|
||||||
|
private List<RerturnGoodsOrderSearchDetails> details;
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2024 bejson.com
|
||||||
|
*/
|
||||||
|
package com.hzya.frame.ttxofs.dto.returngoodordersearch;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated: 2024-08-19 11:31:49
|
||||||
|
*
|
||||||
|
* @author bejson.com (i@bejson.com)
|
||||||
|
* @website http://www.bejson.com/java2pojo/
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RerturnGoodsOrderSearchDetails {
|
||||||
|
private String clientCode;
|
||||||
|
private String companyCode;
|
||||||
|
private String storeCode;
|
||||||
|
private String id;
|
||||||
|
private String returnOrderId;
|
||||||
|
private String returnOrderCode;
|
||||||
|
private String skuCode;
|
||||||
|
private String skuName;
|
||||||
|
private String returnType;
|
||||||
|
private String refundInd;
|
||||||
|
private String requestQty;
|
||||||
|
private String fulfillQty;
|
||||||
|
private String quantityUM;
|
||||||
|
private String msrPrice;
|
||||||
|
private String listPrice;
|
||||||
|
private String totalWeight;
|
||||||
|
private String totalVolume;
|
||||||
|
private String weightUM;
|
||||||
|
private String volumeUM;
|
||||||
|
private String totalAmount;
|
||||||
|
private String sourceOrderCode;
|
||||||
|
private String sourceDiscountPrice;
|
||||||
|
private String sourcePayAmount;
|
||||||
|
private String sourceRequestQty;
|
||||||
|
private String bomType;
|
||||||
|
private String created;
|
||||||
|
private String createdBy;
|
||||||
|
private String lastUpdated;
|
||||||
|
private String lastUpdatedBy;
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
package com.hzya.frame.ttxofs.dto.returngoodordersearch;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated: 2024-08-19 11:31:49
|
||||||
|
*
|
||||||
|
* @author bejson.com (i@bejson.com)
|
||||||
|
* @website http://www.bejson.com/java2pojo/
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RerturnGoodsOrderSearchHeader {
|
||||||
|
private String id;
|
||||||
|
private String clientCode;
|
||||||
|
private String companyCode;
|
||||||
|
private String storeCode;
|
||||||
|
private String facilityCode;
|
||||||
|
private String returnType;
|
||||||
|
private String exchangeType;
|
||||||
|
private String refundInd;
|
||||||
|
private String internalOrderType;
|
||||||
|
private String bizChannel;
|
||||||
|
private String code;
|
||||||
|
private String sourceUserAccount;
|
||||||
|
private String sourceUserName;
|
||||||
|
private String returnStatus;
|
||||||
|
private String shipStatus;
|
||||||
|
private String refundStatus;
|
||||||
|
private String refOrderCode;
|
||||||
|
private String refOrderId;
|
||||||
|
private String refOrderType;
|
||||||
|
private String refOrderStatusWhenReturned;
|
||||||
|
private String sourcePlatformCode;
|
||||||
|
private String sourceOrderCode;
|
||||||
|
private String returnNote;
|
||||||
|
private String requestRefundAmount;
|
||||||
|
private String actualRefundAmount;
|
||||||
|
private String totalQty;
|
||||||
|
private String totalFulfillQty;
|
||||||
|
private String shipFromAttentionTo;
|
||||||
|
private String shipFromAddress;
|
||||||
|
private String shipFromCountry;
|
||||||
|
private String shipFromState;
|
||||||
|
private String shipFromCity;
|
||||||
|
private String shipFromDistrict;
|
||||||
|
private String shipFromMobile;
|
||||||
|
private String returnCarrier;
|
||||||
|
private String returnWaybillCode;
|
||||||
|
private String auditBy;
|
||||||
|
private String auditAt;
|
||||||
|
private String refundThru;
|
||||||
|
private String csStuff;
|
||||||
|
private String errorCode;
|
||||||
|
private String errorDesc;
|
||||||
|
private String verificationStatus;
|
||||||
|
private String status;
|
||||||
|
private String created;
|
||||||
|
private String createdBy;
|
||||||
|
private String lastUpdated;
|
||||||
|
private String lastUpdatedBy;
|
||||||
|
private String processType;
|
||||||
|
private String returnNode;
|
||||||
|
private String sourceModifiedAt;
|
||||||
|
private String agNumberOfRetries;
|
||||||
|
private String realReturnReason;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.hzya.frame.ttxofs.dto.returngoodordersearch;
|
||||||
|
|
||||||
|
import com.hzya.frame.ttxofs.basics.ReturnMessageBasics;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated: 2024-08-19 11:31:49
|
||||||
|
*
|
||||||
|
* @author bejson.com (i@bejson.com)
|
||||||
|
* @website http://www.bejson.com/java2pojo/
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RerturnGoodsOrderSearchJsonRootBean extends ReturnMessageBasics {
|
||||||
|
private List<RerturnGoodsOrderSearchData> data;
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ import lombok.Data;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 售后入库单
|
||||||
* Auto-generated: 2024-08-09 10:15:6
|
* Auto-generated: 2024-08-09 10:15:6
|
||||||
*
|
*
|
||||||
* @author bejson.com (i@bejson.com)
|
* @author bejson.com (i@bejson.com)
|
||||||
|
|
Loading…
Reference in New Issue