Browse Source

新增项目变更计划查询列表

wangliang 1 year ago
parent
commit
d3d577fd49

+ 119 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/result/ProjectExchangeResult.java

@@ -0,0 +1,119 @@
+package com.qmth.sop.business.bean.result;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.enums.DelayWarnTypeEnum;
+import com.qmth.sop.common.enums.ProjectExchangeFlowStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * @Description: 表单控件result
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2023/7/18
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class ProjectExchangeResult extends WorkTaskResult implements Serializable {
+
+    @ApiModelProperty(value = "id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    Long id;
+
+    @ApiModelProperty(value = "提交时间")
+    Long createTime;
+
+    @ApiModelProperty(value = "变更原因")
+    String reason;
+
+    @ApiModelProperty(value = "变更类型,PLAN:项目信息及计划,TIME:处理时限,CANCEL:项目取消")
+    DelayWarnTypeEnum exchangeType;
+
+    @ApiModelProperty(value = "变更类型Str")
+    String exchangeTypeStr;
+
+    @ApiModelProperty(value = "项目计划变更流程状态,UN_APPROVE:待审核,APPROVE:已审核")
+    ProjectExchangeFlowStatusEnum projectExchangeFlowStatus;
+
+    @ApiModelProperty(value = "项目计划变更流程状态str")
+    String projectExchangeFlowStatusStr;
+
+    @ApiModelProperty(value = "审核人")
+    String approveUsersName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    public DelayWarnTypeEnum getExchangeType() {
+        return exchangeType;
+    }
+
+    public void setExchangeType(DelayWarnTypeEnum exchangeType) {
+        this.exchangeType = exchangeType;
+    }
+
+    public String getExchangeTypeStr() {
+        if (Objects.nonNull(exchangeType)) {
+            return exchangeType.getTitle();
+        } else {
+            return exchangeTypeStr;
+        }
+    }
+
+    public void setExchangeTypeStr(String exchangeTypeStr) {
+        this.exchangeTypeStr = exchangeTypeStr;
+    }
+
+    public ProjectExchangeFlowStatusEnum getProjectExchangeFlowStatus() {
+        return projectExchangeFlowStatus;
+    }
+
+    public void setProjectExchangeFlowStatus(ProjectExchangeFlowStatusEnum projectExchangeFlowStatus) {
+        this.projectExchangeFlowStatus = projectExchangeFlowStatus;
+    }
+
+    public String getProjectExchangeFlowStatusStr() {
+        if (Objects.nonNull(projectExchangeFlowStatus)) {
+            return projectExchangeFlowStatus.getTitle();
+        } else {
+            return projectExchangeFlowStatusStr;
+        }
+    }
+
+    public void setProjectExchangeFlowStatusStr(String projectExchangeFlowStatusStr) {
+        this.projectExchangeFlowStatusStr = projectExchangeFlowStatusStr;
+    }
+
+    public String getApproveUsersName() {
+        return approveUsersName;
+    }
+
+    public void setApproveUsersName(String approveUsersName) {
+        this.approveUsersName = approveUsersName;
+    }
+}

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/mapper/TBProjectExchangeMapper.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import org.apache.ibatis.annotations.Param;
 
@@ -32,5 +33,5 @@ public interface TBProjectExchangeMapper extends BaseMapper<TBProjectExchange> {
      * @param endTime
      * @return
      */
-    IPage<Map> list(IPage<Map> iPage, @Param("serviceId") Long serviceId, @Param("createUserId") Long createUserId, @Param("type") String type, @Param("customType") String customType, @Param("flowStatus") String flowStatus, @Param("customName") String customName, @Param("exchangeNo") String exchangeNo, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+    IPage<ProjectExchangeResult> list(IPage<Map> iPage, @Param("serviceId") Long serviceId, @Param("createUserId") Long createUserId, @Param("type") String type, @Param("customType") String customType, @Param("flowStatus") String flowStatus, @Param("customName") String customName, @Param("exchangeNo") String exchangeNo, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
 }

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/service/TBProjectExchangeService.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import com.qmth.sop.common.enums.DelayWarnTypeEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
@@ -43,5 +44,5 @@ public interface TBProjectExchangeService extends IService<TBProjectExchange> {
      * @param endTime
      * @return
      */
-    IPage<Map> list(IPage<Map> iPage, Long serviceId, Long createUserId, DelayWarnTypeEnum type, ProductTypeEnum customType, ProjectExchangeFlowStatusEnum flowStatus, String customName, String exchangeNo, Long startTime, Long endTime);
+    IPage<ProjectExchangeResult> list(IPage<Map> iPage, Long serviceId, Long createUserId, DelayWarnTypeEnum type, ProductTypeEnum customType, ProjectExchangeFlowStatusEnum flowStatus, String customName, String exchangeNo, Long startTime, Long endTime);
 }

+ 0 - 9
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -414,20 +414,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public Boolean updatePassword(SysUser sysUser) throws NoSuchAlgorithmException {
         Optional.ofNullable(sysUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("参数不能为空"));
         Optional.ofNullable(sysUser.getId()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("id不能为空"));
-        Optional.ofNullable(sysUser.getPassword()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("旧密码不能为空"));
         Optional.ofNullable(sysUser.getNewPassword()).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("新密码不能为空"));
 
         SysUser sysUserDb = this.getById(sysUser.getId());
         Optional.ofNullable(sysUserDb).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
 
-        if (!Objects.equals(sysUserDb.getPassword(), sysUser.getPassword())) {
-            throw ExceptionResultEnum.ERROR.exception("输入的旧密码不正确");
-        }
-
-        if (Objects.equals(sysUserDb.getPassword(), sysUser.getNewPassword())) {
-            throw ExceptionResultEnum.ERROR.exception("新密码不能与旧密码一致");
-        }
-
         SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
         boolean success = this.update(new UpdateWrapper<SysUser>().lambda().set(SysUser::getPassword, sysUser.getNewPassword())
                 .eq(SysUser::getId, sysUser.getId())

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBProjectExchangeServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.sop.business.activiti.service.ActivitiService;
 import com.qmth.sop.business.bean.params.FlowApproveParam;
+import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import com.qmth.sop.business.entity.TFCustomFlowEntity;
@@ -77,7 +78,7 @@ public class TBProjectExchangeServiceImpl extends ServiceImpl<TBProjectExchangeM
      * @return
      */
     @Override
-    public IPage<Map> list(IPage<Map> iPage, Long serviceId, Long createUserId, DelayWarnTypeEnum type, ProductTypeEnum customType, ProjectExchangeFlowStatusEnum flowStatus, String customName, String exchangeNo, Long startTime, Long endTime) {
+    public IPage<ProjectExchangeResult> list(IPage<Map> iPage, Long serviceId, Long createUserId, DelayWarnTypeEnum type, ProductTypeEnum customType, ProjectExchangeFlowStatusEnum flowStatus, String customName, String exchangeNo, Long startTime, Long endTime) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         createUserId = Objects.isNull(createUserId) ? sysUser.getId() : createUserId;
         return this.baseMapper.list(iPage, serviceId, createUserId, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(customType) ? customType.name() : null, Objects.nonNull(flowStatus) ? flowStatus.name() : null, customName, exchangeNo, startTime, endTime);

+ 22 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -778,4 +778,25 @@ SET name='计划变更报备', url='ProjectExchange', `type`='LINK', parent_id=4
 WHERE id=176;
 UPDATE sys_privilege
 SET name='计划变更报备', url='ProjectExchange', `type`='LINK', parent_id=42, `sequence`=2, property='AUTH', related='3025', enable=1, default_auth=0, front_display=1
-WHERE id=185;
+WHERE id=185;
+
+--2023.8.25update
+DELETE FROM sys_privilege
+WHERE id=195;
+
+UPDATE sys_privilege
+SET name='列表', url='List', `type`='LIST', parent_id=44, `sequence`=1, property='AUTH', related='3026', enable=1, default_auth=0, front_display=1
+WHERE id=193;
+UPDATE sys_privilege
+SET name='查询', url='Select', `type`='BUTTON', parent_id=44, `sequence`=2, property='AUTH', related='3026', enable=1, default_auth=0, front_display=1
+WHERE id=196;
+
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(3026, '项目变更计划列表接口', '/api/admin/project/exchange/list', 'URL', 40, 2, 'AUTH', NULL, 1, 1, 0);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(3027, '流程控件查询接口', '/api/admin/widget/flow/select', 'URL', 64, 26, 'SYS', NULL, 1, 1, 0);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(3028, '控件查询列表接口', '/api/admin/widget/list', 'URL', 64, 27, 'SYS', NULL, 1, 1, 0);

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

@@ -97,7 +97,7 @@
                 and ((tbd.sign_date <![CDATA[ >= ]]> #{startTime} or tbd.sign_date <![CDATA[ <= ]]> #{endTime}) and (tbd.sign_in_time is null or tbd.sign_out_time is null))
             </if>
             <if test="applyStartTime != null and applyStartTime != '' and applyEndTime != null and applyEndTime != ''">
-                and (tbda.apply_time <![CDATA[ >= ]]> 1 or tbda.apply_time <![CDATA[ <= ]]> 1)
+                and (tbda.apply_time <![CDATA[ >= ]]> #{applyStartTime} or tbda.apply_time <![CDATA[ <= ]]> #{applyEndTime})
             </if>
         </where>
     </select>
@@ -213,7 +213,7 @@
                 and ((tbd.sign_date <![CDATA[ >= ]]> #{startTime} or tbd.sign_date <![CDATA[ <= ]]> #{endTime}) and (tbd.sign_in_time is null or tbd.sign_out_time is null))
             </if>
             <if test="applyStartTime != null and applyStartTime != '' and applyEndTime != null and applyEndTime != ''">
-                and (t.applyTime <![CDATA[ >= ]]> 1 or t.applyTime <![CDATA[ <= ]]> 1)
+                and (t.applyTime <![CDATA[ >= ]]> #{applyStartTime} or t.applyTime <![CDATA[ <= ]]> #{applyEndTime})
             </if>
         </where>
     </select>

+ 75 - 2
sop-business/src/main/resources/mapper/TBProjectExchangeMapper.xml

@@ -2,7 +2,80 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.sop.business.mapper.TBProjectExchangeMapper">
 
-    <select id="list" resultType="java.util.Map">
-
+    <select id="list" resultType="com.qmth.sop.business.bean.result.ProjectExchangeResult">
+        select
+            tbpe.id,
+            tfcf.type,
+            tfcfe.code ,
+            tbpe.sop_no as sopNo,
+            tbpe.crm_no as crmNo,
+            tbc.name as crmName,
+            tbs.id as serviceId,
+            tbs.name as serviceName,
+            tbs.type as serviceType,
+            sc.id as customId,
+            sc.name as customName,
+            sc.type as customType,
+            tbpe.create_id as createId,
+            su.real_name as createRealName,
+            tbpe.create_time as createTime,
+            tbpe.reason,
+            tbpe.`type` as exchangeType,
+            IF(tffa.status = 'FINISH','APPROVE','UN_APPROVE') as projectExchangeFlowStatus,
+            tffa.setup,
+            tfcf.version,
+            art.PROC_INST_ID_ as flowId,
+            art.NAME_ as taskName,
+            art.TASK_DEF_KEY_ as taskDefKey,
+            art.ID_ as taskId,
+            tfcfe.flow_process_var as flowProcessVar,
+            tfcfe.t_f_custom_flow_id as customFlowId,
+            tfcf.flow_deployment_id as flowDeploymentId,
+            tfcfe.id as customFlowEntityid,
+            tffa.update_time as flowTime,
+            (select group_concat(us1.real_name SEPARATOR ';') from sys_user us1
+             where find_in_set(us1.id, (select group_concat(tffl.approve_id) from t_f_flow_log tffl where tffl.flow_id = tfcfe.flow_id))) as approveUsersName
+        from t_b_project_exchange tbpe
+                 left join t_f_custom_flow_entity tfcfe on tfcfe.code = tbpe.exchange_no
+                 left join t_f_flow_approve tffa on tffa.flow_id = tfcfe.flow_id
+                 left join ACT_RU_TASK art on art.PROC_INST_ID_ = tffa.flow_id
+                 left join t_f_custom_flow tfcf on tfcf.id = tfcfe.t_f_custom_flow_id
+                 left join t_b_crm tbc on tbc.crm_no = tbpe.crm_no
+                 left join t_b_service tbs on tbs.id = tbc.service_id
+                 left join sys_custom sc on sc.id = tbc.custom_id
+                 left join sys_user su ON tbpe.create_id = su.id
+        <where>
+            <if test="serviceId != null and serviceId != ''">
+                and tbs.id = #{serviceId}
+            </if>
+            <if test="createUserId != null and createUserId != ''">
+                and tbpe.create_id = #{createUserId}
+            </if>
+            <if test="type != null and type != ''">
+                and tbpe.`type` = #{type}
+            </if>
+            <if test="customType != null and customType != ''">
+                and sc.type = #{customType}
+            </if>
+            <if test="flowStatus != null and flowStatus != ''">
+                <choose>
+                    <when test="flowStatus == 'UN_APPROVE'">
+                        and tffa.status <![CDATA[ <> ]]> 'FINISH'
+                    </when>
+                    <otherwise>
+                        and tffa.status = 'FINISH'
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="customName != null and customName != ''">
+                and sc.name like concat('%', #{customName}, '%')
+            </if>
+            <if test="exchangeNo != null and exchangeNo != ''">
+                and tbpe.exchange_no like concat('%', #{exchangeNo}, '%')
+            </if>
+            <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+                and (tbpe.create_time <![CDATA[ >= ]]> #{startTime} or tbpe.create_time <![CDATA[ <= ]]> 1)
+            </if>
+        </where>
     </select>
 </mapper>

+ 2 - 2
sop-common/src/main/java/com/qmth/sop/common/enums/DelayWarnTypeEnum.java

@@ -9,9 +9,9 @@ package com.qmth.sop.common.enums;
  */
 public enum DelayWarnTypeEnum {
 
-    PLAN("关键信息及计划"),
+    PLAN("关键信息及计划变更"),
 
-    TIME("处理时限"),
+    TIME("处理时限报备"),
 
     CANCEL("项目取消");
 

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

@@ -3,6 +3,7 @@ package com.qmth.sop.server.api;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.sop.business.bean.result.ProjectExchangeResult;
 import com.qmth.sop.business.entity.TBProjectExchange;
 import com.qmth.sop.business.service.TBProjectExchangeService;
 import com.qmth.sop.common.contant.SystemConstant;
@@ -51,7 +52,7 @@ public class TBProjectExchangeController {
 
     @ApiOperation(value = "项目变更计划列表接口")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = ProjectExchangeResult.class)})
     public Result list(@ApiParam(value = "服务单元id") @RequestParam(required = false) Long serviceId,
                        @ApiParam(value = "提交人id") @RequestParam(required = false) Long createUserId,
                        @ApiParam(value = "变更类型") @RequestParam(required = false) DelayWarnTypeEnum type,

+ 2 - 144
sop-server/src/main/java/com/qmth/sop/server/api/TDFormWidgetController.java

@@ -2,7 +2,6 @@ package com.qmth.sop.server.api;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.reflect.TypeToken;
-import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.FlowFormWidgetResult;
 import com.qmth.sop.business.bean.result.FlowTablePropResult;
@@ -27,13 +26,13 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 @Api(tags = "系统控件Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_WIDGET)
-@Aac(auth = false)
 public class TDFormWidgetController {
 
     @Resource
@@ -78,145 +77,4 @@ public class TDFormWidgetController {
         }
         return ResultUtil.ok(flowFormWidgetResultList);
     }
-
-    @ApiOperation(value = "测试客户类型列表")
-    @ApiResponses({@ApiResponse(code = 200, message = "客户类型列表信息", response = Object.class)})
-    @RequestMapping(value = "/custom/list", method = RequestMethod.POST)
-    public Result customList() {
-        List<Map> customListMap = new ArrayList<>();
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("code", "jwc");
-        map.put("name", "教务处");
-        customListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "2");
-        map.put("code", "cloudMark");
-        map.put("name", "云阅卷");
-        customListMap.add(map);
-        return ResultUtil.ok(customListMap);
-    }
-
-    @ApiOperation(value = "测试派单客户经理")
-    @ApiResponses({@ApiResponse(code = 200, message = "测试派单客户经理", response = Object.class)})
-    @RequestMapping(value = "/crm/manager", method = RequestMethod.POST)
-    public Result crmManager() {
-        List<Map> crmManagerListMap = new ArrayList<>();
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("login_name", "sysadmin");
-        map.put("real_name", "sysadmin");
-        map.put("role", "ADMIN");
-        map.put("roleName", "系统管理员");
-        crmManagerListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "2");
-        map.put("login_name", "admin1");
-        map.put("real_name", "admin1");
-        map.put("role", "SCHOOL_ADMIN");
-        map.put("roleName", "学校管理员");
-        crmManagerListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "3");
-        map.put("login_name", "cs1");
-        map.put("real_name", "cs1");
-        map.put("role", "TEACHER");
-        map.put("roleName", "测试打杂的1");
-        crmManagerListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "4");
-        map.put("login_name", "cs2");
-        map.put("real_name", "cs2");
-        map.put("role", "TEACHER");
-        map.put("roleName", "测试打杂的2");
-        crmManagerListMap.add(map);
-        return ResultUtil.ok(crmManagerListMap);
-    }
-
-    @ApiOperation(value = "测试客户名称")
-    @ApiResponses({@ApiResponse(code = 200, message = "测试客户名称", response = Object.class)})
-    @RequestMapping(value = "/school/list", method = RequestMethod.POST)
-    public Result schoolList() {
-        List<Map> schoolListMap = new ArrayList<>();
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("code", "whdx");
-        map.put("name", "武汉大学");
-        schoolListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "2");
-        map.put("code", "hzkjdx");
-        map.put("name", "华中科技大学");
-        schoolListMap.add(map);
-        return ResultUtil.ok(schoolListMap);
-    }
-
-    @ApiOperation(value = "测试项目母单编号")
-    @ApiResponses({@ApiResponse(code = 200, message = "测试项目母单编号", response = Object.class)})
-    @RequestMapping(value = "/crm/parent_no/list", method = RequestMethod.POST)
-    public Result crmParentNoList() {
-        List<Map> crmParentNoListMap = new ArrayList<>();
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("code", "CRM_000001");
-        map.put("name", "武汉大学数学学院2023上半年教务处印刷");
-        crmParentNoListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "2");
-        map.put("code", "CRM_000002");
-        map.put("name", "武汉大学物理学院2023上半年教务处印刷");
-        crmParentNoListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "3");
-        map.put("code", "CRM_000003");
-        map.put("name", "华中科技大学2023研究生云阅卷");
-        crmParentNoListMap.add(map);
-        return ResultUtil.ok(crmParentNoListMap);
-    }
-
-    @ApiOperation(value = "测试实施产品")
-    @ApiResponses({@ApiResponse(code = 200, message = "测试实施产品", response = Object.class)})
-    @RequestMapping(value = "/product/list", method = RequestMethod.POST)
-    public Result productList() {
-        List<Map> productListMap = new ArrayList<>();
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("code", "QM_WHDX_SX_000001");
-        map.put("name", "武汉大学数学学院2023上半年教务处印刷");
-        productListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "2");
-        map.put("code", "QM_WHDX_WL_000002");
-        map.put("name", "武汉大学物理学院2023上半年教务处印刷");
-        productListMap.add(map);
-
-        map = new LinkedHashMap();
-        map.put("id", "3");
-        map.put("code", "QM_HZKJDX_CLOUD_MARK_000001");
-        map.put("name", "华中科技大学2023研究生云阅卷");
-        productListMap.add(map);
-        return ResultUtil.ok(productListMap);
-    }
-
-    @ApiOperation(value = "测试CRM信息")
-    @ApiResponses({@ApiResponse(code = 200, message = "测试CRM信息", response = Object.class)})
-    @RequestMapping(value = "/crm/info", method = RequestMethod.POST)
-    public Result crmInfo() {
-        Map map = new LinkedHashMap();
-        map.put("id", "1");
-        map.put("crm_child_no", "CRM_CHILD_000001");
-        map.put("exam_start_time", 1688194545000L);
-        map.put("exam_end_time", 1689663345000L);
-        map.put("remark", "测试CRM特殊要求及备注");
-        map.put("project_type", "测试CRM项目类型");
-        return ResultUtil.ok(map);
-    }
 }