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 0000000..698f36f
Binary files /dev/null and b/src/main/resources/static/templates/公安信访投诉数据导入模板.xls differ
diff --git a/src/main/resources/static/templates/国家信访投诉数据导入模板.xls b/src/main/resources/static/templates/国家信访投诉数据导入模板.xls
new file mode 100644
index 0000000..cd49ddc
Binary files /dev/null and b/src/main/resources/static/templates/国家信访投诉数据导入模板.xls differ
diff --git a/src/main/resources/static/templates/问题标准模板.xlsx b/src/main/resources/static/templates/问题标准模板.xlsx
index dbb09ff..e8fe3b3 100644
Binary files a/src/main/resources/static/templates/问题标准模板.xlsx and b/src/main/resources/static/templates/问题标准模板.xlsx differ
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;