From 3fa94adc19a264a760e76031e1c1cc6a1ac71014 Mon Sep 17 00:00:00 2001 From: pengwei Date: Tue, 22 Jul 2025 09:49:22 +0800 Subject: [PATCH] =?UTF-8?q?fit:=E4=BF=A1=E8=AE=BF=E6=8A=95=E8=AF=89?= =?UTF-8?q?=E3=80=81=E5=B1=80=E9=95=BF=E4=BF=A1=E7=AE=B1=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/config/InterceptorConfig.java | 2 +- .../books/DataThreadControllers.java | 161 ++++++++++++++++++ .../data/DataMailBoxController.java | 81 +++++++-- .../java/com/biutag/supervision/job/Job.java | 2 +- .../mapper/DataMailboxBlameMapper.java | 7 + .../DataMailboxBlameRelationMapper.java | 7 + .../supervision/mapper/DataMailboxMapper.java | 14 ++ .../supervision/mapper/DataThreadMapper.java | 19 +++ .../supervision/pojo/entity/DataMailbox.java | 76 +++++++++ .../pojo/entity/DataMailboxBlame.java | 57 +++++++ .../pojo/entity/DataMailboxBlameRelation.java | 50 ++++++ .../supervision/pojo/entity/SupRota.java | 5 +- .../pojo/entity/SuperviseReport.java | 4 +- .../pojo/entity/ZhkshDutyScheduleDc.java | 2 +- .../pojo/param/DataThreadQueryParam.java | 54 ++++++ .../supervision/pojo/vo/DataComplaintVo.java | 86 ++++++++++ .../supervision/pojo/vo/DataThreaVo.java | 54 ++++++ .../supervision/pojo/vo/ExcelDataThreaVo.java | 70 ++++++++ .../DataMailboxBlameRelationService.java | 12 ++ .../service/DataMailboxBlameService.java | 14 ++ .../service/DataMailboxService.java | 22 +++ .../service/DataThreadService.java | 100 +++++++++++ .../supervision/service/MailService.java | 111 +++++++++++- .../resources/mapper/DataMailboxMapper.xml | 12 ++ .../resources/mapper/DataThreadMapper.xml | 114 +++++++++++++ 25 files changed, 1115 insertions(+), 21 deletions(-) create mode 100644 src/main/java/com/biutag/supervision/controller/books/DataThreadControllers.java create mode 100644 src/main/java/com/biutag/supervision/mapper/DataMailboxBlameMapper.java create mode 100644 src/main/java/com/biutag/supervision/mapper/DataMailboxBlameRelationMapper.java create mode 100644 src/main/java/com/biutag/supervision/mapper/DataMailboxMapper.java create mode 100644 src/main/java/com/biutag/supervision/mapper/DataThreadMapper.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/DataMailbox.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlame.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlameRelation.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/DataThreadQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/DataComplaintVo.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/DataThreaVo.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/ExcelDataThreaVo.java create mode 100644 src/main/java/com/biutag/supervision/service/DataMailboxBlameRelationService.java create mode 100644 src/main/java/com/biutag/supervision/service/DataMailboxBlameService.java create mode 100644 src/main/java/com/biutag/supervision/service/DataMailboxService.java create mode 100644 src/main/java/com/biutag/supervision/service/DataThreadService.java create mode 100644 src/main/resources/mapper/DataMailboxMapper.xml create mode 100644 src/main/resources/mapper/DataThreadMapper.xml diff --git a/src/main/java/com/biutag/supervision/config/InterceptorConfig.java b/src/main/java/com/biutag/supervision/config/InterceptorConfig.java index 4bd1474..405a810 100644 --- a/src/main/java/com/biutag/supervision/config/InterceptorConfig.java +++ b/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/**"); diff --git a/src/main/java/com/biutag/supervision/controller/books/DataThreadControllers.java b/src/main/java/com/biutag/supervision/controller/books/DataThreadControllers.java new file mode 100644 index 0000000..5048d73 --- /dev/null +++ b/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 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 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 DataPetitionComplaint = dataPetitionComplaintService.page(dataPetitionComplaintQueryParam).getRecords(); + dataThreaVoList= CommonUtil.copyBeanList(DataPetitionComplaint,DataThreaVo.class); + } + else{ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .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 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 initialPetitionDict = dictDataService.listByDictType("initialPetition"); + //状态 + List distributionStateDict = dictDataService.listByDictType("distributionState"); + + AtomicInteger i = new AtomicInteger(1); + List 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(); + } +} diff --git a/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java b/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java index e4b559c..1501b28 100644 --- a/src/main/java/com/biutag/supervision/controller/data/DataMailBoxController.java +++ b/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> list(NegativeQueryParam param) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .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> list(NegativeQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .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)); } -} \ No newline at end of file + + /** + * 补充涉及问题 + * */ + @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 specialSupervisionDict = dictDataService.listByDictType("involvedIssue"); + EasyExcel.read(file.getInputStream(), DataPetitionComplaintReplenishDto.class,new ReadListener(){ + @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 updateWrapper =new LambdaUpdateWrapper() + .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(); + } +} diff --git a/src/main/java/com/biutag/supervision/job/Job.java b/src/main/java/com/biutag/supervision/job/Job.java index 1d04004..8d7a384 100644 --- a/src/main/java/com/biutag/supervision/job/Job.java +++ b/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("值班人员抓取中---------------------"); diff --git a/src/main/java/com/biutag/supervision/mapper/DataMailboxBlameMapper.java b/src/main/java/com/biutag/supervision/mapper/DataMailboxBlameMapper.java new file mode 100644 index 0000000..a662928 --- /dev/null +++ b/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 { +} diff --git a/src/main/java/com/biutag/supervision/mapper/DataMailboxBlameRelationMapper.java b/src/main/java/com/biutag/supervision/mapper/DataMailboxBlameRelationMapper.java new file mode 100644 index 0000000..c12609b --- /dev/null +++ b/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 { +} diff --git a/src/main/java/com/biutag/supervision/mapper/DataMailboxMapper.java b/src/main/java/com/biutag/supervision/mapper/DataMailboxMapper.java new file mode 100644 index 0000000..c978979 --- /dev/null +++ b/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 { + + Page queryPage(@Param("page") Page page, @Param(Constants.WRAPPER) LambdaQueryWrapper queryWrapper); +} diff --git a/src/main/java/com/biutag/supervision/mapper/DataThreadMapper.java b/src/main/java/com/biutag/supervision/mapper/DataThreadMapper.java new file mode 100644 index 0000000..46aef5b --- /dev/null +++ b/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 queryPage(@Param("page") Page page,@Param("query") DataThreadQueryParam queryParam); + +} diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataMailbox.java b/src/main/java/com/biutag/supervision/pojo/entity/DataMailbox.java new file mode 100644 index 0000000..5b93643 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlame.java b/src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlame.java new file mode 100644 index 0000000..00837ef --- /dev/null +++ b/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; + + + + +} diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlameRelation.java b/src/main/java/com/biutag/supervision/pojo/entity/DataMailboxBlameRelation.java new file mode 100644 index 0000000..5e5f161 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupRota.java b/src/main/java/com/biutag/supervision/pojo/entity/SupRota.java index ab6d0d8..877cf00 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupRota.java +++ b/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; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SuperviseReport.java b/src/main/java/com/biutag/supervision/pojo/entity/SuperviseReport.java index 3c6b9b9..9285340 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SuperviseReport.java +++ b/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; //创建单位 diff --git a/src/main/java/com/biutag/supervision/pojo/entity/ZhkshDutyScheduleDc.java b/src/main/java/com/biutag/supervision/pojo/entity/ZhkshDutyScheduleDc.java index 4924217..6bf0d42 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/ZhkshDutyScheduleDc.java +++ b/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; diff --git a/src/main/java/com/biutag/supervision/pojo/param/DataThreadQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/DataThreadQueryParam.java new file mode 100644 index 0000000..078289d --- /dev/null +++ b/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 discoveryTime = new ArrayList<>(); + //录入时间 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List 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; + + + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DataComplaintVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DataComplaintVo.java new file mode 100644 index 0000000..7d4d72a --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DataThreaVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DataThreaVo.java new file mode 100644 index 0000000..93b7dcc --- /dev/null +++ b/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; + + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/ExcelDataThreaVo.java b/src/main/java/com/biutag/supervision/pojo/vo/ExcelDataThreaVo.java new file mode 100644 index 0000000..cd09d33 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/biutag/supervision/service/DataMailboxBlameRelationService.java b/src/main/java/com/biutag/supervision/service/DataMailboxBlameRelationService.java new file mode 100644 index 0000000..326f549 --- /dev/null +++ b/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 { +} diff --git a/src/main/java/com/biutag/supervision/service/DataMailboxBlameService.java b/src/main/java/com/biutag/supervision/service/DataMailboxBlameService.java new file mode 100644 index 0000000..a72155a --- /dev/null +++ b/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 { +} diff --git a/src/main/java/com/biutag/supervision/service/DataMailboxService.java b/src/main/java/com/biutag/supervision/service/DataMailboxService.java new file mode 100644 index 0000000..c3e3ccb --- /dev/null +++ b/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 { + +} diff --git a/src/main/java/com/biutag/supervision/service/DataThreadService.java b/src/main/java/com/biutag/supervision/service/DataThreadService.java new file mode 100644 index 0000000..f821280 --- /dev/null +++ b/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 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 wrapper = new LambdaQueryWrapper() + .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)); + } + + } + + + + + +} diff --git a/src/main/java/com/biutag/supervision/service/MailService.java b/src/main/java/com/biutag/supervision/service/MailService.java index c9cb9d0..a809334 100644 --- a/src/main/java/com/biutag/supervision/service/MailService.java +++ b/src/main/java/com/biutag/supervision/service/MailService.java @@ -46,9 +46,14 @@ public class MailService extends ServiceImpl { private final NegativeProblemRelationService negativeProblemRelationService; + private final DataMailboxService dataMailboxService; + + private final DataMailboxBlameService dataMailboxBlameService; + + private final DataMailboxBlameRelationService dataMailboxBlameRelationService; + public void saveMailbox() { - List mailList = list(new LambdaUpdateWrapper().eq(Mail::getMailState, "completion") - .in(Mail::getVerifyIsTrue, List.of("属实", "基本属实"))); + List mailList = list(new LambdaUpdateWrapper().eq(Mail::getMailState, "completion").in(Mail::getVerifyIsTrue, List.of("属实", "基本属实"))); if (mailList.isEmpty()) { return; } @@ -140,5 +145,107 @@ public class MailService extends ServiceImpl { // [{"filepath":"250102/_B5HQNhI.doc","orgiinFilename":"3、定级报告 .doc","type":"application/msword","size":95744,"docxFilepath":"250102/l-Tl5dux.docx"}] } + + + List mailListData =list(new LambdaUpdateWrapper().eq(Mail::getMailState, "completion")); + addDataMailBoxFun(mailListData); + } + + + void addDataMailBoxFun(List mailList){ + if (mailList.isEmpty()) { + return; + } + List mailBlames = mailBlameMapper.selectList(new LambdaUpdateWrapper().in(MailBlame::getMailId, mailList.stream().map(Mail::getId).toList())); + for (Mail item : mailList) { + if(dataMailboxService.exists(new LambdaQueryWrapper().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 blames = mailBlames.stream().filter(mailBlame -> item.getId().equals(mailBlame.getMailId())).toList(); + for (MailBlame blame : blames) { + SupPolice police = supPoliceService.getOne(new LambdaQueryWrapper().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 externalNames = JSON.parseArray(blame.getVerifyPunish(), String.class); + List 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 externalNames = JSON.parseArray(blame.getVerifyProblem(), String.class); + List 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"}] + + } } } diff --git a/src/main/resources/mapper/DataMailboxMapper.xml b/src/main/resources/mapper/DataMailboxMapper.xml new file mode 100644 index 0000000..cb9357b --- /dev/null +++ b/src/main/resources/mapper/DataMailboxMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/src/main/resources/mapper/DataThreadMapper.xml b/src/main/resources/mapper/DataThreadMapper.xml new file mode 100644 index 0000000..a6aafd2 --- /dev/null +++ b/src/main/resources/mapper/DataThreadMapper.xml @@ -0,0 +1,114 @@ + + + + + + + +