refactor(sales): 重构销售出库单相关代码

-优化了生成业务日期的逻辑,使用交易成功时间作为业务日期- 调整了主键和业务日期的生成逻辑
- 修改了日志输出内容,使用更准确的时间字段
- 注释掉了不必要的代码片段
- 更新了测试用例中的订单编号
This commit is contained in:
liuy 2025-01-15 17:22:59 +08:00
parent 7c7f15152d
commit 1ebadb2b57
5 changed files with 19 additions and 11 deletions

View File

@ -1352,6 +1352,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
* 2024年9月4日 14:46:28
* 生成业务日期以交易成功时间作为业务日期
*
* @param header 销售出库单表头
* @param sonDetailsDto 销售出库单明细行
* @author liuyang
*/
private String createGenerateBusinessDateTran(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header, SonDetailsDto sonDetailsDto) {
@ -1365,6 +1367,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
if (sonDetailsDto != null && sonDetailsDto.getId() != null) {
detailedId = sonDetailsDto.getId();
}
//注意取明细行的交易成功时间
if (sonDetailsDto != null && sonDetailsDto.getTradeSuccessAt() != null) {
//TOC以出库日期作为业务日期
String tradeSuccessAt = sonDetailsDto.getTradeSuccessAt();
@ -2121,6 +2124,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
*/
private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsSaleoutDetailedEntity tocofsSaleoutDetailedEntity, DetailsDto detailsDto) {
if (tocofsSaleoutDetailedEntity != null && detailsDto != null && detailsDto.getHeaderDto() != null) {
//销售出库单表头
HeaderDto headerDto = detailsDto.getHeaderDto();
if (headerDto.getId() != null) {
@ -2129,9 +2133,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
if (headerDto.getShipAt() != null) {
tocofsSaleoutDetailedEntity.setBusinessdate(headerDto.getShipAt());//业务日期-出库时间
}
if (headerDto.getTradeSuccessAt() != null) {
tocofsSaleoutDetailedEntity.setSuccessfultradedate(headerDto.getTradeSuccessAt());//业务日期-交易时间
}
// if (headerDto.getTradeSuccessAt() != null) {
// tocofsSaleoutDetailedEntity.setSuccessfultradedate(headerDto.getTradeSuccessAt());//业务日期-交易时间
// }
tocofsSaleoutDetailedEntity.setBusinesstype("TOC_ORDER");//业务类型
} else {
logger.info("createPrimaryKeyAndBusinessDateAndBusinessType方法存在false");
@ -2483,7 +2487,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
Assert.state(false, "无法判断的业务类型");
}
} else {
logger.info("交易成功-红 业务日期:{} 汇总维度:{} 已经推送成功,不需要重新推送", header.getTradeSuccessAt(), keyGroup);
logger.info("交易成功-红 业务日期:{} 汇总维度:{} 已经推送成功,不需要重新推送", oldValue.get(0).getTradeSuccessAt(), keyGroup);
}
isOneSuccess = true;
} catch (Exception e) {
@ -2763,7 +2767,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
}
logger.info("结束第二阶段:销售订单 ->(自动生成) 销售出库单 ->(自动生成) 销售发票");
} else {
logger.info("交易成功-蓝 业务日期:{} 汇总维度:{}", header.getTradeSuccessAt(), keyGroup);
logger.info("交易成功-蓝 业务日期:{} 汇总维度:{}", oldValue.get(0).getTradeSuccessAt(), keyGroup);
}
}
} else {

View File

@ -118,7 +118,7 @@ class SoSaleOutPluginInitializerToCTest {
// soSaleOutPluginInitializerToC.startImplementStockByCode(aaa, "tran");
// String aaa = "LETS-SH2024102800021196";
soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-13 11:30:41", "2024-11-13 11:30:41", "0");
// soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-13 11:30:41", "2024-11-13 11:30:41", "0");
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-12-24 21:53:57", "2024-12-24 21:53:57", "2");
} catch (Exception e) {
@ -129,7 +129,7 @@ class SoSaleOutPluginInitializerToCTest {
try {
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110200030366", "stock");
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024121200024676", "tran");
soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2025010100023112", "tran");
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024111700013756", "tran");
} catch (Exception e) {

View File

@ -47,7 +47,7 @@ public class SoSaleReturnPluginInitializerToCTest {
try {
// soSaleReturnPluginInitializerToC.startImplementByTradeTime("2024-12-23 23:05:34", "2024-12-23 23:05:34", "2");
soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2024122800000272", "stock");
soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2024122800000084", "stock");
// soSaleReturnPluginInitializerToC.startImplementStockByTime("2024-12-24 16:02:17", "2024-12-24 16:02:17", "0");

View File

@ -67,8 +67,10 @@ public class TocofsSaleoutDetailedDto {
//库存 结束
//交易红 开始
// @ExcelProperty(value = "交易-O交易成功时间")
// private String successfulTradeDate;
@ExcelProperty(value = "交易-O交易成功时间")
private String successfulTradeDate;
private String tradeSuccessAt;
@ExcelProperty(value = "交易红-推送状态")
private String newstate2;

View File

@ -440,6 +440,7 @@
<result property="newsystemprimary3" column="newSystemPrimary3" jdbcType="VARCHAR"/>
<result property="businessDate" column="businessDate" jdbcType="VARCHAR"/>
<result property="successfulTradeDate" column="successfulTradeDate" jdbcType="VARCHAR"/>
<result property="tradeSuccessAt" column="tradeSuccessAt" jdbcType="VARCHAR"/>
<result property="def7" column="def7" jdbcType="VARCHAR"/>
<result property="def8" column="def8" jdbcType="VARCHAR"/>
@ -530,6 +531,7 @@
,a.businessDate
,a.successfulTradeDate
,a.businessType
,a.tradeSuccessAt
,a.def1
,a.def2
,a.def3
@ -683,10 +685,10 @@
and a.businessDate &lt;= #{businessdate_end}
</if>
<if test="successfultradedate_start!=null and successfultradedate_start!=''">
and a.successfulTradeDate >= #{successfultradedate_start}
and a.tradeSuccessAt >= #{successfultradedate_start}
</if>
<if test="successfultradedate_end!=null and successfultradedate_end!=''">
and a.successfulTradeDate &lt;= #{successfultradedate_end}
and a.tradeSuccessAt &lt;= #{successfultradedate_end}
</if>
<if test="headCode!=null and headCode!=''">
and b.code = #{headCode}