Переглянути джерело

计量任务审批任务意见个别保存没值,和查看报表,已审批查看电签PDF,未审批则重新计算

qianxb 1 рік тому
батько
коміт
fe86617ee6

+ 43 - 5
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -1339,7 +1339,7 @@ public class TaskController extends BladeController {
                     vo.setType(task.getMeterTaskType() == 2 ? 1 : 2);
                 }
                 if (reportAllMoney == null) {
-                    throw new ServiceException("上报金额不能为空");
+                    reportAllMoney = BigDecimal.ZERO;
                 }
                 reportAllMoney = reportAllMoney.setScale(0, RoundingMode.HALF_UP);
                 vo.setReportAllMoney(reportAllMoney);
@@ -2718,7 +2718,7 @@ public class TaskController extends BladeController {
             }
 
             if (StringUtils.isBlank(opinion.getMeterEngineer())) {
-                opinion.setSupervisorAudit(null);
+                opinion.setMeterEngineer(null);
             } else {
                 //如果存在数据则判断之前是否填写总监理工程师,填写了则不管,没填写这次填写了,则设置用户id名称时间
                 if (oldOpinion != null) {
@@ -2734,7 +2734,7 @@ public class TaskController extends BladeController {
             }
 
             if (StringUtils.isBlank(opinion.getProjectManager())) {
-                opinion.setSupervisorAudit(null);
+                opinion.setProjectManager(null);
             } else {
                 //如果存在数据则判断之前是否填写总监理工程师,填写了则不管,没填写这次填写了,则设置用户id名称时间
                 if (oldOpinion != null) {
@@ -2750,7 +2750,7 @@ public class TaskController extends BladeController {
             }
 
             if (StringUtils.isBlank(opinion.getContractSupervisorEngineer())) {
-                opinion.setSupervisorAudit(null);
+                opinion.setContractSupervisorEngineer(null);
             } else {
                 //如果存在数据则判断之前是否填写总监理工程师,填写了则不管,没填写这次填写了,则设置用户id名称时间
                 if (oldOpinion != null) {
@@ -2766,7 +2766,7 @@ public class TaskController extends BladeController {
             }
 
             if (StringUtils.isBlank(opinion.getOwnerDelegate())) {
-                opinion.setSupervisorAudit(null);
+                opinion.setOwnerDelegate(null);
             } else {
                 //如果存在数据则判断之前是否填写总监理工程师,填写了则不管,没填写这次填写了,则设置用户id名称时间
                 if (oldOpinion != null) {
@@ -3394,6 +3394,44 @@ public class TaskController extends BladeController {
         }
     }
 
+    /**
+     *  任务审批时-查看报表
+     * @param reportId  报表id
+     * @param type  类型 0中间1材料2开工
+     * @param taskType
+     * @return  审批中则重新计算生成PDF,审批完成则直接查看电签PDF
+     */
+    @GetMapping("/taskMeterPdfInfo")
+    @ApiOperationSupport(order = 22)
+    @ApiOperation(value = "任务审批时-查看报表", notes = "任务审批时-查看报表")
+    public R taskMeterPdfInfo(@RequestParam Long taskId, @RequestParam String reportId, @RequestParam Integer type, @RequestParam Integer taskType) {
+        Task task = jdbcTemplate.query("SELECT * FROM u_task WHERE id = ?", new Object[]{taskId}, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
+        if (task == null){
+            return R.fail("未找到任务相关信息");
+        }
+        if (task.getStatus() == 2){
+            String pdfUrl;
+            //审批完成
+            String sql;
+            if (type == 0) {
+                sql = "select raw_url from s_interim_pay_certificate where id = ?";
+            } else {
+                sql = "select raw_url from s_material_start_statement where id = ?";
+            }
+            pdfUrl = jdbcTemplate.queryForObject(sql, String.class, reportId);
+            if (StringUtils.isBlank(pdfUrl)){
+                return R.fail("电签报表生成中,请稍后再试");
+            }
+            return R.data(pdfUrl);
+        }else if (task.getStatus() == 1){
+            //审批中
+            return calculate(reportId, type, taskType);
+        }else {
+            //已废除
+            return R.fail("已废除无法查看报表");
+        }
+    }
+
 
     @GetMapping("/meterPdfInfo")
     @ApiOperationSupport(order = 22)