diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MemosToRemindFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MemosToRemindFormDTO.java new file mode 100644 index 0000000000..4b5ac76740 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MemosToRemindFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @Author sun + * @Description 书记日志-待提醒弹框-提醒内容列表-接口入参 + **/ +@Data +public class MemosToRemindFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + public interface MemoAttr extends CustomerClientShowGroup {} + /** + * 待提醒业务Id + */ + @NotBlank(message = "待提醒业务Id不能为空", groups = { MemoAttr.class }) + private String memoId; + /** + * 到期提醒时间,不传值默认查询当前时间之前的数据(yyyy-MM-dd) + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String remindTime; + + //token中用户Id + private String userId; + +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MemosToRemindResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MemosToRemindResultDTO.java new file mode 100644 index 0000000000..43998e8395 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MemosToRemindResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author sun + * @Description 书记日志-待提醒弹框-提醒内容列表-接口返参 + **/ +@Data +@AllArgsConstructor +public class MemosToRemindResultDTO implements Serializable { + + private static final long serialVersionUID = 4769136806332933579L; + + /** + * 对应业务数据Id + */ + private String memoId; + /** + * 业务类型 人员关怀:concern;难点堵点:difficulty;工作日志:work_diary + */ + private String type; + /** + * 业务类型 人员关怀:concern;难点堵点:difficulty;工作日志:work_diary + */ + private String typeName; + /** + * 提醒内容 + */ + private String content; + /** + * 提醒时间(日期类型) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private String remindTime; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoAttachmentDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoAttachmentDTO.java index d1dec98f34..623da6c057 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoAttachmentDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoAttachmentDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -20,16 +21,19 @@ public class MemoAttachmentDTO implements Serializable { /** * 主键 */ + @JsonIgnore private String id; /** * 客户ID */ + @JsonIgnore private String customerId; /** - * REMIND_MSG.ID + * REMIND_MSG.ID 业务(工作日志、难点堵点、人员关怀)表Id */ + @JsonIgnore private String remindMsgId; /** @@ -70,21 +74,25 @@ public class MemoAttachmentDTO implements Serializable { /** * 排序字段 */ + @JsonIgnore private Integer sort; /** * 删除标记 0:未删除,1:已删除 */ + @JsonIgnore private String delFlag; /** * 乐观锁 */ + @JsonIgnore private Integer revision; /** * 创建人 */ + @JsonIgnore private String createdBy; /** @@ -95,11 +103,13 @@ public class MemoAttachmentDTO implements Serializable { /** * 更新人 */ + @JsonIgnore private String updatedBy; /** * 更新时间 */ + @JsonIgnore private Date updatedTime; } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java index 500e28d53e..2068008383 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java @@ -40,7 +40,7 @@ public class MemoConcernDTO implements Serializable { /** * 关怀对象电话 */ - private String phnoe; + private String phone; /** * 关怀对象地址 diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java index 6b3008fa42..59500dd922 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java @@ -4,6 +4,7 @@ import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -82,4 +83,5 @@ public class MemoDifficultyDTO implements Serializable { */ private Date updatedTime; + private List attachmentList; } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoWorkDiaryDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoWorkDiaryDTO.java index f72cb66a95..2bde9822fa 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoWorkDiaryDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoWorkDiaryDTO.java @@ -1,9 +1,11 @@ package com.epmet.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -40,6 +42,7 @@ public class MemoWorkDiaryDTO implements Serializable { /** * 提醒时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date remindTime; /** @@ -60,6 +63,7 @@ public class MemoWorkDiaryDTO implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date createdTime; /** @@ -72,4 +76,9 @@ public class MemoWorkDiaryDTO implements Serializable { */ private Date updatedTime; + /** + * 附件 + */ + private List attachmentList; + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java new file mode 100644 index 0000000000..e74bc8f461 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.epmet.dto.MemoAttachmentDTO; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 备忘录-难点读点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-15 + */ +@Data +public class AddMemoDifficultyFromDTO implements Serializable { + + private static final long serialVersionUID = 1L; + public interface AddMemoDifficulty extends CustomerClientShowGroup {} + + /** + * id + */ + private String id; + + /** + * 内容 + */ + @NotBlank(message = "难点堵点内容不能为空", groups = { AddMemoDifficulty.class }) + @Length(max = 500, message = "难点堵点内容最长为50个字", groups = { AddMemoDifficulty.class }) + private String content; + + /** + * 解决方式 + */ + private String resolveWay; + + /** + * 备注 + */ + private String remark; + + /** + * 计划执行时间 + */ + private Date scheduledTime; + + /** + * 提醒时间 + */ + private Date remindTime; + + /** + * 附件集合 + */ + private List attachmentList; + + //token中客户ID + private String customerId; + //token中用户Id + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoDifficultyDetailFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoDifficultyDetailFromDTO.java new file mode 100644 index 0000000000..6866de9bf7 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoDifficultyDetailFromDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + + +/** + * 备忘录-难点读点 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-03-15 + */ +@Data +public class MemoDifficultyDetailFromDTO implements Serializable { + + private static final long serialVersionUID = 1L; + public interface Detail extends CustomerClientShowGroup {} + + /** + * id + */ + @NotBlank(message = "难点堵点Id不能为空", groups = { Detail.class }) + private String id; + /** + * 阅读标记1 已读;0未读 + */ + @NotNull(message = "阅读标记不能为空", groups = { Detail.class }) + private Integer readFlag; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoWorkDiaryFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoWorkDiaryFormDTO.java new file mode 100644 index 0000000000..88e3aaef4b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoWorkDiaryFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/3/15 15:09 + */ +@NoArgsConstructor +@Data +public class MemoWorkDiaryFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = 3101320969471756516L; + private String userId; + private String id; + private String readFlag = "0"; + private String content; + private String workType; + private String startTime; + private String endTime; +} diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 88e598b596..8604647c05 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -148,6 +148,18 @@ true + + org.apache.maven.plugins + maven-resources-plugin + + + xls + xlsx + doc + docx + + + ${project.basedir}/src/main/java diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoAttrController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoAttrController.java index c88ccdc7c1..07b1ed3eb6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoAttrController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoAttrController.java @@ -1,7 +1,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,10 +11,13 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.MemoAttrDTO; +import com.epmet.dto.form.MemosToRemindFormDTO; +import com.epmet.dto.result.MemosToRemindResultDTO; import com.epmet.service.MemoAttrService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @@ -30,20 +35,20 @@ public class MemoAttrController { private MemoAttrService memoAttrService; @RequestMapping("page") - public Result> page(@RequestParam Map params){ + public Result> page(@RequestParam Map params) { PageData page = memoAttrService.page(params); return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { MemoAttrDTO data = memoAttrService.get(id); return new Result().ok(data); } @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody MemoAttrDTO dto){ + public Result save(@RequestBody MemoAttrDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); memoAttrService.save(dto); @@ -52,7 +57,7 @@ public class MemoAttrController { @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody MemoAttrDTO dto){ + public Result update(@RequestBody MemoAttrDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); memoAttrService.update(dto); @@ -60,13 +65,42 @@ public class MemoAttrController { } @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); memoAttrService.delete(ids); return new Result(); } + /** + * @Author sun + * @Description 书记日志-待提醒弹框-提醒内容列表 + **/ + @PostMapping("memosToRemind") + public Result> memosToRemind(@LoginUser TokenDto tokenDTO, @RequestBody MemosToRemindFormDTO formDTO) { + formDTO.setUserId(tokenDTO.getUserId()); + return new Result>().ok(memoAttrService.memosToRemind(formDTO)); + } + + /** + * @Author sun + * @Description 书记日志-待提醒时间列表 + **/ + @PostMapping("memoTime") + public Result> memoTime(@LoginUser TokenDto tokenDTO) { + return new Result>().ok(memoAttrService.memoTime(tokenDTO.getUserId())); + } + + /** + * @Author sun + * @Description 书记日志-提醒列表-我知道了 + **/ + @PostMapping("setReaded") + public Result setReaded(@RequestBody MemosToRemindFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MemosToRemindFormDTO.MemoAttr.class); + memoAttrService.setReaded(formDTO.getMemoId()); + return new Result(); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java index 39d1beb1d4..bf3df91094 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java @@ -1,7 +1,12 @@ package com.epmet.controller; +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.bean.BeanUtil; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,10 +14,16 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.MemoConcernDTO; +import com.epmet.dto.MemoWorkDiaryDTO; import com.epmet.service.MemoConcernService; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.net.URL; import java.util.Map; @@ -67,6 +78,56 @@ public class MemoConcernController { return new Result(); } + @PostMapping("/{id}/exportWord") + public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception { + URL resource = this.getClass().getClassLoader().getResource("templates/memo_concern_export_template.docx"); + + MemoConcernDTO data = memoConcernService.get(id); + + if (data == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未找到id为" + id + "的关怀项目", "未找到该关怀项目"); + } + + Map map = BeanUtil.beanToMap(data); + + // 创建时间 + if (data.getCreatedTime() != null) { + String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm"); + map.put("createTime", createTimeStr); + } else { + map.put("createTime", ""); + } + + // 预计关怀时间 + if (data.getScheduledTime() != null) { + String scheduledTimeStr = DateUtils.format(data.getScheduledTime(), "yyyy年MM月dd日 HH:mm"); + map.put("scheduledTime", scheduledTimeStr); + } else { + map.put("scheduledTime", ""); + } + + //状态 + map.put("statusName", "0".equals(data.getStatus()) ? "未完成" : "已完成"); + + XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map); + + String filePath = resource.getFile(); + String suffix = filePath.substring(filePath.lastIndexOf(".")); + + response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=人员关怀导入模板" + suffix); + + ServletOutputStream fos = null; + try { + fos = response.getOutputStream(); + doc.write(fos); + } finally { + if (fos != null) { + fos.close(); + } + } + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java index c932841cf8..cb8e6441ed 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java @@ -1,7 +1,14 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.bean.BeanUtil; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,10 +16,18 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.MemoDifficultyDTO; +import com.epmet.dto.MemoWorkDiaryDTO; +import com.epmet.dto.form.AddMemoDifficultyFromDTO; +import com.epmet.dto.form.MemoDifficultyDetailFromDTO; import com.epmet.service.MemoDifficultyService; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.net.URL; import java.util.Map; @@ -43,18 +58,17 @@ public class MemoDifficultyController { @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody MemoDifficultyDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + public Result save(@LoginUser TokenDto tokenDTO, @RequestBody AddMemoDifficultyFromDTO dto){ + ValidatorUtils.validateEntity(dto, AddMemoDifficultyFromDTO.AddMemoDifficulty.class); + dto.setCustomerId(tokenDTO.getCustomerId()); + dto.setUserId(tokenDTO.getUserId()); memoDifficultyService.save(dto); return new Result(); } @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody MemoDifficultyDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + public Result update(@RequestBody AddMemoDifficultyFromDTO dto){ memoDifficultyService.update(dto); return new Result(); } @@ -67,6 +81,48 @@ public class MemoDifficultyController { return new Result(); } + @PostMapping("detail") + public Result detail(@RequestBody MemoDifficultyDetailFromDTO fromDTO){ + return new Result().ok(memoDifficultyService.detail(fromDTO)); + } + + @PostMapping("/{id}/exportWord") + public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception { + URL resource = this.getClass().getClassLoader().getResource("templates/memo_difficulty_export_template.docx"); + + MemoDifficultyDTO data = memoDifficultyService.get(id); + + if (data == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未找到id为" + id + "的难点堵点项", "未找到该难点堵点项"); + } + + Map map = BeanUtil.beanToMap(data); + + String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm"); + map.put("createTime", createTimeStr); + + String scheduledTimeStr = DateUtils.format(data.getScheduledTime(), "yyyy年MM月dd日 HH:mm"); + map.put("scheduledTime", scheduledTimeStr); + + XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map); + + String filePath = resource.getFile(); + String suffix = filePath.substring(filePath.lastIndexOf(".")); + + response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix); + + ServletOutputStream fos = null; + try { + fos = response.getOutputStream(); + doc.write(fos); + } finally { + if (fos != null) { + fos.close(); + } + } + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java index 43faecbcab..5d3415ca29 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java @@ -1,7 +1,12 @@ package com.epmet.controller; +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,11 +14,21 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.MemoWorkDiaryDTO; +import com.epmet.dto.form.MemoWorkDiaryFormDTO; import com.epmet.service.MemoWorkDiaryService; +import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.net.URL; +import java.util.HashMap; import java.util.Map; +import java.util.Optional; /** @@ -30,14 +45,15 @@ public class MemoWorkDiaryController { private MemoWorkDiaryService memoWorkDiaryService; @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = memoWorkDiaryService.page(params); + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody MemoWorkDiaryFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + PageData page = memoWorkDiaryService.page(formDTO); return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - MemoWorkDiaryDTO data = memoWorkDiaryService.get(id); + @RequestMapping(method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@RequestBody MemoWorkDiaryFormDTO formDTO){ + MemoWorkDiaryDTO data = memoWorkDiaryService.get(formDTO); return new Result().ok(data); } @@ -67,6 +83,35 @@ public class MemoWorkDiaryController { return new Result(); } + @PostMapping("/{id}/exportWord") + public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception { + URL resource = this.getClass().getClassLoader().getResource("templates/memo_work_diary_export_template.docx"); + MemoWorkDiaryFormDTO form = new MemoWorkDiaryFormDTO(); + form.setId(id); + MemoWorkDiaryDTO data = memoWorkDiaryService.get(form); + Map map = BeanUtil.beanToMap(data); + String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm"); + map.put("createTime", createTimeStr); + + XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map); + + String filePath = resource.getFile(); + String suffix = filePath.substring(filePath.lastIndexOf(".")); + + response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix); + + ServletOutputStream fos = null; + try { + fos = response.getOutputStream(); + doc.write(fos); + } finally { + if (fos != null) { + fos.close(); + } + } + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoAttrDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoAttrDao.java index ad1b4216cc..4ba3580b45 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoAttrDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoAttrDao.java @@ -1,8 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.MemosToRemindResultDTO; import com.epmet.entity.MemoAttrEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; /** * 备忘录-属性表 @@ -12,5 +17,16 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface MemoAttrDao extends BaseDao { - + + /** + * @Author sun + * @Description 查询提醒内容列表,有时间的按时间查询,没有的查询当前日期之前的数据 + **/ + List memosToRemind(@Param("remindTime") String remindTime, @Param("userId") String userId); + + /** + * @Author sun + * @Description 查询某个人当前日期之后,当日0点之前待提醒时间节点列表 + **/ + List memoTime(@Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoWorkDiaryDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoWorkDiaryDao.java index dd27cdd763..9431661632 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoWorkDiaryDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoWorkDiaryDao.java @@ -1,9 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.MemoWorkDiaryDTO; +import com.epmet.dto.form.MemoWorkDiaryFormDTO; import com.epmet.entity.MemoWorkDiaryEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 备忘录-工作日志 * @@ -12,5 +16,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface MemoWorkDiaryDao extends BaseDao { + + /** + * 查询列表 + * + * @Param formDTO + * @Return {@link List< MemoWorkDiaryDTO>} + * @Author zhaoqifeng + * @Date 2022/3/15 15:31 + */ + List getPage(MemoWorkDiaryFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoAttachmentEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoAttachmentEntity.java index fcc0c1622d..10dc7ba536 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoAttachmentEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoAttachmentEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -24,7 +26,7 @@ public class MemoAttachmentEntity extends BaseEpmetEntity { private String customerId; /** - * REMIND_MSG.ID + * REMIND_MSG.ID 业务(工作日志、难点堵点、人员关怀)表Id */ private String remindMsgId; @@ -68,4 +70,9 @@ public class MemoAttachmentEntity extends BaseEpmetEntity { */ private Integer sort; + /** + * 物理删除 + */ + @TableField(fill = FieldFill.INSERT) + private String delFlag; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java index 7d62073752..59a2770876 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java @@ -38,7 +38,7 @@ public class MemoConcernEntity extends BaseEpmetEntity { /** * 关怀对象电话 */ - private String phnoe; + private String phone; /** * 关怀对象地址 @@ -65,9 +65,4 @@ public class MemoConcernEntity extends BaseEpmetEntity { */ private Integer status; - /** - * 提醒时间 - */ - private Date remindTime; - } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java index 453f2eed09..32d6263849 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java @@ -45,9 +45,4 @@ public class MemoDifficultyEntity extends BaseEpmetEntity { */ private Date scheduledTime; - /** - * 提醒时间 - */ - private Date remindTime; - } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoWorkDiaryEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoWorkDiaryEntity.java index 2407b046e9..c5d81f90fa 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoWorkDiaryEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoWorkDiaryEntity.java @@ -35,9 +35,4 @@ public class MemoWorkDiaryEntity extends BaseEpmetEntity { */ private String content; - /** - * 提醒时间 - */ - private Date remindTime; - } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java index dde25470fe..fa5d0450ea 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java @@ -75,4 +75,24 @@ public interface MemoAttachmentService extends BaseService * @date 2022-03-15 */ void delete(String[] ids); + + /** + * 根据备忘录ID查询附件 + * + * @Param memoId + * @Return {@link List< MemoAttachmentDTO>} + * @Author zhaoqifeng + * @Date 2022/3/15 15:56 + */ + List getListByMemoId(String memoId); + + /** + * 根据备忘录ID删除附件 + * + * @Param memoId + * @Return + * @Author zhaoqifeng + * @Date 2022/3/15 15:57 + */ + void deleteByMemoId(String memoId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttrService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttrService.java index e7d717187d..388698df6a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttrService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttrService.java @@ -3,6 +3,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.MemoAttrDTO; +import com.epmet.dto.form.MemosToRemindFormDTO; +import com.epmet.dto.result.MemosToRemindResultDTO; import com.epmet.entity.MemoAttrEntity; import java.util.List; @@ -75,4 +77,22 @@ public interface MemoAttrService extends BaseService { * @date 2022-03-15 */ void delete(String[] ids); + + /** + * @Author sun + * @Description 书记日志-待提醒弹框-提醒内容列表 + **/ + List memosToRemind(MemosToRemindFormDTO formDTO); + + /** + * @Author sun + * @Description 书记日志-待提醒时间列表 + **/ + List memoTime(String userId); + + /** + * @Author sun + * @Description 书记日志-提醒列表-我知道了 + **/ + void setReaded(String memoId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoDifficultyService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoDifficultyService.java index 00a825fb23..d91ecf1b4a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoDifficultyService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoDifficultyService.java @@ -3,6 +3,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.MemoDifficultyDTO; +import com.epmet.dto.form.AddMemoDifficultyFromDTO; +import com.epmet.dto.form.MemoDifficultyDetailFromDTO; import com.epmet.entity.MemoDifficultyEntity; import java.util.List; @@ -54,7 +56,7 @@ public interface MemoDifficultyService extends BaseService * @author generator * @date 2022-03-15 */ - void save(MemoDifficultyDTO dto); + void save(AddMemoDifficultyFromDTO dto); /** * 默认更新 @@ -64,7 +66,7 @@ public interface MemoDifficultyService extends BaseService * @author generator * @date 2022-03-15 */ - void update(MemoDifficultyDTO dto); + void update(AddMemoDifficultyFromDTO dto); /** * 批量删除 @@ -75,4 +77,11 @@ public interface MemoDifficultyService extends BaseService * @date 2022-03-15 */ void delete(String[] ids); + + /** + * 详情接口 + * @author generator + * @date 2022-03-15 + */ + MemoDifficultyDTO detail(MemoDifficultyDetailFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoWorkDiaryService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoWorkDiaryService.java index 29d7614886..c3754d3357 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoWorkDiaryService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoWorkDiaryService.java @@ -3,10 +3,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.MemoWorkDiaryDTO; +import com.epmet.dto.form.MemoWorkDiaryFormDTO; import com.epmet.entity.MemoWorkDiaryEntity; import java.util.List; -import java.util.Map; /** * 备忘录-工作日志 @@ -19,32 +19,32 @@ public interface MemoWorkDiaryService extends BaseService { /** * 默认分页 * - * @param params + * @param formDTO * @return PageData * @author generator * @date 2022-03-15 */ - PageData page(Map params); + PageData page(MemoWorkDiaryFormDTO formDTO); /** * 默认查询 * - * @param params + * @param formDTO * @return java.util.List * @author generator * @date 2022-03-15 */ - List list(Map params); + List list(MemoWorkDiaryFormDTO formDTO); /** * 单条查询 * - * @param id + * @param formDTO * @return MemoWorkDiaryDTO * @author generator * @date 2022-03-15 */ - MemoWorkDiaryDTO get(String id); + MemoWorkDiaryDTO get(MemoWorkDiaryFormDTO formDTO); /** * 默认保存 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttachmentServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttachmentServiceImpl.java index b670d73537..5710369dee 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttachmentServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttachmentServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +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.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -10,11 +11,13 @@ import com.epmet.dao.MemoAttachmentDao; import com.epmet.dto.MemoAttachmentDTO; import com.epmet.entity.MemoAttachmentEntity; import com.epmet.service.MemoAttachmentService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -80,4 +83,41 @@ public class MemoAttachmentServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/3/15 15:56 + */ + @Override + public List getListByMemoId(String memoId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MemoAttachmentEntity::getRemindMsgId, memoId); + wrapper.orderByAsc(MemoAttachmentEntity::getSort); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return ConvertUtils.sourceToTarget(list, MemoAttachmentDTO.class); + } + + /** + * 根据备忘录ID删除附件 + * + * @param memoId + * @Param memoId + * @Return + * @Author zhaoqifeng + * @Date 2022/3/15 15:57 + */ + @Override + public void deleteByMemoId(String memoId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MemoAttachmentEntity::getRemindMsgId, memoId); + baseDao.delete(wrapper); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttrServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttrServiceImpl.java index 5af16cb67b..c979928ceb 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttrServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttrServiceImpl.java @@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.MemoAttrDao; import com.epmet.dto.MemoAttrDTO; +import com.epmet.dto.form.MemosToRemindFormDTO; +import com.epmet.dto.result.MemosToRemindResultDTO; import com.epmet.entity.MemoAttrEntity; import com.epmet.service.MemoAttrService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,6 +29,7 @@ import java.util.Map; * @since v1.0.0 2022-03-15 */ @Service +@Slf4j public class MemoAttrServiceImpl extends BaseServiceImpl implements MemoAttrService { @@ -44,8 +49,8 @@ public class MemoAttrServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -80,4 +85,39 @@ public class MemoAttrServiceImpl extends BaseServiceImpl memosToRemind(MemosToRemindFormDTO formDTO) { + //1.查询提醒内容列表,有时间的按时间查询,没有的查询当前日期之前的数据 + List resultList = baseDao.memosToRemind(formDTO.getRemindTime(), formDTO.getUserId()); + return resultList; + } + + /** + * @Author sun + * @Description 书记日志-待提醒时间列表 + **/ + @Override + public List memoTime(String userId) { + List resultList = baseDao.memoTime(userId); + return resultList; + } + + /** + * @Author sun + * @Description 书记日志-提醒列表-我知道了 + **/ + @Override + public void setReaded(String memoId) { + MemoAttrEntity entity = new MemoAttrEntity(); + entity.setId(memoId); + entity.setReadFlag(NumConstant.ONE); + if (baseDao.updateById(entity) < NumConstant.ONE) { + log.warn(String.format("书记日志-提醒列表-修改阅读状态失败,提醒记录Id", memoId)); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoDifficultyServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoDifficultyServiceImpl.java index 4c40dfc3b1..78db39353f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoDifficultyServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoDifficultyServiceImpl.java @@ -7,10 +7,20 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.MemoDifficultyDao; +import com.epmet.dto.MemoAttachmentDTO; +import com.epmet.dto.MemoAttrDTO; import com.epmet.dto.MemoDifficultyDTO; +import com.epmet.dto.form.AddMemoDifficultyFromDTO; +import com.epmet.dto.form.MemoDifficultyDetailFromDTO; +import com.epmet.entity.MemoAttachmentEntity; +import com.epmet.entity.MemoAttrEntity; import com.epmet.entity.MemoDifficultyEntity; +import com.epmet.service.MemoAttachmentService; +import com.epmet.service.MemoAttrService; import com.epmet.service.MemoDifficultyService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,6 +36,10 @@ import java.util.Map; */ @Service public class MemoDifficultyServiceImpl extends BaseServiceImpl implements MemoDifficultyService { + @Autowired + private MemoAttrService memoAttrService; + @Autowired + private MemoAttachmentService memoAttachmentService; @Override @@ -61,16 +75,46 @@ public class MemoDifficultyServiceImpl extends BaseServiceImpl list = ConvertUtils.sourceToTarget(dto.getAttachmentList(), MemoAttachmentEntity.class); + list.forEach(l->l.setRemindMsgId(entity.getId())); + memoAttachmentService.insertBatch(list); + } } @Override @Transactional(rollbackFor = Exception.class) - public void update(MemoDifficultyDTO dto) { + public void update(AddMemoDifficultyFromDTO dto) { + //1.更新难点堵点主表数据 MemoDifficultyEntity entity = ConvertUtils.sourceToTarget(dto, MemoDifficultyEntity.class); updateById(entity); + //2.附件表数据全删全增 + memoAttachmentService.deleteByMemoId(dto.getId()); + if(CollectionUtils.isNotEmpty(dto.getAttachmentList())){ + List list = ConvertUtils.sourceToTarget(dto.getAttachmentList(), MemoAttachmentEntity.class); + list.forEach(l->l.setRemindMsgId(entity.getId())); + memoAttachmentService.insertBatch(list); + } + //3.判断更新提醒记录表提醒时间 + if(null != dto.getRemindTime()){ + MemoAttrDTO memoAttr = new MemoAttrDTO(); + memoAttr.setId(dto.getId()); + memoAttr.setRemindTime(dto.getRemindTime()); + memoAttrService.update(memoAttr); + } } @Override @@ -80,4 +124,15 @@ public class MemoDifficultyServiceImpl extends BaseServiceImpl attachmentList = memoAttachmentService.getListByMemoId(fromDTO.getId()); + resultDTO.setAttachmentList(attachmentList); + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoWorkDiaryServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoWorkDiaryServiceImpl.java index f4be3dfd27..3ea93d5724 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoWorkDiaryServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoWorkDiaryServiceImpl.java @@ -1,22 +1,25 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.MemoWorkDiaryDao; +import com.epmet.dto.MemoAttrDTO; import com.epmet.dto.MemoWorkDiaryDTO; +import com.epmet.dto.form.MemoWorkDiaryFormDTO; import com.epmet.entity.MemoWorkDiaryEntity; +import com.epmet.service.MemoAttachmentService; +import com.epmet.service.MemoAttrService; import com.epmet.service.MemoWorkDiaryService; -import org.apache.commons.lang3.StringUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; -import java.util.Map; /** * 备忘录-工作日志 @@ -27,36 +30,44 @@ import java.util.Map; @Service public class MemoWorkDiaryServiceImpl extends BaseServiceImpl implements MemoWorkDiaryService { + @Resource + private MemoAttrService memoAttrService; + @Resource + private MemoAttachmentService memoAttachmentService; @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, MemoWorkDiaryDTO.class); + public PageData page(MemoWorkDiaryFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getPage(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); } @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); + public List list(MemoWorkDiaryFormDTO formDTO) { + List list = baseDao.getPage(formDTO); - return ConvertUtils.sourceToTarget(entityList, MemoWorkDiaryDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; + return list; } @Override - public MemoWorkDiaryDTO get(String id) { - MemoWorkDiaryEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, MemoWorkDiaryDTO.class); + public MemoWorkDiaryDTO get(MemoWorkDiaryFormDTO formDTO) { + MemoWorkDiaryEntity entity = baseDao.selectById(formDTO.getId()); + MemoWorkDiaryDTO dto = ConvertUtils.sourceToTarget(entity, MemoWorkDiaryDTO.class); + //获取提醒时间 + MemoAttrDTO memoAttr = memoAttrService.get(formDTO.getId()); + if (null != memoAttr && null != dto) { + dto.setRemindTime(memoAttr.getRemindTime()); + } + //获取附件列表 + //更新阅读状态 + if (NumConstant.ONE_STR.equals(formDTO.getReadFlag())) { + MemoAttrDTO memoAttrDTO = new MemoAttrDTO(); + memoAttrDTO.setId(formDTO.getId()); + memoAttrDTO.setReadFlag(NumConstant.ONE); + memoAttrService.update(memoAttrDTO); + } + return dto; } @Override diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml index 5c98e2eb58..72fd81c7d3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml @@ -3,6 +3,94 @@ + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml index b563021ce0..08b7db4af6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml @@ -5,4 +5,33 @@ + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx new file mode 100644 index 0000000000..07d3c0e1f9 Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx differ diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx new file mode 100644 index 0000000000..c1e75911d0 Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx differ diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx new file mode 100644 index 0000000000..2e58a313b6 Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx differ