refactor(sales): 重构 markTimeInMorningEvening 方法

- 将方法返回类型从 List 修改为 void,移除了未使用的 filteredList 变量
- 添加了异常处理,确保日期转换和时间比较过程中的异常能够被捕获并抛出
- 优化了代码结构,提高了可读性和可维护性
This commit is contained in:
liuy 2025-08-13 14:37:25 +08:00
parent 02bc259d32
commit 4f863731a5
2 changed files with 42 additions and 38 deletions

View File

@ -3888,51 +3888,55 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
* *
* @author liuyang * @author liuyang
*/ */
public List<StockinOrderSearchResponse.StockinOrder> markTimeInMorningEvening(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) { public void markTimeInMorningEvening(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) throws Exception {
List<StockinOrderSearchResponse.StockinOrder> filteredList = null; // List<StockinOrderSearchResponse.StockinOrder> filteredList = null;
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) { try {
for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) { if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList1.get(i); for (int i = 0; i < returnGoodHeaderDetailsDataDtoList1.size(); i++) {
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList1.get(i);
List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails(); StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto(); List<StockinOrderSearchResponse.StockinOrder.StockinB> details = stockinOrder.getDetails();
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header1 = headerDetailsDto.getHeader(); 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 closedAt = header.getClosedAt();
String tradeSuccessAt = header1.getTradeSuccessAt(); String tradeSuccessAt = header1.getTradeSuccessAt();
Assert.notNull(closedAt, "关单时间不能为空!"); Assert.notNull(closedAt, "关单时间不能为空!");
//存在交易成功时间 //存在交易成功时间
String storageTimeStamp = null; String storageTimeStamp = null;
if (tradeSuccessAt != null && !"".equals(tradeSuccessAt)) { if (tradeSuccessAt != null && !"".equals(tradeSuccessAt)) {
Date closedAtDate; Date closedAtDate;
Date tradeSuccessAtDate; Date tradeSuccessAtDate;
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT); SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
try { try {
closedAtDate = sdf.parse(closedAt); closedAtDate = sdf.parse(closedAt);
tradeSuccessAtDate = sdf.parse(tradeSuccessAt); tradeSuccessAtDate = sdf.parse(tradeSuccessAt);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException("字符串转日期失败 错误:" + e.getMessage()); throw new RuntimeException("字符串转日期失败 错误:" + e.getMessage());
} }
//2.有交易成功时间且退货入库时间早于交易完成时间️这里是正向的交易完成时间 //2.有交易成功时间且退货入库时间早于交易完成时间️这里是正向的交易完成时间
if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) { if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) {
storageTimeStamp = "2"; storageTimeStamp = "2";
} else {
//3.有交易成功时间且退货入库时间晚于交易成功时间
storageTimeStamp = "3";
}
} else { } else {
//3.有交易成功时间且退货入库时间晚于交易成功时间 storageTimeStamp = "1";
storageTimeStamp = "3"; }
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;
} }
/** /**

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-RE2025072800000594", "stock"); soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072700000824", "stock");
// 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");