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
*/
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;
}
/**

View File

@ -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");