From 84b48469a1092f69e9296f932ffa631fb8254626 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 21 Jun 2022 13:42:45 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DangerousChemicalsImportListener.java | 80 +++++++------------ .../epmet/model/DangerousChemicalsModel.java | 5 +- 2 files changed, 31 insertions(+), 54 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java index fa635505d9..6dd5fcb893 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsImportListener.java @@ -3,14 +3,18 @@ package com.epmet.model; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO; import com.epmet.entity.IcDangerousChemicalsEntity; +import com.epmet.excel.IcCityManagementExcel; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.service.CoverageService; import com.epmet.service.IcDangerousChemicalsService; @@ -54,58 +58,30 @@ public class DangerousChemicalsImportListener extends AnalysisEventListener NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("企业名称长度超出50字限制"); - errorRows.add(row); - return; - } - if (data.getPrincipalMobile().trim().length() > NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("联系电话长度超出50字限制"); - errorRows.add(row); - return; - } - if (data.getAddress().trim().length() > NumConstant.FIFTY){ - DangerousChemicalsModel.RowRemarkMessage row = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); - row.setRowNum(rowNum); - row.setErrorInfo("经营地址长度超出50字限制"); - errorRows.add(row); - return; - } - IcDangerousChemicalsEntity e = ConvertUtils.sourceToTarget(data, IcDangerousChemicalsEntity.class); - e.setSourceType("import"); - e.setAgencyId(agencyInfo.getId()); - e.setCustomerId(agencyInfo.getCustomerId()); - e.setAgencyIdPath(agencyInfo.getPids().equals(NumConstant.ZERO_STR) || agencyInfo.getPids().equals("") ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); - insertList.add(e); - if (insertList.size() == NumConstant.ONE_HUNDRED){ - execPersist(); + try { + ValidatorUtils.validateEntity(data); + IcDangerousChemicalsEntity e = ConvertUtils.sourceToTarget(data, IcDangerousChemicalsEntity.class); + e.setSourceType("import"); + e.setAgencyId(agencyInfo.getId()); + e.setCustomerId(agencyInfo.getCustomerId()); + e.setAgencyIdPath(agencyInfo.getPids().equals(NumConstant.ZERO_STR) || agencyInfo.getPids().equals("") ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); + insertList.add(e); + if (insertList.size() == NumConstant.ONE_HUNDRED){ + execPersist(); + } + }catch (Exception e){ + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【重点危化品企业导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + DangerousChemicalsModel.RowRemarkMessage errorRow = ConvertUtils.sourceToTarget(data, DangerousChemicalsModel.RowRemarkMessage.class); + errorRow.setRowNum(rowNum); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); } - } @Override @@ -126,7 +102,7 @@ public class DangerousChemicalsImportListener extends AnalysisEventListener statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(16); //企业类别字典数据 - List dictList = coverageService.dictMap(agencyInfo.getCustomerId(), "dangerous_chemicals"); + List dictList = coverageService.dictMap(agencyInfo.getCustomerId(), CoveragePlaceTypeEnum.DANGEROUS_CHEMICALS.getCode()); Map dictMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); insertList.forEach(i -> { statusMap.forEach((k,v) -> { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java index a56c947429..b74ac10121 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/DangerousChemicalsModel.java @@ -16,12 +16,12 @@ import javax.validation.constraints.NotBlank; @Data public class DangerousChemicalsModel { - @NotBlank(message = "企业名称为必填项") + @NotBlank(message = "企业名称不能为空") @Length(max = 50,message = "企业名称长度超出50字限制") @ExcelProperty(value = "企业名称") private String name; - @NotBlank(message = "企业类型为必填项") + @NotBlank(message = "企业类型不能为空") @ExcelProperty(value = "企业类型") private String categoryName; @@ -38,6 +38,7 @@ public class DangerousChemicalsModel { @ExcelProperty(value = "联系电话") private String principalMobile; + @NotBlank(message = "经营地址不能为空") @Length(max = 50,message = "经营地址长度超出50字限制") @ExcelProperty(value = "经营地址") private String address; From 35589acd82e416cae5aa17e03cd69ce0038caf75 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 21 Jun 2022 14:34:57 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E9=87=8D=E7=82=B9=E5=9C=BA=E6=89=80?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/EnterprisePageFormDTO.java | 64 +++++++++++++ .../epmet/dto/result/EnterpriseDetailDTO.java | 9 ++ .../controller/IcEnterpriseController.java | 96 ++++++++++++++++++- .../java/com/epmet/dao/IcEnterpriseDao.java | 19 +++- .../com/epmet/entity/IcEnterpriseEntity.java | 7 ++ .../epmet/excel/EnterpriseExportExcelDTO.java | 94 ++++++++++++++++++ .../epmet/service/IcEnterpriseService.java | 14 +++ .../service/impl/IcEnterpriseServiceImpl.java | 61 +++++++++++- .../main/resources/mapper/IcEnterpriseDao.xml | 57 +++++++++++ .../IcEnterprisePatrolAttachmentDao.xml | 11 +-- 10 files changed, 420 insertions(+), 12 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java new file mode 100644 index 0000000000..3c6c45d445 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePageFormDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.form; + + +import lombok.Data; + +import java.io.Serializable; + +/** + * 企事业单位 + */ +@Data +public class EnterprisePageFormDTO implements Serializable { + /** + * 场所区域 + */ + private String gridId; + /** + * 场所类型 + */ + private String placeType; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 规模 + */ + private String scale; + + /** + * 联系电话 + */ + private String mobile; + + /** + * 巡查结果:0:合格 1:不合格 + */ + private String result; + + /** + * 隐患明细 + */ + private String detailed; + + + private Integer pageNo = 1; + private Integer pageSize = 20; + + /** + * 列表查询默认分页 + * 导出不分页 + */ + private Boolean pageFlag; + //tokenDto.customerId + private String customerId; + //tokenDto.userId + private String currentStaffId; + /** + * 当前登录用户的所属组织id + */ + private String staffAgencyId; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java index c248c9ffee..f42ea2303e 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java @@ -1,15 +1,19 @@ package com.epmet.dto.result; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 场所详情 */ @Data public class EnterpriseDetailDTO implements Serializable { + private String enterpriseId; + /** * 网格Id【场所区域】 */ @@ -95,4 +99,9 @@ public class EnterpriseDetailDTO implements Serializable { */ private String latestResult; + /** + * 最新检查时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date latestPatrolTime; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java index ed4e93f49a..3cdfb2f243 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java @@ -1,15 +1,30 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; +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.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; import com.epmet.dto.form.EnterprisePatrolFormDTO; import com.epmet.dto.result.EnterpriseDetailDTO; import com.epmet.dto.result.EnterprisePatrolResultDTO; +import com.epmet.excel.EnterpriseExportExcelDTO; import com.epmet.service.IcEnterpriseService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -19,8 +34,11 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; import java.net.URLEncoder; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @@ -30,6 +48,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-06-17 */ +@Slf4j @RestController @RequestMapping("enterprise") public class IcEnterpriseController { @@ -53,6 +72,67 @@ public class IcEnterpriseController { return new Result().ok(map); } + /** + * 企事业单位列表查询 + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("list") + public Result> list(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePageFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setPageFlag(true); + return new Result>().ok(icEnterpriseService.list(formDTO)); + } + + /** + * 企事业单位列表导出 + * @param tokenDto + * @param formDTO + * @param response + * @return + * @throws IOException + */ + @PostMapping("export") + public void exportEnterprise(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePageFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setPageFlag(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "企事业单位" + DateUtils.format(new Date()) + ".xlsx"; + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), EnterpriseExportExcelDTO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icEnterpriseService.list(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), EnterpriseExportExcelDTO.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(); + } + } + } + + + /** * 场所详情 * @@ -65,10 +145,20 @@ public class IcEnterpriseController { return new Result().ok(icEnterpriseService.queryEnterpriseDetail(tokenDto.getCustomerId(), enterpriseId)); } - /** - * 下载社区自组织导入模板 + * 企事业单位-删除场所 * + * @param enterpriseId + * @return + */ + @PostMapping("delete/{enterpriseId}") + public Result delete(@PathVariable("enterpriseId") String enterpriseId) { + icEnterpriseService.delete(enterpriseId); + return new Result(); + } + + /** + * 企事业单位导入模板 * @param response * @throws IOException */ @@ -80,7 +170,7 @@ public class IcEnterpriseController { response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("企事业单位导入模板", "UTF-8") + ".xlsx"); - InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/enterprise_patrol.xlsx"); + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/enterprise_patrol_import_tem.xlsx"); try { ServletOutputStream os = response.getOutputStream(); IOUtils.copy(is, os); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java index 5dd0b2c826..d2d1d19318 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseDao.java @@ -1,8 +1,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.EnterprisePageFormDTO; +import com.epmet.dto.result.EnterpriseDetailDTO; import com.epmet.entity.IcEnterpriseEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; /** * 企事业单位表 @@ -12,5 +18,16 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcEnterpriseDao extends BaseDao { - + + int updateLatestPatrol(@Param("enterpriseId") String enterpriseId, + @Param("updatedTime")Date updatedTime, + @Param("result")String result, + @Param("userId")String userId); + + /** + * 企事业单位列表 + * @param formDTO + * @return + */ + List selectList(EnterprisePageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java index 76d6d69a90..d022fabf3d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseEntity.java @@ -5,6 +5,8 @@ import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; + /** * 企事业单位表 * @@ -92,4 +94,9 @@ public class IcEnterpriseEntity extends BaseEpmetEntity { * 最新巡查结果【0:合格 1:不合格】 */ private String latestResult; + + /** + * 最新检查时间 + */ + private Date latestPatrolTime; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java new file mode 100644 index 0000000000..213e0c294b --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseExportExcelDTO.java @@ -0,0 +1,94 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * 企事业单位导出excel + */ +@Data +public class EnterpriseExportExcelDTO { + /** + * 场所类型:来源于ic_coverage_category_dict + */ + @ExcelIgnore + private String placeType; + + /** + * 场所类型名称 + */ + @ExcelProperty(value = "场所类型") + @ColumnWidth(25) + private String placeTypeName; + + + /** + * 网格所属的组织Id + */ + @ExcelIgnore + private String agencyId; + + @ExcelProperty(value = "所属组织") + @ColumnWidth(25) + private String agencyName; + + + /** + * 网格Id【场所区域】 + */ + @ExcelIgnore + private String gridId; + + @ExcelProperty(value = "场所区域") + @ColumnWidth(25) + private String gridName; + + /** + * 场所名称 + */ + @ExcelProperty(value = "场所名称") + @ColumnWidth(25) + private String placeOrgName; + + /** + * 场所地址 + */ + @ExcelProperty(value = "场所地址") + @ColumnWidth(30) + private String address; + + /** + * 字典value,场所规模【 + * 0:10人以下 + * 1:10-20人 + * 2:21-40人 + * 3:41-100人 + * 4:100人以上】 + */ + @ExcelIgnore + private String scale; + + /** + * 规模名称 + */ + @ExcelProperty(value = "规模") + @ColumnWidth(15) + private String scaleName; + + + /** + * 场所负责人 + */ + @ExcelProperty(value = "负责人") + @ColumnWidth(20) + private String personInCharge; + + /** + * 负责人电话 + */ + @ExcelProperty(value = "联系电话") + @ColumnWidth(20) + private String mobile; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java index 9cd5260728..168a7002f4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java @@ -3,6 +3,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; import com.epmet.dto.form.EnterprisePatrolFormDTO; import com.epmet.dto.result.EnterpriseDetailDTO; import com.epmet.dto.result.EnterprisePatrolResultDTO; @@ -50,4 +51,17 @@ public interface IcEnterpriseService extends BaseService { */ EnterpriseDetailDTO queryEnterpriseDetail(String customerId, String enterpriseId); + /** + * 企事业单位-删除 + * @param enterpriseId + * @return + */ + void delete(String enterpriseId); + + /** + * 企事业单位列表 + * @param formDTO + * @return + */ + PageData list(EnterprisePageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java index d47c477c3c..d100120311 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java @@ -3,6 +3,7 @@ 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.CommonOperateTypeEnum; import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum; @@ -10,6 +11,7 @@ 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.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; @@ -19,6 +21,7 @@ import com.epmet.dao.IcEnterpriseDao; import com.epmet.dao.IcEnterprisePatrolAttachmentDao; import com.epmet.dao.IcEnterprisePatrolRecordDao; import com.epmet.dto.form.EnterpriseFormDTO; +import com.epmet.dto.form.EnterprisePageFormDTO; import com.epmet.dto.form.EnterprisePatrolFormDTO; import com.epmet.dto.result.EnterpriseDetailDTO; import com.epmet.dto.result.EnterprisePatrolResultDTO; @@ -27,6 +30,8 @@ import com.epmet.entity.IcEnterprisePatrolAttachmentEntity; import com.epmet.entity.IcEnterprisePatrolRecordEntity; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.service.IcEnterpriseService; +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; @@ -90,7 +95,9 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl list(EnterprisePageFormDTO formDTO) { + //查询当前登录用的所属组织 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getCurrentStaffId()); + if (null == staffInfo || StringUtils.isBlank(staffInfo.getAgencyId())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询工作人员信息异常", "查询工作人员信息异常"); + } + //本组织及下级 + formDTO.setStaffAgencyId(staffInfo.getAgencyId()); + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getPageFlag()); + List list = baseDao.selectList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + if (!org.springframework.util.CollectionUtils.isEmpty(list)) { + //规模名称 + Result> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode()); + Map dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>(); + for (EnterpriseDetailDTO detailDTO : list) { + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(detailDTO.getGridId()); + if (null != gridInfoCache) { + detailDTO.setGridName(gridInfoCache.getGridName()); + detailDTO.setAgencyName(gridInfoCache.getAgencyName()); + } + String placeTypeName = coverageCategoryDictDao.selectCategoryName(formDTO.getCustomerId(), CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(), detailDTO.getPlaceType()); + detailDTO.setPlaceTypeName(placeTypeName); + detailDTO.setScaleName(dictMap.containsKey(detailDTO.getScale()) ? dictMap.get(detailDTO.getScale()) : StrConstant.EPMETY_STR); + } + } + return new PageData<>(list, pageInfo.getTotal()); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml index 51c5356717..3079f9fc48 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml @@ -27,5 +27,62 @@ + + update ic_enterprise + set LATEST_RESULT = #{result}, + UPDATED_BY = #{userId}, + UPDATED_TIME=NOW(), + LATEST_PATROL_TIME = #{updatedTime} + WHERE ID = #{enterpriseId} + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml index 610b640b33..7fcba55fd7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml @@ -23,13 +23,10 @@ - - update ic_enterprise_patrol_attachment - set del_flag='1', - UPDATED_TIME=now(), - UPDATED_BY={staffId} - where PATROL_ID=#{patrolId} - + + delete from ic_enterprise_patrol_attachment + where PATROL_ID = #{patrolId} + SELECT + so.ORG_ID as agencyId, so.ORGANIZATION_NAME AS organizationName, so.CATEGORY_CODE AS categoryCode, so.ORGANIZATION_PERSON_COUNT AS organizationPersonCount, @@ -63,7 +65,7 @@ FROM ic_community_self_organization so WHERE so.DEL_FLAG = 0 - AND so.ORG_ID = #{agencyId} + AND (so.ORG_ID = #{agencyId} or so.PIDS like concat('%',#{agencyId},'%') ) AND so.CUSTOMER_ID = #{customerId} From f1f038e140260bcf3d9449b31e70ce40b30b2828 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 21 Jun 2022 15:48:31 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E7=BB=84=E7=BB=87=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E5=BF=97=E6=84=BF=E8=80=85=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E9=87=8C=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/ResiVolunteerSelectDTO.java | 30 +++++++++++++ .../controller/IcResiUserController.java | 15 ++++++- .../com/epmet/service/IcResiUserService.java | 9 ++++ .../service/impl/IcResiUserServiceImpl.java | 42 ++++++++++++++++++- 4 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java new file mode 100644 index 0000000000..8eca42b0f2 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiVolunteerSelectDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + + +import lombok.Data; + +import java.io.Serializable; + +/** + * 当前组织下,居民信息里的志愿者列表 + * 下拉框可用 + */ +@Data +public class ResiVolunteerSelectDTO implements Serializable { + /** + * 下拉框显示值 + * 尹作梅(15764229697) + */ + private String label; + private String value; + private String icResiUserId; + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 8e9e6a41c7..641f5725ca 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -1165,7 +1165,7 @@ public class IcResiUserController implements ResultDataResolver { /** * 获取组织下的志愿者 - * + * 居民信息里的志愿者 * @Param formDTO * @Return {@link Result>} * @Author zhaoqifeng @@ -1188,4 +1188,17 @@ public class IcResiUserController implements ResultDataResolver { public Result> getUserId(@PathVariable("icUserId") String icUserId) { return new Result>().ok(icResiUserService.getUserId(icUserId)); } + + /** + * 居民信息里的志愿者 + * 社区自组织-添加成员可用 + * @Param formDTO + * @Return {@link Result>} + * @Author zhaoqifeng + * @Date 2022/6/16 15:22 + */ + @PostMapping("volunteer-list") + public Result> queryVolunteerList(@LoginUser TokenDto tokenDto) { + return new Result>().ok(icResiUserService.queryVolunteerList(tokenDto.getCustomerId(), tokenDto.getUserId())); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 3ef76601bc..e79dc5fc27 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -436,4 +436,13 @@ public interface IcResiUserService extends BaseService { * @Date 2022/6/16 15:30 */ List getUserId(String icResiUserId); + + /** + * 居民信息里的志愿者 + * 社区自组织-添加成员可用 + * @param customerId + * @param userId + * @return + */ + List queryVolunteerList(String customerId, String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index a7d1183196..a90c766b8f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -2478,7 +2478,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl queryVolunteerList(String customerId, String userId) { + CustomerStaffInfoCacheResult staffInfo=CustomerStaffRedis.getStaffInfo(customerId,userId); + if (null == staffInfo || StringUtils.isBlank(staffInfo.getAgencyId())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"查询当前登录用户信息异常"); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getCustomerId, customerId); + wrapper.and(wq -> wq.eq(IcResiUserEntity::getAgencyId, staffInfo.getAgencyId()).or().like(IcResiUserEntity::getPids, staffInfo.getAgencyId())); + wrapper.eq(IcResiUserEntity::getIsVolunteer, NumConstant.ONE_STR); + wrapper.eq(IcResiUserEntity::getStatus, NumConstant.ZERO_STR); + //只查这几列吧 + wrapper.select(IcResiUserEntity::getId, IcResiUserEntity::getName, IcResiUserEntity::getMobile); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + ResiVolunteerSelectDTO dto = new ResiVolunteerSelectDTO(); + dto.setValue(item.getId()); + dto.setIcResiUserId(item.getId()); + dto.setMobile(item.getMobile()); + dto.setName(item.getName()); + if (StringUtils.isNotBlank(item.getMobile())) { + dto.setLabel(item.getName().concat("(").concat(item.getMobile().concat(")"))); + } else { + dto.setLabel(item.getName()); + } + return dto; + }).collect(Collectors.toList()); + } + /** * 根据身份证获取居民角色(目前只有是否是志愿者) * From cef8191af03fe0b811b08d88e3d05a80835944a2 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 21 Jun 2022 15:57:16 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E3=80=905=E5=A4=A7=E5=9B=BE=E5=B1=82?= =?UTF-8?q?=E3=80=91=E5=8F=AF=E8=A7=86=E5=8C=96-=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=BF=98=E4=BA=86=E5=8A=A0pageData?= =?UTF-8?q?=E5=B1=82=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dataaggre/controller/CoverageController.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java index 4e77d73bff..98c4885046 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java @@ -1,9 +1,11 @@ package com.epmet.dataaggre.controller; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.dto.govorg.form.CoverageAnalisisDataListFormDTO; import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; import com.epmet.dataaggre.service.CoverageService; +import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; @@ -28,7 +30,7 @@ public class CoverageController { * @return */ @RequestMapping("dataList") - public Result> dataList(@RequestBody CoverageAnalisisDataListFormDTO input) { + public Result> dataList(@RequestBody CoverageAnalisisDataListFormDTO input) { List coverageTypes = input.getCoverageTypes(); List categoryKeys = input.getCategoryKeys(); if (CollectionUtils.isEmpty(coverageTypes)) { @@ -37,7 +39,8 @@ public class CoverageController { List l = coverageService.analysisDataList(coverageTypes, categoryKeys, input.getSearch(), input.getPageNo(), input.getPageSize(), input.getIsPage()); - return new Result>().ok(l); + PageInfo pageInfo = new PageInfo<>(l); + return new Result>().ok(new PageData<>(l, pageInfo.getTotal())); } } From 41f3eff2cd0251c3b575cb755cef8926ee11cc37 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 21 Jun 2022 16:48:37 +0800 Subject: [PATCH 09/14] pid --- .../com/epmet/commons/tools/dto/result/OptionResultDTO.java | 2 +- .../java/com/epmet/service/impl/CustomerGridServiceImpl.java | 1 + .../src/main/resources/mapper/CustomerGridDao.xml | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java index fa96252e3b..562e1933fa 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java @@ -23,7 +23,7 @@ public class OptionResultDTO implements Serializable { private List children; private Boolean usableFlag; private String type; - + private String pid; /** * desc:递归获取当前节点的 所有子节点 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 5e7aa468ff..431200b560 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -922,6 +922,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl Date: Tue, 21 Jun 2022 16:53:46 +0800 Subject: [PATCH 10/14] enterpriseId --- .../src/main/resources/mapper/IcEnterpriseDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml index 3079f9fc48..3d972d79f9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml @@ -38,7 +38,7 @@