Bladeren bron

区域修改区域主管优化

wanghaicheng 5 jaren geleden
bovenliggende
commit
1eaeb2a7d5

+ 1 - 3
lift-common/src/main/java/cn.com.ty.lift.common/constants/SqlConstants.java

@@ -173,11 +173,9 @@ public interface SqlConstants {
             "<script>" +
                     " update project_user set user_id=#{userId} where " +
                     " mt_company_id=#{mtCompanyId} and user_role = 'REGION_DIRECTOR'" +
-                    "   <if test=\"projectIds != null and projectIds.size > 0 \">" +
-                    "           and project_id in" +
+                    "        and project_id in" +
                     "     <foreach item='item' index='index' collection='projectIds' open='(' separator=',' close=')'>" +
                     "        #{item}" +
                     "     </foreach>" +
-                    " </if>" +
                     "</script>";
 }

+ 2 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/dao/mapper/RegionMapper.java

@@ -47,8 +47,8 @@ public interface RegionMapper extends BaseMapper<Region> {
     @Select("select id,area_name areaName from region where mt_company_id=#{mtCompanyId} and area_name like #{areaName}")
     List<RegionBO> selectIdAndNameLikeName(Long mtCompanyId, String areaName);
 
-    @Select("select project_id from project_user where user_id = #{userId} and mt_company_id = #{mtCompanyId} and user_role = 'REGION_DIRECTOR'")
-    List<Long> selectProjectIdByRegionDirectorId(Long userId, Long mtCompanyId);
+    @Select("select pu.project_id from project_user pu left join project p on pu.project_id=p.id where pu.user_id = #{userId} and pu.mt_company_id = #{mtCompanyId} and pu.user_role = 'REGION_DIRECTOR' and p.region_id=#{regionId}")
+    List<Long> selectProjectIdByRegionDirectorId(Long userId, Long mtCompanyId, Long regionId);
 
     @Update(SqlConstants.UPDATE_REGION_DIRECTOR)
     void updateRegionDirector(List<Long> projectIds, Long userId, Long mtCompanyId);

+ 3 - 3
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/service/impl/RegionServiceImpl.java

@@ -185,9 +185,9 @@ public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> impleme
         region.setUpdateTime(LocalDateTime.now());
         //如果区域主管更改了,发推送消息,修改project_user表内的区域主管信息
         if (!byId.getUserId().equals(region.getUserId())) {
-            List<Long> projects = baseMapper.selectProjectIdByRegionDirectorId(byId.getUserId(), byId.getMtCompanyId());
-            if (projects != null && projects.size() > 0) {
-                baseMapper.updateRegionDirector(projects, region.getUserId(), byId.getMtCompanyId());
+            List<Long> projectIds = baseMapper.selectProjectIdByRegionDirectorId(byId.getUserId(), byId.getMtCompanyId(),byId.getId());
+            if (projectIds != null && projectIds.size() > 0) {
+                baseMapper.updateRegionDirector(projectIds, region.getUserId(), byId.getMtCompanyId());
             }
             String oldUser = baseMapper.selectNameByUserId(byId.getUserId());
             String newUser = baseMapper.selectNameByUserId(region.getUserId());