diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java index 6c7ea48907..b5b7e96e09 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/api/yt/OrgData.java @@ -74,6 +74,19 @@ public class OrgData implements Serializable { */ private String unifiedSocialCreditId; + /** + * 上级ID + */ + private String pid; + /** + * orgId全路径 + */ + private String pids; + + /** + * 上级组织名 + */ + private String parentOrgName; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java index 9f0357a1d7..f13cef1bb6 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/GetListSocietyOrgFormDTO.java @@ -57,4 +57,9 @@ public class GetListSocietyOrgFormDTO implements Serializable { //token中userId所属组织Id private String agencyId; + /** + * resi:居民端 + */ + private String app; + } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java index 3267ef36bb..89159c015b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java @@ -142,6 +142,7 @@ public class IcSocietyOrgController implements ResultDataResolver { public Result getList(@LoginUser TokenDto tokenDto, @RequestBody GetListSocietyOrgFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setApp(tokenDto.getApp()); return new Result().ok(societyOrgService.getList(formDTO)); } @@ -171,7 +172,7 @@ public class IcSocietyOrgController implements ResultDataResolver { // formDTO.setIsPage(false); // GetListSocietyOrgResultDTO list = societyOrgService.getList(formDTO); // ExcelUtils.exportExcelToTarget(response, null, list.getList(), IcSocietyOrgExportExcel.class); - + formDTO.setApp(tokenDto.getApp()); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); formDTO.setIsPage(false); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java index c45a4aeadc..4ef1610fd0 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java @@ -24,6 +24,7 @@ import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO; @@ -95,7 +96,7 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl liveRecList(TokenDto tokenDto,Map map) { if (!map.containsKey("actId") || StringUtils.isEmpty(map.get("actId"))) { logger.warn("传参中没有actId,或者actId为空,userId:" + tokenDto.getUserId() + "客户id:" + tokenDto.getCustomerId()); - throw new RenException("actId不能为空"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"actId不能为空","活动id不能为空"); } // 数据汇总 ResiActLiveRecResultDTO resultDto = new ResiActLiveRecResultDTO(); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java index 063064f9cd..013ea62d1c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcSocietyOrgServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import com.alibaba.excel.EasyExcel; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -148,10 +149,10 @@ public class IcSocietyOrgServiceImpl extends BaseServiceImpl needInsert = new ArrayList<>(); + // 根组织 + OrgData rootOrg = YantaiApi.getOuInfoByOuGuid(organizationId); + if (null == rootOrg){ + log.error("未查询到根组织:"+organizationId); + return true; + } + rootOrg.setPid(""); + rootOrg.setPids(""); + rootOrg.setNameOfOrganization(""); + needInsert.add(rootOrg); List data = YantaiApi.getChildOuInfoByGuid(organizationId); if (CollectionUtils.isNotEmpty(data)){ - List needInsert = new ArrayList<>(); data.forEach(d -> { + d.setPid(organizationId); + d.setPids(organizationId.concat(":").concat(d.getOrganizationId())); + d.setNameOfOrganization(rootOrg.getNameOfOrganization()); needInsert.add(d); - disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert); + disposeYanTaiSyncOrg(d,needInsert); }); List entities = needInsert.stream().map(m -> { DataSyncOrgDataEntity entity = ConvertUtils.sourceToTarget(m, DataSyncOrgDataEntity.class); entity.setCustomerId(YT_CUSTOMER_ID); - entity.setPid(""); - entity.setParentOrgName(""); - entity.setPids(""); return entity; }).collect(Collectors.toList()); dataSyncOrgDataService.insertBatch(entities, NumConstant.ONE_HUNDRED); @@ -126,12 +146,15 @@ public class DataSyncUserAndOrgServiceImpl implements DataSyncUserAndOrgService return false; } - public void disposeYanTaiSyncOrg(String organizationId, List needInsert){ - List data = YantaiApi.getChildOuInfoByGuid(organizationId); + public void disposeYanTaiSyncOrg(OrgData orgData, List needInsert){ + List data = YantaiApi.getChildOuInfoByGuid(orgData.getOrganizationId()); if (CollectionUtils.isNotEmpty(data)){ - needInsert.addAll(data); data.forEach(d -> { - disposeYanTaiSyncOrg(d.getOrganizationId(),needInsert); + d.setPid(orgData.getOrganizationId()); + d.setPids(orgData.getPids().concat(":").concat(d.getOrganizationId())); + d.setNameOfOrganization(orgData.getNameOfOrganization()); + needInsert.add(d); + disposeYanTaiSyncOrg(d,needInsert); }); } } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java index b0b0529b62..b9f2a0eca4 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncOrgDataDao.java @@ -24,4 +24,6 @@ public interface DataSyncOrgDataDao extends BaseDao { List queryList(@Param("pid") String pid); List getAllList(@Param("customerId") String customerId); + + Integer deleteByCustomerId(@Param("customerId")String customerId); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java index f1bc42e2e8..b36d45240b 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/yantai/DataSyncUserDataDao.java @@ -38,4 +38,7 @@ public interface DataSyncUserDataDao extends BaseDao { @Param("staffId")String staffId, @Param("name")String name, @Param("mobile")String mobile); + + Integer deleteByCustomerId(@Param("customerId")String customerId); + } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java index 3a3d40fe2d..72b77a4888 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/DataSyncOrgDataService.java @@ -75,4 +75,6 @@ public interface DataSyncOrgDataService extends BaseService + + delete from data_sync_org_data + where customer_id = #{customerId} + and del_flag = 0 + limit 1000 + @@ -37,7 +43,7 @@ else o.ORGANIZATIO_NABBREVIATION end)as orgName, u.USER_NAME AS userName, - u.TELEPHONE_NUMBER AS telephoneNumber, + u.MOBILE_TELEPHONE_NUMBER AS telephoneNumber, u.GENDER AS gender, u.`STATUS` AS status, IFNULL(u.STAFF_ID,'') AS staffId, diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcEnterpriseChangeRecordDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcEnterpriseChangeRecordDTO.java new file mode 100644 index 0000000000..b965382a6f --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcEnterpriseChangeRecordDTO.java @@ -0,0 +1,144 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@Data +public class IcEnterpriseChangeRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + /** + * 网格所属的组织Id + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String agencyPids; + + /** + * 场所类型:来源于ic_coverage_category_dict + */ + private String placeType; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 场所地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 字典value,场所规模【 +0:10人以下 +1:10-20人 +2:21-40人 +3:41-100人 +4:100人以上】 + */ + private String scale; + + /** + * 场所负责人 + */ + private String personInCharge; + + /** + * 负责人电话 + */ + private String mobile; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 最新巡查结果【0:合格 1:不合格】 + */ + private String latestResult; + + /** + * 最新检查时间 + */ + private Date latestPatrolTime; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 原始记录id + */ + private String originId; + + /** + * 操作类型,upd,del + */ + private String type; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java index 4c32424b09..e2022b1420 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseListFormDTO.java @@ -16,6 +16,28 @@ public class IcHouseListFormDTO extends PageFormDTO { private static final long serialVersionUID = -1L; + /** + * 10.24需求http://zentao.elinkservice.cn/story-view-710.html + * 小区id + */ + private String neighborHoodId; + /** + * 10.24需求http://zentao.elinkservice.cn/story-view-710.html + * 新增楼栋id + */ + private String buildingId; + /** + * 10.24需求http://zentao.elinkservice.cn/story-view-710.html + * 新增单元id + */ + private String buildingUnitId; + /** + * 10.24需求http://zentao.elinkservice.cn/story-view-710.html + * 新增:房号 + */ + private String houseId; + + /** * 组织类别 */ @@ -51,14 +73,6 @@ public class IcHouseListFormDTO extends PageFormDTO { * 房屋状态 【1:出租 0:自住 2:闲置 3:未出售】 */ private String rentFlag; - /** - * 楼栋ID - */ - private String buildingId; - /** - * 小区ID - */ - private String neighborHoodId; /** * 搜索关键词,社区查询,搜索输入的关键词 diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/NeighborHoodOptionFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/NeighborHoodOptionFormDTO.java new file mode 100644 index 0000000000..dbb6177931 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/NeighborHoodOptionFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2022/10/25 15:44 + */ +@Data +public class NeighborHoodOptionFormDTO extends PageFormDTO { + private String agencyId; + private String gridId; + private String neighborHoodName; + + /** + * 当前登录用户:: + */ + private String staffId; + private String customerId; +} + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseChangeRecordController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseChangeRecordController.java new file mode 100644 index 0000000000..6865c9dbe3 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseChangeRecordController.java @@ -0,0 +1,46 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; +import com.epmet.service.IcEnterpriseChangeRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.Map; + + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@RestController +@RequestMapping("icEnterpriseChangeRecord") +public class IcEnterpriseChangeRecordController { + + @Autowired + private IcEnterpriseChangeRecordService icEnterpriseChangeRecordService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = icEnterpriseChangeRecordService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { + IcEnterpriseChangeRecordDTO data = icEnterpriseChangeRecordService.get(id); + return new Result().ok(data); + } + + @RequestMapping("history/{originId}") + public Result> page(@PathVariable("originId") String originId, @RequestParam Map params) { + params.put("originId", originId); + PageData page = icEnterpriseChangeRecordService.page(params); + return new Result>().ok(page); + } + +} 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 dba64a0964..01e3778203 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 @@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; import com.epmet.dto.form.EnterpriseFormDTO; import com.epmet.dto.form.EnterprisePageFormDTO; import com.epmet.dto.form.EnterprisePatrolFormDTO; @@ -100,6 +101,33 @@ public class IcEnterpriseController implements ResultDataResolver { return new Result>().ok(icEnterpriseService.list(formDTO)); } + /** + * 操作日志基础表 + * + * @param params + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/8/16 16:52 + */ + @RequestMapping("page") + public Result> page(@LoginUser TokenDto tokenDto, @RequestParam Map params){ + EnterprisePageFormDTO formDTO = new EnterprisePageFormDTO(); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + formDTO.setPageFlag(true); + formDTO.setPageNo(Integer.parseInt(params.get("page"))); + formDTO.setPageSize(Integer.parseInt(params.get("limit"))); + formDTO.setPlaceOrgName(params.get("placeOrgName")); + formDTO.setMobile(params.get("mobile")); + formDTO.setGridId(params.get("gridId")); + formDTO.setPlaceType(params.get("placeType")); + formDTO.setScale(params.get("scale")); + formDTO.setResult(params.get("result")); + + PageData page = icEnterpriseService.list(formDTO); + return new Result>().ok(page); + } + /** * 企事业单位列表导出 * @param tokenDto diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java index f44e52c44f..a8cf04b4cb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java @@ -39,6 +39,7 @@ import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.form.IcNeighborHoodAddFormDTO; import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.result.BuildingResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -151,6 +152,21 @@ public class IcNeighborHoodController { return new Result>().ok(icNeighborHoodService.getNeighborHoodOptions(dto.getAgencyId(), dto.getGridId(),tokenDto.getUserId(),tokenDto.getCustomerId())); } + /** + * 入参:gridId、agencyId + * 返回当前组织及下级下的所有小区 + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("neighborhood-options") + public Result> queryNeighborHoodOptions(@LoginUser TokenDto tokenDto, @RequestBody NeighborHoodOptionFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + List list=icNeighborHoodService.queryNeighborHoodOptions(formDTO); + return new Result>().ok(list); + } + /** * 获取用户组织下小区列表 * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseChangeRecordDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseChangeRecordDao.java new file mode 100644 index 0000000000..548d9ccb40 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterpriseChangeRecordDao.java @@ -0,0 +1,29 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; +import com.epmet.entity.IcEnterpriseChangeRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@Mapper +public interface IcEnterpriseChangeRecordDao extends BaseDao { + + /** + * 分页列表 + * + * @param params + * @return java.util.List + * @author zhy + * @date 2022/8/9 17:23 + */ + List listPage(Map params); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java index afe0374247..2fd4f25eee 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java @@ -18,12 +18,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.NeighborHoodAndManagementDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.HouseInformationFormDTO; import com.epmet.dto.form.IcNeighborHoodListFormDTO; +import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcNeighborHoodEntity; @@ -220,4 +222,6 @@ public interface IcNeighborHoodDao extends BaseDao { * @return */ IcNeighborHoodEntity getNeighborHoodInfoByName(CheckHouseInfoFormDTO formDTO); + + List queryNeighborHoodOptions(NeighborHoodOptionFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseChangeRecordEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseChangeRecordEntity.java new file mode 100644 index 0000000000..119362360c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterpriseChangeRecordEntity.java @@ -0,0 +1,114 @@ +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 2022-08-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_enterprise_change_record") +public class IcEnterpriseChangeRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + /** + * 网格所属的组织Id + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String agencyPids; + + /** + * 场所类型:来源于ic_coverage_category_dict + */ + private String placeType; + + /** + * 场所名称 + */ + private String placeOrgName; + + /** + * 场所地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + + /** + * 字典value,场所规模【 +0:10人以下 +1:10-20人 +2:21-40人 +3:41-100人 +4:100人以上】 + */ + private String scale; + + /** + * 场所负责人 + */ + private String personInCharge; + + /** + * 负责人电话 + */ + private String mobile; + + /** + * 来源【新增:add 导入:import 】 + */ + private String sourceType; + + /** + * 最新巡查结果【0:合格 1:不合格】 + */ + private String latestResult; + + /** + * 最新检查时间 + */ + private Date latestPatrolTime; + + /** + * 原始记录id + */ + private String originId; + + /** + * 操作类型,upd,del + */ + private String type; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcEnterpriseChangeRecordExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcEnterpriseChangeRecordExcel.java new file mode 100644 index 0000000000..921cb0b549 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcEnterpriseChangeRecordExcel.java @@ -0,0 +1,84 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@Data +public class IcEnterpriseChangeRecordExcel { + + @Excel(name = "唯一标识") + private String id; + + @Excel(name = "客户Id") + private String customerId; + + @Excel(name = "网格Id【场所区域】") + private String gridId; + + @Excel(name = "网格所属的组织Id") + private String agencyId; + + @Excel(name = "agency_id的所有上级") + private String agencyPids; + + @Excel(name = "场所类型:来源于ic_coverage_category_dict") + private String placeType; + + @Excel(name = "场所名称") + private String placeOrgName; + + @Excel(name = "场所地址") + private String address; + + @Excel(name = "经度") + private String longitude; + + @Excel(name = "纬度") + private String latitude; + + @Excel(name = "字典value,场所规模") + private String scale; + + @Excel(name = "场所负责人") + private String personInCharge; + + @Excel(name = "负责人电话") + private String mobile; + + @Excel(name = "来源【新增:add 导入:import 】") + private String sourceType; + + @Excel(name = "最新巡查结果【0:合格 1:不合格】") + private String latestResult; + + @Excel(name = "最新检查时间") + private Date latestPatrolTime; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private Integer delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcEnterpriseChangeRecordRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcEnterpriseChangeRecordRedis.java new file mode 100644 index 0000000000..4a03f6057c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcEnterpriseChangeRecordRedis.java @@ -0,0 +1,30 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@Component +public class IcEnterpriseChangeRecordRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseChangeRecordService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseChangeRecordService.java new file mode 100644 index 0000000000..de47def1b9 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseChangeRecordService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; +import com.epmet.entity.IcEnterpriseChangeRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +public interface IcEnterpriseChangeRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-08-16 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-08-16 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcEnterpriseChangeRecordDTO + * @author generator + * @date 2022-08-16 + */ + IcEnterpriseChangeRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-16 + */ + void save(IcEnterpriseChangeRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-16 + */ + void update(IcEnterpriseChangeRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-08-16 + */ + void delete(String[] ids); +} \ No newline at end of file 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 3f06567ca8..23790b5caa 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 @@ -2,6 +2,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; import com.epmet.dto.form.EnterpriseFormDTO; import com.epmet.dto.form.EnterprisePageFormDTO; import com.epmet.dto.form.EnterprisePatrolFormDTO; @@ -10,6 +11,7 @@ import com.epmet.dto.result.EnterprisePatrolResultDTO; import com.epmet.entity.IcEnterpriseEntity; import java.nio.file.Path; +import java.util.Map; /** * 企事业单位表 @@ -78,4 +80,15 @@ public interface IcEnterpriseService extends BaseService { * @Date 2022/9/6 17:30 */ void sendEnterprisePatrolRemindMessage(); + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-08-16 + */ + PageData page(Map params); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java index 266d0f9b41..2755cf3af0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java @@ -27,6 +27,7 @@ import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.NeighborHoodAndManagementDTO; import com.epmet.dto.form.IcNeighborHoodAddFormDTO; import com.epmet.dto.form.ImportInfoFormDTO; +import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.result.BuildingResultDTO; import com.epmet.dto.result.IcNeighborHoodDetailDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; @@ -195,4 +196,11 @@ public interface IcNeighborHoodService extends BaseService * @return com.epmet.commons.tools.utils.Result */ Result neighborhoodDetail(String neighborhoodId); + + /** + * 返回当前组织及下级下的所有小区 + * @param formDTO + * @return + */ + List queryNeighborHoodOptions(NeighborHoodOptionFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseChangeRecordServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseChangeRecordServiceImpl.java new file mode 100644 index 0000000000..7b0f3882ef --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseChangeRecordServiceImpl.java @@ -0,0 +1,98 @@ +package com.epmet.service.impl; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.user.LoginUserUtil; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dao.IcEnterpriseChangeRecordDao; +import com.epmet.dto.IcEnterpriseChangeRecordDTO; +import com.epmet.dto.IcWorkLogDTO; +import com.epmet.entity.IcEnterpriseChangeRecordEntity; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.redis.IcEnterpriseChangeRecordRedis; +import com.epmet.service.IcEnterpriseChangeRecordService; +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.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 企事业单位变更记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-16 + */ +@Service +public class IcEnterpriseChangeRecordServiceImpl extends BaseServiceImpl implements IcEnterpriseChangeRecordService { + + @Autowired + private IcEnterpriseChangeRecordRedis icEnterpriseChangeRecordRedis; + @Autowired + private LoginUserUtil loginUserUtil; + + + @Override + public PageData page(Map params) { + params.put("customerId", loginUserUtil.getLoginUserCustomerId()); + IPage page = getPage(params); + List list = baseDao.listPage(params); + return new PageData<>(list, page.getTotal()); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcEnterpriseChangeRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + String originId = (String) params.get("originId"); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(originId), "ORIGIN_ID", originId); + + return wrapper; + } + + @Override + public IcEnterpriseChangeRecordDTO get(String id) { + IcEnterpriseChangeRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcEnterpriseChangeRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcEnterpriseChangeRecordDTO dto) { + IcEnterpriseChangeRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcEnterpriseChangeRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcEnterpriseChangeRecordDTO dto) { + IcEnterpriseChangeRecordEntity entity = ConvertUtils.sourceToTarget(dto, IcEnterpriseChangeRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ 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 88de234e7d..d0f5a1ba08 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 @@ -1,9 +1,13 @@ package com.epmet.service.impl; import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; @@ -18,6 +22,7 @@ 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.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.FileUtils; @@ -28,9 +33,7 @@ import com.epmet.dao.*; import com.epmet.dto.SysDictDataDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.IcEnterpriseEntity; -import com.epmet.entity.IcEnterprisePatrolAttachmentEntity; -import com.epmet.entity.IcEnterprisePatrolRecordEntity; +import com.epmet.entity.*; import com.epmet.excel.EnterpriseImportExcelDTO; import com.epmet.excel.handler.IcEnterpriseExcelImportListener; import com.epmet.feign.EpmetAdminOpenFeignClient; @@ -38,6 +41,7 @@ import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.OssFeignClient; import com.epmet.service.CoverageService; +import com.epmet.service.IcEnterpriseChangeRecordService; import com.epmet.service.IcEnterpriseService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -90,6 +94,13 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper(); @@ -146,14 +161,14 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(IcEnterprisePatrolRecordEntity::getEnterpriseId,origin.getEnterpriseId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(IcEnterprisePatrolRecordEntity::getEnterpriseId, origin.getEnterpriseId()); if (NumConstant.ZERO == enterprisePatrolRecordDao.selectCount(queryWrapper)) { - baseDao.updateLatestPatrol(origin.getEnterpriseId(),null,StrConstant.EPMETY_STR,currentUserId); + baseDao.updateLatestPatrol(origin.getEnterpriseId(), null, StrConstant.EPMETY_STR, currentUserId); } } /** * 巡查记录列表 * 暂时不分页 + * * @param enterpriseId * @return */ @@ -230,9 +246,9 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl dictList = coverageService.dictMap(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode()); Map placeTypeMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); //2、规模名称 Result> dictMapRes = adminOpenFeignClient.dictDataList(DictTypeEnum.SCALE.getCode()); - Map scaleMap = dictMapRes.success() && CollectionUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel,SysDictDataDTO::getDictValue)) : new HashMap<>(); + Map scaleMap = dictMapRes.success() && CollectionUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel, SysDictDataDTO::getDictValue)) : new HashMap<>(); //3、当前工作人员所属组织下的网格列表 List gridList = customerGridDao.selectGridList(staffInfo.getAgencyId()); if (CollectionUtils.isEmpty(gridList)) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下没有网格", "当前组织下没有直属网格"); } - Map gridMap=gridList.stream().collect(Collectors.toMap(GridListResultDTO::getGridName,GridListResultDTO::getGridId)); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridListResultDTO::getGridName, GridListResultDTO::getGridId)); - IcEnterpriseExcelImportListener listener = new IcEnterpriseExcelImportListener(customerId,staffInfo, this,placeTypeMap,scaleMap,gridMap); + IcEnterpriseExcelImportListener listener = new IcEnterpriseExcelImportListener(customerId, staffInfo, this, placeTypeMap, scaleMap, gridMap); EasyExcel.read(filePath.toFile(), EnterpriseImportExcelDTO.class, listener).headRowNumber(1).sheet(0).doRead(); Path errorDescFile = null; @@ -403,13 +424,13 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.apply("DATE_FORMAT(REVIEW_TIME,'%Y%m%d') = " + dateId); List list = enterprisePatrolRecordDao.selectList(wrapper); if (CollectionUtils.isNotEmpty(list)) { - List smsList=new ArrayList<>(); + List smsList = new ArrayList<>(); list.forEach(item -> { IcEnterpriseEntity enterprise = baseDao.selectById(item.getEnterpriseId()); if (null != enterprise) { @@ -418,8 +439,8 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl paramMap = new HashMap<>(); - paramMap.put("name",enterprise.getPlaceOrgName()); - paramMap.put("date",DateUtils.format(item.getReviewTime(),DateUtils.DATE_PATTERN)); + paramMap.put("name", enterprise.getPlaceOrgName()); + paramMap.put("date", DateUtils.format(item.getReviewTime(), DateUtils.DATE_PATTERN)); sms.setParamMap(paramMap); smsList.add(sms); } @@ -428,6 +449,35 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, EnterpriseDetailDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + String placeOrgName = (String) params.get("placeOrgName"); + String mobile = (String) params.get("mobile"); + String gridId = (String) params.get("gridId"); + String placeType = (String) params.get("placeType"); + String scale = (String) params.get("scale"); + String result = (String) params.get("result"); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(placeOrgName), "PLACE_ORG_NAME", placeOrgName); + wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile); + wrapper.eq(StringUtils.isNotBlank(gridId), "GRID_ID", gridId); + wrapper.eq(StringUtils.isNotBlank(placeType), "PLACE_TYPE", placeType); + wrapper.eq(StringUtils.isNotBlank(scale), "SCALE", scale); + wrapper.eq(StringUtils.isNotBlank(result), "LATEST_RESULT", result); + + return wrapper; + } + private CustomerStaffInfoCacheResult queryCurrentStaff(String customerId, String userId) { CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); if (null == staffInfo) { @@ -437,6 +487,79 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl selectForUniqueName(String gridId, String placeOrgName, String enterpriseId) { - return baseDao.selectForUniqueName(gridId, placeOrgName, enterpriseId); + return baseDao.selectForUniqueName(gridId, placeOrgName, enterpriseId); + } + + /** + * 记录操作日志 + * + * @param origin + * @param type + * @return void + * @author zhy + * @date 2022/8/16 15:36 + */ + private void log(IcEnterpriseEntity origin, EnterpriseFormDTO formDTO, String type) { + // 历史记录 + IcEnterpriseChangeRecordEntity record = ConvertUtils.sourceToTarget(origin, IcEnterpriseChangeRecordEntity.class); + + List categoryList = coverageService.dictMap(loginUserUtil.getLoginUserCustomerId(), "enterprise_patrol"); + Map categoryMap = categoryList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getValue, IcCoverageCategoryDictListResultDTO::getLabel)); + + CustomerGridEntity originGrid = customerGridDao.selectById(origin.getGridId()); + + Map scaleMap; + Result> result = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode()); + if (!result.success() || null == result.getData()) { + throw new EpmetException("查询字典信息失败" + JSON.toJSONString(result)); + } else { + scaleMap = result.getData(); + } + + if (formDTO != null) { + if (!origin.getPlaceType().equals(formDTO.getPlaceType())) { + record.setPlaceType(categoryMap.get(origin.getPlaceType()).concat("->").concat(categoryMap.get(formDTO.getPlaceType()))); + } else { + record.setPlaceType(categoryMap.get(origin.getPlaceType())); + } + + if (!origin.getGridId().equals(formDTO.getGridId())) { + CustomerGridEntity thisGrid = customerGridDao.selectById(formDTO.getGridId()); + record.setGridId(origin.getGridId().concat("->").concat(thisGrid.getGridName())); + if (originGrid != null && thisGrid != null) { + record.setGridId(originGrid.getGridName().concat("->").concat(formDTO.getGridId())); + } + } else { + record.setGridId(originGrid.getGridName()); + } + + if (!origin.getPlaceOrgName().equals(formDTO.getPlaceOrgName())) { + record.setPlaceOrgName(origin.getPlaceOrgName().concat("->").concat(formDTO.getPlaceOrgName())); + } + if (!origin.getScale().equals(formDTO.getScale())) { + record.setScale(scaleMap.get(origin.getScale()).concat("->").concat(scaleMap.get(formDTO.getScale()))); + } else { + record.setScale(scaleMap.get(origin.getScale())); + } + + if (!origin.getPersonInCharge().equals(formDTO.getPersonInCharge())) { + record.setPersonInCharge(origin.getPersonInCharge().concat("->").concat(formDTO.getPersonInCharge())); + } + if (!origin.getMobile().equals(formDTO.getMobile())) { + record.setMobile(origin.getMobile().concat("->").concat(formDTO.getMobile())); + } + if (!origin.getAddress().equals(formDTO.getAddress())) { + record.setAddress(origin.getAddress().concat("->").concat(formDTO.getAddress())); + } + } + + record.setId(null); + record.setCreatedBy(null); + record.setCreatedTime(null); + record.setUpdatedBy(null); + record.setUpdatedTime(null); + record.setOriginId(origin.getId()); + record.setType(type); + icEnterpriseChangeRecordService.insert(record); } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index e14ea745ab..56e473038d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -51,6 +51,7 @@ import com.epmet.dto.*; import com.epmet.dto.form.IcNeighborHoodAddFormDTO; import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.*; import com.epmet.excel.IcNeighborHoodExcel; @@ -824,4 +825,27 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl().ok(result); } + /** + * 返回当前组织及下级下的所有小区 + * + * @param formDTO + * @return + */ + @Override + public List queryNeighborHoodOptions(NeighborHoodOptionFormDTO formDTO) { + if (StringUtils.isBlank(formDTO.getGridId()) && StringUtils.isBlank(formDTO.getAgencyId())) { + // 默认查询当前工作人员所属组织及下级的 + CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + formDTO.setAgencyId(staffInfoCacheResult.getAgencyId()); + } + List list = baseDao.queryNeighborHoodOptions(formDTO); + return list; + } + + + + + + + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.44__add_enterprise_change_record.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.44__add_enterprise_change_record.sql new file mode 100644 index 0000000000..be6f30d58e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.44__add_enterprise_change_record.sql @@ -0,0 +1,52 @@ +/* + Navicat Premium Data Transfer + + Source Server : epmet_cloud_dev_org + Source Server Type : MySQL + Source Server Version : 50726 + Source Host : 192.168.1.140:3306 + Source Schema : epmet_gov_org + + Target Server Type : MySQL + Target Server Version : 50726 + File Encoding : 65001 + + Date: 17/08/2022 14:20:39 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ic_enterprise_change_record +-- ---------------------------- +DROP TABLE IF EXISTS `ic_enterprise_change_record`; +CREATE TABLE `ic_enterprise_change_record` ( + `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户Id', + `GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格Id【场所区域】', + `AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格所属的组织Id', + `AGENCY_PIDS` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'agency_id的所有上级', + `PLACE_TYPE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '场所类型:来源于ic_coverage_category_dict', + `PLACE_ORG_NAME` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '场所名称', + `ADDRESS` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '场所地址', + `LONGITUDE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度', + `LATITUDE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度', + `SCALE` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典value,场所规模【\r\n0:10人以下\r\n1:10-20人\r\n2:21-40人\r\n3:41-100人\r\n4:100人以上】', + `PERSON_IN_CHARGE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '场所负责人', + `MOBILE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '负责人电话', + `SOURCE_TYPE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源【新增:add 导入:import 】', + `LATEST_RESULT` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最新巡查结果【0:合格 1:不合格】', + `LATEST_PATROL_TIME` datetime NULL DEFAULT NULL COMMENT '最新检查时间', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + `ORIGIN_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '原始记录ID', + `TYPE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作类型,upd,del', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企事业单位变更记录表' ROW_FORMAT = COMPACT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseChangeRecordDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseChangeRecordDao.xml new file mode 100644 index 0000000000..f69c54e9bd --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseChangeRecordDao.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 6e417b0aed..441dfe7f1b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -147,6 +147,12 @@ AND a.NEIGHBOR_HOOD_ID = #{neighborHoodId} + + AND a.BUILDING_UNIT_ID = #{buildingUnitId} + + + AND a.ID = #{houseId} + AND b.id = #{id} diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml index 96ec0dd57f..0120d31bb0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml @@ -673,4 +673,25 @@ + diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/UpdateArticleFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/UpdateArticleFormDTO.java new file mode 100644 index 0000000000..b575bf90c6 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/UpdateArticleFormDTO.java @@ -0,0 +1,92 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description 修改文章 + * @Author yzm + * @Date 2022/10/24 14:12 + */ +@Data +public class UpdateArticleFormDTO { + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + /** + * 文章id + */ + @NotBlank(message = "articleId不能为空", groups = {AddUserInternalGroup.class}) + private String articleId; + + @NotBlank(message = "文章标题不能为空", groups = {AddUserShowGroup.class}) + @Length(max = 50, message = "文章标题最长为50个字") + private String title; + + /** + * 发布范围IDs + */ + @NotEmpty(message = "发布范围不能为空", groups = AddUserShowGroup.class) + private List gridIdList; + + /** + * 发布范围Names + */ + @NotBlank(message = "发布范围名称不能为空", groups = AddUserShowGroup.class) + private String publishRangeDesc; + + @NotBlank(message = "发布单位不能为空", groups = AddUserShowGroup.class) + private String publisher; + + @NotBlank(message = "发布单位名称不能为空", groups = AddUserShowGroup.class) + private String publisherName; + + /** + * 发布单位类型 机关:agency;部门:department;网格:grid + */ + @NotBlank(message = "发布单位类型不能为空", groups = AddUserShowGroup.class) + private String publisherType; + + /** + * 封面图地址 + */ + private String imgUrl; + + @NotBlank(message = "发布时间不能为空", groups = AddUserShowGroup.class) + private String publishDate; + + /** + * 文章标签 + */ + private List tagNameList; + + @NotBlank(message = "文章内容不能为空", groups = {AddUserShowGroup.class}) + private String content; + + /** + * 是否置顶 1是;0否; + */ + @NotNull(message = "请选择是否置顶", groups = AddUserShowGroup.class) + private Integer isTop; + + /** + * token中获取 + */ + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + /** + * token中获取 + */ + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/ArticleConstant.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/ArticleConstant.java index 29d8bca111..25f68c9a6d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/ArticleConstant.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/ArticleConstant.java @@ -20,6 +20,10 @@ public interface ArticleConstant { */ String PUBLISHED = "published"; String PUBLISH = "publish"; + /** + * pc,已发布的文章可编辑 + */ + String UPDATE_ARTICEL="update"; String PUBLISH_CONTENT = "发布文章"; /** * 发布状态-已下线 diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 7ab6795c57..611c9d2b79 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -37,6 +37,7 @@ import com.epmet.service.ArticleOperateRecordService; import com.epmet.service.ArticleService; import com.epmet.service.DraftService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; @@ -468,4 +469,42 @@ public class ArticleController { articleService.addOrSaveDraft(formDTO); return new Result(); } + + /** + * 已发布的文章可以编辑 + * + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("updateArticle") + public Result updateArticle(@LoginUser TokenDto tokenDto, @RequestBody UpdateArticleFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, UpdateArticleFormDTO.AddUserShowGroup.class, UpdateArticleFormDTO.AddUserInternalGroup.class); + articleService.updateArticle(formDTO); + return new Result(); + } + + /** + * 删除文章,所有相关表都删除吧 + * article 文章表 + * article_content 文章内容表 + * article_cover 文章封面表 + * article_operate_record 文章操作记录表 + * article_publish_range 文章发布范围表 + * article_tags 文章标签表 + * article_visit_record 文章访问记录表 + * @param tokenDto + * @param articleIds + * @return + */ + @PostMapping("delete") + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody List articleIds) { + if (CollectionUtils.isNotEmpty(articleIds)) { + articleService.delete(articleIds, tokenDto.getCustomerId(), tokenDto.getUserId()); + } + return new Result(); + } + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleContentDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleContentDao.java index 44d12946d9..227fa89114 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleContentDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleContentDao.java @@ -29,5 +29,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ArticleContentDao extends BaseDao { - + /** + * 只支持富文本的文章 + * 如果是最开始一段文字,一个图片那种文章在article_content表会有多条 + * @param articleId + * @return + */ + ArticleContentEntity selectByArticleId(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleCoverDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleCoverDao.java index cd087445ae..3f3dc05374 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleCoverDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleCoverDao.java @@ -29,5 +29,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ArticleCoverDao extends BaseDao { - + + ArticleCoverEntity selectByArticleId(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java index 9fe5fa1614..77bedc971e 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticlePublishRangeDao.java @@ -47,4 +47,6 @@ public interface ArticlePublishRangeDao extends BaseDao selectInitData(@Param("customerIdList") List customerIdList); + + int deleteByArticleId(@Param("articleId") String articleId,@Param("operUserId")String operUserId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/ArticleOperateRecordEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/ArticleOperateRecordEntity.java index ff89979fb8..ee00d068d2 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/ArticleOperateRecordEntity.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/ArticleOperateRecordEntity.java @@ -64,6 +64,7 @@ public class ArticleOperateRecordEntity extends BaseEpmetEntity { /** * 操作类型 发布文章:publish;取消文章置顶:canceltop;设置置顶:settom;下线文章:offline;修改文章发布范围:updatepublishrange + * 修改文章:update */ private String opType; diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java index 368ecfcef7..ddb1db33e7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java @@ -103,4 +103,12 @@ public interface ArticleOperateRecordService extends BaseService listOfArticleOperation(String articleId); + + /** + * + * @param articleId + * @param customerId + * @param currentOperUserId + */ + void deleteByArticleId(String articleId, String customerId, String currentOperUserId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index 8f0914bfe4..dca18d0bb7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -257,4 +257,25 @@ public interface ArticleService extends BaseService { PublishedListResultDTO detailV2(ArticleListFormDTO formDTO); void topArticle(String articleId, String type,String imgUrl); + + /** + * 修改文章 + * @param formDTO + */ + void updateArticle(UpdateArticleFormDTO formDTO); + + /** + * 删除文章 + * article 文章表 + * article_content 文章内容表 + * article_cover 文章封面表 + * article_operate_record 文章操作记录表 + * article_publish_range 文章发布范围表 + * article_tags 文章标签表 + * article_visit_record 文章访问记录表 + * @param articleIds + * @param customerId + * @param currentOperUserId + */ + void delete(List articleIds,String customerId,String currentOperUserId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleVisitRecordService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleVisitRecordService.java index cdaa50388c..502d0f638a 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleVisitRecordService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleVisitRecordService.java @@ -92,4 +92,6 @@ public interface ArticleVisitRecordService extends BaseService updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(ArticleOperateRecordEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleOperateRecordEntity::getUpdatedBy, currentOperUserId) + .set(ArticleOperateRecordEntity::getUpdatedTime, new Date()); + updateWrapper.eq(ArticleOperateRecordEntity::getArticleId, articleId); + baseDao.update(null,updateWrapper); + } } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 4e94222164..c471734d6b 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; @@ -1435,7 +1436,13 @@ public class ArticleServiceImpl extends BaseServiceImpl queryWrapper=new LambdaQueryWrapper(); + queryWrapper.eq(ArticleTagsEntity::getCustomerId,customerId) + .eq(ArticleTagsEntity::getArticleId,articleId); + articleTagsDao.delete(queryWrapper); + articleTagsService.insertBatch(articleTags); + } } /** @@ -1543,7 +1550,7 @@ public class ArticleServiceImpl extends BaseServiceImpl DraftConstant.PREVIEW_CONTENT_MAX_LENGTH ? getPreviewContent(formDTO.getContent()).substring(NumConstant.ZERO,DraftConstant.PREVIEW_CONTENT_MAX_LENGTH) : getPreviewContent(formDTO.getContent())); + articleEntity.setPublishDate(DateUtils.stringToDate(formDTO.getPublishDate(),DateUtils.DATE_PATTERN)); + articleEntity.setPublisherId(formDTO.getPublisher()); + articleEntity.setTags(CollectionUtils.isEmpty(formDTO.getTagNameList()) ? "" : formDTO.getTagNameList().stream().collect(Collectors.joining("|"))); + articleEntity.setOrgId(staffInfo.getAgencyId()); + articleEntity.setOrgIdPath(StringUtils.isBlank(agencyInfo.getPids()) || agencyInfo.getPids().equals(NumConstant.ZERO_STR) ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); + articleEntity.setRichTextFlag(NumConstant.ONE_STR); + baseDao.updateById(articleEntity); + // 2.内容 + ArticleContentEntity articleContent = articleContentDao.selectByArticleId(formDTO.getArticleId()); + if (null != articleContent) { + articleContent.setContent(formDTO.getContent()); + articleContentDao.updateById(articleContent); + }else{ + ArticleContentEntity articleContent1=new ArticleContentEntity(); + articleContent1.setCustomerId(formDTO.getCustomerId()); + articleContent1.setArticleId(formDTO.getArticleId()); + articleContent1.setContent(formDTO.getContent()); + articleContent1.setContentType("rich_text"); + articleContent1.setOrderNum(NumConstant.ONE); + articleContentDao.insert(articleContent1); + } + // 3.操作记录 + ArticleOperateRecordEntity articleOperateRecord = new ArticleOperateRecordEntity(); + articleOperateRecord.setCustomerId(formDTO.getCustomerId()); + articleOperateRecord.setArticleId(formDTO.getArticleId()); + articleOperateRecord.setGridIds(CollectionUtils.isEmpty(formDTO.getGridIdList()) ? "" : formDTO.getGridIdList().stream().collect(Collectors.joining(":"))); + articleOperateRecord.setOpUser(staffInfo.getAgencyName().concat("-").concat(staffInfo.getRealName())); + articleOperateRecord.setContent(articleOperateRecord.getOpUser() + "编辑文章【" +formDTO.getTitle() + "】"); + articleOperateRecord.setOpType(ArticleConstant.UPDATE_ARTICEL); + articleOperateRecord.setOpTime(new Date()); + articleOperateRecordService.insert(articleOperateRecord); + // 4.发布范围 + if (!CollectionUtils.isEmpty(formDTO.getGridIdList())){ + List rangeList = new ArrayList<>(); + formDTO.getGridIdList().forEach(g -> { + GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(g); + if (null == gridInfoCache){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"gridId:"+g,"发布范围:网格信息查询异常"); + } + ArticlePublishRangeEntity articlePublishRange = ConvertUtils.sourceToTarget(gridInfoCache,ArticlePublishRangeEntity.class); + articlePublishRange.setCustomerId(formDTO.getCustomerId()); + articlePublishRange.setArticleId(formDTO.getArticleId()); + articlePublishRange.setGridId(g); + articlePublishRange.setAgencyGridName(gridInfoCache.getGridNamePath()); + articlePublishRange.setAgencyId(gridInfoCache.getPid()); + AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(gridInfoCache.getPid()); + if (null == agencyInfoCache){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"agencyId:"+gridInfoCache.getPid(),"发布范围:网格所属组织信息查询异常"); + } + //组织id的所有上级 + articlePublishRange.setPids(agencyInfoCache.getPids()); + articlePublishRange.setPublishStatus(ArticleConstant.PUBLISHED); + articlePublishRange.setId(null); + rangeList.add(articlePublishRange); + }); + if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(rangeList)){ + //先删除,后插入 + articlePublishRangeDao.deleteByArticleId(formDTO.getArticleId(),formDTO.getUserId()); + articlePublishRangeService.insertBatch(rangeList); + } + } + // 5.文章标签 + UpdateCustomerTagCacheDTO updateCustomerTagCacheDTO = updateCustomerTagV2(formDTO.getUserId(), formDTO.getCustomerId(), StringUtils.isBlank(articleEntity.getTags()) ? "" : articleEntity.getTags()); + if (null != updateCustomerTagCacheDTO){ + addArticleTagsV2(updateCustomerTagCacheDTO,formDTO.getCustomerId(),articleEntity.getId()); + } + // 6.更新网格tag + List updateGridTagCacheDTOS = updateGridTagV2(updateCustomerTagCacheDTO, formDTO.getCustomerId(), formDTO.getGridIdList(), formDTO.getUserId()); + // 7.文章封面 + if (StringUtils.isNotBlank(formDTO.getImgUrl())){ + ArticleCoverEntity articleCoverEntity = articleCoverDao.selectByArticleId(formDTO.getArticleId()); + if (null != articleCoverEntity) { + articleCoverEntity.setImgUrl(formDTO.getImgUrl()); + articleCoverEntity.setAuditStatus("pass"); + articleCoverDao.updateById(articleCoverEntity); + }else{ + ArticleCoverEntity articleCover = new ArticleCoverEntity(); + articleCover.setCustomerId(formDTO.getCustomerId()); + articleCover.setArticleId(formDTO.getArticleId()); + articleCover.setImgUrl(formDTO.getImgUrl()); + articleCover.setAuditStatus("pass"); + articleCoverDao.insert(articleCover); + } + } + // 8.更新redis + try { + this.updateCacheCustomerTag(updateCustomerTagCacheDTO); + this.updateCacheGridTag(updateGridTagCacheDTOS); + } catch (Exception e) { + //我觉着没必要抛出异常吧,日志打印一下吧 + log.warn("updateArticle update redis exception", e); + // throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg()); + } + + } + + + /** + * 删除文章 + * article 文章表 + * article_content 文章内容表 + * article_cover 文章封面表 + * article_operate_record 文章操作记录表 + * article_publish_range 文章发布范围表 + * article_tags 文章标签表 + * article_visit_record 文章访问记录表 + * + * @param articleIds + * @param customerId + * @param currentOperUserId + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void delete(List articleIds, String customerId, String currentOperUserId) { + Date now=new Date(); + for(String articleId:articleIds){ + //文章表 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(ArticleEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleEntity::getUpdatedBy, currentOperUserId) + .set(ArticleEntity::getUpdatedTime, now); + updateWrapper.eq(ArticleEntity::getId, articleId); + baseDao.update(null, updateWrapper); + + //文章内容表 + LambdaUpdateWrapper articleContentUpdate = new LambdaUpdateWrapper<>(); + articleContentUpdate.set(ArticleContentEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleContentEntity::getUpdatedBy, currentOperUserId) + .set(ArticleContentEntity::getUpdatedTime, now); + articleContentUpdate.eq(ArticleContentEntity::getArticleId, articleId); + articleContentDao.update(null,articleContentUpdate); + //文章封面表 + LambdaUpdateWrapper articleCoverUpdate = new LambdaUpdateWrapper<>(); + articleCoverUpdate.set(ArticleCoverEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleCoverEntity::getUpdatedBy, currentOperUserId) + .set(ArticleCoverEntity::getUpdatedTime, now); + articleCoverUpdate.eq(ArticleCoverEntity::getArticleId, articleId); + articleCoverDao.update(null,articleCoverUpdate); + //文章操作记录表 + articleOperateRecordService.deleteByArticleId(articleId,customerId,currentOperUserId); + + //文章发布范围表 + LambdaUpdateWrapper publishRangeUpdate = new LambdaUpdateWrapper<>(); + publishRangeUpdate.set(ArticlePublishRangeEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticlePublishRangeEntity::getUpdatedBy, currentOperUserId) + .set(ArticlePublishRangeEntity::getUpdatedTime, now); + publishRangeUpdate.eq(ArticlePublishRangeEntity::getArticleId, articleId); + articlePublishRangeDao.update(null,publishRangeUpdate); + //文章标签表 + LambdaUpdateWrapper articleTagsUpdate = new LambdaUpdateWrapper<>(); + articleTagsUpdate.set(ArticleTagsEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleTagsEntity::getUpdatedBy, currentOperUserId) + .set(ArticleTagsEntity::getUpdatedTime, now); + articleTagsUpdate.eq(ArticleTagsEntity::getArticleId, articleId); + articleTagsDao.update(null,articleTagsUpdate); + //文章访问记录表 + articleVisitRecordService.deleteByArticleId(articleId,customerId,currentOperUserId); + } + } + + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleVisitRecordServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleVisitRecordServiceImpl.java index 8b4ce81966..93f631b14d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleVisitRecordServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleVisitRecordServiceImpl.java @@ -18,9 +18,11 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.ArticleVisitRecordDao; @@ -33,6 +35,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -105,4 +108,13 @@ public class ArticleVisitRecordServiceImpl extends BaseServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(ArticleVisitRecordEntity::getDelFlag, NumConstant.ONE_STR) + .set(ArticleVisitRecordEntity::getUpdatedBy, currentOperUserId) + .set(ArticleVisitRecordEntity::getUpdatedTime, new Date()); + updateWrapper.eq(ArticleVisitRecordEntity::getArticleId, articleId); + baseDao.update(null,updateWrapper); + } } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml index fb55860502..52007cee9e 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml @@ -4,4 +4,14 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleCoverDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleCoverDao.xml index 684910ea8d..1bd90e218e 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleCoverDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleCoverDao.xml @@ -3,5 +3,9 @@ - + \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml index c58c230891..2b2fcb4e3b 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticlePublishRangeDao.xml @@ -35,5 +35,11 @@ ORDER BY GRID_ID - + + update article_publish_range r + set r.del_flag='1', + r.UPDATED_BY = #{operUserId}, + r.UPDATED_TIME = now() + where r.ARTICLE_ID = #{articleId} + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java index 01886698a8..47d9286b89 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java @@ -44,7 +44,7 @@ public class CustomerFootBarFormDTO { @NotBlank(message = "FootBar的ID不能为空", groups = { UpdateFootBarGroup.class, FootBarDetailGroup.class, UpdateDisplayStatusGroup.class, DeleteFootbarsGroup.class }) private String id; - @NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class, AddDefaultFootbars4Customer.class, ListFootBarGroup4Oper.class , DeleteFootbarsGroup.class}) + @NotBlank(message = "客户ID不能为空", groups = { ListFootBarGroup.class,CreateFootBarGroup.class, AddDefaultFootbars4Customer.class, ListFootBarGroup4Oper.class , DeleteFootbarsGroup.class}) private String customerId; // 哪一个端:gov,resi diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 72fbd03444..8c2d43f75f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1346,6 +1346,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl achievementList = new ArrayList<>(); //1.小组创建时间 ResiGroupEntity group = baseDao.selectById(formDTO.getGroupId()); + if (null == group) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "resi_group is null groupId:" + formDTO.getGroupId(), "小组不存在"); + } resultDTO.setCreatedDate(DateUtils.dateToTimestamp(group.getCreatedTime())); //2.即将完成的3个成就 diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartymemberStyleDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartymemberStyleDTO.java index a2cda91a24..6e567e606a 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartymemberStyleDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartymemberStyleDTO.java @@ -19,6 +19,7 @@ package com.epmet.resi.partymember.dto.partymember; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -34,10 +35,11 @@ import java.util.List; public class IcPartymemberStyleDTO implements Serializable { private static final long serialVersionUID = 1L; - + public interface DetailGroup {} /** - * 楼栋主键 + * 主键 */ + @NotBlank(message = "党员风采主键不能为空",groups = DetailGroup.class) private String id; /** diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java index ef2469b7b0..786f22d542 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java @@ -84,6 +84,7 @@ public class IcPartymemberStyleController { @PostMapping("detail") public Result get(@RequestBody IcPartymemberStyleDTO dto) { + ValidatorUtils.validateEntity(dto,IcPartymemberStyleDTO.DetailGroup.class); IcPartymemberStyleDTO data = icPartymemberStyleService.get(dto.getId()); return new Result().ok(data); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java index d277201298..435038822f 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java @@ -156,6 +156,9 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl>().ok(result); } + @PostMapping("epidemicPreventionExport") + public void epidemicPreventionExport(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icResiUserService.epidemicPreventionExport(formDTO,response); + } + @PostMapping("user-list") public Result> userList(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatCompareRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatCompareRecordController.java index aa611e8252..8c1c245fde 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatCompareRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatCompareRecordController.java @@ -27,6 +27,7 @@ import com.epmet.service.IcNatCompareRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; @@ -61,6 +62,7 @@ public class IcNatCompareRecordController implements ResultDataResolver { /** * 未做核酸比对-分页查询 + * http://yapi.elinkservice.cn/project/245/interface/api/8129 * @param tokenDto * @param formDTO * @return @@ -68,6 +70,9 @@ public class IcNatCompareRecordController implements ResultDataResolver { @RequestMapping("page") @MaskResponse(fieldNames = { "mobile", "idCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD }) public Result> page(@LoginUser TokenDto tokenDto, @RequestBody IcNatCompareRecordPageFormDTO formDTO){ + if (StringUtils.isNotBlank(formDTO.getNatDate()) && StringUtils.isBlank(formDTO.getNatStatus())) { + formDTO.setNatStatus(NumConstant.ONE_STR); + } formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); PageData page = icNatCompareRecordService.page(formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index a365373784..2ea3ea881b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -315,5 +315,18 @@ public class IcNatController implements ResultDataResolver { } } + /** + * 需求原描述:http://zentao.elinkservice.cn/story-view-709.html + * 3、核酸检测信息页面,本辖区居民选项,查询是都是居民信息里居民,现在的是否意思是你点新增的时候,是从居民信息里选的,还是你手动录入的 + * 无论是导入、新增、定时任务拉取 + * 根据身份证号取居民信息表数,如果agencyId与当前操作用户所属组织id一致,那说明就是他组织下的 本辖区居民 + * 上线后需要此接口:/epmetuser/icNat/initNatLocal + * @return + */ + @PostMapping("initNatLocal") + public Result initNatLocal(){ + icNucleinService.initNatLocal(); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java index f21ec91eb3..7b8b0a0ab7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java @@ -6,7 +6,9 @@ import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.dto.result.NatUserInfoResultDTO; +import com.epmet.dto.result.RelationAndNatResultDTO; import com.epmet.entity.IcNatEntity; +import com.epmet.entity.IcResiUserEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -66,4 +68,22 @@ public interface IcNatDao extends BaseDao { void updateBatchNat(@Param("list")List entities); + List getRelationAndNat(); + + List getResiByIdCards(@Param("idCards")List idCards); + + /** + * @Description 批量更新关系 + * @param list + * @Author zxc + * @Date 2022/10/25 10:56 + */ + void updateRelation(@Param("list") List list); + + /** + * @Description 更新的 userType != 'import' + * @Author zxc + * @Date 2022/10/25 11:13 + */ + void updateRelationOther(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index dd9e97bbae..8caa220af2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -430,4 +430,13 @@ public interface IcResiUserDao extends BaseDao { List getIcUserCount(IcUserCountFormDTO formDTO); List icUserStatisList(UserChartFormDTO formDTO); + + /** + * @Description 根据身份证获取组织下的居民个数 + * @param agencyId + * @param idCard + * @Author zxc + * @Date 2022/10/24 15:47 + */ + ResiAndLocalResiResultDTO getResiCount(@Param("agencyId")String agencyId,@Param("idCard")String idCard,@Param("customerId")String customerId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java index 7dd51b4d55..4e48d55d36 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java @@ -41,6 +41,11 @@ public class IcNatRelationEntity extends BaseEpmetEntity { */ private String icNatId; + /** + * 是否本辖区居民,1:是;0:否 + */ + private String isLocalResiUser; + /** * 关系数据的绑定途径【居民端录入:resi; 数字社区录入:icresi; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/EpidemicPreventionExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/EpidemicPreventionExportExcel.java new file mode 100644 index 0000000000..33486ab15a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/EpidemicPreventionExportExcel.java @@ -0,0 +1,34 @@ +package com.epmet.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @Author zxc + * @DateTime 2022/10/24 14:36 + */ +@Data +public class EpidemicPreventionExportExcel { + + @ExcelProperty(value = "姓名") + @ColumnWidth(20) + private String name; + + @ExcelProperty(value = "所属网格") + @ColumnWidth(20) + private String gridName; + + @ExcelProperty(value = "所属房屋") + @ColumnWidth(20) + private String houseName; + + @ExcelProperty(value = "手机号") + @ColumnWidth(20) + private String mobile; + + @ExcelProperty(value = "证件号") + @ColumnWidth(20) + private String idCard; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index c600349029..8fa732459a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -2,12 +2,15 @@ package com.epmet.excel.handler; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; +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.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcResiUserDao; +import com.epmet.dto.result.ResiAndLocalResiResultDTO; import com.epmet.entity.IcNatEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.service.impl.IcNatServiceImpl; @@ -53,12 +56,14 @@ public class IcNatExcelImportListener implements ReadListener otherRows = new ArrayList<>(); private IcNatServiceImpl icNatService; + private IcResiUserDao icResiUserDao; - public IcNatExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcNatServiceImpl icNatService) { + public IcNatExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcNatServiceImpl icNatService, IcResiUserDao icResiUserDao) { this.currentUserId = currentUserId; this.currentAgencyId = currentAgencyId; this.currentAgencyPids = currentAgencyPids; this.icNatService = icNatService; + this.icResiUserDao = icResiUserDao; } @Override @@ -116,6 +121,7 @@ public class IcNatExcelImportListener implements ReadListener { Integer updateIsResiFlag(String customerId, String icResiUserId); void updateBatchNat(List entities); + + void initNatLocal(); + } 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 e3e0f75e1f..246f87a15d 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 @@ -32,6 +32,8 @@ import com.epmet.entity.IcResiUserEntity; import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -521,4 +523,6 @@ public interface IcResiUserService extends BaseService { void updateYlfn(); IcResiUserInfoCache getIcResiUserInfo(String userId); + + void epidemicPreventionExport(EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 7fc6aa2bb6..632e27828b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -557,6 +557,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl all = Arrays.asList(ids); + // 根据IDs查询烟台拉取的残疾信息 List entities = baseDao.selectBatchIds(all); IcFormOptionsQueryFormDTO formDTO = new IcFormOptionsQueryFormDTO(); formDTO.setCustomerId(customerId); @@ -273,7 +274,8 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl StringUtils.isBlank(e.getCjzk()) || StringUtils.isBlank(e.getCjlb())).forEach(e -> e.setUpdateStatus(true)); + // cjzk,cjlb为空的,处理结果赋值 处理失败 +// entities.stream().filter(e -> StringUtils.isBlank(e.getCjzk()) || StringUtils.isBlank(e.getCjlb())).forEach(e -> e.setUpdateStatus(true)); // 变更记录 List collect = entities.stream().map(m -> { CategoryStatusAndIdDTO dto = new CategoryStatusAndIdDTO(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 7229ccc330..7c5757a32c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -129,16 +129,25 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (null == agencyInfo) { throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); } + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo){ + throw new EpmetException(String.format("获取工作人员信息失败%s", formDTO.getStaffId())); + } + ResiAndLocalResiResultDTO resiCount = icResiUserDao.getResiCount(formDTO.getAgencyId(), formDTO.getIdCard(), formDTO.getCustomerId()); //2.新增核酸基础信息数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); - if (StringUtils.isNotBlank(formDTO.getUserId())) { + /*if (StringUtils.isNotBlank(formDTO.getUserId())) { entity.setIsResiUser("1"); - } + }*/ + entity.setIsResiUser(org.apache.commons.lang3.StringUtils.isNotBlank(resiCount.getUserId()) ? NumConstant.ONE_STR : NumConstant.ZERO_STR); + entity.setUserId(null == resiCount.getUserId() ? "" : resiCount.getUserId()); insert(entity); //3.核酸记录关系表新增与组织的关系数据 IcNatRelationEntity relationEntity = ConvertUtils.sourceToTarget(formDTO, IcNatRelationEntity.class); relationEntity.setIcNatId(entity.getId()); - relationEntity.setPids(StringUtils.isNotBlank(agencyInfo.getPids()) ? agencyInfo.getPids() + ":" + formDTO.getAgencyId() : formDTO.getAgencyId()); + relationEntity.setIsLocalResiUser(resiCount.getIsLocal() == NumConstant.ZERO ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + relationEntity.setAgencyId(staffInfo.getAgencyId()); + relationEntity.setPids(StringUtils.isNotBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyPIds() + ":" + staffInfo.getAgencyId() : staffInfo.getAgencyId()); icNatRelationDao.insert(relationEntity); //3.新增通知表信息 @@ -346,7 +355,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String agencyId = loginUserDetails.getAgencyId(); - IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this, icResiUserDao); EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); @@ -473,6 +482,54 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } } + @Override + public void initNatLocal() { + Integer no = NumConstant.ONE; + Integer size; + // 查询关系表 + do { + // user_type = 'import' + PageInfo pageInfo = PageHelper.startPage(no, NumConstant.ONE_THOUSAND).doSelectPageInfo(() -> baseDao.getRelationAndNat()); + List list = pageInfo.getList(); + size = list.size(); + if (CollectionUtils.isNotEmpty(list)){ + List users = baseDao.getResiByIdCards(list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList())); + if (CollectionUtils.isNotEmpty(users)){ + for (RelationAndNatResultDTO l : list) { + for (IcResiUserEntity u : users) { + if (l.getStaffAgencyIdPath().contains(u.getAgencyId())){ + l.setIsLocalResiUser(NumConstant.ONE_STR); + break; + } + } + } + updateRelation(list,NumConstant.ONE_STR); + } + } + }while (size == NumConstant.ONE_THOUSAND); + // 其他类型的userType直接是居民的组织信息,所以直接赋值 is_local_resi_user = '1' + updateRelation(null,NumConstant.TWO_STR); + log.error("/epmetuser/icNat/initNatLocal更新核酸检测记录关系表,是否是本辖区居民标志 end"); + } + + /** + * @Description 更新核酸关系表 + * @param list + * @param type 1:userType为import;2:除了import + * @Author zxc + * @Date 2022/10/25 10:55 + */ + @Transactional(rollbackFor = Exception.class) + public void updateRelation(List list,String type){ + if (NumConstant.ONE_STR.equals(type)){ + if (CollectionUtils.isNotEmpty(list)){ + baseDao.updateRelation(list); + } + }else { + baseDao.updateRelationOther(); + } + } + /** * 批量持久化 * @param entities @@ -536,6 +593,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp return; } + // 存在某时间的核酸检测信息 if (resiNat != null) { boolean needUpdate = false; // 有这个人,也是导入的,那就要更新le @@ -587,8 +645,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } // 还要创建关系。只有本辖区及下级居民,才建立关系 + // 2022-10-25 修改:导入的都插入关系 if (resi != null) { - createNatRelation(resiNat.getId(), resi.getAgencyId(), resi.getPids()); + createNatRelation(resiNat.getId(), resi.getAgencyId(), agencyPids,agencyId); } return; @@ -603,7 +662,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp // 还要创建关系。只有本辖区及下级居民,才建立关系 if (resi != null) { - createNatRelation(e.getId(), resi.getAgencyId(), resi.getPids()); + createNatRelation(e.getId(), resi.getAgencyId(), agencyPids,agencyId); } } @@ -643,11 +702,15 @@ public class IcNatServiceImpl extends BaseServiceImpl imp /** * 创建nat关系 * @param natId - * @param currentUserAgencyId + * @param currentUserAgencyId 居民所属组织 + * @param staffAgencyId 工作人员所属组织 + * @param agencyPids 工作人员所属组织路径 */ - private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids,String staffAgencyId) { // 没有关系创建关系,有关系就跳过 + // 2022-10-25 修改:不管是不是本辖区居民,都创建关系,用 is_local_resi_user区分是不是本辖区居民 + // 组织ID都改成工作人员所属组织ID LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(IcNatRelationEntity::getIcNatId, natId); query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); @@ -660,6 +723,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); relation.setIcNatId(natId); relation.setUserType("import"); + relation.setIsLocalResiUser(agencyPids.contains(currentUserAgencyId) ? NumConstant.ONE_STR : NumConstant.ZERO_STR); icNatRelationDao.insert(relation); } + } 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 463ce048fc..f7c3e353d9 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 @@ -19,6 +19,9 @@ package com.epmet.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -47,6 +50,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.*; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.constant.IcPlatformConstant; import com.epmet.constant.IcResiUserConstant; import com.epmet.constant.UserConstant; @@ -60,6 +64,8 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO; import com.epmet.dto.result.demand.OptionDTO; import com.epmet.dto.result.resi.IcResiNonDynamicResultDTO; import com.epmet.entity.*; +import com.epmet.excel.DataSyncRecordDisabilityExcel; +import com.epmet.excel.EpidemicPreventionExportExcel; import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.feign.*; import com.epmet.opendata.dto.form.GetResidentDetailByIdCardFormDTO; @@ -85,6 +91,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; import java.math.BigDecimal; import java.math.RoundingMode; import java.sql.Timestamp; @@ -317,13 +326,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl hash : formMap.get("ic_party_member")) { if (!hash.containsKey("SSZB")) { - String errorMsg = "党员信息所属支部不能为空"; - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + // 10.26灵山卫的暂时放开,不校验 + if(!"57eaadaab264b816e7159c1a91ac50c1".equals(tokenDto.getCustomerId())){ + String errorMsg = "党员信息所属支部不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } } } } else { - String errorMsg = "党员信息所属支部不能为空"; - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + // 10.26灵山卫的暂时放开,不校验 + if(!"57eaadaab264b816e7159c1a91ac50c1".equals(tokenDto.getCustomerId())){ + String errorMsg = "党员信息所属支部不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } } partyMemberDTO.setCustomerId(tokenDto.getCustomerId()); @@ -546,20 +561,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl hash : formMap.get("ic_party_member")) { if (!hash.containsKey("ID") && !hash.containsKey("SSZB")) { - String errorMsg = "党员信息所属支部不能为空"; - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + // 10.26灵山卫的暂时放开,不校验 + if(!"57eaadaab264b816e7159c1a91ac50c1".equals(tokenDto.getCustomerId())){ + String errorMsg = "党员信息所属支部不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } } } } else { - String errorMsg = "党员信息所属支部不能为空"; - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + // 10.26灵山卫的暂时放开,不校验 + if(!"57eaadaab264b816e7159c1a91ac50c1".equals(tokenDto.getCustomerId())){ + String errorMsg = "党员信息所属支部不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } } } else if (!map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(icResiUser.getIsParty())) { if (formMap.containsKey("ic_party_member")) { for (LinkedHashMap hash : formMap.get("ic_party_member")) { if (!hash.containsKey("ID") && !hash.containsKey("SSZB")) { - String errorMsg = "党员信息所属支部不能为空"; - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + // 10.26灵山卫的暂时放开,不校验 + if(!"57eaadaab264b816e7159c1a91ac50c1".equals(tokenDto.getCustomerId())){ + String errorMsg = "党员信息所属支部不能为空"; + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } } } } @@ -1678,8 +1702,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl list = baseDao.getEpidemicPreventionList(formDTO); + List list = new ArrayList<>(); + if (formDTO.getIsPage()){ + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + list = baseDao.getEpidemicPreventionList(formDTO); + }else { + list = baseDao.getEpidemicPreventionList(formDTO); + } + PageInfo pageInfo = new PageInfo<>(list); if (CollectionUtils.isNotEmpty(list)) { //查询网格名称 @@ -3561,4 +3591,38 @@ public class IcResiUserServiceImpl extends BaseServiceImpl list = null; + do { + PageData data = epidemicPreventionList(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), EpidemicPreventionExportExcel.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-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql new file mode 100644 index 0000000000..8102f6a087 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql @@ -0,0 +1 @@ +alter table ic_nat_relation add COLUMN `IS_LOCAL_RESI_USER` VARCHAR(1) COMMENT '是否本辖区居民,1:是;0:否'after IC_NAT_ID; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index bca57f359e..1d16260551 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -112,7 +112,7 @@ when id = #{item.id} then '处理失败' - when id = #{item.id} then '处理成功' + when id = #{item.id} then '' diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml index 0e3fcaa606..cc94b06d4b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml @@ -55,6 +55,15 @@ AND (r.AGENCY_ID = #{agencyId} or r.pids like concat('%',#{agencyId},'%') ) + + + + AND DATE_FORMAT( c.LATEST_NAT_TIME, '%Y%m%d' ) = #{natDate} + + + AND DATE_FORMAT( c.LATEST_NAT_TIME, '%Y%m%d' ) != #{natDate} + + ORDER BY r.IMPORT_TIME DESC,r.AGENCY_ID desc diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index 991bc5220d..37fcc7dc3b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -38,6 +38,7 @@ a.user_type userType, b.user_id userId, b.is_resi_user isResiUser, + a.is_local_resi_user isLocalResiUser, b.`name` `name`, b.mobile mobile, b.id_card idCard, @@ -75,7 +76,7 @@ AND b.sample_time #{sampleEndTime} - AND b.is_resi_user = #{isResiUser} + AND a.is_local_resi_user = #{isResiUser} ORDER BY b.nat_time DESC, b.id ASC @@ -169,6 +170,29 @@ + + + + DELETE FROM ic_nat WHERE id = #{icNatId} @@ -222,4 +246,27 @@ ) + + + + UPDATE ic_nat_relation + + + + when ID = #{l.relationId} then #{l.isLocalResiUser} + + + UPDATED_TIME = NOW() + + WHERE ID IN( + + #{l.relationId} + ) + + + UPDATE ic_nat_relation + set IS_LOCAL_RESI_USER = '1', + UPDATED_TIME = NOW() + where user_type != 'import' + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index e8b69faefa..497d96a25b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -849,10 +849,10 @@ FROM ic_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} - AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") > #{startDate} + AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") >= #{startDate} - AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") < #{endDate} + AND DATE_FORMAT(INOCULATE_TIME,"%Y-%m-%d") <= #{endDate} GROUP BY ID_CARD ) b ON a.ID_CARD = b.ID_CARD LEFT JOIN ( @@ -860,10 +860,16 @@ FROM ic_nat WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} - AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") > #{startDate} + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") >= #{startDate} - AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") < #{endDate} + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") <= #{endDate} + + + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") >= #{natStartDate} + + + AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") <= #{natEndDate} GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD WHERE @@ -1377,4 +1383,23 @@ ORDER BY `name` ASC + + +