44 changed files with 2131 additions and 180 deletions
@ -1,4 +1,4 @@ |
|||
spring: |
|||
profiles: |
|||
active: dev |
|||
include: common, util-dev |
|||
active: test |
|||
include: common, util-test |
Binary file not shown.
@ -0,0 +1,49 @@ |
|||
package com.ccsens.tall.bean.dto; |
|||
|
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.NonNull; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 逗 |
|||
*/ |
|||
@Data |
|||
public class WeekMeetingDto { |
|||
|
|||
@Data |
|||
@ApiModel("项目的id") |
|||
public static class WeekMeetingId{ |
|||
@ApiModelProperty("项目的id") |
|||
private Long projectId; |
|||
} |
|||
|
|||
@Data |
|||
@ApiModel("查找个人本周任务") |
|||
public static class WeekTaskByMemberAndProject{ |
|||
@NonNull |
|||
@ApiModelProperty("成员id") |
|||
private Long memberId; |
|||
@ApiModelProperty("“个人汇报”任务的id") |
|||
private Long taskId; |
|||
@ApiModelProperty("周会项目的id") |
|||
private Long projectId; |
|||
|
|||
public WeekTaskByMemberAndProject() { |
|||
} |
|||
} |
|||
|
|||
@Data |
|||
@ApiModel("项目的id") |
|||
public static class WeekMeetingMinutes{ |
|||
@ApiModelProperty("项目的id") |
|||
private Long projectId; |
|||
@ApiModelProperty("个人汇报任务的id") |
|||
private long taskId; |
|||
@ApiModelProperty("域名") |
|||
private String domainName; |
|||
} |
|||
} |
@ -0,0 +1,95 @@ |
|||
package com.ccsens.tall.bean.po; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
public class ProUserAttentionRole implements Serializable { |
|||
private Long id; |
|||
|
|||
private Long projectId; |
|||
|
|||
private Long userId; |
|||
|
|||
private Long roleId; |
|||
|
|||
private Date createdAt; |
|||
|
|||
private Date updatedAt; |
|||
|
|||
private Byte recStatus; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
public Long getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(Long id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public Long getProjectId() { |
|||
return projectId; |
|||
} |
|||
|
|||
public void setProjectId(Long projectId) { |
|||
this.projectId = projectId; |
|||
} |
|||
|
|||
public Long getUserId() { |
|||
return userId; |
|||
} |
|||
|
|||
public void setUserId(Long userId) { |
|||
this.userId = userId; |
|||
} |
|||
|
|||
public Long getRoleId() { |
|||
return roleId; |
|||
} |
|||
|
|||
public void setRoleId(Long roleId) { |
|||
this.roleId = roleId; |
|||
} |
|||
|
|||
public Date getCreatedAt() { |
|||
return createdAt; |
|||
} |
|||
|
|||
public void setCreatedAt(Date createdAt) { |
|||
this.createdAt = createdAt; |
|||
} |
|||
|
|||
public Date getUpdatedAt() { |
|||
return updatedAt; |
|||
} |
|||
|
|||
public void setUpdatedAt(Date updatedAt) { |
|||
this.updatedAt = updatedAt; |
|||
} |
|||
|
|||
public Byte getRecStatus() { |
|||
return recStatus; |
|||
} |
|||
|
|||
public void setRecStatus(Byte recStatus) { |
|||
this.recStatus = recStatus; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
StringBuilder sb = new StringBuilder(); |
|||
sb.append(getClass().getSimpleName()); |
|||
sb.append(" ["); |
|||
sb.append("Hash = ").append(hashCode()); |
|||
sb.append(", id=").append(id); |
|||
sb.append(", projectId=").append(projectId); |
|||
sb.append(", userId=").append(userId); |
|||
sb.append(", roleId=").append(roleId); |
|||
sb.append(", createdAt=").append(createdAt); |
|||
sb.append(", updatedAt=").append(updatedAt); |
|||
sb.append(", recStatus=").append(recStatus); |
|||
sb.append("]"); |
|||
return sb.toString(); |
|||
} |
|||
} |
@ -0,0 +1,621 @@ |
|||
package com.ccsens.tall.bean.po; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class ProUserAttentionRoleExample { |
|||
protected String orderByClause; |
|||
|
|||
protected boolean distinct; |
|||
|
|||
protected List<Criteria> oredCriteria; |
|||
|
|||
public ProUserAttentionRoleExample() { |
|||
oredCriteria = new ArrayList<Criteria>(); |
|||
} |
|||
|
|||
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<Criteria> 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<Criterion> criteria; |
|||
|
|||
protected GeneratedCriteria() { |
|||
super(); |
|||
criteria = new ArrayList<Criterion>(); |
|||
} |
|||
|
|||
public boolean isValid() { |
|||
return criteria.size() > 0; |
|||
} |
|||
|
|||
public List<Criterion> getAllCriteria() { |
|||
return criteria; |
|||
} |
|||
|
|||
public List<Criterion> 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<Long> values) { |
|||
addCriterion("id in", values, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotIn(List<Long> 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 andProjectIdIsNull() { |
|||
addCriterion("project_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdIsNotNull() { |
|||
addCriterion("project_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdEqualTo(Long value) { |
|||
addCriterion("project_id =", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdNotEqualTo(Long value) { |
|||
addCriterion("project_id <>", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdGreaterThan(Long value) { |
|||
addCriterion("project_id >", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("project_id >=", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdLessThan(Long value) { |
|||
addCriterion("project_id <", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("project_id <=", value, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdIn(List<Long> values) { |
|||
addCriterion("project_id in", values, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdNotIn(List<Long> values) { |
|||
addCriterion("project_id not in", values, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdBetween(Long value1, Long value2) { |
|||
addCriterion("project_id between", value1, value2, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andProjectIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("project_id not between", value1, value2, "projectId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIsNull() { |
|||
addCriterion("user_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIsNotNull() { |
|||
addCriterion("user_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdEqualTo(Long value) { |
|||
addCriterion("user_id =", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotEqualTo(Long value) { |
|||
addCriterion("user_id <>", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdGreaterThan(Long value) { |
|||
addCriterion("user_id >", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("user_id >=", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdLessThan(Long value) { |
|||
addCriterion("user_id <", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("user_id <=", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIn(List<Long> values) { |
|||
addCriterion("user_id in", values, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotIn(List<Long> values) { |
|||
addCriterion("user_id not in", values, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdBetween(Long value1, Long value2) { |
|||
addCriterion("user_id between", value1, value2, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("user_id not between", value1, value2, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdIsNull() { |
|||
addCriterion("role_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdIsNotNull() { |
|||
addCriterion("role_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdEqualTo(Long value) { |
|||
addCriterion("role_id =", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdNotEqualTo(Long value) { |
|||
addCriterion("role_id <>", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdGreaterThan(Long value) { |
|||
addCriterion("role_id >", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("role_id >=", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdLessThan(Long value) { |
|||
addCriterion("role_id <", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("role_id <=", value, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdIn(List<Long> values) { |
|||
addCriterion("role_id in", values, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdNotIn(List<Long> values) { |
|||
addCriterion("role_id not in", values, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdBetween(Long value1, Long value2) { |
|||
addCriterion("role_id between", value1, value2, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRoleIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("role_id not between", value1, value2, "roleId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNull() { |
|||
addCriterion("created_at is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNotNull() { |
|||
addCriterion("created_at is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtEqualTo(Date value) { |
|||
addCriterion("created_at =", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotEqualTo(Date value) { |
|||
addCriterion("created_at <>", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThan(Date value) { |
|||
addCriterion("created_at >", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("created_at >=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThan(Date value) { |
|||
addCriterion("created_at <", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThanOrEqualTo(Date value) { |
|||
addCriterion("created_at <=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIn(List<Date> values) { |
|||
addCriterion("created_at in", values, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotIn(List<Date> 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<Date> values) { |
|||
addCriterion("updated_at in", values, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotIn(List<Date> 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<Byte> values) { |
|||
addCriterion("rec_status in", values, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotIn(List<Byte> 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); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.ccsens.tall.persist.mapper; |
|||
|
|||
import com.ccsens.tall.bean.po.ProUserAttentionRole; |
|||
import com.ccsens.tall.bean.po.ProUserAttentionRoleExample; |
|||
import java.util.List; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
public interface ProUserAttentionRoleMapper { |
|||
long countByExample(ProUserAttentionRoleExample example); |
|||
|
|||
int deleteByExample(ProUserAttentionRoleExample example); |
|||
|
|||
int deleteByPrimaryKey(Long id); |
|||
|
|||
int insert(ProUserAttentionRole record); |
|||
|
|||
int insertSelective(ProUserAttentionRole record); |
|||
|
|||
List<ProUserAttentionRole> selectByExample(ProUserAttentionRoleExample example); |
|||
|
|||
ProUserAttentionRole selectByPrimaryKey(Long id); |
|||
|
|||
int updateByExampleSelective(@Param("record") ProUserAttentionRole record, @Param("example") ProUserAttentionRoleExample example); |
|||
|
|||
int updateByExample(@Param("record") ProUserAttentionRole record, @Param("example") ProUserAttentionRoleExample example); |
|||
|
|||
int updateByPrimaryKeySelective(ProUserAttentionRole record); |
|||
|
|||
int updateByPrimaryKey(ProUserAttentionRole record); |
|||
} |
@ -0,0 +1,44 @@ |
|||
package com.ccsens.tall.service; |
|||
|
|||
import com.ccsens.tall.bean.dto.WeekMeetingDto; |
|||
import com.ccsens.tall.bean.vo.PluginVo; |
|||
import com.ccsens.tall.bean.vo.ProjectVo; |
|||
import com.ccsens.tall.bean.vo.TaskVo; |
|||
|
|||
import java.io.IOException; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 逗 |
|||
*/ |
|||
public interface IWeekMeetingService { |
|||
/** |
|||
* 查找周会要用到的项目 |
|||
* @param projectId 周会项目id |
|||
* @param userId userId |
|||
* @return 返回查询到的项目列表 |
|||
*/ |
|||
List<PluginVo.ReportProject> queryWeekUserProject(Long projectId, Long userId); |
|||
|
|||
/** |
|||
* 查找本周任务 |
|||
* @param projectId 项目id |
|||
* @return 本周任务 |
|||
*/ |
|||
List<TaskVo.TaskMinutesWps> queryWeekTaskByProject(Long projectId); |
|||
|
|||
/** |
|||
* 查找个人本周任务 |
|||
* @param param 成员id和项目id |
|||
* @return 返回本周任务 |
|||
*/ |
|||
List<TaskVo.TaskMinutesWps> queryWeekTaskByMemberAndProject(WeekMeetingDto.WeekTaskByMemberAndProject param) throws IOException; |
|||
|
|||
/** |
|||
* 生成会议记录表(传控模板) |
|||
* @param userId userId |
|||
* @param param 项目id和域名 |
|||
* @return |
|||
*/ |
|||
String getCcMinutes(Long userId, WeekMeetingDto.WeekMeetingMinutes param) throws IOException; |
|||
} |
@ -0,0 +1,355 @@ |
|||
package com.ccsens.tall.service; |
|||
|
|||
import cn.hutool.core.collection.CollectionUtil; |
|||
import cn.hutool.core.date.DateUtil; |
|||
import cn.hutool.core.util.ObjectUtil; |
|||
import cn.hutool.core.util.StrUtil; |
|||
import com.ccsens.tall.bean.dto.WeekMeetingDto; |
|||
import com.ccsens.tall.bean.po.*; |
|||
import com.ccsens.tall.bean.vo.PluginVo; |
|||
import com.ccsens.tall.bean.vo.TaskVo; |
|||
import com.ccsens.tall.persist.dao.*; |
|||
import com.ccsens.tall.util.TallConstant; |
|||
import com.ccsens.util.JacksonUtil; |
|||
import com.ccsens.util.PoiUtil; |
|||
import com.ccsens.util.PropUtil; |
|||
import com.ccsens.util.WebConstant; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Propagation; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.io.File; |
|||
import java.io.FileOutputStream; |
|||
import java.io.IOException; |
|||
import java.io.OutputStream; |
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 逗 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|||
public class WeekMeetingService implements IWeekMeetingService{ |
|||
@Resource |
|||
private SysProjectDao sysProjectDao; |
|||
@Resource |
|||
private TaskSubTimeDao taskSubTimeDao; |
|||
@Resource |
|||
private ProMemberDao proMemberDao; |
|||
@Resource |
|||
private SysDomainDao sysDomainDao; |
|||
@Resource |
|||
private SysPluginDao sysPluginDao; |
|||
@Resource |
|||
private ProPluginConfigDao proPluginConfigDao; |
|||
@Resource |
|||
private ITaskPluginService taskPluginService; |
|||
|
|||
/** |
|||
* 查找周会要用到的项目 |
|||
* @param projectId 周会项目id |
|||
* @param userId userId |
|||
* @return 返回项目id和名字 |
|||
*/ |
|||
@Override |
|||
public List<PluginVo.ReportProject> queryWeekUserProject(Long projectId, Long userId) { |
|||
SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); |
|||
List<PluginVo.ReportProject> reportProjectList = null; |
|||
if(ObjectUtil.isNotNull(sysProject)){ |
|||
reportProjectList = sysProjectDao.queryProjectByParentIdAndNotOwn(sysProject.getParentId(),sysProject.getId()); |
|||
} |
|||
//查找父项目下的所有子项目除去当前项目
|
|||
return reportProjectList; |
|||
} |
|||
|
|||
/** |
|||
* 查找项目本周任务 |
|||
* @param projectId 项目id |
|||
* @return 返回项目的本周任务 |
|||
*/ |
|||
@Override |
|||
public List<TaskVo.TaskMinutesWps> queryWeekTaskByProject(Long projectId) { |
|||
long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime(); |
|||
long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime(); |
|||
|
|||
return taskSubTimeDao.queryMinutesTaskByTime(projectId,thisWeekStartTime,thisWeekEndTime); |
|||
} |
|||
|
|||
/** |
|||
* 查找个人本周任务 |
|||
* @param param 成员id和项目id |
|||
* @return 返回当前成员在这些项目中本周的任务 |
|||
*/ |
|||
@Override |
|||
public List<TaskVo.TaskMinutesWps> queryWeekTaskByMemberAndProject(WeekMeetingDto.WeekTaskByMemberAndProject param) throws IOException { |
|||
List<TaskVo.TaskMinutesWps> taskList = new ArrayList<>(); |
|||
long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime(); |
|||
long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime(); |
|||
ProMember member = proMemberDao.selectByPrimaryKey(param.getMemberId()); |
|||
if(ObjectUtil.isNotNull(member) && ObjectUtil.isNotNull(member.getUserId()) && member.getUserId() != 0){ |
|||
//查找关联的项目(通过插件的入参查找)
|
|||
PluginVo.PersonalTaskReport taskReportByTaskId = getTaskReportByTaskId(param.getTaskId(), param.getProjectId()); |
|||
//查找每个项目
|
|||
if(CollectionUtil.isNotEmpty(taskReportByTaskId.getProjectList())){ |
|||
taskReportByTaskId.getProjectList().forEach(project ->{ |
|||
List<TaskVo.TaskMinutesWps> taskMinutesWpsList = taskSubTimeDao.queryWeekTaskByMemberAndProject(project.getProjectId(),member.getUserId(),thisWeekStartTime,thisWeekEndTime); |
|||
if(CollectionUtil.isNotEmpty(taskMinutesWpsList)){ |
|||
taskList.addAll(taskMinutesWpsList); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
return taskList; |
|||
} |
|||
|
|||
@Override |
|||
public String getCcMinutes(Long userId, WeekMeetingDto.WeekMeetingMinutes param) throws IOException { |
|||
//根据域名查找公司logo
|
|||
String logo = "/home/staticrec/logo.png"; |
|||
if(StrUtil.isNotEmpty(param.getDomainName())) { |
|||
SysDomainExample domainExample = new SysDomainExample(); |
|||
domainExample.createCriteria().andDomainNameEqualTo(param.getDomainName()); |
|||
List<SysDomain> sysDomainList = sysDomainDao.selectByExample(domainExample); |
|||
if (CollectionUtil.isNotEmpty(sysDomainList)) { |
|||
logo = sysDomainList.get(0).getLogoPath(); |
|||
} |
|||
} |
|||
log.info("获取公司logo:{}",logo); |
|||
//获取本周的开始和结束时间
|
|||
long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime(); |
|||
long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime(); |
|||
|
|||
//生成一个excel文件
|
|||
XSSFWorkbook workbook = new XSSFWorkbook(); |
|||
//获取周会用到的项目
|
|||
List<PluginVo.ReportProject> projectList = queryWeekUserProject(param.getProjectId(), userId); |
|||
log.info("导出模板-获取周会用到的项目:{}",projectList); |
|||
//生成第一个sheet(项目汇报)
|
|||
List<List<PoiUtil.PoiUtilCell>> projectMinutes = writeProjectMinutes(projectList,thisWeekStartTime,thisWeekEndTime); |
|||
PoiUtil.exportWB("项目汇报", projectMinutes, workbook); |
|||
PoiUtil.setImg(workbook,"项目汇报", logo,0,1,0,1); |
|||
|
|||
//通过个人汇报的任务id查找插件的入参(汇报的成员和项目id)
|
|||
PluginVo.PersonalTaskReport taskReport = getTaskReportByTaskId(param.getTaskId(),param.getProjectId()); |
|||
if(CollectionUtil.isNotEmpty(taskReport.getMemberList())){ |
|||
taskReport.getMemberList().forEach(reportMember -> { |
|||
//生成每个成员汇报的任务
|
|||
List<List<PoiUtil.PoiUtilCell>> memberMinutes = writeMemberTaskMinutes(reportMember,taskReport.getProjectList(),thisWeekStartTime,thisWeekEndTime); |
|||
PoiUtil.exportWB(reportMember.getMemberName(), memberMinutes, workbook); |
|||
}); |
|||
} |
|||
|
|||
//生成文件
|
|||
String fileName = "minutes/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; |
|||
String path = PropUtil.path + fileName; |
|||
File tmpFile = new File(path); |
|||
if (!tmpFile.getParentFile().exists()) { |
|||
tmpFile.getParentFile().mkdirs(); |
|||
} |
|||
OutputStream stream = new FileOutputStream(tmpFile); |
|||
workbook.write(stream); |
|||
stream.close(); |
|||
|
|||
return PropUtil.imgDomain + "/" + fileName; |
|||
} |
|||
|
|||
/** |
|||
* 生成个人汇报的任务 |
|||
* @param reportMember |
|||
* @param projectList |
|||
* @param thisWeekStartTime |
|||
* @param thisWeekEndTime |
|||
* @return |
|||
*/ |
|||
private List<List<PoiUtil.PoiUtilCell>> writeMemberTaskMinutes(PluginVo.ReportMember reportMember, List<PluginVo.ReportProject> projectList, long thisWeekStartTime, long thisWeekEndTime) { |
|||
List<List<PoiUtil.PoiUtilCell>> sheet = new ArrayList<>(); |
|||
//logo 和标题
|
|||
List<PoiUtil.PoiUtilCell> headerTitle = new ArrayList<>(); |
|||
headerTitle.add(new PoiUtil.PoiUtilCell("个人任务汇报-"+reportMember.getMemberName(),7,1)); |
|||
sheet.add(headerTitle); |
|||
//任务表头
|
|||
List<PoiUtil.PoiUtilCell> projectTitle = new ArrayList<>(); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("项目名",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("任务名",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("计划开始时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("计划结束时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("实际开始时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("实际结束时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("负责人",1,1)); |
|||
sheet.add(projectTitle); |
|||
if(CollectionUtil.isNotEmpty(projectList)){ |
|||
projectList.forEach(project ->{ |
|||
SysProject sysProject = sysProjectDao.selectByPrimaryKey(project.getProjectId()); |
|||
if(ObjectUtil.isNotNull(sysProject)){ |
|||
//查找成员在这个项目内的任务
|
|||
List<TaskVo.TaskMinutesWps> taskMinutesWpsList = new ArrayList<>(); |
|||
ProMember member = proMemberDao.selectByPrimaryKey(reportMember.getMemberId()); |
|||
if(ObjectUtil.isNotNull(member) && ObjectUtil.isNotNull(member.getUserId()) && member.getUserId() != 0) { |
|||
taskMinutesWpsList = taskSubTimeDao.queryWeekTaskByMemberAndProject(sysProject.getId(), member.getUserId(), thisWeekStartTime, thisWeekEndTime); |
|||
} |
|||
|
|||
if(CollectionUtil.isNotEmpty(taskMinutesWpsList)){ |
|||
int i = 0; |
|||
for (TaskVo.TaskMinutesWps weekTask : taskMinutesWpsList) { |
|||
List<PoiUtil.PoiUtilCell> lastWeekValue = new ArrayList<>(); |
|||
if(i == 0){ |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(project.getProjectName(),1,taskMinutesWpsList.size())); |
|||
}else { |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell()); |
|||
} |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getTaskName())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getBeginTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getEndTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getRealBeginTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getRealEndTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getExecutorRoleName())); |
|||
sheet.add(lastWeekValue); |
|||
i++; |
|||
} |
|||
} |
|||
} |
|||
}); |
|||
} |
|||
return sheet; |
|||
} |
|||
|
|||
/** |
|||
* 查找个人会报任务里的成员和项目 |
|||
* @param taskId |
|||
* @param projectId |
|||
* @return |
|||
*/ |
|||
private PluginVo.PersonalTaskReport getTaskReportByTaskId(Long taskId,Long projectId) throws IOException { |
|||
PluginVo.PersonalTaskReport personalTaskReport = new PluginVo.PersonalTaskReport(); |
|||
//插件入参
|
|||
String importParam = null; |
|||
if(ObjectUtil.isNotNull(taskId)) { |
|||
//获取任务详情id
|
|||
Long taskDetailId = taskId; |
|||
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskId); |
|||
if (ObjectUtil.isNotNull(proTaskSubTime)) { |
|||
taskDetailId = proTaskSubTime.getTaskDetailId(); |
|||
} |
|||
//查找“个人汇报”插件
|
|||
long pluginId = 0; |
|||
SysPluginExample sysPluginExample = new SysPluginExample(); |
|||
sysPluginExample.createCriteria().andNameEqualTo(TallConstant.PERSONAL_TASK_REPORT); |
|||
List<SysPlugin> sysPluginList = sysPluginDao.selectByExample(sysPluginExample); |
|||
if (CollectionUtil.isNotEmpty(sysPluginList)) { |
|||
pluginId = sysPluginList.get(0).getId(); |
|||
} |
|||
|
|||
ProPluginConfigExample proPluginConfigExample = new ProPluginConfigExample(); |
|||
proPluginConfigExample.createCriteria().andTaskIdEqualTo(taskDetailId).andPluginIdEqualTo(pluginId); |
|||
List<ProPluginConfig> pluginConfigList = proPluginConfigDao.selectByExample(proPluginConfigExample); |
|||
if (CollectionUtil.isNotEmpty(pluginConfigList)) { |
|||
importParam = pluginConfigList.get(0).getImportParam(); |
|||
} |
|||
} |
|||
if(StrUtil.isNotEmpty(importParam)){ |
|||
personalTaskReport = JacksonUtil.jsonToBean(importParam,PluginVo.PersonalTaskReport.class); |
|||
}else { |
|||
taskPluginService.getPersonalTaskReport(projectId); |
|||
} |
|||
return personalTaskReport; |
|||
} |
|||
|
|||
/** |
|||
* 生成项目汇报的数据 |
|||
* @param projectList 项目列表 |
|||
* @return 返回写入的数据 |
|||
*/ |
|||
private List<List<PoiUtil.PoiUtilCell>> writeProjectMinutes(List<PluginVo.ReportProject> projectList,long thisWeekStartTime,long thisWeekEndTime) { |
|||
List<List<PoiUtil.PoiUtilCell>> sheet = new ArrayList<>(); |
|||
//logo 和标题
|
|||
List<PoiUtil.PoiUtilCell> headerTitle = new ArrayList<>(); |
|||
headerTitle.add(new PoiUtil.PoiUtilCell("",1,1,1650,18)); |
|||
headerTitle.add(new PoiUtil.PoiUtilCell("项目汇报",7,1)); |
|||
sheet.add(headerTitle); |
|||
//会议时间和主持人
|
|||
List<PoiUtil.PoiUtilCell> header1 = new ArrayList<>(); |
|||
header1.add(new PoiUtil.PoiUtilCell("会议时间")); |
|||
header1.add(new PoiUtil.PoiUtilCell("",3,1)); |
|||
header1.add(new PoiUtil.PoiUtilCell()); |
|||
header1.add(new PoiUtil.PoiUtilCell()); |
|||
header1.add(new PoiUtil.PoiUtilCell("主持人")); |
|||
header1.add(new PoiUtil.PoiUtilCell("",3,1)); |
|||
sheet.add(header1); |
|||
//参会人员
|
|||
List<PoiUtil.PoiUtilCell> header2 = new ArrayList<>(); |
|||
header2.add(new PoiUtil.PoiUtilCell("参会人员",1,1)); |
|||
header2.add(new PoiUtil.PoiUtilCell("",7,1)); |
|||
sheet.add(header2); |
|||
//主题议题
|
|||
List<PoiUtil.PoiUtilCell> header3 = new ArrayList<>(); |
|||
header3.add(new PoiUtil.PoiUtilCell("主题议题",1,1)); |
|||
header3.add(new PoiUtil.PoiUtilCell("",7,1)); |
|||
sheet.add(header3); |
|||
//再空一行
|
|||
List<PoiUtil.PoiUtilCell> header4 = new ArrayList<>(); |
|||
header4.add(new PoiUtil.PoiUtilCell("",8,1)); |
|||
sheet.add(header4); |
|||
// //会议记录内容
|
|||
// List<PoiUtil.PoiUtilCell> minutesValue = new ArrayList<>();
|
|||
// minutesValue.add(new PoiUtil.PoiUtilCell("会议记录内容",8,1));
|
|||
// sheet.add(minutesValue);
|
|||
//任务表头
|
|||
List<PoiUtil.PoiUtilCell> projectTitle = new ArrayList<>(); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("项目名",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("任务名",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("计划开始时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("计划结束时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("实际开始时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("实际结束时间",1,1)); |
|||
projectTitle.add(new PoiUtil.PoiUtilCell("负责人",1,1)); |
|||
sheet.add(projectTitle); |
|||
if(CollectionUtil.isNotEmpty(projectList)){ |
|||
projectList.forEach(project ->{ |
|||
SysProject sysProject = sysProjectDao.selectByPrimaryKey(project.getProjectId()); |
|||
if(ObjectUtil.isNotNull(sysProject)){ |
|||
List<TaskVo.TaskMinutesWps> weekTaskList = taskSubTimeDao.queryMinutesTaskByTime(sysProject.getId(), thisWeekStartTime, thisWeekEndTime); |
|||
log.info("查找项目内的本周任务:{}",weekTaskList); |
|||
if(CollectionUtil.isNotEmpty(weekTaskList)){ |
|||
int i = 0; |
|||
for (TaskVo.TaskMinutesWps weekTask : weekTaskList) { |
|||
List<PoiUtil.PoiUtilCell> lastWeekValue = new ArrayList<>(); |
|||
if(i == 0){ |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(project.getProjectName(),1,weekTaskList.size())); |
|||
}else { |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell()); |
|||
} |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getTaskName())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getBeginTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getEndTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getRealBeginTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getRealEndTime())); |
|||
lastWeekValue.add(new PoiUtil.PoiUtilCell(weekTask.getExecutorRoleName())); |
|||
sheet.add(lastWeekValue); |
|||
i++; |
|||
} |
|||
} |
|||
} |
|||
}); |
|||
} |
|||
//会议记录人和领导签字
|
|||
List<PoiUtil.PoiUtilCell> end = new ArrayList<>(); |
|||
end.add(new PoiUtil.PoiUtilCell("会议记录人",1,1)); |
|||
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|||
end.add(new PoiUtil.PoiUtilCell()); |
|||
end.add(new PoiUtil.PoiUtilCell()); |
|||
end.add(new PoiUtil.PoiUtilCell("负责人签字",1,1)); |
|||
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|||
sheet.add(end); |
|||
//备注留白
|
|||
List<PoiUtil.PoiUtilCell> remark = new ArrayList<>(); |
|||
remark.add(new PoiUtil.PoiUtilCell("",8,8)); |
|||
sheet.add(remark); |
|||
return sheet; |
|||
} |
|||
} |
@ -0,0 +1,79 @@ |
|||
package com.ccsens.tall.web; |
|||
|
|||
import com.ccsens.cloudutil.annotation.MustLogin; |
|||
import com.ccsens.tall.bean.dto.WeekMeetingDto; |
|||
import com.ccsens.tall.bean.vo.PluginVo; |
|||
import com.ccsens.tall.bean.vo.TaskVo; |
|||
import com.ccsens.tall.service.IWeekMeetingService; |
|||
import com.ccsens.util.JsonResponse; |
|||
import com.ccsens.util.bean.dto.QueryDto; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import io.swagger.annotations.ApiParam; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestMethod; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.io.IOException; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author 逗 |
|||
*/ |
|||
@Slf4j |
|||
@Api(tags = "周会相关" , description = "") |
|||
@RestController |
|||
@RequestMapping("/weekMeeting") |
|||
public class WeekMeetingController { |
|||
@Resource |
|||
private IWeekMeetingService weekMeetingService; |
|||
|
|||
@MustLogin |
|||
@ApiOperation(value = "获取周会用的项目(管理者项目的子项目内的除了周会的所有项目)",notes = "") |
|||
@RequestMapping(value = "/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
public JsonResponse<List<PluginVo.ReportProject>> queryWeekUserProject(@ApiParam @Validated @RequestBody QueryDto<WeekMeetingDto.WeekMeetingId> param) { |
|||
log.info("获取周会用的项目:{}", param); |
|||
List<PluginVo.ReportProject> projectInfoList = weekMeetingService.queryWeekUserProject(param.getParam().getProjectId(), param.getUserId()); |
|||
log.info("查询到的项目列表:{}", projectInfoList); |
|||
return JsonResponse.newInstance().ok(projectInfoList); |
|||
} |
|||
|
|||
@MustLogin |
|||
@ApiOperation(value = "查找项目本周的任务",notes = "获取未读消息数") |
|||
@RequestMapping(value = "/week/task", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
public JsonResponse<List<TaskVo.TaskMinutesWps>> queryWeekTaskByProject(@ApiParam @Validated @RequestBody QueryDto<WeekMeetingDto.WeekMeetingId> param) { |
|||
log.info("查找项目本周的任务:{}", param); |
|||
//查找本周任务
|
|||
List<TaskVo.TaskMinutesWps> thisWeekTask = weekMeetingService.queryWeekTaskByProject(param.getParam().getProjectId()); |
|||
log.info("项目本周的任务:{}", thisWeekTask); |
|||
return JsonResponse.newInstance().ok(thisWeekTask); |
|||
} |
|||
|
|||
@MustLogin |
|||
@ApiOperation(value = "根据成员和项目查找本周任务",notes = "获取未读消息数") |
|||
@RequestMapping(value = "/member/task", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
public JsonResponse<List<TaskVo.TaskMinutesWps>> queryWeekTaskByMemberAndProject( |
|||
@ApiParam @Validated @RequestBody QueryDto<WeekMeetingDto.WeekTaskByMemberAndProject> param) throws IOException { |
|||
log.info("根据成员和项目查找本周任务:{}", param); |
|||
//查找本周任务
|
|||
List<TaskVo.TaskMinutesWps> thisWeekTask = weekMeetingService.queryWeekTaskByMemberAndProject(param.getParam()); |
|||
log.info("根据成员和项目查找本周任务:{}", thisWeekTask); |
|||
return JsonResponse.newInstance().ok(thisWeekTask); |
|||
} |
|||
|
|||
|
|||
@MustLogin |
|||
@ApiOperation(value = "会议纪要表-传控模板", notes = "") |
|||
@RequestMapping(value = "/cc/minutes", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
public JsonResponse<String> getCcMinutes(@ApiParam @Validated @RequestBody QueryDto<WeekMeetingDto.WeekMeetingMinutes> param) throws IOException { |
|||
log.info("生成会议纪要表-传控模板:{}", param); |
|||
String path = weekMeetingService.getCcMinutes(param.getUserId(),param.getParam()); |
|||
log.info("返回会议纪要表-传控模板路径:{}", path); |
|||
return JsonResponse.newInstance().ok(path); |
|||
} |
|||
|
|||
} |
@ -1,4 +1,4 @@ |
|||
spring: |
|||
profiles: |
|||
active: dev |
|||
include: util-dev,common |
|||
active: prod |
|||
include: util-prod,common |
|||
|
@ -0,0 +1,243 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.ccsens.tall.persist.mapper.ProUserAttentionRoleMapper"> |
|||
<resultMap id="BaseResultMap" type="com.ccsens.tall.bean.po.ProUserAttentionRole"> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="project_id" jdbcType="BIGINT" property="projectId" /> |
|||
<result column="user_id" jdbcType="BIGINT" property="userId" /> |
|||
<result column="role_id" jdbcType="BIGINT" property="roleId" /> |
|||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" /> |
|||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" /> |
|||
<result column="rec_status" jdbcType="TINYINT" property="recStatus" /> |
|||
</resultMap> |
|||
<sql id="Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Update_By_Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="example.oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Base_Column_List"> |
|||
id, project_id, user_id, role_id, created_at, updated_at, rec_status |
|||
</sql> |
|||
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRoleExample" resultMap="BaseResultMap"> |
|||
select |
|||
<if test="distinct"> |
|||
distinct |
|||
</if> |
|||
<include refid="Base_Column_List" /> |
|||
from t_pro_user_attention_role |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
<if test="orderByClause != null"> |
|||
order by ${orderByClause} |
|||
</if> |
|||
</select> |
|||
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List" /> |
|||
from t_pro_user_attention_role |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</select> |
|||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
|||
delete from t_pro_user_attention_role |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</delete> |
|||
<delete id="deleteByExample" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRoleExample"> |
|||
delete from t_pro_user_attention_role |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</delete> |
|||
<insert id="insert" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRole"> |
|||
insert into t_pro_user_attention_role (id, project_id, user_id, |
|||
role_id, created_at, updated_at, |
|||
rec_status) |
|||
values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, |
|||
#{roleId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, |
|||
#{recStatus,jdbcType=TINYINT}) |
|||
</insert> |
|||
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRole"> |
|||
insert into t_pro_user_attention_role |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
id, |
|||
</if> |
|||
<if test="projectId != null"> |
|||
project_id, |
|||
</if> |
|||
<if test="userId != null"> |
|||
user_id, |
|||
</if> |
|||
<if test="roleId != null"> |
|||
role_id, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status, |
|||
</if> |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
#{id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="projectId != null"> |
|||
#{projectId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="userId != null"> |
|||
#{userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="roleId != null"> |
|||
#{roleId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
#{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
#{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
#{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</trim> |
|||
</insert> |
|||
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRoleExample" resultType="java.lang.Long"> |
|||
select count(*) from t_pro_user_attention_role |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</select> |
|||
<update id="updateByExampleSelective" parameterType="map"> |
|||
update t_pro_user_attention_role |
|||
<set> |
|||
<if test="record.id != null"> |
|||
id = #{record.id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.projectId != null"> |
|||
project_id = #{record.projectId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.userId != null"> |
|||
user_id = #{record.userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.roleId != null"> |
|||
role_id = #{record.roleId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.createdAt != null"> |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.updatedAt != null"> |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.recStatus != null"> |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByExample" parameterType="map"> |
|||
update t_pro_user_attention_role |
|||
set id = #{record.id,jdbcType=BIGINT}, |
|||
project_id = #{record.projectId,jdbcType=BIGINT}, |
|||
user_id = #{record.userId,jdbcType=BIGINT}, |
|||
role_id = #{record.roleId,jdbcType=BIGINT}, |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT} |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRole"> |
|||
update t_pro_user_attention_role |
|||
<set> |
|||
<if test="projectId != null"> |
|||
project_id = #{projectId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="userId != null"> |
|||
user_id = #{userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="roleId != null"> |
|||
role_id = #{roleId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status = #{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
<update id="updateByPrimaryKey" parameterType="com.ccsens.tall.bean.po.ProUserAttentionRole"> |
|||
update t_pro_user_attention_role |
|||
set project_id = #{projectId,jdbcType=BIGINT}, |
|||
user_id = #{userId,jdbcType=BIGINT}, |
|||
role_id = #{roleId,jdbcType=BIGINT}, |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{recStatus,jdbcType=TINYINT} |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
</mapper> |
Loading…
Reference in new issue