wangliang 1 an în urmă
părinte
comite
e313000933

+ 2 - 1
sop-api/src/main/java/com/qmth/sop/server/api/TBDelayWarnController.java

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
+import java.util.List;
 
 /**
  * 延期预警跟进表 控制器
@@ -44,7 +45,7 @@ public class TBDelayWarnController {
     @ApiResponses({@ApiResponse(code = 200, message = "延期预警跟进表查询结果", response = TBDelayWarnResult.class)})
     public Result query(
             @ApiParam(value = "预警类型", required = false) @RequestParam(required = false) DelayWarnTypeEnum type,
-            @ApiParam(value = "跟进状态", required = false) @RequestParam(required = false) DelayWarnStatusEnum status,
+            @ApiParam(value = "跟进状态", required = false) @RequestParam(required = false) List<DelayWarnStatusEnum> status,
             @ApiParam(value = "服务单元", required = false) @RequestParam(required = false) Long serviceId,
             @ApiParam(value = "客户名称(模糊查询)", required = false) @RequestParam(required = false) String custom,
             @ApiParam(value = "预警字段(模糊查询)", required = false) @RequestParam(required = false) String fieldObj,

+ 10 - 4
sop-business/src/main/java/com/qmth/sop/business/mapper/TBDelayWarnMapper.java

@@ -27,7 +27,7 @@ public interface TBDelayWarnMapper extends BaseMapper<TBDelayWarn> {
      *
      * @param iPage
      * @param type
-     * @param status
+     * @param statusList
      * @param serviceId
      * @param custom
      * @param fieldObjList
@@ -38,7 +38,11 @@ public interface TBDelayWarnMapper extends BaseMapper<TBDelayWarn> {
      * @param dpr
      * @return
      */
-    IPage<TBDelayWarnResult> query(IPage<Map> iPage, @Param("type") String type, @Param("status") String status, @Param("serviceId") Long serviceId, @Param("custom") String custom, @Param("fieldObjList") List<String> fieldObjList, @Param("sopNo") String sopNo, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("id") Long id, @Param("dpr") DataPermissionDto dpr);
+    IPage<TBDelayWarnResult> query(IPage<Map> iPage, @Param("type") String type,
+            @Param("statusList") List<String> statusList, @Param("serviceId") Long serviceId,
+            @Param("custom") String custom, @Param("fieldObjList") List<String> fieldObjList,
+            @Param("sopNo") String sopNo, @Param("startTime") Long startTime, @Param("endTime") Long endTime,
+            @Param("id") Long id, @Param("dpr") DataPermissionDto dpr);
 
     /**
      * 获取预警待办
@@ -50,7 +54,8 @@ public interface TBDelayWarnMapper extends BaseMapper<TBDelayWarn> {
      * @param customName
      * @return
      */
-    IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, @Param("userId") Long userId, @Param("type") String type, @Param("serviceId") Long serviceId, @Param("customName") String customName);
+    IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, @Param("userId") Long userId, @Param("type") String type,
+            @Param("serviceId") Long serviceId, @Param("customName") String customName);
 
     /**
      * 获取预警待办计数
@@ -61,5 +66,6 @@ public interface TBDelayWarnMapper extends BaseMapper<TBDelayWarn> {
      * @param customName
      * @return
      */
-    int getWarnTaskListCount(@Param("userId") Long userId, @Param("type") String type, @Param("serviceId") Long serviceId, @Param("customName") String customName);
+    int getWarnTaskListCount(@Param("userId") Long userId, @Param("type") String type,
+            @Param("serviceId") Long serviceId, @Param("customName") String customName);
 }

+ 5 - 3
sop-business/src/main/java/com/qmth/sop/business/service/TBDelayWarnService.java

@@ -9,6 +9,7 @@ import com.qmth.sop.common.enums.DelayWarnStatusEnum;
 import com.qmth.sop.common.enums.DelayWarnTypeEnum;
 import com.qmth.sop.common.enums.WarnTypeEnum;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -37,7 +38,8 @@ public interface TBDelayWarnService extends IService<TBDelayWarn> {
      * @param id
      * @return
      */
-    IPage<TBDelayWarnResult> query(IPage<Map> iPage, DelayWarnTypeEnum type, DelayWarnStatusEnum status, Long serviceId, String custom, String fieldObj, String sopNo, Long startTime, Long endTime, Long id);
+    IPage<TBDelayWarnResult> query(IPage<Map> iPage, DelayWarnTypeEnum type, List<DelayWarnStatusEnum> status,
+            Long serviceId, String custom, String fieldObj, String sopNo, Long startTime, Long endTime, Long id);
 
     /**
      * 新增修改延期预警跟进表
@@ -46,7 +48,6 @@ public interface TBDelayWarnService extends IService<TBDelayWarn> {
      */
     Boolean saveTBDelayWarn(TBDelayWarn tBDelayWarn);
 
-
     /**
      * 删除延期预警跟进表
      *
@@ -64,7 +65,8 @@ public interface TBDelayWarnService extends IService<TBDelayWarn> {
      * @param customName
      * @return
      */
-    public IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, Long userId, WarnTypeEnum type, Long serviceId, String customName);
+    public IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, Long userId, WarnTypeEnum type, Long serviceId,
+            String customName);
 
     /**
      * 获取预警待办计数

+ 23 - 10
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDelayWarnServiceImpl.java

@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 延期预警跟进表 服务实现.
@@ -62,11 +63,13 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
      * @return
      */
     @Override
-    public IPage<TBDelayWarnResult> query(IPage<Map> iPage, DelayWarnTypeEnum type, DelayWarnStatusEnum status, Long serviceId, String custom, String fieldObj, String sopNo, Long startTime, Long endTime, Long id) {
+    public IPage<TBDelayWarnResult> query(IPage<Map> iPage, DelayWarnTypeEnum type, List<DelayWarnStatusEnum> status,
+            Long serviceId, String custom, String fieldObj, String sopNo, Long startTime, Long endTime, Long id) {
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
         List<String> fieldObjList = new ArrayList<>();
-        if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getTitle().contains(fieldObj.trim())) {
+        if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getTitle()
+                .contains(fieldObj.trim())) {
             fieldObjList.add(ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getKey());
         }
         if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.APPROVE_RADIO.getTitle().contains(fieldObj.trim())) {
@@ -84,7 +87,8 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
         if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.MARK_END_TIME.getTitle().contains(fieldObj.trim())) {
             fieldObjList.add(ProcessLimitedEnum.MARK_END_TIME.getKey());
         }
-        if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.SERVICE_FINISH_PLAN_DATE.getTitle().contains(fieldObj.trim())) {
+        if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.SERVICE_FINISH_PLAN_DATE.getTitle()
+                .contains(fieldObj.trim())) {
             fieldObjList.add(ProcessLimitedEnum.SERVICE_FINISH_PLAN_DATE.getKey());
         }
         if (Objects.nonNull(fieldObj) && ProcessLimitedEnum.ENV_DEPLOYMENT_TIME.getTitle().contains(fieldObj.trim())) {
@@ -93,7 +97,10 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
         if (Objects.nonNull(fieldObj) && CollectionUtils.isEmpty(fieldObjList)) {
             fieldObjList.add(fieldObj);
         }
-        return this.baseMapper.query(iPage, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(status) ? status.name() : null, serviceId, custom, fieldObjList, sopNo, startTime, endTime, id, dpr);
+        return this.baseMapper.query(iPage, Objects.nonNull(type) ? type.name() : null,
+                !CollectionUtils.isEmpty(status) ?
+                        status.stream().map(s -> s.name()).collect(Collectors.toList()) :
+                        null, serviceId, custom, fieldObjList, sopNo, startTime, endTime, id, dpr);
     }
 
     /**
@@ -115,8 +122,10 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
         } catch (Exception e) {
             if (e instanceof DuplicateKeyException) {
                 String errorColumn = e.getCause().toString();
-                String columnStr = errorColumn.substring(errorColumn.lastIndexOf("key") + 3, errorColumn.length()).replaceAll("'", "");
-                throw ExceptionResultEnum.SQL_ERROR.exception("[" + FieldUniqueEnum.convertToTitle(columnStr) + "]数据不允许重复插入");
+                String columnStr = errorColumn.substring(errorColumn.lastIndexOf("key") + 3, errorColumn.length())
+                        .replaceAll("'", "");
+                throw ExceptionResultEnum.SQL_ERROR.exception(
+                        "[" + FieldUniqueEnum.convertToTitle(columnStr) + "]数据不允许重复插入");
             } else if (e instanceof ApiException) {
                 ResultUtil.error((ApiException) e, ((ApiException) e).getCode(), e.getMessage());
             } else {
@@ -140,7 +149,8 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
 
     @Override
     public TBDelayWarnResult get(long id) {
-        IPage<TBDelayWarnResult> resultIPage = query(new Page<>(1, 1), null, null, null, null, null, null, null, null, id);
+        IPage<TBDelayWarnResult> resultIPage = query(new Page<>(1, 1), null, null, null, null, null, null, null, null,
+                id);
         TBDelayWarnResult tbDelayWarnResult = resultIPage.getRecords().get(0);
         List<TBDelayWarnDetail> tbDelayWarnDetails = tBDelayWarnDetailService.list(id);
         tbDelayWarnResult.setTbDelayWarnDetails(tbDelayWarnDetails);
@@ -159,10 +169,12 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
      * @return
      */
     @Override
-    public IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, Long userId, WarnTypeEnum type, Long serviceId, String customName) {
+    public IPage<WorkWarnResult> getWarnTaskList(IPage<Map> iPage, Long userId, WarnTypeEnum type, Long serviceId,
+            String customName) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         userId = Objects.nonNull(sysUser) ? sysUser.getId() : userId;
-        return this.baseMapper.getWarnTaskList(iPage, userId, Objects.nonNull(type) ? type.name() : null, serviceId, customName);
+        return this.baseMapper.getWarnTaskList(iPage, userId, Objects.nonNull(type) ? type.name() : null, serviceId,
+                customName);
     }
 
     /**
@@ -178,6 +190,7 @@ public class TBDelayWarnServiceImpl extends ServiceImpl<TBDelayWarnMapper, TBDel
     public int getWarnTaskListCount(Long userId, WarnTypeEnum type, Long serviceId, String customName) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         userId = Objects.nonNull(sysUser) ? sysUser.getId() : userId;
-        return this.baseMapper.getWarnTaskListCount(userId, Objects.nonNull(type) ? type.name() : null, serviceId, customName);
+        return this.baseMapper.getWarnTaskListCount(userId, Objects.nonNull(type) ? type.name() : null, serviceId,
+                customName);
     }
 }

+ 5 - 2
sop-business/src/main/resources/mapper/TBDelayWarnMapper.xml

@@ -26,8 +26,11 @@
             <if test="type != null and type != ''">
                 and a.type = #{type}
             </if>
-            <if test="status != null and status != ''">
-                and a.status = #{status}
+            <if test="statusList != null and statusList != '' and statusList.size() > 0">
+                and a.status IN
+                <foreach collection="statusList" item="status" index="index" open="(" separator="," close=")">
+                    #{status}
+                </foreach>
             </if>
             <if test="serviceId != null and serviceId != ''">
                 and a.service_id = #{serviceId}