|
@@ -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();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|