Browse Source

新增项目经理角色

wangliang 1 year ago
parent
commit
875f524322

+ 11 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/dto/DataPermissionDto.java

@@ -50,10 +50,21 @@ public class DataPermissionDto {
     @ApiModelProperty("是设备发货员?")
     private Boolean hasDeviceDelivery;
 
+    @ApiModelProperty("是项目经理?")
+    private Boolean hasProjectManager;
+
     @ApiModelProperty("所管理的供应商id(hasThirdPmo、hasDeviceDelivery为true时必有值)")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long supplierId;
 
+    public Boolean getHasProjectManager() {
+        return hasProjectManager;
+    }
+
+    public void setHasProjectManager(Boolean hasProjectManager) {
+        this.hasProjectManager = hasProjectManager;
+    }
+
     public Long getRequestUserId() {
         return requestUserId;
     }

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

@@ -576,6 +576,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         dto.setHasAccountManager(roleTypeList.contains(RoleTypeEnum.ACCOUNT_MANAGER));
         dto.setHasThirdPmo(roleTypeList.contains(RoleTypeEnum.THIRD_PMO));
         dto.setHasDeviceDelivery(roleTypeList.contains(RoleTypeEnum.DEVICE_DELIVERY));
+        dto.setHasProjectManager(roleTypeList.contains(RoleTypeEnum.PROJECT_MANAGER));
         if (dto.getHasThirdPmo() || dto.getHasDeviceDelivery()) {
             Long supplierId = sysUser.getSupplierId();
             if (supplierId == null || supplierId == 0) {

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

@@ -271,4 +271,8 @@ VALUES(3095, '设备管理', 'DeviceManage', 'LINK', 42, 1, 'AUTH', '4018,4019,4
 
 UPDATE sys_privilege
 SET name='sop编辑', url='/api/admin/sop/edit', `type`='URL', parent_id=40, `sequence`=11, property='SYS', related=NULL, enable=1, default_auth=1, front_display=0
-WHERE id=3047;
+WHERE id=3047;
+
+INSERT INTO sys_role
+(id, org_id, name, enable, `type`, create_id, create_time, update_id, update_time, default_role, interpret)
+VALUES(13, NULL, '项目经理', 1, 'PROJECT_MANAGER', NULL, NULL, 1, 1716950224675, 1, '系统角色');

+ 12 - 4
sop-business/src/main/resources/mapper/TBSopInfoMapper.xml

@@ -156,14 +156,22 @@
                                     </when>
                                     <otherwise>
                                         <choose>
-                                            <when test="dpr.hasRegionCoordinator">
-                                                AND tbc.region_coordinator_id = #{dpr.requestUserId}
+                                            <when test="dpr.hasProjectManager">
+                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbc.crm_no = tbuaa.crm_no AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'PROJECT_MANAGER')
                                             </when>
                                             <otherwise>
                                                 <choose>
-                                                    <when test="dpr.hasEffectEngineer or dpr.hasAssistantEngineer">
-                                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbc.crm_no = tbuaa.crm_no AND tbuaa.user_id = #{dpr.requestUserId})
+                                                    <when test="dpr.hasRegionCoordinator">
+                                                        --AND tbc.region_coordinator_id = #{dpr.requestUserId}
+                                                        AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbc.crm_no = tbuaa.crm_no AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'REGION_COORDINATOR')
                                                     </when>
+                                                    <otherwise>
+                                                        <choose>
+                                                            <when test="dpr.hasEffectEngineer or dpr.hasAssistantEngineer">
+                                                                AND EXISTS(SELECT 1 FROM t_b_user_archives_allocation tbuaa WHERE tbc.crm_no = tbuaa.crm_no AND tbuaa.user_id = #{dpr.requestUserId} and tbuaa.sop_role_type = 'ENGINEER')
+                                                            </when>
+                                                        </choose>
+                                                    </otherwise>
                                                 </choose>
                                             </otherwise>
                                         </choose>

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

@@ -34,6 +34,8 @@ public enum RoleTypeEnum {
 
     DEVICE_DELIVERY("设备发货员", "系统角色"),
 
+    PROJECT_MANAGER("项目经理", "项目经理"),
+
     DEFINED("自定义", "自定义角色");
 
     RoleTypeEnum(String desc, String title) {