refactor(lets): 重构售后订单处理逻辑

- 修改了 OverallConstant 中的 U8C API URL 和其他相关常量
- 在 OnlyAfterSalesBEntity 中添加了新的字段用于处理售后订单
- 更新了对应的 XML 文件以支持新的字段
- 调整了 PassiveWarehouseReceiptToB 和其他相关类中的逻辑
- 优化了测试用例
This commit is contained in:
liuy 2025-08-07 17:12:24 +08:00
parent dbf426ae7e
commit 41e5fbbf3a
18 changed files with 1100 additions and 262 deletions

View File

@ -25,4 +25,19 @@ public interface IOnlyAfterSalesBDao extends IBaseDao<OnlyAfterSalesBEntity, Str
* @author liuyang * @author liuyang
*/ */
void entityInsertOrUpdateBatchBySuccessOrFail(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception; void entityInsertOrUpdateBatchBySuccessOrFail(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception;
/**
* 批量插入或更新,推送状态
*
* @author liuyang
*/
void entityInsertOrUpdateBatchBySuccessOrFail3(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception;
/**
* 批量插入或更新,推送状态
*
* @author liuyang
*/
void entityInsertOrUpdateBatchBySuccessOrFail2(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception;
} }

View File

@ -24,4 +24,14 @@ public class OnlyAfterSalesBDaoImpl extends MybatisGenericDao<OnlyAfterSalesBEnt
public void entityInsertOrUpdateBatchBySuccessOrFail(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception { public void entityInsertOrUpdateBatchBySuccessOrFail(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception {
insert("com.hzya.frame.plugin.lets.dao.impl.OnlyAfterSalesBDaoImpl.entityInsertOrUpdateBatchBySuccessOrFail", onlyAfterSalesHEntityList); insert("com.hzya.frame.plugin.lets.dao.impl.OnlyAfterSalesBDaoImpl.entityInsertOrUpdateBatchBySuccessOrFail", onlyAfterSalesHEntityList);
} }
@Override
public void entityInsertOrUpdateBatchBySuccessOrFail3(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception {
insert("com.hzya.frame.plugin.lets.dao.impl.OnlyAfterSalesBDaoImpl.entityInsertOrUpdateBatchBySuccessOrFail3", onlyAfterSalesHEntityList);
}
@Override
public void entityInsertOrUpdateBatchBySuccessOrFail2(List<OnlyAfterSalesBEntity> onlyAfterSalesHEntityList) throws Exception {
insert("com.hzya.frame.plugin.lets.dao.impl.OnlyAfterSalesBDaoImpl.entityInsertOrUpdateBatchBySuccessOrFail2", onlyAfterSalesHEntityList);
}
} }

View File

@ -140,7 +140,7 @@ public class OnlyAfterSalesBEntity extends BaseEntity {
//业务类型 //业务类型
private String businessType; private String businessType;
//业务日期-退货完成时间或交易成功时间 //业务日期-关联时间或交易成功时间
private String transactionDate; private String transactionDate;
//推送时间 //推送时间
@ -169,5 +169,17 @@ public class OnlyAfterSalesBEntity extends BaseEntity {
private String def5; private String def5;
private String def6; private String def6;
private String def7;
private String def8;
private String def9;
private String def10;
private String def11;
private String def12;
} }

View File

@ -50,6 +50,12 @@
<result property="def4" column="def4" jdbcType="VARCHAR"/> <result property="def4" column="def4" jdbcType="VARCHAR"/>
<result property="def5" column="def5" jdbcType="VARCHAR"/> <result property="def5" column="def5" jdbcType="VARCHAR"/>
<result property="def6" column="def6" jdbcType="VARCHAR"/> <result property="def6" column="def6" jdbcType="VARCHAR"/>
<result property="def7" column="def7" jdbcType="VARCHAR"/>
<result property="def8" column="def8" jdbcType="VARCHAR"/>
<result property="def9" column="def9" jdbcType="VARCHAR"/>
<result property="def10" column="def10" jdbcType="VARCHAR"/>
<result property="def11" column="def11" jdbcType="VARCHAR"/>
<result property="def12" column="def12" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<!-- 查询的字段--> <!-- 查询的字段-->
@ -101,6 +107,12 @@
,def4 ,def4
,def5 ,def5
,def6 ,def6
,def7
,def8
,def9
,def10
,def11
,def12
</sql> </sql>
<!-- 查询 采用==查询 --> <!-- 查询 采用==查询 -->
@ -409,10 +421,10 @@
<!-- 批量新增或者修改--> <!-- 批量新增或者修改-->
<insert id="entityInsertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true"> <insert id="entityInsertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into only_after_sales_b(hid,ofsid,returnOrderId, returnOrderCode, skuCode, skuName, companyCode, clientCode, storeCode, returnType, refundInd, requestQty, fulfillQty, quantityUM, msrPrice, totalWeight, totalVolume, weightUM, volumeUM, totalAmount, sourceLineNum, sourceOrderCode, sourceDiscountPrice, sourcePayAmount, sourceRequestQty, bomType, originalDetailId, reasonCode, reasonDesc,businessType) insert into only_after_sales_b(hid,ofsid,returnOrderId, returnOrderCode, skuCode, skuName, companyCode, clientCode, storeCode, returnType, refundInd, requestQty, fulfillQty, quantityUM, msrPrice, totalWeight, totalVolume, weightUM, volumeUM, totalAmount, sourceLineNum, sourceOrderCode, sourceDiscountPrice, sourcePayAmount, sourceRequestQty, bomType, originalDetailId, reasonCode, reasonDesc,businessType,transactionDate)
values values
<foreach collection="list" item="entity" separator=","> <foreach collection="list" item="entity" separator=",">
(#{entity.hid},#{entity.ofsid},#{entity.returnorderid},#{entity.returnordercode},#{entity.skucode},#{entity.skuname},#{entity.companycode},#{entity.clientcode},#{entity.storecode},#{entity.returntype},#{entity.refundind},#{entity.requestqty},#{entity.fulfillqty},#{entity.quantityum},#{entity.msrprice},#{entity.totalweight},#{entity.totalvolume},#{entity.weightum},#{entity.volumeum},#{entity.totalamount},#{entity.sourcelinenum},#{entity.sourceordercode},#{entity.sourcediscountprice},#{entity.sourcepayamount},#{entity.sourcerequestqty},#{entity.bomtype},#{entity.originaldetailid},#{entity.reasoncode},#{entity.reasondesc},#{entity.businessType}) (#{entity.hid},#{entity.ofsid},#{entity.returnorderid},#{entity.returnordercode},#{entity.skucode},#{entity.skuname},#{entity.companycode},#{entity.clientcode},#{entity.storecode},#{entity.returntype},#{entity.refundind},#{entity.requestqty},#{entity.fulfillqty},#{entity.quantityum},#{entity.msrprice},#{entity.totalweight},#{entity.totalvolume},#{entity.weightum},#{entity.volumeum},#{entity.totalamount},#{entity.sourcelinenum},#{entity.sourceordercode},#{entity.sourcediscountprice},#{entity.sourcepayamount},#{entity.sourcerequestqty},#{entity.bomtype},#{entity.originaldetailid},#{entity.reasoncode},#{entity.reasondesc},#{entity.businessType},#{entity.transactionDate})
</foreach> </foreach>
on duplicate key update on duplicate key update
hid = values(hid), hid = values(hid),
@ -444,29 +456,82 @@
originalDetailId = values(originalDetailId), originalDetailId = values(originalDetailId),
reasonCode = values(reasonCode), reasonCode = values(reasonCode),
reasonDesc = values(reasonDesc), reasonDesc = values(reasonDesc),
businessType = values(businessType) businessType = values(businessType),
transactionDate = values(transactionDate)
</insert> </insert>
<!-- 批量新增或者修改--> <!-- 批量新增或者修改-->
<insert id="entityInsertOrUpdateBatchBySuccessOrFail" keyProperty="id" useGeneratedKeys="true"> <insert id="entityInsertOrUpdateBatchBySuccessOrFail" keyProperty="id" useGeneratedKeys="true">
insert into only_after_sales_b(ofsid,newPushDate,newTransmitInfo,newState,newsystemnumber,newsystemprimary,def1,def2,def3,def4,def5,def6) insert into only_after_sales_b(ofsid,newPushDate,newTransmitInfo,newState,newsystemnumber,newsystemprimary,def1,def2,def3,def4,def5,def6,def7)
values values
<foreach collection="list" item="entity" separator=","> <foreach collection="list" item="entity" separator=",">
(#{entity.ofsid},#{entity.newPushDate},#{entity.newTransmitInfo},#{entity.newState},#{entity.newsystemnumber},#{entity.newsystemprimary},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6}) (#{entity.ofsid},#{entity.newPushDate},#{entity.newTransmitInfo},#{entity.newState},#{entity.newsystemnumber},#{entity.newsystemprimary},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7})
</foreach> </foreach>
on duplicate key update on duplicate key update
ofsid = values(ofsid), ofsid = values(ofsid),
newPushDate = values(newPushDate), newPushDate = values(newPushDate),
newTransmitInfo = values(newTransmitInfo), newTransmitInfo = values(newTransmitInfo),
newState = values(newState), newState = values(newState),
newsystemnumber = values(newsystemnumber), newsystemnumber = values(newsystemnumber),
newsystemprimary = values(newsystemprimary), newsystemprimary = values(newsystemprimary),
def1 = values(def1), def1 = values(def1),
def2 = values(def2), def2 = values(def2),
def3 = values(def3), def3 = values(def3),
def4 = values(def4), def4 = values(def4),
def5 = values(def5), def5 = values(def5),
def6 = values(def6) def6 = values(def6),
def7 = values(def7)
</insert>
<insert id="entityInsertOrUpdateBatchBySuccessOrFail3" keyProperty="id" useGeneratedKeys="true">
insert into only_after_sales_b(ofsid,def1,def2,def3,def4,def5,def6,def7,def8,def9,def10,def11,def12)
values
<foreach collection="list" item="entity" separator=",">
(#{entity.ofsid},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.def11},#{entity.def12})
</foreach>
on duplicate key update
ofsid = values(ofsid),
def1 = values(def1),
def2 = values(def2),
def3 = values(def3),
def4 = values(def4),
def5 = values(def5),
def6 = values(def6),
def7 = values(def7),
def8 = values(def8),
def9 = values(def9),
def10 = values(def10),
def11 = values(def11),
def12 = values(def12)
</insert>
<!-- 批量新增或者修改-->
<insert id="entityInsertOrUpdateBatchBySuccessOrFail2" keyProperty="id" useGeneratedKeys="true">
insert into only_after_sales_b(ofsid,def8,def9,def10,def11,def12,def1,def2,def3,def4,def5,def6,def7)
values
<foreach collection="list" item="entity" separator=",">
(#{entity.ofsid},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.def11},#{entity.def12},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7})
</foreach>
on duplicate key update
ofsid = values(ofsid),
def8 = values(def8),
def9 = values(def9),
def10 = values(def10),
def11 = values(def11),
def12 = values(def12),
def1 = values(def1),
def2 = values(def2),
def3 = values(def3),
def4 = values(def4),
def5 = values(def5),
def6 = values(def6),
def7 = values(def7)
</insert> </insert>
<!--通过主键修改方法--> <!--通过主键修改方法-->

View File

@ -54,7 +54,7 @@ public class OfsPassiveorderDetailEntity extends BaseEntity {
*/ */
private String businessdate; private String businessdate;
/** /**
* 交易时间 * 交易时间或者关联时间哪个晚取哪个
*/ */
private String transactionDate; private String transactionDate;
/** /**

View File

@ -226,7 +226,7 @@ public class PassiveWarehouseReceiptToB extends PluginBaseEntity {
//实时执行每1分钟调度一次 //实时执行每1分钟调度一次
StartAndEndVo startAndEndVo = offsetTimeTime.getCurrentDateRange(); StartAndEndVo startAndEndVo = offsetTimeTime.getCurrentDateRange();
startImplementByStockTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time()); startImplementByStockTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
startImplementByTradeTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time()); // startImplementByTradeTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
} }
} }
} catch (Exception e) { } catch (Exception e) {
@ -861,6 +861,10 @@ public class PassiveWarehouseReceiptToB extends PluginBaseEntity {
saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键")); saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键"));
saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称")); saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称"));
//售后类型标识
saleorderRequestParentDto.setPk_defdoc8(OverallConstant.getOverAllValue("售后类型标识-TOB无源件-主键"));
saleorderRequestParentDto.setVdef8(OverallConstant.getOverAllValue("售后类型标识-TOB无源件-名称"));
saleorderRequestDto.setParentvo(saleorderRequestParentDto); saleorderRequestDto.setParentvo(saleorderRequestParentDto);
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>(); List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
@ -1081,7 +1085,7 @@ public class PassiveWarehouseReceiptToB extends PluginBaseEntity {
String memberId = header1.getMemberId(); String memberId = header1.getMemberId();
//会员id //会员id
// memberId = "GYS00002"; // memberId = "9001";
Assert.notNull(memberId, "TOB销售订单(OFS)表头会员id不能为空否则无法匹配U8C客商档案"); Assert.notNull(memberId, "TOB销售订单(OFS)表头会员id不能为空否则无法匹配U8C客商档案");
Assert.state(!"".equals(memberId.trim()), "TOB销售订单(OFS)表头会员id不能为空否则无法匹配U8C客商档案"); Assert.state(!"".equals(memberId.trim()), "TOB销售订单(OFS)表头会员id不能为空否则无法匹配U8C客商档案");
@ -1676,7 +1680,8 @@ public class PassiveWarehouseReceiptToB extends PluginBaseEntity {
private BdBusitypeEntity u8cOperationFlow() throws Exception { private BdBusitypeEntity u8cOperationFlow() throws Exception {
//查询业务流程 //查询业务流程
//2024年8月6日 11:33:07 具体的业务流程名称还需要实施提供 //2024年8月6日 11:33:07 具体的业务流程名称还需要实施提供
String processName = "TOB无源件"; // String processName = "TOB无源件";
String processName = "TOB退货";
BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(processName); BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(processName);
Assert.notNull(bdBusitypeEntity, "根据业务流程名称({})没有查询到业务流程", processName); Assert.notNull(bdBusitypeEntity, "根据业务流程名称({})没有查询到业务流程", processName);
return bdBusitypeEntity; return bdBusitypeEntity;
@ -2020,7 +2025,7 @@ public class PassiveWarehouseReceiptToB extends PluginBaseEntity {
details1.setDef1(afterSalesOrder.getTotalAmount());//计算应收 details1.setDef1(afterSalesOrder.getTotalAmount());//计算应收
details1.setDef2(calculationFormula.toString());//计算公式 details1.setDef2(calculationFormula.toString());//计算公式
details1.setRefundedAt(ofsRertunOrder.getHeader().getRefundedAt());//表头对应的退款完成时间 // details1.setRefundedAt(ofsRertunOrder.getHeader().getRefundedAt());//表头对应的退款完成时间
} }
SalesInvoiceDto salesInvoiceDto = new SalesInvoiceDto(); SalesInvoiceDto salesInvoiceDto = new SalesInvoiceDto();
salesInvoiceDto.setParentvo(salesInvoiceHeadDto); salesInvoiceDto.setParentvo(salesInvoiceHeadDto);

View File

@ -821,6 +821,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键")); saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键"));
saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称")); saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称"));
//售后类型标识
saleorderRequestParentDto.setPk_defdoc8(OverallConstant.getOverAllValue("售后类型标识-TOB售后-主键"));
saleorderRequestParentDto.setVdef8(OverallConstant.getOverAllValue("售后类型标识-TOB售后-名称"));
saleorderRequestDto.setParentvo(saleorderRequestParentDto); saleorderRequestDto.setParentvo(saleorderRequestParentDto);
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>(); List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();

View File

@ -827,6 +827,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键")); saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键"));
saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称")); saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称"));
//售后类型标识
saleorderRequestParentDto.setPk_defdoc8(OverallConstant.getOverAllValue("售后类型标识-TOC售后-主键"));
saleorderRequestParentDto.setVdef8(OverallConstant.getOverAllValue("售后类型标识-TOC售后-名称"));
saleorderRequestDto.setParentvo(saleorderRequestParentDto); saleorderRequestDto.setParentvo(saleorderRequestParentDto);
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>(); List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
@ -1115,6 +1119,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键")); saleorderRequestParentDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键"));
saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称")); saleorderRequestParentDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称"));
//售后类型标识
saleorderRequestParentDto.setPk_defdoc8(OverallConstant.getOverAllValue("售后类型标识-TOC售后-主键"));
saleorderRequestParentDto.setVdef8(OverallConstant.getOverAllValue("售后类型标识-TOC售后-名称"));
saleorderRequestDto.setParentvo(saleorderRequestParentDto); saleorderRequestDto.setParentvo(saleorderRequestParentDto);
//改为红字应收单表头 //改为红字应收单表头
//组装应收单表头 //组装应收单表头
@ -1229,10 +1237,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
//如果合并后的金额为0则不传到U8C //如果合并后的金额为0则不传到U8C
Assert.notNull(goodsRertunSonDetailsDto.getGroupTotalPayAmount(), "goodsRertunSonDetailsDto.getGroupTotalPayAmount()不能为空!"); Assert.notNull(goodsRertunSonDetailsDto.getGroupTotalPayAmount(), "goodsRertunSonDetailsDto.getGroupTotalPayAmount()不能为空!");
BigDecimal groupTotalPayAmount = goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP); // BigDecimal groupTotalPayAmount = goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP);
if ("0".equals(groupTotalPayAmount.stripTrailingZeros().toPlainString())) { // if ("0".equals(groupTotalPayAmount.stripTrailingZeros().toPlainString())) {
continue; // continue;
} // }
//修改为生成红字应收单表体 //修改为生成红字应收单表体
// List<ArapDjzbVO.Childrenn> childrennArrayList = new ArrayList<>(); // List<ArapDjzbVO.Childrenn> childrennArrayList = new ArrayList<>();
@ -1247,6 +1255,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
// arapDjzbVOChildrenn.setJfybwsje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额 // arapDjzbVOChildrenn.setJfybwsje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
//退货没有邮费金额已经向万万确认 //退货没有邮费金额已经向万万确认
//所有业务商家优惠都不传
//平台优惠 //平台优惠
if (goodsRertunSonDetailsDto.getVdef4() != null) { if (goodsRertunSonDetailsDto.getVdef4() != null) {
BigDecimal vdef4 = goodsRertunSonDetailsDto.getVdef4(); BigDecimal vdef4 = goodsRertunSonDetailsDto.getVdef4();
@ -1540,17 +1549,18 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
//查询OFS售后入库单对应的售后订单 //查询OFS售后入库单对应的售后订单
List<RerturnGoodsOrderSearchData> rerturnGoodsOrderSearchData = queryBatchAfterSalesOrder(returnGoodHeaderDetailsDataDtoList1); List<RerturnGoodsOrderSearchData> rerturnGoodsOrderSearchData = queryBatchAfterSalesOrder(returnGoodHeaderDetailsDataDtoList1);
findAfterSalesOrder(rerturnGoodsOrderSearchData, returnGoodHeaderDetailsDataDtoList1); findAfterSalesOrder(rerturnGoodsOrderSearchData, returnGoodHeaderDetailsDataDtoList1);
//测试
// RerturnGoodsOrderSearchData rerturnGoodsOrderSearchData2 = rerturnGoodsOrderSearchData.get(0); // RerturnGoodsOrderSearchData rerturnGoodsOrderSearchData2 = rerturnGoodsOrderSearchData.get(0);
// List<RerturnGoodsOrderSearchDetails> details2 = rerturnGoodsOrderSearchData2.getDetails(); // List<RerturnGoodsOrderSearchDetails> details2 = rerturnGoodsOrderSearchData2.getDetails();
// for (int i = 0; i < details2.size(); i++) { // for (int i = 0; i < details2.size(); i++) {
// RerturnGoodsOrderSearchDetails rerturnGoodsOrderSearchDetails = details2.get(i); // RerturnGoodsOrderSearchDetails rerturnGoodsOrderSearchDetails = details2.get(i);
// //
// rerturnGoodsOrderSearchDetails.setPlatformDiscounts("1"); // rerturnGoodsOrderSearchDetails.setPlatformDiscounts("1.09");
// rerturnGoodsOrderSearchDetails.setMerchantDiscounts("1"); // rerturnGoodsOrderSearchDetails.setMerchantDiscounts("2.07");
// rerturnGoodsOrderSearchDetails.setExpertDiscounts("1"); // rerturnGoodsOrderSearchDetails.setExpertDiscounts("3.99");
// rerturnGoodsOrderSearchDetails.setPayDiscounts("1"); // rerturnGoodsOrderSearchDetails.setPayDiscounts("888");
// } // }
//查询OFS售后订单对应的OFS销售订单 //查询OFS售后订单对应的OFS销售订单
List<com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto> headerDetailsDtos = queryBatchOfsOrder(returnGoodHeaderDetailsDataDtoList1); List<com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto> headerDetailsDtos = queryBatchOfsOrder(returnGoodHeaderDetailsDataDtoList1);
findOfsOrder(headerDetailsDtos, returnGoodHeaderDetailsDataDtoList1); findOfsOrder(headerDetailsDtos, returnGoodHeaderDetailsDataDtoList1);
@ -3765,9 +3775,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
//OFS销售订单当时售后订单对应的销售订单如果不存在则过滤 //OFS销售订单当时售后订单对应的销售订单如果不存在则过滤
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto(); com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
if (headerDetailsDto == null) { Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单为空! 售后入库单号:{}", header.getCode());
return false;
}
//1.OFS售后入库单对应的销售订单交易成功时间为null //1.OFS售后入库单对应的销售订单交易成功时间为null
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = headerDetailsDto.getHeader(); com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = headerDetailsDto.getHeader();
String tradeSuccessAt = header1.getTradeSuccessAt(); String tradeSuccessAt = header1.getTradeSuccessAt();

View File

@ -36,7 +36,9 @@ public class PassiveWarehouseReceiptToBTest {
//TOB 无源入库 //TOB 无源入库
// passiveWarehouseReceiptToB.startImplementByStockTime("2025-03-16 20:20:20", "2025-03-16 20:20:20"); // passiveWarehouseReceiptToB.startImplementByStockTime("2025-03-16 20:20:20", "2025-03-16 20:20:20");
//TOB 无源入库退款完成 //TOB 无源入库退款完成
passiveWarehouseReceiptToB.startImplementByTradeTime("2025-03-16 20:20:20", "2025-03-16 20:20:20"); // passiveWarehouseReceiptToB.startImplementByTradeTime("2025-03-16 20:20:20", "2025-03-16 20:20:20");
passiveWarehouseReceiptToB.startImplementByCode("RH20250727000282", "stock");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -32,7 +32,13 @@ public class PassiveWarehouseReceiptToCTest {
//测试O无源生成红字应收 //测试O无源生成红字应收
// passiveWarehouseReceiptToC.startImplementStockByTime("2025-04-07 13:10:01", "2025-04-07 13:10:01"); // passiveWarehouseReceiptToC.startImplementStockByTime("2025-04-07 13:10:01", "2025-04-07 13:10:01");
passiveWarehouseReceiptToC.startImplementByCode("RH20250403000841", "stock"); //情况一
// passiveWarehouseReceiptToC.startImplementByCode("RH20250722000231", "stock");
//情况二
// passiveWarehouseReceiptToC.startImplementByCode("RH20250731000423", "tran");
//情况三
passiveWarehouseReceiptToC.startImplementByCode("RH20250731000613", "tran");
// passiveWarehouseReceiptToC.startImplementByCode("RH20250723000754", "tran");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -69,7 +69,7 @@ public class SoSaleReturnPluginInitializerToCTest {
try { try {
// soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-04-28 00:00:00", "2025-04-28 23:59:59", "0"); // soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-04-28 00:00:00", "2025-04-28 23:59:59", "0");
soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025070200000500", "tran"); soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072800000594", "tran");
// soSaleReturnPluginInitializerToC.startImplementStockByTime("2025-01-31 00:00:00", "2025-01-31 23:59:59", "0"); // soSaleReturnPluginInitializerToC.startImplementStockByTime("2025-01-31 00:00:00", "2025-01-31 23:59:59", "0");

View File

@ -64,29 +64,53 @@ public class OnlyAfterSalesBDto {
private String businessType; private String businessType;
//业务日期-退货完成时间或交易成功时间 //业务日期-退货完成时间或交易成功时间
@ExcelProperty(value = "O业务日期") @ExcelProperty(value = "O业务日期(关联时间或者交易成功时间,哪个晚取哪个)")
private String transactionDate; private String transactionDate;
//推送时间 //推送时间
@ExcelProperty(value = "O推送时间") @ExcelProperty(value = "O推送时间-红")
private String newPushDate; private String newPushDate;
//报错详情 //报错详情
@ExcelProperty(value = "O报错详情") @ExcelProperty(value = "O报错详情-红")
private String newTransmitInfo; private String newTransmitInfo;
//推送状态 //推送状态
@ExcelProperty(value = "O推送状态") @ExcelProperty(value = "O推送状态-红")
private String newState; private String newState;
//下游单号 //下游单号
@ExcelProperty(value = "O下游单号") @ExcelProperty(value = "O下游单号-红")
private String newsystemnumber; private String newsystemnumber;
//下游主键 //下游主键
@ExcelProperty(value = "O下游主键") @ExcelProperty(value = "O下游主键-红")
private String newsystemprimary; private String newsystemprimary;
//推送时间
@ExcelProperty(value = "O推送时间-蓝")
private String def8;
//报错详情
@ExcelProperty(value = "O报错详情-蓝")
private String def9;
//推送状态
@ExcelProperty(value = "O推送状态-蓝")
private String def10;
//下游单号
@ExcelProperty(value = "O下游单号-蓝")
private String def11;
//下游主键
@ExcelProperty(value = "O下游主键-蓝")
private String def12;
//情况类型
@ExcelProperty(value = "情况类型")
private String def7;
@ExcelProperty(value = "O计算应收") @ExcelProperty(value = "O计算应收")
private String def1; private String def1;

View File

@ -55,16 +55,31 @@ public class TocofsReturnGoodsDetailedDto {
//TOC退货-交易成功 开始 //TOC退货-交易成功 开始
@ExcelProperty(value = "O退款完成时间") @ExcelProperty(value = "O退款完成时间")
private String refundedAt; private String refundedAt;
@ExcelProperty(value = "交易成功-报错详情") @ExcelProperty(value = "交易成功-报错详情")
private String newTransmitInfo4; private String newTransmitInfo4;
@ExcelProperty(value = "交易成功-推送时间") @ExcelProperty(value = "交易成功-推送时间")
private String newPushDate4; private String newPushDate4;
@ExcelProperty(value = "交易成功-推送状态") @ExcelProperty(value = "交易成功-推送状态")
private String newState4; private String newState4;
@ExcelProperty(value = "交易成功-下游单号") @ExcelProperty(value = "交易成功-下游单号")
private String newSystemNumber4; private String newSystemNumber4;
@ExcelProperty(value = "交易成功-下游主键") @ExcelProperty(value = "交易成功-下游主键")
private String newSystemPrimary4; private String newSystemPrimary4;
@ExcelProperty(value = "交易成功蓝-报错详情")
private String def13;
@ExcelProperty(value = "交易成功蓝-推送时间")
private String def14;
@ExcelProperty(value = "交易成功蓝-推送状态")
private String def15;
@ExcelProperty(value = "交易成功蓝-下游单号")
private String def16;
@ExcelProperty(value = "交易成功蓝-下游主键")
private String def17;
//情况类型
@ExcelProperty(value = "情况类型")
private String def24;
//TOC退货-交易成功 结束 //TOC退货-交易成功 结束
//应收 开始 //应收 开始

View File

@ -127,6 +127,12 @@
,def4 ,def4
,def5 ,def5
,def6 ,def6
,def7
,def8
,def9
,def10
,def11
,def12
</sql> </sql>
<!-- 查询 采用==查询 --> <!-- 查询 采用==查询 -->

View File

@ -473,6 +473,14 @@
<result property="def10" column="def10" jdbcType="VARCHAR"/> <result property="def10" column="def10" jdbcType="VARCHAR"/>
<result property="def11" column="def11" jdbcType="VARCHAR"/> <result property="def11" column="def11" jdbcType="VARCHAR"/>
<result property="def12" column="def12" jdbcType="VARCHAR"/> <result property="def12" column="def12" jdbcType="VARCHAR"/>
<result property="def13" column="def13" jdbcType="VARCHAR"/>
<result property="def14" column="def14" jdbcType="VARCHAR"/>
<result property="def15" column="def15" jdbcType="VARCHAR"/>
<result property="def16" column="def16" jdbcType="VARCHAR"/>
<result property="def17" column="def17" jdbcType="VARCHAR"/>
<result property="def24" column="def24" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<!-- 查询 采用==查询适用toc --> <!-- 查询 采用==查询适用toc -->

View File

@ -77,6 +77,13 @@ public class RerturnGoodsOrderSearchDetails {
//售后订单表头 //售后订单表头
private RerturnGoodsOrderSearchHeader rerturnGoodsOrderSearchHeader; private RerturnGoodsOrderSearchHeader rerturnGoodsOrderSearchHeader;
//目标业务时间 //目标业务时间关联时间或者交易成功时间
private String targetBusinessDate; private String targetBusinessDate;
//时间类型标记
private String storageTimeStamp;
private String newState;
private String def10;
} }

View File

@ -1,5 +1,6 @@
package com.hzya.frame.ttxofs.dto.returngoodordersearch; package com.hzya.frame.ttxofs.dto.returngoodordersearch;
import com.hzya.frame.ttxofs.dto.passivestorage.PassiveStorageResponse;
import lombok.Data; import lombok.Data;
/** /**
@ -78,4 +79,8 @@ public class RerturnGoodsOrderSearchHeader {
private String saleDeptCode; private String saleDeptCode;
private String saleDeptName; private String saleDeptName;
private String saleTradeSuccessAt;//销售订单交易成功时间 private String saleTradeSuccessAt;//销售订单交易成功时间
private String storageTimeStamp;//时间类型标记
private PassiveStorageResponse.Data passiveStorageResponseData;//关联的无源入库单对象
} }