Преглед изворни кода

Merge branch 'dev_1.1.1' into dev_1.1.2
merge

wangliang пре 9 месеци
родитељ
комит
50bd209b07

+ 19 - 15
sop-api/src/main/java/com/qmth/sop/server/api/SysUserController.java

@@ -23,6 +23,7 @@ import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.security.NoSuchAlgorithmException;
+import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
@@ -47,21 +48,22 @@ public class SysUserController {
 
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = UserDto.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = UserDto.class) })
     public Result list(@ApiParam(value = "登录名或真实姓名或手机号") @RequestParam(required = false) String userInfo,
-                       @ApiParam(value = "机构id") @RequestParam(required = false) Long orgId,
-                       @ApiParam(value = "角色id") @RequestParam(required = false) Long roleId,
-                       @ApiParam(value = "是否启用") @RequestParam(required = false) Boolean enable,
-                       @ApiParam(value = "页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                       @ApiParam(value = "页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(sysUserService.query(new Page<>(pageNumber, pageSize), userInfo, orgId, roleId, enable));
+            @ApiParam(value = "机构id") @RequestParam(required = false) Long orgId,
+            @ApiParam(value = "角色id") @RequestParam(required = false) List<Long> roleIds,
+            @ApiParam(value = "是否启用") @RequestParam(required = false) Boolean enable,
+            @ApiParam(value = "页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(sysUserService.query(new Page<>(pageNumber, pageSize), userInfo, orgId, roleIds, enable));
     }
 
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = Object.class) })
     @OperationLog(logType = LogTypeEnum.EDIT)
-    public Result save(@Valid @ApiParam(value = "用户保存信息", required = true) @RequestBody SysUser sysUser, BindingResult bindingResult) {
+    public Result save(@Valid @ApiParam(value = "用户保存信息", required = true) @RequestBody SysUser sysUser,
+            BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
@@ -70,7 +72,7 @@ public class SysUserController {
 
     @ApiOperation(value = "启用/禁用")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = Object.class) })
     @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result enable(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.enable(sysUser));
@@ -78,7 +80,7 @@ public class SysUserController {
 
     @ApiOperation(value = "初始化密码")
     @RequestMapping(value = "/init_password", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = Object.class) })
     @OperationLog(logType = LogTypeEnum.UPDATE)
     public Result initPassword(@RequestBody SysUser sysUser) throws NoSuchAlgorithmException {
         return ResultUtil.ok(sysUserService.initPassword(sysUser));
@@ -86,20 +88,22 @@ public class SysUserController {
 
     @ApiOperation(value = "查询绑定供应商")
     @RequestMapping(value = "/query/supplier", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = SysSupplier.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = SysSupplier.class) })
     public Result querySupplier(@ApiParam(value = "用户id", required = true) @RequestParam Long id) {
         SysUser sysUser = sysUserService.getById(id);
         Optional.ofNullable(sysUser).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
-        SysSupplier sysSupplier = Objects.nonNull(sysUser.getSupplierId()) ? supplierService.getById(sysUser.getSupplierId()) : null;
+        SysSupplier sysSupplier = Objects.nonNull(sysUser.getSupplierId()) ?
+                supplierService.getById(sysUser.getSupplierId()) :
+                null;
         return ResultUtil.ok(sysSupplier);
     }
 
     @ApiOperation(value = "绑定供应商")
     @RequestMapping(value = "/band/supplier", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
+    @ApiResponses({ @ApiResponse(code = 200, message = "返回信息", response = Object.class) })
     @OperationLog(logType = LogTypeEnum.EDIT)
     public Result bandSupplier(@ApiParam(value = "用户id", required = true) @RequestParam Long id,
-                               @ApiParam(value = "供应商id", required = true) @RequestParam Long supplierId) {
+            @ApiParam(value = "供应商id", required = true) @RequestParam Long supplierId) {
         SysUser sysUser = sysUserService.getById(id);
         Optional.ofNullable(sysUser).orElseThrow(() -> ExceptionResultEnum.USER_NO_EXISTS.exception());
         SysUser requestSysUser = (SysUser) ServletUtil.getRequestUser();

+ 4 - 0
sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java

@@ -879,6 +879,10 @@ public class ActivitiServiceImpl implements ActivitiService {
             if (count == 0) {
                 tbCrmService.updateCrmStatus(tfCustomFlowEntity.getCrmNo(), CrmStatusEnum.UN_PUBLISH);
             }
+
+            sysMessageService.remove(new QueryWrapper<SysMessage>().lambda()
+                    .in(SysMessage::getType, Arrays.asList(MessageTypeEnum.OFFICE_SOP, MessageTypeEnum.CLOUD_MARK_SOP))
+                    .eq(SysMessage::getCode, tfCustomFlowEntity.getCode()));
             runtimeService.deleteProcessInstance(String.valueOf(flowId), "结束");
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);

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

@@ -94,11 +94,11 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @param iPage
      * @param userInfo
      * @param orgId
-     * @param roleId
+     * @param roleIds
      * @param enable
      * @return
      */
-    IPage<UserDto> query(IPage<Map> iPage, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleId") Long roleId, @Param("enable") Boolean enable);
+    IPage<UserDto> query(IPage<Map> iPage, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleIds") List<Long> roleIds, @Param("enable") Boolean enable);
 
     /**
      * 根据用户来源查找用户并返回动态表单数据

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

@@ -83,11 +83,11 @@ public interface SysUserService extends IService<SysUser> {
      * @param iPage
      * @param userInfo
      * @param orgId
-     * @param roleId
+     * @param roleIds
      * @param enable
      * @return
      */
-    IPage<UserDto> query(IPage<Map> iPage, String userInfo, Long orgId, Long roleId, Boolean enable);
+    IPage<UserDto> query(IPage<Map> iPage, String userInfo, Long orgId, List<Long> roleIds, Boolean enable);
 
     /**
      * 根据用户来源查找用户并返回动态表单数据

+ 8 - 17
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -289,13 +289,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      * @param iPage
      * @param userInfo
      * @param orgId
-     * @param roleId
+     * @param roleIds
      * @param enable
      * @return
      */
     @Override
-    public IPage<UserDto> query(IPage<Map> iPage, String userInfo, Long orgId, Long roleId, Boolean enable) {
-        IPage<UserDto> userDtoIPage = this.baseMapper.query(iPage, userInfo, orgId, roleId, enable);
+    public IPage<UserDto> query(IPage<Map> iPage, String userInfo, Long orgId, List<Long> roleIds, Boolean enable) {
+        IPage<UserDto> userDtoIPage = this.baseMapper.query(iPage, userInfo, orgId, roleIds, enable);
         if (Objects.nonNull(userDtoIPage) && !CollectionUtils.isEmpty(userDtoIPage.getRecords())) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色
@@ -601,27 +601,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         dto.setHasPmo(roleTypeList.contains(RoleTypeEnum.PMO));
         dto.setHasBusiness(roleTypeList.contains(RoleTypeEnum.BUSSINESS));
         dto.setHasRegionManager(roleTypeList.contains(RoleTypeEnum.REGION_MANAGER));
-        //        dto.setHasRegionCoordinator(roleTypeList.contains(RoleTypeEnum.REGION_COORDINATOR));
-        int count = tbUserArchivesAllocationService.count(new QueryWrapper<TBUserArchivesAllocation>().lambda()
-                .eq(TBUserArchivesAllocation::getSopRoleType, SopRoleTypeEnum.REGION_COORDINATOR)
-                .eq(TBUserArchivesAllocation::getUserId, userId));
-        dto.setHasRegionCoordinator(count > 0 ? true : false);
-        //        dto.setHasEffectEngineer(roleTypeList.contains(RoleTypeEnum.EFFECT_ENGINEER));
-        //        dto.setHasAssistantEngineer(roleTypeList.contains(RoleTypeEnum.ASSISTANT_ENGINEER));
-        count = tbUserArchivesAllocationService.count(new QueryWrapper<TBUserArchivesAllocation>().lambda()
-                .eq(TBUserArchivesAllocation::getSopRoleType, SopRoleTypeEnum.ENGINEER)
-                .eq(TBUserArchivesAllocation::getUserId, userId));
-        dto.setHasEffectEngineer(count > 0 ? true : false);
-        dto.setHasAssistantEngineer(count > 0 ? true : false);
+        dto.setHasRegionCoordinator(roleTypeList.contains(RoleTypeEnum.REGION_COORDINATOR));
+        dto.setHasEffectEngineer(roleTypeList.contains(RoleTypeEnum.EFFECT_ENGINEER));
+        dto.setHasAssistantEngineer(roleTypeList.contains(RoleTypeEnum.ASSISTANT_ENGINEER));
         dto.setHasQA(roleTypeList.contains(RoleTypeEnum.QA));
         dto.setHasCustom(roleTypeList.contains(RoleTypeEnum.CUSTOM));
         dto.setHasAccountManager(roleTypeList.contains(RoleTypeEnum.ACCOUNT_MANAGER));
         dto.setHasThirdPmo(roleTypeList.contains(RoleTypeEnum.THIRD_PMO));
         dto.setHasDeviceDelivery(roleTypeList.contains(RoleTypeEnum.DEVICE_DELIVERY));
-        count = tbUserArchivesAllocationService.count(new QueryWrapper<TBUserArchivesAllocation>().lambda()
+        int count = tbUserArchivesAllocationService.count(new QueryWrapper<TBUserArchivesAllocation>().lambda()
                 .eq(TBUserArchivesAllocation::getSopRoleType, SopRoleTypeEnum.PROJECT_MANAGER)
                 .eq(TBUserArchivesAllocation::getUserId, userId));
-        dto.setHasProjectManager(count > 0 ? true : false);
+        dto.setHasProjectManager(count > 0);
 
         if (!dto.getHasProjectManager() && !dto.getHasRegionManager() && !dto.getHasAssistantEngineer()
                 && !dto.getHasAssistantEngineer()) {

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

@@ -247,8 +247,11 @@
             <if test="orgId != null and orgId != ''">
                 and a.org_id = #{orgId}
             </if>
-            <if test="roleId != null and roleId != ''">
-                and a.id in (select user_id from sys_user_role b where b.role_id = #{roleId})
+            <if test="roleIds != null and roleIds != '' and roleIds.size() > 0">
+                and a.id in (select user_id from sys_user_role b where b.role_id in
+                <foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
+                    #{roleId}
+                </foreach>)
             </if>
             <if test="enable != null and enable != '' or enable == 0">
                 and a.enable = #{enable}

+ 8 - 3
sop-business/src/main/resources/mapper/TBDingMapper.xml

@@ -403,9 +403,14 @@
             <if test="serviceId != null and serviceId != ''">
                 AND service_id = #{serviceId}
             </if>
-            <if test="sopNo != null and sopNo != ''">
-                AND sop_no = #{sopNo}
-            </if>
+            <choose>
+                <when test="sopNo != null and sopNo != ''">
+                    AND sop_no = #{sopNo}
+                </when>
+                <otherwise>
+                    AND sop_no IS NULL
+                </otherwise>
+            </choose>
         </where>
     </select>
 </mapper>

+ 13 - 12
sop-business/src/main/resources/mapper/TBServiceMapper.xml

@@ -90,18 +90,19 @@
                                         AND EXISTS(SELECT 1 FROM t_b_crm tbc WHERE tbs.id = tbc.service_id AND tbc.lead_id = #{dpr.requestUserId})
                                     </when>
                                     <otherwise>
-                                        <choose>
-                                            <when test="dpr.hasRegionCoordinator">
-                                                AND EXISTS(SELECT 1 FROM t_b_crm tbc WHERE tbs.id = tbc.service_id AND tbc.region_coordinator_id = #{dpr.requestUserId})
-                                            </when>
-                                            <otherwise>
-                                                <choose>
-                                                    <when test="dpr.hasEffectEngineer or dpr.hasAssistantEngineer">
-                                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.service_id = tbs.id AND tbuaa.user_id = #{dpr.requestUserId})
-                                                    </when>
-                                                </choose>
-                                            </otherwise>
-                                        </choose>
+                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.service_id = tbs.id AND tbuaa.user_id = #{dpr.requestUserId})
+<!--                                        <choose>-->
+<!--                                            <when test="dpr.hasRegionCoordinator">-->
+<!--                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.service_id = tbs.id AND tbuaa.user_id = #{dpr.requestUserId})-->
+<!--                                            </when>-->
+<!--                                            <otherwise>-->
+<!--                                                <choose>-->
+<!--                                                    <when test="dpr.hasEffectEngineer or dpr.hasAssistantEngineer">-->
+<!--                                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.service_id = tbs.id AND tbuaa.user_id = #{dpr.requestUserId})-->
+<!--                                                    </when>-->
+<!--                                                </choose>-->
+<!--                                            </otherwise>-->
+<!--                                        </choose>-->
                                     </otherwise>
                                 </choose>
                             </otherwise>

+ 3 - 19
sop-business/src/main/resources/mapper/TBSopInfoMapper.xml

@@ -155,27 +155,11 @@
                                     </when>
                                     <otherwise>
                                         <choose>
-                                            <when test="dpr.hasProjectManager">
-                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.crm_detail_id = tbcd.id AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'PROJECT_MANAGER')
+                                            <when test="dpr.hasAccountManager">
+                                                AND tbc.crm_user_id = #{dpr.requestUserId}
                                             </when>
                                             <otherwise>
-                                                <choose>
-                                                    <when test="dpr.hasRegionCoordinator">
-                                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.crm_detail_id = tbcd.id AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'REGION_COORDINATOR')
-                                                    </when>
-                                                    <otherwise>
-                                                        <choose>
-                                                            <when test="!dpr.hasAccountManager and (dpr.hasEffectEngineer or dpr.hasAssistantEngineer)">
-                                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.crm_detail_id = tbcd.id AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'ENGINEER')
-                                                            </when>
-                                                        </choose>
-                                                        <choose>
-                                                            <when test="dpr.hasAccountManager">
-                                                                AND tbc.crm_user_id = #{dpr.requestUserId}
-                                                            </when>
-                                                        </choose>
-                                                    </otherwise>
-                                                </choose>
+                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbuaa.crm_detail_id = tbcd.id AND tbuaa.user_id = #{dpr.requestUserId})
                                             </otherwise>
                                         </choose>
                                     </otherwise>