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-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/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/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/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/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