|
@@ -140,23 +140,25 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
chuanyunGroupProjectDao.delete(tmpGroupProjectDO.get());
|
|
|
});
|
|
|
//新增项目组织信息
|
|
|
-// List<ChuanyunGroupProjectDetailDO> detaillist = new ArrayList<>();
|
|
|
-// for (ChuanyunCompanyDO chuanyunCompanyDO : chuanyunCompanyDao.findAll()) {
|
|
|
-// if (!chuanyunCompanyDO.getCompanyName().equals("浙江凯乐士无锡分公司")&&!chuanyunCompanyDO.getCompanyName().equals("GALAXIS Automation management GmbH")) {
|
|
|
-// ChuanyunGroupProjectDetailDO chuanyunGroupProjectDetailDO = new ChuanyunGroupProjectDetailDO();
|
|
|
-// chuanyunGroupProjectDetailDO.setCompanyName(chuanyunCompanyDO.getCompanyName());
|
|
|
-// chuanyunGroupProjectDetailDO.setType(chuanyunGroupProjectDO.getProjectType());
|
|
|
-// chuanyunGroupProjectDetailDO.setParentObjectId(chuanyunGroupProjectDO.getObjectId());
|
|
|
-// detaillist.add(chuanyunGroupProjectDetailDO);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// chuanyunGroupProjectDO.setDetailList(detaillist);
|
|
|
+ if (chuanyunGroupProjectDO.getDetailList() == null || chuanyunGroupProjectDO.getDetailList().size() == 1) {
|
|
|
+ List<ChuanyunGroupProjectDetailDO> detaillist = new ArrayList<>();
|
|
|
+ for (ChuanyunCompanyDO chuanyunCompanyDO : chuanyunCompanyDao.findAll()) {
|
|
|
+ if (!chuanyunCompanyDO.getCompanyName().equals("浙江凯乐士无锡分公司")&&!chuanyunCompanyDO.getCompanyName().equals("GALAXIS Automation management GmbH")) {
|
|
|
+ ChuanyunGroupProjectDetailDO chuanyunGroupProjectDetailDO = new ChuanyunGroupProjectDetailDO();
|
|
|
+ chuanyunGroupProjectDetailDO.setCompanyName(chuanyunCompanyDO.getCompanyName());
|
|
|
+ chuanyunGroupProjectDetailDO.setType(chuanyunGroupProjectDO.getProjectType());
|
|
|
+ chuanyunGroupProjectDetailDO.setParentObjectId(chuanyunGroupProjectDO.getObjectId());
|
|
|
+ detaillist.add(chuanyunGroupProjectDetailDO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chuanyunGroupProjectDO.setDetailList(detaillist);
|
|
|
+ }
|
|
|
//将projectManger和projectOwner替换为主键
|
|
|
if(!StringUtils.isEmpty(chuanyunGroupProjectDO.getProjectOwner())){
|
|
|
chuanyunGroupProjectDO.setProjectOwner(chuanyunGroupProjectDO.getProjectOwnerObject().getObjectId());
|
|
|
}
|
|
|
//将项目组成员projectMember替换为主键
|
|
|
- if (chuanyunGroupProjectDO.getProjectMemberlist()!= null) {
|
|
|
+ if (chuanyunGroupProjectDO.getProjectMemberlist() != null) {
|
|
|
var memberlist = new ArrayList<>();
|
|
|
var builder = new StringBuilder();
|
|
|
for (ChuanyunObject chuanyunObject: chuanyunGroupProjectDO.getProjectMemberObject()) {
|
|
@@ -167,21 +169,22 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
//替换为主键后更新氚云数据表来增加权限
|
|
|
chuanyunGroupProjectDO.setProjectMemberlist(memberlist.toArray(new String[0]));
|
|
|
}
|
|
|
-// //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
|
|
|
-// if ("EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())&&chuanyunGroupProjectDO.getProjectMemberlist().length==0&&
|
|
|
-// ("实施".equals(chuanyunGroupProjectDO.getProjectType())||"维保".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
-// "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||"售后".equals(chuanyunGroupProjectDO.getProjectType()))) {
|
|
|
-// List<String> projectmember = new ArrayList<>();
|
|
|
-// for (ChuanyunUserCompanyDO chuanyunUserCompanyDO : chuanyunUserCompanyDao.findAll()) {
|
|
|
-// if (chuanyunCompanyDao.findByObjectId(chuanyunUserCompanyDO.getCompanyId()).getBusinessGroup().equals("EBG")) {
|
|
|
-// builder.append(chuanyunUserCompanyDO.getUserId()+";");
|
|
|
-// projectmember.add(chuanyunUserCompanyDO.getUserId());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
-// chuanyunGroupProjectDO.setProjectMemberlist(projectmember.toArray(new String[projectmember.size()]));
|
|
|
-// log.info("成员已更新");
|
|
|
-// }
|
|
|
+ //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
|
|
|
+ if ("EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())&&chuanyunGroupProjectDO.getProjectMemberlist()==null&&
|
|
|
+ ("实施".equals(chuanyunGroupProjectDO.getProjectType())||"维保".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
+ "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||"售后".equals(chuanyunGroupProjectDO.getProjectType()))) {
|
|
|
+ var projectmember = new ArrayList<>();
|
|
|
+ var builder = new StringBuilder();
|
|
|
+ for (ChuanyunUserCompanyDO chuanyunUserCompanyDO : chuanyunUserCompanyDao.findAll()) {
|
|
|
+ if (chuanyunCompanyDao.findByObjectId(chuanyunUserCompanyDO.getCompanyId()).getBusinessGroup().equals("EBG")) {
|
|
|
+ builder.append(chuanyunUserCompanyDO.getUserId()+";");
|
|
|
+ projectmember.add(chuanyunUserCompanyDO.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
+ chuanyunGroupProjectDO.setProjectMemberlist(projectmember.toArray(new String[projectmember.size()]));
|
|
|
+ log.info("成员已更新");
|
|
|
+ }
|
|
|
|
|
|
//通过更新集团项目中的EBG项目经理、IBG项目经理
|
|
|
//TODO 测试结束后需要扩大范围到所有项目
|
|
@@ -201,6 +204,10 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
if(chuanyunSaveDTO.getSuccessful()){
|
|
|
log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目经理成功"+groupProjectUpdateString);
|
|
|
updateFlag=true;
|
|
|
+ //更新成功之后重新获取集团项目组信息,防止id为空
|
|
|
+ var chuanyunFindResponse = chuanYunManager.find(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId());
|
|
|
+ ChuanyunGroupProjectDO chuanyunGroupProjectDO1 = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
|
|
|
+ chuanyunGroupProjectDO.setDetailList(chuanyunGroupProjectDO1.getDetailList());
|
|
|
}else{
|
|
|
log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目经理失败"+groupProjectUpdateString);
|
|
|
log.warn(chuanyunGroupProjectDO+"");
|
|
@@ -484,6 +491,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
*/
|
|
|
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.EAGER)
|
|
|
@JsonProperty("D001789Fd992bf8fbe114c9babe0f98cf676f8a2")
|
|
|
+// @JsonProperty("D001789Fvspc68z01idftf5nqt66pkuc0")
|
|
|
private List<ChuanyunGroupProjectDetailDO> detailList;
|
|
|
|
|
|
|