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/annotation/MustLoginTall.java b/tall/src/main/java/com/ccsens/tall/annotation/MustLoginTall.java new file mode 100644 index 00000000..dc0a5597 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/annotation/MustLoginTall.java @@ -0,0 +1,14 @@ +package com.ccsens.tall.annotation; + +import java.lang.annotation.*; + +/** + * @description: 用于标识方法需要登录,获取userId + * 如果未登录,直接返回用户未登录 + * @author: wang + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface MustLoginTall { +} diff --git a/tall/src/main/java/com/ccsens/tall/aspect/MustLoginTallAspect.java b/tall/src/main/java/com/ccsens/tall/aspect/MustLoginTallAspect.java new file mode 100644 index 00000000..4b8fb33f --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/aspect/MustLoginTallAspect.java @@ -0,0 +1,103 @@ +package com.ccsens.tall.aspect; + +import com.ccsens.tall.bean.po.SysUser; +import com.ccsens.tall.bean.vo.MessageVo; +import com.ccsens.tall.service.IUserService; +import com.ccsens.tall.util.RobotUtil; +import com.ccsens.util.*; +import com.ccsens.util.annotation.OperateType; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.util.wx.WxTemplateMessage; +import com.fasterxml.jackson.core.JsonProcessingException; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.ExpiredJwtException; +import io.jsonwebtoken.SignatureException; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.lang.reflect.Method; + +@Order(0) +@Slf4j +@Aspect +@Component +public class MustLoginTallAspect { + @Autowired + private IUserService userService; + + @Pointcut("@annotation(com.ccsens.tall.annotation.MustLoginTall)") + public void tallAdvice(){ + + } + @Around("tallAdvice()") + public Object tallAdvice(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { + //拿到参数 + Object[] args = proceedingJoinPoint.getArgs(); + + QueryDto dto = args == null || args.length < 1 ? null : (QueryDto) args[0]; + //拿到当前得request请求 + HttpServletRequest httpServletRequest = ((ServletRequestAttributes) + RequestContextHolder.getRequestAttributes()).getRequest(); + HttpServletResponse httpServletResponse = ((ServletRequestAttributes) + RequestContextHolder.getRequestAttributes()).getResponse(); + final String authHeader = httpServletRequest.getHeader(WebConstant.HEADER_KEY_TOKEN); + if (authHeader == null || !authHeader.startsWith(WebConstant.HEADER_KEY_TOKEN_PREFIX)) { + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().tokenNotFound())); + return httpServletResponse; + } + final String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); + + //验证token是否有效 + Claims claims = null; + try { + claims = JwtUtil.parseJWT(token, WebConstant.JWT_ACCESS_TOKEN_SECERT); + }catch(SignatureException e){ + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().tokenSignatureFail(e.getMessage()))); + return httpServletResponse; + }catch(ExpiredJwtException e){ + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().tokenExpire(e.getMessage()))); + return httpServletResponse; + }catch(Exception e){ + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().tokenFailed(e.getMessage()))); + return httpServletResponse; + } + + //验证用户存根 + if(userService.tokenNotExistInCache(Long.valueOf(claims.getSubject()))){ + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().tokenStubNotFound())); + return httpServletResponse; + } + + + //验证用户是否禁用 + SysUser user = userService.getUserById(Long.valueOf(claims.getSubject())); + if(user.getRecStatus() == WebConstant.REC_STATUS.Disabled.value){ + HttpServletUtil.responseJson(httpServletResponse, + JacksonUtil.beanToJson(JsonResponse.newInstance().userDisabled())); + return httpServletResponse; + } + dto.setUserId(user.getId()); + dto.setUserName(user.getNickname()); + dto.setAvatarUrl(user.getAvatarUrl()); + args[0]=dto; + Object proceed = proceedingJoinPoint.proceed(args); + return proceed; + } +} 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 acafd6ee..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 @@ -4,6 +4,9 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; @Data @@ -20,4 +23,82 @@ public class InputDocDto { @ApiModelProperty("输入文档集合") private List list; } + + @Data + @ApiModel("根据任务id查找文档") + public static class FindDocByTask{ + @NotNull(message = "请选择任务") + @ApiModelProperty("任务id") + private Long taskId; + } + + @Data + @ApiModel("给输入文档上传文件") + public static class UploadForDoc{ + @NotNull(message = "请选择输入文档") + @ApiModelProperty("输入文档Id") + private Long docId; + @ApiModelProperty("文件Id,数组") + private String[] fileIds; + @ApiModelProperty("备注信息") + private String remark; + } + + @Data + @ApiModel("查看文档上传记录") + public static class ViewDocHistory{ + @NotNull(message = "请选择要查看的文档") + @ApiModelProperty("输入文档Id") + private Long docId; + } + + @Data + @ApiModel("添加输入文档") + public static class AddDoc{ + @NotNull(message = "请选择要添加文档的任务") + @ApiModelProperty("任务id") + private Long taskId; + @NotEmpty(message = "文档名称不能为空") + @ApiModelProperty("文件名称") + private String[] fileName; + } + + @Data + @ApiModel("修改输入文档") + public static class UpdateDoc{ + @NotNull(message = "请选择要修改的文档") + @ApiModelProperty("文档id") + private Long docId; + @NotBlank(message = "文件名称不能为空") + @ApiModelProperty("文件名称") + private String fileName; + } + + @Data + @ApiModel("删除输入文档") + public static class DeleteDoc{ + @NotNull(message = "请选择要删除的文档") + @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/dto/LwbsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LwbsDto.java index 5d78b7bc..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 @@ -14,13 +14,11 @@ public class LwbsDto { @ApiModel("查询lwbs的任务") public static class SelByUserIdToComProject{ @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; } @Data @ApiModel("查询lwbs的任务") @@ -28,12 +26,16 @@ 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("完成状态 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/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/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/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/ProMemberRoleShow.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java new file mode 100644 index 00000000..97950217 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShow.java @@ -0,0 +1,95 @@ +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 Integer sequence; + + 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 Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } + + 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(", sequence=").append(sequence); + 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..af0c3e13 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProMemberRoleShowExample.java @@ -0,0 +1,621 @@ +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 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; + } + + 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/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/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 new file mode 100644 index 00000000..2db98de8 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java @@ -0,0 +1,67 @@ +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; + +/** + * + * @author mz + */ + +@Data +public class InputDocVo { + + @Data + @ApiModel("根据任务id查到的文档") + public static class DocOfTask{ + @ApiModelProperty("输入文档id") + private Long docId; + @ApiModelProperty("输入文档名称") + private String docName; + @ApiModelProperty("是否上传 0否 1是") + private Byte isUpload; +// @ApiModelProperty("文档中的文件id") + @ApiModelProperty("文档中的文件") + private List records = new ArrayList<>(); + } + @Data + @ApiModel("该记录中的文件") + public static class File{ + @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{ + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件访问地址") + private String docUrl; + @ApiModelProperty("文件状态 0未使用 1正在使用") + private String status; + } + + +} 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..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 @@ -24,18 +24,16 @@ 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关键任务") private Byte milestone; + @ApiModelProperty("时间差") + private Long cha; } @@ -46,7 +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/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/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/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 08f3672b..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 @@ -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外部") @@ -150,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/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..4d583b01 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -0,0 +1,38 @@ +package com.ccsens.tall.persist.dao; + +import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.vo.InputDocVo; +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; + +import java.util.List; + +@Repository +public interface IInputDocDao { + + List selectByCompany(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); + + /** + * 根据任务Id查询输入文档 + * @param taskId + * @return + */ + List findDocByTask(Long taskId); + + /** + * 查看文档上传历史记录 + * @param docId + * @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/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index 440eb3af..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 @@ -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); @@ -69,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/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/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/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 8680c393..710fac62 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 @@ -659,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/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/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 53c651d2..c9c0dddc 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -1,12 +1,86 @@ package com.ccsens.tall.service; +import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.tall.bean.vo.TaskVo; +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); - List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); + /** + * 查询 该人参加的项目(把项目当成一级任务)及项目下的二级任务 + * @param param + * @param userId + * @return + */ + TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); + + /** + * 查询二级任务下的所有的子任务 + * @param param + * @param userId + * @return + */ + List selByTwoTaskId(LwbsDto.SelByProjectIdToTaskDto param, Long userId,Long taskId); + /** + * 根据任务id查询输入文档 + * @param params 任务id + * @return + */ + List findDocByTask(InputDocDto.FindDocByTask params); + + /** + * 给输入文档上传文件 + * @param param docId 文档id + * fileId 文件id + */ + void uploadForDoc(InputDocDto.UploadForDoc param,Long userId); + + /** + * 查看文档文件上传记录 + * @param param + * @return + */ + List viewDocHistory(InputDocDto.ViewDocHistory param); + + /** + * 添加输入文档 + * @param param + */ + void addDoc(InputDocDto.AddDoc param); + + /** + * 修改输入文档 + * @param param + */ + void updateDoc(InputDocDto.UpdateDoc param); + + /** + * 删除输入文档 + * @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/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index 44f43b0e..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; @@ -18,6 +19,8 @@ public interface IProRoleService { List getRealMemberRolesByProjectId(Long projectId); + List getRealMemberRolesShowByProjectId(Long projectId,Long userId); + int selectPowerByRoleName(Long userId,Long projectId); TaskVo.RoleCheckList selectRoleByCheckOrExecutor(Long executorRole); @@ -56,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/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/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index e7649048..7cf8822c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -1,18 +1,29 @@ package com.ccsens.tall.service; + +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; -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.po.*; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; -import com.ccsens.tall.persist.mapper.ProMemberMapper; -import com.ccsens.tall.persist.mapper.SysProjectMapper; -import com.rabbitmq.client.TopologyRecoveryException; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.dao.IInputDocDao; +import com.ccsens.tall.persist.mapper.*; + +import com.ccsens.tall.util.TaskUtil; + +import com.ccsens.util.CodeEnum; +import com.ccsens.util.exception.BaseException; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.SimpleDateFormat; import java.util.*; @Service @@ -21,6 +32,18 @@ public class InputDocService implements IInputDocService { public ProMemberMapper proMemberMapper; @Resource public SysProjectMapper sysProjectMapper; + @Resource + private IInputDocDao iInputDocDao; + @Resource + private ProTaskInputRecordMapper proTaskInputRecordMapper; + @Resource + private ProTaskInputDocMapper proTaskInputDocMapper; + @Resource + private Snowflake snowflake; + @Resource + private FileMapper fileMapper; + + @Override public List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) { @@ -38,7 +61,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.getEndTime()).andEndTimeGreaterThanOrEqualTo(param.getStartTime()); List sysProjects = sysProjectMapper.selectByExample(sysProjectExample); sysProjects.forEach(sysProject -> { LwbsVo.SelByUserIdToComProjectVo selByUserIdToComProjectVo_zhongjian =new LwbsVo.SelByUserIdToComProjectVo(); @@ -48,13 +71,333 @@ 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; + public TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId) { + TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); + //普通的任务和全局的 + List normalTaskList1= iInputDocDao.selectByCompany(param,userId); + //给二级任务下添加子任务 + //遍历项目 + 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); + } + } + } + } + //拆分后得全局任务和普通任务 + 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())){ + 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())){ + 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 + * @return + */ + @Override + public List findDocByTask(InputDocDto.FindDocByTask param) { + 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; + } + + /** + * 给输入文档上传文件 + * @param param docId 文档id + */ + @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); + if (ArrayUtil.isEmpty(param.getFileIds()) && StrUtil.isBlank(param.getRemark())){ + throw new BaseException("请上传文件或填写备注信息"); + } + //多文件添加 + 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.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); + } + + //如果备注信息不为空 + 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); + } + + + + } + + /** + * 查看文档上传文件历史记录 + * @param param docId 文档id + * @return + */ + @Override + public List viewDocHistory(InputDocDto.ViewDocHistory param) { + List historyRecords = iInputDocDao.viewDocHistory(param.getDocId()); + return historyRecords; + } + + /** + * 添加输入文档 + * @param param + */ + @Override + public void addDoc(InputDocDto.AddDoc param) { + //判断是否有重复名称 + ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample(); + proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(param.getTaskId()).andRecStatusEqualTo((byte)0); + List proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample); + if (null != proTaskInputDocs && 0 < proTaskInputDocs.size()){ + for (ProTaskInputDoc proTaskInputDoc : proTaskInputDocs){ + for (int i = 0; i < param.getFileName().length; i++) { + if (proTaskInputDoc.getName().equals(param.getFileName()[i])){ + throw new BaseException(CodeEnum.DOC_REPEAT); + } + } + } + } + + //添加输入文档 + for (int i = 0; i < param.getFileName().length; i++) { + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(snowflake.nextId()); + proTaskInputDoc.setTaskDetailId(param.getTaskId()); + proTaskInputDoc.setName(param.getFileName()[i]); + proTaskInputDoc.setIsUpload(0); + proTaskInputDocMapper.insertSelective(proTaskInputDoc); + } + + } + + /** + * 修改输入文档 + * @param param + */ + @Override + public void updateDoc(InputDocDto.UpdateDoc param) { + //判断是否有重复 + ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId()); + ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample(); + proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId()); + List proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample); + if (null != proTaskInputDocs && 0 < proTaskInputDocs.size()){ + for (ProTaskInputDoc docData:proTaskInputDocs){ + if (docData.getName().equals(param.getFileName())){ + throw new BaseException(CodeEnum.DOC_REPEAT); + } + } + } + + //删除记录表中已上传的文档 +// 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(); + newDoc.setId(param.getDocId()); + newDoc.setName(param.getFileName()); + newDoc.setIsUpload(0); + proTaskInputDocMapper.updateByPrimaryKeySelective(newDoc); + + } + + /** + * 删除输入文档 + * @param param + */ + @Override + public void delDoc(InputDocDto.DeleteDoc param) { + //删除记录中表中的数据 + ProTaskInputRecordExample recordExample = new ProTaskInputRecordExample(); + recordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()).andRecStatusEqualTo((byte)0); + List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(recordExample); + for (ProTaskInputRecord inputRecord:proTaskInputRecords){ + ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setId(inputRecord.getId()); + proTaskInputRecord.setStatus((byte)0); + proTaskInputRecord.setRecStatus((byte)2); + proTaskInputRecordMapper.updateByPrimaryKeySelective(proTaskInputRecord); + } + + //删除输入文档表中的数据 + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(param.getDocId()); + proTaskInputDoc.setRecStatus((byte)2); + 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/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 67dfd654..6e7a55be 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -12,10 +12,15 @@ 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; +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; @@ -25,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 逗 @@ -59,7 +65,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); @@ -82,8 +93,9 @@ public class ProRoleService implements IProRoleService { List memberRoleList; //获取用户在项目中的角色 List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, projectId, imitation); + //1.查询二级角色(项目经理+项目成员+mvp) - memberRoleList = getRealMemberRolesByProjectId(projectId); + memberRoleList = getRealMemberRolesShowByProjectId(projectId,currentUserId); if (CollectionUtil.isNotEmpty(memberRoleList)) { if (CollectionUtil.isNotEmpty(roleList)) { @@ -223,13 +235,58 @@ 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 getRealMemberRolesShowByProjectId(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(CollectionUtil.isNotEmpty(proMembers)&&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(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.selectSecondRolesShowByProjectId(projectId); + + //TODO 查询项目配置, if(CollectionUtil.isEmpty(memberRoleList)){ return memberRoleList; } @@ -586,4 +643,26 @@ public class ProRoleService implements IProRoleService { public List queryRoleByProjectId(Long projectId) { return proRoleDao.queryRoleByProjectId(projectId); } + + @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/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/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/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 0d9b5653..0cee7209 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; @@ -26,6 +24,7 @@ import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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 +82,8 @@ public class TaskSubTimeService implements ITaskSubTimeService { //定义事务对象 @Resource private PlatformTransactionManager transactionManager; + @Resource + private ProTaskInputDocMapper proTaskInputDocMapper; @Override public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) { @@ -446,14 +447,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()) { 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 dcf9d815..2b292916 100644 --- a/tall/src/main/java/com/ccsens/tall/web/DebugController.java +++ b/tall/src/main/java/com/ccsens/tall/web/DebugController.java @@ -43,7 +43,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/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index e4551012..633673e5 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -1,8 +1,10 @@ package com.ccsens.tall.web; import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tall.annotation.MustLoginTall; import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LabelDto; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LabelVo; import com.ccsens.tall.service.IInputDocService; import com.ccsens.util.JsonResponse; @@ -29,7 +31,7 @@ import java.util.List; @RequestMapping("/inputDoc") public class InputDocController { @Autowired - IInputDocService iInputDocService; + private IInputDocService iInputDocService; @MustLogin @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -39,4 +41,85 @@ public class InputDocController { log.info("添加输入文档"); return JsonResponse.newInstance().ok(); } + + @MustLogin + @ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档") + @RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> findDocByTask(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("通过任务id查询输入文档:{}",params); + List docByTask = iInputDocService.findDocByTask(params.getParam()); + log.info("通过任务id查询输入文档"); + return JsonResponse.newInstance().ok(docByTask); + } + + @MustLogin + @ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件") + @RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("给输入文档上传文件:{}",params); + iInputDocService.uploadForDoc(params.getParam(),params.getUserId()); + log.info("给输入文档上传文件"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") + @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看文档上传历史记录:{}",params); + List historyRecords = iInputDocService.viewDocHistory(params.getParam()); + log.info("查看文档上传历史记录"); + return JsonResponse.newInstance().ok(historyRecords); + } + + @MustLogin + @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") + @RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("添加输入文档:{}",params); + iInputDocService.addDoc(params.getParam()); + log.info("添加输入文档"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "修改输入文档", notes = "1007:修改输入文档") + @RequestMapping(value = "/updateDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updateDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("修改输入文档:{}",params); + iInputDocService.updateDoc(params.getParam()); + log.info("修改输入文档"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档") + @RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除输入文档:{}",params); + iInputDocService.delDoc(params.getParam()); + log.info("删除输入文档"); + 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/java/com/ccsens/tall/web/LwbsController.java b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java index 4564c7fe..57c45bf1 100644 --- a/tall/src/main/java/com/ccsens/tall/web/LwbsController.java +++ b/tall/src/main/java/com/ccsens/tall/web/LwbsController.java @@ -1,9 +1,11 @@ package com.ccsens.tall.web; import com.ccsens.cloudutil.annotation.MustLogin; +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; @@ -27,7 +29,8 @@ import java.util.List; public class LwbsController { @Autowired private IInputDocService iInputDocService; - @MustLogin + + @MustLoginTall @ApiOperation(value = "查询人下参加的所有的项目", notes = "1007:输出") @RequestMapping(value = "/selByUserIdToComProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> selByUserIdToComProject(@ApiParam @Validated @RequestBody QueryDto params) { @@ -36,13 +39,20 @@ 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); } + @MustLoginTall + @ApiOperation(value = "test", notes = "1007:输出") + @RequestMapping(value = "/test", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse test(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("testTall的可以用:{}",params); + return JsonResponse.newInstance().ok(); + } } 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/application-dev.yml b/tall/src/main/resources/application-dev.yml index 9a6e63b0..b99ba8b1 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-prod.yml b/tall/src/main/resources/application-prod.yml index 1b0a8a8e..c8697ed1 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/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml new file mode 100644 index 00000000..367191cb --- /dev/null +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index dedf8d4c..04618218 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) + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/FileMapper.xml b/tall/src/main/resources/mapper_raw/FileMapper.xml new file mode 100644 index 00000000..972942f4 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/FileMapper.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + 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, user_id, file_name, location, visit_location, created_at, updated_at, rec_status + + + + + 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/ProMemberRoleShowMapper.xml b/tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml new file mode 100644 index 00000000..c51847e0 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/ProMemberRoleShowMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + 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, sequence, 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, + sequence, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, + #{sequence,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_pro_member_role_show + + + id, + + + member_id, + + + role_id, + + + sequence, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{roleId,jdbcType=BIGINT}, + + + #{sequence,jdbcType=INTEGER}, + + + #{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}, + + + sequence = #{record.sequence,jdbcType=INTEGER}, + + + 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}, + sequence = #{record.sequence,jdbcType=INTEGER}, + 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}, + + + sequence = #{sequence,jdbcType=INTEGER}, + + + 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}, + sequence = #{sequence,jdbcType=INTEGER}, + 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/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 @@ -105,10 +106,12 @@ insert into t_pro_task_input_record (id, input_doc_id, file_id, user_id, status, created_at, - updated_at, rec_status) - values (#{id,jdbcType=BIGINT}, #{inputDocId,jdbcType=BIGINT}, #{fileId,jdbcType=BIGINT}, + updated_at, rec_status, remark + ) + values (#{id,jdbcType=BIGINT}, #{inputDocId,jdbcType=BIGINT}, #{fileId,jdbcType=VARCHAR}, #{userId,jdbcType=BIGINT}, #{status,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, - #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{remark,jdbcType=VARCHAR} + ) insert into t_pro_task_input_record @@ -137,6 +140,9 @@ rec_status, + + remark, + @@ -146,7 +152,7 @@ #{inputDocId,jdbcType=BIGINT}, - #{fileId,jdbcType=BIGINT}, + #{fileId,jdbcType=VARCHAR}, #{userId,jdbcType=BIGINT}, @@ -163,6 +169,9 @@ #{recStatus,jdbcType=TINYINT}, + + #{remark,jdbcType=VARCHAR}, +