From 89da23735a2eb25927286c36493978b741199f6a Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Mon, 6 Jan 2025 18:41:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=B0=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 12 + sql/241231.sql | 21 + .../supervision/config/InterceptorConfig.java | 4 +- .../controller/StatisticsController.java | 16 +- .../api/plugin/CaseVerifController.java | 41 ++ .../plugin/PetitionComplainApiController.java | 2 +- .../books/NegativeBookController.java | 112 ++-- .../DataPetitionComplaint12337Controller.java | 27 + .../data/DataPetitionComplaintController.java | 158 +++-- .../data/VideoInspectionController.java | 42 ++ .../ProfileDepartController.java | 8 +- .../ProfilePoliceController.java | 12 +- .../system/DepartMapingController.java | 2 +- .../system/ProblemTypeMapingController.java | 65 ++ .../work/NegativeTaskController.java | 6 + .../controller/work/NewsController.java | 60 ++ .../java/com/biutag/supervision/job/Job.java | 36 ++ .../DataAlarmDispositionInfoMapper.java | 6 + .../biutag/supervision/mapper/MailMapper.java | 13 + .../mapper/NegativeTaskMapper.java | 6 + .../biutag/supervision/mapper/NewsMapper.java | 8 + .../SupDictProblemTypeMapingMapper.java | 8 + .../pojo/domain/CountersignApply.java | 2 +- .../supervision/pojo/domain/NegativeVo.java | 4 +- .../pojo/dto/DataPetition12337Distribute.java | 86 +++ .../pojo/dto/DataPetition12337Dto.java | 7 +- .../pojo/dto/DataPetition12337ExportDto.java | 556 ++++++++++++++++++ .../dto/DataPetitionComplaintGjImportDto.java | 68 +++ .../dto/DataPetitionComplaintImportDto.java | 102 ++-- .../pojo/dto/plugin/CaseVerifPluginDto.java | 56 ++ .../supervision/pojo/entity/BaseRole.java | 2 +- .../pojo/entity/DataCaseVerif.java | 3 + .../pojo/entity/DataPetitionComplaint.java | 8 +- .../pojo/entity/ModelClueRecord.java | 2 +- .../supervision/pojo/entity/Negative.java | 6 +- .../pojo/entity/NegativeApprove.java | 2 +- .../pojo/entity/NegativeCountersign.java | 2 +- .../pojo/entity/NegativeHistory.java | 2 +- .../supervision/pojo/entity/NegativeTask.java | 4 +- .../biutag/supervision/pojo/entity/News.java | 45 ++ .../supervision/pojo/entity/RiskTask.java | 4 +- .../supervision/pojo/entity/SupDictData.java | 2 +- .../pojo/entity/SupDictProblemTypeMaping.java | 41 ++ .../supervision/pojo/entity/SupDictType.java | 2 +- .../supervision/pojo/entity/mailbox/Mail.java | 408 +++++++++++++ .../pojo/model/DataMigrationModel.java | 4 +- .../pojo/model/ModelClueModel.java | 2 +- .../pojo/model/ModelClueTaskModel.java | 2 +- .../pojo/model/NegativeFavModel.java | 6 +- .../pojo/model/NegativeWorkModel.java | 4 +- .../supervision/pojo/model/UserModel.java | 2 +- .../pojo/param/NewsQueryParam.java | 28 + .../pojo/param/VideoInspectionQueryParam.java | 19 + .../DataPetitionComplaintExportGabxfVo.java | 82 +++ .../vo/DataPetitionComplaintNegativeVo.java | 2 +- .../supervision/pojo/vo/DictContentTree.java | 2 +- .../supervision/pojo/vo/ExportNegativeVo.java | 4 +- .../supervision/pojo/vo/NegativeHdjq.java | 2 +- .../supervision/pojo/vo/NegativeQueryVo.java | 6 +- .../pojo/vo/VideoInspectionInfo.java | 13 + .../pojo/vo/VideoInspectionVo.java | 29 + .../service/DataPetition12337Service.java | 58 +- .../service/DataPetitionComplaintService.java | 6 +- .../service/NegativeBookService.java | 77 +++ .../service/NegativeTaskService.java | 5 + .../supervision/service/NewsService.java | 11 + .../SupDictProblemTypeMapingService.java | 11 + src/main/resources/application-prod.yml | 7 + .../mapper/DataAlarmDispositionInfoMapper.xml | 18 + .../mapper/DataPetitionComplaintMapper.xml | 3 +- .../resources/mapper/NegativeTaskMapper.xml | 26 + .../公安信访投诉数据导入模板.xls | Bin 0 -> 9700 bytes .../国家信访投诉数据导入模板.xls | Bin 0 -> 20992 bytes .../static/templates/问题标准模板.xlsx | Bin 29224 -> 29288 bytes .../java/com/biutag/supervision/StrUtil.java | 9 +- .../supervision/tools/GenCodeTests.java | 2 +- 76 files changed, 2289 insertions(+), 230 deletions(-) create mode 100644 sql/241231.sql create mode 100644 src/main/java/com/biutag/supervision/controller/api/plugin/CaseVerifController.java create mode 100644 src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java create mode 100644 src/main/java/com/biutag/supervision/controller/system/ProblemTypeMapingController.java create mode 100644 src/main/java/com/biutag/supervision/controller/work/NewsController.java create mode 100644 src/main/java/com/biutag/supervision/mapper/MailMapper.java create mode 100644 src/main/java/com/biutag/supervision/mapper/NewsMapper.java create mode 100644 src/main/java/com/biutag/supervision/mapper/SupDictProblemTypeMapingMapper.java create mode 100644 src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337ExportDto.java create mode 100644 src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintGjImportDto.java create mode 100644 src/main/java/com/biutag/supervision/pojo/dto/plugin/CaseVerifPluginDto.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/News.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemTypeMaping.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/mailbox/Mail.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/NewsQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/VideoInspectionQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintExportGabxfVo.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionInfo.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionVo.java create mode 100644 src/main/java/com/biutag/supervision/service/NegativeBookService.java create mode 100644 src/main/java/com/biutag/supervision/service/NewsService.java create mode 100644 src/main/java/com/biutag/supervision/service/SupDictProblemTypeMapingService.java create mode 100644 src/main/resources/mapper/DataAlarmDispositionInfoMapper.xml create mode 100644 src/main/resources/mapper/NegativeTaskMapper.xml create mode 100644 src/main/resources/static/templates/公安信访投诉数据导入模板.xls create mode 100644 src/main/resources/static/templates/国家信访投诉数据导入模板.xls diff --git a/pom.xml b/pom.xml index f17d01f..96a5acb 100644 --- a/pom.xml +++ b/pom.xml @@ -219,6 +219,18 @@ spring-boot-starter-actuator + + org.postgresql + postgresql + 42.7.4 + + + + org.jsoup + jsoup + 1.18.3 + + diff --git a/sql/241231.sql b/sql/241231.sql new file mode 100644 index 0000000..5fbc3cf --- /dev/null +++ b/sql/241231.sql @@ -0,0 +1,21 @@ +CREATE TABLE `news` ( + `id` int NOT NULL AUTO_INCREMENT, + `source` varchar(255) DEFAULT NULL COMMENT '动态来源', + `work_type` varchar(255) DEFAULT NULL COMMENT '动态分类', + `release_time` datetime DEFAULT NULL COMMENT '发布时间', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + `content_txt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; + + +CREATE TABLE `sup_dict_problem_type_maping` ( + `id` int NOT NULL AUTO_INCREMENT, + `external_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, + `internal_name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL, + `internal_id` varchar(40) COLLATE utf8mb4_general_ci NOT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/config/InterceptorConfig.java b/src/main/java/com/biutag/supervision/config/InterceptorConfig.java index 3bb4130..178f575 100644 --- a/src/main/java/com/biutag/supervision/config/InterceptorConfig.java +++ b/src/main/java/com/biutag/supervision/config/InterceptorConfig.java @@ -36,8 +36,8 @@ public class InterceptorConfig implements WebMvcConfigurer { .excludePathPatterns("/file/stream/**", "/templates/**") .excludePathPatterns("/datav/risk/**") .excludePathPatterns("/score/**") - .excludePathPatterns("/policeUpdateAvatar") - + // excel导出 + .excludePathPatterns("/data/petitionComplaint12337/export/result", "/negative/books/export/xf/**") .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/StatisticsController.java b/src/main/java/com/biutag/supervision/controller/StatisticsController.java index bced766..859b932 100644 --- a/src/main/java/com/biutag/supervision/controller/StatisticsController.java +++ b/src/main/java/com/biutag/supervision/controller/StatisticsController.java @@ -52,7 +52,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long verifyCount = negativeService.count(new LambdaUpdateWrapper() @@ -60,7 +60,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long delayCount = negativeService.count(new LambdaUpdateWrapper() @@ -70,7 +70,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long completedApproveCount = negativeService.count(new LambdaUpdateWrapper() @@ -78,7 +78,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); @@ -90,7 +90,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long todayCompleted = negativeService.count(new LambdaUpdateWrapper() @@ -98,14 +98,14 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long totalNumber = negativeService.count(new LambdaUpdateWrapper() .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); long totalCompleted = negativeService.count(new LambdaUpdateWrapper() @@ -113,7 +113,7 @@ public class StatisticsController { .in(!user.getAuthSources().isEmpty(), Negative::getProblemSourcesCode, user.getAuthSources()) .and(nonAdminAuth, query -> { query.in(Negative::getHandleSecondDepartId, user.getAuthDepartIds()).or() - .in(Negative::getThingDesc, user.getAuthDepartIds()); + .in(Negative::getHandleThreeDepartId, user.getAuthDepartIds()); }) ); diff --git a/src/main/java/com/biutag/supervision/controller/api/plugin/CaseVerifController.java b/src/main/java/com/biutag/supervision/controller/api/plugin/CaseVerifController.java new file mode 100644 index 0000000..8768b67 --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/api/plugin/CaseVerifController.java @@ -0,0 +1,41 @@ +package com.biutag.supervision.controller.api.plugin; + +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.dto.DataPetitionComplaintDto; +import com.biutag.supervision.pojo.dto.plugin.CaseVerifPluginDto; +import com.biutag.supervision.pojo.entity.DataCaseVerif; +import com.biutag.supervision.service.DataCaseVerifService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wxc + * @date 2025/1/6 + */ +@Tag(name = "案件核查(插件)") +@RequiredArgsConstructor +@RequestMapping("plugin/caseVerif") +@RestController +public class CaseVerifController { + + private final DataCaseVerifService dataCaseVerifService; + + @Operation(summary = "推送案件核查数据") + @PostMapping + public Result add(@RequestBody @Validated CaseVerifPluginDto body) { + DataCaseVerif caseVerif = new DataCaseVerif(); + caseVerif.setOriginId(body.getCaseNumber()); + caseVerif.setResponderName(body.getReporterName()); + caseVerif.setResponderPhone(body.getReporterContact()); + caseVerif.setThingDesc(body.getBriefCase()); + caseVerif.setSourceInvolveDepartName(body.getVerifiedObjectUnit()); + dataCaseVerifService.save(caseVerif); + return Result.success(); + } +} diff --git a/src/main/java/com/biutag/supervision/controller/api/plugin/PetitionComplainApiController.java b/src/main/java/com/biutag/supervision/controller/api/plugin/PetitionComplainApiController.java index 369db97..20d25f4 100644 --- a/src/main/java/com/biutag/supervision/controller/api/plugin/PetitionComplainApiController.java +++ b/src/main/java/com/biutag/supervision/controller/api/plugin/PetitionComplainApiController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "信访投诉(插件)") + @RequiredArgsConstructor @RequestMapping("plugin/petitionComplain") @RestController diff --git a/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java b/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java index 34a3039..6fce5ba 100644 --- a/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java +++ b/src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java @@ -2,24 +2,23 @@ package com.biutag.supervision.controller.books; import cn.hutool.core.bean.BeanUtil; 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.DepartLevelEnum; import com.biutag.supervision.constants.enums.ProblemSourcesEnum; import com.biutag.supervision.constants.enums.SpecialSupervisionEnum; import com.biutag.supervision.mapper.DataPetitionComplaintMapper; import com.biutag.supervision.pojo.Result; -import com.biutag.supervision.pojo.entity.DataPetitionComplaint; import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.NegativeBlame; import com.biutag.supervision.pojo.param.NegativeQueryParam; -import com.biutag.supervision.pojo.vo.DataPetitionComplaintNegativeVo; -import com.biutag.supervision.pojo.vo.DepartTree; -import com.biutag.supervision.pojo.vo.NegativeHdjq; +import com.biutag.supervision.pojo.vo.*; import com.biutag.supervision.service.NegativeBlameService; +import com.biutag.supervision.service.NegativeBookService; import com.biutag.supervision.service.NegativeService; import com.biutag.supervision.service.SupDepartService; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -27,9 +26,12 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.io.IOException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -50,6 +52,9 @@ public class NegativeBookController { private final DataPetitionComplaintMapper dataPetitionComplaintMapper; + private final NegativeBookService negativeBookService; + + // 黄赌警情 @GetMapping("hdjq") public Result> page(NegativeQueryParam param) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -108,6 +113,7 @@ public class NegativeBookController { return Result.success(new Page().setTotal(page.getTotal()).setRecords(list)); } + // 现场督察 @GetMapping("xcdc") public Result> pageByXcdc(NegativeQueryParam param) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -163,55 +169,61 @@ public class NegativeBookController { return Result.success(new Page().setTotal(page.getTotal()).setRecords(list)); } + // 案件核查 @GetMapping("ajhc") - public Result> pageByAjhc(NegativeQueryParam param) { - return Result.success(); + public Result> pageByAjhc(NegativeQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .in(Negative::getProblemSourcesCode, List.of(ProblemSourcesEnum.A12389.getValue(), ProblemSourcesEnum.SLDJB.getValue(), ProblemSourcesEnum.ZDDJB.getValue(), ProblemSourcesEnum.SJJB.getValue())) + .in(!param.getProcessingStatus().isEmpty(), Negative::getProcessingStatus, param.getProcessingStatus()) + .like(StrUtil.isNotBlank(param.getThingDesc()), Negative::getThingDesc, param.getThingDesc()) + .like(StrUtil.isNotBlank(param.getCheckStatusDesc()), Negative::getCheckStatusDesc, param.getCheckStatusDesc()) + .eq(Objects.nonNull(param.getCrtDepartLevel()), Negative::getCrtDepartLevel, param.getCrtDepartLevel()) + .orderByDesc(Negative::getDiscoveryTime); + Page page = negativeService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + return Result.success(page); } + // 信访投诉 @GetMapping("xf/{problemSourcesCode}") - public Result> pageByGabxf(@PathVariable String problemSourcesCode, NegativeQueryParam param) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("pc.problem_sources_code", problemSourcesCode) - .in(!param.getProcessingStatus().isEmpty(), "n.Processing_Status", param.getProcessingStatus()) - .like(StrUtil.isNotBlank(param.getThingDesc()), "pc.Thing_Desc", param.getThingDesc()) - .like(StrUtil.isNotBlank(param.getCheckStatusDesc()), "n.checkStatusDesc", param.getCheckStatusDesc()) - .like(StrUtil.isNotBlank(param.getInitialPetition()), "pc.Initial_Petition", param.getInitialPetition()); - // 涉及单位 - if (StrUtil.isNotBlank(param.getInvolveDepartId())) { - List departIds = departService.getAllNodeIds(param.getInvolveDepartId()); - queryWrapper.in("n.involveDepartId", departIds); - } - // 办理单位 - if (StrUtil.isNotBlank(param.getHandleDepartId())) { - List nodes = departService.getAllNode(List.of(param.getHandleDepartId())); - List secondIds = nodes.stream().filter(node -> DepartLevelEnum.SECOND.getValue().equals(node.getLevel())).map(DepartTree::getId).toList(); - if (!secondIds.isEmpty()) { - queryWrapper.in("n.Handle_second_depart_id", secondIds); - } else { - queryWrapper.in("n.Handle_three_depart_Id", nodes.stream().filter(node -> DepartLevelEnum.THREE.getValue().equals(node.getLevel())).map(DepartTree::getId).toList()); - } - } - if (StrUtil.isNotBlank(param.getBlameKey()) && StrUtil.isNotBlank(param.getBlameValue())) { - LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); - switch (param.getResponderKey()) { - case "name": - qw.like(NegativeBlame::getBlameName, param.getBlameValue()); - break; - case "empNo": - qw.like(NegativeBlame::getBlameEmpNo, param.getBlameValue()); - break; - case "idCode": - qw.like(NegativeBlame::getBlameIdCode, param.getBlameValue()); - break; - } - List blames = blameService.list(qw); - if (blames.isEmpty()) { - return Result.success(new Page().setTotal(0).setRecords(new ArrayList<>())); - } - queryWrapper.in("n.id", blames.stream().map(NegativeBlame::getNegativeId).collect(Collectors.toSet())); - } - Page page = dataPetitionComplaintMapper.queryBooks(Page.of(param.getCurrent(), param.getSize()), queryWrapper); - return Result.success(page); + public Result> pageByXf(@PathVariable String problemSourcesCode, NegativeQueryParam param) { + return Result.success(negativeBookService.pageByXf(problemSourcesCode, param)); + } + + // 公安部信访导出 + @GetMapping("export/xf/{problemSourcesCode}") + public void exportByXf(@PathVariable String problemSourcesCode, NegativeQueryParam param, HttpServletResponse response) throws IOException { + param.setCurrent(1); + param.setSize(100000); + Page page = negativeBookService.pageByXf(problemSourcesCode, param); + List records = page.getRecords(); + AtomicInteger i = new AtomicInteger(1); + List list = records.stream().map(item -> { + DataPetitionComplaintExportGabxfVo exportGabxfVo = new DataPetitionComplaintExportGabxfVo(); + BeanUtil.copyProperties(item, exportGabxfVo); + exportGabxfVo.setIndex(i.getAndIncrement()); + return exportGabxfVo; + }).toList(); + + String headerValue = "attachment; filename=\"" + URLEncoder.encode("公安部信访台账.xlsx", "UTF-8") + "\""; + response.setHeader("Content-Disposition", headerValue); + response.setContentType("application/octet-stream"); + EasyExcel.write(response.getOutputStream(), DataPetitionComplaintExportGabxfVo.class).inMemory(Boolean.TRUE).sheet("公安部信访台账").doWrite(list); + + } + + // 案件核查 + @GetMapping("export/ajhc") + public void exportByAjhc(NegativeQueryParam param, HttpServletResponse response) throws IOException { + param.setCurrent(1); + param.setSize(100000); + List list = new ArrayList<>(); + + String headerValue = "attachment; filename=\"" + URLEncoder.encode("案件核查数据台账.xlsx", "UTF-8") + "\""; + response.setHeader("Content-Disposition", headerValue); + response.setContentType("application/octet-stream"); + EasyExcel.write(response.getOutputStream(), DataPetitionComplaintExportGabxfVo.class).inMemory(Boolean.TRUE).sheet("案件核查数据台账").doWrite(list); + } } diff --git a/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaint12337Controller.java b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaint12337Controller.java index 5122dab..d58cce9 100644 --- a/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaint12337Controller.java +++ b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaint12337Controller.java @@ -1,20 +1,26 @@ package com.biutag.supervision.controller.data; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.metadata.ReadSheet; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.DataPetition12337Distribute; import com.biutag.supervision.pojo.dto.DataPetition12337Dto; +import com.biutag.supervision.pojo.dto.DataPetition12337ExportDto; import com.biutag.supervision.pojo.entity.DataPetition12337; +import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; import com.biutag.supervision.pojo.vo.DataPetition12337Vo; import com.biutag.supervision.service.DataPetition12337Service; +import com.biutag.supervision.service.NegativeService; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -22,7 +28,9 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Tag(name = "12337信访投诉菜单") @@ -35,6 +43,8 @@ public class DataPetitionComplaint12337Controller { private final DataPetition12337Service dataPetition12337Service; + private final NegativeService negativeService; + /** * 12337 分页列表 @@ -102,5 +112,22 @@ public class DataPetitionComplaint12337Controller { return Result.success(dataPetition12337Service.distribution(distributeData)); } + @GetMapping("export/result") + public void exportResult(String taskId, HttpServletResponse response) throws IOException { + List negatives = negativeService.list(new LambdaUpdateWrapper().eq(Negative::getTaskId, taskId)); + + List list = negatives.isEmpty() ? new ArrayList<>() : dataPetition12337Service.listByIds(negatives.stream().map(Negative::getOriginId).toList()) + .stream().map(item -> { + DataPetition12337ExportDto dto = new DataPetition12337ExportDto(); + BeanUtils.copyProperties(item, dto); + return dto; + }).toList(); + String headerValue = "attachment; filename=\"" + URLEncoder.encode(String.format("12337信访投诉结果台账_%s.xlsx", DateUtil.format(new Date(), "yyMMdd")), "UTF-8") + "\""; + response.setHeader("Content-Disposition", headerValue); + response.setContentType("application/octet-stream"); + EasyExcel.write(response.getOutputStream(), DataPetition12337ExportDto.class).inMemory(Boolean.TRUE).sheet("问题台账").doWrite(list); + + } + } diff --git a/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java index 1a65920..143aac5 100644 --- a/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java +++ b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java @@ -9,11 +9,12 @@ import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.metadata.ReadSheet; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.biutag.supervision.constants.enums.DepartLevelEnum; +import com.biutag.supervision.constants.enums.DistributionStateEnum; import com.biutag.supervision.constants.enums.InitialPetition; +import com.biutag.supervision.constants.enums.ProblemSourcesEnum; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.DataDataPetitionComplainDistribute; -import com.biutag.supervision.pojo.dto.DataPetitionComplaintAddDto; +import com.biutag.supervision.pojo.dto.DataPetitionComplaintGjImportDto; import com.biutag.supervision.pojo.dto.DataPetitionComplaintImportDto; import com.biutag.supervision.pojo.entity.DataPetitionComplaint; import com.biutag.supervision.pojo.entity.SupDepart; @@ -21,18 +22,19 @@ import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; import com.biutag.supervision.pojo.vo.DataPetitionComplaintVo; import com.biutag.supervision.service.DataPetitionComplaintService; import com.biutag.supervision.service.SupDepartService; -import jakarta.validation.ConstraintViolation; import jakarta.validation.Validator; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; /** * @@ -56,51 +58,90 @@ public class DataPetitionComplaintController { return Result.success(dataPetitionComplaintService.page(queryParam)); } - @PostMapping("import") + // 公安部信访导入 + @PostMapping("gab/import") public Result> importExcel(@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 secondDeparts = departService.listByLevel(List.of(DepartLevelEnum.SECOND.getValue())); List list = new ArrayList<>(); ExcelReader excelReader = EasyExcel.read(file.getInputStream(), DataPetitionComplaintImportDto.class, new ReadListener() { @Override public void invoke(DataPetitionComplaintImportDto data, AnalysisContext analysisContext) { - if ("是".equals(data.getEntanglementVisitsLabel())) { - data.setEntanglementVisits(true); + if (StrUtil.isNotBlank(data.getInvolveDepartName())) { + List departs = departService.list(new LambdaQueryWrapper().eq(SupDepart::getShortName, data.getInvolveDepartName())); + if (departs.size() == 1) { + data.setDepartId(departs.get(0).getId()); + } } - if ("否".equals(data.getEntanglementVisitsLabel())) { - data.setEntanglementVisits(false); - } - if ("是".equals(data.getMassVisitsLabel())) { - data.setMassVisits(true); - } - if ("否".equals(data.getMassVisitsLabel())) { - data.setMassVisits(false); - } - data.setInitialPetition(InitialPetition.getValue(data.getInitialPetition())); - - String secondDepartId = secondDeparts.stream() - .filter(item -> item.getShortName().equals(data.getInvolveSecondDepartName())).findFirst() - .map(SupDepart::getId).orElse(""); - data.setInvolveSecondDepartId(secondDepartId); - if (StrUtil.isNotBlank(secondDepartId)) { - String complainedThirdDepartId = departService.list(new LambdaQueryWrapper().eq(SupDepart::getPid, secondDepartId) - .like(SupDepart::getShortName, data.getInvolveThirdDepartName())) - .stream().findFirst().map(SupDepart::getId).orElse(""); - data.setInvolveThirdDepartId(complainedThirdDepartId); + list.add(data); + } + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + } + }).build(); + ReadSheet sheet = EasyExcel.readSheet(0).build(); + excelReader.read(sheet); + excelReader.close(); + return Result.success(list); + } + + @PostMapping("gab") + public Result add(@RequestBody List list) { + List petitionComplaints = list.stream().map(item -> { + DataPetitionComplaint dataPetitionComplaint = new DataPetitionComplaint(); + BeanUtils.copyProperties(item, dataPetitionComplaint); + dataPetitionComplaint.setProblemSourcesCode(ProblemSourcesEnum.GABXF.getValue()); + dataPetitionComplaint.setCreateTime(LocalDateTime.now()); + dataPetitionComplaint.setUpdateTime(LocalDateTime.now()); + dataPetitionComplaint.setDistributionState(DistributionStateEnum.UNDISTRIBUTED.getValue()); + if (StrUtil.isNotBlank(item.getDiscoveryTime())) { + try { + dataPetitionComplaint.setDiscoveryTime(LocalDate.parse(item.getDiscoveryTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay()); + } catch (Exception e) { + log.error(e.getMessage(), e); } - Set> validate = validator.validate(data); - if (!validate.isEmpty()) { - String message = validate.stream().map(ConstraintViolation::getMessage).collect(Collectors.joining("\n")); - data.setErrMsg(message); - data.setState("fail"); - } else { - data.setState("success"); + } + SupDepart depart = departService.getById(item.getDepartId()); + if (depart.getLevel() == 2) { + dataPetitionComplaint.setSecondDepartId(depart.getId()); + dataPetitionComplaint.setSecondDepartName(depart.getShortName()); + } + if (depart.getLevel() == 3) { + dataPetitionComplaint.setThirdDepartId(depart.getId()); + dataPetitionComplaint.setThirdDepartName(depart.getShortName()); + SupDepart parent = departService.getById(depart.getPid()); + dataPetitionComplaint.setSecondDepartId(parent.getId()); + dataPetitionComplaint.setSecondDepartName(parent.getShortName()); + } + return dataPetitionComplaint; + }).toList(); + dataPetitionComplaintService.saveOrUpdateBatch(petitionComplaints); + return Result.success(); + } + + @PostMapping("gj/import") + public Result> importExcelByGj(@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 list = new ArrayList<>(); + ExcelReader excelReader = EasyExcel.read(file.getInputStream(), DataPetitionComplaintGjImportDto.class, new ReadListener() { + + @Override + public void invoke(DataPetitionComplaintGjImportDto data, AnalysisContext analysisContext) { + if (StrUtil.isNotBlank(data.getHandleDepartName())) { + List departs = departService.list(new LambdaQueryWrapper().eq(SupDepart::getName, data.getHandleDepartName())); + if (departs.size() == 1) { + data.setDepartId(departs.get(0).getId()); + } } list.add(data); } @@ -114,12 +155,45 @@ public class DataPetitionComplaintController { return Result.success(list); } - @PostMapping() - public Result add(@RequestBody DataPetitionComplaintAddDto body) { - if (body.getData().isEmpty()) { - return Result.success(); - } - return Result.success(dataPetitionComplaintService.save(body)); + @PostMapping("gj") + public Result addByGj(@RequestBody List list) { + List petitionComplaints = list.stream().map(item -> { + DataPetitionComplaint dataPetitionComplaint = new DataPetitionComplaint(); + BeanUtils.copyProperties(item, dataPetitionComplaint); + dataPetitionComplaint.setProblemSourcesCode(ProblemSourcesEnum.GJXFPT.getValue()); + dataPetitionComplaint.setCreateTime(LocalDateTime.now()); + dataPetitionComplaint.setUpdateTime(LocalDateTime.now()); + dataPetitionComplaint.setDistributionState(DistributionStateEnum.UNDISTRIBUTED.getValue()); + if (StrUtil.isNotBlank(item.getDiscoveryTime())) { + try { + dataPetitionComplaint.setDiscoveryTime(LocalDate.parse(item.getDiscoveryTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay()); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + if (StrUtil.isNotBlank(item.getInitialPetition())) { + if ("初件".equals(item.getInitialPetition())) { + dataPetitionComplaint.setInitialPetition(InitialPetition.THE_FIRST.getValue()); + } else { + dataPetitionComplaint.setInitialPetition(InitialPetition.REPEAT.getValue()); + } + } + SupDepart depart = departService.getById(item.getDepartId()); + if (depart.getLevel() == 2) { + dataPetitionComplaint.setSecondDepartId(depart.getId()); + dataPetitionComplaint.setSecondDepartName(depart.getShortName()); + } + if (depart.getLevel() == 3) { + dataPetitionComplaint.setThirdDepartId(depart.getId()); + dataPetitionComplaint.setThirdDepartName(depart.getShortName()); + SupDepart parent = departService.getById(depart.getPid()); + dataPetitionComplaint.setSecondDepartId(parent.getId()); + dataPetitionComplaint.setSecondDepartName(parent.getShortName()); + } + return dataPetitionComplaint; + }).toList(); + dataPetitionComplaintService.saveOrUpdateBatch(petitionComplaints); + return Result.success(); } @DeleteMapping("{id}") diff --git a/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java b/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java new file mode 100644 index 0000000..e1fa6df --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/data/VideoInspectionController.java @@ -0,0 +1,42 @@ +package com.biutag.supervision.controller.data; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.mapper.DataAlarmDispositionInfoMapper; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.entity.DataAlarmDispositionInfo; +import com.biutag.supervision.pojo.param.VideoInspectionQueryParam; +import com.biutag.supervision.pojo.vo.VideoInspectionInfo; +import com.biutag.supervision.pojo.vo.VideoInspectionVo; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wxc + * @date 2025/1/2 + */ +@RequiredArgsConstructor +@RequestMapping("videoInspection") +@RestController +public class VideoInspectionController { + + private final DataAlarmDispositionInfoMapper dataAlarmDispositionInfoMapper; + + @GetMapping + public Result> list(VideoInspectionQueryParam param) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotBlank(param.getSystemKeyName()), "d.systemKeyName", param.getSystemKeyName()) + .like(StrUtil.isNotBlank(param.getSystemKeyName()), "d.title", param.getSystemKeyName()); + return Result.success(dataAlarmDispositionInfoMapper.queryPage(Page.of(param.getCurrent(), param.getSize()), queryWrapper)); + } + + @GetMapping("{id}") + public Result get(@PathVariable String id) { + + return Result.success(); + } +} diff --git a/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfileDepartController.java b/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfileDepartController.java index d7c7853..7444793 100644 --- a/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfileDepartController.java +++ b/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfileDepartController.java @@ -49,9 +49,11 @@ public class ProfileDepartController { private final BusinessDepartService businessDepartService; private final NegativeScoreService negativeScoreService; + private final NegativeScoreDepartService negativeScoreDepartService; + @GetMapping public Result> list(DepartNegativeQueryParam param) { - Date beginTime = DateUtil.parse("1949", "YYYY"); + Date beginTime = DateUtil.parse("1949", "yyyy"); Date endTime = new Date(); if (Objects.nonNull(param.getCrtTime()) && !param.getCrtTime().isEmpty()) { beginTime = param.getCrtTime().get(0); @@ -62,12 +64,10 @@ public class ProfileDepartController { return Result.success(page); } - private final NegativeScoreDepartService negativeScoreDepartService; - @GetMapping("{departId}") public Result profile(@PathVariable String departId, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date beginTime, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime) { if (Objects.isNull(beginTime)) { - beginTime = DateUtil.parse("1949", "YYYY"); + beginTime = DateUtil.parse("1949", "yyyy"); } if (Objects.isNull(endTime)) { endTime = new Date(); diff --git a/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfilePoliceController.java b/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfilePoliceController.java index a1181b1..5fd8310 100644 --- a/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfilePoliceController.java +++ b/src/main/java/com/biutag/supervision/controller/sensitiveperception/ProfilePoliceController.java @@ -51,9 +51,12 @@ public class ProfilePoliceController { private final NegativeService negativeService; private final NegativeScoreService negativeScoreService; + private final NegativeScorePoliceService negativeScorePoliceService; + private final NegativeProblemRelationService negativeProblemRelationService; + @GetMapping public Result> list(DepartPoliceQueryParam param) { - Date beginTime = DateUtil.parse("1949", "YYYY"); + Date beginTime = DateUtil.parse("1949", "yyyy"); Date endTime = new Date(); if (Objects.nonNull(param.getCrtTime()) && !param.getCrtTime().isEmpty()) { beginTime = param.getCrtTime().get(0); @@ -64,13 +67,10 @@ public class ProfilePoliceController { return Result.success(page); } - private final NegativeScorePoliceService negativeScorePoliceService; - private final NegativeProblemRelationService negativeProblemRelationService; - @GetMapping("{idCode}") public Result profile(@PathVariable String idCode, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date beginTime, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime) { if (Objects.isNull(beginTime)) { - beginTime = DateUtil.parse("1949", "YYYY"); + beginTime = DateUtil.parse("1949", "yyyy"); } if (Objects.isNull(endTime)) { endTime = new Date(); @@ -152,7 +152,7 @@ public class ProfilePoliceController { @GetMapping("{idCode}/negative") public Result> profile(@PathVariable String idCode, Page page, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date beginTime, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime) { if (Objects.isNull(beginTime)) { - beginTime = DateUtil.parse("1949", "YYYY"); + beginTime = DateUtil.parse("1949", "yyyy"); } if (Objects.isNull(endTime)) { endTime = new Date(); diff --git a/src/main/java/com/biutag/supervision/controller/system/DepartMapingController.java b/src/main/java/com/biutag/supervision/controller/system/DepartMapingController.java index c82fcc3..21505c6 100644 --- a/src/main/java/com/biutag/supervision/controller/system/DepartMapingController.java +++ b/src/main/java/com/biutag/supervision/controller/system/DepartMapingController.java @@ -75,7 +75,7 @@ public class DepartMapingController { } @DeleteMapping("{id}") - public Result del(@PathVariable String id) { + public Result del(@PathVariable Integer id) { externalDepartService.removeById(id); return Result.success(); } diff --git a/src/main/java/com/biutag/supervision/controller/system/ProblemTypeMapingController.java b/src/main/java/com/biutag/supervision/controller/system/ProblemTypeMapingController.java new file mode 100644 index 0000000..6eca03f --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/system/ProblemTypeMapingController.java @@ -0,0 +1,65 @@ +package com.biutag.supervision.controller.system; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.mapper.SupDictProblemTypeMapingMapper; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.entity.SupDictProblemTypeMaping; +import com.biutag.supervision.pojo.param.DepartMapingQueryParam; +import com.biutag.supervision.pojo.param.PoliceQueryParam; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; + +/** + * @author wxc + * @date 2024/12/31 + */ +@RequestMapping("problemTypeMaping") +@RequiredArgsConstructor +@RestController +public class ProblemTypeMapingController { + + private final SupDictProblemTypeMapingMapper problemTypeMapingMapper; + + @GetMapping + public Result> list(DepartMapingQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StrUtil.isNotBlank(param.getExternalName()), SupDictProblemTypeMaping::getExternalName, param.getExternalName()) + .eq(StrUtil.isNotBlank(param.getInternalId()), SupDictProblemTypeMaping::getInternalId, param.getInternalId()) + .orderByDesc(SupDictProblemTypeMaping::getCreateTime); + return Result.success(problemTypeMapingMapper.selectPage(Page.of(param.getCurrent(), param.getSize()), queryWrapper)); + } + + @PostMapping + public Result add(@RequestBody SupDictProblemTypeMaping data) { + if (problemTypeMapingMapper.exists(new LambdaQueryWrapper() + .eq(SupDictProblemTypeMaping::getExternalName, data.getExternalName()))) { + throw new RuntimeException(String.format("单位编码【%s】已存在", data.getExternalName())); + } + data.setUpdateTime(LocalDateTime.now()); + data.setCreateTime(LocalDateTime.now()); + problemTypeMapingMapper.insert(data); + return Result.success(); + } + + @PutMapping + public Result update(@RequestBody SupDictProblemTypeMaping data) { + if (problemTypeMapingMapper.exists(new LambdaQueryWrapper() + .eq(SupDictProblemTypeMaping::getExternalName, data.getExternalName()) + .ne(SupDictProblemTypeMaping::getId, data.getId()))) { + throw new RuntimeException(String.format("单位编码【%s】已存在", data.getExternalName())); + } + data.setUpdateTime(LocalDateTime.now()); + problemTypeMapingMapper.updateById(data); + return Result.success(); + } + + @DeleteMapping("{id}") + public Result del(@PathVariable String id) { + problemTypeMapingMapper.deleteById(id); + return Result.success(); + } +} diff --git a/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java b/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java index 900dcf4..ad40ae3 100644 --- a/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java +++ b/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java @@ -19,6 +19,7 @@ import com.biutag.supervision.pojo.dto.NegativeImportDto; import com.biutag.supervision.pojo.entity.NegativeTask; import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.pojo.entity.SupDictData; +import com.biutag.supervision.pojo.model.ModelClueTaskDepartModel; import com.biutag.supervision.pojo.param.NegativeTaskQueryParam; import com.biutag.supervision.service.NegativeTaskService; import com.biutag.supervision.service.SupDepartService; @@ -153,4 +154,9 @@ public class NegativeTaskController { return Result.success(negativeTaskService.distribution(distributeData)); } + @GetMapping("{taskId}/byDepart") + public Result> detailGroupByDepart(@PathVariable String taskId) { + return Result.success(negativeTaskService.detailGroupByDepart(taskId)); + } + } diff --git a/src/main/java/com/biutag/supervision/controller/work/NewsController.java b/src/main/java/com/biutag/supervision/controller/work/NewsController.java new file mode 100644 index 0000000..7c6c94a --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/work/NewsController.java @@ -0,0 +1,60 @@ +package com.biutag.supervision.controller.work; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.entity.News; +import com.biutag.supervision.pojo.param.NewsQueryParam; +import com.biutag.supervision.service.NewsService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; + +/** + * @author wxc + * @date 2024/12/31 + */ +@RequiredArgsConstructor +@RequestMapping("news") +@RestController +public class NewsController { + + private final NewsService newsService; + + @GetMapping + public Result> list(NewsQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (param != null && param.getReleaseTime().size() == 2) { + queryWrapper.between(News::getReleaseTime, param.getReleaseTime().get(0), param.getReleaseTime().get(1)); + } + queryWrapper.eq(StrUtil.isNotBlank(param.getSource()), News::getSource, param.getSource()) + .eq(StrUtil.isNotBlank(param.getWorkType()), News::getSource, param.getWorkType()) + .like(StrUtil.isNotBlank(param.getContentTxt()), News::getContentTxt, param.getContentTxt()) + .orderByDesc(News::getCreateTime); + Page page = newsService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + return Result.success(page); + } + + @PostMapping + public Result add(@RequestBody News data) { + data.setUpdateTime(LocalDateTime.now()); + data.setCreateTime(LocalDateTime.now()); + newsService.save(data); + return Result.success(); + } + + @PutMapping + public Result update(@RequestBody News data) { + data.setUpdateTime(LocalDateTime.now()); + newsService.updateById(data); + return Result.success(); + } + + @DeleteMapping("{id}") + public Result del(@PathVariable Integer id) { + newsService.removeById(id); + 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 88aaa51..90a3e92 100644 --- a/src/main/java/com/biutag/supervision/job/Job.java +++ b/src/main/java/com/biutag/supervision/job/Job.java @@ -3,9 +3,13 @@ package com.biutag.supervision.job; import cn.hutool.core.util.NumberUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.biutag.supervision.constants.enums.BusinessTypeEnum; +import com.biutag.supervision.constants.enums.ProblemSourcesEnum; import com.biutag.supervision.constants.enums.ProcessingStatusEnum; +import com.biutag.supervision.mapper.MailMapper; import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.SupDepart; +import com.biutag.supervision.pojo.entity.mailbox.Mail; import com.biutag.supervision.service.*; import com.biutag.supervision.util.TimeUtil; import lombok.RequiredArgsConstructor; @@ -99,4 +103,36 @@ public class Job { public void executeModel() { modelClueService.generate(1); } + + private final MailMapper mailMapper; + + /** + * 凌晨1点执行 + */ + @Scheduled(cron = "0 0 1 * * ?") + public void mailbox() { + List mailList = mailMapper.selectList(new LambdaUpdateWrapper().eq(Mail::getMailState, "completion") + .in(Mail::getVerifyIsTrue, List.of("属实", "基本属实"))); + mailList.stream().map(item -> { + Negative negative = new Negative(); + negative.setOriginId(item.getId()); + negative.setResponderName(item.getContactName()); + negative.setContactPhone(item.getContactPhone()); + negative.setThingDesc(item.getContent()); + negative.setProblemSources(ProblemSourcesEnum.JZXX.getLabel()); + negative.setProblemSourcesCode(ProblemSourcesEnum.JZXX.getValue()); + negative.setBusinessTypeCode(BusinessTypeEnum.QT.getValue()); + negative.setBusinessTypeName(BusinessTypeEnum.QT.getLabel()); + if ("属实".equals(item.getVerifyIsTrue())) { + negative.setCheckStatus(""); + } + if ("基本属实".equals(item.getVerifyIsTrue())) { + + } + negative.setCrtTime(LocalDateTime.now()); + return negative; + }).toList(); + + } + } diff --git a/src/main/java/com/biutag/supervision/mapper/DataAlarmDispositionInfoMapper.java b/src/main/java/com/biutag/supervision/mapper/DataAlarmDispositionInfoMapper.java index 4e2e41f..d3e4202 100644 --- a/src/main/java/com/biutag/supervision/mapper/DataAlarmDispositionInfoMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/DataAlarmDispositionInfoMapper.java @@ -1,8 +1,14 @@ package com.biutag.supervision.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.entity.DataAlarmDispositionInfo; +import com.biutag.supervision.pojo.vo.VideoInspectionVo; +import org.apache.ibatis.annotations.Param; public interface DataAlarmDispositionInfoMapper extends BaseMapper { + Page queryPage(@Param("page") Page page, @Param("ew") QueryWrapper ew); + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/mapper/MailMapper.java b/src/main/java/com/biutag/supervision/mapper/MailMapper.java new file mode 100644 index 0000000..4ab5085 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/MailMapper.java @@ -0,0 +1,13 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.mailbox.Mail; + +/** + * @author wxc + * @date 2024/12/31 + */ +@DS("mailbox") +public interface MailMapper extends BaseMapper { +} diff --git a/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java b/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java index 3fd1ad8..5922cdd 100644 --- a/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java @@ -2,7 +2,13 @@ package com.biutag.supervision.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.biutag.supervision.pojo.entity.NegativeTask; +import com.biutag.supervision.pojo.model.ModelClueTaskDepartModel; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface NegativeTaskMapper extends BaseMapper { + List selectGroupByDepart(@Param("taskId") String taskId); + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/mapper/NewsMapper.java b/src/main/java/com/biutag/supervision/mapper/NewsMapper.java new file mode 100644 index 0000000..36ed863 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/NewsMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.News; + +public interface NewsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/mapper/SupDictProblemTypeMapingMapper.java b/src/main/java/com/biutag/supervision/mapper/SupDictProblemTypeMapingMapper.java new file mode 100644 index 0000000..70775a2 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/SupDictProblemTypeMapingMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.SupDictProblemTypeMaping; + +public interface SupDictProblemTypeMapingMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/domain/CountersignApply.java b/src/main/java/com/biutag/supervision/pojo/domain/CountersignApply.java index d1bd1d6..92afe4f 100644 --- a/src/main/java/com/biutag/supervision/pojo/domain/CountersignApply.java +++ b/src/main/java/com/biutag/supervision/pojo/domain/CountersignApply.java @@ -23,7 +23,7 @@ public class CountersignApply { private String requirement; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime createTime; private String creatorName; diff --git a/src/main/java/com/biutag/supervision/pojo/domain/NegativeVo.java b/src/main/java/com/biutag/supervision/pojo/domain/NegativeVo.java index d1cb6e8..756cc7b 100644 --- a/src/main/java/com/biutag/supervision/pojo/domain/NegativeVo.java +++ b/src/main/java/com/biutag/supervision/pojo/domain/NegativeVo.java @@ -27,11 +27,11 @@ public class NegativeVo { private String serialNumber; // 问题发生时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime happenTime; // 问题发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 问题来源code diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Distribute.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Distribute.java index f0462bb..2b12389 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Distribute.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Distribute.java @@ -1,6 +1,9 @@ package com.biutag.supervision.pojo.dto; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; import com.biutag.supervision.pojo.vo.FileVo; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.Getter; import lombok.Setter; @@ -42,4 +45,87 @@ public class DataPetition12337Distribute { private String businessTypeName; private List thingFiles = new ArrayList<>(); + + @Schema(description = "信访投诉") + @Setter + @Getter + public static class DataPetitionComplaintGjImportDto { + + // 信件编号 + @ExcelProperty({"信访件编号"}) + private String originId; + + // 信访形式 + @ExcelProperty({"信访形式"}) + private String channelForFilingComplaints; + + // 投诉人 + @ExcelProperty({"姓名"}) + private String responderName; + + // 投诉人 + @ExcelProperty({"身份证号"}) + private String responderIdCode; + + // 投诉人 + @ExcelProperty({"住址"}) + private String responderAddress; + + // 手机号码 + @ExcelProperty({"手机号码"}) + private String responderPhone; + + // 信访日期 + @ExcelProperty({"信访日期"}) + private String discoveryTime; + + + // 问题发生地 + @ExcelProperty({"问题发生地"}) + private String occurred; + + // 信访内容 + @ExcelProperty({"信访内容"}) + @NotBlank(message = "信访内容为空") + private String thingDesc; + + // 异常动态 + @ExcelProperty({"异常动态"}) + private String abnormal; + + + @ExcelProperty({"问题发生日期"}) + private String happenTime; + + @ExcelProperty({"信访人数"}) + private Integer peopleNumber; + + @ExcelProperty({"信访诉求"}) + private String appeal; + + // 业务类别 + @ExcelProperty({"公安业务分类"}) + private String businessTypeName; + + // 档案编号 + @ExcelProperty({"档案编号"}) + private String fileNo; + + @ExcelProperty({"转往处"}) + private String turnAround; + + @ExcelProperty({"办理方式"}) + private String handingMethod; + + @ExcelProperty({"具体承办单位"}) + private String handleDepartName; + + @ExcelProperty({"责任部门"}) + private String involveDepartName; + + @ExcelIgnore + private String departId; + + + } } diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Dto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Dto.java index b46dbe6..62882d1 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Dto.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337Dto.java @@ -16,11 +16,6 @@ import java.util.Date; @Getter public class DataPetition12337Dto { - /** - * 唯一编号 - */ - private String onlyId; - /** * 外网线索编号 */ @@ -109,7 +104,7 @@ public class DataPetition12337Dto { /** * 所属系统 */ - @ExcelProperty("") + @ExcelProperty("所属系统") private String belongSystem; /** diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337ExportDto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337ExportDto.java new file mode 100644 index 0000000..aeda4ec --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetition12337ExportDto.java @@ -0,0 +1,556 @@ +package com.biutag.supervision.pojo.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +/** + * @author wxc + * @date 2025/1/2 + */ +@Setter +@Getter +public class DataPetition12337ExportDto { + + /** + * 外网线索编号 + */ + @ExcelProperty("外网线索编号") + private String externalId; + + /** + * 内网线索编号 + */ + @ExcelProperty("内网线索编号") + private String innerId; + + /** + * 单机版线索编号 + */ + @ExcelProperty("单机版线索编号") + private String standAlone; + + /** + * 信息受理登记时间 + */ + @ExcelProperty("信息受理登记时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd") + private Date discoverTime; + + /** + * 线索来源 + */ + @ExcelProperty("线索来源") + private String letterSource; + + /** + * 举报人姓名 + */ + @ExcelProperty("举报人姓名") + private String name; + + /** + * 手机号码 + */ + @ExcelProperty("手机号码") + private String phone; + + /** + * 身份证号 + */ + @ExcelProperty("身份证号") + private String idCode; + + /** + * 举报人(省) + */ + @ExcelProperty("举报人(省)") + private String reporterProvincial; + + /** + * 举报人(市) + */ + @ExcelProperty("举报人(市)") + private String reporterCity; + + /** + * 举报人(县) + */ + @ExcelProperty("举报人(县)") + private String reporterCounty; + + /** + * 现住地详址 + */ + @ExcelProperty("现住地详址") + private String address; + + /** + * 是否政法干警 + */ + @ExcelProperty("是否政法干警") + private String isLawPolice; + + /** + * 被举报人姓名 + */ + @ExcelProperty("被举报人姓名") + private String reportedName; + + /** + * 所属系统 + */ + @ExcelProperty("所属系统") + private String belongSystem; + + /** + * 人员类别 + */ + @ExcelProperty("人员类别") + private String personType; + + /** + * 被举报人所在地(省) + */ + @ExcelProperty("被举报人所在地(省)") + private String reportedProvincial; + + /** + * 被举报人所在地(市) + */ + @ExcelProperty("被举报人所在地(市)") + private String reportedCity; + + /** + * 被举报人所在地(县) + */ + @ExcelProperty("被举报人所在地(县)") + private String reportedCounty; + + /** + * 单位名称 + */ + @ExcelProperty("单位名称") + private String orgName; + + /** + * 被举报单位名称 + */ + @ExcelProperty("被举报单位名称") + private String reportedOrgName; + + /** + * 所属系统 + */ + @ExcelProperty("所属系统") + private String reportedOrgBelong; + + /** + * 被举报单位所在地(省) + */ + @ExcelProperty("被举报单位所在地(省)") + private String reportedOrgProvincial; + + /** + * 被举报单位所在地(市) + */ + @ExcelProperty("被举报单位所在地(市)") + private String reportedOrgCity; + + /** + * 被举报单位所在地(县) + */ + @ExcelProperty("被举报单位所在地(县)") + private String reportedOrgCounty; + + /** + * 单位所属层级 + */ + @ExcelProperty("单位所属层级") + private String reportedOrgLevel; + + /** + * 涉嫌违纪问题项目 + */ + @ExcelProperty("涉嫌违纪问题项目") + private String againstProProject; + + /** + * 涉嫌贪污贿赂类犯罪 + */ + @ExcelProperty("涉嫌贪污贿赂类犯罪") + private String corruptionGuilt; + + /** + * 涉嫌渎职类犯罪 + */ + @ExcelProperty("涉嫌渎职类犯罪") + private String omissionGuilt; + + /** + * 涉嫌侵犯公民人身权利类犯罪 + */ + @ExcelProperty("涉嫌侵犯公民人身权利类犯罪") + private String invadeEntitlementGuilt; + + /** + * 涉嫌侵犯财产类犯罪 + */ + @ExcelProperty("涉嫌侵犯财产类犯罪") + private String invadeFinanceGuilt; + + /** + * 其他 + */ + @ExcelProperty("其他") + private String otherGuilt; + + /** + * 顽瘴痼疾项目 + */ + @ExcelProperty("顽瘴痼疾项目") + private String hardProProject; + + /** + * 涉嫌违纪违法事项 + */ + @ExcelProperty("涉嫌违纪违法事项") + private String wjwfProject; + + /** + * 转办时间 + */ + @ExcelProperty("转办时间") + private String passTime; + + /** + * 转办单位 + */ + @ExcelProperty("转办单位") + private String passOrg; + + /** + * 核查时间 + */ + @ExcelProperty("核查时间") + private String reviewTime; + + /** + * 核查单位 + */ + @ExcelProperty("核查单位") + private String reviewOrg; + + /** + * 核查人 + */ + @ExcelProperty("核查人") + private String reviewPersonName; + + /** + * 核查人联系方式 + */ + @ExcelProperty("核查人联系方式") + private String reviewPersonPhone; + + /** + * 被核查人类别 + */ + @ExcelProperty("被核查人类别") + private String reviewedPersonType; + + /** + * 被核查人是否属于领导班子成员 + */ + @ExcelProperty("被核查人是否属于领导班子成员") + private String reviewedPersonIsleader; + + /** + * 是否核查完结 + */ + @ExcelProperty("是否核查完结") + private String reviewedIsover; + + /** + * 核查简要情况 + */ + @ExcelProperty("核查简要情况") + private String reviewDes; + + /** + * 办理结果 + */ + @ExcelProperty("办理结果") + private String processResult; + + /** + * 是否进行线索初核 + */ + @ExcelProperty("是否进行线索初核") + private String isFirstView; + + /** + * 核查组组长 + */ + @ExcelProperty("核查组组长") + private String reviewLeader; + + /** + * (核查组组长)联系方式 + */ + @ExcelProperty("(核查组组长)联系方式") + private String reviewLeaderPhone; + + /** + * 初核情况 + */ + @ExcelProperty("初核情况") + private String firstViewDes; + + /** + * 是否立案审查调查 + */ + @ExcelProperty("是否立案审查调查") + private String isRegisterCase; + + /** + * 立案审查调查情况 + */ + @ExcelProperty("立案审查调查情况") + private String registerCaseDes; + + /** + * 是否处分处理 + */ + @ExcelProperty("是否处分处理") + private String isPunish; + + /** + * 处理结论形态 + */ + @ExcelProperty("处理结论形态") + private String processResType; + + /** + * 处理结论结果 + */ + @ExcelProperty("处理结论结果") + private String processResDes; + + /** + * 处分处理情况 + */ + @ExcelProperty("处分处理情况") + private String punishDes; + + /** + * 是否适用自查从宽政策 + */ + @ExcelProperty("是否适用自查从宽政策") + private String isTolerant; + + /** + * 是否办结 + */ + @ExcelProperty("是否办结") + private String isOver; + + /** + * 联系时间 + */ + @ExcelProperty("联系时间") + private String contactTime; + + /** + * 联系单位 + */ + @ExcelProperty("联系单位") + private String contactOrg; + + /** + * 联系人 + */ + @ExcelProperty("联系人") + private String contactPersonName; + + /** + * 联系方式 + */ + @ExcelProperty("联系方式") + private String contactType; + + /** + * 与举报人联系沟通详情 + */ + @ExcelProperty("与举报人联系沟通详情") + private String contactReporterDes; + + /** + * 超期未反馈原因 + */ + @ExcelProperty("超期未反馈原因") + private String overtimeReason; + + /** + * 是否申请异议 + */ + @ExcelProperty("是否申请异议") + private String isDissent; + + /** + * 目标省份 + */ + @ExcelProperty("目标省份") + private String aimProvincial; + + /** + * 申请人 + */ + @ExcelProperty("申请人") + private String applyPersonName; + + /** + * 联系方式 + */ + @ExcelProperty("联系方式") + private String applyPersonPhone; + + /** + * 申请原因 + */ + @ExcelProperty("申请原因") + private String applyReason; + + /** + * 异议处理方式 + */ + @ExcelProperty("异议处理方式") + private String dissentHandle; + + /** + * 处理说明 + */ + @ExcelProperty("处理说明") + private String dissentHandleExplain; + + /** + * 是否存在附件 + */ + @ExcelProperty("是否存在附件") + private String isAnnex; + + /** + * 附件文件名 + */ + @ExcelProperty("附件文件名") + private String annexName; + + /** + * 线索举报时间 + */ + @ExcelProperty("线索举报时间") + private String reportTime; + + /** + * 导入时间 + */ + @ExcelProperty("导入时间") + private String enterTime; + + /** + * 分发时间 + */ + @ExcelProperty("分发时间") + private String distributeTime; + + /** + * 是否违纪违法线索 + */ + @ExcelProperty("是否违纪违法线索") + private String isAgainstClue; + + /** + * 是否涉法涉诉线索 + */ + @ExcelProperty("是否涉法涉诉线索") + private String isAppealClue; + + /** + * 是否范围外线索 + */ + @ExcelProperty("是否范围外线索") + private String isOverroundClue; + + /** + * 是否无效线索 + */ + @ExcelProperty("是否无效线索") + private String isInvalidClue; + + /** + * 是否重点线索 + */ + @ExcelProperty("是否重点线索") + private String isImportantClue; + + /** + * 线索是否重复 + */ + @ExcelProperty("线索是否重复") + private String isRepeatClue; + + /** + * 重复线索组别 + */ + @ExcelProperty("重复线索组别") + private String repeatClueType; + + /** + * 线索是否进行了机筛 + */ + @ExcelProperty("线索是否进行了机筛") + private String isMachine; + + /** + * 机筛线索时间 + */ + @ExcelProperty("机筛线索时间") + private String machineTme; + + /** + * 线索是否经过人工筛查 + */ + @ExcelProperty("线索是否经过人工筛查") + private String isPerson; + + /** + * 人工筛查线索时间 + */ + @ExcelProperty("人工筛查线索时间") + private String personTime; + + /** + * 是否关注线索 + */ + @ExcelProperty("是否关注线索") + private String isCare; + + /** + * 关注时间 + */ + @ExcelProperty("关注时间") + private String careTime; + + /** + * 操作时间 + */ + @ExcelProperty("操作时间") + private String handleTime; + + @ExcelProperty("唯一编号") + private String negativeId; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintGjImportDto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintGjImportDto.java new file mode 100644 index 0000000..d822d86 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintGjImportDto.java @@ -0,0 +1,68 @@ +package com.biutag.supervision.pojo.dto; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +@Schema(description = "信访投诉") +@Setter +@Getter +public class DataPetitionComplaintGjImportDto { + + // 信件编号 + @ExcelProperty({"信访件编号"}) + private String originId; + + // 信访日期 + @ExcelProperty({"信访日期"}) + private String discoveryTime; + + // 投诉人 + @ExcelProperty({"姓名"}) + private String responderName; + + // 投诉人 + @ExcelProperty({"信访人住址"}) + private String responderAddress; + + // 投诉人 + @ExcelProperty({"身份证号码"}) + private String responderIdCode; + + // 手机号码 + @ExcelProperty({"手机号码"}) + private String responderPhone; + + // 问题属地 + @ExcelProperty({"问题属地"}) + private String occurred; + + // 信访形式 + @ExcelProperty({"信访形式"}) + private String channelForFilingComplaints; + + @ExcelProperty({"信访人数"}) + private Integer peopleNumber; + + // 信访内容 + @ExcelProperty({"投诉内容"}) + private String thingDesc; + + // 初重信访 + @ExcelProperty("是否重信") + private String initialPetition; + + // 业务类别 + @ExcelProperty({"内容分类"}) + private String businessTypeName; + + @ExcelProperty({"去向机构"}) + private String handleDepartName; + + @ExcelIgnore + private String departId; + + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java index 9d7c986..4edbea6 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java @@ -1,8 +1,8 @@ package com.biutag.supervision.pojo.dto; +import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; +import com.alibaba.excel.annotation.format.DateTimeFormat; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.Getter; @@ -15,75 +15,81 @@ import java.time.LocalDateTime; @Getter public class DataPetitionComplaintImportDto { - // 投诉渠道 - @ExcelProperty({"信访基本信息", "投诉渠道"}) - private String channelForFilingComplaints; - // 信件编号 - @ExcelProperty({"信访基本信息", "信件编号"}) + @ExcelProperty({"信访件编号"}) private String originId; - // 受理层级 - @ExcelProperty({"信访基本信息", "受理层级"}) - private String acceptanceLevel; - - // 登记时间 - @ExcelProperty({"信访基本信息", "登记时间"}) - private String discoveryTime; + // 信访形式 + @ExcelProperty({"信访形式"}) + private String petitionType; // 投诉人 - @ExcelProperty({"信访基本信息", "投诉人"}) + @ExcelProperty({"姓名"}) private String responderName; - // 投诉人电话 - @ExcelProperty({"信访基本信息", "投诉人电话"}) - private String contactPhone; + // 投诉人 + @ExcelProperty({"身份证号"}) + private String responderIdCode; - // 初重信访 - @ExcelProperty({"信访基本信息", "初重信访"}) - @NotBlank(message = "初重信访为空或值描述不准确") - private String initialPetition; + // 投诉人 + @ExcelProperty({"住址"}) + private String responderAddress; - // 缠访闹访 - @ExcelProperty({"信访基本信息", "缠访闹访"}) - private String entanglementVisitsLabel; + // 手机号码 + @ExcelProperty({"手机号码"}) + private String responderPhone; - private Boolean entanglementVisits; + // 信访日期 + @ExcelProperty({"信访日期"}) + private String discoveryTime; - // 群众集访 - @ExcelProperty({"信访基本信息", "群众集访"}) - private String massVisitsLabel; - private Boolean massVisits; + // 问题发生地 + @ExcelProperty({"问题发生地"}) + private String occurred; - // 涉嫌问题 - @ExcelProperty({"信访基本信息", "涉嫌问题"}) - private String involveProblem; + // 信访内容 + @ExcelProperty({"信访内容"}) + @NotBlank(message = "信访内容为空") + private String thingDesc; + + // 异常动态 + @ExcelProperty({"异常动态"}) + private String abnormal; + + + @ExcelProperty({"问题发生日期"}) + private String happenTime; + + @ExcelProperty({"信访人数"}) + private Integer peopleNumber; + + @ExcelProperty({"信访诉求"}) + private String appeal; // 业务类别 - @ExcelProperty({"信访基本信息", "业务类别"}) + @ExcelProperty({"公安业务分类"}) private String businessTypeName; - @ExcelProperty({"信访基本信息", "被投诉二级机构"}) - private String involveSecondDepartName; + // 档案编号 + @ExcelProperty({"档案编号"}) + private String fileNo; - // 被投诉机构 - @ExcelProperty({"信访基本信息", "被投诉所队"}) - private String involveThirdDepartName; + @ExcelProperty({"转往处"}) + private String turnAround; + @ExcelProperty({"办理方式"}) + private String handingMethod; - @NotBlank(message = "涉及二级机构为空或与系统未匹配上") - private String involveSecondDepartId; + @ExcelProperty({"具体承办单位"}) + private String handleDepartName; - private String involveThirdDepartId; + @ExcelProperty({"责任部门"}) + private String involveDepartName; - // 具体内容 - @ExcelProperty({"信访基本信息", "具体内容"}) - @NotBlank(message = "具体内容为空") - private String thingDesc; - private String state; + @ExcelIgnore + private String departId; - private String errMsg; } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/dto/plugin/CaseVerifPluginDto.java b/src/main/java/com/biutag/supervision/pojo/dto/plugin/CaseVerifPluginDto.java new file mode 100644 index 0000000..aee7836 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/dto/plugin/CaseVerifPluginDto.java @@ -0,0 +1,56 @@ +package com.biutag.supervision.pojo.dto.plugin; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * @author wxc + * @date 2025/1/6 + */ +@Setter +@Getter +public class CaseVerifPluginDto { + + // 案件编号 + private String caseNumber; + + // 投诉渠道 + private String caseSource; + + // 受理时间 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime complaintTime; + + // 投诉人 + private String reporterName; + + // 电话 + private String reporterContact; + + // 被投诉机构 + private String verifiedObjectUnit; + + // 涉及人员姓名 + private String verifiedObjectName; + + // 涉及人员身份 + private String verifiedObjectPosition; + + // 具体内容 + private String briefCase; + + // 被投诉所队 + private String organization; + + // 问题类型 + private String complaintIssueNature; + + // 受理层级 + private String acceptanceLevel; + + + +} diff --git a/src/main/java/com/biutag/supervision/pojo/entity/BaseRole.java b/src/main/java/com/biutag/supervision/pojo/entity/BaseRole.java index 1f00474..865d092 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/BaseRole.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/BaseRole.java @@ -35,7 +35,7 @@ public class BaseRole { @TableField("create_time") private LocalDateTime createTime; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("update_time") private LocalDateTime updateTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java b/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java index 540d044..8ee9e1e 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java @@ -75,4 +75,7 @@ public class DataCaseVerif { @TableField("is_real") private Integer isReal; + // 源涉及单位 + private String sourceInvolveDepartName; + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java b/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java index 4091db5..1b569b9 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java @@ -73,7 +73,7 @@ public class DataPetitionComplaint { private String secondDepartName; - // 所对 + // 所队 private String thirdDepartId; private String thirdDepartName; @@ -88,4 +88,10 @@ public class DataPetitionComplaint { // 分发状态 private String distributionState; + // negativeId + private String negativeId; + + // 信访形式 + private String petitionType; + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java b/src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java index 5888f89..e95afca 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java @@ -28,7 +28,7 @@ public class ModelClueRecord { // 创建时间 @TableField("create_time") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime createTime; // 状态 success-成功 fail-失败 diff --git a/src/main/java/com/biutag/supervision/pojo/entity/Negative.java b/src/main/java/com/biutag/supervision/pojo/entity/Negative.java index ad6161e..0f64b8d 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/Negative.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/Negative.java @@ -27,12 +27,12 @@ public class Negative { private String serialNumber; // 问题发生时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @TableField("happenTime") private LocalDateTime happenTime; // 问题发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @TableField("discoveryTime") private LocalDateTime discoveryTime; @@ -118,7 +118,7 @@ public class Negative { // @TableField("crtTime") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime crtTime; // diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegativeApprove.java b/src/main/java/com/biutag/supervision/pojo/entity/NegativeApprove.java index e92d62f..66c9288 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/NegativeApprove.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegativeApprove.java @@ -47,7 +47,7 @@ public class NegativeApprove { @TableField("create_time") private LocalDateTime createTime; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; private String actionKey; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegativeCountersign.java b/src/main/java/com/biutag/supervision/pojo/entity/NegativeCountersign.java index c839416..952b0ce 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/NegativeCountersign.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegativeCountersign.java @@ -43,7 +43,7 @@ public class NegativeCountersign { @TableField("depart_name") private String departName; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @TableField("create_time") private LocalDateTime createTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegativeHistory.java b/src/main/java/com/biutag/supervision/pojo/entity/NegativeHistory.java index 8d9d49c..7d98895 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/NegativeHistory.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegativeHistory.java @@ -27,7 +27,7 @@ public class NegativeHistory { private String negativeId; // 创建时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("crtTime") private LocalDateTime crtTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java b/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java index 6458ba6..a3dea71 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java @@ -40,7 +40,7 @@ public class NegativeTask { @TableField("errorPath") private String errorPath; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @TableField("crtTime") private LocalDateTime crtTime; @@ -48,7 +48,7 @@ public class NegativeTask { @TableField("crtUser") private String crtUser; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @TableField("updTime") private LocalDateTime updTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/News.java b/src/main/java/com/biutag/supervision/pojo/entity/News.java new file mode 100644 index 0000000..4ba9bff --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/News.java @@ -0,0 +1,45 @@ +package com.biutag.supervision.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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; + +@Setter +@Getter +public class News { + + // + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + // 动态来源 + @TableField("source") + private String source; + + // 动态分类 + @TableField("work_type") + private String workType; + + // 发布时间 + @TableField("release_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm") + private LocalDateTime releaseTime; + + // + @TableField("create_time") + private LocalDateTime createTime; + + // + @TableField("update_time") + private LocalDateTime updateTime; + + // + @TableField("content_txt") + private String contentTxt; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/RiskTask.java b/src/main/java/com/biutag/supervision/pojo/entity/RiskTask.java index bc00a91..5267e35 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/RiskTask.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/RiskTask.java @@ -35,12 +35,12 @@ public class RiskTask { // 开始时间 @TableField("start_time") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime startTime; // 结束时间 @TableField("end_time") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime endTime; // 0 进行中 1 已完成 -1 失败 diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupDictData.java b/src/main/java/com/biutag/supervision/pojo/entity/SupDictData.java index 69aa063..ee889df 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupDictData.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupDictData.java @@ -62,7 +62,7 @@ public class SupDictData { private String updateBy; // 更新时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("update_time") private LocalDateTime updateTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemTypeMaping.java b/src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemTypeMaping.java new file mode 100644 index 0000000..06772b4 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemTypeMaping.java @@ -0,0 +1,41 @@ +package com.biutag.supervision.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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; + +@Setter +@Getter +public class SupDictProblemTypeMaping { + + // + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + // + @TableField("external_name") + private String externalName; + + // + @TableField("internal_name") + private String internalName; + + // + @TableField("internal_id") + private String internalId; + + // + @TableField("create_time") + private LocalDateTime createTime; + + // + @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupDictType.java b/src/main/java/com/biutag/supervision/pojo/entity/SupDictType.java index 033e2a8..086038d 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupDictType.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupDictType.java @@ -42,7 +42,7 @@ public class SupDictType { private String updateBy; // 更新时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("update_time") private LocalDateTime updateTime; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/mailbox/Mail.java b/src/main/java/com/biutag/supervision/pojo/entity/mailbox/Mail.java new file mode 100644 index 0000000..a4115f3 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/mailbox/Mail.java @@ -0,0 +1,408 @@ +package com.biutag.supervision.pojo.entity.mailbox; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +@Accessors(chain = true) +@Setter +@Getter +public class Mail { + + @TableId + private String id; + + /** + * 联系人姓名 + */ + private String contactName; + /** + * 联系人性别 M / F + */ + private String contactSex; + /** + * 联系人身份证号码 + */ + private String contactIdCard; + /** + * 联系人手机号 + */ + private String contactPhone; + /** + * 案件编号 + */ + private String caseNumber; + /** + * 内容 + */ + private String content; + /** + * 附件 + */ + private String attachments; + /** + * 创建时间 + */ + private LocalDateTime createTime; + /** + * 更新时间 + */ + private LocalDateTime updateTime; + /** + * 来信时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime mailTime; + + /** + * 来源 + */ + private String source; + + /** + * 满意读(网络) + */ + private String satisfaction; + + /** + * 满意读(短信) + */ + private String satisfactionSms; + + /*-------------------------------*/ + + /** + * 信件状态 + */ + private String mailState; + /** + * 信件当前流程 + */ + private String flowKey; + /** + * 信件当前流程节点 + */ + private String flowBeforeName; + + private String flowName; + + /** + * 流程限时最后操作时间 + */ + private LocalDateTime flowLimitedLastHandlerTime; + + /** + * 信件源数据ID (多个) + */ + private String mailSourceId; + + /** + * 信件类名 + */ + private String mailCategory; + /** + * 信件一级类目 + */ + private String mailFirstCategory; + /** + * 信件二级类目 + */ + private String mailSecondCategory; + /** + * 信件三级类目 + */ + private String mailThreeCategory; + /** + * 信件等级 + */ + private String mailLevel; + + /** + * 二级单位ID(主责) + */ + private Integer secondDeptId; + + private String secondDeptName; + + /** + * 三级单位ID(主责) + */ + private Integer threeDeptId; + + private String threeDeptName; + + /** + * 协办核查民警(String) + */ + private String coHandlingPolices; + /** + * 联系民警名称 + */ + private String contactPoliceName; + /** + * 联系民警 + */ + private String contactPoliceEmpNo; + + /** + * 联系民警职位 + */ + private String contactPolicePost; + + /** + * 联系群众时间 + */ + private LocalDateTime contactTime; + + /** + * 联系时长(秒) + */ + private Long contactDuration; + + /** + * 是否联系群众 + */ + private Boolean contactFlag; + + /** + * 接访形式 + */ + private String interviewType; + /** + * 是否接访一把手 + */ + private Boolean interviewIsLeader; + /** + * 接访人员警号 + */ + private String interviewPoliceEmpNo; + /** + * 接访人员姓名 + */ + private String interviewPoliceName; + /** + * 接访情况 + */ + private String interviewDetails; + /** + * 接访附件(佐证材料) + */ + private String interviewAttachments; + /** + * 核办情况 + */ + private String verifyDetails; + /** + * 核办-是否属实 + */ + private String verifyIsTrue; + /** + * 核办-被举报对象(json) + */ + private String verifyReportedPolices; + /** + * 核办-查证属实问题(json) + */ + private String verifyProblem; + /** + * 核办-是否需要问责 + */ + private Boolean verifyNeedAccountability; + /** + * 核办-责任追究(json) + */ + private String verifyPunish; + + /** + * 核办-群众反映事项解决情况(是否已解决) + */ + private Boolean verifyIsResolved; + + /** + * 核办-办理反馈情况 + */ + private String verifyFeedback; + + /** + * 核办-回访人信息(String) + */ + private String verifyFollowupPolice; + + /** + * 核办-附件(上传佐证) + */ + private String verifyAttachments; + + /** + * 办结方式 + */ + private String completeMethod; + + /** + * 办理合格情况 + */ + private String qualifiedProcessingStatus; + + /** + * 问题解决情况 + */ + private Boolean problemSolvingStatus; + + /** + * 群众回复情况 + */ + private String satisfactionStatus; + + + /** + * 认定办结意见 + */ + private String completionComment; + + /** + * 是否是简易流程 + */ + private Boolean simpleFlowFlag; + + /** + * 涉及单位ID + */ + private Integer involvedDeptId; + + /** + * 涉及单位名称 + */ + private String involvedDeptName; + + /** + * 会签部门总数 + */ + private Integer countersignTotal; + + /** + * 会签完成部门数量 + */ + private Integer countersignCompleted; + + /** + * 会签发起人 + */ + private String countersignPromoterEmpNo; + + /** + * 会签发起姓名 + */ + private String countersignPromoterName; + + /** + * 会签发起部门ID + */ + private Integer countersignPromoterDeptId; + + /** + * 会签发起部门名称 + */ + private String countersignPromoterDeptName; + + /** + * 会签具体要求 + */ + private String countersignRequirement; + + /** + * 信件标签 + */ + private String mailLabels; + + /** + * 当前操作对象 + */ + private String currentOperator; + + /** + * 申请延期ID + */ + private String extensionRequestId; + + /** + * 是否申请延期 + */ + private Boolean extensionFlag; + + /** + * 延期天数 + */ + private Integer extensionDays; + + /** + * 延期理由 + */ + private String extensionReason; + + /** + * 延期状态 + */ + private String extensionState; + + /** + * 无效判定理由 + */ + private String invalidationReason; + + /** + * 市局下发信息 + */ + private String firstDistributeInfo; + + /** + * 二级单位下发信息 + */ + private String secondDistributeInfo; + + /** + * 主办层级 + */ + private Integer mainDeptLevel; + + /** + * 信件后续审批流程 + */ + private String returnOperate; + + /** + * 不满意原因 + */ + private String notSatisfiedReason; + + /** + * 市局专班下发时间 + */ + private LocalDateTime firstDistributeTime; + + /** + * 市局下发意见 + */ + private String firstDistributeComment; + + /** + * 市局下发意见 + */ + private String firstDistributeFiles; + + /** + * 二级机构下发意见 + */ + private String secondDistributeComment; + + private String secondDistributeFiles; + + /** + * 二级机构下发时间 + */ + private LocalDateTime secondDistributeTime; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/model/DataMigrationModel.java b/src/main/java/com/biutag/supervision/pojo/model/DataMigrationModel.java index 52996c3..496ff39 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/DataMigrationModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/DataMigrationModel.java @@ -15,10 +15,10 @@ public class DataMigrationModel { private String visitPhone; private String orgName; private String businessName; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime sampleTime; private String sampleContent; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime visitTime; private String resultName; } diff --git a/src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java b/src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java index e1b662c..4201e27 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java @@ -39,7 +39,7 @@ public class ModelClueModel { // 分发状态 private String distributionState; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime createTime; private String data; diff --git a/src/main/java/com/biutag/supervision/pojo/model/ModelClueTaskModel.java b/src/main/java/com/biutag/supervision/pojo/model/ModelClueTaskModel.java index 003bfdf..cfaac56 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/ModelClueTaskModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/ModelClueTaskModel.java @@ -23,7 +23,7 @@ public class ModelClueTaskModel { private String modelName; // 下发时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime distributionTime; // 条数 diff --git a/src/main/java/com/biutag/supervision/pojo/model/NegativeFavModel.java b/src/main/java/com/biutag/supervision/pojo/model/NegativeFavModel.java index c9f6f73..b6ed5b0 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/NegativeFavModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/NegativeFavModel.java @@ -15,11 +15,11 @@ public class NegativeFavModel { private String originId; // 问题发生时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime happenTime; // 问题发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 问题来源 @@ -61,7 +61,7 @@ public class NegativeFavModel { private String involveProblem; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime crtTime; diff --git a/src/main/java/com/biutag/supervision/pojo/model/NegativeWorkModel.java b/src/main/java/com/biutag/supervision/pojo/model/NegativeWorkModel.java index ac01562..a435390 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/NegativeWorkModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/NegativeWorkModel.java @@ -19,11 +19,11 @@ public class NegativeWorkModel { private String originId; // 问题发生时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime happenTime; // 问题发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 问题来源 diff --git a/src/main/java/com/biutag/supervision/pojo/model/UserModel.java b/src/main/java/com/biutag/supervision/pojo/model/UserModel.java index a29c3c7..6b6e7ee 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/UserModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/UserModel.java @@ -35,7 +35,7 @@ public class UserModel { private String userDesc; // 更新时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; // 状态:0-禁用 1-正常 2-锁定 diff --git a/src/main/java/com/biutag/supervision/pojo/param/NewsQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/NewsQueryParam.java new file mode 100644 index 0000000..276ca55 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/NewsQueryParam.java @@ -0,0 +1,28 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author wxc + * @date 2024/12/31 + */ +@Setter +@Getter +public class NewsQueryParam extends BasePage { + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List releaseTime = new ArrayList<>(); + + private String source; + + // 动态分类 + private String workType; + + private String contentTxt; +} diff --git a/src/main/java/com/biutag/supervision/pojo/param/VideoInspectionQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/VideoInspectionQueryParam.java new file mode 100644 index 0000000..a47873e --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/VideoInspectionQueryParam.java @@ -0,0 +1,19 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; + +/** + * @author wxc + * @date 2025/1/2 + */ +@Setter +@Getter +public class VideoInspectionQueryParam extends BasePage { + + // 预警类型 + private String systemKeyName; + + // 案事件名称 + private String title; +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintExportGabxfVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintExportGabxfVo.java new file mode 100644 index 0000000..9e80ff7 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintExportGabxfVo.java @@ -0,0 +1,82 @@ +package com.biutag.supervision.pojo.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * @author wxc + * @date 2024/12/27 + */ +@Setter +@Getter +public class DataPetitionComplaintExportGabxfVo { + + @ExcelProperty({"基本信息", "序号"}) + private Integer index; + + // 投诉渠道 + @ExcelProperty({"基本信息", "投诉渠道"}) + private String channelForFilingComplaints; + + // 信件编号 + @ExcelProperty({"基本信息", "信访件编号"}) + private String originId; + + // 受理层级 + @ExcelProperty({"基本信息", "受理层级"}) + private String acceptanceLevel; + + // 信访日期 + @ExcelProperty({"基本信息", "受理时间"}) + @DateTimeFormat("yyyy年MM月dd日") + private LocalDateTime discoveryTime; + + // 投诉人 + @ExcelProperty({"基本信息", "投诉人"}) + private String responderName; + + // 手机号码 + @ExcelProperty({"基本信息", "投诉人电话"}) + private String responderPhone; + + // 被投诉机构 + @ExcelProperty({"基本信息", "被投诉机构"}) + private String secondDepartName; + + // 具体内容 + @ExcelProperty({"基本信息", "具体内容"}) + private String thingDesc; + + // 问题类别 + @ExcelProperty({"基本信息", "问题类别"}) + private String wtlb; + + // 业务类别 + @ExcelProperty({"基本信息", "业务类别"}) + private String ywlb; + + // + @ExcelProperty({"处置情况", "情况反馈"}) + private String qkfk; + + // + @ExcelProperty({"处置情况", "涉及二级机构及所队"}) + private String sjejsd; + + // + @ExcelProperty({"处置情况", "涉及人员姓名"}) + private String ryxm; + + // + @ExcelProperty({"处置情况", "涉及人员身份"}) + private String rysf; + + // 初重信访 + @ExcelProperty({"", "初重信访"}) + private String initialPetition; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintNegativeVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintNegativeVo.java index b4cf1c4..133a2ae 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintNegativeVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/DataPetitionComplaintNegativeVo.java @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @Getter public class DataPetitionComplaintNegativeVo { - private String id; + private String originId; // 投诉渠道 private String channelForFilingComplaints; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DictContentTree.java b/src/main/java/com/biutag/supervision/pojo/vo/DictContentTree.java index c695d64..db2e569 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/DictContentTree.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/DictContentTree.java @@ -41,7 +41,7 @@ public class DictContentTree { // 是否开启严重等级 private Boolean isActiveLevel; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updTime; private List children = new ArrayList<>(); diff --git a/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java b/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java index 7aec4d0..2ef11b8 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java @@ -17,12 +17,12 @@ public class ExportNegativeVo { // 问题发生时间 @ExcelProperty("问题发生时间") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime happenTime; // 问题发现时间 @ExcelProperty("问题发现时间") - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 问题来源 diff --git a/src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java b/src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java index 74a2df5..efb99c7 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java @@ -32,7 +32,7 @@ public class NegativeHdjq { private String handleThreeDepartName; // 发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 涉及案件/警情编号 diff --git a/src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java b/src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java index c94caae..3a28c8a 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java @@ -19,11 +19,11 @@ public class NegativeQueryVo { private String serialNumber; // 问题发生时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime happenTime; // 问题发现时间 - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime discoveryTime; // 问题来源code @@ -78,7 +78,7 @@ public class NegativeQueryVo { // 审核人身份证 private String checkIdCode; - @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime crtTime; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionInfo.java b/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionInfo.java new file mode 100644 index 0000000..05c0a69 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionInfo.java @@ -0,0 +1,13 @@ +package com.biutag.supervision.pojo.vo; + +import lombok.Getter; +import lombok.Setter; + +/** + * @author wxc + * @date 2025/1/2 + */ +@Setter +@Getter +public class VideoInspectionInfo { +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionVo.java b/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionVo.java new file mode 100644 index 0000000..bd02735 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/VideoInspectionVo.java @@ -0,0 +1,29 @@ +package com.biutag.supervision.pojo.vo; + +import lombok.Getter; +import lombok.Setter; + +/** + * @author wxc + * @date 2025/1/2 + */ +@Setter +@Getter +public class VideoInspectionVo { + + // 预警级别 + private String alarmLevel; + + // 预警类别 + private String systemKeyName; + + // 预警时间 + private String rqsj; + + // 案事件名称 + private String title; + + // 发生单位名称 + private String fsdwGajgmc; + +} diff --git a/src/main/java/com/biutag/supervision/service/DataPetition12337Service.java b/src/main/java/com/biutag/supervision/service/DataPetition12337Service.java index 2e3b4c3..a85a682 100644 --- a/src/main/java/com/biutag/supervision/service/DataPetition12337Service.java +++ b/src/main/java/com/biutag/supervision/service/DataPetition12337Service.java @@ -1,7 +1,6 @@ package com.biutag.supervision.service; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -15,6 +14,7 @@ import com.biutag.supervision.pojo.dto.DataPetition12337Distribute; import com.biutag.supervision.pojo.dto.DataPetition12337Dto; import com.biutag.supervision.pojo.dto.NegativeDto; import com.biutag.supervision.pojo.entity.DataPetition12337; +import com.biutag.supervision.pojo.entity.Negative; import com.biutag.supervision.pojo.entity.NegativeTask; import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.pojo.model.UserAuth; @@ -77,27 +77,43 @@ public class DataPetition12337Service extends ServiceImpl list = data.stream().map(item -> { DataPetition12337 dataPetition12337 = new DataPetition12337(); BeanUtil.copyProperties(item, dataPetition12337); - dataPetition12337.setOnlyId(IdUtil.getSnowflakeNextIdStr()); + dataPetition12337.setOnlyId(item.getExternalId()); dataPetition12337.setDistributionState(DistributionStateEnum.DISTRIBUTED.getValue()); + if (item.getDiscoverTime() != null) { + dataPetition12337.setDiscoverTime(item.getDiscoverTime().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime()); + } + SupDepart depart = departService.getById(item.getDepartId()); + if (depart.getLevel() == 2) { + dataPetition12337.setSecondDepartId(depart.getId()); + dataPetition12337.setSecondDepartName(depart.getShortName()); + } + if (depart.getLevel() == 3) { + dataPetition12337.setThirdDepartId(depart.getId()); + dataPetition12337.setThirdDepartName(depart.getShortName()); + SupDepart parent = departService.getById(depart.getPid()); + dataPetition12337.setSecondDepartId(parent.getId()); + dataPetition12337.setSecondDepartName(parent.getShortName()); + } return dataPetition12337; }).toList(); - saveBatch(list); + saveOrUpdateBatch(list); NegativeTask negativeTask = new NegativeTask(); negativeTask.setTaskName(distributeData.getTaskName()); negativeTask.setImportRow(list.size()); negativeTask.setCrtTime(LocalDateTime.now()); - negativeTask.setStatus("12337"); + negativeTask.setSource("12337"); UserAuth user = UserContextHolder.getCurrentUser(); negativeTask.setCrtUser(user.getNickName()); negativeTaskService.save(negativeTask); - data.forEach(item -> { + for (DataPetition12337 item : list) { + // 如果存在就不重复下发 + if (negativeService.exists(new LambdaQueryWrapper().eq(Negative::getOriginId, item.getExternalId()))) { + continue; + } NegativeDto negativeDto = new NegativeDto(); negativeDto.setOriginId(item.getExternalId()); // 设置数据源id - if (item.getDiscoverTime() != null) { - negativeDto.setDiscoveryTime(item.getDiscoverTime().toInstant() - .atZone(ZoneId.systemDefault()) - .toLocalDateTime()); - } negativeDto.setProblemSourcesCode(ProblemSourcesEnum.XF12337.getValue()); // 来源分类 negativeDto.setProblemSources(ProblemSourcesEnum.XF12337.getLabel()); negativeDto.setBusinessTypeCode(distributeData.getBusinessTypeCode()); @@ -106,13 +122,20 @@ public class DataPetition12337Service extends ServiceImpl().eq(DataPetitionComplaint::getOriginId, item.getOriginId()) - .set(DataPetitionComplaint::getDistributionState, DistributionStateEnum.DISTRIBUTED.getValue())); + .set(DataPetitionComplaint::getDistributionState, DistributionStateEnum.DISTRIBUTED.getValue()) + .set(DataPetitionComplaint::getNegativeId, negative.getId())); }); return true; } diff --git a/src/main/java/com/biutag/supervision/service/NegativeBookService.java b/src/main/java/com/biutag/supervision/service/NegativeBookService.java new file mode 100644 index 0000000..9b24891 --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/NegativeBookService.java @@ -0,0 +1,77 @@ +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.biutag.supervision.constants.enums.DepartLevelEnum; +import com.biutag.supervision.mapper.DataPetitionComplaintMapper; +import com.biutag.supervision.pojo.entity.DataPetitionComplaint; +import com.biutag.supervision.pojo.entity.NegativeBlame; +import com.biutag.supervision.pojo.param.NegativeQueryParam; +import com.biutag.supervision.pojo.vo.DataPetitionComplaintNegativeVo; +import com.biutag.supervision.pojo.vo.DepartTree; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author wxc + * @date 2025/1/3 + */ +@RequiredArgsConstructor +@Service +public class NegativeBookService { + + private final SupDepartService departService; + private final NegativeBlameService blameService; + private final DataPetitionComplaintMapper dataPetitionComplaintMapper; + + public Page pageByXf(@PathVariable String problemSourcesCode, NegativeQueryParam param) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("pc.problem_sources_code", problemSourcesCode) + .in(!param.getProcessingStatus().isEmpty(), "n.Processing_Status", param.getProcessingStatus()) + .like(StrUtil.isNotBlank(param.getThingDesc()), "pc.Thing_Desc", param.getThingDesc()) + .like(StrUtil.isNotBlank(param.getCheckStatusDesc()), "n.checkStatusDesc", param.getCheckStatusDesc()) + .like(StrUtil.isNotBlank(param.getInitialPetition()), "pc.Initial_Petition", param.getInitialPetition()); + // 涉及单位 + if (StrUtil.isNotBlank(param.getInvolveDepartId())) { + List departIds = departService.getAllNodeIds(param.getInvolveDepartId()); + queryWrapper.in("n.involveDepartId", departIds); + } + // 办理单位 + if (StrUtil.isNotBlank(param.getHandleDepartId())) { + List nodes = departService.getAllNode(List.of(param.getHandleDepartId())); + List secondIds = nodes.stream().filter(node -> DepartLevelEnum.SECOND.getValue().equals(node.getLevel())).map(DepartTree::getId).toList(); + if (!secondIds.isEmpty()) { + queryWrapper.in("n.Handle_second_depart_id", secondIds); + } else { + queryWrapper.in("n.Handle_three_depart_Id", nodes.stream().filter(node -> DepartLevelEnum.THREE.getValue().equals(node.getLevel())).map(DepartTree::getId).toList()); + } + } + if (StrUtil.isNotBlank(param.getBlameKey()) && StrUtil.isNotBlank(param.getBlameValue())) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + switch (param.getResponderKey()) { + case "name": + qw.like(NegativeBlame::getBlameName, param.getBlameValue()); + break; + case "empNo": + qw.like(NegativeBlame::getBlameEmpNo, param.getBlameValue()); + break; + case "idCode": + qw.like(NegativeBlame::getBlameIdCode, param.getBlameValue()); + break; + } + List blames = blameService.list(qw); + if (blames.isEmpty()) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + queryWrapper.in("n.id", blames.stream().map(NegativeBlame::getNegativeId).collect(Collectors.toSet())); + } + return dataPetitionComplaintMapper.queryBooks(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + } +} diff --git a/src/main/java/com/biutag/supervision/service/NegativeTaskService.java b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java index d686536..918e0fb 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeTaskService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java @@ -15,6 +15,7 @@ import com.biutag.supervision.pojo.dto.*; import com.biutag.supervision.pojo.entity.DataPetition12337; import com.biutag.supervision.pojo.entity.NegativeTask; import com.biutag.supervision.pojo.entity.SupDepart; +import com.biutag.supervision.pojo.model.ModelClueTaskDepartModel; import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.NegativeTaskQueryParam; import com.biutag.supervision.pojo.vo.ExportNegativeVo; @@ -150,4 +151,8 @@ public class NegativeTaskService extends ServiceImpl detailGroupByDepart(String taskId) { + return baseMapper.selectGroupByDepart(taskId); + } + } diff --git a/src/main/java/com/biutag/supervision/service/NewsService.java b/src/main/java/com/biutag/supervision/service/NewsService.java new file mode 100644 index 0000000..b4ee73c --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/NewsService.java @@ -0,0 +1,11 @@ +package com.biutag.supervision.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.pojo.entity.News; +import com.biutag.supervision.mapper.NewsMapper; +import org.springframework.stereotype.Service; + +@Service +public class NewsService extends ServiceImpl { + +} diff --git a/src/main/java/com/biutag/supervision/service/SupDictProblemTypeMapingService.java b/src/main/java/com/biutag/supervision/service/SupDictProblemTypeMapingService.java new file mode 100644 index 0000000..cf0e581 --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/SupDictProblemTypeMapingService.java @@ -0,0 +1,11 @@ +package com.biutag.supervision.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.pojo.entity.SupDictProblemTypeMaping; +import com.biutag.supervision.mapper.SupDictProblemTypeMapingMapper; +import org.springframework.stereotype.Service; + +@Service +public class SupDictProblemTypeMapingService extends ServiceImpl { + +} diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index fbbc244..13ef6ba 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -26,6 +26,13 @@ spring: url: jdbc:dm://65.47.22.243:5236?SCHEMA=JSDZ_4GDB username: DCZD password: DCZD@2024 + mailbox: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://65.47.60.178:5432/mailbox?currentSchema=mailbox + username: dba + password: Ip12341234 + druid: min-evictable-idle-time-millis: 300000 test-on-borrow: false diff --git a/src/main/resources/mapper/DataAlarmDispositionInfoMapper.xml b/src/main/resources/mapper/DataAlarmDispositionInfoMapper.xml new file mode 100644 index 0000000..9994cea --- /dev/null +++ b/src/main/resources/mapper/DataAlarmDispositionInfoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/src/main/resources/mapper/DataPetitionComplaintMapper.xml b/src/main/resources/mapper/DataPetitionComplaintMapper.xml index a104744..828b944 100644 --- a/src/main/resources/mapper/DataPetitionComplaintMapper.xml +++ b/src/main/resources/mapper/DataPetitionComplaintMapper.xml @@ -6,10 +6,9 @@ diff --git a/src/main/resources/mapper/NegativeTaskMapper.xml b/src/main/resources/mapper/NegativeTaskMapper.xml new file mode 100644 index 0000000..c717a4c --- /dev/null +++ b/src/main/resources/mapper/NegativeTaskMapper.xml @@ -0,0 +1,26 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/templates/公安信访投诉数据导入模板.xls b/src/main/resources/static/templates/公安信访投诉数据导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..698f36f4affc08b5177cd090dddb84be68cfabec GIT binary patch literal 9700 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/templates/国家信访投诉数据导入模板.xls b/src/main/resources/static/templates/国家信访投诉数据导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..cd49ddcf204dae945accf35619e055e9f0b88cbe GIT binary patch literal 20992 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 A&;S4c literal 0 HcmV?d00001 diff --git a/src/main/resources/static/templates/问题标准模板.xlsx b/src/main/resources/static/templates/问题标准模板.xlsx index dbb09ffe2b373253b05237d49197e3a71fe01496..e8fe3b3fceb47ecf3f88bfb6911afea23dc6a696 100644 GIT binary patch delta 10146 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

ira=nAFTg!ZnAekzjMM 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 WKSWkS=f62S;njf}25kSIi2njWtwEyz delta 10153 zcmZ9SRZyM5wykk@clY4Fa9cKfG#Ewg9M{*Lw_i}xU_&*1>qMG?qtCw>axdn3;CCMp&_Uu<`I3*|^i%+I;ceYpEWsfpmli0D~S zqC!X?rm7WR+1wOgoH`;{tj_tXF2^1_9#{0X2&8iwmB6EJXH@ORRFS|S*`wCF)67Fz zp*~ofN$xB@W@sJ^&kZJS2u5Fo*S!-=f8>D(QN@S-N*866uP;U&S9ujMh;i(QiHRsb z!!;|VyjuiWz=?!9#{Gkuidh=gkJ{G1r%mr*2JW#oWUv+jlbZ(Xs0dPi7Eya|1CEs{ zH;cA)C=Z50fZ6nh0v-Ts?}2nWl96W-#UC&<>T`UeQ4MT*4Zm!{

Ot$FYU>^;)2& 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 aJ-*vP7*a3({a>#iFXTuEH(>iej{gJx+d4o1 diff --git a/src/test/java/com/biutag/supervision/StrUtil.java b/src/test/java/com/biutag/supervision/StrUtil.java index ca90b2f..850e1ad 100644 --- a/src/test/java/com/biutag/supervision/StrUtil.java +++ b/src/test/java/com/biutag/supervision/StrUtil.java @@ -7,16 +7,17 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import java.io.File; import java.io.FileNotFoundException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.List; public class StrUtil { @Test public void testSubstr() throws FileNotFoundException { - List files = FileUtil.loopFiles("D:\\deploy\\test2"); - for (File file : files) { - System.out.println(file.getPath()); - } + LocalDateTime parse = LocalDateTime.parse("2025-01-03", DateTimeFormatter.ofPattern("yyyy-MM-dd")); + + System.out.println(parse); } } diff --git a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java index a366897..99bece2 100644 --- a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java +++ b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java @@ -25,7 +25,7 @@ public class GenCodeTests { @Test public void genEntity() throws TemplateException, IOException { - String tableName = "risk_tag_map"; + String tableName = "data_alarm_alarm_info"; String tableSchema = "negative"; boolean genMapper = true; boolean genService = true;