审议督政模块,通知公告分类
This commit is contained in:
parent
48a9c3fd15
commit
702ad1ed92
|
@ -14,8 +14,8 @@ import com.ydool.boot.modules.rddb.entity.ContactDbComment;
|
|||
import com.ydool.boot.modules.rddb.entity.dto.ContactDbDto;
|
||||
import com.ydool.boot.modules.rddb.entity.request.CommentRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.ScoreRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contactdb.SignRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contactdb.state.*;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contact_db.SignRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contact_db.state.*;
|
||||
import com.ydool.boot.modules.rddb.service.ContactDbCommentService;
|
||||
import com.ydool.boot.modules.rddb.service.ContactDbService;
|
||||
import com.ydool.boot.modules.rddb.wrapper.ContactDbWrapper;
|
||||
|
|
|
@ -36,6 +36,7 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@ApiImplicitParam(name = "pageNo", value = "当前页", dataType = "int", defaultValue = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "显示条数", dataType = "int", defaultValue = "10"),
|
||||
@ApiImplicitParam(name = "title", value = "标题"),
|
||||
@ApiImplicitParam(name = "type", value = "分类zwxx / rdxw"),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶", dataType = "int")
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
|
@ -45,8 +46,8 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@GetMapping("/list")
|
||||
public void noticeList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
String title, Integer top) {
|
||||
QueryWrapper<Notice> qw = getQueryWrapper(title, top);
|
||||
String title, Integer top,String type) {
|
||||
QueryWrapper<Notice> qw = getQueryWrapper(title, top,type);
|
||||
IPage<Notice> paged = noticeService.page(new Page<>(pageNo, pageSize), qw);
|
||||
render(Ret.ok().paged(NoticeWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
@ -74,11 +75,14 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@ApiImplicitParam(name = "content", value = "内容", required = true),
|
||||
@ApiImplicitParam(name = "noticeDate", value = "通知日期"),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶"),
|
||||
@ApiImplicitParam(name = "uploadPersonnel", value = "上传人员")
|
||||
@ApiImplicitParam(name = "uploadPersonnel", value = "上传人员"),
|
||||
@ApiImplicitParam(name = "coverNames", value = "封面名,多个英文逗号间隔"),
|
||||
@ApiImplicitParam(name = "coverPaths", value = "封面路径,多个英文逗号间隔"),
|
||||
@ApiImplicitParam(name = "type", value = "分类zwxx / rdxw")
|
||||
})
|
||||
@ApiOperation("发布公告")
|
||||
@PostMapping("/save")
|
||||
public void save(String title, String content, String noticeDate, Integer top, String uploadPersonnel) {
|
||||
public void save(String title, String content, String noticeDate, Integer top, String uploadPersonnel,String coverNames,String coverPaths,String type) {
|
||||
Notice bean = new Notice();
|
||||
bean.setTitle(title);
|
||||
bean.setContent(content);
|
||||
|
@ -86,14 +90,16 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
bean.setTop(top);
|
||||
bean.setUploadPersonnel(uploadPersonnel);
|
||||
bean.setCreatedId(getApiUserId());
|
||||
bean.setType(type);
|
||||
|
||||
boolean flag = noticeService.saveOrUpdate(bean);
|
||||
boolean flag = noticeService.apiSave(bean,coverNames,coverPaths,getApiUser());
|
||||
render(!flag ? Ret.fail("操作失败") : Ret.ok());
|
||||
}
|
||||
|
||||
private QueryWrapper<Notice> getQueryWrapper(String title, Integer top) {
|
||||
private QueryWrapper<Notice> getQueryWrapper(String title, Integer top,String type) {
|
||||
QueryWrapper<Notice> qw = new QueryWrapper<>();
|
||||
Condition.appendIfNotEmpty(title, "title#like", qw);
|
||||
Condition.appendIfNotEmpty(type, "type", qw);
|
||||
qw.orderByDesc("top", "created_at");
|
||||
return qw;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,179 @@
|
|||
package com.ydool.boot.api.controller;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
|
||||
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSupervise;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseComment;
|
||||
import com.ydool.boot.modules.rddb.entity.dto.ReviewSuperviseDto;
|
||||
import com.ydool.boot.modules.rddb.entity.request.CommentRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.ScoreRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseCheckRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseEvaluateRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseSubjectRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseTailRequest;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseCommentService;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseService;
|
||||
import com.ydool.boot.modules.rddb.wrapper.ReviewSuperviseWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/14 17:06
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/api/review_supervise")
|
||||
@Api(value = "A审议督政", tags = "A审议督政")
|
||||
public class ApiReviewSuperviseController extends ApiBaseController {
|
||||
|
||||
@Autowired
|
||||
ReviewSuperviseService reviewSuperviseService;
|
||||
@Autowired
|
||||
ReviewSuperviseCommentService reviewSuperviseCommentService;
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "page", value = "当前页"),
|
||||
@ApiImplicitParam(name = "size", value = "显示条数"),
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "审议督政", name = "data", dataTypeClass = ReviewSuperviseDto.class)
|
||||
})
|
||||
@ApiOperation("列表 (被指定的人与创建人可见)")
|
||||
@GetMapping
|
||||
public void reviewSupervisePage() {
|
||||
QueryWrapper<ReviewSupervise> qw = new QueryWrapper<ReviewSupervise>()
|
||||
.and(_qw -> _qw
|
||||
.eq("created_id", getApiUserId())
|
||||
.or()
|
||||
.inSql("id", "select review_supervise_id from t_review_supervise_user where user_id='" + getApiUserId() + "'")
|
||||
)
|
||||
.orderByDesc("created_at");
|
||||
IPage<ReviewSupervise> paged = reviewSuperviseService.page(new Page<>(getPageNum(), getPageSize()), qw);
|
||||
render(Ret.ok().paged(ReviewSuperviseWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "page", value = "当前页"),
|
||||
@ApiImplicitParam(name = "size", value = "显示条数"),
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "审议督政", name = "data", dataTypeClass = ReviewSuperviseDto.class)
|
||||
})
|
||||
@ApiOperation("公告栏 (所有人可见)")
|
||||
@GetMapping("public")
|
||||
public void publicPage() {
|
||||
QueryWrapper<ReviewSupervise> qw = new QueryWrapper<ReviewSupervise>()
|
||||
.eq("state", ReviewSupervise.STATE_PUBLIC)
|
||||
.orderByDesc("created_at");
|
||||
IPage<ReviewSupervise> paged = reviewSuperviseService.page(new Page<>(getPageNum(), getPageSize()), qw);
|
||||
render(Ret.ok().paged(ReviewSuperviseWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("{id}")
|
||||
@ResponseBody
|
||||
@ApiImplicitParam(name = "id", value = "评议id")
|
||||
@DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "审议督政", name = "data", dataTypeClass = ReviewSuperviseDto.class)
|
||||
})
|
||||
public void reviewSuperviseDetail(@PathVariable String id) {
|
||||
ReviewSupervise reviewSupervise = reviewSuperviseService.getById(id);
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
render(Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise)));
|
||||
}
|
||||
|
||||
@ApiOperation("评论")
|
||||
@PostMapping("comment")
|
||||
@ResponseBody
|
||||
public void comment(@Validated CommentRequest commentRequest) {
|
||||
Ret ret = reviewSuperviseService.comment(commentRequest, getApiUser());
|
||||
render(ret);
|
||||
}
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "page", value = "当前页"),
|
||||
@ApiImplicitParam(name = "size", value = "显示条数"),
|
||||
@ApiImplicitParam(name = "reviewSuperviseId", value = "审议督政id"),
|
||||
@ApiImplicitParam(name = "type", value = "评议环节 1-6")
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "审议督政评论", name = "data", dataTypeClass = ReviewSuperviseComment.class)
|
||||
})
|
||||
@ApiOperation("评论列表")
|
||||
@GetMapping("comment")
|
||||
public void commentPage(String reviewSuperviseId, Integer type) {
|
||||
LambdaQueryWrapper<ReviewSuperviseComment> qw = new LambdaQueryWrapper<ReviewSuperviseComment>()
|
||||
.eq(StrUtil.isNotBlank(reviewSuperviseId), ReviewSuperviseComment::getReviewSuperviseId, reviewSuperviseId)
|
||||
.eq(type != null, ReviewSuperviseComment::getType, type)
|
||||
.orderByDesc(ReviewSuperviseComment::getCreatedAt);
|
||||
IPage<ReviewSuperviseComment> paged = reviewSuperviseCommentService.page(new Page<>(getPageNum(), getPageSize()), qw);
|
||||
render(Ret.ok().paged(paged));
|
||||
}
|
||||
|
||||
@ApiOperation("打分")
|
||||
@PostMapping("evaluate")
|
||||
@ResponseBody
|
||||
public void evaluate(@Validated ScoreRequest scoreRequest) {
|
||||
Ret ret = reviewSuperviseService.evaluate(scoreRequest, getApiUser());
|
||||
render(ret);
|
||||
}
|
||||
|
||||
@ApiOperation("打分结束")
|
||||
@PostMapping("evaluate/end/{id}")
|
||||
@ApiImplicitParam(name = "id", value = "审议督政id")
|
||||
@ResponseBody
|
||||
public void evaluateEnd(@PathVariable String id) {
|
||||
Ret ret = reviewSuperviseService.evaluateEnd(id, getApiUser());
|
||||
render(ret);
|
||||
}
|
||||
|
||||
@ApiOperation("上传主题环节")
|
||||
@PostMapping("state/subject")
|
||||
@ResponseBody
|
||||
@DynamicResponseParameters(properties = {@DynamicParameter(name = "data", value = "审议督政", dataTypeClass = ReviewSuperviseDto.class)})
|
||||
public void stateSubjectSave(@Validated ReviewSuperviseSubjectRequest request) {
|
||||
ReviewSupervise reviewSupervise = reviewSuperviseService.stateSubjectSave(request, getApiUser());
|
||||
render(Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise)));
|
||||
}
|
||||
|
||||
@ApiOperation("上传调研报考和审议意见环节")
|
||||
@PostMapping("state/check")
|
||||
@ResponseBody
|
||||
@DynamicResponseParameters(properties = {@DynamicParameter(name = "data", value = "审议督政", dataTypeClass = ReviewSuperviseDto.class)})
|
||||
public void stateCheckSave(@Validated ReviewSuperviseCheckRequest request) {
|
||||
ReviewSupervise reviewSupervise = reviewSuperviseService.stateCheckSave(request, getApiUser());
|
||||
render(Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise)));
|
||||
}
|
||||
|
||||
@ApiOperation("上传审议意见跟踪报告和研究建议报告环节")
|
||||
@PostMapping("state/tail")
|
||||
@ResponseBody
|
||||
@DynamicResponseParameters(properties = {@DynamicParameter(name = "data", value = "审议督政", dataTypeClass = ReviewSuperviseDto.class)})
|
||||
public void stateTailSave(@Validated ReviewSuperviseTailRequest request) {
|
||||
ReviewSupervise reviewSupervise = reviewSuperviseService.stateTailSave(request, getApiUser());
|
||||
render(Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise)));
|
||||
}
|
||||
|
||||
@ApiOperation("满意度测评环节")
|
||||
@PostMapping("state/evaluate")
|
||||
@ResponseBody
|
||||
@DynamicResponseParameters(properties = {@DynamicParameter(name = "data", value = "审议督政", dataTypeClass = ReviewSuperviseDto.class)})
|
||||
public void stateEvaluateSave(@Validated ReviewSuperviseEvaluateRequest request) {
|
||||
ReviewSupervise reviewSupervise = reviewSuperviseService.stateEvaluateSave(request, getApiUser());
|
||||
render(Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise)));
|
||||
}
|
||||
|
||||
}
|
|
@ -50,6 +50,11 @@ public class Notice implements Serializable {
|
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
@NotBlank(message = "请选择分类")
|
||||
@ApiModelProperty(value = "分类")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_notice_attachment")
|
||||
@Accessors(chain = true)
|
||||
public class NoticeAttachment extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 任免id
|
||||
*/
|
||||
private String noticeId;
|
||||
|
||||
/**
|
||||
* 附件名
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 附件路径
|
||||
*/
|
||||
private String attachment;
|
||||
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
private String size;
|
||||
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_review_supervise")
|
||||
public class ReviewSupervise extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
//当前环节 (上传主题subject:1 上传调研报考和审议意见check:2 部门接收办理dept:3 上传审议意见跟踪报告和研究建议报告tail:4 满意度测评evaluate:5 )
|
||||
public static Integer STATE_SUBJECT = 1;
|
||||
public static Integer STATE_CHECK = 2;
|
||||
public static Integer STATE_DEPT = 3;
|
||||
public static Integer STATE_TAIL = 4;
|
||||
public static Integer STATE_EVALUATE= 5;
|
||||
public static Integer STATE_PUBLIC = 6;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 主题名称
|
||||
*/
|
||||
@ApiModelProperty(value = "主题名称")
|
||||
private String subjectName;
|
||||
|
||||
/**
|
||||
* 主题简介
|
||||
*/
|
||||
@ApiModelProperty(value = "主题简介")
|
||||
private String subjectDesc;
|
||||
|
||||
/**
|
||||
* 主题提交时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "主题提交时间")
|
||||
private LocalDateTime subjectAt;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String checkRemark;
|
||||
|
||||
/**
|
||||
* 调查上传时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "调查上传时间")
|
||||
private LocalDateTime checkUploadAt;
|
||||
|
||||
/**
|
||||
* 部门:临时,金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门:临时,金网提供")
|
||||
private String checkDept;
|
||||
|
||||
/**
|
||||
* 部门办理结果 金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门办理结果 金网提供")
|
||||
private String deptResult;
|
||||
|
||||
/**
|
||||
* 部门反馈 金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门反馈 金网提供")
|
||||
private String deptFeedback;
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "上传时间")
|
||||
private LocalDateTime tailUploadAt;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String evaluateRemark;
|
||||
|
||||
/**
|
||||
* 当前环节
|
||||
*/
|
||||
@ApiModelProperty(value = "当前环节 1-6")
|
||||
private Integer state;
|
||||
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政附件
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_review_supervise_attachment")
|
||||
@Accessors(chain = true)
|
||||
public class ReviewSuperviseAttachment extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
//调研报告
|
||||
public static String TYPE_SURVEY = "survey";
|
||||
//审议意见
|
||||
public static String TYPE_REVIEW = "review";
|
||||
//审议跟踪报告
|
||||
public static String TYPE_TAIL = "tail";
|
||||
//审议研究报告
|
||||
public static String TYPE_RESEARCH = "research";
|
||||
//满意度测评附件
|
||||
public static String TYPE_EVALUATE = "evaluate";
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 附件类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 审议督政id
|
||||
*/
|
||||
private String reviewSuperviseId;
|
||||
|
||||
/**
|
||||
* 附件名
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 附件路径
|
||||
*/
|
||||
private String attachment;
|
||||
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
private String size;
|
||||
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政评论
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_review_supervise_comment")
|
||||
public class ReviewSuperviseComment extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 类型 (与审议督政环节相对应)
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 审议督政id
|
||||
*/
|
||||
private String reviewSuperviseId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政人员
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_review_supervise_user")
|
||||
public class ReviewSuperviseUser extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
//测评人员
|
||||
public static String TYPE_EVALUATE = "evaluate";
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 审议督政id
|
||||
*/
|
||||
private String reviewSuperviseId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 分数
|
||||
*/
|
||||
private BigDecimal score;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
private String userName;
|
||||
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
private LocalDateTime scoreAt;
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.ydool.boot.modules.rddb.entity.bo;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.Notice;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/16 15:52
|
||||
*/
|
||||
@Data
|
||||
public class NoticeBo extends Notice {
|
||||
String coverAttachmentArrStr;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.entity.bo;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSupervise;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/14 13:25
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseBo extends ReviewSupervise {
|
||||
String surveyAttachmentArrStr;
|
||||
String reviewAttachmentArrStr;
|
||||
String tailAttachmentArrStr;
|
||||
String researchAttachmentArrStr;
|
||||
String evaluateAttachmentArrStr;
|
||||
|
||||
String evaluateUserIds;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package com.ydool.boot.modules.rddb.entity.dto;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSupervise;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseAttachment;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseUser;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/14 16:42
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseDto extends ReviewSupervise {
|
||||
@ApiModelProperty(value = "调研报告")
|
||||
List<ReviewSuperviseAttachment> surveyAttachmentList;
|
||||
@ApiModelProperty(value = "审议意见")
|
||||
List<ReviewSuperviseAttachment> reviewAttachmentList;
|
||||
@ApiModelProperty(value = "审议跟踪报告")
|
||||
List<ReviewSuperviseAttachment> tailAttachmentList;
|
||||
@ApiModelProperty(value = "审议研究报告")
|
||||
List<ReviewSuperviseAttachment> researchAttachmentList;
|
||||
@ApiModelProperty(value = "满意度测评附件")
|
||||
List<ReviewSuperviseAttachment> evaluateAttachmentList;
|
||||
|
||||
@ApiModelProperty(value = "测评人员")
|
||||
List<ReviewSuperviseUser> evaluateUserList;
|
||||
|
||||
@ApiModelProperty(value = "平均分")
|
||||
BigDecimal averageEvaluate;
|
||||
|
||||
@ApiModelProperty(value = "当前用户是否是创建人")
|
||||
Boolean isCreator;
|
||||
@ApiModelProperty(value = "当前用户是否可以测评")
|
||||
Boolean isCanEvaluate;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb.state;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db.state;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb.state;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb.state;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb.state;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
|
@ -1,4 +1,4 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.contactdb.state;
|
||||
package com.ydool.boot.modules.rddb.entity.request.contact_db.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
|
@ -0,0 +1,52 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.review_supervise.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/15 09:34
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseCheckRequest {
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String id;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String checkRemark;
|
||||
|
||||
/**
|
||||
* 调查上传时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "调查上传时间")
|
||||
private LocalDateTime checkUploadAt;
|
||||
|
||||
/**
|
||||
* 部门:临时,金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门:临时,金网提供")
|
||||
private String checkDept;
|
||||
|
||||
@ApiModelProperty(value = "调研报告附件名 英文逗号间隔")
|
||||
String surveyAttachmentName;
|
||||
@ApiModelProperty(value = "调研报告附件路径 英文逗号间隔")
|
||||
String surveyAttachmentPath;
|
||||
|
||||
@ApiModelProperty(value = "审议意见附件名 英文逗号间隔")
|
||||
String reviewAttachmentName;
|
||||
@ApiModelProperty(value = "审议意见附件路径 英文逗号间隔")
|
||||
String reviewAttachmentPath;
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.review_supervise.state;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/15 09:59
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseDeptRequest {
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String id;
|
||||
/**
|
||||
* 部门办理结果 金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门办理结果 金网提供")
|
||||
private String deptResult;
|
||||
|
||||
/**
|
||||
* 部门反馈 金网提供
|
||||
*/
|
||||
@ApiModelProperty(value = "部门反馈 金网提供")
|
||||
private String deptFeedback;
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.review_supervise.state;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/15 10:02
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseEvaluateRequest {
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String id;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String evaluateRemark;
|
||||
|
||||
@ApiModelProperty(value = "附件名 英文逗号间隔")
|
||||
String reviewAttachmentName;
|
||||
@ApiModelProperty(value = "附件路径 英文逗号间隔")
|
||||
String reviewAttachmentPath;
|
||||
|
||||
@ApiModelProperty(value = "参会用户id 英文逗号间隔")
|
||||
String evaluateUserIds;
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.review_supervise.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/15 09:32
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseSubjectRequest {
|
||||
|
||||
/**
|
||||
* 主题名称
|
||||
*/
|
||||
@ApiModelProperty(value = "主题名称")
|
||||
private String subjectName;
|
||||
|
||||
/**
|
||||
* 主题简介
|
||||
*/
|
||||
@ApiModelProperty(value = "主题简介")
|
||||
private String subjectDesc;
|
||||
|
||||
/**
|
||||
* 主题提交时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "主题提交时间")
|
||||
private LocalDateTime subjectAt;
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package com.ydool.boot.modules.rddb.entity.request.review_supervise.state;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/15 10:00
|
||||
*/
|
||||
@Data
|
||||
public class ReviewSuperviseTailRequest {
|
||||
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private String id;
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "上传时间")
|
||||
private LocalDateTime tailUploadAt;
|
||||
|
||||
@ApiModelProperty(value = "审议跟踪报告附件名 英文逗号间隔")
|
||||
String tailAttachmentName;
|
||||
@ApiModelProperty(value = "审议跟踪报告附件路径 英文逗号间隔")
|
||||
String tailAttachmentPath;
|
||||
|
||||
@ApiModelProperty(value = "审议研究报告附件名 英文逗号间隔")
|
||||
String researchAttachmentName;
|
||||
@ApiModelProperty(value = "审议研究报告附件路径 英文逗号间隔")
|
||||
String researchAttachmentPath;
|
||||
}
|
|
@ -20,7 +20,7 @@ public class MyGenerator {
|
|||
public static void main(String[] args) {
|
||||
|
||||
//表名
|
||||
String tableName = "t_contact_db_attachment";
|
||||
String tableName = "t_notice_attachment";
|
||||
//表前缀
|
||||
String tablePrefix = "t_";
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
public interface NoticeAttachmentMapper extends BaseMapper<NoticeAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseAttachment;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政附件 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
public interface ReviewSuperviseAttachmentMapper extends BaseMapper<ReviewSuperviseAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseComment;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政评论 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
public interface ReviewSuperviseCommentMapper extends BaseMapper<ReviewSuperviseComment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSupervise;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
public interface ReviewSuperviseMapper extends BaseMapper<ReviewSupervise> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政人员 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
public interface ReviewSuperviseUserMapper extends BaseMapper<ReviewSuperviseUser> {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
<?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.ydool.boot.modules.rddb.mapper.NoticeAttachmentMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,5 @@
|
|||
<?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.ydool.boot.modules.rddb.mapper.ReviewSuperviseAttachmentMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,5 @@
|
|||
<?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.ydool.boot.modules.rddb.mapper.ReviewSuperviseCommentMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,5 @@
|
|||
<?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.ydool.boot.modules.rddb.mapper.ReviewSuperviseMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,5 @@
|
|||
<?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.ydool.boot.modules.rddb.mapper.ReviewSuperviseUserMapper">
|
||||
|
||||
</mapper>
|
|
@ -13,8 +13,8 @@ import com.ydool.boot.modules.rddb.entity.*;
|
|||
import com.ydool.boot.modules.rddb.entity.bo.ContactDbBo;
|
||||
import com.ydool.boot.modules.rddb.entity.request.CommentRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.ScoreRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contactdb.SignRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contactdb.state.*;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contact_db.SignRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.contact_db.state.*;
|
||||
import com.ydool.boot.modules.rddb.mapper.ContactDbMapper;
|
||||
import com.ydool.boot.modules.rddb.wrapper.ContactDbWrapper;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.mapper.NoticeAttachmentMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
@Service
|
||||
public class NoticeAttachmentService extends BaseService<NoticeAttachmentMapper, NoticeAttachment> {
|
||||
|
||||
}
|
|
@ -1,18 +1,20 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydool.boot.modules.rddb.entity.Const;
|
||||
import com.ydool.boot.modules.rddb.entity.Message;
|
||||
import com.ydool.boot.modules.rddb.entity.Notice;
|
||||
import com.ydool.boot.modules.rddb.entity.UserType;
|
||||
import com.ydool.boot.modules.rddb.entity.*;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.NoticeBo;
|
||||
import com.ydool.boot.modules.rddb.mapper.NoticeMapper;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
|
@ -30,12 +32,16 @@ public class NoticeService extends ServiceImpl<NoticeMapper, Notice> {
|
|||
private UserTypeService userTypeService;
|
||||
@Autowired
|
||||
private MessageService messageService;
|
||||
@Autowired
|
||||
NoticeAttachmentService noticeAttachmentService;
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdate(Notice entity) {
|
||||
@Transactional
|
||||
public boolean saveOrUpdate(NoticeBo noticeBo,User loginUser) {
|
||||
boolean flag;
|
||||
Notice entity = BeanUtil.copyProperties(noticeBo, Notice.class);
|
||||
if (StrUtil.isBlank(entity.getId())) {
|
||||
//新增
|
||||
entity.setCreatedId(loginUser.getId());
|
||||
entity.setCreatedAt(LocalDateTime.now());
|
||||
entity.setUpdatedAt(LocalDateTime.now());
|
||||
if (entity.getTop() == null) {
|
||||
|
@ -44,12 +50,16 @@ public class NoticeService extends ServiceImpl<NoticeMapper, Notice> {
|
|||
flag = this.save(entity);
|
||||
} else {
|
||||
//修改
|
||||
entity.setUpdatedId(loginUser.getId());
|
||||
entity.setUpdatedAt(LocalDateTime.now());
|
||||
if (entity.getTop() == null) {
|
||||
entity.setTop(0);
|
||||
}
|
||||
flag = this.updateById(entity);
|
||||
}
|
||||
//附件
|
||||
String coverAttachmentArrStr = noticeBo.getCoverAttachmentArrStr();
|
||||
saveAttachment(entity.getId(),coverAttachmentArrStr,loginUser);
|
||||
|
||||
List<Message> messageList = new ArrayList();
|
||||
//发送消息
|
||||
|
@ -72,4 +82,56 @@ public class NoticeService extends ServiceImpl<NoticeMapper, Notice> {
|
|||
public IPage<Notice> _page(Page<Object> page, QueryWrapper<Notice> qw) {
|
||||
return getBaseMapper()._page(page,qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param noticeId
|
||||
* @param attachmentArrStr
|
||||
* @param loginUser
|
||||
*/
|
||||
private void saveAttachment(String noticeId, String attachmentArrStr, User loginUser) {
|
||||
noticeAttachmentService.remove(new LambdaQueryWrapper<NoticeAttachment>()
|
||||
.eq(NoticeAttachment::getNoticeId, noticeId)
|
||||
);
|
||||
if (StrUtil.isNotBlank(attachmentArrStr)) {
|
||||
List<NoticeAttachment> attachmentList = JSONObject.parseArray(attachmentArrStr, NoticeAttachment.class);
|
||||
attachmentList.forEach(item -> {
|
||||
item.setNoticeId(noticeId);
|
||||
item.setCreatedId(loginUser.getId());
|
||||
item.setCreatedAt(LocalDateTime.now());
|
||||
});
|
||||
noticeAttachmentService.saveBatch(attachmentList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param noticeId
|
||||
* @param attachmentName
|
||||
* @param attachmentPath
|
||||
* @param loginUser
|
||||
*/
|
||||
private void saveAttachment(String noticeId, String attachmentName, String attachmentPath, User loginUser) {
|
||||
noticeAttachmentService.remove(new LambdaQueryWrapper<NoticeAttachment>()
|
||||
.eq(NoticeAttachment::getNoticeId, noticeId)
|
||||
);
|
||||
if (StrUtil.isNotBlank(attachmentName)) {
|
||||
String[] nameArr = attachmentName.split(",");
|
||||
String[] pathArr = attachmentPath.split(",");
|
||||
for (int i = 0; i < nameArr.length; i++) {
|
||||
NoticeAttachment noticeAttachment = new NoticeAttachment();
|
||||
noticeAttachment.setNoticeId(noticeId)
|
||||
.setTitle(nameArr[i])
|
||||
.setAttachment(pathArr[i])
|
||||
.setCreatedId(loginUser.getId())
|
||||
.setCreatedAt(LocalDateTime.now());
|
||||
noticeAttachmentService.save(noticeAttachment);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public boolean apiSave(Notice notice, String coverNames, String coverPaths,User loginUser) {
|
||||
boolean flag = saveOrUpdate(notice);
|
||||
saveAttachment(notice.getId(),coverNames,coverPaths,loginUser);
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseAttachment;
|
||||
import com.ydool.boot.modules.rddb.mapper.ReviewSuperviseAttachmentMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政附件 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Service
|
||||
public class ReviewSuperviseAttachmentService extends BaseService<ReviewSuperviseAttachmentMapper, ReviewSuperviseAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseComment;
|
||||
import com.ydool.boot.modules.rddb.mapper.ReviewSuperviseCommentMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政评论 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Service
|
||||
public class ReviewSuperviseCommentService extends BaseService<ReviewSuperviseCommentMapper, ReviewSuperviseComment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,266 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.exception.ResultException;
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.*;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.ReviewSuperviseBo;
|
||||
import com.ydool.boot.modules.rddb.entity.request.CommentRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.ScoreRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseCheckRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseEvaluateRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseSubjectRequest;
|
||||
import com.ydool.boot.modules.rddb.entity.request.review_supervise.state.ReviewSuperviseTailRequest;
|
||||
import com.ydool.boot.modules.rddb.mapper.ReviewSuperviseMapper;
|
||||
import com.ydool.boot.modules.rddb.wrapper.ReviewSuperviseWrapper;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
import com.ydool.boot.modules.sys.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Service
|
||||
public class ReviewSuperviseService extends BaseService<ReviewSuperviseMapper, ReviewSupervise> {
|
||||
|
||||
@Autowired
|
||||
ReviewSuperviseUserService reviewSuperviseUserService;
|
||||
@Autowired
|
||||
ReviewSuperviseAttachmentService reviewSuperviseAttachmentService;
|
||||
@Autowired
|
||||
ReviewSuperviseCommentService reviewSuperviseCommentService;
|
||||
@Autowired
|
||||
UserService userService;
|
||||
|
||||
/*后台*/
|
||||
@Transactional
|
||||
public Ret adminSaveOrUpdate(ReviewSuperviseBo reviewSuperviseBo, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = BeanUtil.copyProperties(reviewSuperviseBo, ReviewSupervise.class);
|
||||
if (StrUtil.isNotBlank(reviewSupervise.getId())) {
|
||||
reviewSupervise.setUpdatedId(loginUser.getId());
|
||||
} else {
|
||||
reviewSupervise.setCreatedId(loginUser.getId());
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_DEPT);
|
||||
}
|
||||
saveOrUpdate(reviewSupervise);
|
||||
reviewSuperviseBo.setId(reviewSupervise.getId());
|
||||
|
||||
//指定人员
|
||||
String evaluateUserIds = reviewSuperviseBo.getEvaluateUserIds();
|
||||
saveUser(reviewSuperviseBo.getId(), evaluateUserIds, loginUser, ReviewSuperviseUser.TYPE_EVALUATE);
|
||||
|
||||
//保存附件
|
||||
saveAttachment(reviewSuperviseBo.getId(), reviewSuperviseBo.getSurveyAttachmentArrStr(), loginUser, ReviewSuperviseAttachment.TYPE_SURVEY);
|
||||
saveAttachment(reviewSuperviseBo.getId(), reviewSuperviseBo.getReviewAttachmentArrStr(), loginUser, ReviewSuperviseAttachment.TYPE_REVIEW);
|
||||
saveAttachment(reviewSuperviseBo.getId(), reviewSuperviseBo.getTailAttachmentArrStr(), loginUser, ReviewSuperviseAttachment.TYPE_TAIL);
|
||||
saveAttachment(reviewSuperviseBo.getId(), reviewSuperviseBo.getResearchAttachmentArrStr(), loginUser, ReviewSuperviseAttachment.TYPE_RESEARCH);
|
||||
saveAttachment(reviewSuperviseBo.getId(), reviewSuperviseBo.getEvaluateAttachmentArrStr(), loginUser, ReviewSuperviseAttachment.TYPE_EVALUATE);
|
||||
return Ret.ok();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public boolean del(String id) {
|
||||
reviewSuperviseUserService.remove(new LambdaQueryWrapper<ReviewSuperviseUser>().eq(ReviewSuperviseUser::getReviewSuperviseId, id));
|
||||
reviewSuperviseAttachmentService.remove(new LambdaQueryWrapper<ReviewSuperviseAttachment>().eq(ReviewSuperviseAttachment::getReviewSuperviseId, id));
|
||||
reviewSuperviseCommentService.remove(new LambdaQueryWrapper<ReviewSuperviseComment>().eq(ReviewSuperviseComment::getReviewSuperviseId, id));
|
||||
return removeById(id);
|
||||
}
|
||||
|
||||
/*接口*/
|
||||
public Ret comment(CommentRequest commentRequest, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(commentRequest.getId());
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
ReviewSuperviseComment reviewSuperviseComment = BeanUtil.copyProperties(commentRequest, ReviewSuperviseComment.class, "id");
|
||||
reviewSuperviseComment.setReviewSuperviseId(commentRequest.getId());
|
||||
reviewSuperviseComment.setCreatedId(loginUser.getId());
|
||||
reviewSuperviseComment.setUserId(loginUser.getId());
|
||||
reviewSuperviseComment.setUserName(loginUser.getUserName());
|
||||
boolean flag = reviewSuperviseCommentService.saveOrUpdate(reviewSuperviseComment);
|
||||
return !flag ? Ret.fail("操作失败") : Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Ret evaluate(ScoreRequest scoreRequest, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(scoreRequest.getId());
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
ReviewSuperviseUser reviewSupervisesUser = reviewSuperviseUserService.getOne(new LambdaQueryWrapper<ReviewSuperviseUser>()
|
||||
.eq(ReviewSuperviseUser::getReviewSuperviseId, scoreRequest.getId())
|
||||
.eq(ReviewSuperviseUser::getType, ReviewSuperviseUser.TYPE_EVALUATE)
|
||||
.eq(ReviewSuperviseUser::getUserId, loginUser.getId()));
|
||||
if (reviewSupervisesUser == null) return Ret.fail("您没有该权限");
|
||||
if (reviewSupervisesUser.getScore() != null) return Ret.fail("您已打过分");
|
||||
if (reviewSupervise.getState() > ReviewSupervise.STATE_EVALUATE) return Ret.fail("该环节已结束,不能操作");
|
||||
reviewSupervisesUser.setScore(scoreRequest.getScore());
|
||||
reviewSupervisesUser.setScoreAt(LocalDateTime.now());
|
||||
boolean flag = reviewSuperviseUserService.saveOrUpdate(reviewSupervisesUser);
|
||||
|
||||
//自动进入下一环节
|
||||
int waitCount = reviewSuperviseUserService.count(Wrappers.lambdaQuery(ReviewSuperviseUser.class).eq(ReviewSuperviseUser::getReviewSuperviseId, reviewSupervise.getId()).eq(ReviewSuperviseUser::getType, ReviewSuperviseUser.TYPE_EVALUATE).isNull(ReviewSuperviseUser::getScore));
|
||||
if (waitCount == 0) {
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_PUBLIC);
|
||||
saveOrUpdate(reviewSupervise);
|
||||
}
|
||||
return !flag ? Ret.fail("操作失败") : Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Ret evaluateEnd(String id, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(id);
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
if (!loginUser.getId().equals(reviewSupervise.getCreatedId())) return Ret.fail("您不是创建人,不能操作");
|
||||
if (ReviewSupervise.STATE_EVALUATE != reviewSupervise.getState())
|
||||
throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_PUBLIC);
|
||||
boolean flag = saveOrUpdate(reviewSupervise);
|
||||
return !flag ? Ret.fail("操作失败") : Ret.ok().data(ReviewSuperviseWrapper.build().entityVO(reviewSupervise));
|
||||
}
|
||||
|
||||
public ReviewSupervise stateSubjectSave(ReviewSuperviseSubjectRequest request, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = BeanUtil.copyProperties(request, ReviewSupervise.class);
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_CHECK);
|
||||
reviewSupervise.setCreatedId(loginUser.getId());
|
||||
saveOrUpdate(reviewSupervise);
|
||||
return reviewSupervise;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ReviewSupervise stateCheckSave(ReviewSuperviseCheckRequest request, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(request.getId());
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
if (ReviewSupervise.STATE_CHECK != reviewSupervise.getState())
|
||||
throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||
BeanUtil.copyProperties(request, reviewSupervise);
|
||||
//todo 金网部门环节先跳过 ReviewSupervise.STATE_DEPT
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_TAIL);
|
||||
reviewSupervise.setUpdatedId(loginUser.getId());
|
||||
saveOrUpdate(reviewSupervise);
|
||||
saveAttachment(reviewSupervise.getId(), request.getSurveyAttachmentName(), request.getSurveyAttachmentPath(), loginUser, ReviewSuperviseAttachment.TYPE_SURVEY);
|
||||
saveAttachment(reviewSupervise.getId(), request.getReviewAttachmentName(), request.getReviewAttachmentPath(), loginUser, ReviewSuperviseAttachment.TYPE_REVIEW);
|
||||
return reviewSupervise;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ReviewSupervise stateTailSave(ReviewSuperviseTailRequest request, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(request.getId());
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
if (ReviewSupervise.STATE_TAIL != reviewSupervise.getState())
|
||||
throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||
BeanUtil.copyProperties(request, reviewSupervise);
|
||||
reviewSupervise.setState(ReviewSupervise.STATE_EVALUATE);
|
||||
reviewSupervise.setUpdatedId(loginUser.getId());
|
||||
saveOrUpdate(reviewSupervise);
|
||||
saveAttachment(reviewSupervise.getId(), request.getTailAttachmentName(), request.getTailAttachmentPath(), loginUser, ReviewSuperviseAttachment.TYPE_TAIL);
|
||||
saveAttachment(reviewSupervise.getId(), request.getResearchAttachmentName(), request.getResearchAttachmentPath(), loginUser, ReviewSuperviseAttachment.TYPE_RESEARCH);
|
||||
return reviewSupervise;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ReviewSupervise stateEvaluateSave(ReviewSuperviseEvaluateRequest request, User loginUser) {
|
||||
ReviewSupervise reviewSupervise = getById(request.getId());
|
||||
Assert.notNull(reviewSupervise, "未找到该记录");
|
||||
if (ReviewSupervise.STATE_EVALUATE != reviewSupervise.getState())
|
||||
throw new ResultException(Ret.fail("当前环节不能提交该信息"));
|
||||
BeanUtil.copyProperties(request, reviewSupervise);
|
||||
reviewSupervise.setUpdatedId(loginUser.getId());
|
||||
saveOrUpdate(reviewSupervise);
|
||||
saveAttachment(reviewSupervise.getId(), request.getReviewAttachmentName(), request.getReviewAttachmentPath(), loginUser, ReviewSuperviseAttachment.TYPE_EVALUATE);
|
||||
saveUser(reviewSupervise.getId(), request.getEvaluateUserIds(), loginUser, ReviewSuperviseUser.TYPE_EVALUATE);
|
||||
return reviewSupervise;
|
||||
}
|
||||
|
||||
/*公用*/
|
||||
|
||||
/**
|
||||
* @param reviewSuperviseId
|
||||
* @param userIds
|
||||
* @param loginUser
|
||||
* @param type
|
||||
*/
|
||||
private void saveUser(String reviewSuperviseId, String userIds, User loginUser, String type) {
|
||||
if (StrUtil.isNotBlank(userIds)) {
|
||||
List<String> userIdList = Arrays.asList(userIds.split(","));
|
||||
List<ReviewSuperviseUser> userList = new ArrayList<>();
|
||||
userIdList.forEach(userId -> {
|
||||
//1.已存在的不管
|
||||
int count = reviewSuperviseUserService.count(new LambdaQueryWrapper<ReviewSuperviseUser>().eq(ReviewSuperviseUser::getReviewSuperviseId, reviewSuperviseId).eq(ReviewSuperviseUser::getUserId, userId).eq(ReviewSuperviseUser::getType, type));
|
||||
if (count == 0) {
|
||||
//2.只插入新的
|
||||
User user = userService.getById(userId);
|
||||
ReviewSuperviseUser item = new ReviewSuperviseUser();
|
||||
item.setUserId(userId);
|
||||
item.setUserName(user != null ? user.getUserName() : "");
|
||||
item.setType(type);
|
||||
item.setReviewSuperviseId(reviewSuperviseId);
|
||||
item.setCreatedId(loginUser.getId());
|
||||
item.setCreatedAt(LocalDateTime.now());
|
||||
userList.add(item);
|
||||
}
|
||||
});
|
||||
//3.删除本来有而现在没有的
|
||||
reviewSuperviseUserService.remove(new LambdaQueryWrapper<ReviewSuperviseUser>().eq(ReviewSuperviseUser::getReviewSuperviseId, reviewSuperviseId).eq(ReviewSuperviseUser::getType, type).notIn(ReviewSuperviseUser::getUserId, userIdList));
|
||||
reviewSuperviseUserService.saveBatch(userList);
|
||||
} else {
|
||||
//4.删除全部
|
||||
reviewSuperviseUserService.remove(new LambdaQueryWrapper<ReviewSuperviseUser>().eq(ReviewSuperviseUser::getReviewSuperviseId, reviewSuperviseId).eq(ReviewSuperviseUser::getType, type));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param reviewSuperviseId
|
||||
* @param attachmentArrStr
|
||||
* @param loginUser
|
||||
* @param type
|
||||
*/
|
||||
private void saveAttachment(String reviewSuperviseId, String attachmentArrStr, User loginUser, String type) {
|
||||
reviewSuperviseAttachmentService.remove(new LambdaQueryWrapper<ReviewSuperviseAttachment>().eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSuperviseId).eq(ReviewSuperviseAttachment::getType, type));
|
||||
if (StrUtil.isNotBlank(attachmentArrStr)) {
|
||||
List<ReviewSuperviseAttachment> attachmentList = JSONObject.parseArray(attachmentArrStr, ReviewSuperviseAttachment.class);
|
||||
attachmentList.forEach(item -> {
|
||||
item.setReviewSuperviseId(reviewSuperviseId);
|
||||
item.setType(type);
|
||||
item.setCreatedId(loginUser.getId());
|
||||
item.setCreatedAt(LocalDateTime.now());
|
||||
});
|
||||
reviewSuperviseAttachmentService.saveBatch(attachmentList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param reviewSuperviseId
|
||||
* @param attachmentName
|
||||
* @param attachmentPath
|
||||
* @param loginUser
|
||||
* @param type
|
||||
*/
|
||||
private void saveAttachment(String reviewSuperviseId, String attachmentName, String attachmentPath, User loginUser, String type) {
|
||||
reviewSuperviseAttachmentService.remove(new LambdaQueryWrapper<ReviewSuperviseAttachment>().eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSuperviseId).eq(ReviewSuperviseAttachment::getType, type));
|
||||
if (StrUtil.isNotBlank(attachmentName)) {
|
||||
String[] nameArr = attachmentName.split(",");
|
||||
String[] pathArr = attachmentPath.split(",");
|
||||
for (int i = 0; i < nameArr.length; i++) {
|
||||
ReviewSuperviseAttachment reviewSuperviseAttachment = new ReviewSuperviseAttachment();
|
||||
reviewSuperviseAttachment.setType(type).setReviewSuperviseId(reviewSuperviseId).setTitle(nameArr[i]).setAttachment(pathArr[i]).setCreatedId(loginUser.getId()).setCreatedAt(LocalDateTime.now());
|
||||
reviewSuperviseAttachmentService.save(reviewSuperviseAttachment);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseUser;
|
||||
import com.ydool.boot.modules.rddb.mapper.ReviewSuperviseUserMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政人员 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Service
|
||||
public class ReviewSuperviseUserService extends BaseService<ReviewSuperviseUserMapper, ReviewSuperviseUser> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.service.inter;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
public interface INoticeAttachmentService extends IService<NoticeAttachment> {
|
||||
|
||||
}
|
|
@ -1,14 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.vo;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.Notice;
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenchen
|
||||
* @date 2020/07/28
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class NoticeVO extends Notice {
|
||||
|
||||
|
@ -17,4 +19,6 @@ public class NoticeVO extends Notice {
|
|||
*/
|
||||
private String createdName;
|
||||
|
||||
@ApiModelProperty(value = "封面附件 一个在右边,多个在下边,最多显示三张")
|
||||
List<NoticeAttachment> coverAttachmentList;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.ydool.boot.core.web.BaseController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/rddb/noticeAttachment")
|
||||
public class NoticeAttachmentController extends BaseController {
|
||||
|
||||
}
|
|
@ -1,16 +1,22 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ydool.boot.common.json.JsonMapper;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.auth.PreAuth;
|
||||
import com.ydool.boot.modules.rddb.entity.Notice;
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.NoticeBo;
|
||||
import com.ydool.boot.modules.rddb.service.NoticeAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.service.NoticeService;
|
||||
import com.ydool.boot.modules.rddb.vo.NoticeVO;
|
||||
import com.ydool.boot.modules.rddb.wrapper.NoticeWrapper;
|
||||
import com.ydool.boot.modules.sys.web.BaseAdminController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -19,6 +25,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenchen
|
||||
|
@ -31,6 +38,9 @@ public class NoticeController extends BaseAdminController {
|
|||
@Resource
|
||||
private NoticeService noticeService;
|
||||
|
||||
@Autowired
|
||||
NoticeAttachmentService noticeAttachmentService;
|
||||
|
||||
@GetMapping("")
|
||||
public String index() {
|
||||
return "modules/rddb/notice/index.html";
|
||||
|
@ -45,12 +55,17 @@ public class NoticeController extends BaseAdminController {
|
|||
}
|
||||
|
||||
@GetMapping("/form")
|
||||
public String form(String id, Model model) {
|
||||
public String form(String id, Model model) throws Exception{
|
||||
Notice bean = new Notice();
|
||||
bean.setNewRecord(true);
|
||||
if (StrUtil.isNotBlank(id)) {
|
||||
bean = noticeService.getById(id);
|
||||
bean.setNewRecord(false);
|
||||
|
||||
List<NoticeAttachment> coverAttachmentList = noticeAttachmentService.list(new LambdaQueryWrapper<NoticeAttachment>()
|
||||
.eq(NoticeAttachment::getNoticeId, id)
|
||||
.orderByDesc(NoticeAttachment::getCreatedAt));
|
||||
model.addAttribute("coverAttachmentListStr", JsonMapper.getInstance().writeValueAsString(coverAttachmentList));
|
||||
}
|
||||
NoticeVO noticeVO = NoticeWrapper.build().entityVO(bean);
|
||||
model.addAttribute("bean", noticeVO);
|
||||
|
@ -59,9 +74,8 @@ public class NoticeController extends BaseAdminController {
|
|||
|
||||
@PreAuth("rddb:policy:save")
|
||||
@PostMapping("/save")
|
||||
public void save(@Validated NoticeVO noticeVO) {
|
||||
noticeVO.setCreatedId(getLoginUser().getId());
|
||||
boolean flag = noticeService.saveOrUpdate(noticeVO);
|
||||
public void save(@Validated NoticeBo noticeBo) {
|
||||
boolean flag = noticeService.saveOrUpdate(noticeBo,getLoginUser());
|
||||
render(flag ? Ret.ok() : Ret.fail("操作失败"));
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.ydool.boot.core.web.BaseController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政附件 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/rddb/reviewSuperviseAttachment")
|
||||
public class ReviewSuperviseAttachmentController extends BaseController {
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.web.BaseController;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseComment;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseCommentService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政评论 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${ydool.path}/rddb/review_supervise_comment")
|
||||
public class ReviewSuperviseCommentController extends BaseController {
|
||||
@Autowired
|
||||
private ReviewSuperviseCommentService reviewSuperviseCommentService;
|
||||
|
||||
@RequestMapping("list")
|
||||
@ResponseBody
|
||||
public void list(String id) {
|
||||
LambdaQueryWrapper<ReviewSuperviseComment> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ReviewSuperviseComment::getReviewSuperviseId, id);
|
||||
wrapper.orderByDesc(ReviewSuperviseComment::getCreatedAt);
|
||||
Page page = reviewSuperviseCommentService.page(new Page(getPageNum(), getPageSize()), wrapper);
|
||||
render(Ret.ok().paged(page));
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ydool.boot.common.json.JsonMapper;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.auth.PreAuth;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSupervise;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseAttachment;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.ReviewSuperviseBo;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseService;
|
||||
import com.ydool.boot.modules.sys.web.BaseAdminController;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${ydool.path}/rddb/review_supervise")
|
||||
public class ReviewSuperviseController extends BaseAdminController {
|
||||
|
||||
@Autowired
|
||||
ReviewSuperviseService reviewSuperviseService;
|
||||
@Autowired
|
||||
ReviewSuperviseAttachmentService reviewSuperviseAttachmentService;
|
||||
|
||||
@GetMapping
|
||||
public String index() {
|
||||
return "modules/rddb/review_supervise/index.html";
|
||||
}
|
||||
|
||||
@GetMapping("evaluate")
|
||||
public String evaluate(String id) {
|
||||
request.setAttribute("id", id);
|
||||
return "modules/rddb/review_supervise/evaluate.html";
|
||||
}
|
||||
|
||||
@GetMapping("comment")
|
||||
public String comment(String id) {
|
||||
request.setAttribute("id", id);
|
||||
return "modules/rddb/review_supervise/comment.html";
|
||||
}
|
||||
|
||||
@PostMapping("list")
|
||||
@ResponseBody
|
||||
public void list(ReviewSupervise reviewSupervise) {
|
||||
LambdaQueryWrapper<ReviewSupervise> wrapper = new LambdaQueryWrapper<ReviewSupervise>();
|
||||
if (StringUtils.isNotBlank(reviewSupervise.getSubjectName())) wrapper.like(ReviewSupervise::getSubjectName, reviewSupervise.getSubjectName());
|
||||
wrapper.orderByDesc(ReviewSupervise::getCreatedAt);
|
||||
Page page = reviewSuperviseService.page(new Page(getPageNum(), getPageSize()), wrapper);
|
||||
render(Ret.ok().paged(page));
|
||||
}
|
||||
|
||||
@PreAuth("rddb:review_supervise:form")
|
||||
@GetMapping("form")
|
||||
public String form(String id, Model model) throws Exception {
|
||||
ReviewSupervise reviewSupervise = new ReviewSupervise();
|
||||
if (ObjectUtil.isNotEmpty(id)) {
|
||||
reviewSupervise = reviewSuperviseService.getById(id);
|
||||
|
||||
List<ReviewSuperviseAttachment> surveyAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, id)
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_SURVEY));
|
||||
model.addAttribute("surveyAttachmentListStr", JsonMapper.getInstance().writeValueAsString(surveyAttachmentList));
|
||||
|
||||
List<ReviewSuperviseAttachment> reviewAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, id)
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_REVIEW));
|
||||
model.addAttribute("reviewAttachmentListStr", JsonMapper.getInstance().writeValueAsString(reviewAttachmentList));
|
||||
|
||||
List<ReviewSuperviseAttachment> tailAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, id)
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_TAIL));
|
||||
model.addAttribute("tailAttachmentListStr", JsonMapper.getInstance().writeValueAsString(tailAttachmentList));
|
||||
|
||||
List<ReviewSuperviseAttachment> researchAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, id)
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_RESEARCH));
|
||||
model.addAttribute("researchAttachmentListStr", JsonMapper.getInstance().writeValueAsString(researchAttachmentList));
|
||||
|
||||
List<ReviewSuperviseAttachment> evaluateAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, id)
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_EVALUATE));
|
||||
model.addAttribute("evaluateAttachmentListStr", JsonMapper.getInstance().writeValueAsString(evaluateAttachmentList));
|
||||
}
|
||||
model.addAttribute("reviewSupervise", reviewSupervise);
|
||||
return "modules/rddb/review_supervise/form.html";
|
||||
}
|
||||
|
||||
@PostMapping("save")
|
||||
@ResponseBody
|
||||
public void save(@Validated ReviewSuperviseBo reviewSuperviseBo) {
|
||||
render(reviewSuperviseService.adminSaveOrUpdate(reviewSuperviseBo, getLoginUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
public void delete(String id) {
|
||||
boolean flag = reviewSuperviseService.del(id);
|
||||
renderJson(!flag ? Ret.fail("操作失败") : Ret.ok());
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.web.BaseController;
|
||||
import com.ydool.boot.modules.rddb.entity.ReviewSuperviseUser;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 审议督政人员 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-14
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${ydool.path}/rddb/review_supervise_user")
|
||||
public class ReviewSuperviseUserController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
ReviewSuperviseUserService reviewsuperviseUserService;
|
||||
|
||||
/**
|
||||
* @param id
|
||||
* @param type
|
||||
*/
|
||||
@RequestMapping("list")
|
||||
@ResponseBody
|
||||
public void list(String id,String type) {
|
||||
LambdaQueryWrapper<ReviewSuperviseUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ReviewSuperviseUser::getReviewSuperviseId, id);
|
||||
wrapper.eq(ReviewSuperviseUser::getType, type);
|
||||
wrapper.orderByDesc(ReviewSuperviseUser::getCreatedAt);
|
||||
Page page = reviewsuperviseUserService.page(new Page(getPageNum(), getPageSize()), wrapper);
|
||||
render(Ret.ok().paged(page));
|
||||
}
|
||||
|
||||
}
|
|
@ -2,10 +2,13 @@ package com.ydool.boot.modules.rddb.wrapper;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.ydool.boot.common.utils.SpringUtils;
|
||||
import com.ydool.boot.core.wrapper.BaseWrapper;
|
||||
import com.ydool.boot.modules.rddb.entity.Notice;
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.service.NoticeAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.vo.NoticeVO;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
import com.ydool.boot.modules.sys.service.UserService;
|
||||
|
@ -29,10 +32,15 @@ public class NoticeWrapper extends BaseWrapper<Notice, NoticeVO> {
|
|||
NoticeVO noticeVO = BeanUtil.copyProperties(notice, NoticeVO.class);
|
||||
|
||||
UserService userService = SpringUtils.getBean(UserService.class);
|
||||
NoticeAttachmentService noticeAttachmentSErvice = SpringUtils.getBean(NoticeAttachmentService.class);
|
||||
User createUser = userService.getById(notice.getCreatedId());
|
||||
if (createUser != null) {
|
||||
noticeVO.setCreatedName(createUser.getUserName());
|
||||
}
|
||||
List<NoticeAttachment> coverAttachmentList = noticeAttachmentSErvice.list(new LambdaQueryWrapper<NoticeAttachment>()
|
||||
.eq(NoticeAttachment::getNoticeId, notice.getId())
|
||||
.orderByDesc(NoticeAttachment::getCreatedAt));
|
||||
noticeVO.setCoverAttachmentList(coverAttachmentList);
|
||||
|
||||
return noticeVO;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
package com.ydool.boot.modules.rddb.wrapper;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ydool.boot.api.util.TokenUtil;
|
||||
import com.ydool.boot.api.util.UserInfo;
|
||||
import com.ydool.boot.common.utils.SpringUtils;
|
||||
import com.ydool.boot.core.wrapper.BaseWrapper;
|
||||
import com.ydool.boot.modules.rddb.entity.*;
|
||||
import com.ydool.boot.modules.rddb.entity.dto.ReviewSuperviseDto;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.service.ReviewSuperviseUserService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/14 16:42
|
||||
*/
|
||||
public class ReviewSuperviseWrapper extends BaseWrapper<ReviewSupervise, ReviewSuperviseDto> {
|
||||
|
||||
public static ReviewSuperviseWrapper build() {
|
||||
return new ReviewSuperviseWrapper();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReviewSuperviseDto entityVO(ReviewSupervise reviewSupervise) {
|
||||
|
||||
ReviewSuperviseDto dto = BeanUtil.copyProperties(reviewSupervise, ReviewSuperviseDto.class);
|
||||
|
||||
ReviewSuperviseAttachmentService reviewSuperviseAttachmentService = SpringUtils.getBean(ReviewSuperviseAttachmentService.class);
|
||||
ReviewSuperviseUserService reviewSuperviseUserService = SpringUtils.getBean(ReviewSuperviseUserService.class);
|
||||
|
||||
List<ReviewSuperviseAttachment> surveyAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_SURVEY)
|
||||
.orderByDesc(ReviewSuperviseAttachment::getCreatedAt));
|
||||
List<ReviewSuperviseAttachment> reviewAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_REVIEW)
|
||||
.orderByDesc(ReviewSuperviseAttachment::getCreatedAt));
|
||||
List<ReviewSuperviseAttachment> tailAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_TAIL)
|
||||
.orderByDesc(ReviewSuperviseAttachment::getCreatedAt));
|
||||
List<ReviewSuperviseAttachment> researchAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_RESEARCH)
|
||||
.orderByDesc(ReviewSuperviseAttachment::getCreatedAt));
|
||||
List<ReviewSuperviseAttachment> evaluateAttachmentList = reviewSuperviseAttachmentService.list(new LambdaQueryWrapper<ReviewSuperviseAttachment>()
|
||||
.eq(ReviewSuperviseAttachment::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseAttachment::getType, ReviewSuperviseAttachment.TYPE_EVALUATE)
|
||||
.orderByDesc(ReviewSuperviseAttachment::getCreatedAt));
|
||||
dto.setSurveyAttachmentList(surveyAttachmentList);
|
||||
dto.setReviewAttachmentList(reviewAttachmentList);
|
||||
dto.setTailAttachmentList(tailAttachmentList);
|
||||
dto.setResearchAttachmentList(researchAttachmentList);
|
||||
dto.setEvaluateAttachmentList(evaluateAttachmentList);
|
||||
|
||||
List<ReviewSuperviseUser> evaluateUserList = reviewSuperviseUserService.list(new LambdaQueryWrapper<ReviewSuperviseUser>()
|
||||
.eq(ReviewSuperviseUser::getReviewSuperviseId, reviewSupervise.getId())
|
||||
.eq(ReviewSuperviseUser::getType, ReviewSuperviseUser.TYPE_EVALUATE)
|
||||
.orderByDesc(ReviewSuperviseUser::getCreatedAt));
|
||||
dto.setEvaluateUserList(evaluateUserList);
|
||||
|
||||
//打分结束算平均分
|
||||
if (ReviewSupervise.STATE_PUBLIC == reviewSupervise.getState()) {
|
||||
//没打分的不算
|
||||
List<ReviewSuperviseUser> scoredUserList = evaluateUserList.stream().filter(item -> item.getScore() != null).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(scoredUserList)) {
|
||||
BigDecimal averageScore = scoredUserList.stream().map(item -> item.getScore())
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.divide(new BigDecimal(scoredUserList.size()), BigDecimal.ROUND_HALF_UP);
|
||||
dto.setAverageEvaluate(averageScore);
|
||||
} else {
|
||||
dto.setAverageEvaluate(new BigDecimal("0"));
|
||||
}
|
||||
}
|
||||
|
||||
UserInfo userInfo = TokenUtil.getUserInfo();
|
||||
//当期用户是否是创建人
|
||||
//当期用户是否可签到
|
||||
//当期用户是否可测评
|
||||
dto.setIsCreator(false);
|
||||
dto.setIsCanEvaluate(false);
|
||||
|
||||
if (userInfo != null) {
|
||||
if (userInfo.getId().equals(reviewSupervise.getCreatedId())) dto.setIsCreator(true);
|
||||
|
||||
List<String> evaluateUserIdList = evaluateUserList.stream().map(ReviewSuperviseUser::getUserId).collect(Collectors.toList());
|
||||
if (evaluateUserIdList.contains(userInfo.getId())) dto.setIsCanEvaluate(true);
|
||||
}
|
||||
return dto;
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
.van-pagination[data-v-84b2b766]{position:fixed;bottom:0;width:100%;z-index:999;background:#fff}.box[data-v-84b2b766]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-84b2b766]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-84b2b766] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-84b2b766]{padding:.32rem}.box .tab-contain .van-cell[data-v-84b2b766]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-84b2b766]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-84b2b766]{color:#333}
|
|
@ -1 +0,0 @@
|
|||
.van-pagination[data-v-1c160aa0]{position:fixed;bottom:0;width:100%;z-index:999}.box[data-v-1c160aa0]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-1c160aa0]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-1c160aa0] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-1c160aa0]{padding:.32rem}.box .tab-contain .van-cell[data-v-1c160aa0]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-1c160aa0]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-1c160aa0]{color:#333}
|
|
@ -1 +0,0 @@
|
|||
.notice[data-v-8acdbce4]{min-height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.list[data-v-8acdbce4]{flex:1}.list .item[data-v-8acdbce4]{position:relative;padding:.53333rem .42667rem;display:flex;align-items:center}.list .item[data-v-8acdbce4]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.list .item .tag[data-v-8acdbce4]{margin-right:.10667rem;border-radius:.21333rem;font-size:.26667rem;vertical-align:middle}.list .item .title[data-v-8acdbce4]{flex:1;font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.list .item .icon[data-v-8acdbce4]{margin-left:.8rem;font-size:.32rem}.add[data-v-8acdbce4]{position:fixed;bottom:26%;right:0;width:2.72rem;z-index:999}
|
|
@ -1 +0,0 @@
|
|||
.van-pagination[data-v-ef243fa4]{position:fixed;bottom:0;width:100%;z-index:999}.box[data-v-ef243fa4]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-ef243fa4]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-ef243fa4] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-ef243fa4]{padding:.32rem}.box .tab-contain .van-cell[data-v-ef243fa4]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-ef243fa4]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-ef243fa4]{color:#333}
|
|
@ -0,0 +1 @@
|
|||
.van-pagination[data-v-79eda99c]{position:fixed;bottom:0;width:100%;z-index:999;background:#fff}.box[data-v-79eda99c]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-79eda99c]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-79eda99c] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-79eda99c]{padding:.32rem;padding-bottom:1.12rem}.box .tab-contain .van-cell[data-v-79eda99c]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-79eda99c]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-79eda99c]{color:#333}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
.van-pagination[data-v-2fcaab4b]{position:fixed;bottom:0;width:100%;z-index:999;background:#fff}.van-tag[data-v-2fcaab4b]{margin-right:.42667rem}.box[data-v-2fcaab4b]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-2fcaab4b]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-2fcaab4b] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-2fcaab4b]{padding:.32rem}.box .tab-contain .van-cell[data-v-2fcaab4b]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-2fcaab4b]{font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-2fcaab4b]{color:#333}
|
|
@ -1 +0,0 @@
|
|||
.form .van-cell[data-v-1b0ca45f]{margin-bottom:.32rem}.form .van-cell[data-v-1b0ca45f] .van-cell__title{font-size:.42667rem;color:#333;font-weight:700}.form .van-cell[data-v-1b0ca45f] .van-cell__value{font-size:.37333rem}.form .van-cell .van-icon[data-v-1b0ca45f]:before{vertical-align:middle;margin-left:.21333rem}.form .textarea[data-v-1b0ca45f]{flex-direction:column}.form .textarea[data-v-1b0ca45f] .van-cell__value{margin-top:.32rem;background-color:#f8f8f8;padding:.32rem}.form .van-button[data-v-1b0ca45f]{display:block;width:8.50667rem;height:1.06667rem;margin:1.38667rem auto .42667rem;background-color:#d03a29;border-color:#d03a29;font-size:.37333rem;color:#fff;line-height:1.06667rem;font-weight:700;border-radius:.10667rem}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
.filecontent[data-v-26533e13]{margin:.32rem 0;padding:.42667rem;background:#fff}.filecontent[data-v-26533e13] .van-cell{background-color:#f8f8f8}.filecontent .p1[data-v-26533e13]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#333;line-height:.53333rem;margin-bottom:.32rem}.form .van-cell[data-v-26533e13]{margin-bottom:.32rem}.form .van-cell[data-v-26533e13] .van-cell__title{font-size:.42667rem;color:#333;font-weight:700}.form .van-cell[data-v-26533e13] .van-cell__value{font-size:.37333rem}.form .van-cell .van-icon[data-v-26533e13]:before{vertical-align:middle;margin-left:.21333rem}.form .textarea[data-v-26533e13]{flex-direction:column}.form .textarea[data-v-26533e13] .van-cell__value{margin-top:.32rem;background-color:#f8f8f8;padding:.32rem}.form .van-button[data-v-26533e13]{display:block;width:8.50667rem;height:1.06667rem;margin:1.38667rem auto .42667rem;background-color:#d03a29;border-color:#d03a29;font-size:.37333rem;color:#fff;line-height:1.06667rem;font-weight:700;border-radius:.10667rem}
|
|
@ -0,0 +1 @@
|
|||
.news[data-v-aa9f0924]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-aa9f0924]:last-of-type{border-bottom:none}.news .newList2[data-v-aa9f0924]{padding:.42667rem 0}.news .newList2 .top[data-v-aa9f0924]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-aa9f0924]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-aa9f0924]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-aa9f0924]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-aa9f0924]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-aa9f0924]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-aa9f0924]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-aa9f0924]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-aa9f0924]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-aa9f0924]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.box-item[data-v-aa9f0924]{background-color:#fff;margin-bottom:.32rem}.box-item .boxtitle[data-v-aa9f0924]{display:flex;align-items:center;padding:.53333rem .42667rem}.box-item .boxtitle[data-v-aa9f0924]:before{content:"";display:block;width:.10667rem;height:.42667rem;background-color:#d03a29;margin-right:.21333rem}.box-item .boxtitle .title_text[data-v-aa9f0924]{font-size:.48rem;color:#333;font-weight:700}.box-item .boxtitle .more[data-v-aa9f0924]{margin-left:auto;font-size:.37333rem;color:#999}.box-item .notice .item[data-v-aa9f0924]{position:relative;padding:.50667rem .42667rem;display:flex;align-items:center}.box-item .notice .item[data-v-aa9f0924]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:0;height:.02667rem;background-color:#f3f3f3}.box-item .notice .item .title[data-v-aa9f0924]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .notice .item .title .tag[data-v-aa9f0924]{color:#d03a29;margin-right:.10667rem;border-radius:.26667rem;padding:.02667rem .16rem;font-size:.32rem;vertical-align:middle}.box-item .notice .item .icon[data-v-aa9f0924]{margin-left:.8rem;font-size:.32rem}.box-item .grassrootsNews .item[data-v-aa9f0924]{position:relative;padding:.4rem .42667rem;display:flex}.box-item .grassrootsNews .item[data-v-aa9f0924]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.box-item .grassrootsNews .item .info[data-v-aa9f0924]{width:0;flex:1}.box-item .grassrootsNews .item .info .title[data-v-aa9f0924]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .grassrootsNews .item .info .text[data-v-aa9f0924]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.box-item .grassrootsNews .item .img[data-v-aa9f0924]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}
|
|
@ -1 +0,0 @@
|
|||
.van-pagination[data-v-64201525]{position:fixed;bottom:0;width:100%;z-index:999}.van-tag[data-v-64201525]{margin-right:.42667rem}.box[data-v-64201525]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-64201525]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-64201525] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-64201525]{padding:.32rem}.box .tab-contain .van-cell[data-v-64201525]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-64201525]{font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-64201525]{color:#333}
|
|
@ -1 +0,0 @@
|
|||
.evaluate[data-v-25778477]{margin-top:.8rem;padding:.42667rem .64rem;background:#f8f8f8;border-radius:.21333rem}.evaluate .evaluate-contain[data-v-25778477]{line-height:.53333rem}.evaluate .evaluate-contain .title[data-v-25778477]{color:#0071ff}.evaluate .evaluate-bottom[data-v-25778477]{display:flex;align-items:center;justify-content:space-between;margin-top:.74667rem}.evaluate .evaluate-bottom .date[data-v-25778477]{color:#8e8f9e}.evaluate .evaluate-bottom .more[data-v-25778477]{color:#0071ff}.users[data-v-25778477]{margin-top:-.32rem;padding:.10667rem 0 .21333rem;background-color:#fff;display:flex;flex-wrap:wrap;border-bottom:.02667rem solid #f3f3f3}.users .item[data-v-25778477]{background-color:#fff2f1;padding:0 .26667rem;font-size:.32rem;color:#333;line-height:.61333rem;border-radius:.29333rem;margin-right:.26667rem;margin-top:.26667rem;position:relative}.users .item .van-icon[data-v-25778477]{position:absolute;top:0;right:0;transform:translate(50%,-50%);color:#d03a29}.box[data-v-25778477]{display:flex;flex-direction:column;height:100%;font-size:.37333rem}.box .step .my-swipe .van-swipe-item[data-v-25778477]{height:4rem;box-sizing:border-box;padding:.8rem .8rem .8rem 1.6rem;display:flex}.box .step .my-swipe .van-swipe-item[data-v-25778477]:nth-of-type(2){padding:.8rem 1.6rem .8rem .8rem}.box .step .my-swipe .van-swipe-item .step-item[data-v-25778477]{width:35%;display:inline-block;position:relative;box-sizing:border-box}.box .step .my-swipe .van-swipe-item .step-item.step-three[data-v-25778477]{width:30%}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection[data-v-25778477]{width:40%;text-align:right}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection .line[data-v-25778477]{left:.10667rem;top:.32rem}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection .step-title[data-v-25778477]{font-size:.32rem;line-height:.48rem;margin-top:.32rem;text-align:center;margin-right:-48%;margin-left:20%}.box .step .my-swipe .van-swipe-item .step-item .stepImg[data-v-25778477]{position:relative;width:.72rem;height:.72rem}.box .step .my-swipe .van-swipe-item .step-item .line[data-v-25778477]{width:calc(100% - .90667rem);height:.02667rem;border-bottom:.02667rem dashed #dcdcdc;position:absolute;left:.8rem;top:.32rem}.box .step .my-swipe .van-swipe-item .step-item .line.completedLine[data-v-25778477]{border-bottom-color:#8ccf8c!important}.box .step .my-swipe .van-swipe-item .step-item .step-title[data-v-25778477]{font-size:.32rem;line-height:.48rem;margin-top:.32rem;text-align:center;margin-right:8%;margin-left:-70%}.box .step .my-swipe[data-v-25778477] .van-swipe__indicators .van-swipe__indicator{width:.26667rem;height:.10667rem;background:#88bc88;border-radius:.05333rem;opacity:.5}.box .step .my-swipe[data-v-25778477] .van-swipe__indicators .van-swipe__indicator.van-swipe__indicator--active{width:.50667rem;height:.10667rem;background:#55b955;border-radius:.05333rem;opacity:.7}.box .step-contain[data-v-25778477]{flex:1;background:#fff;border-top-right-radius:.8rem;border-top-left-radius:.8rem;padding:.42667rem;padding-bottom:2.13333rem}.box .step-contain .form-ele[data-v-25778477]{display:flex;align-items:center;padding:.32rem 0;border-bottom:.02667rem solid #f3f3f3;position:relative}.box .step-contain .form-ele .title[data-v-25778477]{width:3.2rem;font-size:.42667rem;line-height:.53333rem;flex-shrink:0}.box .step-contain .form-ele .notice-contain[data-v-25778477]{font-size:.42667rem}.box .step-contain .form-ele .input-ele[data-v-25778477]{flex:1;border:none;outline:none;background:#f8f8f8;padding:.21333rem 1.06667rem .21333rem .53333rem;border-radius:.45333rem}.box .step-contain .form-ele .downIcon[data-v-25778477]{position:absolute;right:.42667rem;top:.58667rem;z-index:10}.box .step-contain .form-ele .enclosure[data-v-25778477]{flex:1}.box .step-contain .btn[data-v-25778477]{margin:0 .42667rem;margin-top:1.6rem;background:#d03a29;border-radius:.53333rem;height:1.06667rem;line-height:1.06667rem;text-align:center;color:#fff}.box .step-contain .btn .enclosureEnd[data-v-25778477]{width:.48rem;height:.42667rem;margin-right:.16rem;vertical-align:middle}
|
|
@ -0,0 +1 @@
|
|||
.van-pagination[data-v-1ae5116c]{position:fixed;bottom:0;width:100%;z-index:999;background:#fff}.box[data-v-1ae5116c]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-1ae5116c]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-1ae5116c] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-1ae5116c]{padding:.32rem;padding-bottom:1.12rem}.box .tab-contain .van-cell[data-v-1ae5116c]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-1ae5116c]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-1ae5116c]{color:#333}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
.page[data-v-a116084c]{min-height:100%;background-color:#fff}.notice[data-v-a116084c]{padding:.42667rem}.title[data-v-a116084c]{font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.date[data-v-a116084c]{margin-top:.10667rem;font-size:.32rem;color:#999;line-height:.45333rem}.content[data-v-a116084c]{font-size:.37333rem;color:#333;line-height:.64rem;margin-top:.42667rem}
|
|
@ -0,0 +1 @@
|
|||
.news[data-v-45e03b10]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-45e03b10]:last-of-type{border-bottom:none}.news .newList2[data-v-45e03b10]{padding:.42667rem 0}.news .newList2 .top[data-v-45e03b10]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-45e03b10]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-45e03b10]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-45e03b10]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-45e03b10]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-45e03b10]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-45e03b10]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-45e03b10]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-45e03b10]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-45e03b10]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notice[data-v-45e03b10]{min-height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.list[data-v-45e03b10]{flex:1}.list .item[data-v-45e03b10]{position:relative;padding:.53333rem .42667rem;display:flex;align-items:center}.list .item[data-v-45e03b10]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.list .item .tag[data-v-45e03b10]{margin-right:.10667rem;border-radius:.21333rem;font-size:.26667rem;vertical-align:middle}.list .item .title[data-v-45e03b10]{flex:1;font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.list .item .icon[data-v-45e03b10]{margin-left:.8rem;font-size:.32rem}.add[data-v-45e03b10]{position:fixed;bottom:26%;right:0;width:2.72rem;z-index:999}
|
|
@ -0,0 +1 @@
|
|||
.onlyImg[data-v-522b68ae]{display:flex;justify-content:space-between}.onlyImg .img[data-v-522b68ae]{margin-left:.32rem;width:2.13333rem;height:2.13333rem;-o-object-fit:cover;object-fit:cover}.mulimg .imglist[data-v-522b68ae]{margin-top:.16rem;display:flex;flex-wrap:wrap}.mulimg .imglist img[data-v-522b68ae]{width:30%;margin-right:2%;height:auto}.page[data-v-522b68ae]{min-height:100%;background-color:#fff}.notice[data-v-522b68ae]{padding:.42667rem}.title[data-v-522b68ae]{font-size:.4rem;color:#333;line-height:.53333rem;font-weight:700}.date[data-v-522b68ae]{margin-top:.16rem;font-size:.32rem;color:#999;line-height:.45333rem}.content[data-v-522b68ae]{font-size:.37333rem;color:#333;line-height:.64rem;margin-top:.21333rem}
|
|
@ -0,0 +1 @@
|
|||
.evaluate[data-v-74112f46]{margin-top:.8rem;padding:.42667rem .64rem;background:#f8f8f8;border-radius:.21333rem}.evaluate .evaluate-contain[data-v-74112f46]{line-height:.53333rem}.evaluate .evaluate-contain .title[data-v-74112f46]{color:#0071ff}.evaluate .evaluate-bottom[data-v-74112f46]{display:flex;align-items:center;justify-content:space-between;margin-top:.74667rem}.evaluate .evaluate-bottom .date[data-v-74112f46]{color:#8e8f9e}.evaluate .evaluate-bottom .more[data-v-74112f46]{color:#0071ff}.users[data-v-74112f46]{margin-top:-.32rem;padding:.10667rem 0 .21333rem;background-color:#fff;display:flex;flex-wrap:wrap;border-bottom:.02667rem solid #f3f3f3}.users .item[data-v-74112f46]{background-color:#fff2f1;padding:0 .26667rem;font-size:.32rem;color:#333;line-height:.61333rem;border-radius:.29333rem;margin-right:.26667rem;margin-top:.26667rem;position:relative}.users .item .van-icon[data-v-74112f46]{position:absolute;top:0;right:0;transform:translate(50%,-50%);color:#d03a29}.box[data-v-74112f46]{display:flex;flex-direction:column;height:100%;font-size:.37333rem}.box .step .my-swipe .van-swipe-item[data-v-74112f46]{height:4rem;box-sizing:border-box;padding:.8rem .8rem .8rem 1.6rem;display:flex}.box .step .my-swipe .van-swipe-item[data-v-74112f46]:nth-of-type(2){padding:.8rem 1.6rem .8rem .8rem}.box .step .my-swipe .van-swipe-item .step-item[data-v-74112f46]{width:35%;display:inline-block;position:relative;box-sizing:border-box}.box .step .my-swipe .van-swipe-item .step-item.step-three[data-v-74112f46]{width:30%}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection[data-v-74112f46]{width:40%;text-align:right}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection .line[data-v-74112f46]{left:.10667rem;top:.32rem}.box .step .my-swipe .van-swipe-item .step-item.negativeDirection .step-title[data-v-74112f46]{font-size:.32rem;line-height:.48rem;margin-top:.32rem;text-align:center;margin-right:-48%;margin-left:20%}.box .step .my-swipe .van-swipe-item .step-item .stepImg[data-v-74112f46]{position:relative;width:.72rem;height:.72rem}.box .step .my-swipe .van-swipe-item .step-item .line[data-v-74112f46]{width:calc(100% - .90667rem);height:.02667rem;border-bottom:.02667rem dashed #dcdcdc;position:absolute;left:.8rem;top:.32rem}.box .step .my-swipe .van-swipe-item .step-item .line.completedLine[data-v-74112f46]{border-bottom-color:#8ccf8c!important}.box .step .my-swipe .van-swipe-item .step-item .step-title[data-v-74112f46]{font-size:.32rem;line-height:.48rem;margin-top:.32rem;text-align:center;margin-right:8%;margin-left:-70%}.box .step .my-swipe[data-v-74112f46] .van-swipe__indicators .van-swipe__indicator{width:.26667rem;height:.10667rem;background:#88bc88;border-radius:.05333rem;opacity:.5}.box .step .my-swipe[data-v-74112f46] .van-swipe__indicators .van-swipe__indicator.van-swipe__indicator--active{width:.50667rem;height:.10667rem;background:#55b955;border-radius:.05333rem;opacity:.7}.box .step-contain[data-v-74112f46]{flex:1;background:#fff;border-top-right-radius:.8rem;border-top-left-radius:.8rem;padding:.42667rem;padding-bottom:2.13333rem}.box .step-contain .form-ele[data-v-74112f46]{display:flex;align-items:center;padding:.32rem 0;border-bottom:.02667rem solid #f3f3f3;position:relative}.box .step-contain .form-ele .title[data-v-74112f46]{width:3.2rem;font-size:.42667rem;line-height:.53333rem;flex-shrink:0}.box .step-contain .form-ele .notice-contain[data-v-74112f46]{font-size:.42667rem}.box .step-contain .form-ele .input-ele[data-v-74112f46]{flex:1;border:none;outline:none;background:#f8f8f8;padding:.21333rem 1.06667rem .21333rem .53333rem;border-radius:.45333rem}.box .step-contain .form-ele .downIcon[data-v-74112f46]{position:absolute;right:.42667rem;top:.58667rem;z-index:10}.box .step-contain .form-ele .enclosure[data-v-74112f46]{flex:1}.box .step-contain .btn[data-v-74112f46]{margin:0 .42667rem;margin-top:1.6rem;background:#d03a29;border-radius:.53333rem;height:1.06667rem;line-height:1.06667rem;text-align:center;color:#fff}.box .step-contain .btn .enclosureEnd[data-v-74112f46]{width:.48rem;height:.42667rem;margin-right:.16rem;vertical-align:middle}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-157caa60"],{"0e80":function(t,a,s){"use strict";s.r(a);var e=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",[e("van-sticky",{attrs:{"offset-top":0}},[e("nav-bar",{attrs:{"left-arrow":"",title:"上报信息详情"}})],1),e("div",{staticClass:"top commonEle"},[e("h5",[t._v(t._s(t.obj.title))]),e("p",[t._v(t._s(t.obj.content))]),e("p",{staticClass:"statusP"},[t._v(" 当前状态: "),0==t.obj.hireStatus?e("span",{staticStyle:{color:"#5995d1"}},[t._v("待审核")]):t._e(),1==t.obj.hireStatus?e("span",{staticStyle:{color:"#67c23a"}},[t._v("已通过")]):t._e(),2==t.obj.hireStatus?e("span",{staticStyle:{color:"#F56C6C"}},[t._v("已拒绝")]):t._e()])]),e("div",{staticClass:"middle commonEle"},[e("p",{staticClass:"date item"},[t._v("上报时间")]),e("p",{staticClass:"dateContent"},[t._v(t._s(t.obj.createdAt))]),e("p",{staticClass:"town item"},[t._v("上报乡镇")]),e("p",{staticClass:"towncontent"},[t._v(t._s(t.obj.streetStr))])]),e("div",{staticClass:"commonEle"},[e("p",{staticClass:"uploadTime item"},[t._v("上报附件文件")]),e("div",{staticClass:"enclosureBox"},t._l(t.obj.attachmentNameList,(function(a,i){return e("a",{key:i,staticClass:"singleEnclosure",attrs:{href:t.obj.attachmentPathList[i],download:a}},[e("p",{staticClass:"enclosureTitle text-overflow"},[t._v(t._s(a))]),e("div",{staticClass:"imgBox"},["pdf"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("139f"),alt:""}}):"ppt"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("07ba"),alt:""}}):"txt"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("6835"),alt:""}}):"docx"==t.obj.fileTypeArr[i]||"doc"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("e739"),alt:""}}):"xlsx"==t.obj.fileTypeArr[i]||"xls"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("e537"),alt:""}}):e("img",{staticClass:"icon",attrs:{src:s("600a"),alt:""}})])])})),0)])],1)},i=[],c=s("0c6d"),l={data(){return{obj:{}}},created(){this.$toast.loading({message:"正在加载...",duration:0,forbidClick:!0}),Object(c["sb"])(this.$route.params.id).then(t=>{200==t.status?(t.data.data.fileTypeArr=[],t.data.data.attachmentNameList?t.data.data.attachmentNameList.length&&t.data.data.attachmentNameList.forEach(a=>{t.data.data.fileTypeArr.push(a.split(".")[a.split(".").length-1])}):t.data.data.attachmentNameList=[],this.obj=t.data.data,this.$toast.clear()):this.$toast.fail(t.data.msg)}).catch(t=>{this.$toast.fail("加载失败")})}},o=l,r=(s("9f46"),s("2877")),n=Object(r["a"])(o,e,i,!1,null,"7b98c5b3",null);a["default"]=n.exports},"1ec2":function(t,a,s){},"9f46":function(t,a,s){"use strict";var e=s("1ec2"),i=s.n(e);i.a}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-157caa60"],{"0e80":function(t,a,s){"use strict";s.r(a);var e=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",[e("van-sticky",{attrs:{"offset-top":0}},[e("nav-bar",{attrs:{"left-arrow":"",title:"上报信息详情"}})],1),e("div",{staticClass:"top commonEle"},[e("h5",[t._v(t._s(t.obj.title))]),e("p",[t._v(t._s(t.obj.content))]),e("p",{staticClass:"statusP"},[t._v(" 当前状态: "),0==t.obj.hireStatus?e("span",{staticStyle:{color:"#5995d1"}},[t._v("待审核")]):t._e(),1==t.obj.hireStatus?e("span",{staticStyle:{color:"#67c23a"}},[t._v("已通过")]):t._e(),2==t.obj.hireStatus?e("span",{staticStyle:{color:"#F56C6C"}},[t._v("已拒绝")]):t._e()])]),e("div",{staticClass:"middle commonEle"},[e("p",{staticClass:"date item"},[t._v("上报时间")]),e("p",{staticClass:"dateContent"},[t._v(t._s(t.obj.createdAt))]),e("p",{staticClass:"town item"},[t._v("上报乡镇")]),e("p",{staticClass:"towncontent"},[t._v(t._s(t.obj.streetStr))])]),e("div",{staticClass:"commonEle"},[e("p",{staticClass:"uploadTime item"},[t._v("上报附件文件")]),e("div",{staticClass:"enclosureBox"},t._l(t.obj.attachmentNameList,(function(a,i){return e("a",{key:i,staticClass:"singleEnclosure",attrs:{href:t.obj.attachmentPathList[i],download:a}},[e("p",{staticClass:"enclosureTitle text-overflow"},[t._v(t._s(a))]),e("div",{staticClass:"imgBox"},["pdf"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("139f"),alt:""}}):"ppt"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("07ba"),alt:""}}):"txt"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("6835"),alt:""}}):"docx"==t.obj.fileTypeArr[i]||"doc"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("e739"),alt:""}}):"xlsx"==t.obj.fileTypeArr[i]||"xls"==t.obj.fileTypeArr[i]?e("img",{staticClass:"w-100 h-100",attrs:{src:s("e537"),alt:""}}):e("img",{staticClass:"icon",attrs:{src:s("600a"),alt:""}})])])})),0)])],1)},i=[],c=s("0c6d"),l={data(){return{obj:{}}},created(){this.$toast.loading({message:"正在加载...",duration:0,forbidClick:!0}),Object(c["tb"])(this.$route.params.id).then(t=>{200==t.status?(t.data.data.fileTypeArr=[],t.data.data.attachmentNameList?t.data.data.attachmentNameList.length&&t.data.data.attachmentNameList.forEach(a=>{t.data.data.fileTypeArr.push(a.split(".")[a.split(".").length-1])}):t.data.data.attachmentNameList=[],this.obj=t.data.data,this.$toast.clear()):this.$toast.fail(t.data.msg)}).catch(t=>{this.$toast.fail("加载失败")})}},o=l,r=(s("9f46"),s("2877")),n=Object(r["a"])(o,e,i,!1,null,"7b98c5b3",null);a["default"]=n.exports},"1ec2":function(t,a,s){},"9f46":function(t,a,s){"use strict";var e=s("1ec2"),i=s.n(e);i.a}}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue