소스 검색

1.修改集团项目信息

WoNiu 5 년 전
부모
커밋
2b7515bba0
1개의 변경된 파일45개의 추가작업 그리고 16개의 파일을 삭제
  1. 45 16
      src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

+ 45 - 16
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -17,6 +17,9 @@ import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import javax.persistence.Transient;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -106,6 +109,8 @@ public class ChuanyunBasicDataScheduledTask {
         var start=0;
         var totalCount=0L;
         var flag=true;
+        StringBuilder builder = new StringBuilder();
+        List<String> memberlist = new ArrayList<>();
         while (flag){
             try {
                 //从氚云查询数据
@@ -137,11 +142,36 @@ public class ChuanyunBasicDataScheduledTask {
                     }
                     //将项目组成员projectMember替换为主键
                     if (chuanyunGroupProjectDO.getProjectMemberlist()!= null) {
-                        var idlist = "";
+
                         for (ChuanyunObject chuanyunObject: chuanyunGroupProjectDO.getProjectMemberObject()) {
-                            idlist += chuanyunObject.getObjectId()+";";
+                            builder.append(chuanyunObject.getObjectId()+";");
+                            memberlist.add(chuanyunObject.getObjectId());
                         }
-                        chuanyunGroupProjectDO.setProjectMember(idlist);
+                        chuanyunGroupProjectDO.setProjectMember(builder.toString());
+                        //替换为主键后更新氚云数据表来增加权限
+                        chuanyunGroupProjectDO.setProjectMemberlist(memberlist.toArray(new String[memberlist.size()]));
+                    }
+                    //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
+                    if ("EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())&&chuanyunGroupProjectDO.getProjectMemberlist().length==0&&
+                            ("实施".equals(chuanyunGroupProjectDO.getProjectType())||"维保".equals(chuanyunGroupProjectDO.getProjectType())||
+                                    "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||"售后".equals(chuanyunGroupProjectDO.getProjectType()))) {
+
+                        for (ChuanyunUserCompanyDO chuanyunUserCompanyDO : chuanyunUserCompanyDao.findAll()) {
+                            if (chuanyunCompanyDao.findByObjectId(chuanyunUserCompanyDO.getCompanyId()).getBusinessGroup().equals("EBG")) {
+                                builder.append(chuanyunUserCompanyDO.getUserId()+";");
+                                memberlist.add(chuanyunUserCompanyDO.getUserId());
+                            }
+                        }
+                        chuanyunGroupProjectDO.setProjectMember(builder.toString());
+                        chuanyunGroupProjectDO.setProjectMemberlist(memberlist.toArray(new String[memberlist.size()]));
+                        log.info("成员已更新");
+                    }
+
+                    //如果项目为pmo建设、电气组建设、项目实施组建设则更新成员为空
+                    if ("PMO建设".equals(chuanyunGroupProjectDO.getProjectName())||"电气组建设".equals(chuanyunGroupProjectDO.getProjectName())||"项目实施组".equals(chuanyunGroupProjectDO.getProjectName())) {
+                        List<String> list = new ArrayList<>();
+                        chuanyunGroupProjectDO.setProjectMemberlist(list.toArray(new String[list.size()]));
+                        chuanyunGroupProjectDO.setProjectMember("");
                     }
                     //通过更新集团项目中的EBG项目经理、IBG项目经理
                     //TODO 测试结束后需要扩大范围到所有项目
@@ -170,19 +200,7 @@ public class ChuanyunBasicDataScheduledTask {
                             e.printStackTrace();
                         }
                     }
-                    //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
-                    if ("EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())&&chuanyunGroupProjectDO.getProjectMemberlist().length==0&&
-                            ("实施".equals(chuanyunGroupProjectDO.getProjectType())||"维保".equals(chuanyunGroupProjectDO.getProjectType())||
-                            "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||"售后".equals(chuanyunGroupProjectDO.getProjectType()))) {
-                        var idlist = "";
-                        for (ChuanyunUserCompanyDO chuanyunUserCompanyDO : chuanyunUserCompanyDao.findAll()) {
-                            if (chuanyunCompanyDao.findByObjectId(chuanyunUserCompanyDO.getCompanyId()).getBusinessGroup().equals("EBG")) {
-                                idlist += chuanyunUserCompanyDO.getUserId()+";";
-                            }
-                        }
-                        chuanyunGroupProjectDO.setProjectMember(idlist);
-                        log.info("成员已更新");
-                    }
+
 
                 });
                 chuanyunGroupProjectDao.saveAll(result);
@@ -444,6 +462,14 @@ public class ChuanyunBasicDataScheduledTask {
         @JsonProperty("F0000011")
         private String ebgProjectManager;
 
+        /**
+         * 项目组成员(前端传数据用)
+         */
+        @JsonProperty("F0000034")
+        private String[] projectMemberlist;
+
+
+
         public GroupProjectUpdateDTO() {
         }
 
@@ -458,6 +484,9 @@ public class ChuanyunBasicDataScheduledTask {
                 if(null!=chuanyunGroupProjectDO.getEbgProjectManagerObject()){
                     this.ebgProjectManager=chuanyunGroupProjectDO.getEbgProjectManagerObject().getObjectId();
                 }
+                if(null!=chuanyunGroupProjectDO.getProjectMemberlist()){
+                    this.projectMemberlist=chuanyunGroupProjectDO.getProjectMemberlist();
+                }
             }
         }
     }