Browse Source

重点场所巡查

feature/teamB_zz_wgh
yinzuomei 3 years ago
parent
commit
e95c71cba6
  1. 48
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java
  2. 111
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterpriseFormDTO.java
  3. 83
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePatrolFormDTO.java
  4. 98
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java
  5. 63
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterprisePatrolResultDTO.java
  6. 155
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java
  7. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCoverageCategoryDictDao.java
  8. 32
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolAttachmentDao.java
  9. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolRecordDao.java
  10. 80
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolAttachmentEntity.java
  11. 98
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java
  12. 205
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java
  13. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterprise_patrol_import_tem.xlsx
  14. 7
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml
  15. 40
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml
  16. 33
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolRecordDao.xml

48
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java

@ -0,0 +1,48 @@
package com.epmet.commons.tools.enums;
/**
* 五大图层字典表placeType枚举
*/
public enum CoveragePlaceTypeEnum {
SUPERIOR_RESOURCE("superior_resource", "优势资源"),
DANGEROUS_CHEMICALS("dangerous_chemicals", "重点危化企业"),
ENTERPRISE_PATROL("enterprise_patrol", "企事业单位巡查"),
SPECIAL_RESI("special_resi", "特殊人群"),
CITY_MANAGEMENT("city_management", "城市管理"),
COMMUNITY_ORG("community_org", "社区自组织"),
PUBLIC_SERVICE("public_service", "公共服务"),
RESI("resi", "居民"),
PARTY_UNIT("party_unit", "联建单位"),
GROUP_RENT("group_rent", "群租房"),
EVENT("event", "事件(包括难点堵点)");
private final String code;
private final String name;
CoveragePlaceTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static CoveragePlaceTypeEnum getEnum(String code) {
CoveragePlaceTypeEnum[] values = CoveragePlaceTypeEnum.values();
for (CoveragePlaceTypeEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}

111
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterpriseFormDTO.java

@ -0,0 +1,111 @@
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 java.io.Serializable;
@Data
public class EnterpriseFormDTO implements Serializable {
public interface AddShow extends CustomerClientShowGroup {}
// public interface UpdateShow extends CustomerClientShowGroup {}
/**
* 客户Id
* token赋值
*/
private String customerId;
/**
* 网格Id场所区域
*/
@NotBlank(message = "场所区域不能为空", groups = {AddShow.class})
private String gridId;
/**
* 网格所属的组织Id
*/
@NotBlank(message = "所属组织不能为空", groups = {AddShow.class})
private String agencyId;
/**
* agency_id的所有上级
* 接口内查询
*/
private String agencyPids;
/**
* 场所类型来源于ic_coverage_category_dict
*/
@NotBlank(message = "场所类型不能为空", groups = {AddShow.class})
private String placeType;
/**
* 场所名称
*/
@NotBlank(message = "场所名称不能为空", groups = {AddShow.class})
@Length(max = 50, message = "场所名称最多输入50字", groups = {AddShow.class})
private String placeOrgName;
/**
* 场所地址
*/
@NotBlank(message = "场所地址不能为空", groups = {AddShow.class})
private String address;
/**
* 经度
*/
@NotBlank(message = "位置坐标不能为空", groups = {AddShow.class})
private String longitude;
/**
* 纬度
*/
@NotBlank(message = "位置坐标不能为空", groups = {AddShow.class})
private String latitude;
/**
* 字典value,场所规模
0:10人以下
1:10-20人
2:21-40人
3:41-100人
4:100人以上
*/
@NotBlank(message = "规模不能为空", groups = {AddShow.class})
private String scale;
/**
* 场所负责人
*/
@NotBlank(message = "负责人不能为空", groups = {AddShow.class})
private String personInCharge;
/**
* 负责人电话
*/
@NotBlank(message = "联系电话不能为空", groups = {AddShow.class})
@Length(max = 50, message = "联系电话最多输入50位", groups = {AddShow.class})
private String mobile;
/**
* 企事业单位id
*/
private String enterpriseId;
/**
* 来源新增:add 导入:import
* 接口内复制
*/
private String sourceType;
/**
* 最新巡查结果0:合格 1:不合格
* 默认为空
*/
private String latestResult;
}

83
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EnterprisePatrolFormDTO.java

@ -0,0 +1,83 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class EnterprisePatrolFormDTO implements Serializable {
public interface AddShow extends CustomerClientShowGroup {}
// public interface UpdateShow extends CustomerClientShowGroup {}
/**
* 客户Id
*/
private String customerId;
//修改时必填
private String patrolId;
/**
* 企事业单位id
*/
@NotBlank(message = "企事业单位id不能为空", groups = {AddShow.class})
private String enterpriseId;
/**
* 巡查时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date patrolTime;
/**
* 工作人员id
*/
@NotBlank(message = "巡查人员id不能为空", groups = {AddShow.class})
private String staffId;
/**
* 工作人员姓名
*/
@NotBlank(message = "巡查人员姓名不能为空", groups = {AddShow.class})
private String staffName;
/**
* 工作人员手机号
*/
@NotBlank(message = "联系电话不能为空", groups = {AddShow.class})
private String mobile;
/**
* 检查结果0:合格 1:不合格
*/
@NotBlank(message = "检查结果不能为空", groups = {AddShow.class})
private String result;
/**
* 隐患明细
*/
@Length(max = 50, message = "隐患明细500字以内", groups = {AddShow.class})
private String detailed;
/**
* 拟复查时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date reviewTime;
/**
* 图片列表
*/
private List<String> imgList;
//tokenDto.getUserId
private String userId;
}

98
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterpriseDetailDTO.java

@ -0,0 +1,98 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 场所详情
*/
@Data
public class EnterpriseDetailDTO implements Serializable {
private String enterpriseId;
/**
* 网格Id场所区域
*/
private String gridId;
private String gridName;
/**
* 网格所属的组织Id
*/
private String agencyId;
private String agencyName;
/**
* agency_id的所有上级
*/
private String agencyPids;
/**
* 场所类型来源于ic_coverage_category_dict
*/
private String placeType;
/**
* 场所类型名称
*/
private String placeTypeName;
/**
* 场所名称
*/
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 scaleName;
/**
* 场所负责人
*/
private String personInCharge;
/**
* 负责人电话
*/
private String mobile;
/**
* 来源新增:add 导入:import
*/
private String sourceType;
/**
* 最新巡查结果0:合格 1:不合格
*/
private String latestResult;
}

63
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EnterprisePatrolResultDTO.java

@ -0,0 +1,63 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class EnterprisePatrolResultDTO implements Serializable {
//修改时必填
private String patrolId;
/**
* 企事业单位id
*/
private String enterpriseId;
/**
* 巡查时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date patrolTime;
/**
* 工作人员id
*/
private String staffId;
/**
* 工作人员姓名
*/
private String staffName;
/**
* 工作人员手机号
*/
private String mobile;
/**
* 检查结果0:合格 1:不合格
*/
private String result;
/**
* 隐患明细
*/
private String detailed;
/**
* 拟复查时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date reviewTime;
/**
* 图片列表
*/
private List<String> imgList;
}

155
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java

@ -1,9 +1,27 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.EnterpriseFormDTO;
import com.epmet.dto.form.EnterprisePatrolFormDTO;
import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.service.IcEnterpriseService;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
/**
@ -19,50 +37,97 @@ public class IcEnterpriseController {
@Autowired
private IcEnterpriseService icEnterpriseService;
// @RequestMapping("page")
// public Result<PageData<IcEnterpriseDTO>> page(@RequestParam Map<String, Object> params){
// PageData<IcEnterpriseDTO> page = icEnterpriseService.page(params);
// return new Result<PageData<IcEnterpriseDTO>>().ok(page);
// }
//
// @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
// public Result<IcEnterpriseDTO> get(@PathVariable("id") String id){
// IcEnterpriseDTO data = icEnterpriseService.get(id);
// return new Result<IcEnterpriseDTO>().ok(data);
// }
//
// @NoRepeatSubmit
// @PostMapping("save")
// public Result save(@RequestBody IcEnterpriseDTO dto){
// //效验数据
// ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
// icEnterpriseService.save(dto);
// return new Result();
// }
//
// @NoRepeatSubmit
// @PostMapping("update")
// public Result update(@RequestBody IcEnterpriseDTO dto){
// //效验数据
// ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
// icEnterpriseService.update(dto);
// return new Result();
// }
//
// @PostMapping("delete")
// public Result delete(@RequestBody String[] ids){
// //效验数据
// AssertUtils.isArrayEmpty(ids, "id");
// icEnterpriseService.delete(ids);
// return new Result();
// }
//
// @GetMapping("export")
// public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
// List<IcEnterpriseDTO> list = icEnterpriseService.list(params);
// ExcelUtils.exportExcelToTarget(response, null, list, IcEnterpriseExcel.class);
// }
/**
* 企事业单位巡查新增/编辑
*
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("addOrUpdate")
public Result addOrUpdate(@LoginUser TokenDto tokenDto, @RequestBody EnterpriseFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(EnterpriseFormDTO.AddShow.class);
Map<String, String> map = new HashMap<>();
map.put("enterpriseId", icEnterpriseService.addOrUpdate(formDTO));
return new Result().ok(map);
}
/**
* 场所详情
*
* @param tokenDto
* @param enterpriseId
* @return
*/
@PostMapping("detail/{enterpriseId}")
public Result<EnterpriseDetailDTO> detail(@LoginUser TokenDto tokenDto, @PathVariable("enterpriseId") String enterpriseId) {
return new Result<EnterpriseDetailDTO>().ok(icEnterpriseService.queryEnterpriseDetail(tokenDto.getCustomerId(), enterpriseId));
}
/**
* 下载社区自组织导入模板
*
* @param response
* @throws IOException
*/
@RequestMapping(value = "download-tem", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("企事业单位导入模板", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/enterprise_patrol.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
/**
* 企事业单位巡查新增/修改巡查记录
*
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("addorupdate-patrol")
public Result addOrUpdatePatrol(@LoginUser TokenDto tokenDto, @RequestBody EnterprisePatrolFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, EnterprisePatrolFormDTO.AddShow.class);
Map<String, String> map = new HashMap<>();
map.put("patrolId", icEnterpriseService.addOrUpdatePatrol(formDTO));
return new Result().ok(map);
}
/**
* 删除巡查记录
*
* @param patrolId
* @return
*/
@PostMapping("del-patrol/{patrolId}")
public Result delPatrol(@LoginUser TokenDto tokenDto, @PathVariable("patrolId") String patrolId) {
icEnterpriseService.delPatrol(patrolId, tokenDto.getUserId());
return new Result();
}
/**
* 巡查记录列表
*
* @param enterpriseId
* @return
*/
@PostMapping("patrollist/{enterpriseId}")
public Result<PageData<EnterprisePatrolResultDTO>> patrolList(@PathVariable("enterpriseId") String enterpriseId) {
return new Result<PageData<EnterprisePatrolResultDTO>>().ok(icEnterpriseService.patrolList(enterpriseId));
}
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcCoverageCategoryDictDao.java

@ -1,7 +1,6 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.CoverageCategoryResultDTO;
import com.epmet.dto.result.IcCoverageCategoryDictListResultDTO;
import com.epmet.entity.IcCoverageCategoryDictEntity;
import org.apache.ibatis.annotations.Mapper;
@ -20,4 +19,5 @@ public interface IcCoverageCategoryDictDao extends BaseDao<IcCoverageCategoryDic
List<IcCoverageCategoryDictListResultDTO> dictMap(@Param("customerId") String customerId, @Param("placeType") String placeType);
String selectCategoryName(@Param("customerId") String customerId, @Param("placeType") String placeType, @Param("categoryKey") String categoryKey);
}

32
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolAttachmentDao.java

@ -0,0 +1,32 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcEnterprisePatrolAttachmentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 企事业单位巡查附件表(目前只上传图片)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-20
*/
@Mapper
public interface IcEnterprisePatrolAttachmentDao extends BaseDao<IcEnterprisePatrolAttachmentEntity> {
/**
* 删除巡查及路的图片
* @param patrolId
* @return
*/
int deleteByPatrolId(@Param("patrolId") String patrolId, @Param("staffId") String staffId);
/**
* 巡查记录图片
* @param patrolId
* @return
*/
List<String> selectAtt(String patrolId);
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcEnterprisePatrolRecordDao.java

@ -1,9 +1,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.entity.IcEnterprisePatrolRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 企事业单位巡查表
*
@ -13,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IcEnterprisePatrolRecordDao extends BaseDao<IcEnterprisePatrolRecordEntity> {
List<EnterprisePatrolResultDTO> patrolList(String enterpriseId);
}

80
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcEnterprisePatrolAttachmentEntity.java

@ -0,0 +1,80 @@
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-06-20
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_enterprise_patrol_attachment")
public class IcEnterprisePatrolAttachmentEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 服务记录id,服务项目id
*/
private String patrolId;
/**
* 附件名
*/
private String attachmentName;
/**
* 文件格式JPGPNGPDFJPEGBMPMP4WMAM4AMP3DOCDOCXXLS
*/
private String attachmentFormat;
/**
* 附件类型图片 - image 视频 - video 语音 - voice 文档 - doc
*/
private String attachmentType;
/**
* 附件地址
*/
private String attachmentUrl;
/**
* 排序字段
*/
private Integer sort;
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
private String status;
/**
* 失败原因
*/
private String reason;
/**
* 语音或视频时长,
*/
private Integer duration;
}

98
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java

@ -1,6 +1,11 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.form.EnterpriseFormDTO;
import com.epmet.dto.form.EnterprisePatrolFormDTO;
import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.entity.IcEnterpriseEntity;
/**
@ -10,64 +15,39 @@ import com.epmet.entity.IcEnterpriseEntity;
* @since v1.0.0 2022-06-17
*/
public interface IcEnterpriseService extends BaseService<IcEnterpriseEntity> {
/**
* 企事业单位巡查新增/编辑
* @param formDTO
* @return 返回企事业单位id
*/
String addOrUpdate(EnterpriseFormDTO formDTO);
/**
* 企事业单位巡查新增/修改巡查记录
* @param formDTO
* @return
*/
String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO);
/**
* 删除巡查记录
* @param patrolId
*/
void delPatrol(String patrolId,String currentUserId);
/**
* 巡查记录列表
* @param enterpriseId
* @return
*/
PageData<EnterprisePatrolResultDTO> patrolList(String enterpriseId);
/**
* 企事业单位详情
* @param customerId
* @param enterpriseId
* @return
*/
EnterpriseDetailDTO queryEnterpriseDetail(String customerId, String enterpriseId);
// /**
// * 默认分页
// *
// * @param params
// * @return PageData<IcEnterpriseDTO>
// * @author generator
// * @date 2022-06-17
// */
// PageData<IcEnterpriseDTO> page(Map<String, Object> params);
//
// /**
// * 默认查询
// *
// * @param params
// * @return java.util.List<IcEnterpriseDTO>
// * @author generator
// * @date 2022-06-17
// */
// List<IcEnterpriseDTO> list(Map<String, Object> params);
//
// /**
// * 单条查询
// *
// * @param id
// * @return IcEnterpriseDTO
// * @author generator
// * @date 2022-06-17
// */
// IcEnterpriseDTO get(String id);
//
// /**
// * 默认保存
// *
// * @param dto
// * @return void
// * @author generator
// * @date 2022-06-17
// */
// void save(IcEnterpriseDTO dto);
//
// /**
// * 默认更新
// *
// * @param dto
// * @return void
// * @author generator
// * @date 2022-06-17
// */
// void update(IcEnterpriseDTO dto);
//
// /**
// * 批量删除
// *
// * @param ids
// * @return void
// * @author generator
// * @date 2022-06-17
// */
// void delete(String[] ids);
}

205
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java

@ -1,10 +1,42 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.enums.CommonOperateTypeEnum;
import com.epmet.commons.tools.enums.CoveragePlaceTypeEnum;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcCoverageCategoryDictDao;
import com.epmet.dao.IcEnterpriseDao;
import com.epmet.dao.IcEnterprisePatrolAttachmentDao;
import com.epmet.dao.IcEnterprisePatrolRecordDao;
import com.epmet.dto.form.EnterpriseFormDTO;
import com.epmet.dto.form.EnterprisePatrolFormDTO;
import com.epmet.dto.result.EnterpriseDetailDTO;
import com.epmet.dto.result.EnterprisePatrolResultDTO;
import com.epmet.entity.IcEnterpriseEntity;
import com.epmet.entity.IcEnterprisePatrolAttachmentEntity;
import com.epmet.entity.IcEnterprisePatrolRecordEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.IcEnterpriseService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 企事业单位表
@ -14,57 +46,128 @@ import org.springframework.stereotype.Service;
*/
@Service
public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, IcEnterpriseEntity> implements IcEnterpriseService {
@Autowired
private IcEnterprisePatrolAttachmentDao enterprisePatrolAttachmentDao;
@Autowired
private IcEnterprisePatrolRecordDao enterprisePatrolRecordDao;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private IcCoverageCategoryDictDao coverageCategoryDictDao;
/**
* 企事业单位巡查新增/编辑
*
* @param formDTO
* @return 返回企事业单位id
*/
@Transactional(rollbackFor = Exception.class)
@Override
public String addOrUpdate(EnterpriseFormDTO formDTO) {
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId());
if (null == agencyInfoCache) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"组织信息查询异常","组织信息查询异常");
}
IcEnterpriseEntity enterpriseEntity = ConvertUtils.sourceToTarget(formDTO, IcEnterpriseEntity.class);
enterpriseEntity.setAgencyPids(agencyInfoCache.getPids());
if(StringUtils.isBlank(formDTO.getEnterpriseId())){
enterpriseEntity.setLatestResult(StrConstant.EPMETY_STR);
enterpriseEntity.setSourceType(CommonOperateTypeEnum.ADD.getCode());
baseDao.insert(enterpriseEntity);
}else{
enterpriseEntity.setId(formDTO.getEnterpriseId());
baseDao.updateById(enterpriseEntity);
}
return enterpriseEntity.getId();
}
/**
* 企事业单位巡查新增/修改巡查记录
*
* @param formDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO) {
IcEnterprisePatrolRecordEntity patrolRecordEntity=ConvertUtils.sourceToTarget(formDTO,IcEnterprisePatrolRecordEntity.class);
if(StringUtils.isBlank(formDTO.getEnterpriseId())){
enterprisePatrolRecordDao.insert(patrolRecordEntity);
}else{
patrolRecordEntity.setId(formDTO.getPatrolId());
enterprisePatrolRecordDao.updateById(patrolRecordEntity);
//删除之前的图片
enterprisePatrolAttachmentDao.deleteByPatrolId(formDTO.getPatrolId(),formDTO.getUserId());
}
int sort = 1;
for (String imgUrl : formDTO.getImgList()) {
IcEnterprisePatrolAttachmentEntity att = new IcEnterprisePatrolAttachmentEntity();
att.setCustomerId(formDTO.getCustomerId());
att.setPatrolId(patrolRecordEntity.getId());
att.setAttachmentType("image");
att.setAttachmentUrl(imgUrl);
att.setSort(sort);
att.setStatus("auto_passed");
enterprisePatrolAttachmentDao.insert(att);
sort++;
}
return patrolRecordEntity.getId();
}
/**
* 删除巡查记录
*
* @param patrolId
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void delPatrol(String patrolId,String currentUserId) {
//1、删除巡查记录
enterprisePatrolRecordDao.deleteById(patrolId);
//2、删除之前的图片
enterprisePatrolAttachmentDao.deleteByPatrolId(patrolId,currentUserId);
}
/**
* 巡查记录列表
* 暂时不分页
* @param enterpriseId
* @return
*/
@Override
public PageData<EnterprisePatrolResultDTO> patrolList(String enterpriseId) {
List<EnterprisePatrolResultDTO> list = enterprisePatrolRecordDao.patrolList(enterpriseId);
int total = CollectionUtils.isNotEmpty(list) ? list.size() : NumConstant.ZERO;
return new PageData<>(list, total);
}
/**
* 企事业单位详情
*
* @param customerId
* @param enterpriseId
* @return
*/
@Override
public EnterpriseDetailDTO queryEnterpriseDetail(String customerId, String enterpriseId) {
IcEnterpriseEntity enterpriseEntity=baseDao.selectById(enterpriseId);
if(null==enterpriseEntity){
return null;
}
EnterpriseDetailDTO resultDto=ConvertUtils.sourceToTarget(enterpriseEntity,EnterpriseDetailDTO.class);
resultDto.setEnterpriseId(enterpriseId);
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(resultDto.getGridId());
if (null != gridInfoCache) {
resultDto.setGridName(gridInfoCache.getGridName());
resultDto.setAgencyName(gridInfoCache.getAgencyName());
}
String placeTypeName=coverageCategoryDictDao.selectCategoryName(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode(),resultDto.getPlaceType());
resultDto.setPlaceTypeName(placeTypeName);
//规模名称
Result<Map<String, String>> dictMapRes=adminOpenFeignClient.dictMap(DictTypeEnum.SCALE.getCode());
Map<String, String> dictMap = dictMapRes.success() && MapUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData() : new HashMap<>();
resultDto.setScaleName(dictMap.containsKey(resultDto.getScale())?dictMap.get(resultDto.getScale()):StrConstant.EPMETY_STR);
return resultDto;
}
// @Override
// public PageData<IcEnterpriseDTO> page(Map<String, Object> params) {
// IPage<IcEnterpriseEntity> page = baseDao.selectPage(
// getPage(params, FieldConstant.CREATED_TIME, false),
// getWrapper(params)
// );
// return getPageData(page, IcEnterpriseDTO.class);
// }
//
// @Override
// public List<IcEnterpriseDTO> list(Map<String, Object> params) {
// List<IcEnterpriseEntity> entityList = baseDao.selectList(getWrapper(params));
//
// return ConvertUtils.sourceToTarget(entityList, IcEnterpriseDTO.class);
// }
//
// private QueryWrapper<IcEnterpriseEntity> getWrapper(Map<String, Object> params){
// String id = (String)params.get(FieldConstant.ID_HUMP);
//
// QueryWrapper<IcEnterpriseEntity> wrapper = new QueryWrapper<>();
// wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
//
// return wrapper;
// }
//
// @Override
// public IcEnterpriseDTO get(String id) {
// IcEnterpriseEntity entity = baseDao.selectById(id);
// return ConvertUtils.sourceToTarget(entity, IcEnterpriseDTO.class);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void save(IcEnterpriseDTO dto) {
// IcEnterpriseEntity entity = ConvertUtils.sourceToTarget(dto, IcEnterpriseEntity.class);
// insert(entity);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void update(IcEnterpriseDTO dto) {
// IcEnterpriseEntity entity = ConvertUtils.sourceToTarget(dto, IcEnterpriseEntity.class);
// updateById(entity);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void delete(String[] ids) {
// // 逻辑删除(@TableLogic 注解)
// baseDao.deleteBatchIds(Arrays.asList(ids));
// }
}

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/enterprise_patrol_import_tem.xlsx

Binary file not shown.

7
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml

@ -24,4 +24,11 @@
ORDER BY sort ASC
</select>
<select id="selectCategoryName" parameterType="map" resultType="java.lang.String">
select category_name from ic_coverage_category_dict
where del_flag = '0'
AND customer_id = #{customerId}
and CATEGORY_KEY=#{categoryKey}
and PLACE_TYPE=#{placeType}
</select>
</mapper>

40
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolAttachmentDao.xml

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcEnterprisePatrolAttachmentDao">
<resultMap type="com.epmet.entity.IcEnterprisePatrolAttachmentEntity" id="icEnterprisePatrolAttachmentMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="patrolId" column="PATROL_ID"/>
<result property="attachmentName" column="ATTACHMENT_NAME"/>
<result property="attachmentFormat" column="ATTACHMENT_FORMAT"/>
<result property="attachmentType" column="ATTACHMENT_TYPE"/>
<result property="attachmentUrl" column="ATTACHMENT_URL"/>
<result property="sort" column="SORT"/>
<result property="status" column="STATUS"/>
<result property="reason" column="REASON"/>
<result property="duration" column="DURATION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="deleteByPatrolId" parameterType="java.lang.String">
update ic_enterprise_patrol_attachment
set del_flag='1',
UPDATED_TIME=now(),
UPDATED_BY={staffId}
where PATROL_ID=#{patrolId}
</update>
<select id="selectAtt" parameterType="java.lang.String" resultType="java.lang.String">
select a.ATTACHMENT_URL from ic_enterprise_patrol_attachment a
where a.del_flag='0'
and a.PATROL_ID=#{patrolId}
order by sort asc
</select>
</mapper>

33
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterprisePatrolRecordDao.xml

@ -3,9 +3,8 @@
<mapper namespace="com.epmet.dao.IcEnterprisePatrolRecordDao">
<resultMap type="com.epmet.entity.IcEnterprisePatrolRecordEntity" id="icEnterpriseRecordMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<resultMap type="com.epmet.dto.result.EnterprisePatrolResultDTO" id="EnterprisePatrolResultDTOMap">
<result property="patrolId" column="ID"/>
<result property="enterpriseId" column="ENTERPRISE_ID"/>
<result property="patrolTime" column="PATROL_TIME"/>
<result property="staffId" column="STAFF_ID"/>
@ -14,13 +13,27 @@
<result property="result" column="RESULT"/>
<result property="detailed" column="DETAILED"/>
<result property="reviewTime" column="REVIEW_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<collection property="imgList" column="ID" ofType="java.lang.String" select="com.epmet.dao.IcEnterprisePatrolAttachmentDao.selectAtt">
</collection>
</resultMap>
<select id="patrolList" resultMap="EnterprisePatrolResultDTOMap">
SELECT
r.ID,
r.ENTERPRISE_ID,
r.PATROL_TIME,
r.STAFF_ID,
r.STAFF_NAME,
r.MOBILE,
r.RESULT,
IFNULL( r.DETAILED, '' ) AS DETAILED,
r.REVIEW_TIME
FROM
ic_enterprise_patrol_record r
WHERE
r.DEL_FLAG = '0'
AND r.ENTERPRISE_ID = #{enterpriseId}
ORDER BY
r.CREATED_TIME DESC
</select>
</mapper>
Loading…
Cancel
Save