|
@@ -67,6 +67,8 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
//只处理项目成员为空的情况
|
|
|
boolean emptyFlag= chuanyunGroupProjectDO.getProjectMemberList()==null||chuanyunGroupProjectDO.getProjectMemberList().length==0;
|
|
|
if(emptyFlag){
|
|
|
+ //增加项目成员
|
|
|
+ addMemberList(chuanyunGroupProjectDO);
|
|
|
GroupProjectUpdateDTO groupProjectUpdateDTO= new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
|
|
|
//生成更新数据后校验数据是否增加成功
|
|
|
if(groupProjectUpdateDTO.getProjectMemberList()!=null&&groupProjectUpdateDTO.getProjectMemberList().length!=0){
|
|
@@ -99,10 +101,39 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 如果有项目组成员,将项目组成员projectMember替换为主键
|
|
|
* 如果没有项目组成员,判断是否是EBG的实施、研发二开、售后维保项目,如果是,则添加EBG全体成员
|
|
|
* @param chuanyunGroupProjectDO 项目对象
|
|
|
*/
|
|
|
+ private void addMemberList(ChuanyunGroupProjectDO chuanyunGroupProjectDO){
|
|
|
+ //项目成员为空的情况判断
|
|
|
+ //判断项目BG是否为EBG
|
|
|
+ var specifiedBusinessGroupFlag=ChuanyunGroupProjectDO.EBG.equals(chuanyunGroupProjectDO.getBusinessGroup());
|
|
|
+ //判断项目类型是否为 下列项目类型中的一种
|
|
|
+ var specifiedProjectTypeFlag=("实施".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
+ "维保".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
+ "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
+ "售后".equals(chuanyunGroupProjectDO.getProjectType()));
|
|
|
+ //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
|
|
|
+ if (specifiedBusinessGroupFlag&&specifiedProjectTypeFlag) {
|
|
|
+ var projectMember = new ArrayList<String>();
|
|
|
+ var builder = new StringBuilder();
|
|
|
+ ChuanYunConstant.USER_BUSINESS_GROUP.forEach((k, v)->{
|
|
|
+ if (ChuanyunGroupProjectDO.EBG.equals(v)&&null!=k){
|
|
|
+ builder.append(k).append(StringConstant.SEMICOLON);
|
|
|
+ projectMember.add(k);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
+ chuanyunGroupProjectDO.setProjectMemberList(projectMember.toArray(new String[0]));
|
|
|
+ log.info("成员已更新"+chuanyunGroupProjectDO.getProjectCode()+chuanyunGroupProjectDO.getProjectType());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 如果有项目组成员,将项目组成员projectMember替换为主键
|
|
|
+ * @param chuanyunGroupProjectDO 项目对象
|
|
|
+ */
|
|
|
private void projectMemberCheck(ChuanyunGroupProjectDO chuanyunGroupProjectDO){
|
|
|
if (chuanyunGroupProjectDO.getProjectMemberList() != null && chuanyunGroupProjectDO.getProjectMemberList().length>0) {
|
|
|
List<String> memberList = new ArrayList<>();
|
|
@@ -114,30 +145,6 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
//替换为主键后更新氚云数据表来增加权限
|
|
|
chuanyunGroupProjectDO.setProjectMemberList(memberList.toArray(new String[0]));
|
|
|
- }else {
|
|
|
- //项目成员为空的情况判断
|
|
|
- //判断项目BG是否为EBG
|
|
|
- var specifiedBusinessGroupFlag=ChuanyunGroupProjectDO.EBG.equals(chuanyunGroupProjectDO.getBusinessGroup());
|
|
|
- //判断项目类型是否为 下列项目类型中的一种
|
|
|
- var specifiedProjectTypeFlag=("实施".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "维保".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "售后".equals(chuanyunGroupProjectDO.getProjectType()));
|
|
|
- //如果项目组成员为空,则自动为项目添加所有EBG成员作为项目组成员
|
|
|
- if (specifiedBusinessGroupFlag&&specifiedProjectTypeFlag) {
|
|
|
- var projectMember = new ArrayList<String>();
|
|
|
- var builder = new StringBuilder();
|
|
|
- ChuanYunConstant.USER_BUSINESS_GROUP.forEach((k, v)->{
|
|
|
- if (ChuanyunGroupProjectDO.EBG.equals(v)&&null!=k){
|
|
|
- builder.append(k).append(StringConstant.SEMICOLON);
|
|
|
- projectMember.add(k);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- chuanyunGroupProjectDO.setProjectMember(builder.toString());
|
|
|
- chuanyunGroupProjectDO.setProjectMemberList(projectMember.toArray(new String[0]));
|
|
|
- log.info("成员已更新"+chuanyunGroupProjectDO.getProjectCode()+chuanyunGroupProjectDO.getProjectType());
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|