Эх сурвалжийг харах

审计咨询意见单和万盛计量保证金比例更改

DengLinLang 8 сар өмнө
parent
commit
0191ef7181

+ 36 - 19
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -2214,6 +2214,12 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
    }
     @Override
     public List<ReportResult> execute4(Long reportId,Long contractId, Long periodId, Integer type,Long projectId) throws FileNotFoundException, IllegalAccessException {
+        //获取当前合同段保证金比例
+        String sqlForRatio = "select bl_reserve_funds_ratio from s_meter_contract_info where contract_id = '"+contractId+"' and is_deleted = 0";
+        BigDecimal blReserveFundsRatio = jdbcTemplate.queryForObject(sqlForRatio, BigDecimal.class);
+        BigDecimal blReserveFundsRatioNew = (new BigDecimal(100).subtract(blReserveFundsRatio).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+
         Long redisId = SnowFlakeUtil.getId();
         //判断计算的是哪一期。
         String sql="Select * from s_contract_meter_period where contract_id="+contractId+" and is_deleted=0"+" order by start_date";
@@ -2262,11 +2268,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         // 获取中期支付报表封面的pdfurl
         ReportResult CoverOfMidtermPaymentReportPDF = getCoverOfMidtermPaymentReportPDF(url,contractId,periodId,htmlUrl);
         //获取中间支付审核表的pdfurl
-        ReportResult intermediatePaymentPDF = getIntermediatePaymentPDF(url1,contractId,periodId,list,redisId,htmlUrl1);
+        ReportResult intermediatePaymentPDF = getIntermediatePaymentPDF(url1,contractId,periodId,list,redisId,htmlUrl1,blReserveFundsRatioNew);
         //获取补助款申请支付审核表pdfUrl
-        ReportResult subsidyApplicationPaymentReviewPDF = getSubsidyApplicationPaymentReviewPDF(url2,contractId,periodId,list,htmlUrl2);
+        ReportResult subsidyApplicationPaymentReviewPDF = getSubsidyApplicationPaymentReviewPDF(url2,contractId,periodId,list,htmlUrl2,blReserveFundsRatioNew);
         //获取中间计量支付证书pdfUrl
-        ReportResult intermediateMeasurementPaymentCertificatePDF = getIntermediateMeasurementPaymentCertificatePDF(url3,contractId,periodId,list,htmlUrl3);
+        ReportResult intermediateMeasurementPaymentCertificatePDF = getIntermediateMeasurementPaymentCertificatePDF(url3,contractId,periodId,list,htmlUrl3,blReserveFundsRatioNew);
         //获取清单支付报表PDF
         ReportResult inventoryPayReportPDF=getInventoryPayReportPDF(url6,contractId,periodId,projectId,list,redisId,htmlUrl6);
         //获取工程支付月报pdfUrl
@@ -2319,20 +2325,24 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             Cell d4 = getCellByAddress(sheet, "D4");
             d4.setCellValue(periodNumber);
 
+            //日期
+            Cell c11 = getCellByAddress(sheet, "C11");
+            c11.setCellValue(endDate.toString());
 
             if(ObjectUtil.isNotEmpty(contractId)){
+                CellStyle cellStyle = c11.getCellStyle();
                 //获取合同段信息
                 ContractInfo contractInfo = getContractInfo(contractId);
                 //施工单位
                 Cell c9 = getCellByAddress(sheet, "C9");
+                c9.setCellStyle(cellStyle);
                 c9.setCellValue(contractInfo.getConstructionUnitName());
                 //监理单位
                 Cell c10 = getCellByAddress(sheet, "C10");
+                c10.setCellStyle(cellStyle);
                 c10.setCellValue(contractInfo.getContractorUnitName());
             }
-            //日期
-            Cell c11 = getCellByAddress(sheet, "C11");
-            c11.setCellValue(endDate.toString());
+
 
             for (Sheet sheet1 : workbook) {
                 for (Row row : sheet1) {
@@ -2376,7 +2386,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     /**
      *中间计量支付证书获取PDFurl
      */
-    private ReportResult getIntermediateMeasurementPaymentCertificatePDF(String url3, Long contractId, Long periodId, List<ContractMeterPeriod> list,String htmlUrl) {
+    private ReportResult getIntermediateMeasurementPaymentCertificatePDF(String url3, Long contractId, Long periodId, List<ContractMeterPeriod> list,String htmlUrl,BigDecimal blReserveFundsRatioNew) {
         //判断当前是否是第一期
         Boolean isOnePeriod = false;
         ContractMeterPeriod contractMeterPeriod = list.get(0);
@@ -2412,7 +2422,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             if(isOnePeriod){
                 lastEndMeasurement = "0";
             }else {
-                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney);
+                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney,blReserveFundsRatioNew);
                 lastEndPay = lastEndData.get("lastEndPay");
                 lastEndDeduct = lastEndData.get("lastEndDeduct");
                 allMoney = lastEndData.get("allMoney");
@@ -2421,7 +2431,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                     "WHERE contract_id = '"+contractId+"' and contract_period_id = "+contractMeterPeriodNowId;*/
             BigDecimal AllcurrentMeterTotal = getCurrentMeter(contractId, periodId, jdbcTemplate);
             //------------------------------------------------------------同意本期支付工程款------------------------------------------------------------
-            BigDecimal currentPay = AllcurrentMeterTotal.multiply(new BigDecimal(0.75)).setScale(0, BigDecimal.ROUND_HALF_UP);
+            BigDecimal currentPay = AllcurrentMeterTotal.multiply(blReserveFundsRatioNew).setScale(0, BigDecimal.ROUND_HALF_UP);
             //小写
             Cell c7 = getCellByAddress(sheet, "C7");
             c7.setCellValue(currentPay.toString());
@@ -2497,7 +2507,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     /**
      *补助款申请支付审核表获取PDFurl
      */
-    private ReportResult getSubsidyApplicationPaymentReviewPDF(String url2, Long contractId, Long periodId, List<ContractMeterPeriod> list,String htmlUrl) {
+    private ReportResult getSubsidyApplicationPaymentReviewPDF(String url2, Long contractId, Long periodId, List<ContractMeterPeriod> list,String htmlUrl,BigDecimal blReserveFundsRatioNew) {
         //判断当前是否是只有1期计量
         Boolean isOnePeriod = false;
         ContractMeterPeriod contractMeterPeriod = list.get(0);
@@ -2542,7 +2552,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             if(isOnePeriod){
                 lastEndMeasurement = "0";
             }else {
-                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney);
+                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney,blReserveFundsRatioNew);
                 lastEndPay = lastEndData.get("lastEndPay");
                 lastEndDeduct = lastEndData.get("lastEndDeduct");
                 allMoney = lastEndData.get("allMoney");
@@ -2564,7 +2574,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             Cell h6 = getCellByAddress(sheet, "H6");
             h6.setCellValue(allMoneyNow.toString());
             //------------------------------------------------------------本期支付金额------------------------------------------------------------
-            BigDecimal currentPay = AllcurrentMeterTotal.multiply(new BigDecimal(0.75)).setScale(0, BigDecimal.ROUND_HALF_UP);
+            BigDecimal currentPay = AllcurrentMeterTotal.multiply(blReserveFundsRatioNew).setScale(0, BigDecimal.ROUND_HALF_UP);
             Cell i6 = getCellByAddress(sheet, "I6");
             i6.setCellValue(currentPay.toString());
             //------------------------------------------------------------本期末累计支付金额------------------------------------------------------------
@@ -2573,8 +2583,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             Cell k6 = getCellByAddress(sheet, "K6");
             k6.setCellValue(endPay.toString());
             //------------------------------------------------------------支付比例------------------------------------------------------------
+            BigDecimal multiply = blReserveFundsRatioNew.multiply(BigDecimal.valueOf(100));
             Cell m6 = getCellByAddress(sheet, "M6");
-            m6.setCellValue("75.00%");
+            m6.setCellValue(multiply+"%");
 
 
 
@@ -2706,7 +2717,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     /**
      * 中间支付审核表获取PDFurl
      */
-    public ReportResult  getIntermediatePaymentPDF(String url,Long contractId,Long periodId,List<ContractMeterPeriod> list,Long redisId,String htmlUrl) {
+    public ReportResult  getIntermediatePaymentPDF(String url,Long contractId,Long periodId,List<ContractMeterPeriod> list,Long redisId,String htmlUrl,BigDecimal blReserveFundsRatioNew) {
         //判断当前是否是只有1期计量
         Boolean isOnePeriod = false;
         ContractMeterPeriod contractMeterPeriod1 = list.get(0);
@@ -2805,7 +2816,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             if(isOnePeriod){
                 lastEndMeasurement = "0";
             }else {
-                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney);
+                HashMap<String, BigDecimal> lastEndData = getLastEndData(list, startDate, contractId, lastEndPay, lastEndDeduct, allMoney,blReserveFundsRatioNew);
                 lastEndPay = lastEndData.get("lastEndPay");
                 lastEndDeduct = lastEndData.get("lastEndDeduct");
                 allMoney = lastEndData.get("allMoney");
@@ -2827,8 +2838,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             Cell g7 = getCellByAddress(sheet, "G7");
             g7.setCellValue(endMoney.toString());
             //------------------------------------------------------------本期支付------------------------------------------------------------
-            //本期计量 * 0.75
-            BigDecimal currentPay = AllcurrentMeterTotal.multiply(new BigDecimal(0.75)).setScale(0, BigDecimal.ROUND_HALF_UP);
+            //本期计量 *blReserveFundsRatioNew
+            BigDecimal currentPay = AllcurrentMeterTotal.multiply(blReserveFundsRatioNew).setScale(0, BigDecimal.ROUND_HALF_UP);
             Cell i7 = getCellByAddress(sheet, "I7");
             i7.setCellValue(currentPay.toString());
             //------------------------------------------------------------本期末累计支付------------------------------------------------------------
@@ -2950,7 +2961,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
      * @return
      */
 
-    public HashMap<String,BigDecimal> getLastEndData(List<ContractMeterPeriod> list,LocalDate startDate,Long contractId,BigDecimal lastEndPay, BigDecimal lastEndDeduct ,BigDecimal allMoney){
+    public HashMap<String,BigDecimal> getLastEndData(List<ContractMeterPeriod> list,LocalDate startDate,Long contractId,BigDecimal lastEndPay, BigDecimal lastEndDeduct ,BigDecimal allMoney,BigDecimal blReserveFundsRatioNew){
         //根据开始时间获取当前计量期之前的所有计量期
         List<Long> lastAllPeriodIds = list.stream().filter(item -> item.getStartDate().isBefore(startDate)).map(ContractMeterPeriod::getId).collect(Collectors.toList());
         //获取之前所有计量期的本期计量之和=上期末累计计量
@@ -2989,7 +3000,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 money =  money.add(sum.multiply(contractInventoryFormNow.getCurrentPrice()).setScale(0, BigDecimal.ROUND_HALF_UP));
             }
             //本期支付
-            BigDecimal nowPeriodPay = money.multiply(new BigDecimal(0.75)).setScale(0, BigDecimal.ROUND_HALF_UP);
+            BigDecimal nowPeriodPay = money.multiply(blReserveFundsRatioNew).setScale(0, BigDecimal.ROUND_HALF_UP);
             //上期末累计支付
             lastEndPay = lastEndPay.add(nowPeriodPay);
             //上期末累计扣取保留金
@@ -3381,14 +3392,17 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 //项目名称
                 Cell b3 = getCellByAddress(sheet, "B3");
                 b3.setCellValue(projectName);
+                CellStyle cellStyle = b3.getCellStyle();
                 //合同号
                 Cell b4 = getCellByAddress(sheet, "B4");
                 b4.setCellValue(contractInfo.getContractNumber());
                 //承包单位
                 Cell g3 = getCellByAddress(sheet, "G3");
+                g3.setCellStyle(cellStyle);
                 g3.setCellValue(contractInfo.getConstructionUnitName());
                 //监理单位
                 Cell g4 = getCellByAddress(sheet, "G4");
+                g4.setCellStyle(cellStyle);
                 g4.setCellValue(contractInfo.getSupervisionUnitName());
                 //截至时间
                 Cell m_3 = getCellByAddress(sheet, "M3");
@@ -3683,14 +3697,17 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                     //项目名称
                                     Cell b3=getCellByAddress(sheet,"B3");
                                     b3.setCellValue(projectName);
+                                    CellStyle cellStyle = b3.getCellStyle();
                                     //合同号
                                     Cell b4=getCellByAddress(sheet,"B4");
                                     b4.setCellValue(contractInfo.getContractNumber());
                                     //承包单位
                                     Cell l3=getCellByAddress(sheet,"L3");
+                                    l3.setCellStyle(cellStyle);
                                     l3.setCellValue(contractInfo.getConstructionUnitName());
                                     //监理单位
                                     Cell l4=getCellByAddress(sheet,"L4");
+                                    l4.setCellStyle(cellStyle);
                                     l4.setCellValue(contractInfo.getSupervisionUnitName());
                                 }
 

+ 76 - 10
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -38,7 +38,10 @@ import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCell;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCells;
-import org.springblade.business.entity.*;
+import org.springblade.business.entity.FixedFlow;
+import org.springblade.business.entity.FixedFlowLink;
+import org.springblade.business.entity.Task;
+import org.springblade.business.entity.TaskParallel;
 import org.springblade.business.feign.TaskClient;
 import org.springblade.common.constant.ClientIdConstant;
 import org.springblade.common.constant.CommonConstant;
@@ -46,7 +49,6 @@ import org.springblade.common.constant.EVisaConstant;
 import org.springblade.common.utils.BaseUtils;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
-import org.springblade.common.vo.DataVO;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseService;
@@ -55,8 +57,8 @@ import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.*;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.*;
 import org.springblade.evisa.feign.EVisaClient;
 import org.springblade.evisa.vo.SealPdfVO;
 import org.springblade.evisa.vo.SealStrategyVO;
@@ -1064,8 +1066,12 @@ public class TaskController extends BladeController {
             params.add(dto.getTypeValue());
         }
         if (ObjectUtil.isNotEmpty(dto.getStatusValue())) {
-            sqlString.append(" AND status = ?");
-            params.add(dto.getStatusValue());
+            if(dto.getStatusValue() .equals(4) ){//可审批----先查询出所有待审批的 然后根据条件进行过滤出任务已经到当前登陆人的任务为可审批
+                sqlString.append(" AND status = 1");
+            }else {
+                sqlString.append(" AND status = ?");
+                params.add(dto.getStatusValue());
+            }
         }
         if (ObjectUtil.isNotEmpty(dto.getBatchValue())) {
             sqlString.append(" AND batch = ?");
@@ -1084,8 +1090,8 @@ public class TaskController extends BladeController {
             sqlString.append(" AND (");
             if (dto.getSelectedType().equals(1)) { //待办页面
 
-                /*如果是待办页面,且 任务状态下拉框 选择的是 待审批状态 的任务,那么才查询数据*/
-                if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && dto.getStatusValue().equals(1)) {
+                /*如果是待办页面,且 任务状态下拉框 选择的是 待审批或可审批状态 的任务,那么才查询数据*/
+                if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && (dto.getStatusValue().equals(1) || dto.getStatusValue().equals(4))) {
                     sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ?)");
                     params.add(1);
                     params.add(SecureUtil.getUserId());
@@ -1142,6 +1148,44 @@ public class TaskController extends BladeController {
         /*获取预设流程Map*/
         Map<Long, String> flowMap = jdbcTemplate.query("select id,fixed_flow_name from u_fixed_flow where is_deleted = 0 and contract_id = "+dto.getContractId(), new BeanPropertyRowMapper<>(FixedFlow.class)).stream().collect(Collectors.toMap(FixedFlow::getId, FixedFlow::getFixedFlowName, (key1, key2) -> key1));
 
+        if(ObjectUtil.isNotEmpty(dto.getStatusValue()) && dto.getStatusValue() .equals(4) ){
+            //获取当前用户id
+            Long userId = AuthUtil.getUserId();
+            //根据条件过滤出可审批的数据
+            Map<Long, List<Task>> flowIdMaps = resultList.stream().collect(Collectors.groupingBy(Task::getFixedFlowId));
+            String join = StringUtils.join(flowIdMaps.keySet(), ",");
+            //结果集中垂直审批的数据
+            String sql = "select distinct fixed_flow_id from u_fixed_flow_link where  is_deleted = 0  and fixed_flow_link_type = 1 and  fixed_flow_id in ( "+join+")";
+            List<FixedFlowLink> fixedFlowLinks = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(FixedFlowLink.class));
+            for (FixedFlowLink fixedFlowLink : fixedFlowLinks) {
+                List<Task> tasks = flowIdMaps.get(fixedFlowLink.getFixedFlowId());
+                for (Task task : tasks) {
+                    //当前任务的processInstanceId
+                    String processInstanceId = task.getProcessInstanceId();
+                    String sqlForTaskParallel = "select task_user ,status,sort from u_task_parallel where is_deleted = 0 and process_instance_id = "+processInstanceId;
+                    List<TaskParallel> taskParallels = jdbcTemplate.query(sqlForTaskParallel, new BeanPropertyRowMapper<>(TaskParallel.class));
+                    //按照sort升序排序
+                    taskParallels.sort(Comparator.comparingInt(TaskParallel::getSort));
+                    boolean isApprove = true;
+                    for (TaskParallel taskParallel : taskParallels) {
+                        if(taskParallel.getTaskUser().toString().equals(userId.toString())){
+                            break;
+                        }else {
+                            if(taskParallel.getStatus() != 2){//不为2说明 还未审批
+                                isApprove = false;
+                                break;
+                            }
+                        }
+                    }
+                    if(!isApprove){//不可审批的数据
+                        resultList.remove(task);
+                    }else {
+                        //可审批的数据设置他的状态为4
+                        resultList.stream().filter(task2 -> task2.getId().equals(task.getId())).findFirst().ifPresent(task1->task1.setStatus(4));
+                    }
+                }
+            }
+        }
         /*解析page分页数据*/
         IPage<TaskPageVO> page = new Page<>(current, size);
         List<TaskPageVO> pageList = resultList.stream().map(task -> {
@@ -1150,7 +1194,7 @@ public class TaskController extends BladeController {
             vo.setId(task.getId());
             vo.setTaskName(task.getTaskName());
             vo.setTaskTypeName(task.getType().equals(1) ? "普通任务" : task.getType().equals(2) ? "验收任务" : "移交任务");
-            vo.setTaskStatusName(task.getStatus().equals(1) ? "待审批" : task.getStatus().equals(2) ? "已审批" : "已废除");
+            vo.setTaskStatusName(task.getStatus().equals(1) ? "待审批" : task.getStatus().equals(2) ? "已审批" : task.getStatus().equals(4) ? "可审批" : "已废除");
             vo.setStartTime(task.getStartTime());
             vo.setEndTime(task.getEndTime());
             vo.setType(task.getType());
@@ -1399,7 +1443,7 @@ public class TaskController extends BladeController {
                                 Map<String, String> map = new HashMap<>();
                                 String os = System.getProperty("os.name").toLowerCase();
                                 if (os.contains("win")) {
-                                    map = FileUtils.getHtmlAllKey("C:\\Users\\泓创研发01\\Desktop\\fsdownload\\1808346073870106624.html");
+                                    map = FileUtils.getHtmlAllKey("C:\\upload\\privateUrl\\1808342640173776896.html");
                                 } else {
                                     map = FileUtils.getHtmlAllKey(aPrivate.getHtmlUrl());
                                 }
@@ -1418,6 +1462,7 @@ public class TaskController extends BladeController {
                                     BigDecimal beforeMoney = null;
                                     //获取本期之前所有计量期金额
                                     if (task.getMeterTaskType() == 1) {
+                                        /*以前的逻辑
                                         //中间计量
                                         //是第一期。则获取开工计量已审批的金额
                                         if (periodVO.getId().equals(contractMeterPeriodMapper.getFirst(periodVO.getContractId()))){
@@ -1425,6 +1470,13 @@ public class TaskController extends BladeController {
                                             beforeMoney = meterPeriodMapper.getBeforeMoney(periodVO);
                                         }else {
                                             beforeMoney = contractMeterPeriodMapper.getBeforeMoney(periodVO);
+                                        }*/
+                                        //12.13号修改
+                                        try {
+                                            beforeMoney = contractMeterPeriodMapper.getBeforeByContractPeriodId(periodVO.getId());
+                                        } catch (Exception e) {
+                                            beforeMoney = null;
+                                            throw new ServiceException("获取截至上期已累计审批进度款失败");
                                         }
                                     } else if (task.getMeterTaskType() == 2 || task.getMeterTaskType() == 3) {
                                         //材料计量,开工计量
@@ -3724,6 +3776,20 @@ public class TaskController extends BladeController {
                 /*准备*/
                 LinkedHashMap<String,Map> rawListMap = new LinkedHashMap<>();
                 reportResults.forEach(rs -> {
+                    if("【2-6】中期财务支付证书".equalsIgnoreCase(rs.getName())){
+                                if(ObjectUtil.isNotEmpty(rs.getData().get(0))){
+                                    Object o = rs.getData().get(0).get("31_11");
+                                    if(ObjectUtil.isNotEmpty(o)){
+                                        //本期完成
+                                        String lastPeriodCompleted = o.toString();
+                                        //将本期完成存入数据库
+                                        Long periodId = report.getPeriodId();
+                                        String sql = "UPDATE s_interim_pay_certificate set last_period_complete = '"+lastPeriodCompleted+"' where contract_period_id = "+periodId +" and is_deleted = 0";
+                                        jdbcTemplate.execute(sql);
+                                    }
+                                }
+                    }
+
                     Map<String,Object> rawDataMap = new HashMap<>();
                     rawDataMap.put("C",rs.getCommonData());
                     rawDataMap.put("D",rs.getData());
@@ -4527,7 +4593,7 @@ public class TaskController extends BladeController {
         String fileUrl = null;
         String os = System.getProperty("os.name").toLowerCase();
         if (os.contains("win")) {
-            fileUrl = "C:\\Users\\泓创研发01\\Desktop\\fsdownload\\1808346073870106624.html";
+            fileUrl = "C:\\upload\\privateUrl\\1808342640173776896.html";
         } else {
             fileUrl = aPrivate.getHtmlUrl();
         }

+ 3 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ContractMeterPeriodMapper.java

@@ -51,4 +51,7 @@ public interface ContractMeterPeriodMapper extends BaseMapper<ContractMeterPerio
 
     //获取第一期合同计量期
     Long getFirst(@Param("contractId") Long contractId);
+
+
+    BigDecimal getBeforeByContractPeriodId(Long id);
 }

+ 4 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ContractMeterPeriodMapper.xml

@@ -66,5 +66,9 @@
         limit 1
     </select>
 
+    <select id="getBeforeByContractPeriodId" resultType="java.math.BigDecimal">
+        select last_period_complete from s_interim_pay_certificate where  contract_period_id = #{id} and is_deleted = 0
+    </select>
+
 
 </mapper>