diff --git a/.idea/libraries/Maven__com_fastreport_fastreport_1_0_0.xml b/.idea/libraries/Maven__com_fastreport_fastreport_1_0_0.xml deleted file mode 100644 index 90daabcd6..000000000 --- a/.idea/libraries/Maven__com_fastreport_fastreport_1_0_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/emis-biz-web/emis-biz-web.iml b/emis-biz-web/emis-biz-web.iml index ba182f7a8..a276c5fb4 100644 --- a/emis-biz-web/emis-biz-web.iml +++ b/emis-biz-web/emis-biz-web.iml @@ -250,6 +250,5 @@ - \ No newline at end of file diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsScanRecordController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsScanRecordController.java index 04f25d974..47ff9c6d8 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsScanRecordController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsScanRecordController.java @@ -88,6 +88,8 @@ public class EmisTmsScanRecordController extends EmisBaseController setPrivParams(emisTmsScanRecord); emisTmsScanRecord.getParams().put("thisSiteCode",getLoginUser().getUser().getOwnerSiteCode()); + + List list = emisTmsScanRecordService.queryScanStatList(emisTmsScanRecord); return getDataTable(list); } diff --git a/emis-biz/emis-biz.iml b/emis-biz/emis-biz.iml index e4ac2d4ed..9ada56a33 100644 --- a/emis-biz/emis-biz.iml +++ b/emis-biz/emis-biz.iml @@ -209,6 +209,5 @@ - \ No newline at end of file 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 3ac9c5e82..1457f42e9 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 @@ -453,7 +453,23 @@ public class EmisBaseService { waybill.setProblemDelayDays(emisProblemType.getDelayDay()); // 重新计算预估时间 + EmisWaybill oldEmisWaybill=getWaybillByBillCode(billCode); + Date oldEstDate=oldEmisWaybill.getEstimateDate(); + Date currentTime=new Date(); + Date startDate=oldEmisWaybill.getSendDate(); + // 如果当前时间已经超过当前预估时间需要使用当前时间 + if(currentTime.getTime()>oldEstDate.getTime()){ + startDate=currentTime; + } + + // 开单当天不算时效 + Date newEstDate = getEstimateDate( + startDate,oldEmisWaybill.getProductType(), + oldEmisWaybill.getSendCountry(), + oldEmisWaybill.getReceiveCountry(),emisProblemType.getDelayDay()); + + waybill.setEstimateDate(newEstDate); waybill.preUpdate(); emisWaybillMapper.updateProblemStatus(waybill); @@ -1220,9 +1236,12 @@ public class EmisBaseService { * @param sendCountry * @return */ - public Date getEstimateDate(Date sendDate,String prodCode,String receiveCountry,String sendCountry) { + public Date getEstimateDate(Date sendDate,String prodCode,String receiveCountry,String sendCountry,Integer otherAddDay) { Date estDate = null; + if(otherAddDay==null){ + otherAddDay=0; + } // 发件时间+1天,从下一天的0点开始算 sendDate = DateUtils.addDays(sendDate,1); @@ -1240,7 +1259,7 @@ public class EmisBaseService { EmisTransProduct emisTransProduct = getTransProductByCode(prodCode); // 预估到达时间 startData+最大时效 - Date endDate = DateUtils.addDays(startDate, emisTransProduct.getMaxAging()-1); + Date endDate = DateUtils.addDays(startDate, emisTransProduct.getMaxAging()+otherAddDay-1); // 计算周末 int weekDays = computeWeekDays(startDate,endDate,true); @@ -1253,7 +1272,7 @@ public class EmisBaseService { endDate); // 1+1+ - int totalDays=(emisTransProduct.getMaxAging()-1)+weekDays+notCaclDays; + int totalDays=(emisTransProduct.getMaxAging()+otherAddDay-1)+weekDays+notCaclDays; log.info("计算预估到达时间:[maxAging="+emisTransProduct.getMaxAging()+",weekDays="+weekDays+",notCaclDays="+notCaclDays); // 预估达到时间 return DateUtils.addDays(startDate, totalDays); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 57e2130e9..2a0eaa4b8 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -512,7 +512,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb Date estDate = getEstimateDate( emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(), emisWaybillSave.getSendCountry(), - emisWaybillSave.getReceiveCountry()); + emisWaybillSave.getReceiveCountry(),0); // 预计到达时间 log.info("预估到达时间==>"+ DateUtils.dateTime(estDate)); diff --git a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml index 5d7129901..bc11ef420 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml @@ -112,16 +112,27 @@ and scan_type=#{params.thisSiteScanType} - - and scan_site_code=#{params.thisSiteCode} + + and ( + scan_site_code in ( + SELECT t1.site_code FROM ( + SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := + #{params.privSiteCode} ) pd + WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) + UNION + SELECT #{params.privSiteCode} FROM dual + ) + ) - - GROUP BY scan_site_code asc + + + + @@ -144,9 +155,17 @@ and scan_date #{params.endScanDate} - - and bill_code in( - select bill_code from emis_tms_scan_record where scan_site_code=#{params.thisSiteCode} and scan_type=#{params.thisSiteScanType} + + + and ( + scan_site_code in ( + SELECT t1.site_code FROM ( + SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := + #{params.privSiteCode} ) pd + WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) + UNION + SELECT #{params.privSiteCode} FROM dual + ) ) diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index f3207aa2b..655866d86 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -1090,7 +1090,8 @@ bl_is_question = '1', problem_type = #{problemType}, problem_cause = #{problemCause}, - problem_delay_days = #{problemDelayDays} + problem_delay_days = #{problemDelayDays}, + estimate_date = #{estimateDate} ,update_by = #{updateBy} ,update_site = #{updateSite}