From ebd4fb25816011cf6ea5a81ff58df63555cbf338 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Mon, 22 Mar 2021 18:28:12 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/LwbsDto.java | 7 ++-- .../java/com/ccsens/tall/bean/vo/LwbsVo.java | 8 ++--- .../ccsens/tall/persist/dao/IInputDocDao.java | 14 ++++++++ .../ccsens/tall/service/InputDocService.java | 13 ++++--- .../com/ccsens/tall/web/LwbsController.java | 1 + .../resources/mapper_dao/IInputDocDao.xml | 36 +++++++++++++++++++ 6 files changed, 66 insertions(+), 13 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java create mode 100644 tall/src/main/resources/mapper_dao/IInputDocDao.xml diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java index 5d78b7bc..8495bd74 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java @@ -28,12 +28,13 @@ public class LwbsDto { @ApiModelProperty("项目id") private Long id; @NotNull - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @ApiModelProperty("开始时间") - private Date startTime; + private Long startTime; @NotNull @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @ApiModelProperty("结束时间") - private Date endTime; + private Long endTime; + @ApiModelProperty("任务等级") + private Byte level=(byte)2; } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java index af56218f..b73867b1 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java @@ -24,14 +24,10 @@ public class LwbsVo { @Data @ApiModel("查询某人下的项目的任务") public static class SelByProjectIdToTaskVo { - @NotNull - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @ApiModelProperty("开始时间") - private Date startTime; - @NotNull - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Long startTime; @ApiModelProperty("结束时间") - private Date endTime; + private Long endTime; @ApiModelProperty("详情") private String description; @ApiModelProperty("标签 0否 1是 2普通任务 3关键任务") diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java new file mode 100644 index 00000000..62f22a41 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -0,0 +1,14 @@ +package com.ccsens.tall.persist.dao; + +import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.vo.LwbsVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface IInputDocDao { + + List selectById(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); +} 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 e7649048..2653f266 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -6,9 +6,11 @@ import com.ccsens.tall.bean.po.ProMemberExample; import com.ccsens.tall.bean.po.SysProject; import com.ccsens.tall.bean.po.SysProjectExample; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.persist.dao.IInputDocDao; import com.ccsens.tall.persist.mapper.ProMemberMapper; import com.ccsens.tall.persist.mapper.SysProjectMapper; import com.rabbitmq.client.TopologyRecoveryException; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -21,7 +23,8 @@ public class InputDocService implements IInputDocService { public ProMemberMapper proMemberMapper; @Resource public SysProjectMapper sysProjectMapper; - + @Resource + private IInputDocDao iInputDocDao; @Override public List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) { List selByUserIdToComProjectVos =new ArrayList(); @@ -38,7 +41,7 @@ public class InputDocService implements IInputDocService { longList.add(proMember.getProjectId()); }); SysProjectExample sysProjectExample=new SysProjectExample(); - sysProjectExample.createCriteria().andRecStatusEqualTo((byte)0).andIdIn(longList).andBeginTimeGreaterThanOrEqualTo(param.getStartTime().getTime()).andEndTimeLessThanOrEqualTo(param.getEndTime().getTime()); + sysProjectExample.createCriteria().andRecStatusEqualTo((byte)0).andIdIn(longList).andBeginTimeLessThanOrEqualTo(param.getStartTime().getTime()).andEndTimeGreaterThanOrEqualTo(param.getEndTime().getTime()); List sysProjects = sysProjectMapper.selectByExample(sysProjectExample); sysProjects.forEach(sysProject -> { LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_zhongjian =new LwbsVo.SelByUserIdToComProjectVo(); @@ -48,13 +51,15 @@ public class InputDocService implements IInputDocService { }); //手动添加一个其他 LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_qita =new LwbsVo.SelByUserIdToComProjectVo(); - selByUserIdToComProjectVo_wode.setName("其他"); + selByUserIdToComProjectVo_qita.setName("其他"); selByUserIdToComProjectVos.add(selByUserIdToComProjectVo_qita); return selByUserIdToComProjectVos; } @Override public List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { - return null; + List se= iInputDocDao.selectById(param,userId); + + return se; } } diff --git a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java index 4564c7fe..bb2da721 100644 --- a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java +++ b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java @@ -27,6 +27,7 @@ import java.util.List; public class LwbsController { @Autowired private IInputDocService iInputDocService; + @MustLogin @ApiOperation(value = "查询人下参加的所有的项目", notes = "1007:输出") @RequestMapping(value = "/selByUserIdToComProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml new file mode 100644 index 00000000..1b8bd02c --- /dev/null +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -0,0 +1,36 @@ + + + + + + \ No newline at end of file From 35c2c5b5c50804e8e12602c45f5128df46df6ea5 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 23 Mar 2021 10:16:51 +0800 Subject: [PATCH 02/26] tijiao --- .../com/ccsens/tall/bean/dto/LwbsDto.java | 1 - .../java/com/ccsens/tall/bean/vo/LwbsVo.java | 2 ++ .../resources/mapper_dao/IInputDocDao.xml | 21 +++++++++++++------ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java index 8495bd74..ccfe11bb 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java @@ -31,7 +31,6 @@ public class LwbsDto { @ApiModelProperty("开始时间") private Long startTime; @NotNull - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @ApiModelProperty("结束时间") private Long endTime; @ApiModelProperty("任务等级") diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java index b73867b1..f855d5f2 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java @@ -32,6 +32,8 @@ public class LwbsVo { private String description; @ApiModelProperty("标签 0否 1是 2普通任务 3关键任务") private Byte milestone; + @ApiModelProperty("时间差") + private Long cha; } diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 1b8bd02c..4bee4226 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -1,14 +1,23 @@ - - SELECT tptd.project_id AS id, tptd.`name`, tptd.description, - tptst.begin_time, - tptst.end_time, + tptst.begin_time as beginTime, + tptst.end_time as endTime, ( tptst.end_time - tptst.begin_time ) / 1000 / 3600 AS cha, tptd.milestone FROM @@ -27,10 +36,10 @@ AND tpmr.member_id IN ( SELECT id FROM t_pro_member tpm WHERE tpm.user_id = #{userId} AND tpm.rec_status = 0 ) ) AND tptst.task_detail_id = tptd.id - and tptst.begin_time=< #{param.startTime} + and tptst.begin_time<= #{param.startTime} and tptst.end_time >= #{param.endTime} - and tptd.project_id=#{id} + and tptd.project_id=#{param.id} \ No newline at end of file From 0058c05ed7f5e13628682d0f145d91a133209e82 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 23 Mar 2021 11:11:55 +0800 Subject: [PATCH 03/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/bean/po/ProShow.java | 11 ++++ .../ccsens/tall/bean/po/ProShowExample.java | 60 +++++++++++++++++++ .../com/ccsens/tall/bean/vo/ProjectVo.java | 2 + .../ccsens/tall/service/ProjectService.java | 6 ++ .../resources/mapper_raw/ProShowMapper.xml | 45 +++++++++----- 5 files changed, 109 insertions(+), 15 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProShow.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProShow.java index d18d011e..8a8a13ba 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProShow.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProShow.java @@ -14,6 +14,8 @@ public class ProShow implements Serializable { private Byte isShowMvp; + private Byte style; + private Byte createTask; private String timeShow; @@ -82,6 +84,14 @@ public class ProShow implements Serializable { this.isShowMvp = isShowMvp; } + public Byte getStyle() { + return style; + } + + public void setStyle(Byte style) { + this.style = style; + } + public Byte getCreateTask() { return createTask; } @@ -197,6 +207,7 @@ public class ProShow implements Serializable { sb.append(", slide=").append(slide); sb.append(", filter=").append(filter); sb.append(", isShowMvp=").append(isShowMvp); + sb.append(", style=").append(style); sb.append(", createTask=").append(createTask); sb.append(", timeShow=").append(timeShow); sb.append(", duration=").append(duration); diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProShowExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProShowExample.java index cd570e76..59f56608 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProShowExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProShowExample.java @@ -405,6 +405,66 @@ public class ProShowExample { return (Criteria) this; } + public Criteria andStyleIsNull() { + addCriterion("style is null"); + return (Criteria) this; + } + + public Criteria andStyleIsNotNull() { + addCriterion("style is not null"); + return (Criteria) this; + } + + public Criteria andStyleEqualTo(Byte value) { + addCriterion("style =", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleNotEqualTo(Byte value) { + addCriterion("style <>", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleGreaterThan(Byte value) { + addCriterion("style >", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleGreaterThanOrEqualTo(Byte value) { + addCriterion("style >=", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleLessThan(Byte value) { + addCriterion("style <", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleLessThanOrEqualTo(Byte value) { + addCriterion("style <=", value, "style"); + return (Criteria) this; + } + + public Criteria andStyleIn(List values) { + addCriterion("style in", values, "style"); + return (Criteria) this; + } + + public Criteria andStyleNotIn(List values) { + addCriterion("style not in", values, "style"); + return (Criteria) this; + } + + public Criteria andStyleBetween(Byte value1, Byte value2) { + addCriterion("style between", value1, value2, "style"); + return (Criteria) this; + } + + public Criteria andStyleNotBetween(Byte value1, Byte value2) { + addCriterion("style not between", value1, value2, "style"); + return (Criteria) this; + } + public Criteria andCreateTaskIsNull() { addCriterion("create_task is null"); return (Criteria) this; diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java index e3f7c08e..93a0cc16 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java @@ -134,6 +134,8 @@ public class ProjectVo { private int createTask = 1; @ApiModelProperty("是否展示MVP 0:不展示 1:展示") private int showMvp = 1; + @ApiModelProperty("项目样式 0 胶囊 1列表") + private Byte style; @JsonIgnore//0日程,1天,2周,3月 private int selectTaskType = 2; @ApiModelProperty("查询任务类型") diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 5e440c39..5bd77f98 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -210,9 +210,11 @@ public class ProjectService implements IProjectService { projectConfig.setSelectTaskType(proShowList.get(0).getSelectTaskType()); projectConfig.setDetailPath(proShowList.get(0).getDetailPath()); projectConfig.setPimsNavType(proShowList.get(0).getPimsNavType()); + projectConfig.setStyle(proShowList.get(0).getStyle()); projectInfo.setProjectConfig(projectConfig); } else { ProjectVo.ProjectConfig projectConfig = new ProjectVo.ProjectConfig(); + projectConfig.setStyle((byte) 0); projectInfo.setProjectConfig(projectConfig); } //查找项目未处理的消息数量 @@ -286,12 +288,14 @@ public class ProjectService implements IProjectService { projectConfig.setSelectTaskType(proShowList.get(0).getSelectTaskType()); projectConfig.setDetailPath(proShowList.get(0).getDetailPath()); projectConfig.setPimsNavType(proShowList.get(0).getPimsNavType()); + projectConfig.setStyle(proShowList.get(0).getStyle()); projectInfo.setProjectConfig(projectConfig); } else { ProjectVo.ProjectConfig projectConfig = new ProjectVo.ProjectConfig(); projectConfig.setFilter(0); projectConfig.setSlide(0); projectConfig.setCreateTask(1); + projectConfig.setStyle((byte)0); projectInfo.setProjectConfig(projectConfig); } //获取项目下的标签信息 @@ -381,9 +385,11 @@ public class ProjectService implements IProjectService { projectConfig.setSelectTaskType(proShowList.get(0).getSelectTaskType()); projectConfig.setDetailPath(proShowList.get(0).getDetailPath()); projectConfig.setPimsNavType(proShowList.get(0).getPimsNavType()); + projectConfig.setStyle(proShowList.get(0).getStyle()); projectInfo.setProjectConfig(projectConfig); } else { ProjectVo.ProjectConfig projectConfig = new ProjectVo.ProjectConfig(); + projectConfig.setStyle((byte)0); projectInfo.setProjectConfig(projectConfig); } //获取项目下的标签信息 diff --git a/tall/src/main/resources/mapper_raw/ProShowMapper.xml b/tall/src/main/resources/mapper_raw/ProShowMapper.xml index ab399014..dd83eae0 100644 --- a/tall/src/main/resources/mapper_raw/ProShowMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProShowMapper.xml @@ -7,6 +7,7 @@ + @@ -80,9 +81,9 @@ - id, project_id, slide, filter, is_show_mvp, create_task, time_show, duration, show_shortcuts, - select_task_type, detail_path, pims_nav_type, share_change, share_change_code, created_at, - updated_at, rec_status, role_belong + id, project_id, slide, filter, is_show_mvp, style, create_task, time_show, duration, + show_shortcuts, select_task_type, detail_path, pims_nav_type, share_change, share_change_code, + created_at, updated_at, rec_status, role_belong SELECT tptd.project_id AS id, @@ -42,4 +53,41 @@ and tptd.project_id=#{param.id} + + + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 00a56c1e..9c9979e2 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -3,7 +3,7 @@ package com.ccsens.util; import lombok.Getter; @Getter -public enum CodeEnum { +public enum CodeEnum { /** * 异常 */ @@ -186,6 +186,7 @@ public enum CodeEnum { ZHUYUANIDCHONGFU(155,"住院号重复",true), MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true), QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), + DOC_REPEAT(158,"输入文档已存在",true), ; From 1c31cebc09103deaa94a7aa0cc7822821685115d Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Thu, 25 Mar 2021 13:19:41 +0800 Subject: [PATCH 11/26] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beneficiation/src/main/resources/application-prod.yml | 2 +- cloudutil/src/main/resources/application-util-prodsd.yml | 2 +- form/src/main/resources/application-prod.yml | 2 +- health/src/main/resources/application-prod.yml | 2 +- mt/src/main/resources/application-prod.yml | 2 +- ocr/src/main/resources/application-prod.yml | 2 +- pims/src/main/resources/application-prod.yml | 2 +- signin/src/main/resources/application-prod.yml | 2 +- tall/src/main/java/com/ccsens/tall/web/DebugController.java | 2 +- tall/src/main/resources/application-prod.yml | 2 +- tall/src/main/resources/application.yml | 4 ++-- tcm/src/main/resources/application-prod.yml | 2 +- util/src/test/java/com/ccsens/util/FileTest.java | 2 +- wisdomcar/src/main/resources/application-prod.yml | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/beneficiation/src/main/resources/application-prod.yml b/beneficiation/src/main/resources/application-prod.yml index fe1f5636..e4e53009 100644 --- a/beneficiation/src/main/resources/application-prod.yml +++ b/beneficiation/src/main/resources/application-prod.yml @@ -29,7 +29,7 @@ swagger: enable: true eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/cloudutil/src/main/resources/application-util-prodsd.yml b/cloudutil/src/main/resources/application-util-prodsd.yml index 189c4bef..6fd2ea14 100644 --- a/cloudutil/src/main/resources/application-util-prodsd.yml +++ b/cloudutil/src/main/resources/application-util-prodsd.yml @@ -22,7 +22,7 @@ eureka: #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/ # defaultZone: http://admin:admin@81.70.54.64:7010/eureka/ - defaultZone: http://admin:admin@192.144.182.42:7010/eureka/ + defaultZone: http://admin:admin@121.36.3.207:7010/eureka/ instance: # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server diff --git a/form/src/main/resources/application-prod.yml b/form/src/main/resources/application-prod.yml index 58ab4196..56e55a6d 100644 --- a/form/src/main/resources/application-prod.yml +++ b/form/src/main/resources/application-prod.yml @@ -29,7 +29,7 @@ swagger: enable: true eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/health/src/main/resources/application-prod.yml b/health/src/main/resources/application-prod.yml index 7d033160..ae3f50e3 100644 --- a/health/src/main/resources/application-prod.yml +++ b/health/src/main/resources/application-prod.yml @@ -32,7 +32,7 @@ swagger: enable: false eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 file: path: /home/cloud/health/uploads/ domain: https://sd.tall.com/gateway/health/ diff --git a/mt/src/main/resources/application-prod.yml b/mt/src/main/resources/application-prod.yml index 27606410..f8cc85cb 100644 --- a/mt/src/main/resources/application-prod.yml +++ b/mt/src/main/resources/application-prod.yml @@ -29,7 +29,7 @@ swagger: enable: true eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/ocr/src/main/resources/application-prod.yml b/ocr/src/main/resources/application-prod.yml index 48426ae3..765cc1f0 100644 --- a/ocr/src/main/resources/application-prod.yml +++ b/ocr/src/main/resources/application-prod.yml @@ -35,7 +35,7 @@ eureka: # www.tall.wiki # ip-address: 140.143.228.3 # ip-address: 81.70.54.64 - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/pims/src/main/resources/application-prod.yml b/pims/src/main/resources/application-prod.yml index 41884d4e..2a72dcb8 100644 --- a/pims/src/main/resources/application-prod.yml +++ b/pims/src/main/resources/application-prod.yml @@ -31,4 +31,4 @@ swagger: enable: false eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 diff --git a/signin/src/main/resources/application-prod.yml b/signin/src/main/resources/application-prod.yml index bf0a7001..c5ce4fb7 100644 --- a/signin/src/main/resources/application-prod.yml +++ b/signin/src/main/resources/application-prod.yml @@ -35,7 +35,7 @@ eureka: # www.tall.wiki # ip-address: 140.143.228.3 # ip-address: 81.70.54.64 - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/tall/src/main/java/com/ccsens/tall/web/DebugController.java b/tall/src/main/java/com/ccsens/tall/web/DebugController.java index ef1de5d3..8beb2ccd 100644 --- a/tall/src/main/java/com/ccsens/tall/web/DebugController.java +++ b/tall/src/main/java/com/ccsens/tall/web/DebugController.java @@ -41,7 +41,7 @@ public class DebugController { @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ }) - @RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value="",produces = {"application/json;charset=UTF-8"}) public JsonResponse getSmsCode(HttpServletRequest request) throws Exception { // redisUtil.set("wps_tall_appId","d12722a7d28e430c889309fa4754aaba"); // redisUtil.set("wps_tall_appKey","f273e717247947ba8942a2373b6896c7"); diff --git a/tall/src/main/resources/application-prod.yml b/tall/src/main/resources/application-prod.yml index e31f8289..42358e7d 100644 --- a/tall/src/main/resources/application-prod.yml +++ b/tall/src/main/resources/application-prod.yml @@ -35,7 +35,7 @@ eureka: # www.tall.wiki # ip-address: 140.143.228.3 # ip-address: 81.70.54.64 - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index ebc544af..e75cc2c3 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: prod + include: util-prod,common diff --git a/tcm/src/main/resources/application-prod.yml b/tcm/src/main/resources/application-prod.yml index 8029e69d..c701b723 100644 --- a/tcm/src/main/resources/application-prod.yml +++ b/tcm/src/main/resources/application-prod.yml @@ -29,7 +29,7 @@ swagger: enable: true eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ diff --git a/util/src/test/java/com/ccsens/util/FileTest.java b/util/src/test/java/com/ccsens/util/FileTest.java index 76aeab73..dfa17327 100644 --- a/util/src/test/java/com/ccsens/util/FileTest.java +++ b/util/src/test/java/com/ccsens/util/FileTest.java @@ -23,7 +23,7 @@ public class FileTest { ByteArrayOutputStream baos = null; BufferedOutputStream bout = null; try { - URL url = new URL("http://192.144.182.42:7030/v1.0/file/download/数钱游戏配置表1.xlsx?path=wps/202012071/f93826c0e81e499f9c749d7a9d0da5d1.xlsx"); + URL url = new URL("http://121.36.3.207:7030/v1.0/file/download/数钱游戏配置表1.xlsx?path=wps/202012071/f93826c0e81e499f9c749d7a9d0da5d1.xlsx"); URLConnection conn = url.openConnection(); in = conn.getInputStream(); System.out.println(in.available()); diff --git a/wisdomcar/src/main/resources/application-prod.yml b/wisdomcar/src/main/resources/application-prod.yml index d63a1a17..9b2069d4 100644 --- a/wisdomcar/src/main/resources/application-prod.yml +++ b/wisdomcar/src/main/resources/application-prod.yml @@ -29,7 +29,7 @@ swagger: enable: true eureka: instance: - ip-address: 192.144.182.42 + ip-address: 121.36.3.207 gatewayUrl: https://www.tall.wiki/gateway/ notGatewayUrl: https://www.tall.wiki/ From 58f9bf25834feaeb23c8ea3509392bc6a12ff0f8 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Thu, 25 Mar 2021 14:46:36 +0800 Subject: [PATCH 12/26] lwbs --- .../com/ccsens/tall/bean/dto/LwbsDto.java | 4 + .../java/com/ccsens/tall/bean/vo/LwbsVo.java | 3 +- .../java/com/ccsens/tall/bean/vo/TaskVo.java | 7 +- .../ccsens/tall/persist/dao/IInputDocDao.java | 3 +- .../ccsens/tall/service/IInputDocService.java | 3 +- .../ccsens/tall/service/InputDocService.java | 142 +++++++++++++++++- .../com/ccsens/tall/web/LwbsController.java | 7 +- tall/src/main/resources/application-dev.yml | 4 +- tall/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/IInputDocDao.xml | 101 +++++++++---- 10 files changed, 235 insertions(+), 43 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java index e060f9fc..168a2198 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java @@ -31,6 +31,10 @@ public class LwbsDto { @NotNull @ApiModelProperty("结束时间") private Long endTime; + @ApiModelProperty("完成状态 0全部,1完成,2未完成") + private Integer process = 0; + @ApiModelProperty("优先级排序 0无 1倒叙(优先级高的在前) 2正序") + private Integer priority = 0; @ApiModelProperty("任务等级") private Byte level=(byte)2; } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java index 2bcd1bca..0f3f8baf 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/LwbsVo.java @@ -44,9 +44,8 @@ public class LwbsVo { private Long id; @ApiModelProperty("项目名称") private String name; - @ApiModelProperty("所有的任务") + @ApiModelProperty("普通任务") private List list; - } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 08f3672b..829dcc21 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -61,7 +61,12 @@ public class TaskVo { private int delay; @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成") private int process; - + @ApiModelProperty("所属项目id") + private Long projectId; + @ApiModelProperty("所属项目名称") + private String projectName; + @ApiModelProperty("项目下得全局任务") + private List normalTaskList; @ApiModelProperty("页面/接口路径") private String webPath; @ApiModelProperty("程序位置 0:tall内部,1外部") diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java index 62f22a41..f09de704 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -2,6 +2,7 @@ package com.ccsens.tall.persist.dao; import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.bean.vo.TaskVo; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -10,5 +11,5 @@ import java.util.List; @Repository public interface IInputDocDao { - List selectById(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); + List selectByCompany(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 53c651d2..657bbd93 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -2,11 +2,12 @@ package com.ccsens.tall.service; import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.bean.vo.TaskVo; import java.util.List; public interface IInputDocService { List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId); - List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); + TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); } 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 4ad032ed..02bf6da3 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -1,14 +1,18 @@ package com.ccsens.tall.service; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.po.ProMember; import com.ccsens.tall.bean.po.ProMemberExample; import com.ccsens.tall.bean.po.SysProject; import com.ccsens.tall.bean.po.SysProjectExample; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.IInputDocDao; import com.ccsens.tall.persist.mapper.ProMemberMapper; import com.ccsens.tall.persist.mapper.SysProjectMapper; +import com.ccsens.tall.util.TaskUtil; import com.rabbitmq.client.TopologyRecoveryException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,9 +61,141 @@ public class InputDocService implements IInputDocService { } @Override - public List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { - List se= iInputDocDao.selectById(param,userId); + public TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { + TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); + //普通的任务和全局的 + List normalTaskList1= iInputDocDao.selectByCompany(param,userId); + //拆分后得全局任务和普通任务 + List globalTaskList = new ArrayList<>(); + List normalTaskList = new ArrayList<>(); + for (int i = 0; i < normalTaskList1.size(); i++) { + //拆分项目下得普通任务和全局任务 + List list= normalTaskList1.get(i).getSecondTasks(); + TaskUtil.Task task = TaskUtil.splitTask(list, param.getStartTime(), param.getEndTime(), param.getProcess()); + if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ + //给全局任务下先存项目名称 + TaskVo.GlobalTask globalTask=new TaskVo.GlobalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i),globalTask); + globalTask.setNormalTaskList(task.getGlobalTask()); + globalTaskList.add(globalTask); + } + if(CollectionUtil.isNotEmpty(task.getCommonTask())){ + //给普通任务下先存项目 + TaskVo.NormalTask normalTask =new TaskVo.NormalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i),normalTask); + normalTask.setSecondTasks(task.getCommonTask()); + normalTaskList.add(normalTask); + } + } + taskInfo.setGlobalTaskList(globalTaskList); + taskInfo.setNormalTaskList(normalTaskList); - return se; +// List globalTaskList = new ArrayList<>(); +// List normalTaskList = new ArrayList<>(); +// TaskVo.GlobalTask globalTask; +// //从普通和全局任务中拆分开是普通和全局任务 +// TaskUtil.Task task = TaskUtil.splitTask(normalTaskList1, param.getStartTime(), param.getEndTime(), param.getProcess()); +// 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 (param.getPriority() == 0) { +// normalTaskList = sortTaskTime(task.getCommonTask()); +// } else { +// normalTaskList = task.getCommonTask(); +// } +// } +// taskInfo.setGlobalTaskList(globalTaskList); +// taskInfo.setNormalTaskList(normalTaskList); + return taskInfo; + } + private List sortTaskTime(List commonTask) { + + List normalTaskList = new ArrayList<>(); + List secondTaskVoList; + Set longSet = new HashSet<>(); + if (CollectionUtil.isNotEmpty(commonTask)) { + for (TaskVo.NormalTask secondTaskVo : commonTask) { + longSet.add(secondTaskVo.getBeginTime()); + longSet.add(secondTaskVo.getEndTime()); + } + List timeList = new ArrayList<>(longSet); + for (int i = 0; i < timeList.size(); i++) { + for (int j = 0; j < timeList.size() - i - 1; j++) { + if (timeList.get(j) > timeList.get(j + 1)) { + Long r = timeList.get(j); + timeList.set(j, timeList.get(j + 1)); + timeList.set(j + 1, r); + } + } + } + int sequence = 1; + for (int i = 0; i < timeList.size() - 1; i++) { + TaskVo.NormalTask normalTask; + secondTaskVoList = new ArrayList<>(); + Long startTime = timeList.get(i); + Long endTime = timeList.get(i + 1); + + for (TaskVo.NormalTask secondTaskVo : commonTask) { + if (secondTaskVo.getTimeStatus() == 1) { + if (secondTaskVo.getBeginTime().longValue() == startTime.longValue()) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVo, normalTask); + normalTask.setEndTime(null); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + continue; + } + if (secondTaskVo.getTimeStatus() == 2) { + if (secondTaskVo.getEndTime().longValue() == endTime.longValue()) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVo, normalTask); + normalTask.setBeginTime(null); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + continue; + } + if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { + secondTaskVo.setBeginTime(startTime); + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) { + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getBeginTime() < endTime && secondTaskVo.getEndTime() > endTime) { + secondTaskVo.setEndTime(endTime); + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() > endTime) { + secondTaskVo.setBeginTime(startTime); + secondTaskVo.setEndTime(endTime); + secondTaskVoList.add(secondTaskVo); + } + } + if (CollectionUtil.isNotEmpty(secondTaskVoList)) { + if (secondTaskVoList.size() == 1) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVoList.get(0), normalTask); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } else { + normalTask = new TaskVo.NormalTask(); + normalTask.setBeginTime(startTime); + normalTask.setEndTime(endTime); + normalTask.setSecondTasks(secondTaskVoList); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + } + } + } + return normalTaskList; } } diff --git a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java index 5d6f3a58..57c45bf1 100644 --- a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java +++ b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java @@ -5,6 +5,7 @@ import com.ccsens.tall.annotation.MustLoginTall; import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.service.IInputDocService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; @@ -38,12 +39,12 @@ public class LwbsController { log.info("输出某人下的所有的项目成功"); return JsonResponse.newInstance().ok(selBylwbs); } - @MustLogin + @MustLoginTall @ApiOperation(value = "查询某人下参加的项目的所有的任务", notes = "1007:输出") @RequestMapping(value = "/selByProjectIdToTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> selByProjectIdToTask(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse selByProjectIdToTask(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询某人下参加的项目的所有的任务:{}",params); - List selBylwbs= iInputDocService.selByProjectIdToTask(params.getParam(),params.getUserId()); + TaskVo.ProTaskInfo selBylwbs= iInputDocService.selByProjectIdToTask(params.getParam(),params.getUserId()); log.info("查询某人下参加的项目的所有的任务"); return JsonResponse.newInstance().ok(selBylwbs); } diff --git a/tall/src/main/resources/application-dev.yml b/tall/src/main/resources/application-dev.yml index 58302ba7..a9224030 100644 --- a/tall/src/main/resources/application-dev.yml +++ b/tall/src/main/resources/application-dev.yml @@ -11,8 +11,8 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: 192.168.0.99 -# host: 127.0.0.1 +# host: 192.168.0.99 + host: 127.0.0.1 password: guest port: 5672 username: guest 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/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 4bee4226..db94d2d2 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -1,45 +1,90 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + - SELECT - tptd.project_id AS id, - tptd.`name`, - tptd.description, - tptst.begin_time as beginTime, - tptst.end_time as endTime, - ( tptst.end_time - tptst.begin_time ) / 1000 / 3600 AS cha, - tptd.milestone + tsp.id AS pId, + tsp.`name` AS pName, + tsp.description AS pDescription, + tsp.begin_time as pBeginTime, + tsp.end_time as pEndTime, + (tsp.end_time-tsp.begin_time)/1000/3600 as pDuration, + tptdt.id as task_id, + tptdt.name, + tptdt.description, + tptdt.begin_time_sub_time, + tptdt.end_time_sub_time, + (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600 as duration, + tptdt.cycle, + tptdt.priority, + tptdt.milestone, + tptdt.has_group, + tptdt.times_id FROM - t_pro_task_detail tptd, - t_pro_task_sub_time tptst + t_sys_project tsp + INNER JOIN t_pro_member tpm ON tpm.project_id = tsp.id AND tpm.user_id = #{userId} and tpm.rec_status=0 + + and tpm.project_id=#{param.id} + + LEFT JOIN ( + SELECT + tptd.*, + tptst.begin_time AS begin_time_sub_time, + tptst.end_time AS end_time_sub_time, + tptst.id as times_id + FROM + t_pro_task_detail tptd + LEFT JOIN t_pro_task_sub_time tptst ON tptd.id = tptst.task_detail_id + AND tptst.rec_status = 0 WHERE - tptd.`level` = 2 - AND tptd.rec_status = 0 + tptd.rec_status = 0 + AND tptd.`level` = 2 + AND tptst.begin_time <= #{param.endTime} AND tptst.end_time >= #{param.startTime} AND tptd.executor_role IN ( SELECT tpmr.role_id FROM - t_pro_member_role tpmr + t_pro_member_role tpmr, + t_pro_member tpm WHERE - tpmr.rec_status = 0 - AND tpmr.member_id IN ( SELECT id FROM t_pro_member tpm WHERE tpm.user_id = #{userId} AND tpm.rec_status = 0 ) + tpm.rec_status = 0 + AND tpmr.rec_status = 0 + AND tpm.user_id = #{userId} UNION + SELECT + tpr.id + FROM + t_pro_role tpr + WHERE + tpr.rec_status = 0 + AND tpr.NAME = '全体成员' ) - AND tptst.task_detail_id = tptd.id - and tptst.begin_time<= #{param.startTime} - and tptst.end_time >= #{param.endTime} - - and tptd.project_id=#{param.id} + ) tptdt ON tptdt.project_id = tsp.id + WHERE + tsp.rec_status = 0 + AND tsp.begin_time <= #{param.endTime} AND tsp.end_time >= #{param.startTime} + + and tsp.id =#{param.id} \ No newline at end of file From f2cddbafe7db06f51461196e710511738c59b812 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Thu, 25 Mar 2021 18:50:15 +0800 Subject: [PATCH 13/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/tall/persist/dao/IInputDocDao.java | 8 +++ .../ccsens/tall/service/IInputDocService.java | 21 +++++- .../ccsens/tall/service/InputDocService.java | 66 ++++++++++++++++--- .../resources/mapper_dao/IInputDocDao.xml | 36 +++++++++- 4 files changed, 116 insertions(+), 15 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java index 1a855c3a..4d583b01 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -27,4 +27,12 @@ public interface IInputDocDao { * @return */ List viewDocHistory(Long docId); + + /** + * 查询二级任务下的所有的任务 + * @param param + * @param userId + * @return + */ + List selByTwoTaskId(@Param("param") LwbsDto.SelByProjectIdToTaskDto param,@Param("userId") Long userId,@Param("taskId") Long taskId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 9413572f..1ad98303 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -10,12 +10,29 @@ import com.ccsens.util.bean.dto.QueryDto; import java.util.List; public interface IInputDocService { + /** + * 查询 该人参加得所有的项目 + * @param param + * @param userId + * @return + */ List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId); + /** + * 查询 该人参加的项目(把项目当成一级任务)及项目下的二级任务 + * @param param + * @param userId + * @return + */ TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); - //List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); - + /** + * 查询二级任务下的所有的子任务 + * @param param + * @param userId + * @return + */ + List selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId); /** * 根据任务id查询输入文档 * @param params 任务id 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 0ce20d68..af64d66e 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -79,6 +79,21 @@ public class InputDocService implements IInputDocService { TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); //普通的任务和全局的 List normalTaskList1= iInputDocDao.selectByCompany(param,userId); + //给二级任务下添加子任务 + //遍历项目 + for (int i = 0; i < normalTaskList1.size(); i++) { + //遍历任务 + for (int i1 = 0; i1 < normalTaskList1.get(i).getSecondTasks().size(); i1++) { + Long taskId= normalTaskList1.get(i).getSecondTasks().get(i1).getDetailId(); + //查询该任务下的子任务 + List list = selByTwoTaskId(param, userId, taskId); + //给二级任务添加子任务 + if(CollectionUtil.isNotEmpty(list)){ + // 第i个项目 i1个二级任务 添加二级任务的子任务 + normalTaskList1.get(i).getSecondTasks().get(i1).getSecondTasks().addAll(list); + } + } + } //拆分后得全局任务和普通任务 List globalTaskList = new ArrayList<>(); List normalTaskList = new ArrayList<>(); @@ -87,24 +102,55 @@ public class InputDocService implements IInputDocService { List list= normalTaskList1.get(i).getSecondTasks(); TaskUtil.Task task = TaskUtil.splitTask(list, param.getStartTime(), param.getEndTime(), param.getProcess()); if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ - //给全局任务下先存项目名称 - TaskVo.GlobalTask globalTask=new TaskVo.GlobalTask(); - BeanUtil.copyProperties(normalTaskList1.get(i),globalTask); - globalTask.setNormalTaskList(task.getGlobalTask()); - globalTaskList.add(globalTask); + if(param.getId()==null) { + //给全局任务下先存项目名称 + TaskVo.GlobalTask globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i), globalTask); + globalTask.setNormalTaskList(task.getGlobalTask()); + globalTaskList.add(globalTask); + }else { + //直接存二级任务信息 + task.getGlobalTask().forEach(ac->{ + TaskVo.GlobalTask globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(ac,globalTask); + globalTask.setNormalTaskList(ac.getSecondTasks()); + globalTaskList.add(globalTask); + }); + } } if(CollectionUtil.isNotEmpty(task.getCommonTask())){ - //给普通任务下先存项目 - TaskVo.NormalTask normalTask =new TaskVo.NormalTask(); - BeanUtil.copyProperties(normalTaskList1.get(i),normalTask); - normalTask.setSecondTasks(task.getCommonTask()); - normalTaskList.add(normalTask); + if(param.getId()==null) { + //给普通任务下先存项目 + TaskVo.NormalTask normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(normalTaskList1.get(i), normalTask); + normalTask.setSecondTasks(task.getCommonTask()); + normalTaskList.add(normalTask); + }else { + //自查项目不要项目信息 + task.getCommonTask().forEach(ac1->{ + normalTaskList.add(ac1); + }); + } } } taskInfo.setGlobalTaskList(globalTaskList); taskInfo.setNormalTaskList(normalTaskList); + return taskInfo; } + + /** + * 查询二级任务下的所有的子任务 + * + * @param param + * @param userId + * @return + */ + @Override + public List selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId) { + return iInputDocDao.selByTwoTaskId(param, userId,taskId); + } + /** * 根据任务id查找输入文档 * @param param 任务id diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 9cabea14..61914175 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -39,13 +39,13 @@ tsp.description AS pDescription, tsp.begin_time as pBeginTime, tsp.end_time as pEndTime, - (tsp.end_time-tsp.begin_time)/1000/3600 as pDuration, + (tsp.end_time-tsp.begin_time)/1000/3600/24 as pDuration, tptdt.id as task_id, tptdt.name, tptdt.description, tptdt.begin_time_sub_time, tptdt.end_time_sub_time, - (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600 as duration, + (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600/24 as duration, tptdt.cycle, tptdt.priority, tptdt.milestone, @@ -97,7 +97,36 @@ and tsp.id =#{param.id} - + + + + + + + + + + + + + + + + \ No newline at end of file From 07eb6bad5ed440d2be8748375ad09eb10c0e7001 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Fri, 26 Mar 2021 11:38:54 +0800 Subject: [PATCH 14/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/tall/service/InputDocService.java | 24 ++++++++++--------- tall/src/main/resources/application.yml | 4 ++-- 2 files changed, 15 insertions(+), 13 deletions(-) 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 af64d66e..48791975 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -59,7 +59,7 @@ public class InputDocService implements IInputDocService { longList.add(proMember.getProjectId()); }); SysProjectExample sysProjectExample=new SysProjectExample(); - sysProjectExample.createCriteria().andRecStatusEqualTo((byte)0).andIdIn(longList).andBeginTimeLessThanOrEqualTo(param.getStartTime()).andEndTimeGreaterThanOrEqualTo(param.getEndTime()); + sysProjectExample.createCriteria().andRecStatusEqualTo((byte)0).andIdIn(longList).andBeginTimeLessThanOrEqualTo(param.getEndTime()).andEndTimeGreaterThanOrEqualTo(param.getStartTime()); List sysProjects = sysProjectMapper.selectByExample(sysProjectExample); sysProjects.forEach(sysProject -> { LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_zhongjian =new LwbsVo.SelByUserIdToComProjectVo(); @@ -81,16 +81,18 @@ public class InputDocService implements IInputDocService { List normalTaskList1= iInputDocDao.selectByCompany(param,userId); //给二级任务下添加子任务 //遍历项目 - for (int i = 0; i < normalTaskList1.size(); i++) { - //遍历任务 - for (int i1 = 0; i1 < normalTaskList1.get(i).getSecondTasks().size(); i1++) { - Long taskId= normalTaskList1.get(i).getSecondTasks().get(i1).getDetailId(); - //查询该任务下的子任务 - List list = selByTwoTaskId(param, userId, taskId); - //给二级任务添加子任务 - if(CollectionUtil.isNotEmpty(list)){ - // 第i个项目 i1个二级任务 添加二级任务的子任务 - normalTaskList1.get(i).getSecondTasks().get(i1).getSecondTasks().addAll(list); + if(param.getId()!=null){ + for (int i = 0; i < normalTaskList1.size(); i++) { + //遍历任务 + for (int i1 = 0; i1 < normalTaskList1.get(i).getSecondTasks().size(); i1++) { + Long taskId= normalTaskList1.get(i).getSecondTasks().get(i1).getDetailId(); + //查询该任务下的子任务 + List list = selByTwoTaskId(param, userId, taskId); + //给二级任务添加子任务 + if(CollectionUtil.isNotEmpty(list)){ + // 第i个项目 i1个二级任务 添加二级任务的子任务 + normalTaskList1.get(i).getSecondTasks().get(i1).getSecondTasks().addAll(list); + } } } } 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 From ebadfd3fd79a33de0e48de5dc206687549bca757 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Fri, 26 Mar 2021 14:36:23 +0800 Subject: [PATCH 15/26] =?UTF-8?q?=E5=B9=B3=E8=BD=A6=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/wisdomcar/service/RecordService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java index 9498902a..626dd9c5 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java @@ -305,7 +305,7 @@ public class RecordService implements IRecordService{ case Constant.THROMBOLYTIC: type = "剂量";break; } row.add(new PoiUtil.PoiUtilCell(type)); - row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? new BigDecimal(record.getValue()).divide(new BigDecimal(1000), 3).toString() + "Kg" : record.getName())); + row.add(new PoiUtil.PoiUtilCell(record.getType() == Constant.CAR_RECORD_WEIGHT ? new BigDecimal(record.getValue()).divide(new BigDecimal(1000), 3).toString() + "Kg" : record.getType() == Constant.CAR_RECORD_RFID ? record.getName() : record.getValue())); rows.add(row); } log.info("数据:{}", list.size()); From 157263a1389b1bf9689ea26483ae2c67eb257e79 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Mon, 29 Mar 2021 17:51:07 +0800 Subject: [PATCH 16/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/TaskDto.java | 16 +++- .../com/ccsens/tall/service/ExcelService.java | 7 +- .../tall/service/IProTaskDetailService.java | 11 +++ .../tall/service/ProTaskDetailService.java | 73 +++++++++++++++++++ .../tall/service/TaskSubTimeService.java | 50 ++++++++++--- 5 files changed, 143 insertions(+), 14 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index 6e9f7cb5..09bb5d1c 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java @@ -36,8 +36,10 @@ public class TaskDto { private Long endTime; @ApiModelProperty("重复周期") private String cycle; - @ApiModelProperty("交付物") - private String taskDeliver; + @ApiModelProperty("交付物,可以是多个,可以是单个") + private List taskDeliver; + @ApiModelProperty("输入文档,可以是多个,可以是单个") + private List inputDoc; @ApiModelProperty("插件") private List pluginList; @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0") @@ -211,6 +213,8 @@ public class TaskDto { private Byte milestone; @ApiModelProperty("交付物id和修改后的名字") private List deliverList; + @ApiModelProperty("输入文档的id和修改后的名字") + private List inputList; @ApiModelProperty("需要修改的插件Id") private List plugins; @ApiModelProperty("任务提醒信息") @@ -420,4 +424,12 @@ public class TaskDto { @ApiModelProperty("角色id") private Long roleId; } + @Data + @ApiModel("交付物列表/输入文档列表 新增和修改都采用这个") + public static class JiaoFuWu{ + @ApiModelProperty("交付物/输入文档的id") + public Long id; + @ApiModelProperty("交付物名称") + public String names; + } } 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 8680c393..249fcc14 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -152,6 +152,7 @@ public class ExcelService implements IExcelService { throw new BaseException(CodeEnum.WSB_NOT_TASK_HEADER); } readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId, sysProject); + //读项目成员 readMember(wbsSheet, memberSheet, memberStart, memberEnd, sysProject, proRoles, proMembers); readTask(xssfWorkbook, wbsSheet, taskStart, taskEnd, currentUserId, sysProject, taskDetails, proRoles, proMembers, hasGroupMap); //读取插件表 @@ -225,7 +226,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); //添加奖惩干系人角色(一级角色) ProRole stakeholderRole = new ProRole(); stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); @@ -239,6 +240,7 @@ public class ExcelService implements IExcelService { stakeholderProRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.phase); stakeholderProRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.value); stakeholderProRole.setParentId(stakeholderRole.getId()); + stakeholderProRole.setSequence(seq++); stakeholderProRole.setProjectId(sysProject.getId()); stakeholderProRole.setId(snowflake.nextId()); proRoleService.saveProRole(stakeholderProRole); @@ -257,6 +259,7 @@ public class ExcelService implements IExcelService { creatorRole.setName(WebConstant.ROLE_NAME.Creator.phase); creatorRole.setDescription(WebConstant.ROLE_NAME.Creator.value); creatorRole.setParentId(creator.getId()); + creatorRole.setSequence(seq++); creatorRole.setProjectId(sysProject.getId()); creatorRole.setId(snowflake.nextId()); proRoleService.saveProRole(creatorRole); @@ -275,6 +278,7 @@ public class ExcelService implements IExcelService { attentionRole.setName(WebConstant.ROLE_NAME.Attention.phase); attentionRole.setDescription(WebConstant.ROLE_NAME.Attention.value); attentionRole.setParentId(attention.getId()); + attentionRole.setSequence(seq++); attentionRole.setProjectId(sysProject.getId()); attentionRole.setId(snowflake.nextId()); proRoleService.saveProRole(attentionRole); @@ -351,6 +355,7 @@ public class ExcelService implements IExcelService { ProRole proRole = new ProRole(); proRole.setName(secondRoleCell); proRole.setParentId(firstRoleId); + proRole.setSequence(seq++); proRole.setProjectId(sysProject.getId()); proRole.setId(snowflake.nextId()); //为虚拟项目角色添加关联的项目id diff --git a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java index 195c74cf..7d215b69 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java @@ -55,4 +55,15 @@ public interface IProTaskDetailService { * @return 返回所有任务 */ List queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectId) throws Exception; + + /** + * 新增和修改交付物的方法 + * @param jiaoFuWu + */ + void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu); + /** + * 新增和修改交付物的方法 + * @param jiaoFuWu + */ + void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index f348b817..6a46754c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -17,6 +17,8 @@ import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.dao.ProTaskShowDao; import com.ccsens.tall.persist.mapper.ProPluginConfigMapper; +import com.ccsens.tall.persist.mapper.ProTaskDeliverMapper; +import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; import com.ccsens.tall.util.TallConstant; import com.ccsens.tall.util.TaskUtil; import com.ccsens.util.CodeEnum; @@ -30,6 +32,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -89,6 +92,10 @@ public class ProTaskDetailService implements IProTaskDetailService { private TaskPluginService taskPluginService; @Resource private ProShowDao proShowDao; + @Resource + private ProTaskDeliverMapper proTaskDeliverMapper; + @Resource + private ProTaskInputDocMapper proTaskInputDocMapper; @Override public void saveTaskDetail(ProTaskDetail taskDetail) { @@ -1410,6 +1417,27 @@ public class ProTaskDetailService implements IProTaskDetailService { } }); } + //修改输入文档信息 + if (CollectionUtil.isNotEmpty(updateTaskInfo.getInputList())) { + updateTaskInfo.getInputList().forEach(taskDeliver -> { + if (StrUtil.isNotEmpty(taskDeliver.getDeliverName())) { + if (ObjectUtil.isNotNull(taskDeliver.getDeliverId())) { + ProTaskInputDoc deliver = proTaskInputDocMapper.selectByPrimaryKey(taskDeliver.getDeliverId()); + if (ObjectUtil.isNotNull(deliver)) { + deliver.setName(taskDeliver.getDeliverName()); + proTaskInputDocMapper.updateByPrimaryKeySelective(deliver); + } + } else { + ProTaskInputDoc deliver = new ProTaskInputDoc(); + deliver.setId(snowflake.nextId()); + deliver.setTaskDetailId(taskDetail.getId()); + deliver.setName(taskDeliver.getDeliverName()); + deliver.setIsUpload(0); + proTaskInputDocMapper.insertSelective(deliver); + } + } + }); + } //修改数据 taskDetailDao.updateByPrimaryKeySelective(taskDetail); @@ -1638,4 +1666,49 @@ public class ProTaskDetailService implements IProTaskDetailService { } return taskList; } + + /** + * 新增和修改交付物 + * @param jiaoFuWu + */ + @Override + public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) { + ProTaskDeliverExample proTaskDeliverExample=new ProTaskDeliverExample(); + ProTaskDeliver proTaskDeliver=new ProTaskDeliver(); + if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ + //修改 + proTaskDeliver.setId(jiaoFuWu.getId()); + proTaskDeliver.setName(jiaoFuWu.getNames()); + proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); + proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); + }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { + //新增 + proTaskDeliver.setId(snowflake.nextId()); + proTaskDeliver.setName(jiaoFuWu.getNames()); + proTaskDeliverMapper.insertSelective(proTaskDeliver); + } + + } + + /** + * 新增和修改输入文档 + * @param jiaoFuWu + */ + @Override + public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) { + ProTaskInputDocExample proTaskDeliverExample=new ProTaskInputDocExample(); + ProTaskInputDoc proTaskDeliver=new ProTaskInputDoc(); + if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ + //修改 + proTaskDeliver.setId(jiaoFuWu.getId()); + proTaskDeliver.setName(jiaoFuWu.getNames()); + proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); + proTaskInputDocMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); + }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { + //新增 + proTaskDeliver.setId(snowflake.nextId()); + proTaskDeliver.setName(jiaoFuWu.getNames()); + proTaskInputDocMapper.insertSelective(proTaskDeliver); + } + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 0d9b5653..4cf90bb9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -12,11 +12,9 @@ import com.ccsens.tall.bean.dto.message.SyncMessageWithStartDto; import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.*; +import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; import com.ccsens.tall.util.TallConstant; -import com.ccsens.util.CodeEnum; -import com.ccsens.util.JacksonUtil; -import com.ccsens.util.TransactionUtil; -import com.ccsens.util.WebConstant; +import com.ccsens.util.*; import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.config.RabbitMQConfig; @@ -25,7 +23,9 @@ import com.ccsens.util.cron.NatureToDate; import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.sun.org.apache.bcel.internal.generic.IAND; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -83,6 +83,8 @@ public class TaskSubTimeService implements ITaskSubTimeService { //定义事务对象 @Resource private PlatformTransactionManager transactionManager; + @Resource + private ProTaskInputDocMapper proTaskInputDocMapper; @Override public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) { @@ -446,14 +448,40 @@ public class TaskSubTimeService implements ITaskSubTimeService { } } //交付物 - if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) { - ProTaskDeliver deliver = new ProTaskDeliver(); - deliver.setId(snowflake.nextId()); - deliver.setTaskDetailId(detail.getId()); - deliver.setName(addTask.getTaskDeliver()); - deliver.setIsInput(0); - taskDeliverDao.insertSelective(deliver); +// if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) { +// ProTaskDeliver deliver = new ProTaskDeliver(); +// deliver.setId(snowflake.nextId()); +// deliver.setTaskDetailId(detail.getId()); +// deliver.setName(addTask.getTaskDeliver()); +// deliver.setIsInput(0); +// taskDeliverDao.insertSelective(deliver); +// } + //交付物列表的增加 + if(addTask.getTaskDeliver().size()>0){ + addTask.getTaskDeliver().forEach(action->{ + if(StringUtils.isNotBlank(action)) { + ProTaskDeliver deliver = new ProTaskDeliver(); + deliver.setId(snowflake.nextId()); + deliver.setTaskDetailId(detail.getId()); + deliver.setName(action); + deliver.setIsInput(0); + taskDeliverDao.insertSelective(deliver); + } + }); + } + //输入文档的增加 + if(addTask.getInputDoc().size()>0){ + addTask.getInputDoc().forEach(action->{ + if(StringUtils.isNotBlank(action)) { + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(snowflake.nextId()); + proTaskInputDoc.setName(action); + proTaskInputDoc.setTaskDetailId(detail.getId()); + proTaskInputDocMapper.insertSelective(proTaskInputDoc); + } + }); } + //插件 if (CollectionUtil.isNotEmpty(addTask.getPluginList())) { for (Long pluginId : addTask.getPluginList()) { From 9b612ad4338903ef2722ee0bf143806755062e50 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Mon, 29 Mar 2021 18:07:20 +0800 Subject: [PATCH 17/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9role?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/bean/po/ProRole.java | 11 ++++ .../ccsens/tall/bean/po/ProRoleExample.java | 60 +++++++++++++++++++ .../resources/mapper_raw/ProRoleMapper.xml | 25 ++++++-- 3 files changed, 91 insertions(+), 5 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java index 7440a524..dfb3bcff 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java @@ -24,6 +24,8 @@ public class ProRole implements Serializable { private Long relevanceProjectId; + private Byte show; + private static final long serialVersionUID = 1L; public Long getId() { @@ -106,6 +108,14 @@ public class ProRole implements Serializable { this.relevanceProjectId = relevanceProjectId; } + public Byte getShow() { + return show; + } + + public void setShow(Byte show) { + this.show = show; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -122,6 +132,7 @@ public class ProRole implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", relevanceProjectId=").append(relevanceProjectId); + sb.append(", show=").append(show); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java index a29cbb00..a7933617 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java @@ -724,6 +724,66 @@ public class ProRoleExample { addCriterion("relevance_project_id not between", value1, value2, "relevanceProjectId"); return (Criteria) this; } + + public Criteria andShowIsNull() { + addCriterion("show is null"); + return (Criteria) this; + } + + public Criteria andShowIsNotNull() { + addCriterion("show is not null"); + return (Criteria) this; + } + + public Criteria andShowEqualTo(Byte value) { + addCriterion("show =", value, "show"); + return (Criteria) this; + } + + public Criteria andShowNotEqualTo(Byte value) { + addCriterion("show <>", value, "show"); + return (Criteria) this; + } + + public Criteria andShowGreaterThan(Byte value) { + addCriterion("show >", value, "show"); + return (Criteria) this; + } + + public Criteria andShowGreaterThanOrEqualTo(Byte value) { + addCriterion("show >=", value, "show"); + return (Criteria) this; + } + + public Criteria andShowLessThan(Byte value) { + addCriterion("show <", value, "show"); + return (Criteria) this; + } + + public Criteria andShowLessThanOrEqualTo(Byte value) { + addCriterion("show <=", value, "show"); + return (Criteria) this; + } + + public Criteria andShowIn(List values) { + addCriterion("show in", values, "show"); + return (Criteria) this; + } + + public Criteria andShowNotIn(List values) { + addCriterion("show not in", values, "show"); + return (Criteria) this; + } + + public Criteria andShowBetween(Byte value1, Byte value2) { + addCriterion("show between", value1, value2, "show"); + return (Criteria) this; + } + + public Criteria andShowNotBetween(Byte value1, Byte value2) { + addCriterion("show not between", value1, value2, "show"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml index 489aa8c5..6dc53b27 100644 --- a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml @@ -12,6 +12,7 @@ + @@ -73,7 +74,7 @@ id, project_id, parent_id, name, description, sequence, created_at, updated_at, rec_status, - relevance_project_id + relevance_project_id, show @@ -221,6 +228,9 @@ relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, + + show = #{record.show,jdbcType=TINYINT}, + @@ -237,7 +247,8 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT} + relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, + show = #{record.show,jdbcType=TINYINT} @@ -272,6 +283,9 @@ relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, + + show = #{show,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -285,7 +299,8 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT} + relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, + show = #{show,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From 4c8e8c7de7e3435610190d63132784ee6162f8a0 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Tue, 30 Mar 2021 09:45:40 +0800 Subject: [PATCH 18/26] =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/InputDocDto.java | 25 +- .../java/com/ccsens/tall/bean/po/File.java | 106 +++ .../com/ccsens/tall/bean/po/FileExample.java | 711 ++++++++++++++++++ .../tall/bean/po/ProTaskInputRecord.java | 19 +- .../bean/po/ProTaskInputRecordExample.java | 100 ++- .../com/ccsens/tall/bean/vo/InputDocVo.java | 24 +- .../tall/persist/mapper/FileMapper.java | 30 + .../ccsens/tall/service/IInputDocService.java | 12 + .../ccsens/tall/service/InputDocService.java | 157 +++- .../ccsens/tall/web/InputDocController.java | 20 + tall/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/IInputDocDao.xml | 53 +- .../main/resources/mapper_raw/FileMapper.xml | 258 +++++++ .../mapper_raw/ProTaskInputRecordMapper.xml | 41 +- 14 files changed, 1478 insertions(+), 82 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/File.java create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/FileExample.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/FileMapper.java create mode 100644 tall/src/main/resources/mapper_raw/FileMapper.xml diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java index fe8f2a25..4380626c 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java @@ -38,9 +38,10 @@ public class InputDocDto { @NotNull(message = "请选择输入文档") @ApiModelProperty("输入文档Id") private Long docId; - @NotNull(message = "上传文件不能为空") @ApiModelProperty("文件Id,数组") - private Long[] fileIds; + private String[] fileIds; + @ApiModelProperty("备注信息") + private String remark; } @Data @@ -80,4 +81,24 @@ public class InputDocDto { @ApiModelProperty("文档id") private Long docId; } + + @Data + @ApiModel("删除输入文档中的文件") + public static class DeleteDocOfFile{ + @NotNull(message = "请选择要删除的文件") + @ApiModelProperty("文档上传记录id") + private Long recordId; + } + + @Data + @ApiModel("修改上传文件的备注信息") + public static class UpdateDocOfRemark{ + @NotNull(message = "请选择要删除的备注信息") + @ApiModelProperty("文档上传记录id") + private Long recordId; + @ApiModelProperty("备注信息") + private String remark; + } + + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/File.java b/tall/src/main/java/com/ccsens/tall/bean/po/File.java new file mode 100644 index 00000000..19176241 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/File.java @@ -0,0 +1,106 @@ +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class File implements Serializable { + private Long id; + + private Long userId; + + private String fileName; + + private String location; + + private String visitLocation; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName == null ? null : fileName.trim(); + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location == null ? null : location.trim(); + } + + public String getVisitLocation() { + return visitLocation; + } + + public void setVisitLocation(String visitLocation) { + this.visitLocation = visitLocation == null ? null : visitLocation.trim(); + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", userId=").append(userId); + sb.append(", fileName=").append(fileName); + sb.append(", location=").append(location); + sb.append(", visitLocation=").append(visitLocation); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/FileExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/FileExample.java new file mode 100644 index 00000000..8855f850 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/FileExample.java @@ -0,0 +1,711 @@ +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class FileExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public FileExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andFileNameIsNull() { + addCriterion("file_name is null"); + return (Criteria) this; + } + + public Criteria andFileNameIsNotNull() { + addCriterion("file_name is not null"); + return (Criteria) this; + } + + public Criteria andFileNameEqualTo(String value) { + addCriterion("file_name =", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotEqualTo(String value) { + addCriterion("file_name <>", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameGreaterThan(String value) { + addCriterion("file_name >", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameGreaterThanOrEqualTo(String value) { + addCriterion("file_name >=", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLessThan(String value) { + addCriterion("file_name <", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLessThanOrEqualTo(String value) { + addCriterion("file_name <=", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameLike(String value) { + addCriterion("file_name like", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotLike(String value) { + addCriterion("file_name not like", value, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameIn(List values) { + addCriterion("file_name in", values, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotIn(List values) { + addCriterion("file_name not in", values, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameBetween(String value1, String value2) { + addCriterion("file_name between", value1, value2, "fileName"); + return (Criteria) this; + } + + public Criteria andFileNameNotBetween(String value1, String value2) { + addCriterion("file_name not between", value1, value2, "fileName"); + return (Criteria) this; + } + + public Criteria andLocationIsNull() { + addCriterion("location is null"); + return (Criteria) this; + } + + public Criteria andLocationIsNotNull() { + addCriterion("location is not null"); + return (Criteria) this; + } + + public Criteria andLocationEqualTo(String value) { + addCriterion("location =", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationNotEqualTo(String value) { + addCriterion("location <>", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationGreaterThan(String value) { + addCriterion("location >", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationGreaterThanOrEqualTo(String value) { + addCriterion("location >=", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationLessThan(String value) { + addCriterion("location <", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationLessThanOrEqualTo(String value) { + addCriterion("location <=", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationLike(String value) { + addCriterion("location like", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationNotLike(String value) { + addCriterion("location not like", value, "location"); + return (Criteria) this; + } + + public Criteria andLocationIn(List values) { + addCriterion("location in", values, "location"); + return (Criteria) this; + } + + public Criteria andLocationNotIn(List values) { + addCriterion("location not in", values, "location"); + return (Criteria) this; + } + + public Criteria andLocationBetween(String value1, String value2) { + addCriterion("location between", value1, value2, "location"); + return (Criteria) this; + } + + public Criteria andLocationNotBetween(String value1, String value2) { + addCriterion("location not between", value1, value2, "location"); + return (Criteria) this; + } + + public Criteria andVisitLocationIsNull() { + addCriterion("visit_location is null"); + return (Criteria) this; + } + + public Criteria andVisitLocationIsNotNull() { + addCriterion("visit_location is not null"); + return (Criteria) this; + } + + public Criteria andVisitLocationEqualTo(String value) { + addCriterion("visit_location =", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationNotEqualTo(String value) { + addCriterion("visit_location <>", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationGreaterThan(String value) { + addCriterion("visit_location >", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationGreaterThanOrEqualTo(String value) { + addCriterion("visit_location >=", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationLessThan(String value) { + addCriterion("visit_location <", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationLessThanOrEqualTo(String value) { + addCriterion("visit_location <=", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationLike(String value) { + addCriterion("visit_location like", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationNotLike(String value) { + addCriterion("visit_location not like", value, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationIn(List values) { + addCriterion("visit_location in", values, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationNotIn(List values) { + addCriterion("visit_location not in", values, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationBetween(String value1, String value2) { + addCriterion("visit_location between", value1, value2, "visitLocation"); + return (Criteria) this; + } + + public Criteria andVisitLocationNotBetween(String value1, String value2) { + addCriterion("visit_location not between", value1, value2, "visitLocation"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java index c4427ade..39d69e55 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecord.java @@ -8,7 +8,7 @@ public class ProTaskInputRecord implements Serializable { private Long inputDocId; - private Long fileId; + private String fileId; private Long userId; @@ -20,6 +20,8 @@ public class ProTaskInputRecord implements Serializable { private Byte recStatus; + private String remark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -38,12 +40,12 @@ public class ProTaskInputRecord implements Serializable { this.inputDocId = inputDocId; } - public Long getFileId() { + public String getFileId() { return fileId; } - public void setFileId(Long fileId) { - this.fileId = fileId; + public void setFileId(String fileId) { + this.fileId = fileId == null ? null : fileId.trim(); } public Long getUserId() { @@ -86,6 +88,14 @@ public class ProTaskInputRecord implements Serializable { this.recStatus = recStatus; } + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -100,6 +110,7 @@ public class ProTaskInputRecord implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", remark=").append(remark); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java index 6beae3a7..27cd29c9 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskInputRecordExample.java @@ -235,52 +235,62 @@ public class ProTaskInputRecordExample { return (Criteria) this; } - public Criteria andFileIdEqualTo(Long value) { + public Criteria andFileIdEqualTo(String value) { addCriterion("file_id =", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdNotEqualTo(Long value) { + public Criteria andFileIdNotEqualTo(String value) { addCriterion("file_id <>", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdGreaterThan(Long value) { + public Criteria andFileIdGreaterThan(String value) { addCriterion("file_id >", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdGreaterThanOrEqualTo(Long value) { + public Criteria andFileIdGreaterThanOrEqualTo(String value) { addCriterion("file_id >=", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdLessThan(Long value) { + public Criteria andFileIdLessThan(String value) { addCriterion("file_id <", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdLessThanOrEqualTo(Long value) { + public Criteria andFileIdLessThanOrEqualTo(String value) { addCriterion("file_id <=", value, "fileId"); return (Criteria) this; } - public Criteria andFileIdIn(List values) { + public Criteria andFileIdLike(String value) { + addCriterion("file_id like", value, "fileId"); + return (Criteria) this; + } + + public Criteria andFileIdNotLike(String value) { + addCriterion("file_id not like", value, "fileId"); + return (Criteria) this; + } + + public Criteria andFileIdIn(List values) { addCriterion("file_id in", values, "fileId"); return (Criteria) this; } - public Criteria andFileIdNotIn(List values) { + public Criteria andFileIdNotIn(List values) { addCriterion("file_id not in", values, "fileId"); return (Criteria) this; } - public Criteria andFileIdBetween(Long value1, Long value2) { + public Criteria andFileIdBetween(String value1, String value2) { addCriterion("file_id between", value1, value2, "fileId"); return (Criteria) this; } - public Criteria andFileIdNotBetween(Long value1, Long value2) { + public Criteria andFileIdNotBetween(String value1, String value2) { addCriterion("file_id not between", value1, value2, "fileId"); return (Criteria) this; } @@ -584,6 +594,76 @@ public class ProTaskInputRecordExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andRemarkIsNull() { + addCriterion("remark is null"); + return (Criteria) this; + } + + public Criteria andRemarkIsNotNull() { + addCriterion("remark is not null"); + return (Criteria) this; + } + + public Criteria andRemarkEqualTo(String value) { + addCriterion("remark =", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotEqualTo(String value) { + addCriterion("remark <>", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThan(String value) { + addCriterion("remark >", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThanOrEqualTo(String value) { + addCriterion("remark >=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThan(String value) { + addCriterion("remark <", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThanOrEqualTo(String value) { + addCriterion("remark <=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLike(String value) { + addCriterion("remark like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotLike(String value) { + addCriterion("remark not like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkIn(List values) { + addCriterion("remark in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotIn(List values) { + addCriterion("remark not in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkBetween(String value1, String value2) { + addCriterion("remark between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotBetween(String value1, String value2) { + addCriterion("remark not between", value1, value2, "remark"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java index 55f49605..2db98de8 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java @@ -1,9 +1,11 @@ package com.ccsens.tall.bean.vo; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -23,19 +25,33 @@ public class InputDocVo { private String docName; @ApiModelProperty("是否上传 0否 1是") private Byte isUpload; - List files; +// @ApiModelProperty("文档中的文件id") + @ApiModelProperty("文档中的文件") + private List records = new ArrayList<>(); } @Data - @ApiModel("文档下的文件") + @ApiModel("该记录中的文件") public static class File{ - @ApiModelProperty("上传记录id") - private Long recordId; @ApiModelProperty("文件名称") private String fileName; @ApiModelProperty("文件访问路径") private String fileUrl; } + @Data + @ApiModel("该文档下的记录列表") + public static class Record{ + //文件id集合 + @JsonIgnore + private String fileIds; + @ApiModelProperty("上传记录id") + private Long recordId; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("文件列表") + private List fileList = new ArrayList<>(); + } + @Data @ApiModel("查看文档历史记录") public static class HistoryRecord{ diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/FileMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/FileMapper.java new file mode 100644 index 00000000..d2e00c80 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/FileMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.File; +import com.ccsens.tall.bean.po.FileExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface FileMapper { + long countByExample(FileExample example); + + int deleteByExample(FileExample example); + + int deleteByPrimaryKey(Long id); + + int insert(File record); + + int insertSelective(File record); + + List selectByExample(FileExample example); + + File selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") File record, @Param("example") FileExample example); + + int updateByExample(@Param("record") File record, @Param("example") FileExample example); + + int updateByPrimaryKeySelective(File record); + + int updateByPrimaryKey(File record); +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 1ad98303..c9c0dddc 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -71,4 +71,16 @@ public interface IInputDocService { * @param param */ void delDoc(InputDocDto.DeleteDoc param); + + /** + * 删除输入文档中的文件 + * @param param + */ + void delDocOfFile(InputDocDto.DeleteDocOfFile param); + + /** + * 修改上传文件的备注信息 + * @param param + */ + void updateDocOfRemark(InputDocDto.UpdateDocOfRemark param); } 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 48791975..7cf8822c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -5,6 +5,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.StrUtil; import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; @@ -13,10 +15,7 @@ import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.IInputDocDao; -import com.ccsens.tall.persist.mapper.ProMemberMapper; -import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; -import com.ccsens.tall.persist.mapper.ProTaskInputRecordMapper; -import com.ccsens.tall.persist.mapper.SysProjectMapper; +import com.ccsens.tall.persist.mapper.*; import com.ccsens.tall.util.TaskUtil; @@ -41,6 +40,9 @@ public class InputDocService implements IInputDocService { private ProTaskInputDocMapper proTaskInputDocMapper; @Resource private Snowflake snowflake; + @Resource + private FileMapper fileMapper; + @Override @@ -160,8 +162,30 @@ public class InputDocService implements IInputDocService { */ @Override public List findDocByTask(InputDocDto.FindDocByTask param) { - List docByTask = iInputDocDao.findDocByTask(param.getTaskId()); - return docByTask; + List docByTasks = iInputDocDao.findDocByTask(param.getTaskId()); + for (InputDocVo.DocOfTask docs:docByTasks){ + for (InputDocVo.Record record:docs.getRecords()){ + if (record.getFileIds().contains(",")){ + String[] split = record.getFileIds().split(","); + for (int i = 0; i < split.length; i++) { + File file = fileMapper.selectByPrimaryKey(Long.valueOf(split[i])); + InputDocVo.File nowFile = new InputDocVo.File(); + nowFile.setFileName(file.getFileName()); + nowFile.setFileUrl(file.getVisitLocation()); + record.getFileList().add(nowFile); + } + }else{ + if (StrUtil.isNotBlank(record.getFileIds())){ + File file = fileMapper.selectByPrimaryKey(Long.valueOf(record.getFileIds())); + InputDocVo.File nowFile = new InputDocVo.File(); + nowFile.setFileName(file.getFileName()); + nowFile.setFileUrl(file.getVisitLocation()); + record.getFileList().add(nowFile); + } + } + } + } + return docByTasks; } /** @@ -171,28 +195,56 @@ public class InputDocService implements IInputDocService { @Override public void uploadForDoc(InputDocDto.UploadForDoc param,Long userId) { //将之前的文件设置为不使用 - ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); - proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); - ProTaskInputRecord newProTaskInputRecord = new ProTaskInputRecord(); - newProTaskInputRecord.setStatus((byte)0); - proTaskInputRecordMapper.updateByExampleSelective(newProTaskInputRecord,proTaskInputRecordExample); - +// ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); +// proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); +// ProTaskInputRecord newProTaskInputRecord = new ProTaskInputRecord(); +// newProTaskInputRecord.setStatus((byte)0); +// proTaskInputRecordMapper.updateByExampleSelective(newProTaskInputRecord,proTaskInputRecordExample); + if (ArrayUtil.isEmpty(param.getFileIds()) && StrUtil.isBlank(param.getRemark())){ + throw new BaseException("请上传文件或填写备注信息"); + } //多文件添加 - for (int i = 0; i < param.getFileIds().length; i++) { + if (!ArrayUtil.isEmpty(param.getFileIds())){ + String fileIds = ""; + for (int i = 0; i < param.getFileIds().length; i++) { + fileIds = fileIds + param.getFileIds()[i]+","; + } + fileIds = fileIds.substring(0,fileIds.length()-1); ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setFileId(fileIds); proTaskInputRecord.setInputDocId(param.getDocId()); - proTaskInputRecord.setFileId(param.getFileIds()[i]); proTaskInputRecord.setStatus((byte)1); proTaskInputRecord.setId(snowflake.nextId()); proTaskInputRecord.setUserId(userId); + proTaskInputRecord.setRemark(param.getRemark()); proTaskInputRecordMapper.insertSelective(proTaskInputRecord); + + //通过输入文档id将输入文档表中的状态更改为已上传 + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(param.getDocId()); + proTaskInputDoc.setIsUpload(1); + proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); } - //通过输入文档id将输入文档表中的状态更改为已上传 - ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); - proTaskInputDoc.setId(param.getDocId()); - proTaskInputDoc.setIsUpload(1); - proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); + //如果备注信息不为空 + if (!StrUtil.isBlank(param.getRemark())){ + ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setInputDocId(param.getDocId()); + proTaskInputRecord.setStatus((byte)1); + proTaskInputRecord.setId(snowflake.nextId()); + proTaskInputRecord.setUserId(userId); + proTaskInputRecord.setRemark(param.getRemark()); + proTaskInputRecordMapper.insertSelective(proTaskInputRecord); + + //通过输入文档id将输入文档表中的状态更改为已上传 + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(param.getDocId()); + proTaskInputDoc.setIsUpload(1); + proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); + } + + + } /** @@ -258,18 +310,18 @@ public class InputDocService implements IInputDocService { } //删除记录表中已上传的文档 - if (1 == proTaskInputDoc.getIsUpload()){ - ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); - proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); - List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(proTaskInputRecordExample); - for (ProTaskInputRecord record:proTaskInputRecords){ - ProTaskInputRecord inputRecord = new ProTaskInputRecord(); - inputRecord.setId(record.getId()); - inputRecord.setStatus((byte)0); - inputRecord.setRecStatus((byte)2); - proTaskInputRecordMapper.updateByPrimaryKeySelective(inputRecord); - } - } +// if (1 == proTaskInputDoc.getIsUpload()){ +// ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); +// proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); +// List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(proTaskInputRecordExample); +// for (ProTaskInputRecord record:proTaskInputRecords){ +// ProTaskInputRecord inputRecord = new ProTaskInputRecord(); +// inputRecord.setId(record.getId()); +// inputRecord.setStatus((byte)0); +// inputRecord.setRecStatus((byte)2); +// proTaskInputRecordMapper.updateByPrimaryKeySelective(inputRecord); +// } +// } //修改数据 ProTaskInputDoc newDoc = new ProTaskInputDoc(); @@ -305,4 +357,47 @@ public class InputDocService implements IInputDocService { proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); } + /** + * 删除输入文档中的文件 + * @param param + */ + @Override + public void delDocOfFile(InputDocDto.DeleteDocOfFile param) { + //查看该输入文档下是否还有正在使用的文件 + ProTaskInputRecord proTaskInputRecord = proTaskInputRecordMapper.selectByPrimaryKey(param.getRecordId()); + + //删除输入文档中的文件 + ProTaskInputRecord record = new ProTaskInputRecord(); + record.setId(param.getRecordId()); + record.setRecStatus((byte)2); + proTaskInputRecordMapper.updateByPrimaryKeySelective(record); + + ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); + proTaskInputRecordExample.createCriteria().andRecStatusEqualTo((byte)1) + .andInputDocIdEqualTo(proTaskInputRecord.getInputDocId()); + List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(proTaskInputRecordExample); + //如果没有将输入文档状态改为未上传 + if (CollectionUtil.isEmpty(proTaskInputRecords)){ + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(proTaskInputRecord.getInputDocId()); + proTaskInputDoc.setIsUpload(0); + proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); + } + + } + + /** + * 修改上传文件的备注信息 + * @param param + */ + @Override + public void updateDocOfRemark(InputDocDto.UpdateDocOfRemark param) { + ProTaskInputRecord record = new ProTaskInputRecord(); + record.setId(param.getRecordId()); + if (StrUtil.isNotBlank(param.getRemark())){ + record.setRemark(param.getRemark()); + } + proTaskInputRecordMapper.updateByPrimaryKeySelective(record); + } + } diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index d8a755d7..633673e5 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -102,4 +102,24 @@ public class InputDocController { return JsonResponse.newInstance().ok(); } + @MustLogin + @ApiOperation(value = "删除输入文档中的文件", notes = "1007:删除输入文档中的文件") + @RequestMapping(value = "/delDocOfFile", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delDocOfFile(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除输入文档中的文件:{}",params); + iInputDocService.delDocOfFile(params.getParam()); + log.info("删除输入文档中的文件"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "修改上传文件的备注信息", notes = "1007:修改上传文件的备注信息") + @RequestMapping(value = "/updateDocOfRemark", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updateDocOfRemark(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("修改上传文件的备注信息:{}",params); + iInputDocService.updateDocOfRemark(params.getParam()); + log.info("修改上传文件的备注信息"); + return JsonResponse.newInstance().ok(); + } + } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 61914175..b70ebda6 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -22,16 +22,7 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + + distinct + + + from t_file + + + + + order by ${orderByClause} + + + + + delete from t_file + where id = #{id,jdbcType=BIGINT} + + + delete from t_file + + + + + + insert into t_file (id, user_id, file_name, + location, visit_location, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{fileName,jdbcType=VARCHAR}, + #{location,jdbcType=VARCHAR}, #{visitLocation,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_file + + + id, + + + user_id, + + + file_name, + + + location, + + + visit_location, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{userId,jdbcType=BIGINT}, + + + #{fileName,jdbcType=VARCHAR}, + + + #{location,jdbcType=VARCHAR}, + + + #{visitLocation,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_file + + + id = #{record.id,jdbcType=BIGINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + + + file_name = #{record.fileName,jdbcType=VARCHAR}, + + + location = #{record.location,jdbcType=VARCHAR}, + + + visit_location = #{record.visitLocation,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_file + set id = #{record.id,jdbcType=BIGINT}, + user_id = #{record.userId,jdbcType=BIGINT}, + file_name = #{record.fileName,jdbcType=VARCHAR}, + location = #{record.location,jdbcType=VARCHAR}, + visit_location = #{record.visitLocation,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_file + + + user_id = #{userId,jdbcType=BIGINT}, + + + file_name = #{fileName,jdbcType=VARCHAR}, + + + location = #{location,jdbcType=VARCHAR}, + + + visit_location = #{visitLocation,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_file + set user_id = #{userId,jdbcType=BIGINT}, + file_name = #{fileName,jdbcType=VARCHAR}, + location = #{location,jdbcType=VARCHAR}, + visit_location = #{visitLocation,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml index 83da7fb1..a1f098a7 100644 --- a/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProTaskInputRecordMapper.xml @@ -4,12 +4,13 @@ - + + @@ -70,7 +71,7 @@ - id, input_doc_id, file_id, user_id, status, created_at, updated_at, rec_status + id, input_doc_id, file_id, user_id, status, created_at, updated_at, rec_status, remark @@ -181,7 +190,7 @@ input_doc_id = #{record.inputDocId,jdbcType=BIGINT}, - file_id = #{record.fileId,jdbcType=BIGINT}, + file_id = #{record.fileId,jdbcType=VARCHAR}, user_id = #{record.userId,jdbcType=BIGINT}, @@ -198,6 +207,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + remark = #{record.remark,jdbcType=VARCHAR}, + @@ -207,12 +219,13 @@ update t_pro_task_input_record set id = #{record.id,jdbcType=BIGINT}, input_doc_id = #{record.inputDocId,jdbcType=BIGINT}, - file_id = #{record.fileId,jdbcType=BIGINT}, + file_id = #{record.fileId,jdbcType=VARCHAR}, user_id = #{record.userId,jdbcType=BIGINT}, status = #{record.status,jdbcType=TINYINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + remark = #{record.remark,jdbcType=VARCHAR} @@ -224,7 +237,7 @@ input_doc_id = #{inputDocId,jdbcType=BIGINT}, - file_id = #{fileId,jdbcType=BIGINT}, + file_id = #{fileId,jdbcType=VARCHAR}, user_id = #{userId,jdbcType=BIGINT}, @@ -241,18 +254,22 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + remark = #{remark,jdbcType=VARCHAR}, + where id = #{id,jdbcType=BIGINT} update t_pro_task_input_record set input_doc_id = #{inputDocId,jdbcType=BIGINT}, - file_id = #{fileId,jdbcType=BIGINT}, + file_id = #{fileId,jdbcType=VARCHAR}, user_id = #{userId,jdbcType=BIGINT}, status = #{status,jdbcType=TINYINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From 55ca98519f66489a51d7dc92f77f4ffe5c7a684b Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Tue, 30 Mar 2021 10:01:31 +0800 Subject: [PATCH 19/26] 3.30 --- tall/src/main/resources/application.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common From ae29f3a32e25306912bb65f6e10c9e0ea258e89f Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 30 Mar 2021 14:35:26 +0800 Subject: [PATCH 20/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4wbs=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E6=9C=AA=E6=89=BE=E5=88=B0=E5=88=97=E6=98=8E=E7=9A=84=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/service/ExcelService.java | 120 +++++++++++++++--- .../ccsens/tall/service/ProRoleService.java | 1 + tall/src/main/resources/application.yml | 4 +- .../main/java/com/ccsens/util/CodeEnum.java | 5 + 4 files changed, 108 insertions(+), 22 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 249fcc14..710fac62 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -664,54 +664,134 @@ public class ExcelService implements IExcelService { if(ObjectUtil.isNull(row)){ continue; } + String task1="",task2="",description="",beginTime="",endTime="",label="",repeat="",subTaskCell="",subProject="",inputFiles=""; + String deliver="",executorRole="",checkerRole="",money="",delay="",delayTime="",loopTo="",loopTimes="",input=""; + if(map.get("任务(节点)")!=null){ //一级任务名称 - String task1 = ExcelUtil.getCellValue(row.getCell(map.get("任务(节点)"))); + task1 = ExcelUtil.getCellValue(row.getCell(map.get("任务(节点)"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("任务(节点)")); + } + if(map.get("二级任务(节点)")!=null){ //二级任务名称 - String task2 = ExcelUtil.getCellValue(row.getCell(map.get("二级任务(节点)"))); + task2 = ExcelUtil.getCellValue(row.getCell(map.get("二级任务(节点)"))); //详情 - String description = ExcelUtil.getCellValue(row.getCell(map.get("任务描述/要求"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("二级任务(节点)")); + } + if(map.get("任务描述/要求")!=null){ + description = ExcelUtil.getCellValue(row.getCell(map.get("任务描述/要求"))); //开始时间 - String beginTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("开始时间")))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("任务描述/要求")); + } + if(map.get("开始时间")!=null){ + beginTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("开始时间")))); //结束时间 - String endTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("结束时间")))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("开始时间")); + } + if(map.get("结束时间")!=null){ + endTime = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("结束时间")))); //标签 - String label=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("标签")))); - + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("结束时间")); + } + if(map.get("标签")!=null){ + label=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("标签")))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("标签")); + } //重复 - String repeat = ExcelUtil.getCellValue(row.getCell(map.get("重复"))); + if(map.get("重复")!=null){ + repeat = ExcelUtil.getCellValue(row.getCell(map.get("重复"))); + + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("重复")); + } //关联子日程表 - String subTaskCell = ExcelUtil.getCellValue(row.getCell(map.get("关联子日程表"))); + if(map.get("关联子日程表")!=null){ + subTaskCell = ExcelUtil.getCellValue(row.getCell(map.get("关联子日程表"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("关联子日程表")); + } //关联子项目表 - String subProject = ExcelUtil.getCellValue(row.getCell(map.get("关联子项目表"))); + if(map.get("关联子项目表")!=null){ + subProject = ExcelUtil.getCellValue(row.getCell(map.get("关联子项目表"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("关联子项目表")); + } //输入文档 - String inputFiles=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("输入文档")))); + if(map.get("输入文档")!=null){ + inputFiles=StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(map.get("输入文档")))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("输入文档")); + } //交付物 - String deliver = ExcelUtil.getCellValue(row.getCell(map.get("交付物/MVP项"))); + if(map.get("交付物/MVP项")!=null){ + deliver = ExcelUtil.getCellValue(row.getCell(map.get("交付物/MVP项"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("交付物/MVP项")); + } //负责人 - String executorRole = ExcelUtil.getCellValue(row.getCell(map.get("负责人"))); + if(map.get("负责人")!=null){ + executorRole = ExcelUtil.getCellValue(row.getCell(map.get("负责人"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("负责人")); + } //检查人 - String checkerRole = ExcelUtil.getCellValue(row.getCell(map.get("检查人"))); + if(map.get("检查人")!=null){ + checkerRole = ExcelUtil.getCellValue(row.getCell(map.get("检查人"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("检查人")); + } //即时奖惩(元) - String money = ExcelUtil.getCellValue(row.getCell(map.get("即时奖惩(元)"))); + if(map.get("即时奖惩(元)")!=null){ + money = ExcelUtil.getCellValue(row.getCell(map.get("即时奖惩(元)"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("即时奖惩(元)")); + } //任务切换模式 - String delay = ExcelUtil.getCellValue(row.getCell(map.get("任务切换模式"))); + if(map.get("任务切换模式")!=null){ + delay = ExcelUtil.getCellValue(row.getCell(map.get("任务切换模式"))); + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("任务切换模式")); + } //延迟时间 //(自动延迟模式可用) - String delayTime = ExcelUtil.getCellValue(row.getCell(map.get("延迟时间(自动延迟模式可用)"))); + if(map.get("延迟时间(自动延迟模式可用)")!=null){ + delayTime = ExcelUtil.getCellValue(row.getCell(map.get("延迟时间(自动延迟模式可用)"))); //TODO 跳转任务和跳转次数暂不处理 + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("延迟时间(自动延迟模式可用)")); + } //跳转任务 - String loopTo = ExcelUtil.getCellValue(row.getCell(16)); + if(map.get("任务(节点)")!=null){ + loopTo = ExcelUtil.getCellValue(row.getCell(16)); + + }else { +// throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("")); + } //跳转次数 - String loopTimes = ExcelUtil.getCellValue(row.getCell(17)); + if(map.get("任务(节点)")!=null){ + loopTimes = ExcelUtil.getCellValue(row.getCell(17)); //这个不知道要不要先给你留着 + }else { + throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("")); + } //输入文件 - String input = ExcelUtil.getCellValue(row.getCell(18)); + if(map.get("任务(节点)")!=null){ + input = ExcelUtil.getCellValue(row.getCell(18)); //二级任务名不能为空 // if(StrUtil.isEmpty(task2)){ // throw new BaseException(CodeEnum.WBS_NOT_TASK_NAME.addMsg(wbsSheet.getSheetName()+i)); // } //一级任务 + }else { +// throw new BaseException(CodeEnum.NOTNAME.addMsgLwb("")); + } + if (StrUtil.isNotEmpty(task1)) { ProTaskDetail firstTaskDetail = new ProTaskDetail(); firstTaskDetail.setId(snowflake.nextId()); diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 67dfd654..7d11ccf4 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -82,6 +82,7 @@ public class ProRoleService implements IProRoleService { List memberRoleList; //获取用户在项目中的角色 List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, projectId, imitation); + //1.查询二级角色(项目经理+项目成员+mvp) memberRoleList = getRealMemberRolesByProjectId(projectId); diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,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 9c9979e2..5e823994 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -187,6 +187,7 @@ public enum CodeEnum { MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true), QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), DOC_REPEAT(158,"输入文档已存在",true), + NOTNAME(159,"未找到该列",true), ; @@ -218,6 +219,10 @@ public enum CodeEnum { this.msg = msg+"行:"+this.msg; return this; } + public CodeEnum addMsgLwb(String msg) { + this.msg = "未找到名为“"+msg+"”的列,请检查列名称是否正确"; + return this; + } public static CodeEnum getByCode(int code) { for (CodeEnum codeEnum: CodeEnum.values()) { if (codeEnum.getCode() == code) { From 24bc671d87ac1fb76d8c8505c047b644c878fd26 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Tue, 30 Mar 2021 14:36:52 +0800 Subject: [PATCH 21/26] 0330 --- .../java/com/ccsens/tall/bean/po/ProRole.java | 11 ---- .../ccsens/tall/bean/po/ProRoleExample.java | 60 ------------------- .../ccsens/tall/service/ExportWbsService.java | 1 + .../tall/service/TaskPluginService.java | 1 + .../tall/service/TaskSubTimeService.java | 1 - tall/src/main/resources/application.yml | 4 +- .../resources/mapper_raw/ProRoleMapper.xml | 25 ++------ 7 files changed, 9 insertions(+), 94 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java index dfb3bcff..7440a524 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java @@ -24,8 +24,6 @@ public class ProRole implements Serializable { private Long relevanceProjectId; - private Byte show; - private static final long serialVersionUID = 1L; public Long getId() { @@ -108,14 +106,6 @@ public class ProRole implements Serializable { this.relevanceProjectId = relevanceProjectId; } - public Byte getShow() { - return show; - } - - public void setShow(Byte show) { - this.show = show; - } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -132,7 +122,6 @@ public class ProRole implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", relevanceProjectId=").append(relevanceProjectId); - sb.append(", show=").append(show); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java index a7933617..a29cbb00 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java @@ -724,66 +724,6 @@ public class ProRoleExample { addCriterion("relevance_project_id not between", value1, value2, "relevanceProjectId"); return (Criteria) this; } - - public Criteria andShowIsNull() { - addCriterion("show is null"); - return (Criteria) this; - } - - public Criteria andShowIsNotNull() { - addCriterion("show is not null"); - return (Criteria) this; - } - - public Criteria andShowEqualTo(Byte value) { - addCriterion("show =", value, "show"); - return (Criteria) this; - } - - public Criteria andShowNotEqualTo(Byte value) { - addCriterion("show <>", value, "show"); - return (Criteria) this; - } - - public Criteria andShowGreaterThan(Byte value) { - addCriterion("show >", value, "show"); - return (Criteria) this; - } - - public Criteria andShowGreaterThanOrEqualTo(Byte value) { - addCriterion("show >=", value, "show"); - return (Criteria) this; - } - - public Criteria andShowLessThan(Byte value) { - addCriterion("show <", value, "show"); - return (Criteria) this; - } - - public Criteria andShowLessThanOrEqualTo(Byte value) { - addCriterion("show <=", value, "show"); - return (Criteria) this; - } - - public Criteria andShowIn(List values) { - addCriterion("show in", values, "show"); - return (Criteria) this; - } - - public Criteria andShowNotIn(List values) { - addCriterion("show not in", values, "show"); - return (Criteria) this; - } - - public Criteria andShowBetween(Byte value1, Byte value2) { - addCriterion("show between", value1, value2, "show"); - return (Criteria) this; - } - - public Criteria andShowNotBetween(Byte value1, Byte value2) { - addCriterion("show not between", value1, value2, "show"); - return (Criteria) this; - } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/service/ExportWbsService.java b/tall/src/main/java/com/ccsens/tall/service/ExportWbsService.java index 3636ab90..97c1ee7a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExportWbsService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExportWbsService.java @@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.io.*; +import java.io.File; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java b/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java index bef931ae..f07ffab2 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java @@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.*; +import java.io.File; import java.util.*; import java.util.concurrent.atomic.AtomicReference; diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 4cf90bb9..0cee7209 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -23,7 +23,6 @@ import com.ccsens.util.cron.NatureToDate; import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.sun.org.apache.bcel.internal.generic.IAND; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.amqp.core.AmqpTemplate; 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/tall/src/main/resources/mapper_raw/ProRoleMapper.xml b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml index 6dc53b27..489aa8c5 100644 --- a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml @@ -12,7 +12,6 @@ - @@ -74,7 +73,7 @@ id, project_id, parent_id, name, description, sequence, created_at, updated_at, rec_status, - relevance_project_id, show + relevance_project_id @@ -228,9 +221,6 @@ relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, - - show = #{record.show,jdbcType=TINYINT}, - @@ -247,8 +237,7 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, - show = #{record.show,jdbcType=TINYINT} + relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT} @@ -283,9 +272,6 @@ relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, - - show = #{show,jdbcType=TINYINT}, - where id = #{id,jdbcType=BIGINT} @@ -299,8 +285,7 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, - show = #{show,jdbcType=TINYINT} + relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From 03747e4d3ed9775b4a360ec86c395a03c1ea3556 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 30 Mar 2021 16:05:34 +0800 Subject: [PATCH 22/26] =?UTF-8?q?=E6=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tall/bean/po/ProMemberRoleShow.java | 84 +++ .../bean/po/ProMemberRoleShowExample.java | 561 ++++++++++++++++++ .../mapper/ProMemberRoleShowMapper.java | 30 + .../ccsens/tall/service/IProRoleService.java | 2 +- .../ccsens/tall/service/ProRoleService.java | 44 +- .../resources/mapper_dao/IInputDocDao.xml | 4 +- .../mapper_raw/ProMemberRoleShowMapper.xml | 228 +++++++ .../main/java/com/ccsens/util/CodeEnum.java | 1 + 8 files changed, 947 insertions(+), 7 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/ProMemberRoleShowMapper.java create mode 100644 tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java new file mode 100644 index 00000000..a8e4510a --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java @@ -0,0 +1,84 @@ +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class ProMemberRoleShow implements Serializable { + private Long id; + + private Long memberId; + + private Long roleId; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public Long getRoleId() { + return roleId; + } + + public void setRoleId(Long roleId) { + this.roleId = roleId; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", memberId=").append(memberId); + sb.append(", roleId=").append(roleId); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java new file mode 100644 index 00000000..12b571f9 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java @@ -0,0 +1,561 @@ +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProMemberRoleShowExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProMemberRoleShowExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNull() { + addCriterion("member_id is null"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNotNull() { + addCriterion("member_id is not null"); + return (Criteria) this; + } + + public Criteria andMemberIdEqualTo(Long value) { + addCriterion("member_id =", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotEqualTo(Long value) { + addCriterion("member_id <>", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThan(Long value) { + addCriterion("member_id >", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { + addCriterion("member_id >=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThan(Long value) { + addCriterion("member_id <", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThanOrEqualTo(Long value) { + addCriterion("member_id <=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdIn(List values) { + addCriterion("member_id in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotIn(List values) { + addCriterion("member_id not in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdBetween(Long value1, Long value2) { + addCriterion("member_id between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotBetween(Long value1, Long value2) { + addCriterion("member_id not between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andRoleIdIsNull() { + addCriterion("role_id is null"); + return (Criteria) this; + } + + public Criteria andRoleIdIsNotNull() { + addCriterion("role_id is not null"); + return (Criteria) this; + } + + public Criteria andRoleIdEqualTo(Long value) { + addCriterion("role_id =", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdNotEqualTo(Long value) { + addCriterion("role_id <>", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdGreaterThan(Long value) { + addCriterion("role_id >", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { + addCriterion("role_id >=", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdLessThan(Long value) { + addCriterion("role_id <", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdLessThanOrEqualTo(Long value) { + addCriterion("role_id <=", value, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdIn(List values) { + addCriterion("role_id in", values, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdNotIn(List values) { + addCriterion("role_id not in", values, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdBetween(Long value1, Long value2) { + addCriterion("role_id between", value1, value2, "roleId"); + return (Criteria) this; + } + + public Criteria andRoleIdNotBetween(Long value1, Long value2) { + addCriterion("role_id not between", value1, value2, "roleId"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProMemberRoleShowMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProMemberRoleShowMapper.java new file mode 100644 index 00000000..e93c0a04 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProMemberRoleShowMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.ProMemberRoleShow; +import com.ccsens.tall.bean.po.ProMemberRoleShowExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface ProMemberRoleShowMapper { + long countByExample(ProMemberRoleShowExample example); + + int deleteByExample(ProMemberRoleShowExample example); + + int deleteByPrimaryKey(Long id); + + int insert(ProMemberRoleShow record); + + int insertSelective(ProMemberRoleShow record); + + List selectByExample(ProMemberRoleShowExample example); + + ProMemberRoleShow selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") ProMemberRoleShow record, @Param("example") ProMemberRoleShowExample example); + + int updateByExample(@Param("record") ProMemberRoleShow record, @Param("example") ProMemberRoleShowExample example); + + int updateByPrimaryKeySelective(ProMemberRoleShow record); + + int updateByPrimaryKey(ProMemberRoleShow record); +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index 44f43b0e..bbd05263 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java @@ -16,7 +16,7 @@ public interface IProRoleService { List getRolesByProjectIdAndUserId(Long projectId, Long currentUserId,Integer imitation) throws Exception; - List getRealMemberRolesByProjectId(Long projectId); + List getRealMemberRolesByProjectId(Long projectId,Long userId); int selectPowerByRoleName(Long userId,Long projectId); diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 7d11ccf4..d32a3e73 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -12,6 +12,9 @@ import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.*; +import com.ccsens.tall.persist.mapper.ProMemberMapper; +import com.ccsens.tall.persist.mapper.ProMemberRoleMapper; +import com.ccsens.tall.persist.mapper.ProMemberRoleShowMapper; import com.ccsens.tall.persist.mapper.ProUserAttentionRoleMapper; import com.ccsens.util.CodeEnum; import com.ccsens.util.WebConstant; @@ -59,7 +62,12 @@ public class ProRoleService implements IProRoleService { private ProUserAttentionRoleMapper userAttentionRoleMapper; @Resource private ProShowDao proShowDao; - + @Resource + private ProMemberRoleShowMapper proMemberRoleShowMapper; + @Resource + private ProMemberMapper proMemberMapper; + @Resource + private ProMemberRoleMapper proMemberRoleMapper; @Override public void saveProRole(ProRole proRole) { proRoleDao.insertSelective(proRole); @@ -84,7 +92,7 @@ public class ProRoleService implements IProRoleService { List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, projectId, imitation); //1.查询二级角色(项目经理+项目成员+mvp) - memberRoleList = getRealMemberRolesByProjectId(projectId); + memberRoleList = getRealMemberRolesByProjectId(projectId,currentUserId); if (CollectionUtil.isNotEmpty(memberRoleList)) { if (CollectionUtil.isNotEmpty(roleList)) { @@ -226,11 +234,39 @@ public class ProRoleService implements IProRoleService { } @Override - public List getRealMemberRolesByProjectId(Long projectId) { + public List getRealMemberRolesByProjectId(Long projectId,Long userId) { + //先从userid和项目id获取当前用户的成员id,查看role-show里面是否有这个成员的数据 + ProMemberExample proMemberExample=new ProMemberExample(); + proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId).andRecStatusEqualTo((byte)0); + List proMembers = proMemberMapper.selectByExample(proMemberExample); + Long memberId=0L; + if(proMembers.size()==1){ + memberId=proMembers.get(0).getId(); + }else { + throw new BaseException(CodeEnum.CHONGFU); + } + //查看角色展示列表中是否有数据 + ProMemberRoleShowExample proMemberRoleShowExample=new ProMemberRoleShowExample(); + proMemberRoleShowExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0); + List proMemberRoleShows = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample); + if(proMemberRoleShows.size()>0){ + //则不需要从原表中导入数据 + + + }else { + //需要从原表中导入数据 + ProMemberRoleExample proMemberRoleExample=new ProMemberRoleExample(); + proMemberRoleExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0); + List proMemberRoles = proMemberRoleMapper.selectByExample(proMemberRoleExample); + if(CollectionUtil.isNotEmpty(proMemberRoles)){ + + } + } //查询二级角色 List memberRoleList; memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); - //查询项目配置, + + //TODO 查询项目配置, if(CollectionUtil.isEmpty(memberRoleList)){ return memberRoleList; } diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index b70ebda6..367191cb 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -30,13 +30,13 @@ tsp.description AS pDescription, tsp.begin_time as pBeginTime, tsp.end_time as pEndTime, - (tsp.end_time-tsp.begin_time)/1000/3600/24 as pDuration, + (tsp.end_time-tsp.begin_time) as pDuration, tptdt.id as task_id, tptdt.name, tptdt.description, tptdt.begin_time_sub_time, tptdt.end_time_sub_time, - (tptdt.end_time_sub_time-tptdt.begin_time_sub_time)/1000/3600/24 as duration, + (tptdt.end_time_sub_time-tptdt.begin_time_sub_time) as duration, tptdt.cycle, tptdt.priority, tptdt.milestone, diff --git a/tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml b/tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml new file mode 100644 index 00000000..0f1fdbb9 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, member_id, role_id, created_at, updated_at, rec_status + + + + + delete from t_pro_member_role_show + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_member_role_show + + + + + + insert into t_pro_member_role_show (id, member_id, role_id, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_pro_member_role_show + + + id, + + + member_id, + + + role_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{roleId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_member_role_show + + + id = #{record.id,jdbcType=BIGINT}, + + + member_id = #{record.memberId,jdbcType=BIGINT}, + + + role_id = #{record.roleId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_member_role_show + set id = #{record.id,jdbcType=BIGINT}, + member_id = #{record.memberId,jdbcType=BIGINT}, + role_id = #{record.roleId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_member_role_show + + + member_id = #{memberId,jdbcType=BIGINT}, + + + role_id = #{roleId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_member_role_show + set member_id = #{memberId,jdbcType=BIGINT}, + role_id = #{roleId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 5e823994..b7817af2 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -188,6 +188,7 @@ public enum CodeEnum { QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), DOC_REPEAT(158,"输入文档已存在",true), NOTNAME(159,"未找到该列",true), + CHONGFU(160,"该成员在项目下有多个成员角色",true), ; From 35e9c9676434842bc93db5597347d15f6b61984a Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 30 Mar 2021 16:15:40 +0800 Subject: [PATCH 23/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/service/IProRoleService.java | 4 +++- .../com/ccsens/tall/service/ProRoleService.java | 16 ++++++++++++++-- tall/src/main/resources/application.yml | 4 ++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index bbd05263..1faaf820 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java @@ -16,7 +16,9 @@ public interface IProRoleService { List getRolesByProjectIdAndUserId(Long projectId, Long currentUserId,Integer imitation) throws Exception; - List getRealMemberRolesByProjectId(Long projectId,Long userId); + List getRealMemberRolesByProjectId(Long projectId); + + List getRealMemberRolesShowByProjectId(Long projectId,Long userId); int selectPowerByRoleName(Long userId,Long projectId); diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index d32a3e73..4903f44b 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -92,7 +92,7 @@ public class ProRoleService implements IProRoleService { List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, projectId, imitation); //1.查询二级角色(项目经理+项目成员+mvp) - memberRoleList = getRealMemberRolesByProjectId(projectId,currentUserId); + memberRoleList = getRealMemberRolesShowByProjectId(projectId,currentUserId); if (CollectionUtil.isNotEmpty(memberRoleList)) { if (CollectionUtil.isNotEmpty(roleList)) { @@ -232,9 +232,21 @@ public class ProRoleService implements IProRoleService { // } return memberRoleList; } + @Override + public List getRealMemberRolesByProjectId(Long projectId) { + //查询二级角色 + List memberRoleList; + memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); + //TODO 查询项目配置, + if(CollectionUtil.isEmpty(memberRoleList)){ + return memberRoleList; + } + + return memberRoleList; + } @Override - public List getRealMemberRolesByProjectId(Long projectId,Long userId) { + public List getRealMemberRolesShowByProjectId(Long projectId,Long userId) { //先从userid和项目id获取当前用户的成员id,查看role-show里面是否有这个成员的数据 ProMemberExample proMemberExample=new ProMemberExample(); proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId).andRecStatusEqualTo((byte)0); 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 From fad010ef887bcf171837ef40349047b37b0f94f8 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 30 Mar 2021 18:04:45 +0800 Subject: [PATCH 24/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/RoleDto.java | 7 ++- .../tall/bean/po/ProMemberRoleShow.java | 11 ++++ .../bean/po/ProMemberRoleShowExample.java | 60 +++++++++++++++++++ .../java/com/ccsens/tall/bean/vo/RoleVo.java | 19 +++++- .../ccsens/tall/persist/dao/ProRoleDao.java | 1 + .../ccsens/tall/service/IProRoleService.java | 8 +++ .../ccsens/tall/service/ProRoleService.java | 29 ++++++--- .../com/ccsens/tall/web/RoleController.java | 16 ++++- .../main/resources/mapper_dao/ProRoleDao.xml | 28 +++++++++ .../mapper_raw/ProMemberRoleShowMapper.xml | 25 ++++++-- 10 files changed, 188 insertions(+), 16 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java index 173ca66a..7a14081d 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java @@ -73,5 +73,10 @@ public class RoleDto { @ApiModelProperty("角色id") private List roleIdList; } - + @Data + @ApiModel("查询该人下的所有的角色信息") + public static class QueryRoleShows { + @ApiModelProperty("项目id") + private Long projectId; + } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java index a8e4510a..97950217 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java @@ -10,6 +10,8 @@ public class ProMemberRoleShow implements Serializable { private Long roleId; + private Integer sequence; + private Date createdAt; private Date updatedAt; @@ -42,6 +44,14 @@ public class ProMemberRoleShow implements Serializable { this.roleId = roleId; } + public Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } + public Date getCreatedAt() { return createdAt; } @@ -75,6 +85,7 @@ public class ProMemberRoleShow implements Serializable { sb.append(", id=").append(id); sb.append(", memberId=").append(memberId); sb.append(", roleId=").append(roleId); + sb.append(", sequence=").append(sequence); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java index 12b571f9..af0c3e13 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java @@ -285,6 +285,66 @@ public class ProMemberRoleShowExample { return (Criteria) this; } + public Criteria andSequenceIsNull() { + addCriterion("sequence is null"); + return (Criteria) this; + } + + public Criteria andSequenceIsNotNull() { + addCriterion("sequence is not null"); + return (Criteria) this; + } + + public Criteria andSequenceEqualTo(Integer value) { + addCriterion("sequence =", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotEqualTo(Integer value) { + addCriterion("sequence <>", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThan(Integer value) { + addCriterion("sequence >", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThanOrEqualTo(Integer value) { + addCriterion("sequence >=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThan(Integer value) { + addCriterion("sequence <", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThanOrEqualTo(Integer value) { + addCriterion("sequence <=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceIn(List values) { + addCriterion("sequence in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotIn(List values) { + addCriterion("sequence not in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceBetween(Integer value1, Integer value2) { + addCriterion("sequence between", value1, value2, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotBetween(Integer value1, Integer value2) { + addCriterion("sequence not between", value1, value2, "sequence"); + return (Criteria) this; + } + public Criteria andCreatedAtIsNull() { addCriterion("created_at is null"); return (Criteria) this; diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java index be62e06f..f92d163a 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java @@ -19,7 +19,24 @@ public class RoleVo { @ApiModelProperty("角色名") private String roleName; } - + @Data + @ApiModel("通过项目id查询该人下的所有的角色,包含不属于他的角色集合") + public static class JueSeByProIdLists{ + @ApiModelProperty("已添加的角色信息") + private List listBefore; + @ApiModelProperty("未添加的角色信息") + private List listAfter; + } + @Data + @ApiModel("通过项目id查询该人下的所有的角色,包含不属于他的角色") + public static class JueSeByProId{ + @ApiModelProperty("角色id") + private Long id; + @ApiModelProperty("角色名称") + private String name; + @ApiModelProperty("角色排序") + private Integer sequence; + } @Data @ApiModel("添加时返回成员信息") public static class MemberInfo{ diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index 440eb3af..3344ec6c 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -17,6 +17,7 @@ public interface ProRoleDao extends ProRoleMapper{ List selectFirstRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long userId); List selectSecondRolesByProjectId(@Param("projectId") Long projectId); + List selectSecondRolesShowByProjectId(@Param("projectId") Long projectId); List selectCareLessRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long currentUserId); diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index 1faaf820..18d1299a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java @@ -5,6 +5,7 @@ import com.ccsens.tall.bean.po.ProRole; import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.util.bean.dto.QueryDto; import java.util.List; @@ -58,4 +59,11 @@ public interface IProRoleService { * @return */ List queryRoleByProjectId(Long projectId); + + /** + * 查询该人下的所有的角色信息 + * @param param + * @return + */ + RoleVo.JueSeByProIdLists queryRoleShows(QueryDto param); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 4903f44b..9865253a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -18,7 +18,9 @@ import com.ccsens.tall.persist.mapper.ProMemberRoleShowMapper; import com.ccsens.tall.persist.mapper.ProUserAttentionRoleMapper; import com.ccsens.util.CodeEnum; import com.ccsens.util.WebConstant; +import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -252,7 +254,7 @@ public class ProRoleService implements IProRoleService { proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId).andRecStatusEqualTo((byte)0); List proMembers = proMemberMapper.selectByExample(proMemberExample); Long memberId=0L; - if(proMembers.size()==1){ + if(CollectionUtil.isNotEmpty(proMembers)&&proMembers.size()==1){ memberId=proMembers.get(0).getId(); }else { throw new BaseException(CodeEnum.CHONGFU); @@ -261,22 +263,27 @@ public class ProRoleService implements IProRoleService { ProMemberRoleShowExample proMemberRoleShowExample=new ProMemberRoleShowExample(); proMemberRoleShowExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0); List proMemberRoleShows = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample); - if(proMemberRoleShows.size()>0){ - //则不需要从原表中导入数据 - - - }else { + if(CollectionUtil.isEmpty(proMemberRoleShows)){ //需要从原表中导入数据 ProMemberRoleExample proMemberRoleExample=new ProMemberRoleExample(); proMemberRoleExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0); List proMemberRoles = proMemberRoleMapper.selectByExample(proMemberRoleExample); if(CollectionUtil.isNotEmpty(proMemberRoles)){ - + ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow(); + Long finalMemberId = memberId; + Integer[] seq=new Integer[]{0}; + proMemberRoles.forEach(action->{ + proMemberRoleShow.setId(action.getId()); + proMemberRoleShow.setMemberId(finalMemberId); + proMemberRoleShow.setRoleId(action.getRoleId()); + proMemberRoleShow.setSequence(++seq[0]); + proMemberRoleShowMapper.insertSelective(proMemberRoleShow); + }); } } //查询二级角色 List memberRoleList; - memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); + memberRoleList = proRoleDao.selectSecondRolesShowByProjectId(projectId); //TODO 查询项目配置, if(CollectionUtil.isEmpty(memberRoleList)){ @@ -635,4 +642,10 @@ public class ProRoleService implements IProRoleService { public List queryRoleByProjectId(Long projectId) { return proRoleDao.queryRoleByProjectId(projectId); } + + @Override + public RoleVo.JueSeByProIdLists queryRoleShows(QueryDto param) { + + return null; + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index 41f21f80..426d55d9 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -1,15 +1,21 @@ package com.ccsens.tall.web; +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tall.annotation.MustLoginTall; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.dto.RoleDto; +import com.ccsens.tall.bean.dto.WeekMeetingDto; +import com.ccsens.tall.bean.vo.PluginVo; import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.service.IProRoleService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; +import com.ccsens.util.bean.dto.QueryDto; import io.jsonwebtoken.Claims; import io.swagger.annotations.*; +import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -20,6 +26,7 @@ import java.util.List; /** * @author 逗 */ +@Slf4j @Api(tags = "角色操作相关api" ) @RestController @RequestMapping("/roles") @@ -113,5 +120,12 @@ public class RoleController { List roleByProjectIdList = proRoleService.queryRoleByProjectId(projectIdDto.getProjectId()); return JsonResponse.newInstance().ok(roleByProjectIdList); } - + @MustLoginTall + @ApiOperation(value = "获取该成员的角色信息和未添加的角色信息",notes = "") + @RequestMapping(value = "/queryRoleShows", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryRoleShows(@ApiParam @Validated @RequestBody QueryDto param){ + log.info("传入参数:{}", param); + RoleVo.JueSeByProIdLists jueSeByProIdLists=proRoleService.queryRoleShows(param); + return JsonResponse.newInstance().ok(jueSeByProIdLists); + } } diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index dedf8d4c..12454576 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -95,6 +95,34 @@ AND (mr.rec_status = 0 or mr.rec_status is null) AND (m.rec_status = 0 or m.rec_status is null) + select @@ -102,11 +103,11 @@ insert into t_pro_member_role_show (id, member_id, role_id, - created_at, updated_at, rec_status - ) + sequence, created_at, updated_at, + rec_status) values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, - #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} - ) + #{sequence,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) insert into t_pro_member_role_show @@ -120,6 +121,9 @@ role_id, + + sequence, + created_at, @@ -140,6 +144,9 @@ #{roleId,jdbcType=BIGINT}, + + #{sequence,jdbcType=INTEGER}, + #{createdAt,jdbcType=TIMESTAMP}, @@ -169,6 +176,9 @@ role_id = #{record.roleId,jdbcType=BIGINT}, + + sequence = #{record.sequence,jdbcType=INTEGER}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, @@ -188,6 +198,7 @@ set id = #{record.id,jdbcType=BIGINT}, member_id = #{record.memberId,jdbcType=BIGINT}, role_id = #{record.roleId,jdbcType=BIGINT}, + sequence = #{record.sequence,jdbcType=INTEGER}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT} @@ -204,6 +215,9 @@ role_id = #{roleId,jdbcType=BIGINT}, + + sequence = #{sequence,jdbcType=INTEGER}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, @@ -220,6 +234,7 @@ update t_pro_member_role_show set member_id = #{memberId,jdbcType=BIGINT}, role_id = #{roleId,jdbcType=BIGINT}, + sequence = #{sequence,jdbcType=INTEGER}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT} From 2f90110bdfbf338c4413d6126f870e6544ffe923 Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Tue, 30 Mar 2021 18:30:29 +0800 Subject: [PATCH 25/26] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/tall/persist/dao/ProRoleDao.java | 15 +++++++++++++++ .../ccsens/tall/service/ProRoleService.java | 19 ++++++++++++++++++- .../main/resources/mapper_dao/ProRoleDao.xml | 12 ++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index 3344ec6c..b9e509f7 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -70,6 +70,21 @@ public interface ProRoleDao extends ProRoleMapper{ */ List getRoleTaskByProjectId(@Param("projectId")Long projectId, @Param("thisDayStartTime")long thisDayStartTime, @Param("thisDayEndTime")long thisDayEndTime); + /** + * 查询已经存在的角色 + * @param projectId + * @return + */ + List queryRoleShowslistAfter(Long projectId); + + /** + * 查询未添加的角色 + * @param memberId + * @param listBeforeId + * @return + */ + List queryRoleShowslistBefore(Long memberId, List listBeforeId); + // /** // * 查找项目下的所有成员的名字用“,”分隔 // * @param projectId 项目id diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 9865253a..6e7a55be 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -30,6 +30,7 @@ import org.w3c.dom.ls.LSInput; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author 逗 @@ -645,7 +646,23 @@ public class ProRoleService implements IProRoleService { @Override public RoleVo.JueSeByProIdLists queryRoleShows(QueryDto param) { - + //获取成员id + ProMemberExample proMemberExample=new ProMemberExample(); + proMemberExample.createCriteria().andUserIdEqualTo(param.getUserId()).andProjectIdEqualTo(param.getParam().getProjectId()).andRecStatusEqualTo((byte)0); + List proMembers = proMemberMapper.selectByExample(proMemberExample); + Long memberId=0L; + if(CollectionUtil.isNotEmpty(proMembers)&&proMembers.size()==1){ + memberId=proMembers.get(0).getId(); + }else { + throw new BaseException(CodeEnum.CHONGFU); + } + RoleVo.JueSeByProIdLists jueSeByProIdLists=new RoleVo.JueSeByProIdLists(); + //查询已经添加的角色 + List listAfter=proRoleDao.queryRoleShowslistAfter(param.getParam().getProjectId()); + List listBeforeId= listAfter.stream().map(action ->{ + return action.getId(); + }).collect(Collectors.toList()); + List listBefor=proRoleDao.queryRoleShowslistBefore(memberId,listBeforeId); return null; } } diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 12454576..04618218 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -308,5 +308,17 @@ AND s.end_time > #{thisDayStartTime} AND s.begin_time < #{thisDayEndTime} + + \ No newline at end of file From 71aaaec99a8bdb9af84530c88caa78d617e4e4e8 Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Wed, 31 Mar 2021 09:20:23 +0800 Subject: [PATCH 26/26] 3.20 --- .../java/com/ccsens/tall/bean/po/ProRole.java | 11 ---- .../ccsens/tall/bean/po/ProRoleExample.java | 60 ------------------- .../java/com/ccsens/tall/bean/vo/TaskVo.java | 2 +- .../resources/mapper_raw/ProRoleMapper.xml | 25 ++------ 4 files changed, 6 insertions(+), 92 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java index dfb3bcff..7440a524 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java @@ -24,8 +24,6 @@ public class ProRole implements Serializable { private Long relevanceProjectId; - private Byte show; - private static final long serialVersionUID = 1L; public Long getId() { @@ -108,14 +106,6 @@ public class ProRole implements Serializable { this.relevanceProjectId = relevanceProjectId; } - public Byte getShow() { - return show; - } - - public void setShow(Byte show) { - this.show = show; - } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -132,7 +122,6 @@ public class ProRole implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", relevanceProjectId=").append(relevanceProjectId); - sb.append(", show=").append(show); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java index a7933617..a29cbb00 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java @@ -724,66 +724,6 @@ public class ProRoleExample { addCriterion("relevance_project_id not between", value1, value2, "relevanceProjectId"); return (Criteria) this; } - - public Criteria andShowIsNull() { - addCriterion("show is null"); - return (Criteria) this; - } - - public Criteria andShowIsNotNull() { - addCriterion("show is not null"); - return (Criteria) this; - } - - public Criteria andShowEqualTo(Byte value) { - addCriterion("show =", value, "show"); - return (Criteria) this; - } - - public Criteria andShowNotEqualTo(Byte value) { - addCriterion("show <>", value, "show"); - return (Criteria) this; - } - - public Criteria andShowGreaterThan(Byte value) { - addCriterion("show >", value, "show"); - return (Criteria) this; - } - - public Criteria andShowGreaterThanOrEqualTo(Byte value) { - addCriterion("show >=", value, "show"); - return (Criteria) this; - } - - public Criteria andShowLessThan(Byte value) { - addCriterion("show <", value, "show"); - return (Criteria) this; - } - - public Criteria andShowLessThanOrEqualTo(Byte value) { - addCriterion("show <=", value, "show"); - return (Criteria) this; - } - - public Criteria andShowIn(List values) { - addCriterion("show in", values, "show"); - return (Criteria) this; - } - - public Criteria andShowNotIn(List values) { - addCriterion("show not in", values, "show"); - return (Criteria) this; - } - - public Criteria andShowBetween(Byte value1, Byte value2) { - addCriterion("show between", value1, value2, "show"); - return (Criteria) this; - } - - public Criteria andShowNotBetween(Byte value1, Byte value2) { - addCriterion("show not between", value1, value2, "show"); - return (Criteria) this; - } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 829dcc21..b6f975e4 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -155,7 +155,7 @@ public class TaskVo { private String importParam; @ApiModelProperty("优先级 默认0 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急") private Byte priority; - @ApiModelProperty("是否是里程碑 0否 1是 2普通任务 3关键任务") + @ApiModelProperty("是否是里程碑 0否 1里程碑 2普通任务 3关键任务") private Byte milestone; @ApiModelProperty("提醒的信息") private List remindInfoList; diff --git a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml index 6dc53b27..489aa8c5 100644 --- a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml @@ -12,7 +12,6 @@ - @@ -74,7 +73,7 @@ id, project_id, parent_id, name, description, sequence, created_at, updated_at, rec_status, - relevance_project_id, show + relevance_project_id @@ -228,9 +221,6 @@ relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, - - show = #{record.show,jdbcType=TINYINT}, - @@ -247,8 +237,7 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, - show = #{record.show,jdbcType=TINYINT} + relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT} @@ -283,9 +272,6 @@ relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, - - show = #{show,jdbcType=TINYINT}, - where id = #{id,jdbcType=BIGINT} @@ -299,8 +285,7 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, - show = #{show,jdbcType=TINYINT} + relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file