Browse Source

修改了更新项目成员的方法

verguenza 5 years ago
parent
commit
35db3402ae
1 changed files with 32 additions and 25 deletions
  1. 32 25
      src/main/java/com/galaxis/manatee/service/impl/ChuanyunServiceImpl.java

+ 32 - 25
src/main/java/com/galaxis/manatee/service/impl/ChuanyunServiceImpl.java

@@ -67,6 +67,8 @@ public class ChuanyunServiceImpl implements ChuanyunService {
                     //只处理项目成员为空的情况
                     boolean emptyFlag= chuanyunGroupProjectDO.getProjectMemberList()==null||chuanyunGroupProjectDO.getProjectMemberList().length==0;
                     if(emptyFlag){
+                        //增加项目成员
+                        addMemberList(chuanyunGroupProjectDO);
                         GroupProjectUpdateDTO groupProjectUpdateDTO= new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
                         //生成更新数据后校验数据是否增加成功
                         if(groupProjectUpdateDTO.getProjectMemberList()!=null&&groupProjectUpdateDTO.getProjectMemberList().length!=0){
@@ -99,10 +101,39 @@ public class ChuanyunServiceImpl implements ChuanyunService {
     }
 
     /**
-     * 如果有项目组成员,将项目组成员projectMember替换为主键
      * 如果没有项目组成员,判断是否是EBG的实施、研发二开、售后维保项目,如果是,则添加EBG全体成员
      * @param chuanyunGroupProjectDO    项目对象
      */
+    private void addMemberList(ChuanyunGroupProjectDO chuanyunGroupProjectDO){
+        //项目成员为空的情况判断
+        //判断项目BG是否为EBG
+        var specifiedBusinessGroupFlag=ChuanyunGroupProjectDO.EBG.equals(chuanyunGroupProjectDO.getBusinessGroup());
+        //判断项目类型是否为 下列项目类型中的一种
+        var specifiedProjectTypeFlag=("实施".equals(chuanyunGroupProjectDO.getProjectType())||
+                "维保".equals(chuanyunGroupProjectDO.getProjectType())||
+                "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||
+                "售后".equals(chuanyunGroupProjectDO.getProjectType()));
+        //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
+        if (specifiedBusinessGroupFlag&&specifiedProjectTypeFlag) {
+            var projectMember = new ArrayList<String>();
+            var builder = new StringBuilder();
+            ChuanYunConstant.USER_BUSINESS_GROUP.forEach((k, v)->{
+                if (ChuanyunGroupProjectDO.EBG.equals(v)&&null!=k){
+                    builder.append(k).append(StringConstant.SEMICOLON);
+                    projectMember.add(k);
+                }
+            });
+
+            chuanyunGroupProjectDO.setProjectMember(builder.toString());
+            chuanyunGroupProjectDO.setProjectMemberList(projectMember.toArray(new String[0]));
+            log.info("成员已更新"+chuanyunGroupProjectDO.getProjectCode()+chuanyunGroupProjectDO.getProjectType());
+        }
+    }
+
+    /**
+     * 如果有项目组成员,将项目组成员projectMember替换为主键
+     * @param chuanyunGroupProjectDO    项目对象
+     */
     private void projectMemberCheck(ChuanyunGroupProjectDO chuanyunGroupProjectDO){
         if (chuanyunGroupProjectDO.getProjectMemberList() != null && chuanyunGroupProjectDO.getProjectMemberList().length>0) {
             List<String> memberList = new ArrayList<>();
@@ -114,30 +145,6 @@ public class ChuanyunServiceImpl implements ChuanyunService {
             chuanyunGroupProjectDO.setProjectMember(builder.toString());
             //替换为主键后更新氚云数据表来增加权限
             chuanyunGroupProjectDO.setProjectMemberList(memberList.toArray(new String[0]));
-        }else {
-            //项目成员为空的情况判断
-            //判断项目BG是否为EBG
-            var specifiedBusinessGroupFlag=ChuanyunGroupProjectDO.EBG.equals(chuanyunGroupProjectDO.getBusinessGroup());
-            //判断项目类型是否为 下列项目类型中的一种
-            var specifiedProjectTypeFlag=("实施".equals(chuanyunGroupProjectDO.getProjectType())||
-                    "维保".equals(chuanyunGroupProjectDO.getProjectType())||
-                    "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||
-                    "售后".equals(chuanyunGroupProjectDO.getProjectType()));
-            //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
-            if (specifiedBusinessGroupFlag&&specifiedProjectTypeFlag) {
-                var projectMember = new ArrayList<String>();
-                var builder = new StringBuilder();
-                ChuanYunConstant.USER_BUSINESS_GROUP.forEach((k, v)->{
-                    if (ChuanyunGroupProjectDO.EBG.equals(v)&&null!=k){
-                        builder.append(k).append(StringConstant.SEMICOLON);
-                        projectMember.add(k);
-                    }
-                });
-
-                chuanyunGroupProjectDO.setProjectMember(builder.toString());
-                chuanyunGroupProjectDO.setProjectMemberList(projectMember.toArray(new String[0]));
-                log.info("成员已更新"+chuanyunGroupProjectDO.getProjectCode()+chuanyunGroupProjectDO.getProjectType());
-            }
         }
     }