From 3b5eca8f47d42a70a17f36a88a26e851c04c125c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 15 May 2023 18:33:46 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8A=9E=E4=BA=8B=E5=A4=A7=E5=8E=85?= =?UTF-8?q?=EF=BC=8C=E5=BE=85=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/enums/DictTypeEnum.java | 1 + .../LingshanOfficeHallServiceRecordDTO.java | 199 ++++++++++++++++++ ...hanOfficeHallServiceRecordPageFormDTO.java | 48 +++++ ...shanOfficeHallServiceRecordController.java | 175 +++++++++++++++ .../LingshanOfficeHallServiceRecordDao.java | 28 +++ ...LingshanOfficeHallServiceRecordEntity.java | 118 +++++++++++ ...hanOfficeHallServiceRecordExportExcel.java | 92 ++++++++ ...ingshanOfficeHallServiceRecordService.java | 70 ++++++ ...hanOfficeHallServiceRecordServiceImpl.java | 169 +++++++++++++++ .../LingshanOfficeHallServiceRecordDao.xml | 42 ++++ 10 files changed, 942 insertions(+) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LingshanOfficeHallServiceRecordEntity.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/LingshanOfficeHallServiceRecordExportExcel.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingshanOfficeHallServiceRecordService.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingshanOfficeHallServiceRecordServiceImpl.java create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java index a07838684d..99338ee9c6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java @@ -34,6 +34,7 @@ public enum DictTypeEnum { TRAFFIC_TYPE("traffic_type", "交通方式", 36), SOJOURN_HISTORY("sojourn_history", "7天内旅居史情况", 37), TRIP_DATA_TYPE("trip_data_type", "行程记录类型", 39), + LINGSHAN_OFFICE_HALL_SERVICE_RECORD("lingshan_office_hall_service_record","灵山-办事大厅业务类型",40), ; private final String code; 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 new file mode 100644 index 0000000000..f95bd871ec --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/LingshanOfficeHallServiceRecordDTO.java @@ -0,0 +1,199 @@ +package com.epmet.dto; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +@Data +public class LingshanOfficeHallServiceRecordDTO implements Serializable { + private static final long serialVersionUID = 2157075710544884607L; + + public interface AddInternalGroup { + } + + public interface AddShowGroup extends CustomerClientShowGroup { + } + + public interface UpdateInternalGroup { + } + + public interface UpdateShowGroup extends CustomerClientShowGroup { + } + + + /** + * 主键 + */ + @NotBlank(message = "id不能为空",groups = {UpdateInternalGroup.class}) + private String id; + + /** + * 租户号 + */ + private String customerId; + + /** + * 工作人员录入:gov_pc;居民端小程序:resi_mp + */ + private String sourceType; + + /** + * 事项类型 + */ + @NotBlank(message = "事项类型不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + private String categoryCode; + + /** + * 类别名称 + * 举例:营业执照服务、食品许可证服务、医疗保险业务、养老保险业务 + */ + private String categoryName; + + /** + * 事项说明 + */ + @NotBlank(message = "事项说明不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + @Length(max = 500, message = "事项说明最多输入500字", groups = {AddShowGroup.class, UpdateShowGroup.class}) + private String content; + + /** + * 申请人所属组织id或者网格id + */ + @NotBlank(message = "申请人所属组织不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + private String applicantOrgId; + + /** + * agency或者grid + */ + @NotBlank(message = "orgType不能为空",groups = {AddInternalGroup.class,UpdateInternalGroup.class}) + private String applicantOrgType; + + /** + * ORG_ID全路径 + */ + private String applicantOrgIdPath; + + /** + * 申请人所属组织名称 + */ + private String applicantOrgName; + + /** + * 申请人姓名 + */ + // @NotBlank(message = "申请人姓名不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + // @Length(max = 30, message = "申请人姓名最多输入30字", groups = {AddShowGroup.class, UpdateShowGroup.class}) + private String applicantName; + + /** + * 申请人联系电话 + */ + // @NotBlank(message = "申请人电话不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + // @Length(max = 30, message = "申请人电话最多输入30字", groups = {AddShowGroup.class, UpdateShowGroup.class}) + private String applicantMobile; + + /** + * 申请人身份证号 + */ + // @NotBlank(message = "申请人身份证号不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + // @Length(max = 30, message = "申请人身份证号最多输入30字", groups = {AddShowGroup.class, UpdateShowGroup.class}) + private String applicantIdCard; + + /** + * 申请日期 + */ + @NotNull(message = "申请日期不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + private Date applicantTime; + + /** + * 办理人姓名 + */ + @NotBlank(message = "办理人姓名不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + @Length(max = 30, message = "办理人姓名最多输入30字", groups = {AddShowGroup.class, UpdateShowGroup.class}) + private String transactorName; + + /** + * 未办结:0;已办结:1 + */ + @NotBlank(message = "办理状态不能为空",groups = {AddShowGroup.class,UpdateShowGroup.class}) + private String status; + + private String statusName; + /** + * 办结日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date closeTime; + + /** + * 满意度评价。-1不满意,0基本满意,1非常满意 + */ + private Integer satisfication; + + private String satisficationName; + + /** + * 本条数据所属组织id/所属网格id + */ + private String orgId; + + /** + * agency或者grid + */ + private String orgType; + + /** + * 本条数据所属组织的org_id_path + */ + private String orgIdPath; + /** + * 乐观锁 + */ + @JsonIgnore + private Integer revision; + + /** + * 删除标记 + */ + @JsonIgnore + private String delFlag; + + /** + * 创建人 + */ + @JsonIgnore + private String createdBy; + + /** + * 创建时间 + */ + @JsonIgnore + private Date createdTime; + + /** + * 更新人 + */ + @JsonIgnore + private String updatedBy; + + /** + * 更新时间 + */ + @JsonIgnore + private Date updatedTime; + +} \ No newline at end of file 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 new file mode 100644 index 0000000000..9f6102afff --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/LingshanOfficeHallServiceRecordPageFormDTO.java @@ -0,0 +1,48 @@ +package com.epmet.dto.form.lingshan; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/15 16:31 + */ +@Data +public class LingshanOfficeHallServiceRecordPageFormDTO extends PageFormDTO { + private String orgId; + private String orgType; + /** + * 事项类型 + */ + private String categoryCode; + /** + * 事项说明 + */ + private String content; + /** + * 满意度评价。-1不满意,0基本满意,1非常满意 + */ + private Integer satisfication; + /** + * 办结日期 + */ + // @DateTimeFormat(pattern = "yyyy-MM-dd") + // @JsonFormat(pattern = "yyyy-MM-dd") + private String startDate; + + // @DateTimeFormat(pattern = "yyyy-MM-dd") + // @JsonFormat(pattern = "yyyy-MM-dd") + private String endDate; + + /** + * 未办结:0;已办结:1 + */ + private String status; + + //tokenDto. + private String customerId; + //tokenDto. + private String staffId; +} + 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 new file mode 100644 index 0000000000..8ce453b22d --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingshanOfficeHallServiceRecordController.java @@ -0,0 +1,175 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +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.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +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.service.LingshanOfficeHallServiceRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Date; +import java.util.List; + + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +@Slf4j +@RestController +@RequestMapping("lingshanOfficeHallServiceRecord") +public class LingshanOfficeHallServiceRecordController { + + @Autowired + private LingshanOfficeHallServiceRecordService lingshanOfficeHallServiceRecordService; + + /** + * 分页列表 + * + * @param formDTO + * @return + */ + @PostMapping("page") + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody LingshanOfficeHallServiceRecordPageFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + PageData page = lingshanOfficeHallServiceRecordService.page(formDTO); + return new Result>().ok(page); + } + + /** + * 办事大厅-查看详情 + * + * @param id + * @return + */ + @RequestMapping(value = "detail/{id}", method = {RequestMethod.POST}) + public Result get(@PathVariable("id") String id) { + LingshanOfficeHallServiceRecordDTO data = lingshanOfficeHallServiceRecordService.get(id); + return new Result().ok(data); + } + + /** + * 工作端添加 + * + * @param dto + * @return + */ + @NoRepeatSubmit + @PostMapping("save") + public Result save(@LoginUser TokenDto tokenDto, @RequestBody LingshanOfficeHallServiceRecordDTO dto) { + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setSourceType("gov_pc"); + ValidatorUtils.validateEntity(dto, LingshanOfficeHallServiceRecordDTO.AddShowGroup.class, LingshanOfficeHallServiceRecordDTO.AddInternalGroup.class); + lingshanOfficeHallServiceRecordService.save(dto); + return new Result(); + } + + /** + * 工作端修改 + * + * @param dto + * @return + */ + @NoRepeatSubmit + @PostMapping("update") + public Result update(@LoginUser TokenDto tokenDto, @RequestBody LingshanOfficeHallServiceRecordDTO dto) { + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setSourceType("gov_pc"); + ValidatorUtils.validateEntity(dto, LingshanOfficeHallServiceRecordDTO.UpdateShowGroup.class, LingshanOfficeHallServiceRecordDTO.UpdateInternalGroup.class); + lingshanOfficeHallServiceRecordService.update(dto); + return new Result(); + } + + /** + * 批量删除 + * 单挑删除 + * + * @param ids + * @return + */ + @PostMapping("delete") + public Result delete(@RequestBody List ids) { + if (CollectionUtils.isNotEmpty(ids)) { + lingshanOfficeHallServiceRecordService.delete(ids); + } + return new Result(); + } + + @PostMapping("export") + public void exportEnterprise(@LoginUser TokenDto tokenDto, @RequestBody LingshanOfficeHallServiceRecordPageFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "办事大厅" + DateUtils.format(new Date()) + ".xlsx"; + // 头的策略 + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + // 背景设置为红色 + headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex()); + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + FreezeAndFilter writeHandler = new FreezeAndFilter(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), LingshanOfficeHallServiceRecordDTO.class) + .registerWriteHandler(horizontalCellStyleStrategy) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(writeHandler).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = lingshanOfficeHallServiceRecordService.page(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), LingshanOfficeHallServiceRecordDTO.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("办事大厅列表导出异常export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + + + +} 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 new file mode 100644 index 0000000000..51cc8bc63b --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanOfficeHallServiceRecordDao.java @@ -0,0 +1,28 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.LingshanOfficeHallServiceRecordDTO; +import com.epmet.entity.LingshanOfficeHallServiceRecordEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +@Mapper +public interface LingshanOfficeHallServiceRecordDao extends BaseDao { + + List pageList(@Param("customerId") String customerId, + @Param("orgIdPath") String orgIdPath, + @Param("categoryCode") String categoryCode, + @Param("content") String content, + @Param("satisfication") Integer satisfication, + @Param("startDate") String startDate, + @Param("endDate") String endDate, + @Param("status") String status); +} \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LingshanOfficeHallServiceRecordEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LingshanOfficeHallServiceRecordEntity.java new file mode 100644 index 0000000000..3f649fd6e7 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/LingshanOfficeHallServiceRecordEntity.java @@ -0,0 +1,118 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("lingshan_office_hall_service_record") +public class LingshanOfficeHallServiceRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 租户号 + */ + private String customerId; + + /** + * 工作人员录入:gov_pc;居民端小程序:resi_mp + */ + private String sourceType; + + /** + * 事项类型 + */ + private String categoryCode; + + /** + * 事项说明 + */ + private String content; + + /** + * 申请人所属组织id或者网格id + */ + private String applicantOrgId; + + /** + * agency或者grid + */ + private String applicantOrgType; + + /** + * ORG_ID全路径 + */ + private String applicantOrgIdPath; + + /** + * 申请人所属组织名称 + */ + private String applicantOrgName; + + /** + * 申请人姓名 + */ + private String applicantName; + + /** + * 申请人联系电话 + */ + private String applicantMobile; + + /** + * 申请人身份证号 + */ + private String applicantIdCard; + + /** + * 申请日期 + */ + private Date applicantTime; + + /** + * 办理人姓名 + */ + private String transactorName; + + /** + * 未办结:0;已办结:1 + */ + private String status; + + /** + * 办结日期 + */ + private Date closeTime; + + /** + * 满意度评价。-1不满意,0基本满意,1非常满意 + */ + private Integer satisfication; + + /** + * 本条数据所属组织id/所属网格id + */ + private String orgId; + /** + * agency或者grid + */ + private String orgType; + + /** + * 本条数据所属组织的org_id_path + */ + private String orgIdPath; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/LingshanOfficeHallServiceRecordExportExcel.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/LingshanOfficeHallServiceRecordExportExcel.java new file mode 100644 index 0000000000..2e97bced41 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/LingshanOfficeHallServiceRecordExportExcel.java @@ -0,0 +1,92 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @Description + * @Author yzm + * @Date 2023/5/15 18:24 + */ +@Data +public class LingshanOfficeHallServiceRecordExportExcel { + + /** + * 申请人所属组织名称 + */ + @ExcelProperty(value = "所属组织") + @ColumnWidth(30) + private String applicantOrgName; + + /** + * 类别名称 + * 举例:营业执照服务、食品许可证服务、医疗保险业务、养老保险业务 + */ + @ExcelProperty(value = "事项类型") + @ColumnWidth(25) + private String categoryName; + + /** + * 事项说明 + */ + @ExcelProperty(value = "事项说明") + @ColumnWidth(40) + private String content; + + /** + * 申请人姓名 + */ + @ExcelProperty(value = "申请人") + @ColumnWidth(30) + private String applicantName; + + /** + * 申请人联系电话 + */ + @ExcelProperty(value = "申请人联系电话") + @ColumnWidth(30) + private String applicantMobile; + + /** + * 申请人身份证号 + */ + @ExcelProperty(value = "申请人身份证号") + @ColumnWidth(30) + private String applicantIdCard; + + @ExcelProperty(value = "申请日期") + @ColumnWidth(30) + @JsonFormat(pattern = "yyyy-MM-dd") + private Date applicantTime; + + /** + * 办理人姓名 + */ + @ExcelProperty(value = "办理人") + @ColumnWidth(30) + private String transactorName; + + @ExcelProperty(value = "办理状态") + @ColumnWidth(30) + private String statusName; + /** + * 办结日期 + */ + @ExcelProperty(value = "办结日期") + @ColumnWidth(30) + @JsonFormat(pattern = "yyyy-MM-dd") + private Date closeTime; + + /** + * 满意度评价。-1不满意,0基本满意,1非常满意 + */ + @ExcelProperty(value = "满意度") + @ColumnWidth(25) + private String satisficationName; + +} + diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingshanOfficeHallServiceRecordService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingshanOfficeHallServiceRecordService.java new file mode 100644 index 0000000000..d2f2f96834 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingshanOfficeHallServiceRecordService.java @@ -0,0 +1,70 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.LingshanOfficeHallServiceRecordDTO; +import com.epmet.dto.form.lingshan.LingshanOfficeHallServiceRecordPageFormDTO; +import com.epmet.entity.LingshanOfficeHallServiceRecordEntity; + +import java.util.List; + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +public interface LingshanOfficeHallServiceRecordService extends BaseService { + + /** + * 办事大厅-分页列表 + * + * @param formDTO + * @return PageData + * @author generator + * @date 2023-05-15 + */ + PageData page(LingshanOfficeHallServiceRecordPageFormDTO formDTO); + + /** + * 单条查询 + * + * @param id + * @return LingshanOfficeHallServiceRecordDTO + * @author generator + * @date 2023-05-15 + */ + LingshanOfficeHallServiceRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-15 + */ + void save(LingshanOfficeHallServiceRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-15 + */ + void update(LingshanOfficeHallServiceRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2023-05-15 + */ + void delete(List ids); + + +} \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingshanOfficeHallServiceRecordServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingshanOfficeHallServiceRecordServiceImpl.java new file mode 100644 index 0000000000..a5f3f275e4 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingshanOfficeHallServiceRecordServiceImpl.java @@ -0,0 +1,169 @@ +package com.epmet.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.enums.OrgTypeEnum; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.commons.tools.utils.PidUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dao.LingshanOfficeHallServiceRecordDao; +import com.epmet.dto.LingshanOfficeHallServiceRecordDTO; +import com.epmet.dto.form.lingshan.LingshanOfficeHallServiceRecordPageFormDTO; +import com.epmet.entity.LingshanOfficeHallServiceRecordEntity; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.service.LingshanOfficeHallServiceRecordService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** + * 灵山_办事大厅服务记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-15 + */ +@Service +public class LingshanOfficeHallServiceRecordServiceImpl extends BaseServiceImpl implements LingshanOfficeHallServiceRecordService { + @Autowired + private EpmetAdminOpenFeignClient adminOpenFeignClient; + + + /** + * 办事大厅-分页列表 + * + * @param formDTO + * @return + */ + @Override + public PageData page(LingshanOfficeHallServiceRecordPageFormDTO formDTO) { + if (StringUtils.isBlank(formDTO.getOrgId()) && StringUtils.isBlank(formDTO.getOrgType())) { + formDTO.setOrgId(CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()).getAgencyId()); + formDTO.setOrgType(OrgTypeEnum.AGENCY.getCode()); + } + String orgIdPath = queryOrgIdPath(formDTO.getCustomerId(), formDTO.getStaffId(), formDTO.getOrgId(), formDTO.getOrgType()); + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List resultList = baseDao.pageList(formDTO.getCustomerId(), orgIdPath, formDTO.getCategoryCode(), formDTO.getContent(), formDTO.getSatisfication(), formDTO.getStartDate(), formDTO.getEndDate(), formDTO.getStatus()); + if (CollectionUtils.isNotEmpty(resultList)) { + Result> categoryRes = adminOpenFeignClient.dictMap(DictTypeEnum.LINGSHAN_OFFICE_HALL_SERVICE_RECORD.getCode()); + resultList.forEach(dto -> { + dto.setCategoryName(MapUtils.isNotEmpty(categoryRes.getData()) ? categoryRes.getData().get(dto.getCategoryCode()) : StrConstant.EPMETY_STR); + }); + } + PageInfo pageInfo = new PageInfo<>(resultList); + return new PageData<>(resultList, pageInfo.getTotal()); + } + + /** + * 办事大厅-查看详情 + * + * @param id + * @return + */ + @Override + public LingshanOfficeHallServiceRecordDTO get(String id) { + LingshanOfficeHallServiceRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, LingshanOfficeHallServiceRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(LingshanOfficeHallServiceRecordDTO dto) { + LingshanOfficeHallServiceRecordEntity entity = ConvertUtils.sourceToTarget(dto, LingshanOfficeHallServiceRecordEntity.class); + entity.setStatus(NumConstant.ZERO_STR); + if (StringUtils.isNotBlank(dto.getApplicantOrgId())) { + if (OrgTypeEnum.GRID.getCode().equals(dto.getApplicantOrgType())) { + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getApplicantOrgId()); + entity.setApplicantOrgIdPath(PidUtils.convertPid2OrgIdPath(gridInfoCache.getId(), gridInfoCache.getPids())); + entity.setApplicantOrgName(gridInfoCache.getGridNamePath()); + + // 本条数据属于网格 + entity.setOrgId(gridInfoCache.getId()); + entity.setOrgType(dto.getOrgType()); + entity.setOrgIdPath(entity.getApplicantOrgIdPath()); + } else if (OrgTypeEnum.AGENCY.getCode().equals(dto.getApplicantOrgType())) { + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getApplicantOrgId()); + entity.setApplicantOrgIdPath(PidUtils.convertPid2OrgIdPath(agencyInfoCache.getId(), agencyInfoCache.getPids())); + entity.setApplicantOrgName(agencyInfoCache.getOrganizationName()); + // 本条数据属于组织 + entity.setOrgId(agencyInfoCache.getId()); + entity.setOrgType(dto.getOrgType()); + entity.setOrgIdPath(entity.getApplicantOrgIdPath()); + } + } else { + // 如果申请人所属组织没填写, 本条数据属于当前工作人员所属组织 + entity.setOrgId(CustomerStaffRedis.getStaffInfo(dto.getCustomerId(), EpmetRequestHolder.getLoginUserId()).getAgencyId()); + entity.setOrgType(OrgTypeEnum.AGENCY.getCode()); + entity.setOrgIdPath(CustomerOrgRedis.getOrgIdPath(entity.getOrgId(), entity.getOrgType())); + } + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(LingshanOfficeHallServiceRecordDTO dto) { + LingshanOfficeHallServiceRecordEntity entity = ConvertUtils.sourceToTarget(dto, LingshanOfficeHallServiceRecordEntity.class); + if (StringUtils.isNotBlank(dto.getApplicantOrgId())) { + if (OrgTypeEnum.GRID.getCode().equals(dto.getApplicantOrgType())) { + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getApplicantOrgId()); + entity.setApplicantOrgIdPath(PidUtils.convertPid2OrgIdPath(gridInfoCache.getId(), gridInfoCache.getPids())); + entity.setApplicantOrgName(gridInfoCache.getGridNamePath()); + // 本条数据属于网格 + entity.setOrgId(gridInfoCache.getId()); + entity.setOrgType(dto.getOrgType()); + entity.setOrgIdPath(entity.getApplicantOrgIdPath()); + } else if (OrgTypeEnum.AGENCY.getCode().equals(dto.getApplicantOrgType())) { + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getApplicantOrgId()); + entity.setApplicantOrgIdPath(PidUtils.convertPid2OrgIdPath(agencyInfoCache.getId(), agencyInfoCache.getPids())); + entity.setApplicantOrgName(agencyInfoCache.getOrganizationName()); + // 本条数据属于组织 + entity.setOrgId(agencyInfoCache.getId()); + entity.setOrgType(dto.getOrgType()); + entity.setOrgIdPath(entity.getApplicantOrgIdPath()); + } + } else { + // 如果申请人所属组织没填写, 本条数据属于当前工作人员所属组织 + entity.setOrgId(CustomerStaffRedis.getStaffInfo(dto.getCustomerId(), EpmetRequestHolder.getLoginUserId()).getAgencyId()); + entity.setOrgType(OrgTypeEnum.AGENCY.getCode()); + entity.setOrgIdPath(CustomerOrgRedis.getOrgIdPath(entity.getOrgId(), entity.getOrgType())); + } + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(List ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(ids); + } + + private String queryOrgIdPath(String customerId, String staffId, String orgId, String orgType) { + String orgIdPath = ""; + // 如果没传,默认查询当前工作人员所属组织 + if (StringUtils.isBlank(orgId) && StringUtils.isBlank(orgType)) { + CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, staffId); + orgId = staffInfoCacheResult.getAgencyId(); + orgType = OrgTypeEnum.AGENCY.getCode(); + } + orgIdPath = CustomerOrgRedis.getOrgIdPath(orgId, orgType); + return orgIdPath; + } + + +} \ No newline at end of file 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 new file mode 100644 index 0000000000..2b09eaf521 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanOfficeHallServiceRecordDao.xml @@ -0,0 +1,42 @@ + + + + + + + \ No newline at end of file From 929189c56f841b37443fbb67adf88fc36b88a4bb Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 15 May 2023 20:33:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=81=B5=E5=B1=B1=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E4=B8=AD=E5=A4=AE=E4=B8=80=E6=B3=A2=E4=BB=A3=E7=A0=81=E3=80=82?= =?UTF-8?q?=E8=BF=98=E5=A4=A7=E5=B1=8F=E4=B8=8A=E4=BB=A3=E5=8A=9E=E5=91=98?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E5=8A=9E=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=B2=A1=E5=86=99=EF=BC=8C=E6=98=8E=E5=A4=A9=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/LingShanScreenAgentRstDTO.java | 21 +++ .../result/LingshanServiceAgentAgentList.java | 4 + .../feign/DataAggregatorOpenFeignClient.java | 49 +++++ ...DataAggregatorOpenFeignClientFallback.java | 16 ++ .../LingShanServiceAgentController.java | 32 ++++ .../dao/epmetuser/CustomerStaffDao.java | 10 + .../service/LingShanServiceAgentService.java | 6 + .../service/epmetuser/EpmetUserService.java | 2 + .../epmetuser/impl/EpmetUserServiceImpl.java | 20 +- .../service/govorg/GovOrgService.java | 3 + .../govorg/impl/GovOrgServiceImpl.java | 18 ++ .../impl/LingShanServiceAgentServiceImpl.java | 137 ++++++++++++-- .../mapper/epmetuser/CustomerStaffDao.xml | 19 ++ .../mapper/govorg/CustomerStaffGridDao.xml | 1 + .../LingShanScreenAgentRstDTO.java | 21 +++ .../LingShanScreenServiceRstDTO.java | 20 ++ .../ScreenCatalogueQtyStatsRstDTO.java | 22 +++ .../LingShanAgentServiceController.java | 56 +++++- .../dao/LingshanAgentServiceRecordDao.java | 15 +- .../service/LingShanAgentServiceService.java | 11 +- .../impl/LingShanAgentServiceServiceImpl.java | 178 +++++++++++++++++- .../mapper/LingshanAgentServiceRecordDao.xml | 22 +++ 22 files changed, 648 insertions(+), 35 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanScreenAgentRstDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/LingShanScreenAgentRstDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/LingShanScreenServiceRstDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/ScreenCatalogueQtyStatsRstDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanScreenAgentRstDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanScreenAgentRstDTO.java new file mode 100644 index 0000000000..a4eefe5aa1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingShanScreenAgentRstDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Description 灵山代办员信息 + * @Author wangxianzhang + * @Time 2023/5/15 2:57 PM + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LingShanScreenAgentRstDTO { + + private String agentName; + private String longitude; + private String latitude; + private String mobile; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingshanServiceAgentAgentList.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingshanServiceAgentAgentList.java index 49fa8d30d9..49776b5240 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingshanServiceAgentAgentList.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/LingshanServiceAgentAgentList.java @@ -22,4 +22,8 @@ public class LingshanServiceAgentAgentList { private String mobile; private String idCard; + private String longitude; + + private String latitude; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java index 8d2624af35..db47eb69ca 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java @@ -5,13 +5,16 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.LingshanServiceAgentAgentList; import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO; import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.result.GridLivelyResultDTO; import com.epmet.dataaggre.feign.impl.DataAggregatorOpenFeignClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -40,4 +43,50 @@ public interface DataAggregatorOpenFeignClient { */ @PostMapping(value = "data/aggregator/org/gridlively") Result> grdiLively(@RequestBody GridLivelyFormDTO form); + + /** + * @description: 工作端pc,代办员列表 + * @param pageNo: + * @param pageSize: + * @param orgId: + * @param orgType: + * @param agentName: + * @param mobile: + * @param idCard: + * @return + * @author: WangXianZhang + * @date: 2023/5/9 4:30 PM + */ + @GetMapping("data/aggregator/lingshan/serviceAgent/workpc/agentList") + Result> workPcAgentList(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam(value = "orgId", required = false) String orgId, + @RequestParam(value = "orgType", required = false) String orgType, + @RequestParam(value = "agentName",required = false) String agentName, + @RequestParam(value = "mobile", required = false) Integer mobile, + @RequestParam(value = "idCard", required = false) Integer idCard); + + /** + * @Description: 大屏-代办员数量 + * @param orgId: + * @param orgType: + * @Return com.epmet.commons.tools.utils.Result + * @Author: wangxianzhang + * @Date: 2023/5/15 10:29 AM + */ + @GetMapping("data/aggregator/lingshan/serviceAgent/screen/agentQty") + Result lingshanScreenAgentQty(@RequestParam(value = "orgId", required = false) String orgId, + @RequestParam(value = "orgType", required = false) String orgType); + + /** + * @Description: 大屏:代办员列表 + * @param orgId: + * @param orgType: + * @Return com.epmet.commons.tools.utils.Result> + * @Author: wangxianzhang + * @Date: 2023/5/15 4:57 PM + */ + @GetMapping("data/aggregator/lingshan/serviceAgent/screen/agentList") + Result> screenAgentList(@RequestParam(value = "orgId", required = false) String orgId, + @RequestParam(value = "orgType", required = false) String orgType); } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java index c180033e19..b74bbee020 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.LingshanServiceAgentAgentList; import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO; import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; import com.epmet.dataaggre.dto.govorg.result.GridLivelyResultDTO; @@ -32,4 +33,19 @@ public class DataAggregatorOpenFeignClientFallback implements DataAggregatorOpen public Result> grdiLively(GridLivelyFormDTO form) { return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "grdiLively",form); } + + @Override + public Result lingshanScreenAgentQty(String orgId, String orgType) { + return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "lingshanScreenAgentQty",orgId, orgType); + } + + @Override + public Result> workPcAgentList(Integer pageNo, Integer pageSize, String orgId, String orgType, String agentName, Integer mobile, Integer idCard) { + return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "workPcAgentList",pageNo, pageSize, orgId, orgType, agentName, mobile, idCard); + } + + @Override + public Result> screenAgentList(String orgId, String orgType) { + return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "screenAgentList", orgId, orgType); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/LingShanServiceAgentController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/LingShanServiceAgentController.java index 0a84670f82..1614fd5453 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/LingShanServiceAgentController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/LingShanServiceAgentController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("lingshan/serviceAgent") public class LingShanServiceAgentController { @@ -43,4 +45,34 @@ public class LingShanServiceAgentController { return new Result>().ok(pd); } + /** + * @Description: 大屏-代办员数量 + * @param orgId: + * @param orgType: + * @Return com.epmet.commons.tools.utils.Result + * @Author: wangxianzhang + * @Date: 2023/5/15 10:29 AM + */ + @GetMapping("screen/agentQty") + public Result lingshanScreenAgentQty(@RequestParam(value = "orgId", required = false) String orgId, + @RequestParam(value = "orgType", required = false) String orgType) { + + return new Result().ok(lingShanServiceAgentService.lingshanScreenAgentQty(orgId, orgType)); + } + + /** + * @Description: 大屏:代办员列表 + * @param orgId: + * @param orgType: + * @Return com.epmet.commons.tools.utils.Result> + * @Author: wangxianzhang + * @Date: 2023/5/15 4:57 PM + */ + @GetMapping("screen/agentList") + public Result> screenAgentList(@RequestParam(value = "orgId", required = false) String orgId, + @RequestParam(value = "orgType", required = false) String orgType) { + + List rl = lingShanServiceAgentService.screenAgentList(orgId, orgType); + return new Result>().ok(rl); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index cd6059ed50..617c216415 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -101,4 +101,14 @@ public interface CustomerStaffDao extends BaseDao { @Param("mobile") Integer mobile, @Param("realname") String realname, @Param("idCard") Integer idCard); + + /** + * @Description: 查询网格下具有某角色的工作人员数量 + * @param staffIds: + * @param roleId: + * @Return java.lang.Integer + * @Author: wangxianzhang + * @Date: 2023/5/15 11:21 AM + */ + Integer countStaffQtyByStaffIdsAndRole(@Param("staffIds") Set staffIds, @Param("roleId") String roleId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/LingShanServiceAgentService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/LingShanServiceAgentService.java index 779d4c26b7..6cb2f1c5ec 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/LingShanServiceAgentService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/LingShanServiceAgentService.java @@ -3,6 +3,12 @@ package com.epmet.dataaggre.service; import com.epmet.commons.tools.page.PageData; import com.epmet.dataaggre.dto.epmetuser.result.LingshanServiceAgentAgentList; +import java.util.List; + public interface LingShanServiceAgentService { PageData workPcAgentList(String orgId, String orgType, String agentName, Integer mobile, Integer idCard, Integer pageNo, Integer pageSize); + + Integer lingshanScreenAgentQty(String orgId, String orgType); + + List screenAgentList(String orgId, String orgType); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 53fb0f2880..ec87a71781 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -267,4 +267,6 @@ public interface EpmetUserService { PageData staffListInGridsOfRole(String roleKey, Set staffIds, String agentName, Integer mobile, Integer idCard, Integer pageNo, Integer pageSize); + + Integer staffQtyInGridsOfRole(String roleKeyAgent, Set staffIds); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index e6bfd22670..9e04d840db 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -1155,8 +1155,13 @@ public class EpmetUserServiceImpl implements EpmetUserService, ResultDataResolve public PageData staffListInGridsOfRole(String roleKey, Set staffIds, String agentName, Integer mobile, Integer idCard, Integer pageNo, Integer pageSize) { + String customerId; + if (StringUtils.isBlank(customerId = EpmetRequestHolder.getLoginUserCustomerId())) { + throw new EpmetException(EpmetErrorCode.ERR10005.getCode()); + } + LambdaQueryWrapper rq = new LambdaQueryWrapper<>(); - rq.eq(GovStaffRoleEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); + rq.eq(GovStaffRoleEntity::getCustomerId, customerId); rq.eq(GovStaffRoleEntity::getRoleKey, roleKey); GovStaffRoleEntity role = govStaffRoleDao.selectOne(rq); if (role == null) { @@ -1169,4 +1174,17 @@ public class EpmetUserServiceImpl implements EpmetUserService, ResultDataResolve return new PageData<>(ss, new PageInfo<>(ss).getTotal()); } + + @Override + public Integer staffQtyInGridsOfRole(String roleKey, Set staffIds) { + LambdaQueryWrapper rq = new LambdaQueryWrapper<>(); + rq.eq(GovStaffRoleEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); + rq.eq(GovStaffRoleEntity::getRoleKey, roleKey); + GovStaffRoleEntity role = govStaffRoleDao.selectOne(rq); + if (role == null) { + return 0; + } + + return customerStaffDao.countStaffQtyByStaffIdsAndRole(staffIds, role.getId()); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 1828e4c713..d8ffe1e59b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -14,6 +14,7 @@ import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; +import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import com.epmet.dto.IcNeighborHoodDTO; import javax.servlet.http.HttpServletResponse; @@ -306,4 +307,6 @@ public interface GovOrgService { List getStaffAndItsBelongsGridByAgencyIdPath(String agencyIdPath); Set getStaffIdsInGrid(String gridId); + + List listBelongGridsByStaffId(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 36755471d7..68a8b8dac3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -1554,4 +1554,22 @@ public class GovOrgServiceImpl implements GovOrgService { List es = customerStaffGridDao.selectList(q); return es.stream().map(CustomerStaffGridEntity::getUserId).collect(Collectors.toSet()); } + + /** + * @Description: 一个人多个网格:根据工作人员id查询所属网格id + * @param staffId: + * @Return java.util.List + * @Author: wangxianzhang + * @Date: 2023/5/15 4:39 PM + */ + @Override + public List listBelongGridsByStaffId(String staffId) { + LambdaQueryWrapper q = new LambdaQueryWrapper<>(); + q.eq(CustomerStaffGridEntity::getUserId, staffId); + List staffAndGrids = customerStaffGridDao.selectList(q); + + LambdaQueryWrapper q2 = new LambdaQueryWrapper<>(); + q2.in(CustomerGridEntity::getId, staffAndGrids.stream().map(CustomerStaffGridEntity::getGridId).collect(Collectors.toList())); + return customerGridDao.selectList(q2); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/LingShanServiceAgentServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/LingShanServiceAgentServiceImpl.java index 803baf5578..cf39b5b964 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/LingShanServiceAgentServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/LingShanServiceAgentServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.dataaggre.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.enums.GenderEnum; @@ -14,7 +15,11 @@ import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.RoleKeyConstants; import com.epmet.dataaggre.beans.LingShanAgentServiceStaffAndGrid; import com.epmet.dataaggre.beans.StaffInfoInGridOfRole; +import com.epmet.dataaggre.dao.govorg.CustomerGridDao; +import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao; import com.epmet.dataaggre.dto.epmetuser.result.LingshanServiceAgentAgentList; +import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; +import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; import com.epmet.dataaggre.service.LingShanServiceAgentService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.govorg.GovOrgService; @@ -24,12 +29,13 @@ import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.remote.EpmetUserRemoteService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.sql.Array; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; @Service public class LingShanServiceAgentServiceImpl implements LingShanServiceAgentService, ResultDataResolver { @@ -46,22 +52,17 @@ public class LingShanServiceAgentServiceImpl implements LingShanServiceAgentServ @Autowired private EpmetUserRemoteService epmetUserRemoteService; - @Override - public PageData workPcAgentList(String orgId, String orgType, String agentName, Integer mobile, Integer idCard, - Integer pageNo, Integer pageSize) { - - // 1个人可能属于多个wangge - Map> staffIdAndGridIds = new HashMap<>(); - Set staffIds = new HashSet<>(); - - if (StringUtils.isAnyBlank(orgId, orgType)) { - // 如果前端没选择,那就取当前工作人员所属组织 - LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails(); - orgId = loginUserDetails.getAgencyId(); - orgType = OrgInfoConstant.AGENCY; - } - - // 得到staffIds和staffIdAndGridIds + /** + * @Description: 填充 + * @param orgId: + * @param orgType: + * @param staffIdAndGridIds: + * @param staffIds: + * @Return void + * @Author: wangxianzhang + * @Date: 2023/5/15 10:33 AM + */ + private void fillDatas4AgentQuery(String orgId, String orgType, Map> staffIdAndGridIds, Set staffIds) { if (OrgInfoConstant.AGENCY.equals(orgType)) { // agency AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); @@ -84,6 +85,27 @@ public class LingShanServiceAgentServiceImpl implements LingShanServiceAgentServ staffIdAndGridIds.put(staffId, Arrays.asList(orgId)); } } + } + + @Override + public PageData workPcAgentList(String orgId, String orgType, String agentName, Integer mobile, Integer idCard, + Integer pageNo, Integer pageSize) { + + // 1个人可能属于多个网格,这里用来给页面显示多个网格,逗号分割 + Map> staffIdAndGridIds = new HashMap<>(); + + // 用来进一步查询工作人员 + Set staffIds = new HashSet<>(); + + if (StringUtils.isAnyBlank(orgId, orgType)) { + // 如果前端没选择,那就取当前工作人员所属组织 + LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails(); + orgId = loginUserDetails.getAgencyId(); + orgType = OrgInfoConstant.AGENCY; + } + + // 得到staffIds和staffIdAndGridIds + fillDatas4AgentQuery(orgId, orgType, staffIdAndGridIds, staffIds); // 开始查询staff列表 PageData pd = epmetUserService.staffListInGridsOfRole(RoleKeyConstants.ROLE_KEY_AGENT, staffIds, agentName, mobile, idCard, pageNo, pageSize); @@ -137,5 +159,86 @@ public class LingShanServiceAgentServiceImpl implements LingShanServiceAgentServ return String.join(",", orgNames); } + @Override + public Integer lingshanScreenAgentQty(String orgId, String orgType) { + + // 1个人可能属于多个wangge + Map> staffIdAndGridIds = new HashMap<>(); + Set staffIds = new HashSet<>(); + if (StringUtils.isAnyBlank(orgId, orgType)) { + // 如果前端没选择,那就取当前工作人员所属组织 + LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails(); + orgId = loginUserDetails.getAgencyId(); + orgType = OrgInfoConstant.AGENCY; + } + + // 得到staffIds和staffIdAndGridIds + fillDatas4AgentQuery(orgId, orgType, staffIdAndGridIds, staffIds); + + // 开始查询staff列表 + return epmetUserService.staffQtyInGridsOfRole(RoleKeyConstants.ROLE_KEY_AGENT, staffIds); + } + + @Override + public List screenAgentList(String orgId, String orgType) { + // 1个人可能属于多个wangge + Map> staffIdAndGridIds = new HashMap<>(); + Set staffIds = new HashSet<>(); + + if (StringUtils.isAnyBlank(orgId, orgType)) { + // 如果前端没选择,那就取当前工作人员所属组织 + LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails(); + orgId = loginUserDetails.getAgencyId(); + orgType = OrgInfoConstant.AGENCY; + } + + fillDatas4AgentQuery(orgId, orgType, staffIdAndGridIds, staffIds); + + // 开始查询staff列表 + PageData staffPage = epmetUserService.staffListInGridsOfRole(RoleKeyConstants.ROLE_KEY_AGENT, staffIds, + null, null, null, 1, Integer.MAX_VALUE); + + if (staffPage == null) { + return new ArrayList(); + } + + // 性别&教育字典 + List edus = getResultDataOrReturnNull(adminOpenFeignClient.dictDataList(DictTypeEnum.EDUCATION.getCode()), ServiceConstant.EPMET_ADMIN_SERVER); + Map eduMap = edus.stream().collect(Collectors.toMap(SysDictDataDTO::getDictValue, SysDictDataDTO::getDictLabel)); + + // 转换为dto + List rl = staffPage.getList().stream().map(e -> { + LingshanServiceAgentAgentList d = new LingshanServiceAgentAgentList(); + d.setAgentName(e.getStaffName()); + d.setAgentId(e.getStaffId()); + d.setGender(e.getGender()); + d.setGenderDisplay(GenderEnum.getName(e.getGender().toString())); + d.setAge(e.getAge()); + d.setCulture(e.getCulture()); + if (e.getCulture() != null) { + d.setCultureDisplay(eduMap.get(e.getCulture().toString())); + } + d.setMobile(e.getMobile()); + d.setIdCard(e.getIdCard()); + // 组织名称 + return d; + }).collect(Collectors.toList()); + + // 展开工作人员与网格的对应关系,开始赋值坐标,坐标使用所属网格的坐标,但是一个工作人员可能属于多个网格,有几个网格就复制出来几条工作人员信息,内容重复即可。 + List finalAgentList = rl.stream().flatMap(agent -> { + List gridIdsOfAgent = staffIdAndGridIds.get(agent.getAgentId()); + return gridIdsOfAgent.stream().map(gridId -> { + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(gridId); + LingshanServiceAgentAgentList newOne = ConvertUtils.sourceToTarget(agent, LingshanServiceAgentAgentList.class); + newOne.setLatitude(gridInfo.getLatitude()); + newOne.setLongitude(gridInfo.getLongitude()); + newOne.setGridId(gridId); + newOne.setOrgNamePath(gridInfo.getGridNamePath()); + return newOne; + }); + }).collect(Collectors.toList()); + + return finalAgentList; + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 78ec048218..69a89c0cfc 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -164,6 +164,7 @@ + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml index af5b07332c..099345e615 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml @@ -69,6 +69,7 @@ + + select r.AGENT_ID + , r.GRID_ID + , count(r.PROCESS_STATUS = 1 or null) as unClosedServiceQty + , count(r.PROCESS_STATUS = 3 or null) as closedServiceQty + from lingshan_agent_service_record r + + + r.AGENT_ID in + + #{agentId} + + + and r.DEL_FLAG = 0 + and r.AGENT_ID is not null + and r.AGENT_ID != '' + + group by r.AGENT_ID, r.GRID_ID + + \ No newline at end of file From 937112c4bdee04bb79199b72b3dd48fd3159e432 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 15 May 2023 20:39:42 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=92=8C=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=BB=8F?= =?UTF-8?q?=E7=BA=AC=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java | 3 +++ .../src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java | 3 +++ .../src/main/java/com/epmet/entity/IcHouseEntity.java | 3 +++ .../src/main/java/com/epmet/service/impl/HouseServiceImpl.java | 2 ++ 4 files changed, 11 insertions(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java index cdbf65c799..93735939e8 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java @@ -170,4 +170,7 @@ public class IcHouseDTO implements Serializable { * 加密后的房主身份证 */ private String showOwnerIdCard; + + private String longitude; + private String latitude; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java index aa4e6a999b..46057d6fae 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java @@ -113,4 +113,7 @@ public class IcHouseAddFormDTO implements Serializable { */ private String coding; + private String longitude; + private String latitude; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java index 96e993c865..fe282a9265 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java @@ -136,4 +136,7 @@ public class IcHouseEntity extends BaseEpmetEntity { * 房屋可编辑编码 */ private String coding; + + private String longitude; + private String latitude; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 92fb0d2116..d47c6e0132 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -238,6 +238,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class); icHouseDTO.setId(formDTO.getHouseId()); + icHouseDTO.setLatitude(formDTO.getLatitude()); + icHouseDTO.setLongitude(formDTO.getLongitude()); icHouseDTO.setCustomerId(customerId); icHouseDTO.setRentFlag(formDTO.getRentFlag()); icHouseDTO.setHouseTypeName(HouseTypeEnums.getTypeValue(formDTO.getHouseType()));