diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java index f95bd871ec..8e43d3739b 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -116,6 +117,8 @@ public class LingshanOfficeHallServiceRecordDTO implements Serializable { /** * 申请日期 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") @NotNull(message = "申请日期不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) private Date applicantTime; @@ -136,7 +139,8 @@ public class LingshanOfficeHallServiceRecordDTO implements Serializable { /** * 办结日期 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date closeTime; /** diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java index 9f6102afff..2edc3a6b2b 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java @@ -24,16 +24,27 @@ public class LingshanOfficeHallServiceRecordPageFormDTO extends PageFormDTO { * 满意度评价。-1不满意,0基本满意,1非常满意 */ private Integer satisfication; + + /** + * 申请开始日期 + */ + private String applicantStartDate; + + /** + * 申请结束日期 + */ + private String applicantEndDate; + /** * 办结日期 */ // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd") - private String startDate; + private String closeStartDate; // @DateTimeFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd") - private String endDate; + private String closeEndDate; /** * 未办结:0;已办结:1 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java index 8ce453b22d..feda2f66a0 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.LingshanOfficeHallServiceRecordDTO; import com.epmet.dto.form.lingshan.LingshanOfficeHallServiceRecordPageFormDTO; +import com.epmet.excel.LingshanOfficeHallServiceRecordExportExcel; import com.epmet.service.LingshanOfficeHallServiceRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -89,8 +90,7 @@ public class LingshanOfficeHallServiceRecordController { dto.setCustomerId(tokenDto.getCustomerId()); dto.setSourceType("gov_pc"); ValidatorUtils.validateEntity(dto, LingshanOfficeHallServiceRecordDTO.AddShowGroup.class, LingshanOfficeHallServiceRecordDTO.AddInternalGroup.class); - lingshanOfficeHallServiceRecordService.save(dto); - return new Result(); + return new Result().ok(lingshanOfficeHallServiceRecordService.save(dto)); } /** @@ -127,6 +127,7 @@ public class LingshanOfficeHallServiceRecordController { @PostMapping("export") public void exportEnterprise(@LoginUser TokenDto tokenDto, @RequestBody LingshanOfficeHallServiceRecordPageFormDTO formDTO, HttpServletResponse response) throws IOException { formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); ExcelWriter excelWriter = null; formDTO.setPageNo(NumConstant.ONE); formDTO.setPageSize(NumConstant.TEN_THOUSAND); @@ -140,16 +141,16 @@ public class LingshanOfficeHallServiceRecordController { contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); FreezeAndFilter writeHandler = new FreezeAndFilter(); - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), LingshanOfficeHallServiceRecordDTO.class) + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), LingshanOfficeHallServiceRecordExportExcel.class) .registerWriteHandler(horizontalCellStyleStrategy) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(writeHandler).build(); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); PageData data = null; - List list = null; + List list = null; do { data = lingshanOfficeHallServiceRecordService.page(formDTO); - list = ConvertUtils.sourceToTarget(data.getList(), LingshanOfficeHallServiceRecordDTO.class); + list = ConvertUtils.sourceToTarget(data.getList(), LingshanOfficeHallServiceRecordExportExcel.class); formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); excelWriter.write(list, writeSheet); } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java index 51cc8bc63b..d19c69460d 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java @@ -22,7 +22,9 @@ public interface LingshanOfficeHallServiceRecordDao extends BaseDao resultList = baseDao.pageList(formDTO.getCustomerId(), orgIdPath, formDTO.getCategoryCode(), formDTO.getContent(), formDTO.getSatisfication(), formDTO.getStartDate(), formDTO.getEndDate(), formDTO.getStatus()); + List resultList = baseDao.pageList(formDTO.getCustomerId(), orgIdPath, + formDTO.getCategoryCode(), formDTO.getContent(), + formDTO.getSatisfication(), + formDTO.getApplicantStartDate(), formDTO.getApplicantEndDate(), + formDTO.getCloseStartDate(), formDTO.getCloseEndDate(), + formDTO.getStatus()); if (CollectionUtils.isNotEmpty(resultList)) { Result> categoryRes = adminOpenFeignClient.dictMap(DictTypeEnum.LINGSHAN_OFFICE_HALL_SERVICE_RECORD.getCode()); resultList.forEach(dto -> { @@ -79,12 +86,42 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< @Override public LingshanOfficeHallServiceRecordDTO get(String id) { LingshanOfficeHallServiceRecordEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, LingshanOfficeHallServiceRecordDTO.class); + if (null == entity) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"办事大厅服务记录不存在","服务记录不存在"); + } + LingshanOfficeHallServiceRecordDTO resultDto=ConvertUtils.sourceToTarget(entity, LingshanOfficeHallServiceRecordDTO.class); + Result> categoryRes = adminOpenFeignClient.dictMap(DictTypeEnum.LINGSHAN_OFFICE_HALL_SERVICE_RECORD.getCode()); + resultDto.setCategoryName(MapUtils.isNotEmpty(categoryRes.getData()) ? categoryRes.getData().get(resultDto.getCategoryCode()) : StrConstant.EPMETY_STR); + //未办结:0;已办结:1 + if(NumConstant.ZERO_STR.equals(resultDto.getStatus())){ + resultDto.setStatusName("未办结"); + }else if(NumConstant.ONE_STR.equals(resultDto.getStatus())){ + resultDto.setStatusName("已办结"); + } + if(null!=resultDto.getSatisfication()){ + // 满意度评价。-1不满意,0基本满意,1非常满意 + switch(resultDto.getSatisfication()) + { + case -1: + resultDto.setSatisficationName("不满意"); + break; + case 0: + resultDto.setSatisficationName("基本满意"); + break; + case 1: + resultDto.setSatisficationName("非常满意"); + break; + default: + resultDto.setSatisficationName(StrConstant.EPMETY_STR); + break; + } + } + return resultDto; } @Override @Transactional(rollbackFor = Exception.class) - public void save(LingshanOfficeHallServiceRecordDTO dto) { + public String save(LingshanOfficeHallServiceRecordDTO dto) { LingshanOfficeHallServiceRecordEntity entity = ConvertUtils.sourceToTarget(dto, LingshanOfficeHallServiceRecordEntity.class); entity.setStatus(NumConstant.ZERO_STR); if (StringUtils.isNotBlank(dto.getApplicantOrgId())) { @@ -95,7 +132,7 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< // 本条数据属于网格 entity.setOrgId(gridInfoCache.getId()); - entity.setOrgType(dto.getOrgType()); + entity.setOrgType(dto.getApplicantOrgType()); entity.setOrgIdPath(entity.getApplicantOrgIdPath()); } else if (OrgTypeEnum.AGENCY.getCode().equals(dto.getApplicantOrgType())) { AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getApplicantOrgId()); @@ -103,7 +140,7 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< entity.setApplicantOrgName(agencyInfoCache.getOrganizationName()); // 本条数据属于组织 entity.setOrgId(agencyInfoCache.getId()); - entity.setOrgType(dto.getOrgType()); + entity.setOrgType(dto.getApplicantOrgType()); entity.setOrgIdPath(entity.getApplicantOrgIdPath()); } } else { @@ -113,6 +150,7 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< entity.setOrgIdPath(CustomerOrgRedis.getOrgIdPath(entity.getOrgId(), entity.getOrgType())); } insert(entity); + return entity.getId(); } @Override @@ -126,7 +164,7 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< entity.setApplicantOrgName(gridInfoCache.getGridNamePath()); // 本条数据属于网格 entity.setOrgId(gridInfoCache.getId()); - entity.setOrgType(dto.getOrgType()); + entity.setOrgType(dto.getApplicantOrgType()); entity.setOrgIdPath(entity.getApplicantOrgIdPath()); } else if (OrgTypeEnum.AGENCY.getCode().equals(dto.getApplicantOrgType())) { AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getApplicantOrgId()); @@ -134,7 +172,7 @@ public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl< entity.setApplicantOrgName(agencyInfoCache.getOrganizationName()); // 本条数据属于组织 entity.setOrgId(agencyInfoCache.getId()); - entity.setOrgType(dto.getOrgType()); + entity.setOrgType(dto.getApplicantOrgType()); entity.setOrgIdPath(entity.getApplicantOrgIdPath()); } } else { diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml index 2b09eaf521..47beac5b32 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml @@ -31,11 +31,17 @@ and r.STATUS = #{status} - - AND DATE_FORMAT(r.CLOSE_TIME,'%Y-%m-%d') >= #{startDate} + + AND DATE_FORMAT(r.APPLICANT_TIME,'%Y-%m-%d') >= #{applicantStartDate} - - AND DATE_FORMAT(r.CLOSE_TIME,'%Y-%m-%d') #{endDate} + + AND DATE_FORMAT(r.APPLICANT_TIME,'%Y-%m-%d') #{applicantEndDate} + + + AND DATE_FORMAT(r.CLOSE_TIME,'%Y-%m-%d') >= #{closeStartDate} + + + AND DATE_FORMAT(r.CLOSE_TIME,'%Y-%m-%d') #{closeEndDate} ORDER BY R.CREATED_TIME DESC