|
@@ -145,22 +145,6 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
chuanyunGroupProjectDO.setIsCreate(projectDO.getIsCreate());
|
|
|
chuanyunGroupProjectDao.delete(tmpGroupProjectDO.get());
|
|
|
});
|
|
|
- //新增项目组织信息
|
|
|
- //TODO 这个地方不要做到定时更新的功能里,初始化组织信息只是独立一次的操作,初始化之后的数据维护会交给对应的项目经理。这个方法单独做一个controller来提供调用
|
|
|
-// if (chuanyunGroupProjectDO.getDetailList() == null || chuanyunGroupProjectDO.getDetailList().size() == 1) {
|
|
|
-// List<ChuanyunGroupProjectDetailDO> detailList = new ArrayList<>();
|
|
|
-// for (ChuanyunCompanyDO chuanyunCompanyDO : chuanyunCompanyDao.findAll()) {
|
|
|
-// if (!"浙江凯乐士无锡分公司".equals(chuanyunCompanyDO.getCompanyName())&&!"GALAXIS Automation management GmbH".equals(chuanyunCompanyDO.getCompanyName())) {
|
|
|
-// ChuanyunGroupProjectDetailDO chuanyunGroupProjectDetailDO = new ChuanyunGroupProjectDetailDO();
|
|
|
-// chuanyunGroupProjectDetailDO.setCompanyName(chuanyunCompanyDO.getCompanyName());
|
|
|
-// chuanyunGroupProjectDetailDO.setType(chuanyunGroupProjectDO.getProjectType());
|
|
|
-// chuanyunGroupProjectDetailDO.setParentObjectId(chuanyunGroupProjectDO.getObjectId());
|
|
|
-// detailList.add(chuanyunGroupProjectDetailDO);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// chuanyunGroupProjectDO.setDetailList(detailList);
|
|
|
-// }
|
|
|
-
|
|
|
|
|
|
//处理项目对象中的项目成员数据
|
|
|
projectMemberCheck(chuanyunGroupProjectDO);
|
|
@@ -220,89 +204,6 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
Thread.sleep(5000L);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- 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) {
|
|
|
- var memberlist = new ArrayList<>();
|
|
|
- var builder = new StringBuilder();
|
|
|
- for (ChuanyunObject chuanyunObject: chuanyunGroupProjectDO.getProjectMemberObject()) {
|
|
|
- builder.append(chuanyunObject.getObjectId()).append(";");
|
|
|
- memberlist.add(chuanyunObject.getObjectId());
|
|
|
- }
|
|
|
- chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
- //替换为主键后更新氚云数据表来增加权限
|
|
|
- chuanyunGroupProjectDO.setProjectMemberlist(memberlist.toArray(new String[0]));
|
|
|
- }
|
|
|
- //如果项目组成员为空,则自动为项目添加所有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 测试结束后需要扩大范围到所有项目
|
|
|
- GroupProjectUpdateDTO groupProjectUpdateDTO=new GroupProjectUpdateDTO();
|
|
|
- try {
|
|
|
- chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- groupProjectUpdateDTO=new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
|
|
|
- //保证项目经理信息更新成功
|
|
|
- boolean updateFlag=false;
|
|
|
- while (!updateFlag){
|
|
|
- try {
|
|
|
- var groupProjectUpdateString=objectMapper.writeValueAsString(groupProjectUpdateDTO);
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectUpdateString);
|
|
|
- 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+"");
|
|
|
- Thread.sleep(5000L);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- });
|
|
|
- chuanyunGroupProjectDao.saveAll(result);
|
|
|
- }catch (Exception e){
|
|
|
- log.error(e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目经理失败"+e.getMessage());
|
|
|
}
|