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

电签管理员查询监理合同段

cr 2 тижнів тому
батько
коміт
dc03b89655

+ 15 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -1923,11 +1923,21 @@ public class TaskController extends BladeController {
         int current = dto.getCurrent();
         int size = dto.getSize();
 
+        String sqlContractType="select contract_type from m_contract_info where id="+dto.getContractId()+" and is_deleted=0";
+        Integer contractType = jdbcTemplate.queryForObject(sqlContractType, Integer.class);
         //封装入参SQL
         List<Object> params = new ArrayList<>();
         Integer eVisaStatus = dto.getVisaStatus();
-        StringBuilder sqlString = new StringBuilder("SELECT * FROM u_task WHERE approval_type not in (4, 5, 6, 7, 11) AND status != 3 AND is_deleted=0 AND contract_id = " + dto.getContractId()); //approval_type != 4 非档案的任务就是1填报资料,2工程文件,3日志资料
-
+        StringBuilder sqlString = new StringBuilder("SELECT * FROM u_task WHERE approval_type not in (4, 5, 6, 7, 11) AND status != 3 AND is_deleted=0 " ); //approval_type != 4 非档案的任务就是1填报资料,2工程文件,3日志资料
+        if(contractType==2){
+            String sql="select contract_id_sg from m_contract_relation_jlyz where contract_id_jlyz="+dto.getContractId();
+            List<String> list = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
+            list.add(dto.getContractId());
+            String join = String.join(",", list);
+            sqlString.append(" AND contract_id in ("+join+")");
+        }else {
+            sqlString.append(" AND contract_id ="+ dto.getContractId());
+        }
         if (StringUtils.isNotBlank(dto.getStartTimeValue()) && StringUtils.isNotBlank(dto.getEndTimeValue())) {
             if (dto.getStartTimeValue().equals(dto.getEndTimeValue())) {
                 sqlString.append(" AND start_time = ?");
@@ -1964,6 +1974,9 @@ public class TaskController extends BladeController {
         }
         //是否填报过
         sqlString.append(" AND (SELECT COUNT(1)  FROM u_information_query WHERE u_task.form_data_id = id and is_deleted=0) > 0");
+        if(contractType==2){
+            sqlString.append(" AND (SELECT classify FROM u_information_query where  u_task.form_data_id = id and is_deleted=0)=2");
+        }
 
         //总数量
         String sqlCount = sqlString.toString().replace("*", "count(1)");