Browse Source

计量-中间计量申请审批

qianxb 1 year ago
parent
commit
8b4231395f

+ 5 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/Task.java

@@ -19,6 +19,7 @@ package org.springblade.business.entity;
 import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -144,7 +145,7 @@ public class Task extends BaseEntity {
     /**
      * 附件PDF地址
      */
-    @ApiModelProperty("附件PDF地址")
+    @ApiModelProperty("任务PDF公共字段(档案为附件PDF,计量为审计意见PDF)")
     private String attachmentPdfUrl;
 
     /**
@@ -171,4 +172,7 @@ public class Task extends BaseEntity {
     @ApiModelProperty("计量任务废除原因信息")
     private String meterTaskRepealDesc;
 
+    @ApiModelProperty("任务金额公共字段(计量为审核进度款)")
+    private BigDecimal taskCommonMoney;
+
 }

+ 16 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/TaskDetailVO.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import org.springblade.meter.entity.AttachmentFormTask;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -18,4 +19,19 @@ public class TaskDetailVO implements Serializable {
     @ApiModelProperty(value = "中间的业务数据列表信息")
     private Object taskCenterDataInfo;
 
+    @ApiModelProperty(value = "上报总金额")
+    private BigDecimal reportAllMoney;
+
+    @ApiModelProperty(value = "本期审核进度款")
+    private BigDecimal progressMoney;
+
+    @ApiModelProperty(value = "审计咨询意见类型:1显示html,2显示PDF,3提示当前暂无审计咨询意见")
+    private Integer opinionType;
+
+    @ApiModelProperty(value = "pdf地址")
+    private String pdfUrl;
+
+    @ApiModelProperty(value = "第一审批人id,第一审批人才会生成PDF")
+    private Long opinionMan;
+
 }

+ 28 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -1165,6 +1166,33 @@ public class TaskController extends BladeController {
 
             /*左侧任务流程信息*/
             List<TaskParallel> taskParallels = jdbcTemplate.query("SELECT process_instance_id,task_user,task_user_name,e_visa_status,e_visa_content,status,sort,update_time FROM u_task_parallel WHERE process_instance_id = ? ORDER BY sort", new Object[]{task.getProcessInstanceId()}, new BeanPropertyRowMapper<>(TaskParallel.class));
+            //排名第一就是第一人
+            if (taskParallels.size() == 0){
+                throw new ServiceException("未获取到任务流程信息");
+            }
+            String firstUser = taskParallels.get(0).getTaskUser();
+            /*中间计量申请,返回值增加:上报总金额,本期进度款,审计意见*/
+            if (task.getMeterTaskType() != null && task.getMeterTaskType() == 1){
+                //实时查询上报总金额
+                BigDecimal reportAllMoney = jdbcTemplate.queryForObject("select * from s_middle_meter_apply_task where is_deleted = 0 and task_id = " + task.getId(), BigDecimal.class);
+                vo.setReportAllMoney(reportAllMoney == null ? BigDecimal.ZERO : reportAllMoney);
+                vo.setProgressMoney(task.getTaskCommonMoney() == null ? BigDecimal.ZERO : task.getTaskCommonMoney());
+                vo.setPdfUrl(task.getAttachmentPdfUrl());
+                //查看当前用户是否是第一人
+                String currentUser = AuthUtil.getUserId()+"";
+                if (currentUser.equals(firstUser)){
+                    //是第一人,设置意见为1,并返回默认值字段
+                    vo.setOpinionType(1);
+                }else {
+                    //不是第一人,判断PDF是否生成,生成了类型为2,没有生成类型为3
+                    if (StringUtils.isNotBlank(task.getAttachmentPdfUrl())){
+                        vo.setOpinionType(2);
+                    }else {
+                        vo.setOpinionType(3);
+                    }
+                }
+
+            }
 
             /*上报人*/
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");