diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 689a5519e..503f6f450 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -1460,7 +1460,7 @@ public class EmisWaybillController extends EmisBaseController // 23:59:59未签收,且在emis_waybill_problem_info表内的所有运单信息 // 重新计算并更新预估到达时间 String beginDate = "2025-08-01 00:00:00"; - String endDate = "2025-09-03 23:59:59"; + String endDate = "2025-09-05 23:59:59"; // 构建查询条件 EmisWaybill queryWaybill = new EmisWaybill(); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 94f34ba18..38025556f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -4104,20 +4104,22 @@ public class EmisBaseService { /** * 计算预估到达时间,根据产品时效来计算 - * @param sendDate 开单时间 + * + * @param sendDate 开单时间 * @param prodCode * @param receiveCountry * @param sendCountry * @return */ - public Date getEstimateDate(Date sendDate,String prodCode,String receiveCountry,String sendCountry,Integer otherAddDay) { + public Date getEstimateDate(Date sendDate, String prodCode, String receiveCountry, String sendCountry, + Integer otherAddDay) { Date estDate = null; - if(otherAddDay==null){ - otherAddDay=0; + if (otherAddDay == null) { + otherAddDay = 0; } // 发件时间+1天,从下一天的0点开始算 - sendDate = DateUtils.addDays(sendDate,1); + sendDate = DateUtils.addDays(sendDate, 1); // 初始化0点时间 Calendar calendar = Calendar.getInstance(); @@ -4127,35 +4129,36 @@ public class EmisBaseService { calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MILLISECOND, 0); - Date startDate=calendar.getTime(); + Date startDate = calendar.getTime(); // 获取产品最大时效 EmisTransProduct emisTransProduct = getTransProductByCode(prodCode); // 预估到达时间 startData+最大时效 - Date endDate = DateUtils.addDays(startDate, emisTransProduct.getMaxAging()+otherAddDay-1); + Date endDate = DateUtils.addDays(startDate, emisTransProduct.getMaxAging() + otherAddDay - 1); // 计算周末 - int weekDays = computeWeekDays(startDate,endDate,true); + int weekDays = computeWeekDays(startDate, endDate, true); // 计算不计较时效的时间 - int notCaclDays=emisNotCalcAgingMapper.getNotCalcAgingDays( + int notCaclDays = emisNotCalcAgingMapper.getNotCalcAgingDays( receiveCountry, sendCountry, startDate, endDate); - // 1+1+ 5+0-1+2+0 - int totalDays=(emisTransProduct.getMaxAging()+otherAddDay-1)+weekDays+notCaclDays; - log.info("计算预估到达时间:[maxAging="+emisTransProduct.getMaxAging()+",weekDays="+weekDays+",notCaclDays="+notCaclDays); + // 1+1+ 5+0-1+2+0 + int totalDays = (emisTransProduct.getMaxAging() + otherAddDay - 1) + weekDays + notCaclDays; + log.info("计算预估到达时间:[maxAging=" + emisTransProduct.getMaxAging() + ",weekDays=" + weekDays + ",notCaclDays=" + + notCaclDays); // 预估达到时间 Date estimateDate = DateUtils.addDays(startDate, totalDays); - // 判断预估到达时间是否为周末,如果是周末则往后加一天 + // 判断预估到达时间是否为周日,如果是周日则往后加一天 Calendar cal = Calendar.getInstance(); cal.setTime(estimateDate); int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); - if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) { + if (dayOfWeek == Calendar.SUNDAY) { estimateDate = DateUtils.addDays(estimateDate, 1); }