diff --git a/JenkinsfileCopy b/JenkinsfileCopy index ddbd943..e7667f7 100644 --- a/JenkinsfileCopy +++ b/JenkinsfileCopy @@ -6,12 +6,12 @@ pipeline { stage('打包jar..........') { steps { echo '打包中...' - //sh 'pwd' + echo 'maven-start...' - //sh '/apache-maven-3.9.11/bin/mvn -version' - //sh '/apache-maven-3.9.11/bin/mvn clean package' + sh '/apache-maven-3.9.11/bin/mvn -version' + sh '/apache-maven-3.9.11/bin/mvn clean package' echo 'maven-end...' - //sh 'cp ${PATH}/target/*.jar .' + sh 'cp ${PATH}/target/*.jar .' echo '打包Success...' } } @@ -39,7 +39,7 @@ pipeline { } //环境变量 environment { - MODULE_PATH = 'fly-home-common' + MODULE_PATH = 'fly-home-common' PROJECT_NAME = 'flyhome-order' VERSION = '2.4.1' PATH= 'fly-home-order/fly-home-order-server' diff --git a/src/main/java/com/sa/zentao/dao/ZtStoryDTO.java b/src/main/java/com/sa/zentao/dao/ZtStoryDTO.java index e2a185a..1c7f84d 100644 --- a/src/main/java/com/sa/zentao/dao/ZtStoryDTO.java +++ b/src/main/java/com/sa/zentao/dao/ZtStoryDTO.java @@ -342,5 +342,9 @@ public class ZtStoryDTO implements Serializable { */ @ExcelIgnore private Date testPlanEndTime; - + /** + * 交付物 + */ + @ExcelIgnore + private String deliverContent; } diff --git a/src/main/java/com/sa/zentao/dao/ZtTaskDTO.java b/src/main/java/com/sa/zentao/dao/ZtTaskDTO.java index b8ba040..e2cb23d 100644 --- a/src/main/java/com/sa/zentao/dao/ZtTaskDTO.java +++ b/src/main/java/com/sa/zentao/dao/ZtTaskDTO.java @@ -208,4 +208,8 @@ public class ZtTaskDTO implements Serializable { private String feedbackRemark; private Integer delayFlag=0; + /** + * 交付物 + */ + private String deliverContent; } diff --git a/src/main/java/com/sa/zentao/entity/ZtStory.java b/src/main/java/com/sa/zentao/entity/ZtStory.java index a612cc9..0455a44 100644 --- a/src/main/java/com/sa/zentao/entity/ZtStory.java +++ b/src/main/java/com/sa/zentao/entity/ZtStory.java @@ -215,7 +215,10 @@ public class ZtStory implements Serializable { * 测试预计完成时间 */ private Date testPlanEndTime; - + /** + * 交付物 + */ + private String deliverContent; // //开发完成时间 // private Date develDate; // //测试完成时间 diff --git a/src/main/java/com/sa/zentao/entity/ZtTask.java b/src/main/java/com/sa/zentao/entity/ZtTask.java index 06786f5..af880b6 100644 --- a/src/main/java/com/sa/zentao/entity/ZtTask.java +++ b/src/main/java/com/sa/zentao/entity/ZtTask.java @@ -196,4 +196,8 @@ public class ZtTask implements Serializable { private String approvalRemark; //问题反馈处理结果 private String feedbackRemark; + /** + * 交付物 + */ + private String deliverContent; } diff --git a/src/main/java/com/sa/zentao/enums/ActionStatus.java b/src/main/java/com/sa/zentao/enums/ActionStatus.java index 7f83d12..701aa8a 100644 --- a/src/main/java/com/sa/zentao/enums/ActionStatus.java +++ b/src/main/java/com/sa/zentao/enums/ActionStatus.java @@ -47,18 +47,21 @@ public enum ActionStatus { CASEPSTG(53, "reviewpassed","评审通过"), CASEPSYDMQ(54, "reviewclarified","测试用例评审有待明确"), CASEPSBTG(55, "reviewrejected","测试用例评审不通过"), - CASEBJ(4, "caseEdited","编辑需求用例"), - CASEXJ(1, "casePpened","新建用例"), + CASEBJ(56, "caseEdited","编辑需求用例"), + CASEXJ(57, "casePpened","新建用例"), KSCL(61, "startHand","开始处理"), WXCL(62, "dontHand","无需处理"), CLWC(65, "handFinished","处理完成"), + TJJFW(70, "submitDeliverContent","提交交付物"), + + LOGIN(100, "login","登录"), XGMM(101, "xgmm","修改密码"), - CZMM(101, "czmm","重置密码"), - CZINFO(101, "czmm","重置"), + CZMM(102, "czmm","重置密码"), + CZINFO(103, "czmm","重置"), ; @EnumValue diff --git a/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java b/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java index 5fd5b77..924bf65 100644 --- a/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java +++ b/src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java @@ -863,6 +863,7 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme ztTask.setConsumed(dto.getConsumed()); ztTask.setLeft(dto.getLeft() - dto.getConsumed()); ztTask.setFeedbackRemark(dto.getFeedbackRemark()); + ztTask.setDeliverContent(dto.getDeliverContent()); if (ztTask.getLeft() < 0) { ztTask.setLeft(0f); } @@ -887,8 +888,34 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme .eq(ZtProjectproduct::getProject, ztTask.getProject())); actionService.addAction(ActionType.RW, ActionStatus.KS, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), - RiskUserThreadLocal.get().getName(), dto.getRemark(), null); + RiskUserThreadLocal.get().getName(), "", null); + if("done".equals(ztTask.getStatus())){ + String finishBy = StringUtils.isEmpty(ztTask.getFinishedby())?RiskUserThreadLocal.get().getName():ztTask.getFinishedby(); + //如果是测试任务 提交交付物 + if("test".equals(ztTask.getType())&&!StringUtils.isEmpty(ztTask.getDeliverContent())){ + actionService.addAction(ActionType.RW, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null); + if(ztTask.getStory()!=null&&ztTask.getStory()!=0){ + actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null); + } + if(ztTask.getStory()!=null&&ztTask.getStory()!=0){ + //更新需求交付物 + ZtStory ztStory = this.storyService.getById(ztTask.getStory()); + if(ztStory!=null){ + ztStory.setDeliverContent(ztTask.getDeliverContent()); + this.storyService.updateById(ztStory); + } + } + } + if(!StringUtils.isEmpty(dto.getRemark())){ + actionService.addAction(ActionType.RW, ActionStatus.TJBZ, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getRemark(), null); + } + actionService.addAction(ActionType.RW, ActionStatus.WC, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, "", null); + } if (ztTask.getExecution() != null && ztTask.getExecution() != 0) { if (StringUtils.isEmpty(dto.getTabType())) { KanbanQo qo = new KanbanQo(); @@ -949,7 +976,7 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme ztTask.setFinishedDate(new Date()); } - + ztTask.setDeliverContent(dto.getDeliverContent()); ztTask.setLasteditedby(RiskUserThreadLocal.get().getName()); ztTask.setLastediteddate(new Date()); this.baseMapper.updateById(ztTask); @@ -964,8 +991,22 @@ public class ZtTaskServiceImpl extends ServiceImpl impleme //添加action ZtProjectproduct projectproduct = projectproductService.getOne(new QueryWrapper().lambda().eq(ZtProjectproduct::getProject, ztTask.getProject())); + //如果是测试任务 提交交付物 + if("test".equals(ztTask.getType())&&!StringUtils.isEmpty(ztTask.getDeliverContent())){ + actionService.addAction(ActionType.RW, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null); + if(ztTask.getStory()!=null&&ztTask.getStory()!=0){ + actionService.addAction(ActionType.XQ, ActionStatus.TJJFW, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getDeliverContent(), null); + } + } + if(!StringUtils.isEmpty(dto.getRemark())){ + actionService.addAction(ActionType.RW, ActionStatus.TJBZ, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getRemark(), null); + } actionService.addAction(ActionType.RW, ActionStatus.WC, dto.getId(), projectproduct == null ? null : projectproduct.getProduct().toString(), projectproduct == null ? null : projectproduct.getProject(), ztTask.getExecution(), - StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, dto.getRemark(), null); + StringUtils.isEmpty(finishBy) ? RiskUserThreadLocal.get().getName() : finishBy, "", null); + if (ztTask.getExecution() != null && ztTask.getExecution() != 0) { if (StringUtils.isEmpty(dto.getTabType())) { kanbanlaneService.changeStatus(ztTask.getExecution(), ztTask.getId(), "task", "developed");