From a5e1d865a975b584694025b290651275d821b7a0 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Apr 2021 14:31:47 +0800 Subject: [PATCH 1/8] 20210414v1.2 --- .../src/main/java/com/ccsens/signin/service/UserService.java | 4 ++-- tall/src/main/java/com/ccsens/tall/service/UserService.java | 4 ++-- util/src/main/java/com/ccsens/util/CodeEnum.java | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/signin/src/main/java/com/ccsens/signin/service/UserService.java b/signin/src/main/java/com/ccsens/signin/service/UserService.java index ea4076d6..db323842 100644 --- a/signin/src/main/java/com/ccsens/signin/service/UserService.java +++ b/signin/src/main/java/com/ccsens/signin/service/UserService.java @@ -621,10 +621,10 @@ public class UserService implements IUserService { //检查图形验证码是否正确 String codeKey = WebConstant.IMAGE_CODE + verificationCodeId; if (!redisUtil.hasKey(codeKey)) { - throw new BaseException(CodeEnum.VERIFICATION_CODE_PAST); + throw new BaseException(CodeEnum.VERIFICATION_CODE_PAST_IMG); } if (!verificationCodeValue.equals(String.valueOf(redisUtil.get(codeKey)))) { - throw new BaseException(CodeEnum.VERIFICATION_CODE_ERROR); + throw new BaseException(CodeEnum.VERIFICATION_CODE_ERROR_IMG); } //验证一次,无论是否正确,都将缓存删除 redisUtil.del(codeKey); diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index 2959b3c9..4ecd5223 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -619,10 +619,10 @@ public class UserService implements IUserService { //检查图形验证码是否正确 String codeKey = WebConstant.IMAGE_CODE + verificationCodeId; if (!redisUtil.hasKey(codeKey)) { - throw new BaseException(CodeEnum.VERIFICATION_CODE_PAST); + throw new BaseException(CodeEnum.VERIFICATION_CODE_PAST_IMG); } if (!verificationCodeValue.equals(String.valueOf(redisUtil.get(codeKey)))) { - throw new BaseException(CodeEnum.VERIFICATION_CODE_ERROR); + throw new BaseException(CodeEnum.VERIFICATION_CODE_ERROR_IMG); } //验证一次,无论是否正确,都将缓存删除 redisUtil.del(codeKey); diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 437c10d7..380a2f29 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -133,7 +133,9 @@ public enum CodeEnum { NOT_UNIT(108,"时间单位不能为空",true), NOT_USER(109,"用户不存在",true), VERIFICATION_CODE_PAST(110,"验证码失效,请刷新重试",true), + VERIFICATION_CODE_PAST_IMG(110,"图形验证码失效,请刷新重试",true), VERIFICATION_CODE_ERROR(111,"验证码错误",true), + VERIFICATION_CODE_ERROR_IMG(111,"图形验证码错误",true), NOT_ROW(112,"该行不存在",true), VOTED(113,"对不起,您已经支持过看好的队伍了",true), From 2ee077b52d733cdc85178a6c6f7f7949cea7a5c9 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Apr 2021 15:34:19 +0800 Subject: [PATCH 2/8] 20210414v1.4 --- .../com/ccsens/tall/service/ExcelService.java | 86 ++++++++++++------- .../test/java/com/ccsens/util/OtherTest.java | 12 +++ 2 files changed, 66 insertions(+), 32 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index be9cfa37..c55b3d45 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -333,7 +333,8 @@ public class ExcelService implements IExcelService { role.setName(WebConstant.ROLE_NAME.ProjectVirtualRole.value); role.setDescription(WebConstant.ROLE_NAME.ProjectVirtualRole.phase); } else { - throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); + } proRoleService.saveProRole(role); proRoles.add(role); @@ -350,7 +351,7 @@ public class ExcelService implements IExcelService { // } } if (ObjectUtil.isNull(firstRoleId)) { - throw new BaseException("找不到系统角色[" + i + "]"); + throw new BaseException("找不到系统角色[" + (i + 1) + "]"); } //二级角色 if (StrUtil.isNotEmpty(secondRoleCell)) { @@ -367,41 +368,61 @@ public class ExcelService implements IExcelService { try { SysProject project = sysProjectDao.selectByPrimaryKey(Long.parseLong(roleRelevanceProjectId)); if(ObjectUtil.isNull(project)){ - throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + (i+1))); } proRole.setRelevanceProjectId(project.getId()); }catch (NumberFormatException e){ - throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + (i+1))); } } proRoleService.saveProRole(proRole); proRoles.add(proRole); secondRoleId = proRole.getId(); } else { - throw new BaseException(CodeEnum.WBS_REPEAT_ROLE_NAME.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_REPEAT_ROLE_NAME.addMsg(wbsSheet.getSheetName() + (i+1))); } } if (ObjectUtil.isNull(secondRoleId)) { - throw new BaseException("找不到二级角色[" + i + "]"); + throw new BaseException("找不到二级角色[" + (i+1) + "]"); } //添加角色成员关联信息 if (StrUtil.isNotEmpty(memberCell)) { - ProMemberRole memberRole = null; - for (ProMember member : proMembers) { - if (memberCell.equalsIgnoreCase(member.getNickname())) { - memberRole = new ProMemberRole(); - memberRole.setId(snowflake.nextId()); - memberRole.setMemberId(member.getId()); - memberRole.setRoleId(secondRoleId); - proMemberRoleService.saveMemberRole(memberRole); + + String regex = ",|,|;|;|、|/"; + String[] split = memberCell.split(regex); + for (int j = 0; j < split.length; j++) { + ProMemberRole memberRole = null; + for (ProMember member : proMembers) { + if (split[i].equalsIgnoreCase(member.getNickname())) { + memberRole = new ProMemberRole(); + memberRole.setId(snowflake.nextId()); + memberRole.setMemberId(member.getId()); + memberRole.setRoleId(secondRoleId); + proMemberRoleService.saveMemberRole(memberRole); + break; + } + } + if (ObjectUtil.isNull(memberRole)) { + throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName() + (i+1))); } } - if (ObjectUtil.isNull(memberRole)) { - throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName() + i)); - } - }else if (StrUtil.isNotEmpty(roleRelevanceProjectId)) { - +// ProMemberRole memberRole = null; +// for (ProMember member : proMembers) { +// if (memberCell.equalsIgnoreCase(member.getNickname())) { +// memberRole = new ProMemberRole(); +// memberRole.setId(snowflake.nextId()); +// memberRole.setMemberId(member.getId()); +// memberRole.setRoleId(secondRoleId); +// proMemberRoleService.saveMemberRole(memberRole); +// } +// } +// if (ObjectUtil.isNull(memberRole)) { +// throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName() + (i+1))); +// } } +// else if (StrUtil.isNotEmpty(roleRelevanceProjectId)) { +// +// } } //角色对谁不可见 @@ -415,7 +436,8 @@ public class ExcelService implements IExcelService { String excludeRoleCell = StringUtil.replaceComma(ExcelUtil.getCellValue(row.getCell(4))); //获取角色对谁不可见 if (StrUtil.isNotEmpty(excludeRoleCell)) { - excludeRoleCells = excludeRoleCell.split(","); + String regex = ",|,|;|;|、|/"; + excludeRoleCells = excludeRoleCell.split(regex); Long proRoleId = null; if (StrUtil.isNotEmpty(secondRoleCell)) { @@ -442,7 +464,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(roleId)) { - throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); } } excludeRoleService.saveExcludeRole(excludeRole); @@ -497,7 +519,7 @@ public class ExcelService implements IExcelService { //手机号不能为空 if ((StrUtil.isNotEmpty(memberCell) && StrUtil.isEmpty(phoneCell)) || (StrUtil.isNotEmpty(stakeholderCell) && StrUtil.isEmpty(stakeholderPhoneCell))) { - throw new BaseException(CodeEnum.WBS_NOT_PHONE.addMsg(memberSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_PHONE.addMsg(memberSheet.getSheetName() + (i+1))); } //TODO 判断手机号格式 @@ -523,7 +545,7 @@ public class ExcelService implements IExcelService { proMemberRole.setRoleId(stakeholderId); proMemberRoleService.saveMemberRole(proMemberRole); } else { - throw new BaseException(CodeEnum.WBS_STAKEHOLDER_PHONE.addMsg(memberSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_STAKEHOLDER_PHONE.addMsg(memberSheet.getSheetName() + (i+1))); } } //成员 @@ -546,7 +568,7 @@ public class ExcelService implements IExcelService { proMembers.add(member); // //创建者依据project的creatorId判断,不需要添加成员 } else { - throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName() + (i+1))); } } } @@ -824,7 +846,7 @@ public class ExcelService implements IExcelService { } if (ObjectUtil.isNull(firstTaskDetailId)) { - throw new BaseException("找不到任务[" + i + "]"); + throw new BaseException("找不到任务[" + (i+1) + "]"); } if(StrUtil.isNotEmpty(endTime)){ @@ -879,7 +901,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(executorRoleId)) { - throw new BaseException(CodeEnum.WBS_NOT_FIND_EXECUTOR_ROLE.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_FIND_EXECUTOR_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); } } //检查人 @@ -893,7 +915,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(checkerRoleId)) { - throw new BaseException(CodeEnum.WBS_NOT_FIND_CHECKER_ROLE.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_FIND_CHECKER_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); } } //奖惩金额 @@ -909,7 +931,7 @@ public class ExcelService implements IExcelService { } else if (delay.equals(WebConstant.TASK_DELAY.Manual.phase)) { taskDetail.setDelay((byte) WebConstant.TASK_DELAY.Manual.value); } else { - throw new BaseException(CodeEnum.WBS_DELAY_ERROR.addMsg(wbsSheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_DELAY_ERROR.addMsg(wbsSheet.getSheetName() + (i+1))); } } //延迟时间 @@ -932,7 +954,7 @@ public class ExcelService implements IExcelService { //输入文档 新的 if(StrUtil.isNotEmpty(inputFiles)){ - String regex=",|,|;|:|;|:|、|。"; + String regex=",|,|;|;|、|/"; String[] fileNames= inputFiles.split(regex); if(fileNames.length>0){ taskDeliverService.saveProTaskInputDoc(fileNames,taskDetail.getId()); @@ -989,7 +1011,7 @@ public class ExcelService implements IExcelService { wbsSubSheetService.getSubTaskMt(xssfWorkbook, subTaskCell, taskDetail, taskDetails, proMembers, deliver, hasGroupMap); break; default: -// throw new BaseException(CodeEnum.WBS_SUB_TASK_ANALYSIS.addMsg(wbsSheet.getSheetName() + i)); +// throw new BaseException(CodeEnum.WBS_SUB_TASK_ANALYSIS.addMsg(wbsSheet.getSheetName() + (i+1))); wbsSubSheetService.getSubTask(xssfWorkbook, subTaskCell, taskDetail, taskDetails, proMembers, deliver, hasGroupMap); } } @@ -1214,7 +1236,7 @@ public class ExcelService implements IExcelService { // taskDeliverService.saveDeliver(taskDeliver); // } // } - String regex=",|,|;|:|;|:|、|。"; + String regex=",|,|;|;|、|/"; deliverCell= deliverCell.replace("\n","").replace("\r",""); String[] fileNames= deliverCell.split(regex); if(fileNames.length>0){ @@ -1296,7 +1318,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(sysPluginId)) { - throw new BaseException(CodeEnum.WBS_NOT_PLUGIN.addMsg(sheet.getSheetName() + i)); + throw new BaseException(CodeEnum.WBS_NOT_PLUGIN.addMsg(sheet.getSheetName() + (i+1))); } if (CollectionUtil.isNotEmpty(taskNameList)) { for (ProTaskDetail taskName : taskNameList) { diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index b2fbc3d4..d760f4cb 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/util/src/test/java/com/ccsens/util/OtherTest.java @@ -129,6 +129,18 @@ public class OtherTest { public void test8(){ System.out.println(Byte.parseByte("-1") & 0xff); } + + @Test + public void test9(){ + String a = "a,b,c"; + String x = "a"; + + String[] split = a.split(","); + String[] split1 = x.split(","); + System.out.println(split); + System.out.println(split1); + + } // // /** // * 发送https请求 From 8acf8972ed5e50af824c9110a55e279375fc3ff9 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Apr 2021 15:52:26 +0800 Subject: [PATCH 3/8] 20210414v1.5 --- tall/src/main/java/com/ccsens/tall/service/ExcelService.java | 4 ++-- util/src/main/java/com/ccsens/util/CodeEnum.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index c55b3d45..aba56123 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -179,7 +179,7 @@ public class ExcelService implements IExcelService { private void readProject(XSSFSheet wbsSheet, int projectInfoStart, int projectInfoEnd, Long currentUserId, SysProject sysProject) throws Exception { XSSFRow row = wbsSheet.getRow(projectInfoStart + 1); if(ObjectUtil.isNull(row)){ - throw new BaseException(CodeEnum.NOT_ROW.addMsg(wbsSheet.getSheetName() + (projectInfoStart + 1))); + throw new BaseException(CodeEnum.notProject(wbsSheet.getSheetName() + (projectInfoStart + 1))); } String projectName = ExcelUtil.getCellValue(row.getCell(0)); if (StrUtil.isNotEmpty(projectName)) { @@ -393,7 +393,7 @@ public class ExcelService implements IExcelService { for (int j = 0; j < split.length; j++) { ProMemberRole memberRole = null; for (ProMember member : proMembers) { - if (split[i].equalsIgnoreCase(member.getNickname())) { + if (split[j].equalsIgnoreCase(member.getNickname())) { memberRole = new ProMemberRole(); memberRole.setId(snowflake.nextId()); memberRole.setMemberId(member.getId()); diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 380a2f29..2a03ab40 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -230,6 +230,11 @@ public enum CodeEnum { this.msg = msg+"行:"+this.msg; return this; } + public CodeEnum notProject(String msg) { + this.msg = msg + "找不到项目信息"; + return this; + } + public CodeEnum addMsgLwb(String msg) { this.msg = "未找到名为“"+msg+"”的列,请检查列名称是否正确"; return this; From 1f2a43355ef2f502bb49ef6058d977d34304d965 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 14 Apr 2021 16:16:29 +0800 Subject: [PATCH 4/8] =?UTF-8?q?wbs=E8=A7=92=E8=89=B2=E6=A0=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/service/ExcelService.java | 23 ++++++++++++++++--- .../main/java/com/ccsens/util/CodeEnum.java | 2 ++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index aba56123..6d6b4b29 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -179,7 +179,7 @@ public class ExcelService implements IExcelService { private void readProject(XSSFSheet wbsSheet, int projectInfoStart, int projectInfoEnd, Long currentUserId, SysProject sysProject) throws Exception { XSSFRow row = wbsSheet.getRow(projectInfoStart + 1); if(ObjectUtil.isNull(row)){ - throw new BaseException(CodeEnum.notProject(wbsSheet.getSheetName() + (projectInfoStart + 1))); +// throw new BaseException(CodeEnum.notProject(wbsSheet.getSheetName() + (projectInfoStart + 1))); } String projectName = ExcelUtil.getCellValue(row.getCell(0)); if (StrUtil.isNotEmpty(projectName)) { @@ -292,6 +292,8 @@ public class ExcelService implements IExcelService { Long firstRoleId = null; Long secondRoleId = null; + //循环结束判断字符串allOneRole是否包含PM和Member + String allOneRole = ""; for (int i = memberStart + 1; i <= memberEnd; i++) { XSSFRow row = wbsSheet.getRow(i); if(ObjectUtil.isNull(row)){ @@ -314,24 +316,31 @@ public class ExcelService implements IExcelService { if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.God.phase)) { role.setName(WebConstant.ROLE_NAME.God.value); role.setDescription(WebConstant.ROLE_NAME.God.phase); + allOneRole += WebConstant.ROLE_NAME.God.value; } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.ManageRepresent.phase)) { role.setName(WebConstant.ROLE_NAME.ManageRepresent.value); role.setDescription(WebConstant.ROLE_NAME.ManageRepresent.phase); + allOneRole += WebConstant.ROLE_NAME.ManageRepresent.value; } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Stakeholder.phase)) { role.setName(WebConstant.ROLE_NAME.Stakeholder.value); role.setDescription(WebConstant.ROLE_NAME.Stakeholder.phase); + allOneRole += WebConstant.ROLE_NAME.Stakeholder.value; } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.PM.phase)) { role.setName(WebConstant.ROLE_NAME.PM.value); role.setDescription(WebConstant.ROLE_NAME.PM.phase); + allOneRole += WebConstant.ROLE_NAME.PM.value; } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Member.phase)) { role.setName(WebConstant.ROLE_NAME.Member.value); role.setDescription(WebConstant.ROLE_NAME.Member.phase); + allOneRole += WebConstant.ROLE_NAME.Member.value; } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Attention.phase)) { role.setName(WebConstant.ROLE_NAME.Attention.value); role.setDescription(WebConstant.ROLE_NAME.Attention.phase); + allOneRole += WebConstant.ROLE_NAME.Attention.value; }else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.ProjectVirtualRole.phase)) { role.setName(WebConstant.ROLE_NAME.ProjectVirtualRole.value); role.setDescription(WebConstant.ROLE_NAME.ProjectVirtualRole.phase); + allOneRole += WebConstant.ROLE_NAME.ProjectVirtualRole.value; } else { throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); @@ -351,7 +360,8 @@ public class ExcelService implements IExcelService { // } } if (ObjectUtil.isNull(firstRoleId)) { - throw new BaseException("找不到系统角色[" + (i + 1) + "]"); + continue; +// throw new BaseException("找不到系统角色[" + (i + 1) + "]"); } //二级角色 if (StrUtil.isNotEmpty(secondRoleCell)) { @@ -383,7 +393,8 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(secondRoleId)) { - throw new BaseException("找不到二级角色[" + (i+1) + "]"); + continue; +// throw new BaseException("找不到二级角色[" + (i+1) + "]"); } //添加角色成员关联信息 if (StrUtil.isNotEmpty(memberCell)) { @@ -425,6 +436,12 @@ public class ExcelService implements IExcelService { // } } + if (!allOneRole.contains(WebConstant.ROLE_NAME.PM.value)){ + throw new BaseException(CodeEnum.NOT_FOUND_PM); + } + if (!allOneRole.contains(WebConstant.ROLE_NAME.Member.value)){ + throw new BaseException(CodeEnum.NOT_FOUND_Member); + } //角色对谁不可见 String[] excludeRoleCells; for (int i = memberStart + 1; i <= memberEnd; i++) { diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 2a03ab40..49681ea5 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -199,6 +199,8 @@ public enum CodeEnum { CHONGFUTIJIAO(163,"不要重复提交",true), ZUISHAOCHUANLIANGE(164,"排序最少需要传入两个",true), HOSPITAL_NOT_FOUND(165,"没有找到医院",true), + NOT_FOUND_PM(166,"系统角色缺少项目经理",true), + NOT_FOUND_Member(166,"系统角色缺少项目成员",true), ; From 515d047154f9a0208837065514d5af91c272d87a Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 14 Apr 2021 17:15:46 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5wbs?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E7=BB=86?= =?UTF-8?q?=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/tall/service/ExcelService.java | 8 ++++++-- util/src/main/java/com/ccsens/util/CodeEnum.java | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 6d6b4b29..86f60e1f 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -401,8 +401,10 @@ public class ExcelService implements IExcelService { String regex = ",|,|;|;|、|/"; String[] split = memberCell.split(regex); + String memberName =""; for (int j = 0; j < split.length; j++) { ProMemberRole memberRole = null; + memberName = split[j]; for (ProMember member : proMembers) { if (split[j].equalsIgnoreCase(member.getNickname())) { memberRole = new ProMemberRole(); @@ -414,7 +416,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(memberRole)) { - throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName() + (i+1))); + throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsgAndMemberName(wbsSheet.getSheetName() + (i+1),memberName)); } } // ProMemberRole memberRole = null; @@ -467,7 +469,9 @@ public class ExcelService implements IExcelService { } if (ObjectUtil.isNotNull(excludeRoleCells)) { + String noLookName = ""; for (int a = 0; a < excludeRoleCells.length; a++) { + noLookName = excludeRoleCells[a]; ProRoleExclude excludeRole = new ProRoleExclude(); excludeRole.setId(snowflake.nextId()); excludeRole.setRoleId(proRoleId); @@ -481,7 +485,7 @@ public class ExcelService implements IExcelService { } } if (ObjectUtil.isNull(roleId)) { - throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); + throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsgAndNoLookName(wbsSheet.getSheetName() + (i+1),noLookName)); } } excludeRoleService.saveExcludeRole(excludeRole); diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 49681ea5..4b3bd56a 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -232,6 +232,14 @@ public enum CodeEnum { this.msg = msg+"行:"+this.msg; return this; } + public CodeEnum addMsgAndMemberName(String msg,String memberName){ + this.msg = msg+"行:成员["+memberName+"]"+this.msg; + return this; + } + public CodeEnum addMsgAndNoLookName(String msg,String noLookName){ + this.msg = msg+"行:对谁不可见成员["+noLookName+"]"+this.msg; + return this; + } public CodeEnum notProject(String msg) { this.msg = msg + "找不到项目信息"; return this; From e348757abeedc93309b791540d16bfe609b3d6bb Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Apr 2021 17:21:55 +0800 Subject: [PATCH 6/8] 20210414v1.6 --- .../com/ccsens/tall/service/ExcelService.java | 3 +- .../com/ccsens/tall/service/ILwbsService.java | 7 ++ .../ccsens/tall/service/InputDocService.java | 11 -- .../com/ccsens/tall/service/LwbsService.java | 101 ++++++++++++++++++ tall/src/main/resources/application.yml | 4 +- .../main/java/com/ccsens/util/CodeEnum.java | 8 +- 6 files changed, 114 insertions(+), 20 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/service/ILwbsService.java create mode 100644 tall/src/main/java/com/ccsens/tall/service/LwbsService.java diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index aba56123..8ed9d7af 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -179,7 +179,7 @@ public class ExcelService implements IExcelService { private void readProject(XSSFSheet wbsSheet, int projectInfoStart, int projectInfoEnd, Long currentUserId, SysProject sysProject) throws Exception { XSSFRow row = wbsSheet.getRow(projectInfoStart + 1); if(ObjectUtil.isNull(row)){ - throw new BaseException(CodeEnum.notProject(wbsSheet.getSheetName() + (projectInfoStart + 1))); +// throw new BaseException(CodeEnum.notProject(wbsSheet.getSheetName() ,(projectInfoStart + 1))); } String projectName = ExcelUtil.getCellValue(row.getCell(0)); if (StrUtil.isNotEmpty(projectName)) { @@ -334,7 +334,6 @@ public class ExcelService implements IExcelService { role.setDescription(WebConstant.ROLE_NAME.ProjectVirtualRole.phase); } else { throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName() + (i+1))); - } proRoleService.saveProRole(role); proRoles.add(role); diff --git a/tall/src/main/java/com/ccsens/tall/service/ILwbsService.java b/tall/src/main/java/com/ccsens/tall/service/ILwbsService.java new file mode 100644 index 00000000..1668e2b2 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/service/ILwbsService.java @@ -0,0 +1,7 @@ +package com.ccsens.tall.service; + +/** + * @author 逗 + */ +public interface ILwbsService { +} diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index de74c18c..cc16413d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -103,17 +103,6 @@ public class InputDocService implements IInputDocService { return selByUserIdToComProjectVos; } - public TaskVo.ProTaskInfo queryLwbs(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { - - if(ObjectUtil.isNotNull(param.getId())){ - //如果项目id为空。则查询所有 - - }else { - //项目id不为空。查询单个项目 - - } - return null; - } @Override public TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); diff --git a/tall/src/main/java/com/ccsens/tall/service/LwbsService.java b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java new file mode 100644 index 00000000..19ae1f88 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/service/LwbsService.java @@ -0,0 +1,101 @@ +package com.ccsens.tall.service; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.po.ProRole; +import com.ccsens.tall.bean.po.ProShow; +import com.ccsens.tall.bean.po.ProShowExample; +import com.ccsens.tall.bean.po.ProSubTimeMember; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.util.TaskUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class LwbsService implements ILwbsService{ + + + public TaskVo.ProTaskInfo queryLwbs(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { + + if(ObjectUtil.isNotNull(param.getId())){ + //如果项目id为空。则查询所有 + }else { + //项目id不为空。查询单个项目 + + } + return null; + } + +// private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long startTime, +// Long endTime, Integer process, Integer priority) throws Exception { +// TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); +// +// List globalTaskList = new ArrayList<>(); +// List normalTaskList = new ArrayList<>(); +// TaskVo.GlobalTask globalTask; +// //获取“全体成员”角色 +// ProRole allMember = proRoleService.getAllMember(projectId); +// Long allMemberId = null; +// if (ObjectUtil.isNotNull(allMember)) { +// allMemberId = allMember.getId(); +// } +// +// //查找该项目下该用户的的所有的任务 +// List secondTaskVoList = +// List secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, +// allMemberId, startTime, endTime, priority); +// +// if (CollectionUtil.isNotEmpty(secondTaskVoList)) { +// for (TaskVo.NormalTask normalTask : secondTaskVoList) { +// +// //任务完成状态 +// if (normalTask.getProcess() != 2) { +// ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId()); +// if (ObjectUtil.isNotNull(subTimeMember)) { +// normalTask.setProcess(subTimeMember.getComplatedStatus()); +// normalTask.setRealEndTime(subTimeMember.getRealFinishTime()); +// } else if (normalTask.getProcess() > 2) { +// normalTask.setRealEndTime((long) 0); +// normalTask.setProcess(0); +// } +// } +// } +// +// TaskUtil.Task task = TaskUtil.splitTask(secondTaskVoList, startTime, endTime, process); +// +// if (CollectionUtil.isNotEmpty(task.getGlobalTask())) { +// for (TaskVo.NormalTask global : task.getGlobalTask()) { +// globalTask = new TaskVo.GlobalTask(); +// BeanUtil.copyProperties(global, globalTask); +// globalTaskList.add(globalTask); +// } +// } +// if (CollectionUtil.isNotEmpty(task.getCommonTask())) { +// if (priority == 0) { +// normalTaskList = sortTaskTime(task.getCommonTask()); +// } else { +// normalTaskList = task.getCommonTask(); +// } +// } +// +// } +// +// proTaskInfo.setGlobalTaskList(globalTaskList); +// proTaskInfo.setNormalTaskList(normalTaskList); +// +// return proTaskInfo; +// } + +} diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index ebc544af..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: test - include: util-test,common + active: dev + include: util-dev,common diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 2a03ab40..6e578005 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -227,14 +227,12 @@ public enum CodeEnum { return this; } public CodeEnum addMsg(String msg){ + if(this.msg.contains("行:")){ + this.msg = this.msg.substring(this.msg.indexOf("行:") + 2); + } this.msg = msg+"行:"+this.msg; return this; } - public CodeEnum notProject(String msg) { - this.msg = msg + "找不到项目信息"; - return this; - } - public CodeEnum addMsgLwb(String msg) { this.msg = "未找到名为“"+msg+"”的列,请检查列名称是否正确"; return this; From a19399db7116288fec897996e5c9cf916407a606 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 14 Apr 2021 18:37:35 +0800 Subject: [PATCH 7/8] 0414 --- .../com/ccsens/tall/service/ExcelService.java | 19 +++++++++++++++---- .../main/java/com/ccsens/util/CodeEnum.java | 5 ++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 2e41c6c8..46487c82 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -425,7 +425,7 @@ public class ExcelService implements IExcelService { throw new BaseException(CodeEnum.NOT_FOUND_PM); } if (!allOneRole.toString().contains(WebConstant.ROLE_NAME.Member.value)){ - throw new BaseException(CodeEnum.NOT_FOUND_Member); + throw new BaseException(CodeEnum.NOT_FOUND_MEMBER); } //角色对谁不可见 String[] excludeRoleCells; @@ -526,7 +526,10 @@ public class ExcelService implements IExcelService { throw new BaseException(CodeEnum.WBS_NOT_PHONE.addMsg(memberSheet.getSheetName(), (i+1),memberCell)); } //TODO 判断手机号格式 - + String regex ="^[1]([3-9])[0-9]{9}$"; + if (!phoneCell.matches(regex)){ + throw new BaseException(CodeEnum.WBS_PHONE_ERROR.addMsg(memberSheet.getSheetName() + (i+1))); + } //添加奖惩干系人 if (StrUtil.isNotEmpty(stakeholderCell)) { if (!stakeholderWithPhone(stakeholderList, stakeholderCell, stakeholderPhoneCell)) { @@ -829,7 +832,11 @@ public class ExcelService implements IExcelService { // firstTaskDetail.setBeginTime(firstStartTime); // }else{ if (StrUtil.isNotEmpty(beginTime)) { - firstTaskDetail.setBeginTime(Long.valueOf(beginTime)); + try{ + firstTaskDetail.setBeginTime(Long.valueOf(beginTime)); + }catch (Exception e){ + throw new BaseException(CodeEnum.WBS_TASK_START_TIME_ERROR.addMsg(wbsSheet.getSheetName() + (i+1))); + } }else { firstTaskDetail.setBeginTime(sysProject.getBeginTime()); } @@ -852,7 +859,11 @@ public class ExcelService implements IExcelService { if(CollectionUtil.isNotEmpty(taskDetails)){ for(ProTaskDetail taskDetail : taskDetails){ if(taskDetail.getId().longValue() == firstTaskDetailId){ - taskDetail.setEndTime(Long.valueOf(endTime)); + try { + taskDetail.setEndTime(Long.valueOf(endTime)); + }catch (Exception e){ + throw new BaseException(CodeEnum.WBS_TASK_END_TIME_ERROR.addMsg(wbsSheet.getSheetName() + (i+1))); + } taskDetailDao.updateByPrimaryKeySelective(taskDetail); firstStartTime = taskDetail.getEndTime(); break; diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 25c19994..828fc4ef 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -32,6 +32,7 @@ public enum CodeEnum { WBS_NOT_PROJECT(17,"找不到项目信息",true), WBS_NOT_MEMBER_SHEET(18,"未找到项目成员表",true), WBS_NOT_PHONE(19,"手机号为空",true), + WBS_PHONE_ERROR(19,"手机号格式错误",true), WBS_STAKEHOLDER_PHONE(20,"奖惩干系人和手机号不匹配",true), WBS_REPEAT_MEMBER_PHONE(21,"成员已存在",true), WBS_NOT_FIRST_ROLE(22,"系统角色名称错误",true), @@ -201,8 +202,10 @@ public enum CodeEnum { ZUISHAOCHUANLIANGE(164,"排序最少需要传入两个",true), HOSPITAL_NOT_FOUND(165,"没有找到医院",true), NOT_FOUND_PM(166,"系统角色缺少项目经理",true), - NOT_FOUND_Member(167,"系统角色缺少项目成员",true), + NOT_FOUND_MEMBER(167,"系统角色缺少项目成员",true), NOT_SUPPORT_CYCLE(168,"重复规则文本格式暂不支持",true), + WBS_TASK_START_TIME_ERROR(168,"任务开始时间格式错误,请检查后操作",true), + WBS_TASK_END_TIME_ERROR(169,"任务结束时间格式错误,请检查后操作",true), ; From 0f989f7fac11e0db65801f8c076063d90b77395d Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 15 Apr 2021 09:34:38 +0800 Subject: [PATCH 8/8] 20210415v1.0 --- tall/src/main/java/com/ccsens/tall/service/ExcelService.java | 4 ++-- tall/src/main/resources/application.yml | 4 ++-- util/src/main/java/com/ccsens/util/CodeEnum.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 46487c82..9c90ed95 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -230,7 +230,7 @@ public class ExcelService implements IExcelService { */ private void readMember(XSSFSheet wbsSheet, XSSFSheet memberSheet, int memberStart, int memberEnd, SysProject sysProject, List proRoles, List proMembers) throws Exception { - Integer seq=new Integer(0); + int seq= 0; //添加奖惩干系人角色(一级角色) ProRole stakeholderRole = new ProRole(); stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); @@ -575,7 +575,7 @@ public class ExcelService implements IExcelService { proMembers.add(member); // //创建者依据project的creatorId判断,不需要添加成员 } else { - throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName(),(i+1),memberCell)); + throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName(),(i+1))); } } } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b5408a3a..ebc544af 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: util-dev,common + active: test + include: util-test,common diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 828fc4ef..47091d08 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -34,7 +34,7 @@ public enum CodeEnum { WBS_NOT_PHONE(19,"手机号为空",true), WBS_PHONE_ERROR(19,"手机号格式错误",true), WBS_STAKEHOLDER_PHONE(20,"奖惩干系人和手机号不匹配",true), - WBS_REPEAT_MEMBER_PHONE(21,"成员已存在",true), + WBS_REPEAT_MEMBER_PHONE(21,"成员名或手机号与其他人重复",true), WBS_NOT_FIRST_ROLE(22,"系统角色名称错误",true), WBS_REPEAT_ROLE_NAME(23,"角色名称重复",true), WSB_NOT_MEMBER(24,"未找到对应成员", true),