Browse Source

Merge branch 'feature/worklog_zhy'

master
zhangyuan 3 years ago
parent
commit
98ce86d581
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  2. 131
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java
  3. 89
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java
  4. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java
  5. 82
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java
  6. 39
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java
  7. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java
  8. 79
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java
  9. 54
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java
  10. 47
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java
  11. 57
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java
  12. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java
  13. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java
  14. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java
  15. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java
  16. 95
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java
  17. 198
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java
  18. 67
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql
  19. 114
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml
  20. 30
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -28,6 +28,7 @@ public enum DictTypeEnum {
IC_SERVICE_TYPE("ic_service_type","服务类别",20),
IC_DANGER_TYPE("ic_danger_type","危化品种类",24),
POLICY_LEVEL("policy_level","政策级别",25),
LOG_TYPE("log_type", "日志类型", 33),
;
private final String code;

131
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java

@ -0,0 +1,131 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
public class IcWorkLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* 组织Id
*/
private String allAgencyName;
/**
* agency_id的所有上级
*/
private String pids;
/**
* 网格Id场所区域
*/
private String gridId;
/**
* 网格Id场所区域
*/
private String gridName;
/**
* 标题
*/
private String title;
/**
* 日志类型admin库sys_dict_data表value值
*/
private String logType;
/**
* 日志日期
*/
private String logDate;
/**
* 内容
*/
private String content;
/**
* 备注
*/
private String remark;
/**
* 手机
*/
private String mobile;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 创建人名称
*/
private String createdUser;
/**
* url
*/
private String url;
/**
* 附件
*/
private List<IcWorkLogFileDTO> fileList;
}

89
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java

@ -0,0 +1,89 @@
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-05
*/
@Data
public class IcWorkLogFileDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 日志Id
*/
private String logId;
/**
* 地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件名
*/
private String name;
/**
* 文件类型0图片
*/
private String fileType;
/**
* 内容
*/
private Integer sort;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java

@ -0,0 +1,88 @@
package com.epmet.controller;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.excel.IcWorkLogExcel;
import com.epmet.service.IcWorkLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@RestController
@RequestMapping("icWorkLog")
public class IcWorkLogController {
@Autowired
private IcWorkLogService icWorkLogService;
@RequestMapping("page")
public Result<PageData<IcWorkLogDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcWorkLogDTO> page = icWorkLogService.page(params);
return new Result<PageData<IcWorkLogDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcWorkLogDTO> get(@PathVariable("id") String id){
IcWorkLogDTO data = icWorkLogService.get(id);
return new Result<IcWorkLogDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping
public Result save(@RequestBody IcWorkLogDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icWorkLogService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PutMapping
public Result update(@RequestBody IcWorkLogDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icWorkLogService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icWorkLogService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcWorkLogDTO> list = icWorkLogService.list4Export(params);
if(CollectionUtils.isEmpty(list)){
IcWorkLogDTO dto = new IcWorkLogDTO();
dto.setId("");
list.add(dto);
}
ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogExcel.class);
}
}

82
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java

@ -0,0 +1,82 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.excel.IcWorkLogFileExcel;
import com.epmet.service.IcWorkLogFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@RestController
@RequestMapping("icWorkLogFile")
public class IcWorkLogFileController {
@Autowired
private IcWorkLogFileService icWorkLogFileService;
@RequestMapping("page")
public Result<PageData<IcWorkLogFileDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcWorkLogFileDTO> page = icWorkLogFileService.page(params);
return new Result<PageData<IcWorkLogFileDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcWorkLogFileDTO> get(@PathVariable("id") String id){
IcWorkLogFileDTO data = icWorkLogFileService.get(id);
return new Result<IcWorkLogFileDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcWorkLogFileDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icWorkLogFileService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcWorkLogFileDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icWorkLogFileService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icWorkLogFileService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcWorkLogFileDTO> list = icWorkLogFileService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogFileExcel.class);
}
}

39
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java

@ -0,0 +1,39 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.entity.IcWorkLogEntity;
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-05
*/
@Mapper
public interface IcWorkLogDao extends BaseDao<IcWorkLogEntity> {
/**
* 分页列表
*
* @param params
* @return java.util.List<com.epmet.dto.IcWorkLogDTO>
* @author zhy
* @date 2022/8/9 17:23
*/
List<IcWorkLogDTO> listPage(Map<String, Object> params);
/**
* 导出列表
*
* @param params
* @return java.util.List<com.epmet.dto.IcWorkLogDTO>
* @author zhy
* @date 2022/8/9 17:23
*/
List<IcWorkLogDTO> list4Export(Map<String, Object> params);
}

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java

@ -0,0 +1,26 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcWorkLogFileEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Mapper
public interface IcWorkLogFileDao extends BaseDao<IcWorkLogFileEntity> {
/**
* 删除
*
* @param logId
* @return void
* @author generator
* @date 2022-08-05
*/
void deleteByLogId(@Param("logId") String logId);
}

79
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java

@ -0,0 +1,79 @@
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-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_work_log")
public class IcWorkLogEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* agency_id的所有上级
*/
private String pids;
/**
* 网格Id场所区域
*/
private String gridId;
/**
* 标题
*/
private String title;
/**
* 日志类型admin库sys_dict_data表value值
*/
private String logType;
/**
* 日志日期
*/
private String logDate;
/**
* 内容
*/
private String content;
/**
* 备注
*/
private String remark;
/**
* 手机
*/
private String mobile;
/**
* 创建人名称
*/
private String createdUser;
}

54
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java

@ -0,0 +1,54 @@
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-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_work_log_file")
public class IcWorkLogFileEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 日志Id
*/
private String logId;
/**
* 地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件类型0图片
*/
private String fileType;
/**
* 内容
*/
private Integer sort;
}

47
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java

@ -0,0 +1,47 @@
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-05
*/
@Data
public class IcWorkLogExcel {
@Excel(name = "网格员")
private String createdUser;
@Excel(name = "联系电话")
private String mobile;
@Excel(name = "所属镇街")
private String allAgencyName;
@Excel(name = "所属网格")
private String gridName;
@Excel(name = "标题")
private String title;
@Excel(name = "日志时间")
private String logDate;
@Excel(name = "日志类型")
private String logType;
@Excel(name = "内容")
private String content;
@Excel(name = "备注")
private String remark;
@Excel(name = "照片")
private String url;
}

57
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java

@ -0,0 +1,57 @@
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-05
*/
@Data
public class IcWorkLogFileExcel {
@Excel(name = "唯一标识")
private String id;
@Excel(name = "客户Id")
private String customerId;
@Excel(name = "日志Id")
private String logId;
@Excel(name = "地址")
private String url;
@Excel(name = "文件名")
private String fileName;
@Excel(name = "文件类型,0图片")
private String fileType;
@Excel(name = "内容")
private Integer sort;
@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;
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.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-05
*/
@Component
public class IcWorkLogFileRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.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-05
*/
@Component
public class IcWorkLogRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.entity.IcWorkLogFileEntity;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
public interface IcWorkLogFileService extends BaseService<IcWorkLogFileEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcWorkLogFileDTO>
* @author generator
* @date 2022-08-05
*/
PageData<IcWorkLogFileDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcWorkLogFileDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogFileDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcWorkLogFileDTO
* @author generator
* @date 2022-08-05
*/
IcWorkLogFileDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void save(IcWorkLogFileDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void update(IcWorkLogFileDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-05
*/
void delete(String[] ids);
/**
* 删除
*
* @param logId
* @return void
* @author generator
* @date 2022-08-05
*/
void deleteByLogId(String logId);
}

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.entity.IcWorkLogEntity;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
public interface IcWorkLogService extends BaseService<IcWorkLogEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
PageData<IcWorkLogDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogDTO> list(Map<String, Object> params);
/**
* 查询
*
* @param params
* @return java.util.List<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogDTO> list4Export(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcWorkLogDTO
* @author generator
* @date 2022-08-05
*/
IcWorkLogDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void save(IcWorkLogDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void update(IcWorkLogDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-05
*/
void delete(String[] ids);
}

95
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java

@ -0,0 +1,95 @@
package com.epmet.service.impl;
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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcWorkLogFileDao;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.entity.IcWorkLogFileEntity;
import com.epmet.redis.IcWorkLogFileRedis;
import com.epmet.service.IcWorkLogFileService;
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-05
*/
@Service
public class IcWorkLogFileServiceImpl extends BaseServiceImpl<IcWorkLogFileDao, IcWorkLogFileEntity> implements IcWorkLogFileService {
@Autowired
private IcWorkLogFileRedis icWorkLogFileRedis;
@Override
public PageData<IcWorkLogFileDTO> page(Map<String, Object> params) {
IPage<IcWorkLogFileEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcWorkLogFileDTO.class);
}
@Override
public List<IcWorkLogFileDTO> list(Map<String, Object> params) {
List<IcWorkLogFileEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcWorkLogFileDTO.class);
}
private QueryWrapper<IcWorkLogFileEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String logId = (String)params.get("logId");
QueryWrapper<IcWorkLogFileEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(logId), "LOG_ID", logId);
return wrapper;
}
@Override
public IcWorkLogFileDTO get(String id) {
IcWorkLogFileEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcWorkLogFileDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcWorkLogFileDTO dto) {
IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcWorkLogFileDTO dto) {
IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByLogId(String id) {
baseDao.deleteByLogId(id);
}
}

198
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java

@ -0,0 +1,198 @@
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.constant.NumConstant;
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.CustomerGridDao;
import com.epmet.dao.IcWorkLogDao;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.entity.IcWorkLogEntity;
import com.epmet.entity.IcWorkLogFileEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.IcWorkLogRedis;
import com.epmet.service.IcWorkLogFileService;
import com.epmet.service.IcWorkLogService;
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 javax.annotation.Resource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Service
public class IcWorkLogServiceImpl extends BaseServiceImpl<IcWorkLogDao, IcWorkLogEntity> implements IcWorkLogService {
@Autowired
private IcWorkLogRedis icWorkLogRedis;
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private IcWorkLogFileService icWorkLogFileService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
@Resource
private CustomerGridDao customerGridDao;
@Override
public PageData<IcWorkLogDTO> page(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
params.put("createdBy", loginUserUtil.getLoginUserId());
IPage<IcWorkLogDTO> page = getPage(params);
List<IcWorkLogDTO> list = baseDao.listPage(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<IcWorkLogDTO> list(Map<String, Object> params) {
List<IcWorkLogEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcWorkLogDTO.class);
}
@Override
public List<IcWorkLogDTO> list4Export(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
params.put("createdBy", loginUserUtil.getLoginUserId());
List<IcWorkLogDTO> list = baseDao.list4Export(params);
Result<Map<String, String>> result = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.LOG_TYPE.getCode());
if (!result.success() || null == result.getData()) {
throw new EpmetException("查询字典信息失败" + JSON.toJSONString(result));
} else {
Map<String, String> logTypeMap = result.getData();
list.forEach(item -> item.setLogType(logTypeMap.get(item.getLogType())));
}
return list;
}
private QueryWrapper<IcWorkLogEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcWorkLogEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcWorkLogDTO get(String id) {
IcWorkLogEntity entity = baseDao.selectById(id);
IcWorkLogDTO dto = ConvertUtils.sourceToTarget(entity, IcWorkLogDTO.class);
Map<String, Object> params = new HashMap<>(2);
params.put("logId", id);
List<IcWorkLogFileDTO> files = icWorkLogFileService.list(params);
files.forEach(item -> item.setName(item.getFileName()));
dto.setFileList(files);
return dto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcWorkLogDTO dto) {
dto.setCustomerId(loginUserUtil.getLoginUserCustomerId());
//查询当前申请用户的基本信息
CustomerStaffDTO customerStaffParam = new CustomerStaffDTO();
customerStaffParam.setUserId(loginUserUtil.getLoginUserId());
Result<CustomerStaffDTO> staffInfo = epmetUserFeignClient.getCustomerStaffInfoByUserId(customerStaffParam);
if (!staffInfo.success() || null == staffInfo.getData()) {
throw new EpmetException("查询用户信息失败" + JSON.toJSONString(customerStaffParam));
} else {
dto.setCreatedUser(staffInfo.getData().getRealName());
dto.setMobile(staffInfo.getData().getMobile());
}
// 查询网格信息
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(dto.getGridId());
GridDetailResultDTO gridDetailResultDTO = customerGridDao.griddetail(customerGridFormDTO);
if (gridDetailResultDTO != null) {
dto.setAgencyId(gridDetailResultDTO.getAgencyId());
dto.setPids(gridDetailResultDTO.getPIds());
}
IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class);
insert(entity);
// 处理附件
fileHandle(dto.getFileList(), entity.getId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcWorkLogDTO dto) {
// 查询网格信息
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(dto.getGridId());
GridDetailResultDTO gridDetailResultDTO = customerGridDao.griddetail(customerGridFormDTO);
if (gridDetailResultDTO != null) {
dto.setAgencyId(gridDetailResultDTO.getAgencyId());
dto.setPids(gridDetailResultDTO.getPIds());
}
IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class);
updateById(entity);
// 处理附件
icWorkLogFileService.deleteByLogId(entity.getId());
fileHandle(dto.getFileList(), entity.getId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 附件处理
*
* @param fileList
* @param logId
* @return void
* @author zhy
* @date 2022/8/9 17:24
*/
private void fileHandle(List<IcWorkLogFileDTO> fileList, String logId) {
if (!fileList.isEmpty()) {
fileList.forEach(item -> {
item.setLogId(logId);
item.setCustomerId(loginUserUtil.getLoginUserCustomerId());
item.setFileType(NumConstant.ZERO_STR);
});
List<IcWorkLogFileEntity> fileEntityList = ConvertUtils.sourceToTarget(fileList, IcWorkLogFileEntity.class);
icWorkLogFileService.insertBatch(fileEntityList);
}
}
}

67
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql

@ -0,0 +1,67 @@
/*
Navicat Premium Data Transfer
Source Server : epmet_cloud_dev_gov
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: 09/08/2022 10:41:08
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ic_work_log
-- ----------------------------
DROP TABLE IF EXISTS `ic_work_log`;
CREATE TABLE `ic_work_log` (
`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',
`AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织Id',
`PIDS` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'agency_id的所有上级',
`GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格Id【场所区域】',
`TITLE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题',
`LOG_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志类型【admin库sys_dict_data表value值】',
`LOG_DATE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志日期',
`CONTENT` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内容',
`REMARK` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`MOBILE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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 '更新时间',
`CREATED_USER` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人名称',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格员工作日志' ROW_FORMAT = COMPACT;
-- ----------------------------
-- Table structure for ic_work_log_file
-- ----------------------------
DROP TABLE IF EXISTS `ic_work_log_file`;
CREATE TABLE `ic_work_log_file` (
`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',
`LOG_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志Id',
`URL` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '地址',
`FILE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名',
`FILE_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '文件类型,0图片',
`SORT` int(11) NOT NULL DEFAULT 0 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 '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格员工作日志附件' ROW_FORMAT = COMPACT;
SET FOREIGN_KEY_CHECKS = 1;

114
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml

@ -0,0 +1,114 @@
<?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.IcWorkLogDao">
<resultMap type="com.epmet.entity.IcWorkLogEntity" id="icWorkLogMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="pids" column="PIDS"/>
<result property="gridId" column="GRID_ID"/>
<result property="title" column="TITLE"/>
<result property="logType" column="LOG_TYPE"/>
<result property="logDate" column="LOG_DATE"/>
<result property="content" column="CONTENT"/>
<result property="remark" column="REMARK"/>
<result property="mobile" column="MOBILE"/>
<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>
<select id="listPage" resultType="com.epmet.dto.IcWorkLogDTO">
SELECT
*
FROM
ic_work_log wl
WHERE
wl.DEL_FLAG = '0'
AND wl.CUSTOMER_ID = #{customerId}
<if test="logType != null and logType != '' ">
AND wl.LOG_TYPE = #{logType}
</if>
<if test="createdUser != null and createdUser != '' ">
AND wl.created_user = #{createdUser}
</if>
<if test="gridId != null and gridId != '' ">
AND wl.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND (wl.AGENCY_ID = #{agencyId}
OR wl.PIDS LIKE concat('%',#{agencyId}, '%' ))
</if>
<if test="mobile != null and mobile != '' ">
AND wl.MOBILE = #{mobile}
</if>
<if test="isSelf != null and isSelf != ''">
<if test="isSelf == '1' or isSelf == 1">
AND wl.CREATED_BY = #{createdBy}
</if>
</if>
<if test="startTime != null and startTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) >= #{startTime}
</if>
<if test="endTime != null and endTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) &lt;= #{endTime}
</if>
ORDER BY wl.CREATED_TIME DESC
</select>
<select id="list4Export" resultType="com.epmet.dto.IcWorkLogDTO">
SELECT
wl.CREATED_USER,
wl.MOBILE,
CONCAT( a.ALL_PARENT_NAME, '-', a.ORGANIZATION_NAME ) AS allAgencyName,
g.GRID_NAME,
wl.TITLE,
wl.LOG_DATE,
wl.LOG_TYPE,
wl.CONTENT,
wl.REMARK,
GROUP_CONCAT( f.URL ) AS url
FROM
ic_work_log wl
LEFT JOIN customer_grid g ON wl.GRID_ID = g.id
LEFT JOIN customer_agency a ON wl.AGENCY_ID = a.id
LEFT JOIN ic_work_log_file f ON f.LOG_ID = wl.id
WHERE
wl.DEL_FLAG = '0'
AND wl.CUSTOMER_ID = #{customerId}
<if test="logType != null and logType != '' ">
AND wl.LOG_TYPE = #{logType}
</if>
<if test="createdUser != null and createdUser != '' ">
AND wl.created_user = #{createdUser}
</if>
<if test="gridId != null and gridId != '' ">
AND wl.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND (wl.AGENCY_ID = #{agencyId}
OR wl.PIDS LIKE concat('%',#{agencyId}, '%' ))
</if>
<if test="mobile != null and mobile != '' ">
AND wl.MOBILE = #{mobile}
</if>
<if test="isSelf != null and isSelf != '' and isSelf == '1' ">
AND wl.CREATED_BY = #{createdBy}
</if>
<if test="startTime != null and startTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) >= #{startTime}
</if>
<if test="endTime != null and endTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) &lt;= #{endTime}
</if>
GROUP BY
wl.id, wl.CREATED_TIME
ORDER BY wl.CREATED_TIME DESC
</select>
</mapper>

30
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml

@ -0,0 +1,30 @@
<?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.IcWorkLogFileDao">
<resultMap type="com.epmet.entity.IcWorkLogFileEntity" id="icWorkLogFileMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="logId" column="LOG_ID"/>
<result property="url" column="URL"/>
<result property="fileName" column="FILE_NAME"/>
<result property="fileType" column="FILE_TYPE"/>
<result property="sort" column="SORT"/>
<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>
<delete id="deleteByLogId">
DELETE
FROM
ic_work_log_file
WHERE
LOG_ID = #{logId}
</delete>
</mapper>
Loading…
Cancel
Save