refactor(sales): 重构 markTimeInMorningEvening 方法
- 将方法返回类型从 List 修改为 void,移除了未使用的 filteredList 变量 - 添加了异常处理,确保日期转换和时间比较过程中的异常能够被捕获并抛出 - 优化了代码结构,提高了可读性和可维护性
This commit is contained in:
parent
02bc259d32
commit
4f863731a5
|
@ -3888,51 +3888,55 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
public List<StockinOrderSearchResponse.StockinOrder> markTimeInMorningEvening(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) {
|
||||
List<StockinOrderSearchResponse.StockinOrder> filteredList = null;
|
||||
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
||||
for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) {
|
||||
StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList1.get(i);
|
||||
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
|
||||
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
|
||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = headerDetailsDto.getHeader();
|
||||
public void markTimeInMorningEvening(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) throws Exception {
|
||||
// List<StockinOrderSearchResponse.StockinOrder> filteredList = null;
|
||||
try {
|
||||
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
||||
for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) {
|
||||
StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList1.get(i);
|
||||
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
|
||||
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
|
||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = headerDetailsDto.getHeader();
|
||||
|
||||
String closedAt = header.getClosedAt();
|
||||
String tradeSuccessAt = header1.getTradeSuccessAt();
|
||||
Assert.notNull(closedAt, "关单时间不能为空!");
|
||||
String closedAt = header.getClosedAt();
|
||||
String tradeSuccessAt = header1.getTradeSuccessAt();
|
||||
Assert.notNull(closedAt, "关单时间不能为空!");
|
||||
|
||||
//存在交易成功时间
|
||||
String storageTimeStamp = null;
|
||||
if (tradeSuccessAt != null && !"".equals(tradeSuccessAt)) {
|
||||
Date closedAtDate;
|
||||
Date tradeSuccessAtDate;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
|
||||
try {
|
||||
closedAtDate = sdf.parse(closedAt);
|
||||
tradeSuccessAtDate = sdf.parse(tradeSuccessAt);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("字符串转日期失败 错误:" + e.getMessage());
|
||||
}
|
||||
//存在交易成功时间
|
||||
String storageTimeStamp = null;
|
||||
if (tradeSuccessAt != null && !"".equals(tradeSuccessAt)) {
|
||||
Date closedAtDate;
|
||||
Date tradeSuccessAtDate;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
|
||||
try {
|
||||
closedAtDate = sdf.parse(closedAt);
|
||||
tradeSuccessAtDate = sdf.parse(tradeSuccessAt);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("字符串转日期失败 错误:" + e.getMessage());
|
||||
}
|
||||
|
||||
//2.有交易成功时间,且退货入库时间早于交易完成时间(⚠️这里是正向的交易完成时间)
|
||||
if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) {
|
||||
storageTimeStamp = "2";
|
||||
//2.有交易成功时间,且退货入库时间早于交易完成时间(⚠️这里是正向的交易完成时间)
|
||||
if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) {
|
||||
storageTimeStamp = "2";
|
||||
} else {
|
||||
//3.有交易成功时间,且退货入库时间晚于交易成功时间
|
||||
storageTimeStamp = "3";
|
||||
}
|
||||
} else {
|
||||
//3.有交易成功时间,且退货入库时间晚于交易成功时间
|
||||
storageTimeStamp = "3";
|
||||
storageTimeStamp = "1";
|
||||
}
|
||||
header.setStorageTimeStamp(storageTimeStamp);
|
||||
for (int j = 0; j < details.size(); j++) {
|
||||
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
||||
stockinB.setStorageTimeStamp(storageTimeStamp);
|
||||
}
|
||||
} else {
|
||||
storageTimeStamp = "1";
|
||||
}
|
||||
header.setStorageTimeStamp(storageTimeStamp);
|
||||
for (int j = 0; j < details.size(); j++) {
|
||||
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
||||
stockinB.setStorageTimeStamp(storageTimeStamp);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("判断时间早晚抛出异常 错误:" + e.getMessage());
|
||||
}
|
||||
return filteredList;
|
||||
// return filteredList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -69,7 +69,7 @@ public class SoSaleReturnPluginInitializerToCTest {
|
|||
try {
|
||||
// soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-04-28 00:00:00", "2025-04-28 23:59:59", "0");
|
||||
|
||||
soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072800000594", "stock");
|
||||
soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072700000824", "stock");
|
||||
|
||||
// soSaleReturnPluginInitializerToC.startImplementStockByTime("2025-01-31 00:00:00", "2025-01-31 23:59:59", "0");
|
||||
|
||||
|
|
Loading…
Reference in New Issue