diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java new file mode 100644 index 00000000..7125b550 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/ChartDto.java @@ -0,0 +1,26 @@ +package com.ccsens.tall.bean.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Data +public class ChartDto { + + @Data + public static class ProjectTrendDto{ + @NotNull + @ApiModelProperty("项目id") + private Long projectId; + @NotEmpty + @ApiModelProperty("开始日期") + private String start; + @NotEmpty + @ApiModelProperty("结束日期") + private String end; + @ApiModelProperty("角色id") + private Long roleId; + } +} diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java index 29c43506..c448d2f1 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java @@ -13,11 +13,12 @@ public class LabelDto { @Data @ApiModel("添加标签") public static class AddLabel{ - @NotEmpty + @NotEmpty(message = "请输入标签名") @ApiModelProperty("标签名") private String name; @ApiModelProperty("标签code") private String code; + @NotEmpty(message = "请选择颜色") @ApiModelProperty("颜色") private String color; @ApiModelProperty("备注信息") @@ -57,7 +58,7 @@ public class LabelDto { @NotNull @ApiModelProperty("项目id") private Long projectId; - @ApiModelProperty("项目id") + @ApiModelProperty("标签id") private List labelList; } } 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 87f44a95..810af30c 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 @@ -30,6 +30,8 @@ public class ProShow implements Serializable { private Byte selectTaskType; + private String detailPath; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class ProShow implements Serializable { this.selectTaskType = selectTaskType; } + public String getDetailPath() { + return detailPath; + } + + public void setDetailPath(String detailPath) { + this.detailPath = detailPath == null ? null : detailPath.trim(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -155,6 +165,7 @@ public class ProShow implements Serializable { sb.append(", duration=").append(duration); sb.append(", showShortcuts=").append(showShortcuts); sb.append(", selectTaskType=").append(selectTaskType); + sb.append(", detailPath=").append(detailPath); sb.append("]"); return sb.toString(); } 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 81ecc10d..099806e4 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 @@ -894,6 +894,76 @@ public class ProShowExample { addCriterion("select_task_type not between", value1, value2, "selectTaskType"); return (Criteria) this; } + + public Criteria andDetailPathIsNull() { + addCriterion("detail_path is null"); + return (Criteria) this; + } + + public Criteria andDetailPathIsNotNull() { + addCriterion("detail_path is not null"); + return (Criteria) this; + } + + public Criteria andDetailPathEqualTo(String value) { + addCriterion("detail_path =", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathNotEqualTo(String value) { + addCriterion("detail_path <>", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathGreaterThan(String value) { + addCriterion("detail_path >", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathGreaterThanOrEqualTo(String value) { + addCriterion("detail_path >=", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathLessThan(String value) { + addCriterion("detail_path <", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathLessThanOrEqualTo(String value) { + addCriterion("detail_path <=", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathLike(String value) { + addCriterion("detail_path like", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathNotLike(String value) { + addCriterion("detail_path not like", value, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathIn(List values) { + addCriterion("detail_path in", values, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathNotIn(List values) { + addCriterion("detail_path not in", values, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathBetween(String value1, String value2) { + addCriterion("detail_path between", value1, value2, "detailPath"); + return (Criteria) this; + } + + public Criteria andDetailPathNotBetween(String value1, String value2) { + addCriterion("detail_path not between", value1, value2, "detailPath"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java index d42802ac..bc03deca 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysPlugin.java @@ -1,95 +1,106 @@ -package com.ccsens.tall.bean.po; - -import java.io.Serializable; -import java.util.Date; - -public class SysPlugin implements Serializable { - private Long id; - - private String name; - - private String description; - - private Byte scene; - - 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 String getName() { - return name; - } - - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - public Byte getScene() { - return scene; - } - - public void setScene(Byte scene) { - this.scene = scene; - } - - 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(", name=").append(name); - sb.append(", description=").append(description); - sb.append(", scene=").append(scene); - sb.append(", createdAt=").append(createdAt); - sb.append(", updatedAt=").append(updatedAt); - sb.append(", recStatus=").append(recStatus); - sb.append("]"); - return sb.toString(); - } +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class SysPlugin implements Serializable { + private Long id; + + private String name; + + private String description; + + private Byte scene; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private Byte showType; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public Byte getScene() { + return scene; + } + + public void setScene(Byte scene) { + this.scene = scene; + } + + 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; + } + + public Byte getShowType() { + return showType; + } + + public void setShowType(Byte showType) { + this.showType = showType; + } + + @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(", name=").append(name); + sb.append(", description=").append(description); + sb.append(", scene=").append(scene); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append(", showType=").append(showType); + sb.append("]"); + return sb.toString(); + } } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java index f7f2f57b..21985a1d 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysPluginExample.java @@ -1,641 +1,701 @@ -package com.ccsens.tall.bean.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class SysPluginExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public SysPluginExample() { - 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 andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNull() { - addCriterion("description is null"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNotNull() { - addCriterion("description is not null"); - return (Criteria) this; - } - - public Criteria andDescriptionEqualTo(String value) { - addCriterion("description =", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotEqualTo(String value) { - addCriterion("description <>", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThan(String value) { - addCriterion("description >", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThanOrEqualTo(String value) { - addCriterion("description >=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThan(String value) { - addCriterion("description <", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThanOrEqualTo(String value) { - addCriterion("description <=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLike(String value) { - addCriterion("description like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotLike(String value) { - addCriterion("description not like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionIn(List values) { - addCriterion("description in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotIn(List values) { - addCriterion("description not in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionBetween(String value1, String value2) { - addCriterion("description between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotBetween(String value1, String value2) { - addCriterion("description not between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andSceneIsNull() { - addCriterion("scene is null"); - return (Criteria) this; - } - - public Criteria andSceneIsNotNull() { - addCriterion("scene is not null"); - return (Criteria) this; - } - - public Criteria andSceneEqualTo(Byte value) { - addCriterion("scene =", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneNotEqualTo(Byte value) { - addCriterion("scene <>", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneGreaterThan(Byte value) { - addCriterion("scene >", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneGreaterThanOrEqualTo(Byte value) { - addCriterion("scene >=", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneLessThan(Byte value) { - addCriterion("scene <", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneLessThanOrEqualTo(Byte value) { - addCriterion("scene <=", value, "scene"); - return (Criteria) this; - } - - public Criteria andSceneIn(List values) { - addCriterion("scene in", values, "scene"); - return (Criteria) this; - } - - public Criteria andSceneNotIn(List values) { - addCriterion("scene not in", values, "scene"); - return (Criteria) this; - } - - public Criteria andSceneBetween(Byte value1, Byte value2) { - addCriterion("scene between", value1, value2, "scene"); - return (Criteria) this; - } - - public Criteria andSceneNotBetween(Byte value1, Byte value2) { - addCriterion("scene not between", value1, value2, "scene"); - 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); - } - } +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class SysPluginExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public SysPluginExample() { + 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 andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andSceneIsNull() { + addCriterion("scene is null"); + return (Criteria) this; + } + + public Criteria andSceneIsNotNull() { + addCriterion("scene is not null"); + return (Criteria) this; + } + + public Criteria andSceneEqualTo(Byte value) { + addCriterion("scene =", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneNotEqualTo(Byte value) { + addCriterion("scene <>", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneGreaterThan(Byte value) { + addCriterion("scene >", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneGreaterThanOrEqualTo(Byte value) { + addCriterion("scene >=", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneLessThan(Byte value) { + addCriterion("scene <", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneLessThanOrEqualTo(Byte value) { + addCriterion("scene <=", value, "scene"); + return (Criteria) this; + } + + public Criteria andSceneIn(List values) { + addCriterion("scene in", values, "scene"); + return (Criteria) this; + } + + public Criteria andSceneNotIn(List values) { + addCriterion("scene not in", values, "scene"); + return (Criteria) this; + } + + public Criteria andSceneBetween(Byte value1, Byte value2) { + addCriterion("scene between", value1, value2, "scene"); + return (Criteria) this; + } + + public Criteria andSceneNotBetween(Byte value1, Byte value2) { + addCriterion("scene not between", value1, value2, "scene"); + 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 Criteria andShowTypeIsNull() { + addCriterion("show_type is null"); + return (Criteria) this; + } + + public Criteria andShowTypeIsNotNull() { + addCriterion("show_type is not null"); + return (Criteria) this; + } + + public Criteria andShowTypeEqualTo(Byte value) { + addCriterion("show_type =", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeNotEqualTo(Byte value) { + addCriterion("show_type <>", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeGreaterThan(Byte value) { + addCriterion("show_type >", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeGreaterThanOrEqualTo(Byte value) { + addCriterion("show_type >=", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeLessThan(Byte value) { + addCriterion("show_type <", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeLessThanOrEqualTo(Byte value) { + addCriterion("show_type <=", value, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeIn(List values) { + addCriterion("show_type in", values, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeNotIn(List values) { + addCriterion("show_type not in", values, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeBetween(Byte value1, Byte value2) { + addCriterion("show_type between", value1, value2, "showType"); + return (Criteria) this; + } + + public Criteria andShowTypeNotBetween(Byte value1, Byte value2) { + addCriterion("show_type not between", value1, value2, "showType"); + 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/vo/ChartVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ChartVo.java new file mode 100644 index 00000000..8ed4e9ea --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ChartVo.java @@ -0,0 +1,107 @@ +package com.ccsens.tall.bean.vo; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class ChartVo { + + @Data + public static class ExecutorChart{ + @ApiModelProperty("查询类型") + private int type; + @ApiModelProperty("查询类型") + private List<__ExecutorChart> executorChart; + } + @Data + public static class __ExecutorChart{ + @ApiModelProperty("角色id") + private Long roleId; + @ApiModelProperty("角色名") + private String roleName; + @ApiModelProperty("value") + private Integer value; + } + + + @Data + public static class CompleteTaskNum{ + @ApiModelProperty("角色id") + private Long roleId; + @ApiModelProperty("角色名") + private String roleName; + @ApiModelProperty("完成数量") + private Integer value; + @ApiModelProperty("任务总数") + private Integer total; + } + + + @Data + public static class ProjectTrendVo { + @ApiModelProperty("日期") + private String date; + @ApiModelProperty("当天任务总数") + private Integer total; + @ApiModelProperty("当天已完成的任务数") + private Integer completed; + } + + @Data + public static class ProjectOverview { + @ApiModelProperty("任务总数") + private Integer total; + @ApiModelProperty("已完成的任务数") + private Integer completed; + @ApiModelProperty("未完成的任务数") + private Integer undone; + @ApiModelProperty("按时完成") + private Integer completedOnTime; + @ApiModelProperty("逾期完成") + private Integer completedOverTime; + @ApiModelProperty("今天任务总数") + private Integer today; + @ApiModelProperty("今日已完成") + private Integer todayCompleted; + @ApiModelProperty("今日未完成") + private Integer todayUndone; + + public Integer getUndone(){ + if(ObjectUtil.isNotNull(total) && ObjectUtil.isNotNull(completed)){ + return total - completed; + } + return null; + } + + public Integer getCompletedOverTime(){ + if(ObjectUtil.isNotNull(completed) && ObjectUtil.isNotNull(completedOnTime)){ + return completed - completedOnTime; + } + return null; + } + } + + @Data + public static class BurnoutFigure { + @ApiModelProperty("日期 MM-DD") + private String date; + @ApiModelProperty("理想的剩余任务数,回出现小数 保留1位小数") + private BigDecimal ideal; + @ApiModelProperty("计划的剩余任务数") + private Integer planned; + @ApiModelProperty("实际的剩余任务数") + private Integer realistic; + @JsonIgnore//任务总数 + private Integer total; + @JsonIgnore//每天的任务数 + private Integer totalDay; + @JsonIgnore//每天完成的任务数量 + private Integer completed; + } +} 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 277142b4..8e57cd2b 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 @@ -96,9 +96,11 @@ public class ProjectVo { @ApiModelProperty("是否展示MVP 0:不展示 1:展示") private int showMvp = 1; @JsonIgnore//0日程,1天,2周,3月 - private int selectTaskType = 0; + private int selectTaskType = 1; @ApiModelProperty("查询任务类型") private String selectType; + @ApiModelProperty("第三列展示页面的路径") + private String detailPath = "/project"; public String getSelectType(){ if(ObjectUtil.isNull(selectTaskType)) { 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 e15df8c7..d6c4218d 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 @@ -96,12 +96,6 @@ public class TaskVo { private Long endTime; @ApiModelProperty("时长") private Long duration; -// @ApiModelProperty("显示的日期格式") -// private String showTimeFormat; -// @ApiModelProperty("是否展示快捷方式(交付物硬件按钮)0不展示 1展示") -// private int showShortcuts; -// @ApiModelProperty("是否展示添加任务的按钮 0不展示 1展示") -// private int createTask; @ApiModelProperty("循环周期") private String cycle; @ApiModelProperty("跳转模式 0自动,1延迟,2手动") @@ -120,6 +114,8 @@ public class TaskVo { private BigDecimal money; @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成") private int process; + @ApiModelProperty("子项目id") + private Long subProjectId; @ApiModelProperty("服务器时间") private Long serverTime; @ApiModelProperty("任务类型 0普通任务 1虚拟任务") @@ -213,6 +209,8 @@ public class TaskVo { private String name; @ApiModelProperty("插件描述") private String description; + @ApiModelProperty("显示分类") + private String showType; @JsonIgnore private Long roleId; } diff --git a/tall/src/main/java/com/ccsens/tall/config/SpringConfig.java b/tall/src/main/java/com/ccsens/tall/config/SpringConfig.java index 0d363e44..8bcbf634 100644 --- a/tall/src/main/java/com/ccsens/tall/config/SpringConfig.java +++ b/tall/src/main/java/com/ccsens/tall/config/SpringConfig.java @@ -154,7 +154,8 @@ public class SpringConfig implements WebMvcConfigurer { .addPathPatterns("/members/**") .addPathPatterns("/templates/**") .addPathPatterns("/hardware/**") - .addPathPatterns("/labels/**"); + .addPathPatterns("/labels/**") + .addPathPatterns("/charts/**"); //super.addInterceptors(registry); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java index 21c3fecf..064794c6 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java @@ -9,7 +9,7 @@ import java.util.List; @Repository public interface SysLabelDao extends SysLabelMapper { - List selectLabelByUserId(@Param("userId")Long userId); + List selectLabelByUserId(@Param("userId")Long userId,@Param("key")String key); - List selectLabelByProjectId(@Param("projectId")Long projectId); + List selectLabelByProjectId(@Param("userId")Long userId,@Param("projectId")Long projectId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java index dad2aa8e..2b005432 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysProjectDao.java @@ -1,6 +1,7 @@ package com.ccsens.tall.persist.dao; import com.ccsens.tall.bean.po.SysProject; +import com.ccsens.tall.bean.vo.ChartVo; import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.persist.mapper.SysProjectMapper; import org.apache.ibatis.annotations.Param; @@ -22,5 +23,20 @@ public interface SysProjectDao extends SysProjectMapper{ List selectByLabelName(@Param("userId")Long currentUserId, @Param("labelName")String labelName); - List selectRelevanceProject(@Param("labelName")Long projectId); + List selectRelevanceProject(@Param("projectId")Long projectId); + + List getExecutorChart(@Param("projectId")Long projectId,@Param("type")Integer type); + + List getCompleteTaskByTime(@Param("projectId")Long projectId); + + List getProjectTrend(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId); + + ChartVo.ProjectOverview getOverview(@Param("projectId")Long projectId); + + List getBurnoutFigure(@Param("projectId")Long projectId, + @Param("start")Long start, @Param("end")Long end, + @Param("roleId")Long roleIdm,@Param("type") Integer type); + + Integer getTaskTotalByProjectId(@Param("projectId")Long projectId, @Param("start")Long start, @Param("end")Long end, @Param("roleId")Long roleId); + } diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/SysPluginMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/SysPluginMapper.java index 8e39c537..0d759fec 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/mapper/SysPluginMapper.java +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/SysPluginMapper.java @@ -1,31 +1,30 @@ -package com.ccsens.tall.persist.mapper; - -import com.ccsens.tall.bean.po.SysPlugin; -import com.ccsens.tall.bean.po.SysPluginExample; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface SysPluginMapper { - long countByExample(SysPluginExample example); - - int deleteByExample(SysPluginExample example); - - int deleteByPrimaryKey(Long id); - - int insert(SysPlugin record); - - int insertSelective(SysPlugin record); - - List selectByExample(SysPluginExample example); - - SysPlugin selectByPrimaryKey(Long id); - - int updateByExampleSelective(@Param("record") SysPlugin record, @Param("example") SysPluginExample example); - - int updateByExample(@Param("record") SysPlugin record, @Param("example") SysPluginExample example); - - int updateByPrimaryKeySelective(SysPlugin record); - - int updateByPrimaryKey(SysPlugin record); +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.SysPlugin; +import com.ccsens.tall.bean.po.SysPluginExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface SysPluginMapper { + long countByExample(SysPluginExample example); + + int deleteByExample(SysPluginExample example); + + int deleteByPrimaryKey(Long id); + + int insert(SysPlugin record); + + int insertSelective(SysPlugin record); + + List selectByExample(SysPluginExample example); + + SysPlugin selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") SysPlugin record, @Param("example") SysPluginExample example); + + int updateByExample(@Param("record") SysPlugin record, @Param("example") SysPluginExample example); + + int updateByPrimaryKeySelective(SysPlugin record); + + int updateByPrimaryKey(SysPlugin record); } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ChartService.java b/tall/src/main/java/com/ccsens/tall/service/ChartService.java new file mode 100644 index 00000000..459849c5 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/service/ChartService.java @@ -0,0 +1,135 @@ +package com.ccsens.tall.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.tall.bean.dto.ChartDto; +import com.ccsens.tall.bean.po.SysProject; +import com.ccsens.tall.bean.vo.ChartVo; +import com.ccsens.tall.persist.dao.SysProjectDao; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.exception.BaseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; + +@Service +public class ChartService implements IChartService{ + @Autowired + private SysProjectDao sysProjectDao; + + /** + * 任务执行者分布图 + * @param currentUserId + * @param type + * @return + */ + @Override + public ChartVo.ExecutorChart getExecutorChart(Long currentUserId,Long projectId,Integer type) { + SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); + if(ObjectUtil.isNull(sysProject)){ + throw new BaseException(CodeEnum.NOT_PROJECT); + } + List executorChartList = sysProjectDao.getExecutorChart(projectId,type); + ChartVo.ExecutorChart executorChart = new ChartVo.ExecutorChart(); + executorChart.setType(type); + executorChart.setExecutorChart(executorChartList); + return executorChart; + } + + /** + * 计划时间内完成任务 + * @param currentUserId + * @param projectId + * @return + */ + @Override + public List getCompleteTaskByTime(Long currentUserId, Long projectId) { + //查找所有角色及任务数量 + List completeTaskNumList = sysProjectDao.getCompleteTaskByTime(projectId); + return completeTaskNumList; + } + + /** + * 项目进展趋势图 + * @param currentUserId + * @param projectTrendDto + * @return + */ + @Override + public List getProjectTrend(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto) { + Long start = DateUtil.parse(projectTrendDto.getStart()).getTime(); + Long end = DateUtil.parse(projectTrendDto.getEnd()).getTime(); + List projectTrendVoList = sysProjectDao.getProjectTrend(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId()); + return projectTrendVoList; + } + + /** + * 概览报表 + * @param currentUserId + * @param projectId + * @return + */ + @Override + public ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId) { + ChartVo.ProjectOverview projectOverview = sysProjectDao.getOverview(projectId); + return projectOverview; + } + + /** + * 燃尽图 + * @param currentUserId + * @param projectTrendDto + * @return + */ + @Override + public List getBurnoutFigure(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto) { + Long start = DateUtil.parse(projectTrendDto.getStart()).getTime(); + Long end = DateUtil.parse(projectTrendDto.getEnd()).getTime(); + //获取任务总数(如果type传1 查询规定条件内的任务总数,若传null,则按天分组查找) + List totalList = sysProjectDao.getBurnoutFigure(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId(),1); + //理想 + AtomicReference idealTotal = new AtomicReference<>(); + BigDecimal idealTotalInt = new BigDecimal(0); + //计划 + AtomicInteger plannedTotal = new AtomicInteger(); + //实际 + AtomicInteger realTotal = new AtomicInteger(); + if(CollectionUtil.isNotEmpty(totalList)) { + idealTotal.set(BigDecimal.valueOf(totalList.get(0).getTotalDay())); + idealTotalInt = BigDecimal.valueOf(totalList.get(0).getTotalDay()); + plannedTotal.set(totalList.get(0).getTotalDay()); + realTotal.set(totalList.get(0).getTotalDay()); + } + //按天获取信息 + List burnoutFigureList = sysProjectDao.getBurnoutFigure(projectTrendDto.getProjectId(),start,end,projectTrendDto.getRoleId(),null); + if(CollectionUtil.isNotEmpty(burnoutFigureList)){ + //每天理想完成数,总数/天数=每天理想完成数 + BigDecimal idealFinish = idealTotalInt.divide(BigDecimal.valueOf(burnoutFigureList.size()),1,BigDecimal.ROUND_HALF_UP); + burnoutFigureList.forEach(burnoutFigure -> { + //理想剩余数量 + idealTotal.set(idealTotal.get().subtract(idealFinish)); + if(idealTotal.get().compareTo(BigDecimal.valueOf(0)) < 1){ + burnoutFigure.setIdeal(BigDecimal.valueOf(0)); + }else { + burnoutFigure.setIdeal(idealTotal.get()); + } + //计划剩余数量 + plannedTotal.set(plannedTotal.get() - burnoutFigure.getTotalDay()); + burnoutFigure.setPlanned(plannedTotal.get()); + //实际剩余数量 + if(ObjectUtil.isNotNull(burnoutFigure.getCompleted())){ + realTotal.set(realTotal.get() - burnoutFigure.getCompleted()); + burnoutFigure.setRealistic(realTotal.get()); + }else{ + burnoutFigure.setRealistic(realTotal.get()); + } + }); + } + return burnoutFigureList; + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/IChartService.java b/tall/src/main/java/com/ccsens/tall/service/IChartService.java new file mode 100644 index 00000000..9b531dc5 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/service/IChartService.java @@ -0,0 +1,19 @@ +package com.ccsens.tall.service; + +import com.ccsens.tall.bean.dto.ChartDto; +import com.ccsens.tall.bean.vo.ChartVo; + +import java.util.List; + +public interface IChartService { + ChartVo.ExecutorChart getExecutorChart(Long currentUserId,Long projectId, Integer type); + + List getCompleteTaskByTime(Long currentUserId, Long projectId); + + List getProjectTrend(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto); + + ChartVo.ProjectOverview getOverview(Long currentUserId, Long projectId); + + List getBurnoutFigure(Long currentUserId, ChartDto.ProjectTrendDto projectTrendDto); + +} diff --git a/tall/src/main/java/com/ccsens/tall/service/ILabelService.java b/tall/src/main/java/com/ccsens/tall/service/ILabelService.java index 10fc6836..f921fee1 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ILabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ILabelService.java @@ -6,15 +6,15 @@ import com.ccsens.tall.bean.vo.LabelVo; import java.util.List; public interface ILabelService { - List addLabel(Long userId,List labelList); + List addLabel(Long userId,LabelDto.AddLabel labelList); - List selectLabel(Long currentUserId); + List selectLabel(Long currentUserId,String key); void delLabel(Long currentUserId, LabelDto.DelLabel delLabel); void changeLabel(Long currentUserId, LabelDto.ChangeLabel changeLabel); - void projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); + List projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); - void projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); + List projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); } diff --git a/tall/src/main/java/com/ccsens/tall/service/LabelService.java b/tall/src/main/java/com/ccsens/tall/service/LabelService.java index 16e10ae8..cf3d283d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LabelService.java @@ -17,6 +17,7 @@ import com.ccsens.util.exception.BaseException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; @Service @@ -34,26 +35,24 @@ public class LabelService implements ILabelService{ /** * 添加标签 - * @param labelList 添加的标签信息 + * @param label 添加的标签信息 */ @Override - public List addLabel(Long userId,List labelList) { - if(CollectionUtil.isNotEmpty(labelList)){ - labelList.forEach(label->{ - SysLabelExample sysLabelExample = new SysLabelExample(); - sysLabelExample.createCriteria().andNameEqualTo(label.getName()); - List sysLabels = sysLabelDao.selectByExample(sysLabelExample); - if(CollectionUtil.isNotEmpty(sysLabels)){ - throw new BaseException(CodeEnum.REPEAT_LABEL); - } - SysLabel sysLabel = new SysLabel(); - sysLabel.setId(snowflake.nextId()); - sysLabel.setUserId(userId); - BeanUtil.copyProperties(label,sysLabel); - sysLabelDao.insertSelective(sysLabel); - }); + public List addLabel(Long userId,LabelDto.AddLabel label) { + if(ObjectUtil.isNotNull(label)){ + SysLabelExample sysLabelExample = new SysLabelExample(); + sysLabelExample.createCriteria().andNameEqualTo(label.getName()).andUserIdEqualTo(userId); + List sysLabels = sysLabelDao.selectByExample(sysLabelExample); + if(CollectionUtil.isNotEmpty(sysLabels)){ + throw new BaseException(CodeEnum.REPEAT_LABEL); + } + SysLabel sysLabel = new SysLabel(); + sysLabel.setId(snowflake.nextId()); + sysLabel.setUserId(userId); + BeanUtil.copyProperties(label,sysLabel); + sysLabelDao.insertSelective(sysLabel); } - return sysLabelDao.selectLabelByUserId(userId); + return sysLabelDao.selectLabelByUserId(userId,null); } /** @@ -62,8 +61,8 @@ public class LabelService implements ILabelService{ * @return 返回该用户添加的所有标签 */ @Override - public List selectLabel(Long currentUserId) { - return sysLabelDao.selectLabelByUserId(currentUserId); + public List selectLabel(Long currentUserId,String key) { + return sysLabelDao.selectLabelByUserId(currentUserId,key); } /** @@ -123,12 +122,13 @@ public class LabelService implements ILabelService{ * @param projectLabel 项目id和标签id */ @Override - public void projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { + public List projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { + List selectLabelList = new ArrayList<>(); SysProject project = sysProjectDao.selectByPrimaryKey(projectLabel.getProjectId()); if (ObjectUtil.isNotNull(project)) { //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); - if (power > 1) { +// int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); +// if (power > 1) { if(CollectionUtil.isNotEmpty(projectLabel.getLabelList())){ projectLabel.getLabelList().forEach(labelId->{ SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); @@ -146,12 +146,15 @@ public class LabelService implements ILabelService{ sysProjectLabelDao.insertSelective(sysProjectLabel); }); } - } else { - throw new BaseException(CodeEnum.NOT_POWER); - } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId,project.getId()); +// } else { +// throw new BaseException(CodeEnum.NOT_POWER); +// } } else { throw new BaseException(CodeEnum.NOT_PROJECT); } + return selectLabelList; } /** @@ -160,12 +163,13 @@ public class LabelService implements ILabelService{ * @param projectLabel 项目id和被删除的标签的id */ @Override - public void projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { + public List projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { + List selectLabelList = new ArrayList<>(); SysProject project = sysProjectDao.selectByPrimaryKey(projectLabel.getProjectId()); if (ObjectUtil.isNotNull(project)) { //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); - if (power > 1) { +// int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); +// if (power > 1) { if(CollectionUtil.isNotEmpty(projectLabel.getLabelList())){ projectLabel.getLabelList().forEach(labelId -> { SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); @@ -187,11 +191,14 @@ public class LabelService implements ILabelService{ } }); } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId,project.getId()); } else { throw new BaseException(CodeEnum.NOT_POWER); } - } else { - throw new BaseException(CodeEnum.NOT_PROJECT); - } +// } else { +// throw new BaseException(CodeEnum.NOT_PROJECT); +// } + return selectLabelList; } } 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 ab566fbf..d74b5632 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -23,6 +23,7 @@ import com.ccsens.util.cron.CronConstant; import com.ccsens.util.cron.NatureToDate; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; +import org.aspectj.apache.bcel.classfile.Code; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -453,6 +454,7 @@ public class ProTaskDetailService implements IProTaskDetailService { String[] pluginIds = pluginVo.getId().split(","); String[] pluginNames = pluginVo.getName().split(","); String[] pluginDescription = pluginVo.getDescription().split(","); + String[] pluginShowType = pluginVo.getShowType().split(","); TaskVo.PluginVo plugin = null; for(int i = 0;i labelList = sysLabelDao.selectLabelByProjectId(project.getId()); + List labelList = sysLabelDao.selectLabelByProjectId(currentUserId,project.getId()); if(CollectionUtil.isNotEmpty(labelList)){ projectInfo.setLabelList(labelList); } @@ -301,16 +299,14 @@ public class ProjectService implements IProjectService { projectConfig.setCreateTask(proShowList.get(0).getCreateTask()); projectConfig.setShowMvp(proShowList.get(0).getIsShowMvp()); projectConfig.setSelectTaskType(proShowList.get(0).getSelectTaskType()); + projectConfig.setDetailPath(proShowList.get(0).getDetailPath()); projectInfo.setProjectConfig(projectConfig); } else { ProjectVo.ProjectConfig projectConfig = new ProjectVo.ProjectConfig(); - projectConfig.setSlide(0); - projectConfig.setFilter(0); - projectConfig.setCreateTask(1); projectInfo.setProjectConfig(projectConfig); } //获取项目下的标签信息 - List labelList = sysLabelDao.selectLabelByProjectId(projectId); + List labelList = sysLabelDao.selectLabelByProjectId(userId,projectId); if(CollectionUtil.isNotEmpty(labelList)){ projectInfo.setLabelList(labelList); } @@ -329,7 +325,6 @@ public class ProjectService implements IProjectService { PageHelper.startPage(1, 4); List templateProject = sysProjectDao.selectByTemplateStatus(1); - PageHelper.startPage(1, 2); List commonProject = sysProjectDao.selectByTemplateStatus(0); // PageInfo pageInfo =new PageInfo<>(project); diff --git a/tall/src/main/java/com/ccsens/tall/web/ChartController.java b/tall/src/main/java/com/ccsens/tall/web/ChartController.java new file mode 100644 index 00000000..822bb1ef --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/web/ChartController.java @@ -0,0 +1,86 @@ +package com.ccsens.tall.web; + +import com.ccsens.tall.bean.dto.ChartDto; +import com.ccsens.tall.bean.dto.TaskDto; +import com.ccsens.tall.bean.vo.ChartVo; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.service.IChartService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.WebConstant; +import io.jsonwebtoken.Claims; +import io.swagger.annotations.*; +import jdk.internal.dynalink.linker.LinkerServices; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Api(tags = "图表相关API", description = "") +@RestController +@RequestMapping("/charts") +public class ChartController { + @Autowired + private IChartService chartService; + + + @ApiOperation(value = "任务执行者分布图",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/executor", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getTasksByTaskId(HttpServletRequest request, + @RequestParam(required = true)Long projectId, + @RequestParam(required = false)Integer type) throws Exception{ + type = type == null ? 0 : type; + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + ChartVo.ExecutorChart executorChart = chartService.getExecutorChart(currentUserId,projectId,type); + return JsonResponse.newInstance().ok(executorChart); + } + + @ApiOperation(value = "计划时间内完成任务",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/complete", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getCompleteTaskByTime(HttpServletRequest request, + @RequestParam(required = true)Long projectId) throws Exception{ + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List completeTaskNumList = chartService.getCompleteTaskByTime(currentUserId,projectId); + return JsonResponse.newInstance().ok(completeTaskNumList); + } + + + @ApiOperation(value = "项目进展趋势图",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/trend", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getProjectTrend(HttpServletRequest request, + @Validated @RequestBody ChartDto.ProjectTrendDto projectTrendDto) throws Exception{ + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List projectTrendVoList = chartService.getProjectTrend(currentUserId,projectTrendDto); + return JsonResponse.newInstance().ok(projectTrendVoList); + } + + + @ApiOperation(value = "概览报表",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/overview", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getOverview(HttpServletRequest request, + @RequestParam(required = true)Long projectId) throws Exception{ + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + ChartVo.ProjectOverview projectOverview = chartService.getOverview(currentUserId,projectId); + return JsonResponse.newInstance().ok(projectOverview); + } + + @ApiOperation(value = "燃尽图",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/burnout", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getBurnoutFigure(HttpServletRequest request, + @Validated @RequestBody ChartDto.ProjectTrendDto projectTrendDto) throws Exception{ + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List burnoutFigure = chartService.getBurnoutFigure(currentUserId,projectTrendDto); + return JsonResponse.newInstance().ok(burnoutFigure); + } +} diff --git a/tall/src/main/java/com/ccsens/tall/web/LabelController.java b/tall/src/main/java/com/ccsens/tall/web/LabelController.java index 1537b961..5b6b95f1 100644 --- a/tall/src/main/java/com/ccsens/tall/web/LabelController.java +++ b/tall/src/main/java/com/ccsens/tall/web/LabelController.java @@ -4,6 +4,7 @@ import com.ccsens.tall.bean.dto.LabelDto; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.vo.DomainVo; import com.ccsens.tall.bean.vo.LabelVo; +import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.service.ILabelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; @@ -30,9 +31,10 @@ public class LabelController { @ApiImplicitParams({ }) @RequestMapping(value = "", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> selectLabel(HttpServletRequest request) throws Exception { + public JsonResponse> selectLabel(HttpServletRequest request, + @RequestParam(required = false)String key) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - List selectLabelList = labelService.selectLabel(currentUserId); + List selectLabelList = labelService.selectLabel(currentUserId,key); return JsonResponse.newInstance().ok(selectLabelList); } @@ -41,7 +43,7 @@ public class LabelController { }) @RequestMapping(value = "/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> addLabel(HttpServletRequest request, - @Validated @RequestBody List labelList ) throws Exception { + @Validated @RequestBody LabelDto.AddLabel labelList ) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); List selectLabelList = labelService.addLabel(currentUserId,labelList); return JsonResponse.newInstance().ok(selectLabelList); @@ -73,22 +75,22 @@ public class LabelController { @ApiImplicitParams({ }) @RequestMapping(value = "/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse projectAddLabel(HttpServletRequest request, - @Validated @RequestBody LabelDto.ProjectLabel projectLabel) throws Exception { + public JsonResponse> projectAddLabel(HttpServletRequest request, + @Validated @RequestBody LabelDto.ProjectLabel projectLabel) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - labelService.projectAddLabel(currentUserId,projectLabel); - return JsonResponse.newInstance().ok(); + List selectLabelList = labelService.projectAddLabel(currentUserId,projectLabel); + return JsonResponse.newInstance().ok(selectLabelList); } @ApiOperation(value = "删除项目关联的标签",notes = "") @ApiImplicitParams({ }) @RequestMapping(value = "/project/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse projectRemoveLabel(HttpServletRequest request, + public JsonResponse> projectRemoveLabel(HttpServletRequest request, @Validated @RequestBody LabelDto.ProjectLabel projectLabel) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - labelService.projectRemoveLabel(currentUserId,projectLabel); - return JsonResponse.newInstance().ok(); + List selectLabelList = labelService.projectRemoveLabel(currentUserId,projectLabel); + return JsonResponse.newInstance().ok(selectLabelList); } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index 258203f9..8a75e283 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -237,15 +237,15 @@ public class ProjectController { return JsonResponse.newInstance().ok(projectInfoList); } -// @ApiOperation(value = "查找关联的项目",notes = "") -// @ApiImplicitParams({ -// }) -// @RequestMapping(value = "/relevance", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse> selectRelevanceProject(HttpServletRequest request, -// @RequestParam(required = false) Long projectId) throws Exception { -// Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); -// List projectInfoList = projectService.selectRelevanceProject(currentUserId,projectId); -// return JsonResponse.newInstance().ok(projectInfoList); -// } + @ApiOperation(value = "查找关联的项目",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/relevance", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selectRelevanceProject(HttpServletRequest request, + @RequestParam(required = true) Long projectId) throws Exception { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List projectInfoList = projectService.selectRelevanceProject(currentUserId,projectId); + return JsonResponse.newInstance().ok(projectInfoList); + } } diff --git a/tall/src/main/resources/mapper_dao/SysLabelDao.xml b/tall/src/main/resources/mapper_dao/SysLabelDao.xml index a5ea7bfe..27f92b6f 100644 --- a/tall/src/main/resources/mapper_dao/SysLabelDao.xml +++ b/tall/src/main/resources/mapper_dao/SysLabelDao.xml @@ -8,6 +8,10 @@ rec_status = 0 and user_id = #{userId} + + and + `name` like concat('%',#{key},'%') + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysProjectDao.xml b/tall/src/main/resources/mapper_dao/SysProjectDao.xml index 8956f898..a8b061cd 100644 --- a/tall/src/main/resources/mapper_dao/SysProjectDao.xml +++ b/tall/src/main/resources/mapper_dao/SysProjectDao.xml @@ -55,6 +55,15 @@ + + + + + + + + + SELECT - * + p.id AS pId, + p.NAME AS pName, + p.address AS pAddress, + p.begin_time AS pBeginTime, + p.end_time AS pEndTime, + l.id as lId, + l.name as lName, + l.code as lCode, + l.color as lColor, + l.level as lLevle, + l.description as lDescription FROM - t_sys_project p LEFT JOIN - (SELECT - r.relevance_project_id as rProjectId - FROM - t_sys_relevance_project r left JOIN t_sys_project sp ON r.project_id = sp.id - WHERE - r.project_id = #{projectId} - ) t - on p.id = t.rProjectId left join t_sys_project_label pl on pl.project_id = p.id + ( + SELECT + r.relevance_project_id as rProjectId + FROM + t_sys_relevance_project r left JOIN t_sys_project sp ON r.project_id = sp.id + WHERE + r.project_id = #{projectId} + ) t + LEFT JOIN t_sys_project p on p.id = t.rProjectId left join t_sys_project_label pl on pl.project_id = p.id left join t_sys_label l on pl.label_id = l.id WHERE p.rec_status = 0 @@ -228,6 +247,188 @@ (pl.rec_status = 0 or pl.rec_status is null) AND p.template = 0 + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysUserDao.xml b/tall/src/main/resources/mapper_dao/SysUserDao.xml index 2a575dcb..74db048b 100644 --- a/tall/src/main/resources/mapper_dao/SysUserDao.xml +++ b/tall/src/main/resources/mapper_dao/SysUserDao.xml @@ -76,9 +76,10 @@ AND a.identify_type = 3 WHERE u.rec_status = 0 - and + and a.rec_status = 0 - and + and u.id = #{userId} + limit 1 \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index b6b6f290..5694701f 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -27,6 +27,7 @@ + @@ -38,6 +39,7 @@ + @@ -57,7 +59,8 @@ *, GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, - GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription + GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, + GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM (SELECT d.id as tDetailId, @@ -72,6 +75,7 @@ s.real_begin_time as tRealBeginTime, s.real_end_time as tRealEndTime, s.complated_status as tProcess, + d.sub_project_id as tSubProjectId, d.money as tMoney, d.virtual as tVirtual, d.delay as tDelay, @@ -82,7 +86,8 @@ sp.name as spName, p.id as p_id, sp.description as spDescription, - sp.id as spid + sp.id as spid, + sp.show_type as spShowType FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -130,7 +135,8 @@ *, GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, - GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription + GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, + GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM (SELECT d.id as tDetailId, @@ -145,6 +151,7 @@ s.real_begin_time as tRealBeginTime, s.real_end_time as tRealEndTime, s.complated_status as tProcess, + d.sub_project_id as tSubProjectId, d.money as tMoney, d.virtual as tVirtual, d.delay as tDelay, @@ -155,7 +162,8 @@ sp.name as spName, p.id as p_id, sp.description as spDescription, - sp.id as spid + sp.id as spid, + sp.show_type as spShowType FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -200,7 +208,8 @@ *, GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, - GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription + GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, + GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM (SELECT d.id as tDetailId, @@ -215,6 +224,7 @@ s.real_begin_time as tRealBeginTime, s.real_end_time as tRealEndTime, s.complated_status as tProcess, + d.sub_project_id as tSubProjectId, d.money as tMoney, d.virtual as tVirtual, d.delay as tDelay, @@ -222,7 +232,8 @@ sp.name as spName, p.id as p_id, sp.description as spDescription, - sp.id as spid + sp.id as spid, + sp.show_type as spShowType FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -251,7 +262,8 @@ *, GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, - GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription + GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, + GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM (SELECT d.id as tDetailId, @@ -266,6 +278,7 @@ s.real_begin_time as tRealBeginTime, s.real_end_time as tRealEndTime, s.complated_status as tProcess, + d.sub_project_id as tSubProjectId, d.money as tMoney, d.virtual as tVirtual, d.delay as tDelay, @@ -273,7 +286,8 @@ sp.name as spName, p.id as p_id, sp.description as spDescription, - sp.id as spid + sp.id as spid, + sp.show_type as spShowType FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -329,7 +343,8 @@ *, GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, - GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription + GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, + GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM (SELECT d.id as tDetailId, @@ -344,6 +359,7 @@ s.real_begin_time as tRealBeginTime, s.real_end_time as tRealEndTime, s.complated_status as tProcess, + d.sub_project_id as tSubProjectId, d.money as tMoney, d.virtual as tVirtual, d.delay as tDelay, @@ -351,7 +367,8 @@ sp.name as spName, p.id as p_id, sp.description as spDescription, - sp.id as spid + sp.id as spid, + sp.show_type as spShowType FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id diff --git a/tall/src/main/resources/mapper_raw/ProShowMapper.xml b/tall/src/main/resources/mapper_raw/ProShowMapper.xml index f980e2b9..b9b652e7 100644 --- a/tall/src/main/resources/mapper_raw/ProShowMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProShowMapper.xml @@ -15,6 +15,7 @@ + @@ -76,7 +77,7 @@ id, project_id, slide, filter, is_show_mvp, create_task, created_at, updated_at, - rec_status, time_show, duration, show_shortcuts, select_task_type + rec_status, time_show, duration, show_shortcuts, select_task_type, detail_path @@ -253,6 +260,9 @@ select_task_type = #{record.selectTaskType,jdbcType=TINYINT}, + + detail_path = #{record.detailPath,jdbcType=VARCHAR}, + @@ -272,7 +282,8 @@ time_show = #{record.timeShow,jdbcType=VARCHAR}, duration = #{record.duration,jdbcType=TINYINT}, show_shortcuts = #{record.showShortcuts,jdbcType=TINYINT}, - select_task_type = #{record.selectTaskType,jdbcType=TINYINT} + select_task_type = #{record.selectTaskType,jdbcType=TINYINT}, + detail_path = #{record.detailPath,jdbcType=VARCHAR} @@ -316,6 +327,9 @@ select_task_type = #{selectTaskType,jdbcType=TINYINT}, + + detail_path = #{detailPath,jdbcType=VARCHAR}, + where id = #{id,jdbcType=BIGINT} @@ -332,7 +346,8 @@ time_show = #{timeShow,jdbcType=VARCHAR}, duration = #{duration,jdbcType=TINYINT}, show_shortcuts = #{showShortcuts,jdbcType=TINYINT}, - select_task_type = #{selectTaskType,jdbcType=TINYINT} + select_task_type = #{selectTaskType,jdbcType=TINYINT}, + detail_path = #{detailPath,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/SysPluginMapper.xml b/tall/src/main/resources/mapper_raw/SysPluginMapper.xml index 69846018..d9e9f440 100644 --- a/tall/src/main/resources/mapper_raw/SysPluginMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysPluginMapper.xml @@ -1,243 +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, name, description, scene, created_at, updated_at, rec_status - - - - - delete from t_sys_plugin - where id = #{id,jdbcType=BIGINT} - - - delete from t_sys_plugin - - - - - - insert into t_sys_plugin (id, name, description, - scene, created_at, updated_at, - rec_status) - values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, - #{scene,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}) - - - insert into t_sys_plugin - - - id, - - - name, - - - description, - - - scene, - - - created_at, - - - updated_at, - - - rec_status, - - - - - #{id,jdbcType=BIGINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{description,jdbcType=VARCHAR}, - - - #{scene,jdbcType=TINYINT}, - - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - - - - - - update t_sys_plugin - - - id = #{record.id,jdbcType=BIGINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - description = #{record.description,jdbcType=VARCHAR}, - - - scene = #{record.scene,jdbcType=TINYINT}, - - - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{record.recStatus,jdbcType=TINYINT}, - - - - - - - - update t_sys_plugin - set id = #{record.id,jdbcType=BIGINT}, - name = #{record.name,jdbcType=VARCHAR}, - description = #{record.description,jdbcType=VARCHAR}, - scene = #{record.scene,jdbcType=TINYINT}, - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} - - - - - - update t_sys_plugin - - - name = #{name,jdbcType=VARCHAR}, - - - description = #{description,jdbcType=VARCHAR}, - - - scene = #{scene,jdbcType=TINYINT}, - - - created_at = #{createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{recStatus,jdbcType=TINYINT}, - - - where id = #{id,jdbcType=BIGINT} - - - update t_sys_plugin - set name = #{name,jdbcType=VARCHAR}, - description = #{description,jdbcType=VARCHAR}, - scene = #{scene,jdbcType=TINYINT}, - created_at = #{createdAt,jdbcType=TIMESTAMP}, - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - + + + + + + + + + + + + + + + + + + + + + + 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, name, description, scene, created_at, updated_at, rec_status, show_type + + + + + delete from t_sys_plugin + where id = #{id,jdbcType=BIGINT} + + + delete from t_sys_plugin + + + + + + insert into t_sys_plugin (id, name, description, + scene, created_at, updated_at, + rec_status, show_type) + values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, + #{scene,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}, #{showType,jdbcType=TINYINT}) + + + insert into t_sys_plugin + + + id, + + + name, + + + description, + + + scene, + + + created_at, + + + updated_at, + + + rec_status, + + + show_type, + + + + + #{id,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{description,jdbcType=VARCHAR}, + + + #{scene,jdbcType=TINYINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + #{showType,jdbcType=TINYINT}, + + + + + + update t_sys_plugin + + + id = #{record.id,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + scene = #{record.scene,jdbcType=TINYINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + show_type = #{record.showType,jdbcType=TINYINT}, + + + + + + + + update t_sys_plugin + set id = #{record.id,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + description = #{record.description,jdbcType=VARCHAR}, + scene = #{record.scene,jdbcType=TINYINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT}, + show_type = #{record.showType,jdbcType=TINYINT} + + + + + + update t_sys_plugin + + + name = #{name,jdbcType=VARCHAR}, + + + description = #{description,jdbcType=VARCHAR}, + + + scene = #{scene,jdbcType=TINYINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + show_type = #{showType,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_sys_plugin + set name = #{name,jdbcType=VARCHAR}, + description = #{description,jdbcType=VARCHAR}, + scene = #{scene,jdbcType=TINYINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT}, + show_type = #{showType,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/StringUtil.java b/util/src/main/java/com/ccsens/util/StringUtil.java index 6100bbc7..46996ca1 100644 --- a/util/src/main/java/com/ccsens/util/StringUtil.java +++ b/util/src/main/java/com/ccsens/util/StringUtil.java @@ -13,7 +13,7 @@ import java.util.regex.Pattern; public class StringUtil { public final static String WEEK_DAY = "(每?隔\\d周)|(每?隔\\d星期)|(每?周[0-7]+)|(每?星期[0-7]+)|(每?周一)|(每?周二)|(每?周三)|(每?周四)|(每?周五)|(每?周六)|(每?周日)|(每?周天)"; - public final static String DAY = "(每?隔\\d+天)|(每?隔\\d+日)|(\\d+号)|(\\d+日)|(\\d+\\-\\d+号)|(\\d+\\-\\d+日)|(\\d+到\\d+号)|(\\d+到\\d+日)"; + public final static String DAY = "(每\\d+天)|(每\\d+日)|(每?隔\\d+天)|(每?隔\\d+日)|(\\d+号)|(\\d+日)|(\\d+\\-\\d+号)|(\\d+\\-\\d+日)|(\\d+到\\d+号)|(\\d+到\\d+日)"; public final static String CONTINUE_RANGE = ".*(到|\\-|至).*";