Browse Source

Merge branch 'dev_memo' of http://git.elinkit.com.cn:7070/r/epmet-cloud into develop

dev
wangxianzhang 3 years ago
parent
commit
a3faae5bc5
  1. 34
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MemosToRemindFormDTO.java
  2. 42
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MemosToRemindResultDTO.java
  3. 12
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoAttachmentDTO.java
  4. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
  5. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java
  6. 9
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoWorkDiaryDTO.java
  7. 68
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java
  8. 34
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoDifficultyDetailFromDTO.java
  9. 25
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoWorkDiaryFormDTO.java
  10. 12
      epmet-module/gov-project/gov-project-server/pom.xml
  11. 46
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoAttrController.java
  12. 61
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
  13. 68
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
  14. 55
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
  15. 18
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoAttrDao.java
  16. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoWorkDiaryDao.java
  17. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoAttachmentEntity.java
  18. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
  19. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java
  20. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoWorkDiaryEntity.java
  21. 20
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java
  22. 20
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttrService.java
  23. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoDifficultyService.java
  24. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoWorkDiaryService.java
  25. 40
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttachmentServiceImpl.java
  26. 44
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoAttrServiceImpl.java
  27. 59
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoDifficultyServiceImpl.java
  28. 63
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoWorkDiaryServiceImpl.java
  29. 88
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml
  30. 29
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml
  31. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx
  32. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx
  33. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx

34
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;
}

42
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;
}

12
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;
}

2
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;
/**
* 关怀对象地址

2
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<MemoAttachmentDTO> attachmentList;
}

9
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<MemoAttachmentDTO> attachmentList;
}

68
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<MemoAttachmentDTO> attachmentList;
//token中客户ID
private String customerId;
//token中用户Id
private String userId;
}

34
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;
}

25
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;
}

12
epmet-module/gov-project/gov-project-server/pom.xml

@ -148,6 +148,18 @@
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>

46
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<PageData<MemoAttrDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<MemoAttrDTO>> page(@RequestParam Map<String, Object> params) {
PageData<MemoAttrDTO> page = memoAttrService.page(params);
return new Result<PageData<MemoAttrDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<MemoAttrDTO> get(@PathVariable("id") String id){
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<MemoAttrDTO> get(@PathVariable("id") String id) {
MemoAttrDTO data = memoAttrService.get(id);
return new Result<MemoAttrDTO>().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<List<MemosToRemindResultDTO>> memosToRemind(@LoginUser TokenDto tokenDTO, @RequestBody MemosToRemindFormDTO formDTO) {
formDTO.setUserId(tokenDTO.getUserId());
return new Result<List<MemosToRemindResultDTO>>().ok(memoAttrService.memosToRemind(formDTO));
}
/**
* @Author sun
* @Description 书记日志-待提醒时间列表
**/
@PostMapping("memoTime")
public Result<List<String>> memoTime(@LoginUser TokenDto tokenDTO) {
return new Result<List<String>>().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();
}
}

61
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<String, Object> 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();
}
}
}
}

68
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<MemoDifficultyDTO> detail(@RequestBody MemoDifficultyDetailFromDTO fromDTO){
return new Result<MemoDifficultyDTO>().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<String, Object> 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();
}
}
}
}

55
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<PageData<MemoWorkDiaryDTO>> page(@RequestParam Map<String, Object> params){
PageData<MemoWorkDiaryDTO> page = memoWorkDiaryService.page(params);
public Result<PageData<MemoWorkDiaryDTO>> page(@LoginUser TokenDto tokenDto, @RequestBody MemoWorkDiaryFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
PageData<MemoWorkDiaryDTO> page = memoWorkDiaryService.page(formDTO);
return new Result<PageData<MemoWorkDiaryDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<MemoWorkDiaryDTO> get(@PathVariable("id") String id){
MemoWorkDiaryDTO data = memoWorkDiaryService.get(id);
@RequestMapping(method = {RequestMethod.POST,RequestMethod.GET})
public Result<MemoWorkDiaryDTO> get(@RequestBody MemoWorkDiaryFormDTO formDTO){
MemoWorkDiaryDTO data = memoWorkDiaryService.get(formDTO);
return new Result<MemoWorkDiaryDTO>().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<String, Object> 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();
}
}
}
}

18
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<MemoAttrEntity> {
/**
* @Author sun
* @Description 查询提醒内容列表有时间的按时间查询没有的查询当前日期之前的数据
**/
List<MemosToRemindResultDTO> memosToRemind(@Param("remindTime") String remindTime, @Param("userId") String userId);
/**
* @Author sun
* @Description 查询某个人当前日期之后当日0点之前待提醒时间节点列表
**/
List<String> memoTime(@Param("userId") String userId);
}

14
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<MemoWorkDiaryEntity> {
/**
* 查询列表
*
* @Param formDTO
* @Return {@link List< MemoWorkDiaryDTO>}
* @Author zhaoqifeng
* @Date 2022/3/15 15:31
*/
List<MemoWorkDiaryDTO> getPage(MemoWorkDiaryFormDTO formDTO);
}

9
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;
}

7
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;
}

5
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;
}

5
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;
}

20
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoAttachmentService.java

@ -75,4 +75,24 @@ public interface MemoAttachmentService extends BaseService<MemoAttachmentEntity>
* @date 2022-03-15
*/
void delete(String[] ids);
/**
* 根据备忘录ID查询附件
*
* @Param memoId
* @Return {@link List< MemoAttachmentDTO>}
* @Author zhaoqifeng
* @Date 2022/3/15 15:56
*/
List<MemoAttachmentDTO> getListByMemoId(String memoId);
/**
* 根据备忘录ID删除附件
*
* @Param memoId
* @Return
* @Author zhaoqifeng
* @Date 2022/3/15 15:57
*/
void deleteByMemoId(String memoId);
}

20
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<MemoAttrEntity> {
* @date 2022-03-15
*/
void delete(String[] ids);
/**
* @Author sun
* @Description 书记日志-待提醒弹框-提醒内容列表
**/
List<MemosToRemindResultDTO> memosToRemind(MemosToRemindFormDTO formDTO);
/**
* @Author sun
* @Description 书记日志-待提醒时间列表
**/
List<String> memoTime(String userId);
/**
* @Author sun
* @Description 书记日志-提醒列表-我知道了
**/
void setReaded(String memoId);
}

13
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<MemoDifficultyEntity>
* @author generator
* @date 2022-03-15
*/
void save(MemoDifficultyDTO dto);
void save(AddMemoDifficultyFromDTO dto);
/**
* 默认更新
@ -64,7 +66,7 @@ public interface MemoDifficultyService extends BaseService<MemoDifficultyEntity>
* @author generator
* @date 2022-03-15
*/
void update(MemoDifficultyDTO dto);
void update(AddMemoDifficultyFromDTO dto);
/**
* 批量删除
@ -75,4 +77,11 @@ public interface MemoDifficultyService extends BaseService<MemoDifficultyEntity>
* @date 2022-03-15
*/
void delete(String[] ids);
/**
* 详情接口
* @author generator
* @date 2022-03-15
*/
MemoDifficultyDTO detail(MemoDifficultyDetailFromDTO fromDTO);
}

14
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<MemoWorkDiaryEntity> {
/**
* 默认分页
*
* @param params
* @param formDTO
* @return PageData<MemoWorkDiaryDTO>
* @author generator
* @date 2022-03-15
*/
PageData<MemoWorkDiaryDTO> page(Map<String, Object> params);
PageData<MemoWorkDiaryDTO> page(MemoWorkDiaryFormDTO formDTO);
/**
* 默认查询
*
* @param params
* @param formDTO
* @return java.util.List<MemoWorkDiaryDTO>
* @author generator
* @date 2022-03-15
*/
List<MemoWorkDiaryDTO> list(Map<String, Object> params);
List<MemoWorkDiaryDTO> list(MemoWorkDiaryFormDTO formDTO);
/**
* 单条查询
*
* @param id
* @param formDTO
* @return MemoWorkDiaryDTO
* @author generator
* @date 2022-03-15
*/
MemoWorkDiaryDTO get(String id);
MemoWorkDiaryDTO get(MemoWorkDiaryFormDTO formDTO);
/**
* 默认保存

40
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<MemoAttachmentDao
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 根据备忘录ID查询附件
*
* @param memoId
* @Param memoId
* @Return {@link List< MemoAttachmentDTO>}
* @Author zhaoqifeng
* @Date 2022/3/15 15:56
*/
@Override
public List<MemoAttachmentDTO> getListByMemoId(String memoId) {
LambdaQueryWrapper<MemoAttachmentEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MemoAttachmentEntity::getRemindMsgId, memoId);
wrapper.orderByAsc(MemoAttachmentEntity::getSort);
List<MemoAttachmentEntity> 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<MemoAttachmentEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MemoAttachmentEntity::getRemindMsgId, memoId);
baseDao.delete(wrapper);
}
}

44
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<MemoAttrDao, MemoAttrEntity> implements MemoAttrService {
@ -44,8 +49,8 @@ public class MemoAttrServiceImpl extends BaseServiceImpl<MemoAttrDao, MemoAttrEn
return ConvertUtils.sourceToTarget(entityList, MemoAttrDTO.class);
}
private QueryWrapper<MemoAttrEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<MemoAttrEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<MemoAttrEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -80,4 +85,39 @@ public class MemoAttrServiceImpl extends BaseServiceImpl<MemoAttrDao, MemoAttrEn
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Author sun
* @Description 书记日志-待提醒弹框-提醒内容列表
**/
@Override
public List<MemosToRemindResultDTO> memosToRemind(MemosToRemindFormDTO formDTO) {
//1.查询提醒内容列表,有时间的按时间查询,没有的查询当前日期之前的数据
List<MemosToRemindResultDTO> resultList = baseDao.memosToRemind(formDTO.getRemindTime(), formDTO.getUserId());
return resultList;
}
/**
* @Author sun
* @Description 书记日志-待提醒时间列表
**/
@Override
public List<String> memoTime(String userId) {
List<String> 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));
}
}
}

59
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<MemoDifficultyDao, MemoDifficultyEntity> implements MemoDifficultyService {
@Autowired
private MemoAttrService memoAttrService;
@Autowired
private MemoAttachmentService memoAttachmentService;
@Override
@ -61,16 +75,46 @@ public class MemoDifficultyServiceImpl extends BaseServiceImpl<MemoDifficultyDao
@Override
@Transactional(rollbackFor = Exception.class)
public void save(MemoDifficultyDTO dto) {
public void save(AddMemoDifficultyFromDTO dto) {
//1.新增难点堵点数据
MemoDifficultyEntity entity = ConvertUtils.sourceToTarget(dto, MemoDifficultyEntity.class);
insert(entity);
//2.新增备忘录记录数据
MemoAttrEntity memoAttr = new MemoAttrEntity();
memoAttr.setId(entity.getCustomerId());
memoAttr.setCustomerId(dto.getCustomerId());
memoAttr.setRemindTime(dto.getRemindTime());
memoAttr.setType("difficulty");
memoAttr.setReceiver(dto.getUserId());
memoAttrService.insert(memoAttr);
//3.新增难点堵点附件数据
if(CollectionUtils.isNotEmpty(dto.getAttachmentList())){
List<MemoAttachmentEntity> 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<MemoAttachmentEntity> 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<MemoDifficultyDao
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public MemoDifficultyDTO detail(MemoDifficultyDetailFromDTO fromDTO) {
//1.查询难点堵点主表数据
MemoDifficultyEntity entity = baseDao.selectById(fromDTO.getId());
MemoDifficultyDTO resultDTO = ConvertUtils.sourceToTarget(entity, MemoDifficultyDTO.class);
//2.查询对应附件数据
List<MemoAttachmentDTO> attachmentList = memoAttachmentService.getListByMemoId(fromDTO.getId());
resultDTO.setAttachmentList(attachmentList);
return resultDTO;
}
}

63
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<MemoWorkDiaryDao, MemoWorkDiaryEntity> implements MemoWorkDiaryService {
@Resource
private MemoAttrService memoAttrService;
@Resource
private MemoAttachmentService memoAttachmentService;
@Override
public PageData<MemoWorkDiaryDTO> page(Map<String, Object> params) {
IPage<MemoWorkDiaryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, MemoWorkDiaryDTO.class);
public PageData<MemoWorkDiaryDTO> page(MemoWorkDiaryFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<MemoWorkDiaryDTO> list = baseDao.getPage(formDTO);
PageInfo<MemoWorkDiaryDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public List<MemoWorkDiaryDTO> list(Map<String, Object> params) {
List<MemoWorkDiaryEntity> entityList = baseDao.selectList(getWrapper(params));
public List<MemoWorkDiaryDTO> list(MemoWorkDiaryFormDTO formDTO) {
List<MemoWorkDiaryDTO> list = baseDao.getPage(formDTO);
return ConvertUtils.sourceToTarget(entityList, MemoWorkDiaryDTO.class);
}
private QueryWrapper<MemoWorkDiaryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<MemoWorkDiaryEntity> 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

88
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoAttrDao.xml

@ -3,6 +3,94 @@
<mapper namespace="com.epmet.dao.MemoAttrDao">
<select id="memosToRemind" resultType="com.epmet.dto.result.MemosToRemindResultDTO">
SELECT a.memoId, a.remindTime, a.type, a.typeName, a.content FROM (
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'人员关怀' typeName,
mc.content content
FROM
memo_attr ma
INNER JOIN memo_concern mc ON ma.type = 'concern' AND ma.id = mc.id
WHERE
ma.del_flag = '0'
AND mc.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
UNION ALL
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'难点堵点' typeName,
md.content content
FROM
memo_attr ma
INNER JOIN memo_difficulty md ON ma.type = 'difficulty' AND ma.id = md.id
WHERE
ma.del_flag = '0'
AND md.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
UNION ALL
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'工作日志' typeName,
mwd.content content
FROM
memo_attr ma
INNER JOIN memo_work_diary mwd ON ma.type = 'work_diary' AND ma.id = mwd.id
WHERE
ma.del_flag = '0'
AND mwd.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
) a ORDER BY a.remindTime ASC
</select>
<select id="memoTime" resultType="java.lang.String">
SELECT
DATE_FORMAT(remind_time, '%Y-%m-%d %H:%i:%s') remindTime
FROM
memo_attr
WHERE
del_flag = '0'
AND receiver = #{userId}
AND remind_time > NOW()
AND remind_time <![CDATA[<]]> CURDATE() + 1
ORDER BY remind_time ASC
</select>
</mapper>

29
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoWorkDiaryDao.xml

@ -5,4 +5,33 @@
<select id="getPage" resultType="com.epmet.dto.MemoWorkDiaryDTO">
SELECT
a.ID,
a.CUSTOMER_ID,
a.WORK_TYPE,
a.CONTENT,
b.REMIND_TIME,
a.CREATED_TIME
FROM memo_work_diary a
INNER JOIN memo_attr b ON a.ID = b.ID AND b.DEL_FLAG = '0'
WHERE
a.DEL_FLAG = '0'
AND a.CREATED_BY = #{userId}
<if test='null != content and "" != content'>
AND a.CONTENT LIKE concat('%', #{content}, '%')
</if>
<if test='null != workType and "" != workType'>
AND a.WORK_TYPE LIKE concat('%', #{workType}, '%')
</if>
<if test='null != startTime and "" != startTime'>
AND DATE_FORMAT(a.CREATED_TIME, "%Y-%m-%d") &gt;= #{startTime}
</if>
<if test='null != endTime and "" != endTime'>
AND DATE_FORMAT(a.CREATED_TIME, "%Y-%m-%d") &lt;= #{endTime}
</if>
ORDER BY a.CREATED_TIME DESC
</select>
</mapper>

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx

Binary file not shown.

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx

Binary file not shown.

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx

Binary file not shown.
Loading…
Cancel
Save