Browse Source

fit:信访投诉、局长信箱改造

master
pengwei 7 months ago
parent
commit
3fa94adc19
  1. 2
      src/main/java/com/biutag/supervision/config/InterceptorConfig.java
  2. 161
      src/main/java/com/biutag/supervision/controller/books/DataThreadControllers.java
  3. 81
      src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java
  4. 2
      src/main/java/com/biutag/supervision/job/Job.java
  5. 7
      src/main/java/com/biutag/supervision/mapper/DataMailboxBlameMapper.java
  6. 7
      src/main/java/com/biutag/supervision/mapper/DataMailboxBlameRelationMapper.java
  7. 14
      src/main/java/com/biutag/supervision/mapper/DataMailboxMapper.java
  8. 19
      src/main/java/com/biutag/supervision/mapper/DataThreadMapper.java
  9. 76
      src/main/java/com/biutag/supervision/pojo/entity/DataMailbox.java
  10. 57
      src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlame.java
  11. 50
      src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlameRelation.java
  12. 5
      src/main/java/com/biutag/supervision/pojo/entity/SupRota.java
  13. 4
      src/main/java/com/biutag/supervision/pojo/entity/SuperviseReport.java
  14. 2
      src/main/java/com/biutag/supervision/pojo/entity/ZhkshDutyScheduleDc.java
  15. 54
      src/main/java/com/biutag/supervision/pojo/param/DataThreadQueryParam.java
  16. 86
      src/main/java/com/biutag/supervision/pojo/vo/DataComplaintVo.java
  17. 54
      src/main/java/com/biutag/supervision/pojo/vo/DataThreaVo.java
  18. 70
      src/main/java/com/biutag/supervision/pojo/vo/ExcelDataThreaVo.java
  19. 12
      src/main/java/com/biutag/supervision/service/DataMailboxBlameRelationService.java
  20. 14
      src/main/java/com/biutag/supervision/service/DataMailboxBlameService.java
  21. 22
      src/main/java/com/biutag/supervision/service/DataMailboxService.java
  22. 100
      src/main/java/com/biutag/supervision/service/DataThreadService.java
  23. 111
      src/main/java/com/biutag/supervision/service/MailService.java
  24. 12
      src/main/resources/mapper/DataMailboxMapper.xml
  25. 114
      src/main/resources/mapper/DataThreadMapper.xml

2
src/main/java/com/biutag/supervision/config/InterceptorConfig.java

@ -47,7 +47,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
.excludePathPatterns("/common/**")
.excludePathPatterns("/app/**")
// excel导出
.excludePathPatterns("/data/petitionComplaint12337/export/result","/err","/sampling/export/samplingPoling", "/negative/books/export/**","/data/petitionComplaint/export/**","/confinement/export")
.excludePathPatterns("/data/petitionComplaint12337/export/result","/err","/sampling/export/samplingPoling", "/negative/books/export/**","/data/petitionComplaint/export/**","/confinement/export","/books/dataThread/export")
.excludePathPatterns(List.of("/doc.html", "/webjars/**", "/favicon.ico", "/v3/api-docs/**"));
registry.addInterceptor(new ApiInterceptor())
.addPathPatterns("/api/jwdc/**");

161
src/main/java/com/biutag/supervision/controller/books/DataThreadControllers.java

@ -0,0 +1,161 @@
package com.biutag.supervision.controller.books;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.mapper.DataThreadMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.entity.SupDictData;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
import com.biutag.supervision.pojo.param.DataThreadQueryParam;
import com.biutag.supervision.pojo.vo.DataPetitionComplaintVo;
import com.biutag.supervision.pojo.vo.DataThreaVo;
import com.biutag.supervision.pojo.vo.ExcelDataThreaVo;
import com.biutag.supervision.pojo.vo.ExportGabxfVo;
import com.biutag.supervision.service.DataMailboxService;
import com.biutag.supervision.service.DataPetitionComplaintService;
import com.biutag.supervision.service.DataThreadService;
import com.biutag.supervision.service.SupDictDataService;
import com.biutag.supervision.util.CommonUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
@RestController
@RequiredArgsConstructor
@RequestMapping("/books/dataThread")
public class DataThreadControllers {
private final DataThreadService dataThreadService;
private final DataThreadMapper dataThreadMapper;
private final DataPetitionComplaintService dataPetitionComplaintService;
private final DataMailboxService dataMailboxService;
private final SupDictDataService dictDataService;
@GetMapping
public Result<Object> page(DataThreadQueryParam queryParam){
return dataThreadService.pageList(queryParam);
}
//台帐导出
@GetMapping("export")
public void exportByGabXf(DataThreadQueryParam queryParam, HttpServletResponse response) throws IOException {
queryParam.setCurrent(1);
queryParam.setSize(100000);
if(CollectionUtil.isNotEmpty(queryParam.getCreateTime())){
// queryWrapper.between(DataThreaVo::getCrtTime,queryParam.getCrtTime().get(0),queryParam.getCrtTime().get(1));
queryParam.setStartCrtTime(queryParam.getCreateTime().get(0));
queryParam.setEndCrtTime(queryParam.getCreateTime().get(1));
}
//投诉时间
if(CollectionUtil.isNotEmpty(queryParam.getDiscoveryTime())){
// queryWrapper.between(DataThreaVo::getDiscoveryTime,queryParam.getDiscoveryTime().get(0),queryParam.getDiscoveryTime().get(1));
queryParam.setStartDiscoveryTime(queryParam.getDiscoveryTime().get(0));
queryParam.setEndDiscoveryTime(queryParam.getDiscoveryTime().get(1));
}
List<DataThreaVo> dataThreaVoList = new ArrayList<>();
if(StrUtil.isNotBlank(queryParam.getProblemSourcesCode())){
if("21".equals(queryParam.getProblemSourcesCode()) || "22".equals(queryParam.getProblemSourcesCode())){
DataPetitionComplaintQueryParam dataPetitionComplaintQueryParam = new DataPetitionComplaintQueryParam();
BeanUtil.copyProperties(queryParam,dataPetitionComplaintQueryParam);
List<DataPetitionComplaintVo> DataPetitionComplaint = dataPetitionComplaintService.page(dataPetitionComplaintQueryParam).getRecords();
dataThreaVoList= CommonUtil.copyBeanList(DataPetitionComplaint,DataThreaVo.class);
}
else{
LambdaQueryWrapper<DataMailbox> wrapper = new LambdaQueryWrapper<DataMailbox>()
.eq(DataMailbox::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue())
.like(StrUtil.isNotBlank(queryParam.getOriginId()), DataMailbox::getOriginId, queryParam.getOriginId())
.like(StrUtil.isNotBlank(queryParam.getThingDesc()), DataMailbox::getThingDesc, queryParam.getThingDesc());
if (queryParam.getDiscoveryTime().size() == 2) {
wrapper.between(DataMailbox::getDiscoveryTime, queryParam.getDiscoveryTime().get(0), queryParam.getDiscoveryTime().get(1));
}
if (StrUtil.isNotBlank(queryParam.getResponderKey()) && StrUtil.isNotBlank(queryParam.getResponderValue())) {
switch (queryParam.getResponderKey()) {
case "name":
wrapper.like(DataMailbox::getResponderName, queryParam.getResponderValue());
break;
case "phone":
wrapper.like(DataMailbox::getContactPhone, queryParam.getResponderValue());
break;
}
}
List<DataMailbox> dataMailboxes =dataMailboxService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()), wrapper).getRecords();
dataThreaVoList=CommonUtil.copyBeanList(dataMailboxes,DataThreaVo.class);
}
}else{
dataThreaVoList = dataThreadMapper.queryPage(Page.of(queryParam.getCurrent(), queryParam.getSize()),queryParam).getRecords();
}
//初重信访
List<SupDictData> initialPetitionDict = dictDataService.listByDictType("initialPetition");
//状态
List<SupDictData> distributionStateDict = dictDataService.listByDictType("distributionState");
AtomicInteger i = new AtomicInteger(1);
List<ExcelDataThreaVo> list = dataThreaVoList.stream().map(item -> {
ExcelDataThreaVo excelDataThreaVo = new ExcelDataThreaVo();
BeanUtil.copyProperties(item, excelDataThreaVo);
excelDataThreaVo.setDepartName(StrUtil.isNotBlank(item.getSecondDepartName())?item.getSecondDepartName():"" + item.getThirdDepartName());
if(StrUtil.isNotBlank(excelDataThreaVo.getChannelForFilingComplaints())){
excelDataThreaVo.setChannelForFilingComplaints(("gabxf").equals(item.getTableName())?("21".equals(item.getProblemSourcesCode())?"国家信访":"公安部信访"):"局长信箱");
}
if(StrUtil.isNotBlank(excelDataThreaVo.getProblemSourcesCode())){
excelDataThreaVo.setProblemSourcesCode(("gabxf").equals(item.getTableName())?("21".equals(item.getProblemSourcesCode())?"国家信访":"公安部信访"):"局长信箱");
}
//群众集访
if(StrUtil.isNotBlank(item.getMassVisits())){
excelDataThreaVo.setMassVisits("true".equals(item.getMassVisits())?"是":"否");
}
if(StrUtil.isNotBlank(item.getDistributionState())){
excelDataThreaVo.setDistributionState("0".equals(item.getDistributionState())?"未分发":"已分发");
}
if(StrUtil.isNotBlank(item.getInitialPetition())){
excelDataThreaVo.setInitialPetition(
initialPetitionDict.stream().filter(s->s.getDictValue().equals(item.getInitialPetition()))
.map(SupDictData::getDictLabel).toList().get(0)
);
}
if(StrUtil.isNotBlank(item.getDistributionState())){
excelDataThreaVo.setDistributionState(
distributionStateDict.stream().filter(s->s.getDictValue().equals(item.getDistributionState()))
.map(SupDictData::getDictLabel).toList().get(0)
);
}
return excelDataThreaVo;
}).toList();
String headerValue = "attachment; filename=\"" + URLEncoder.encode("1.xlsx", "UTF-8") + "\"";
response.setHeader("Content-Disposition", headerValue);
response.setContentType("application/octet-stream");
EasyExcel.write(response.getOutputStream(), ExcelDataThreaVo.class).inMemory(Boolean.TRUE).sheet(0).doWrite(list);
}
@DeleteMapping("/delDataThread")
public Result delDataThread(DataThreadQueryParam queryParam){
if("gabxf".equals(queryParam.getTableName()) ){
dataPetitionComplaintService.removeById(queryParam.getOriginId());
}else{
dataMailboxService.removeById(queryParam.getOriginId());
}
return Result.success();
}
}

81
src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java

@ -1,18 +1,32 @@
package com.biutag.supervision.controller.data;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.DataPetitionComplaintReplenishDto;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.SupDictData;
import com.biutag.supervision.pojo.param.NegativeQueryParam;
import com.biutag.supervision.service.DataMailboxService;
import com.biutag.supervision.service.NegativeService;
import com.biutag.supervision.service.SupDictDataService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
/**
* @author wxc
@ -24,28 +38,67 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
public class DataMailBoxController {
private final NegativeService negativeService;
// private final NegativeService negativeService;
private final DataMailboxService dataMailboxService;
private final SupDictDataService dictDataService;
@GetMapping
public Result<Page<Negative>> list(NegativeQueryParam param) {
LambdaQueryWrapper<Negative> queryWrapper = new LambdaQueryWrapper<Negative>()
.eq(Negative::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue())
.like(StrUtil.isNotBlank(param.getOriginId()), Negative::getOriginId, param.getOriginId())
.like(StrUtil.isNotBlank(param.getThingDesc()), Negative::getThingDesc, param.getThingDesc());
public Result<Page<DataMailbox>> list(NegativeQueryParam param) {
LambdaQueryWrapper<DataMailbox> queryWrapper = new LambdaQueryWrapper<DataMailbox>()
.eq(DataMailbox::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue())
.like(StrUtil.isNotBlank(param.getOriginId()), DataMailbox::getOriginId, param.getOriginId())
.like(StrUtil.isNotBlank(param.getThingDesc()), DataMailbox::getThingDesc, param.getThingDesc());
if (param.getDiscoveryTime().size() == 2) {
queryWrapper.between(Negative::getDiscoveryTime, param.getDiscoveryTime().get(0), param.getDiscoveryTime().get(1));
queryWrapper.between(DataMailbox::getDiscoveryTime, param.getDiscoveryTime().get(0), param.getDiscoveryTime().get(1));
}
if (StrUtil.isNotBlank(param.getResponderKey()) && StrUtil.isNotBlank(param.getResponderValue())) {
switch (param.getResponderKey()) {
case "name":
queryWrapper.like(Negative::getResponderName, param.getResponderValue());
queryWrapper.like(DataMailbox::getResponderName, param.getResponderValue());
break;
case "phone":
queryWrapper.like(Negative::getContactPhone, param.getResponderValue());
queryWrapper.like(DataMailbox::getContactPhone, param.getResponderValue());
break;
}
}
return Result.success(negativeService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper));
return Result.success(dataMailboxService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper));
}
}
/**
* 补充涉及问题
* */
@PostMapping("/replenishInvolvedIssue")
public Result replenishInvolvedIssue(@RequestPart("file") MultipartFile file) throws IOException {
log.info("文件导入中-------------");
String fileNameType = FileUtil.extName(file.getOriginalFilename());
if (!"xls".equals(fileNameType) && !"xlsx".equals(fileNameType)) {
throw new RuntimeException("仅支持 xls/xlsx 格式文件的导入");
}
List<SupDictData> specialSupervisionDict = dictDataService.listByDictType("involvedIssue");
EasyExcel.read(file.getInputStream(), DataPetitionComplaintReplenishDto.class,new ReadListener<DataPetitionComplaintReplenishDto>(){
@Override
public void invoke(DataPetitionComplaintReplenishDto dto, AnalysisContext analysisContext) {
//专项督察
if(CollectionUtil.isNotEmpty(specialSupervisionDict)){
String specialSupervision = specialSupervisionDict.stream().filter(dict->dict.getDictLabel().equals(dto.getInvolvedIssue())).findFirst().map(SupDictData::getDictValue).orElse("");
LambdaUpdateWrapper<DataMailbox> updateWrapper =new LambdaUpdateWrapper<DataMailbox>()
.set(DataMailbox::getInvolvedIssue,specialSupervision)
.eq(DataMailbox::getOriginId,dto.getOriginId());
if(StrUtil.isNotEmpty(dto.getOriginId()) && StrUtil.isNotEmpty(dto.getInvolvedIssue())){
dataMailboxService.update(updateWrapper);
}
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}).sheet(0).headRowNumber(1).doRead();
return Result.success();
}
}

2
src/main/java/com/biutag/supervision/job/Job.java

@ -260,7 +260,7 @@ public class Job {
private final SupRotaMapper supRotaMapper;
//每天一次 00:20:00
//值班人员
@Scheduled(cron = "0 20 00 * * ?")
@Scheduled(cron = "0 20 12 * * ?")
public void operator(){
log.info("operator--------------------");
log.info("值班人员抓取中---------------------");

7
src/main/java/com/biutag/supervision/mapper/DataMailboxBlameMapper.java

@ -0,0 +1,7 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.DataMailboxBlame;
public interface DataMailboxBlameMapper extends BaseMapper<DataMailboxBlame> {
}

7
src/main/java/com/biutag/supervision/mapper/DataMailboxBlameRelationMapper.java

@ -0,0 +1,7 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.DataMailboxBlameRelation;
public interface DataMailboxBlameRelationMapper extends BaseMapper<DataMailboxBlameRelation> {
}

14
src/main/java/com/biutag/supervision/mapper/DataMailboxMapper.java

@ -0,0 +1,14 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.vo.DataThreaVo;
import org.apache.ibatis.annotations.Param;
public interface DataMailboxMapper extends BaseMapper<DataMailbox> {
Page<DataMailbox> queryPage(@Param("page") Page<DataMailbox> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<DataMailbox> queryWrapper);
}

19
src/main/java/com/biutag/supervision/mapper/DataThreadMapper.java

@ -0,0 +1,19 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.entity.Confinement;
import com.biutag.supervision.pojo.param.DataThreadQueryParam;
import com.biutag.supervision.pojo.vo.ConfinementVo;
import com.biutag.supervision.pojo.vo.DataThreaVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DataThreadMapper {
Page<DataThreaVo> queryPage(@Param("page") Page<DataThreaVo> page,@Param("query") DataThreadQueryParam queryParam);
}

76
src/main/java/com/biutag/supervision/pojo/entity/DataMailbox.java

@ -0,0 +1,76 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Getter
@Setter
public class DataMailbox {
@TableId
@TableField("origin_id")
private String originId;
//问题发现时间
@TableField("discoveryTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm")
private LocalDateTime discoveryTime;
//反映人姓名
@TableField("responderName")
private String responderName;
//联系电话
@TableField("contactPhone")
private String contactPhone;
//简要描述
@TableField("thingDesc")
private String thingDesc;
//问题来源
@TableField("problemSources")
private String problemSources;
//问题来源code
@TableField("problemSourcesCode")
private String problemSourcesCode;
//业务类型
@TableField("businessTypeCode")
private String businessTypeCode;
//业务类别名称
@TableField("businessTypeName")
private String businessTypeName;
//核查情况
@TableField("checkStatus")
private String checkStatus;
//核查情况
@TableField("checkStatusName")
private String checkStatusName;
//问题核查情况
@TableField("checkStatusDesc")
private String checkStatusDesc;
//办理状态
@TableField("processingStatus")
private String processingStatus;
//追责对象
@TableField("accountabilityTarget")
private String accountabilityTarget;
@TableField("crtTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime crtTime;
@TableField("involved_issue")
private String involvedIssue;
@TableField("handleSecondDepartName")
private String handleSecondDepartName;
@TableField("handleThreeDepartName")
private String handleThreeDepartName;
}

57
src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlame.java

@ -0,0 +1,57 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
@Getter
@Setter
@Accessors(chain = true)
public class DataMailboxBlame {
@TableField
private String id;
@TableField("origin_id")
private String originId;
//涉及类型
@TableField("type")
private String type;
// 涉及警号
@TableField("blameEmpNo")
private String blameEmpNo;
//身份证
@TableField("BlameIdCode")
private String BlameIdCode;
//涉及人项目
@TableField("BlameName")
private String BlameName;
//
@TableField("crtTime")
private LocalDateTime crtTime;
//
@TableField("updTime")
private LocalDateTime updTime;
// 处理结果
@TableField("handleResultCode")
private String handleResultCode;
// 处理结果
@TableField("handleResultName")
private String handleResultName;
}

50
src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlameRelation.java

@ -0,0 +1,50 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class DataMailboxBlameRelation {
//
@TableId
private String id;
// 清单id
@TableField("origin_id")
private String originId;
// 关联涉及人
@TableField("blameId")
private String blameId;
//
@TableField("oneLevelCode")
private String oneLevelCode;
//
@TableField("twoLevelCode")
private String twoLevelCode;
//
@TableField("oneLevelContent")
private String oneLevelContent;
//
@TableField("twoLevelContent")
private String twoLevelContent;
@TableField("threeLevelCode")
private String threeLevelCode;
@TableField("threeLevelContent")
private String threeLevelContent;
// 其他内容
@TableField("threeLevelContentOther")
private String threeLevelContentOther;
}

5
src/main/java/com/biutag/supervision/pojo/entity/SupRota.java

@ -2,9 +2,11 @@ package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.Date;
@Getter
@ -23,7 +25,8 @@ public class SupRota {
private String idCode;
//值班时间
@TableField("rota_time")
private String rotaTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime rotaTime;
//单位
@TableField("dept_name")
private String deptName;

4
src/main/java/com/biutag/supervision/pojo/entity/SuperviseReport.java

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import org.springframework.cglib.core.Local;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@ -16,7 +18,7 @@ public class SuperviseReport {
//督察报告
@TableField("report_name")
private String reportName;
//创建
//创建时间
@TableField("crt_time")
private LocalDateTime crtTime;
//创建单位

2
src/main/java/com/biutag/supervision/pojo/entity/ZhkshDutyScheduleDc.java

@ -20,7 +20,7 @@ public class ZhkshDutyScheduleDc {
private String deptName;
//值班时间
@TableField("ROTA_TIME")
private DateTime rotaTime;
private Date rotaTime;
//值班人名称
@TableField("ROTA_PERSON_NAME")
private String rotaPersonName;

54
src/main/java/com/biutag/supervision/pojo/param/DataThreadQueryParam.java

@ -0,0 +1,54 @@
package com.biutag.supervision.pojo.param;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.domain.Page;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Getter
@Setter
public class DataThreadQueryParam extends BasePage {
//信件编号
private String originId;
// key: 信访人姓名、信访人电话
private String responderKey;
//value
private String responderValue;
//初重访
private String initialPetition;
//具体内容
private String thingDesc;
//是否分发
private String distributionState;
//数据来源
private String problemSourcesCode;
private String tableName;
//信访时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private List<Date> discoveryTime = new ArrayList<>();
//录入时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private List<Date> createTime = new ArrayList<>();
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startCrtTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endCrtTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startDiscoveryTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endDiscoveryTime;
}

86
src/main/java/com/biutag/supervision/pojo/vo/DataComplaintVo.java

@ -0,0 +1,86 @@
package com.biutag.supervision.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDateTime;
public class DataComplaintVo {
// 信件编号
private String originId;
// 投诉渠道
private String channelForFilingComplaints;
// 受理层级
private String acceptanceLevel;
// 登记时间
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm")
private LocalDateTime discoveryTime;
//接访领导姓名
private String receivingLeaderName;
// 投诉人
private String responderName;
// 投诉人电话
private String responderPhone;
// 投诉人电话
private String responderIdCode;
// 初重信访
private String initialPetition;
// 缠访闹访
private Boolean entanglementVisits;
// 群众集访
private Boolean massVisits;
// 涉嫌问题
private String involveProblem;
// 业务类别
private String businessTypeName;
// 涉及警种名称
private String policeTypeName;
// 具体内容
private String thingDesc;
// 涉及单位 二级
private String secondDepartId;
//
private String secondDepartName;
// 所对
private String thirdDepartId;
private String thirdDepartName;
private LocalDateTime createTime;
private LocalDateTime updateTime;
// 来源
private String problemSourcesCode;
// 分发状态
private String distributionState;
private String negativeId;
// 信访办理情况
private String petitionProcessingStatus;
//涉及问题
private String involvedIssue;
//是否属实
private String checkStatusName;
//追责对象
private String accountabilityTarget;
}

54
src/main/java/com/biutag/supervision/pojo/vo/DataThreaVo.java

@ -0,0 +1,54 @@
package com.biutag.supervision.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Getter
@Setter
public class DataThreaVo {
//线索id
private String originId;
//涉及问题
private String involvedIssue;
//投诉渠道
private String channelForFilingComplaints;
//登记日期
private LocalDateTime discoveryTime;
//信访人
private String responderName;
//信访人电话号码
private String responderPhone;
//具体内容
private String thingDesc;
//初重信访
private String initialPetition;
//群众集访
private String massVisits;
//办理情况
private String petitionProcessingStatus;
//接访领导
private String receivingLeaderName;
//是否属实
private String checkStatusName;
//信访方式
private String petitionType;
//数据来源表单
private String tableName;
//信访编码
private String problemSourcesCode;
//状态
private String distributionState;
private String secondDepartName;
private String thirdDepartName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime crtTime;
}

70
src/main/java/com/biutag/supervision/pojo/vo/ExcelDataThreaVo.java

@ -0,0 +1,70 @@
package com.biutag.supervision.pojo.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Getter
@Setter
public class ExcelDataThreaVo {
//线索id
@ExcelProperty({"信访编号"})
private String originId;
@ExcelProperty({"投诉渠道"})
private String channelForFilingComplaints;
//登记日期
@ExcelProperty({"登记日期"})
private LocalDateTime discoveryTime;
//信访人
@ExcelProperty({"信访人"})
private String responderName;
//信访人电话号码
@ExcelProperty({"信访电话号码"})
private String responderPhone;
//具体内容
@ExcelProperty({"具体内容"})
private String thingDesc;
//初重信访
@ExcelProperty({"初重信访"})
private String initialPetition;
//群众集访
@ExcelProperty({"群众集访"})
private String massVisits;
//办理情况
@ExcelProperty({"办理情况"})
private String petitionProcessingStatus;
//接访领导
@ExcelProperty({"接访领导"})
private String receivingLeaderName;
//是否属实
@ExcelProperty({"是否属实"})
private String checkStatusName;
//信访方式
@ExcelProperty({"信访方式"})
private String petitionType;
//数据来源表单
@ExcelProperty({"信访类型"})
private String tableName;
//信访编码
@ExcelProperty({"投诉渠道"})
private String problemSourcesCode;
//状态
@ExcelProperty({"状态"})
private String distributionState;
@ExcelProperty({"被投诉机构"})
private String departName;
//涉及问题
@ExcelProperty({"涉及问题"})
private String involvedIssue;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@ExcelProperty({"录入时间"})
private String crtTime;
}

12
src/main/java/com/biutag/supervision/service/DataMailboxBlameRelationService.java

@ -0,0 +1,12 @@
package com.biutag.supervision.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.mapper.DataMailboxBlameRelationMapper;
import com.biutag.supervision.pojo.entity.DataMailboxBlameRelation;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class DataMailboxBlameRelationService extends ServiceImpl<DataMailboxBlameRelationMapper, DataMailboxBlameRelation> {
}

14
src/main/java/com/biutag/supervision/service/DataMailboxBlameService.java

@ -0,0 +1,14 @@
package com.biutag.supervision.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.mapper.DataMailboxBlameMapper;
import com.biutag.supervision.mapper.DataMailboxMapper;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.entity.DataMailboxBlame;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class DataMailboxBlameService extends ServiceImpl<DataMailboxBlameMapper, DataMailboxBlame> {
}

22
src/main/java/com/biutag/supervision/service/DataMailboxService.java

@ -0,0 +1,22 @@
package com.biutag.supervision.service;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.constants.enums.DepartLevelEnum;
import com.biutag.supervision.mapper.DataMailboxMapper;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.entity.SupDepart;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
import com.biutag.supervision.pojo.vo.DataPetitionComplaintVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class DataMailboxService extends ServiceImpl<DataMailboxMapper, DataMailbox> {
}

100
src/main/java/com/biutag/supervision/service/DataThreadService.java

@ -0,0 +1,100 @@
package com.biutag.supervision.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.mapper.DataThreadMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.DataMailbox;
import com.biutag.supervision.pojo.entity.DataMailboxBlame;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.entity.SupDictData;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
import com.biutag.supervision.pojo.param.DataThreadQueryParam;
import com.biutag.supervision.pojo.vo.DataPetitionComplaintVo;
import com.biutag.supervision.pojo.vo.DataThreaVo;
import com.biutag.supervision.pojo.vo.ExcelDataThreaVo;
import com.biutag.supervision.pojo.vo.ExportGabxfVo;
import com.biutag.supervision.util.CommonUtil;
import dm.jdbc.util.StringUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
@RequiredArgsConstructor
@Service
public class DataThreadService {
private final DataThreadMapper dataThreadMapper;
private final DataPetitionComplaintService dataPetitionComplaintService;
private final DataMailboxService dataMailboxService;
private final SupDictDataService dictDataService;
public Result<Object> pageList(DataThreadQueryParam queryParam){
//录入时间
if(CollectionUtil.isNotEmpty(queryParam.getCreateTime())){
// queryWrapper.between(DataThreaVo::getCrtTime,queryParam.getCrtTime().get(0),queryParam.getCrtTime().get(1));
queryParam.setStartCrtTime(queryParam.getCreateTime().get(0));
queryParam.setEndCrtTime(queryParam.getCreateTime().get(1));
}
//投诉时间
if(CollectionUtil.isNotEmpty(queryParam.getDiscoveryTime())){
// queryWrapper.between(DataThreaVo::getDiscoveryTime,queryParam.getDiscoveryTime().get(0),queryParam.getDiscoveryTime().get(1));
queryParam.setStartDiscoveryTime(queryParam.getDiscoveryTime().get(0));
queryParam.setEndDiscoveryTime(queryParam.getDiscoveryTime().get(1));
}
if(StrUtil.isNotBlank(queryParam.getProblemSourcesCode())){
if("21".equals(queryParam.getProblemSourcesCode()) || "22".equals(queryParam.getProblemSourcesCode())){
DataPetitionComplaintQueryParam dataPetitionComplaintQueryParam = new DataPetitionComplaintQueryParam();
BeanUtil.copyProperties(queryParam,dataPetitionComplaintQueryParam);
return Result.success(dataPetitionComplaintService.page(dataPetitionComplaintQueryParam));
}
else{
LambdaQueryWrapper<DataMailbox> wrapper = new LambdaQueryWrapper<DataMailbox>()
.eq(DataMailbox::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue())
.like(StrUtil.isNotBlank(queryParam.getOriginId()), DataMailbox::getOriginId, queryParam.getOriginId())
.like(StrUtil.isNotBlank(queryParam.getThingDesc()), DataMailbox::getThingDesc, queryParam.getThingDesc());
if (queryParam.getDiscoveryTime().size() == 2) {
wrapper.between(DataMailbox::getDiscoveryTime, queryParam.getDiscoveryTime().get(0), queryParam.getDiscoveryTime().get(1));
}
if (StrUtil.isNotBlank(queryParam.getResponderKey()) && StrUtil.isNotBlank(queryParam.getResponderValue())) {
switch (queryParam.getResponderKey()) {
case "name":
wrapper.like(DataMailbox::getResponderName, queryParam.getResponderValue());
break;
case "phone":
wrapper.like(DataMailbox::getContactPhone, queryParam.getResponderValue());
break;
}
}
return Result.success(dataMailboxService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()), wrapper));
}
}else{
return Result.success(dataThreadMapper.queryPage(Page.of(queryParam.getCurrent(), queryParam.getSize()),queryParam));
}
}
}

111
src/main/java/com/biutag/supervision/service/MailService.java

@ -46,9 +46,14 @@ public class MailService extends ServiceImpl<MailMapper, Mail> {
private final NegativeProblemRelationService negativeProblemRelationService;
private final DataMailboxService dataMailboxService;
private final DataMailboxBlameService dataMailboxBlameService;
private final DataMailboxBlameRelationService dataMailboxBlameRelationService;
public void saveMailbox() {
List<Mail> mailList = list(new LambdaUpdateWrapper<Mail>().eq(Mail::getMailState, "completion")
.in(Mail::getVerifyIsTrue, List.of("属实", "基本属实")));
List<Mail> mailList = list(new LambdaUpdateWrapper<Mail>().eq(Mail::getMailState, "completion").in(Mail::getVerifyIsTrue, List.of("属实", "基本属实")));
if (mailList.isEmpty()) {
return;
}
@ -140,5 +145,107 @@ public class MailService extends ServiceImpl<MailMapper, Mail> {
// [{"filepath":"250102/_B5HQNhI.doc","orgiinFilename":"3、定级报告 .doc","type":"application/msword","size":95744,"docxFilepath":"250102/l-Tl5dux.docx"}]
}
List<Mail> mailListData =list(new LambdaUpdateWrapper<Mail>().eq(Mail::getMailState, "completion"));
addDataMailBoxFun(mailListData);
}
void addDataMailBoxFun(List<Mail> mailList){
if (mailList.isEmpty()) {
return;
}
List<MailBlame> mailBlames = mailBlameMapper.selectList(new LambdaUpdateWrapper<MailBlame>().in(MailBlame::getMailId, mailList.stream().map(Mail::getId).toList()));
for (Mail item : mailList) {
if(dataMailboxService.exists(new LambdaQueryWrapper<DataMailbox>().eq(DataMailbox::getOriginId,item.getId()))){
continue;
}
try{
DataMailbox dataMailbox =new DataMailbox();
dataMailbox.setOriginId(item.getId());
dataMailbox.setDiscoveryTime(item.getCreateTime());
dataMailbox.setResponderName(item.getContactName());
dataMailbox.setContactPhone(item.getContactPhone());
dataMailbox.setThingDesc(item.getContent());
dataMailbox.setProblemSources(ProblemSourcesEnum.JZXX.getLabel());
dataMailbox.setProblemSourcesCode(ProblemSourcesEnum.JZXX.getValue());
dataMailbox.setBusinessTypeCode(BusinessTypeEnum.QT.getValue());
dataMailbox.setBusinessTypeName(BusinessTypeEnum.QT.getLabel());
if ("属实".equals(item.getVerifyIsTrue())) {
dataMailbox.setCheckStatus(InspectCaseEnum.TRUE.getValue());
dataMailbox.setCheckStatusName(InspectCaseEnum.TRUE.getLabel());
}
if ("基本属实".equals(item.getVerifyIsTrue())) {
dataMailbox.setCheckStatus(InspectCaseEnum.PARTIALLY_TRUE.getValue());
dataMailbox.setCheckStatusName(InspectCaseEnum.PARTIALLY_TRUE.getLabel());
}
// 核办情况
dataMailbox.setCheckStatusDesc(item.getVerifyDetails());
dataMailbox.setProcessingStatus(ProcessingStatusEnum.completed.name());
// 涉及个人
dataMailbox.setAccountabilityTarget(AccountabilityTargetEnum.PERSONAL.getValue());
dataMailbox.setCrtTime(LocalDateTime.now());
dataMailboxService.save(dataMailbox);
// 被举报人
List<MailBlame> blames = mailBlames.stream().filter(mailBlame -> item.getId().equals(mailBlame.getMailId())).toList();
for (MailBlame blame : blames) {
SupPolice police = supPoliceService.getOne(new LambdaQueryWrapper<SupPolice>().eq(SupPolice::getName, blame.getBlameName()).eq(SupPolice::getEmpNo, blame.getBlameEmpNo()));
if (Objects.isNull(police)) {
log.error("没有该警员的数据! {}-{}", blame.getBlameName(), blame.getBlameEmpNo());
continue;
}
DataMailboxBlame mailboxBlame=new DataMailboxBlame();
mailboxBlame
.setId(IdUtil.getSnowflakeNextIdStr())
.setOriginId(dataMailbox.getOriginId())
.setType("personal")
.setBlameEmpNo(police.getEmpNo())
.setBlameIdCode(police.getIdCode())
.setBlameName(police.getName())
.setUpdTime(LocalDateTime.now())
.setCrtTime(LocalDateTime.now());
// 责任追究
if (StrUtil.isNotBlank(blame.getVerifyPunish())) {
List<String> externalNames = JSON.parseArray(blame.getVerifyPunish(), String.class);
List<SupDictHandleResultMaping> dictHandleResultMapings = dictHandleResultMapingService.list(externalNames);
mailboxBlame.setHandleResultCode(dictHandleResultMapings.stream().map(SupDictHandleResultMaping::getInternalId).collect(Collectors.joining(",")));
mailboxBlame.setHandleResultName(dictHandleResultMapings.stream().map(SupDictHandleResultMaping::getInternalName).collect(Collectors.joining("、")));
}
// 查证属实问题
if (StrUtil.isNotBlank(blame.getVerifyProblem())) {
List<String> externalNames = JSON.parseArray(blame.getVerifyProblem(), String.class);
List<SupDictProblemTypeMaping> problemTypeMapings = dictProblemTypeMapingService.list(externalNames);
for (SupDictProblemTypeMaping problemTypeMaping : problemTypeMapings) {
SupDictProblemType threeProblem = problemTypeService.getById(problemTypeMaping.getInternalId());
SupDictProblemType twoProblem = problemTypeService.getById(threeProblem.getParentCode());
SupDictProblemType oneProblem = problemTypeService.getById(twoProblem.getParentCode());
DataMailboxBlameRelation blameRelation = new DataMailboxBlameRelation();
blameRelation.setBlameId(mailboxBlame.getId());
blameRelation.setOriginId(dataMailbox.getOriginId());
blameRelation.setOneLevelCode(oneProblem.getId());
blameRelation.setOneLevelContent(oneProblem.getName());
blameRelation.setTwoLevelCode(twoProblem.getId());
blameRelation.setTwoLevelContent(twoProblem.getName());
blameRelation.setThreeLevelCode(threeProblem.getId());
blameRelation.setThreeLevelContent(threeProblem.getName());
dataMailboxBlameRelationService.save(blameRelation);
}
}
dataMailboxBlameService.save(mailboxBlame);
}
}catch (RuntimeException e){
log.error(e.getMessage(),e);
log.error(item.getContent());
}
// [{"filepath":"250102/_B5HQNhI.doc","orgiinFilename":"3、定级报告 .doc","type":"application/msword","size":95744,"docxFilepath":"250102/l-Tl5dux.docx"}]
}
}
}

12
src/main/resources/mapper/DataMailboxMapper.xml

@ -0,0 +1,12 @@
<?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.biutag.supervision.mapper.DataMailboxMapper">
<select id="queryPage" resultType="com.biutag.supervision.pojo.entity.DataMailbox">
select * from data_mailbox ${ew.getCustomSqlSegment}
</select>
</mapper>

114
src/main/resources/mapper/DataThreadMapper.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.biutag.supervision.mapper.DataThreadMapper">
<select id="queryPage" resultType="com.biutag.supervision.pojo.vo.DataThreaVo">
(
SELECT
origin_id as originId,
involved_issue as involvedIssue,
channel_for_filing_complaints as channelForFilingComplaints ,
discovery_time as discoveryTime,
responder_name as responderName,
responder_phone as responderPhone,
thing_desc as thingDesc,
initial_petition as initialPetition,
mass_visits as massVisits,
distribution_state as distributionState,
problem_sources_code as problemSourcesCode,
receiving_leader_name as receivingLeaderName,
petition_processing_status as petitionProcessingStatus,
'' as checkStatus,
'' as checkStatusName,
create_time as crtTime,
petition_type as petitionType,
second_depart_name as secondDepartName,
third_depart_name as thirdDepartName,
'gabxf' as tableName
from
data_petition_complaint
<where>
1=1
<if test = "query.originId != null and query.originId != '' ">
and origin_id like concat('%',#{query.originId,jdbcType=VARCHAR},'%')
</if>
<if test="query.thingDesc != null and query.thingDesc != ''">
and thing_desc like concat('%',#{query.thingDesc,jdbcType=VARCHAR},'%')
</if>
<if test="query.distributionState != null and query.distributionState != ''">
and distribution_state = #{query.distributionState}
</if>
<if test="query.initialPetition != null and query.initialPetition != ''">
and initial_petition =#{query.initialPetition}
</if>
<if test="query.responderKey != null and query.responderKey != ''">
<if test="query.responderKey == 'name' and query.responderValue != null and query.responderValue != '' ">
and responder_name like concat('%',#{query.responderValue,jdbcType=VARCHAR},'%')
</if>
<if test="query.responderKey == 'phone' and query.responderValue != null and query.responderValue != '' ">
and responder_phone like concat('%',#{query.responderValue,jdbcType=VARCHAR},'%')
</if>
</if>
<if test="query.startCrtTime!= null and query.endCrtTime != null ">
and create_time between #{query.startCrtTime} and #{query.endCrtTime,jdbcType=TIMESTAMP}
</if>
<if test="query.startDiscoveryTime != null and query.startDiscoveryTime != null">
and discovery_time between #{query.startDiscoveryTime} and #{query.endDiscoveryTime}
</if>
</where>
)
UNION ALL
(
SELECT
origin_id as originId,
involved_issue as involvedIssue,
problemSources as channelForFilingComplaints,
discoveryTime,
responderName as responderName,
contactPhone as responderPhone,
thingDesc,
'' as initialPetition,
'' as massVisits,
'' as distributionState,
problemSourcesCode,
'' as receivingLeaderName,
processingStatus as petitionProcessingStatus,
checkStatus,
checkStatusName,
crtTime,
'' as petitionType,
'' as secondDepartName,
'' as thirdDepartName,
'jzxx' as tableName
from
data_mailbox
<where>
1=1
<if test = "query.originId != null and query.originId != '' ">
and origin_id like concat('%',#{query.originId,jdbcType=VARCHAR},'%')
</if>
<if test="query.thingDesc != null and query.thingDesc != ''">
and thingDesc like concat('%',#{query.thingDesc,jdbcType=VARCHAR},'%')
</if>
<if test="query.responderKey != null and query.responderKey != ''">
<if test="query.responderKey == 'name' and query.responderValue != null and query.responderValue != '' ">
and responderName like concat('%',#{query.responderValue,jdbcType=VARCHAR},'%')
</if>
<if test="query.responderKey == 'phone' and query.responderValue != null and query.responderValue != '' ">
and contactPhone like concat('%',#{query.responderValue,jdbcType=VARCHAR},'%')
</if>
</if>
<if test="query.startCrtTime!= null and query.endCrtTime != null ">
and crtTime between #{query.startCrtTime} and #{query.endCrtTime,jdbcType=TIMESTAMP}
</if>
<if test="query.startDiscoveryTime != null and query.startDiscoveryTime != null">
and discoveryTime between #{query.startDiscoveryTime} and #{query.endDiscoveryTime}
</if>
</where>
)
</select>
</mapper>
Loading…
Cancel
Save