diff --git a/src/main/java/com/biutag/supervision/constants/enums/BusinessTypeEnum.java b/src/main/java/com/biutag/supervision/constants/enums/BusinessTypeEnum.java index f531bba..789ab3d 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/BusinessTypeEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/BusinessTypeEnum.java @@ -38,6 +38,15 @@ public enum BusinessTypeEnum { return null; } + public static BusinessTypeEnum getByLabel(String label) { + for (BusinessTypeEnum businessTypeEnum : values()) { + if (businessTypeEnum.label.equals(label)) { + return businessTypeEnum; + } + } + return null; + } + public static boolean isBusinessVolume(String value) { for (BusinessTypeEnum businessTypeEnum : values()) { if (businessTypeEnum.value.equals(value)) { diff --git a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java index b3245cb..4c9a0bc 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java @@ -42,4 +42,13 @@ public enum ProblemSourcesEnum { } return null; } + + public static ProblemSourcesEnum getByLabel(String label) { + for (ProblemSourcesEnum problemSourcesEnum : values()) { + if (problemSourcesEnum.label.equals(label)) { + return problemSourcesEnum; + } + } + return null; + } } diff --git a/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java b/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java index 72aec36..513b69e 100644 --- a/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java +++ b/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java @@ -1,19 +1,15 @@ package com.biutag.supervision.controller.sensitivePerception; +import cn.hutool.core.bean.BeanUtil; 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.domain.RiskPersonalDetail; -import com.biutag.supervision.pojo.entity.Model; -import com.biutag.supervision.pojo.entity.RiskModelTaskClue; -import com.biutag.supervision.pojo.entity.RiskPersonal; -import com.biutag.supervision.pojo.entity.RiskScoreRule; +import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.param.RiskPersonalQueryParam; -import com.biutag.supervision.service.ModelService; -import com.biutag.supervision.service.RiskModelTaskClueService; -import com.biutag.supervision.service.RiskPersonalService; -import com.biutag.supervision.service.RiskScoreRuleService; +import com.biutag.supervision.pojo.vo.RiskPersonalVo; +import com.biutag.supervision.service.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -24,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @author wxc @@ -36,25 +33,47 @@ import java.util.Objects; public class RiskPersonalController { private final RiskPersonalService riskPersonalService; + + private final RiskScoreRuleService riskScoreRuleService; + + private final RiskModelTaskClueService riskModelTaskClueService; + + private final ModelService modelService; + + private final RiskPersonalTagService riskPersonalTagService; + @GetMapping - public Result> list(RiskPersonalQueryParam param) { + public Result> list(RiskPersonalQueryParam param) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(StrUtil.isNotBlank(param.getName()), RiskPersonal::getName, param.getName()) - .eq(StrUtil.isNotBlank(param.getGender()), RiskPersonal::getGender, param.getGender()) + .like(StrUtil.isNotBlank(param.getMobileNumber()), RiskPersonal::getMobileNumber, param.getMobileNumber()) + .like(StrUtil.isNotBlank(param.getIdCode()), RiskPersonal::getIdCode, param.getIdCode()) .eq(Objects.nonNull(param.getAge()), RiskPersonal::getAge, param.getAge()) .eq(StrUtil.isNotBlank(param.getControlDepartId()), RiskPersonal::getControlDepartId, param.getControlDepartId()); queryWrapper.orderByDesc(RiskPersonal::getRiskScore).orderByDesc(RiskPersonal::getCreateTime); - return Result.success(riskPersonalService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper)); - } - - private final RiskScoreRuleService riskScoreRuleService; - - private final RiskModelTaskClueService riskModelTaskClueService; + Page page = riskPersonalService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + if (page.getRecords().isEmpty()) { + return Result.success(new Page().setTotal(0).setRecords(new ArrayList<>())); + } - private final ModelService modelService; + List tags = riskPersonalTagService.list(new LambdaQueryWrapper() + .in(RiskPersonalTag::getIdCode, page.getRecords().stream().map(RiskPersonal::getIdCode).toList())); + List list = page.getRecords().stream().map(item -> { + RiskPersonalVo riskPersonalVo = new RiskPersonalVo(); + BeanUtil.copyProperties(item, riskPersonalVo); + riskPersonalVo.setSmallTags(tags.stream().filter(j -> item.getIdCode().equals(j.getIdCode())).map(RiskPersonalTag::getSmallTag).collect(Collectors.toSet())); + return riskPersonalVo; + }).toList(); + return Result.success(new Page().setTotal(page.getTotal()).setRecords(list)); + } + /** + * 风险人员查看详情 + * @param id + * @return + */ @GetMapping("{id}") - public Result list(@PathVariable Integer id) { + public Result get(@PathVariable Integer id) { List rules1 = riskScoreRuleService.list(new LambdaQueryWrapper().eq(RiskScoreRule::getLevel, 1)); RiskPersonal riskPersonal = riskPersonalService.getById(id); List list = rules1.stream().map(rule -> { @@ -62,7 +81,7 @@ public class RiskPersonalController { riskRule.setRiskName(rule.getRiskName()); List rules2 = riskScoreRuleService.list(new LambdaQueryWrapper().eq(RiskScoreRule::getPid, rule.getId()) .eq(RiskScoreRule::getLevel, 2)); - List models = modelService.list(new LambdaQueryWrapper().in(Model::getRiskScoreRuleId, rules2.stream().map(RiskScoreRule::getId))); + List models = modelService.list(new LambdaQueryWrapper().in(Model::getRiskScoreRuleId, rules2.stream().map(RiskScoreRule::getId).toList())); List records = models.isEmpty() ? new ArrayList<>() : riskModelTaskClueService.page(Page.of(1, 5), new LambdaQueryWrapper() .eq(RiskModelTaskClue::getIdCode, riskPersonal.getIdCode()) diff --git a/src/main/java/com/biutag/supervision/controller/work/NegativeImportController.java b/src/main/java/com/biutag/supervision/controller/work/NegativeImportController.java index 883cc7e..a323989 100644 --- a/src/main/java/com/biutag/supervision/controller/work/NegativeImportController.java +++ b/src/main/java/com/biutag/supervision/controller/work/NegativeImportController.java @@ -12,6 +12,7 @@ import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.dto.*; import com.biutag.supervision.pojo.dto.flow.VerifyData; import com.biutag.supervision.pojo.entity.*; +import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.service.*; import com.biutag.supervision.util.SpringUtil; import lombok.RequiredArgsConstructor; @@ -52,11 +53,8 @@ public class NegativeImportController { problemMaps.put("执法办案-接处警与现场处置-警情反馈不及时、不规范", "191"); problemMaps.put("执法办案-案件办理-不及时、不如实受立案", "53"); problemMaps.put("执法办案-案件办理-调查取证不及时、不全面", "54"); - problemMaps.put("执法办案-接处警与现场处置-现场处置不规范", "336"); - problemMaps.put("执法办案-执法办案场所管理-嫌疑人进、出执法场所违规", "200"); } - @PostMapping @Transactional(rollbackFor = Exception.class) public Result> importExcel(@RequestPart("file") MultipartFile file) throws IOException { @@ -98,7 +96,7 @@ public class NegativeImportController { } SupDepart depart = departService.getOne(new LambdaQueryWrapper() .eq(SupDepart::getPid, parent.getId()) - .eq(SupDepart::getShortName, item.getDepartName()).eq(SupDepart::getLevel, 3)); + .eq(SupDepart::getShortName, item.getDepartName()).eq(SupDepart::getLevel, 3)); if (Objects.isNull(depart)) { throw new RuntimeException(String.format("第条%s数据【%s】匹配不到部门", i, item.getDepartName())); } @@ -109,8 +107,7 @@ public class NegativeImportController { negativeDto.setDiscoveryTime(DateUtil.parseLocalDateTime(item.getDiscoveryTime(), "yyyy-MM-dd HH:mm:ss")); } negativeDto.setCaseNumber(item.getCaseNumber()); - negativeDto.setBusinessTypeCode(BusinessTypeEnum.JCJ_110.getValue()); - negativeDto.setBusinessTypeName(BusinessTypeEnum.JCJ_110.getLabel()); + if (StrUtil.isBlank(item.getThingDesc())) { negativeDto.setThingDesc(item.getProType()); @@ -118,9 +115,27 @@ public class NegativeImportController { negativeDto.setThingDesc(item.getThingDesc()); } negativeDto.setTimeLimit(TimeLimitEnum.WORK_137.getValue()); - negativeDto.setProblemSources(ProblemSourcesEnum.ZXDC.getLabel()); - negativeDto.setProblemSourcesCode(ProblemSourcesEnum.ZXDC.getValue()); - negativeDto.setSpecialSupervision("1"); + + BusinessTypeEnum businessTypeEnum = BusinessTypeEnum.getByLabel(item.getBusinessTypeName()); + if (businessTypeEnum != null) { + negativeDto.setBusinessTypeCode(businessTypeEnum.getValue()); + negativeDto.setBusinessTypeName(businessTypeEnum.getLabel()); + } else { + negativeDto.setBusinessTypeCode(BusinessTypeEnum.QT.getValue()); + negativeDto.setBusinessTypeName(BusinessTypeEnum.QT.getLabel()); + } + ProblemSourcesEnum problemSourcesEnum = ProblemSourcesEnum.getByLabel(item.getProblemSources()); + if (problemSourcesEnum != null) { + negativeDto.setProblemSources(problemSourcesEnum.getLabel()); + negativeDto.setProblemSourcesCode(problemSourcesEnum.getValue()); + if (problemSourcesEnum.getValue().equals(ProblemSourcesEnum.ZXDC.getValue())) { + negativeDto.setSpecialSupervision("1"); + } + } else { + negativeDto.setProblemSources(ProblemSourcesEnum.QT.getLabel()); + negativeDto.setProblemSourcesCode(ProblemSourcesEnum.QT.getValue()); + negativeDto.setSpecialSupervision("1"); + } negativeDto.setDepartId(departId); negativeDto.setDepartName(departName); negativeDto.setInvolveDepartId(departId); @@ -185,6 +200,10 @@ public class NegativeImportController { verifyData.setAccountabilityTarget("1"); verifyData.setCaseNumber(item.getCaseNumber()); verifyData.setBlames(blameList); + FileVo fileVo = new FileVo(); + fileVo.setFileName("默认附件(可删除).txt"); + fileVo.setFilePath("/group1/M00/0A/2F/QS8Gbmc2uAWAX6V2AAAABgEL2k516.txt"); + verifyData.setFiles(List.of(fileVo)); ActionDto actionDto = new ActionDto() .setActionKey("save") diff --git a/src/main/java/com/biutag/supervision/mapper/RiskPersonalTagMapper.java b/src/main/java/com/biutag/supervision/mapper/RiskPersonalTagMapper.java new file mode 100644 index 0000000..6d0492b --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/RiskPersonalTagMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.RiskPersonalTag; + +public interface RiskPersonalTagMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/dto/HdtNegativeImportDto.java b/src/main/java/com/biutag/supervision/pojo/dto/HdtNegativeImportDto.java index 88d9263..1d9c41b 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/HdtNegativeImportDto.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/HdtNegativeImportDto.java @@ -46,5 +46,10 @@ public class HdtNegativeImportDto { @ExcelProperty("整改情况") private String rectifyDesc; + @ExcelProperty("问题来源") + private String problemSources; + + @ExcelProperty("业务类别") + private String businessTypeName; } diff --git a/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java new file mode 100644 index 0000000..dcd40ab --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java @@ -0,0 +1,47 @@ +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 lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class RiskPersonalTag { + + // 主键 + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + // 姓名 + @TableField("name") + private String name; + + // 证件号码 + @TableField("id_code") + private String idCode; + + // 大标签 + @TableField("big_tag") + private String bigTag; + + // 小标签 + @TableField("small_tag") + private String smallTag; + + // 标签时间 + @TableField("tag_time") + private LocalDateTime tagTime; + + // 创建时间 + @TableField("create_time") + private LocalDateTime createTime; + + // 逻辑删除键0-未删1已删 + @TableField("del") + private Boolean del; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java index 035a273..8e17fa7 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java @@ -12,16 +12,14 @@ import lombok.Setter; public class RiskPersonalQueryParam extends BasePage { private String name; - - // 性别男1女2 - private String gender; - // 年龄 private Integer age; // 手机号 private String mobileNumber; + private String idCode; + private String controlDepartId; } diff --git a/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java b/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java new file mode 100644 index 0000000..9a31e1c --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java @@ -0,0 +1,75 @@ +package com.biutag.supervision.pojo.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; +import java.util.HashSet; +import java.util.Set; + +@Setter +@Getter +public class RiskPersonalVo { + + // 主键 + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + // 姓名 + @TableField("name") + private String name; + + // 性别男1女2 + @TableField("gender") + private String gender; + + // 年龄 + @TableField("age") + private Integer age; + + // 大标签预览 + @TableField("tags") + private String tags; + + // 证件号码 + @TableField("id_code") + private String idCode; + + // 手机号 + @TableField("mobile_number") + private String mobileNumber; + + // 风险指数 + @TableField("risk_score") + private Double riskScore; + + // 管控部门编号 + @TableField("control_depart_id") + private String controlDepartId; + + // 管控部门名称 + @TableField("control_depart_name") + private String controlDepartName; + + // 管控时间 + @TableField("control_time") + private LocalDateTime controlTime; + + // 创建时间 + @TableField("create_time") + private LocalDateTime createTime; + + // 异常信息 + @TableField("error_msg") + private String errorMsg; + + // 逻辑删除键0-未删1已删 + @TableField("del") + private Boolean del; + + private Set smallTags = new HashSet<>(); + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/service/NegativeService.java b/src/main/java/com/biutag/supervision/service/NegativeService.java index 718bed9..dee0ee6 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeService.java @@ -234,6 +234,9 @@ public class NegativeService extends ServiceImpl { .setProblemSourcesCode(ProblemSourcesEnum.JWDC.getValue()) // 警务调查默认为137工作制 .setTimeLimit(TimeLimitEnum.WORK_137.getValue()) + .setMaxSignDuration(TimeLimitEnum.WORK_137.getMaxSignDuration()) + .setMaxHandleDuration(TimeLimitEnum.WORK_137.getMaxHandleDuration()) + .setMaxExtensionDuration(TimeLimitEnum.WORK_137.getMaxHandleDuration()) .setApprovalFlow(ApprovalFlowEnum.SECOND_APPROVAL.getValue()) // 下发时间 .setFirstDistributeTime(now) diff --git a/src/main/java/com/biutag/supervision/service/RiskPersonalTagService.java b/src/main/java/com/biutag/supervision/service/RiskPersonalTagService.java new file mode 100644 index 0000000..bbc55bf --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/RiskPersonalTagService.java @@ -0,0 +1,14 @@ +package com.biutag.supervision.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.mapper.RiskPersonalTagMapper; +import com.biutag.supervision.pojo.entity.RiskPersonalTag; +import org.springframework.stereotype.Service; + +/** + * @author wxc + * @date 2024/11/15 + */ +@Service +public class RiskPersonalTagService extends ServiceImpl { +} diff --git a/src/main/resources/static/templates/黄赌问题问题下发模板.xls b/src/main/resources/static/templates/黄赌问题问题下发模板.xls index bcb83be..82f9587 100644 Binary files a/src/main/resources/static/templates/黄赌问题问题下发模板.xls and b/src/main/resources/static/templates/黄赌问题问题下发模板.xls differ diff --git a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java index b9769ae..ffb05e5 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_model_task_clue"; + String tableName = "risk_personal_tag"; String tableSchema = "negative"; boolean genMapper = true; boolean genService = true;