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 2068008383..230887b58a 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 @@ -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; /** @@ -55,11 +57,13 @@ public class MemoConcernDTO implements Serializable { /** * 计划执行时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date scheduledTime; /** * 实际执行时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date actualTime; /** @@ -70,6 +74,7 @@ public class MemoConcernDTO implements Serializable { /** * 提醒时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date remindTime; /** @@ -90,6 +95,7 @@ public class MemoConcernDTO implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm") private Date createdTime; /** @@ -101,5 +107,8 @@ public class MemoConcernDTO 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/MemoConcernFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoConcernFormDTO.java new file mode 100644 index 0000000000..eb0e50978e --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/MemoConcernFormDTO.java @@ -0,0 +1,29 @@ +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 17:11 + */ +@NoArgsConstructor +@Data +public class MemoConcernFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = -2355555089163762829L; + private String userId; + private String id; + private String readFlag = "0"; + private String content; + private String concernType; + private String resiName; + private String status; + private String startTime; + private String endTime; + private String scheduledStartTime; + private String scheduledEndTime; +} 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 bf3df91094..043aa9712c 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 @@ -2,10 +2,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.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -14,7 +16,7 @@ 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.dto.form.MemoConcernFormDTO; import com.epmet.service.MemoConcernService; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.factory.annotation.Autowired; @@ -41,31 +43,36 @@ public class MemoConcernController { private MemoConcernService memoConcernService; @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = memoConcernService.page(params); + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody MemoConcernFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + PageData page = memoConcernService.page(formDTO); return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - MemoConcernDTO data = memoConcernService.get(id); + @RequestMapping(method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@RequestBody MemoConcernFormDTO formDTO){ + MemoConcernDTO data = memoConcernService.get(formDTO); return new Result().ok(data); } @NoRepeatSubmit @PostMapping("save") - public Result save(@RequestBody MemoConcernDTO dto){ + public Result save(@LoginUser TokenDto tokenDto, @RequestBody MemoConcernDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setCreatedBy(tokenDto.getUserId()); memoConcernService.save(dto); return new Result(); } @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody MemoConcernDTO dto){ + public Result update(@LoginUser TokenDto tokenDto, @RequestBody MemoConcernDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + dto.setCustomerId(tokenDto.getCustomerId()); memoConcernService.update(dto); return new Result(); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoConcernDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoConcernDao.java index 723dbe4444..99ad577c44 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoConcernDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/MemoConcernDao.java @@ -1,9 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.MemoConcernDTO; +import com.epmet.dto.form.MemoConcernFormDTO; import com.epmet.entity.MemoConcernEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 备忘录-人文关怀 * @@ -12,5 +16,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface MemoConcernDao extends BaseDao { - + /** + * 查询列表 + * + * @Param formDTO + * @Return {@link List < MemoConcernDTO>} + * @Author zhaoqifeng + * @Date 2022/3/15 15:31 + */ + List getPage(MemoConcernFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoConcernService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoConcernService.java index f18784a348..a7397794a2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoConcernService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/MemoConcernService.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.MemoConcernDTO; +import com.epmet.dto.form.MemoConcernFormDTO; import com.epmet.entity.MemoConcernEntity; import java.util.List; -import java.util.Map; /** * 备忘录-人文关怀 @@ -24,7 +24,7 @@ public interface MemoConcernService extends BaseService { * @author generator * @date 2022-03-15 */ - PageData page(Map params); + PageData page(MemoConcernFormDTO formDTO); /** * 默认查询 @@ -34,7 +34,7 @@ public interface MemoConcernService extends BaseService { * @author generator * @date 2022-03-15 */ - List list(Map params); + List list(MemoConcernFormDTO formDTO); /** * 单条查询 @@ -44,7 +44,7 @@ public interface MemoConcernService extends BaseService { * @author generator * @date 2022-03-15 */ - MemoConcernDTO get(String id); + MemoConcernDTO get(MemoConcernFormDTO formDTO); /** * 默认保存 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoConcernServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoConcernServiceImpl.java index 060ede4916..c017703d7a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoConcernServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/MemoConcernServiceImpl.java @@ -1,22 +1,31 @@ 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.constant.MemoConstant; import com.epmet.dao.MemoConcernDao; +import com.epmet.dto.MemoAttachmentDTO; +import com.epmet.dto.MemoAttrDTO; import com.epmet.dto.MemoConcernDTO; +import com.epmet.dto.form.MemoConcernFormDTO; +import com.epmet.entity.MemoAttachmentEntity; import com.epmet.entity.MemoConcernEntity; +import com.epmet.service.MemoAttachmentService; +import com.epmet.service.MemoAttrService; import com.epmet.service.MemoConcernService; -import org.apache.commons.lang3.StringUtils; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; 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; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** * 备忘录-人文关怀 @@ -27,36 +36,47 @@ import java.util.Map; @Service public class MemoConcernServiceImpl extends BaseServiceImpl implements MemoConcernService { + @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, MemoConcernDTO.class); + public PageData page(MemoConcernFormDTO 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)); - - return ConvertUtils.sourceToTarget(entityList, MemoConcernDTO.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; + public List list(MemoConcernFormDTO formDTO) { + List list = baseDao.getPage(formDTO); + return list; } @Override - public MemoConcernDTO get(String id) { - MemoConcernEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, MemoConcernDTO.class); + public MemoConcernDTO get(MemoConcernFormDTO formDTO) { + MemoConcernEntity entity = baseDao.selectById(formDTO.getId()); + MemoConcernDTO dto = ConvertUtils.sourceToTarget(entity, MemoConcernDTO.class); + if (null != dto) { + //获取提醒时间 + MemoAttrDTO memoAttr = memoAttrService.get(formDTO.getId()); + if (null != memoAttr) { + dto.setRemindTime(memoAttr.getRemindTime()); + } + //获取附件列表 + List attachmentList = memoAttachmentService.getListByMemoId(formDTO.getId()); + dto.setAttachmentList(attachmentList); + } + //更新阅读状态 + 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 @@ -64,6 +84,28 @@ public class MemoConcernServiceImpl extends BaseServiceImpl list = dto.getAttachmentList().stream().map(item -> { + MemoAttachmentEntity e = ConvertUtils.sourceToTarget(item, MemoAttachmentEntity.class); + e.setCustomerId(dto.getCustomerId()); + e.setRemindMsgId(entity.getId()); + e.setSort(i.getAndIncrement()); + return e; + }).collect(Collectors.toList()); + memoAttachmentService.insertBatch(list); + } } @Override @@ -71,6 +113,30 @@ public class MemoConcernServiceImpl extends BaseServiceImpl list = dto.getAttachmentList().stream().map(item -> { + MemoAttachmentEntity e = ConvertUtils.sourceToTarget(item, MemoAttachmentEntity.class); + e.setCustomerId(dto.getCustomerId()); + e.setRemindMsgId(dto.getId()); + e.setSort(i.getAndIncrement()); + return e; + }).collect(Collectors.toList()); + memoAttachmentService.insertBatch(list); + } } @Override @@ -78,6 +144,13 @@ public class MemoConcernServiceImpl extends BaseServiceImpl list = Arrays.asList(ids); + baseDao.deleteBatchIds(list); + memoAttrService.delete(ids); + list.forEach(id -> { + //删除附件 + memoAttachmentService.deleteByMemoId(id); + }); } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoConcernDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoConcernDao.xml index fa6d92a22a..3018238747 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoConcernDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/MemoConcernDao.xml @@ -3,6 +3,51 @@ + + \ No newline at end of file