Browse Source

1.修改集团项目组织信息

WoNiu 5 years ago
parent
commit
8cc641bd74

+ 0 - 99
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

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