From 1ee097e6e6d7d964dae97b6206f14e2fec7c2049 Mon Sep 17 00:00:00 2001 From: pengwei Date: Thu, 3 Jul 2025 19:24:38 +0800 Subject: [PATCH] =?UTF-8?q?fit:1=E3=80=81=E7=9D=A3=E5=AF=9F=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=91=E5=B8=83=E5=90=8E=E7=AB=AFv1.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskManagementController.java | 48 ++++++++++++++- .../supervision/pojo/dto/SupRiskDto.java | 60 +++++++++++++++++++ .../pojo/dto/TaskManagementDto.java | 2 + .../service/TaskManagementService.java | 23 ++++++- 4 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/biutag/supervision/pojo/dto/SupRiskDto.java diff --git a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskManagementController.java b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskManagementController.java index d3a9e2e..10e93ed 100644 --- a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskManagementController.java +++ b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskManagementController.java @@ -7,15 +7,20 @@ 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.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.dto.DataCaseVerifImportDto; +import com.biutag.supervision.pojo.dto.SupRiskDto; import com.biutag.supervision.pojo.dto.TaskManagementDto; import com.biutag.supervision.pojo.dto.TemperancePoliceDto; +import com.biutag.supervision.pojo.entity.SupDepart; +import com.biutag.supervision.pojo.entity.SupRiskPersonal; import com.biutag.supervision.pojo.param.TaskInspectionQueryParam; import com.biutag.supervision.pojo.param.TaskQueryParam; import com.biutag.supervision.pojo.vo.TaskInspectionVo; import com.biutag.supervision.pojo.vo.TaskVo; +import com.biutag.supervision.service.SupDepartService; import com.biutag.supervision.service.SupTaskService; import com.biutag.supervision.service.TaskManagementService; import lombok.RequiredArgsConstructor; @@ -36,6 +41,8 @@ public class TaskManagementController { private final TaskManagementService taskManagementService; private final SupTaskService taskService; + + private final SupDepartService departService; @GetMapping public Result> pageResult(TaskQueryParam queryParam) { return Result.success(taskService.pageTaskData(queryParam)); @@ -68,7 +75,7 @@ public class TaskManagementController { } } - @PostMapping("import") + @PostMapping("/import") public Result> importExcel(@RequestPart("file") MultipartFile file) throws IOException { log.info("文件导入中------------------------------"); String fileNameType = FileUtil.extName(file.getOriginalFilename()); @@ -82,15 +89,50 @@ public class TaskManagementController { public void invoke(TemperancePoliceDto data, AnalysisContext analysisContext) { list.add(data); } - @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { - } }).build().read(EasyExcel.readSheet(0).build()); excelReader.close(); log.info("数据导入完成"); return Result.success(list); } + /** + * 重点督察人员导入 + * */ + @PostMapping("/importSupRiskPersonal") + public Result> importSupRiskPersonal(@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(), SupRiskDto.class, new ReadListener() { + @Override + public void invoke(SupRiskDto data, AnalysisContext analysisContext) { + String[] departParts = data.getResponsibleDepartName().replace("长沙市公安局", "").split("-"); + String departName = departParts[departParts.length - 1]; + List departs = departService.list(new LambdaQueryWrapper().eq(SupDepart::getShortName, departName)); + if (departs.size() == 1) { + data.setResponsibleDepartId(departs.get(0).getId()); + } else if (departParts.length > 1) { + String departPart = departParts[0].replace("公安", ""); + List departs2 = departService.list(new LambdaQueryWrapper().eq(SupDepart::getShortName, departPart)); + if (departs2.size() == 1) { + data.setResponsibleDepartId(departs2.get(0).getId()); + } + } + list.add(data); + } + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + } + }).headRowNumber(2).build().read(EasyExcel.readSheet(0).build()); + excelReader.close(); + log.info("重点督察人员数据导入完成"); + return Result.success(list); + + } } diff --git a/src/main/java/com/biutag/supervision/pojo/dto/SupRiskDto.java b/src/main/java/com/biutag/supervision/pojo/dto/SupRiskDto.java new file mode 100644 index 0000000..b984b88 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/dto/SupRiskDto.java @@ -0,0 +1,60 @@ +package com.biutag.supervision.pojo.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class SupRiskDto { + + + // 姓名 + @ExcelProperty({"姓名*"}) + private String name; + + // 性别男1女2 + @ExcelProperty({"性别*"}) + private String gender; + // 证件号码 + @ExcelProperty({"身份证号*"}) + private String idCode; + + + // 手机号 + @ExcelProperty({"联系方式"}) + private String mobile; + + // 人员类别 + @ExcelProperty({"人员类别*"}) + private String personalType; + + // 管控级别 + @ExcelProperty({"管控级别*"}) + private String controlLevel; + + //责任单位Id + private String responsibleDepartId; + // 责任单位名称 + @ExcelProperty({"责任单位*"}) + private String responsibleDepartName; + + //责任民警警号 + private String responsibleEmpNo; + // 责任民警姓名 + @ExcelProperty({"责任民警*"}) + private String responsibleName; + + // 包保督察人员警号 + @ExcelProperty({"包保督察人员警号*"}) + private String controlEmpNo; + + // 包保督察人员姓名 + @ExcelProperty({"包保督察人员姓名*"}) + private String controlName; + + // 管控间隔 + @ExcelProperty({"管控间隔*"}) + private String controlTimeInterval; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/dto/TaskManagementDto.java b/src/main/java/com/biutag/supervision/pojo/dto/TaskManagementDto.java index 01e01d1..3fc7b59 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/TaskManagementDto.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/TaskManagementDto.java @@ -44,6 +44,8 @@ public class TaskManagementDto { private List selfOrgs; //任务内容 private List selfContents; + //重点督察人员列表 + private List supRiskDtoList; } diff --git a/src/main/java/com/biutag/supervision/service/TaskManagementService.java b/src/main/java/com/biutag/supervision/service/TaskManagementService.java index 348ae25..2e7940f 100644 --- a/src/main/java/com/biutag/supervision/service/TaskManagementService.java +++ b/src/main/java/com/biutag/supervision/service/TaskManagementService.java @@ -67,6 +67,9 @@ public class TaskManagementService { if("禁酒督察".equals(dto.getSpecialType())){ task.setTaskType("testing_alcohol"); } + if("重点人员管控".equals(dto.getSpecialType())){ + task.setTaskType("risk_personal"); + } } taskService.save(task); if("日常督察".equals(dto.getSupervisionType())){ @@ -133,7 +136,25 @@ public class TaskManagementService { item.setStatus(TaskStatusEnum.todo.name()); }); return testingAlcoholPeopleService.saveBatch(dto.getUserList()); - }else{ + } + if("重点人员管控".equals(dto.getSpecialType())){ + +// List uniquePersons = personList.stream() +// .collect(Collectors.toMap( +// Person::getId, // keyMapper,提取id作为key +// Function.identity(), // valueMapper,直接使用Person对象作为value +// (k, v) -> v // mergeFunction,处理key冲突,这里保留后者 +// )).values().stream() // 获取Map的values()并转换为Stream +// .collect(Collectors.toList()); // 收集为List +// dto.getSupRiskDtoList().forEach(s->{ +// SupRiskPersonal supRiskPersonal=new SupRiskPersonal(); +// BeanUtils.copyProperties(s,supRiskPersonal); +// supRiskPersonal.setCreateTime(LocalDateTime.now()); +// }); + + return true; + } + else{ return true; } }