Browse Source

获取申请抚慰的人员的数据

master
buaixuexideshitongxue 2 months ago
parent
commit
0f08c4b07d
  1. 31
      src/main/java/com/biutag/supervision/constants/enums/GenderEnum.java
  2. 12
      src/main/java/com/biutag/supervision/controller/rightsComfort/ComfortController.java
  3. 96
      src/main/java/com/biutag/supervision/pojo/param/SupPoliceQueryParam.java
  4. 31
      src/main/java/com/biutag/supervision/pojo/request/comfort/ComfortApplyRequest.java
  5. 40
      src/main/java/com/biutag/supervision/pojo/vo/ComfortApplyVo.java
  6. 76
      src/main/java/com/biutag/supervision/repository/supPolice/SupPoliceResourceService.java
  7. 34
      src/main/java/com/biutag/supervision/service/RpcApplyService.java

31
src/main/java/com/biutag/supervision/constants/enums/GenderEnum.java

@ -0,0 +1,31 @@
package com.biutag.supervision.constants.enums;
/**
* @ClassName GenderEnum
* @Description 男女枚举类
* @Author shihao
* @Date 2025/12/16 14:36
*/
public enum GenderEnum implements IntegerEnum {
MALE(0, "男"),
FEMALE(1, "女");
private final int code;
private final String desc;
GenderEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
@Override
public int getCode() {
return code;
}
@Override
public String getDesc() {
return desc;
}
}

12
src/main/java/com/biutag/supervision/controller/rightsComfort/ComfortController.java

@ -14,8 +14,11 @@ import com.biutag.supervision.pojo.dto.RpcApplyDto;
import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.RpcApplyQueryParam;
import com.biutag.supervision.pojo.request.comfort.ComfortApplyRequest;
import com.biutag.supervision.pojo.vo.ComfortApplyVo;
import com.biutag.supervision.pojo.vo.RpcApplyVo;
import com.biutag.supervision.service.*;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@ -146,4 +149,13 @@ public class ComfortController {
return Result.success();
}
@Operation(description = "获取申请抚慰的申请人信息")
@PostMapping("/getPoliceInfo")
public Result<ComfortApplyVo> getPoliceInfo(@RequestBody ComfortApplyRequest request) {
return rpcApplyService.getPoliceInfo(request);
}
}

96
src/main/java/com/biutag/supervision/pojo/param/SupPoliceQueryParam.java

@ -0,0 +1,96 @@
package com.biutag.supervision.pojo.param;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDate;
import java.util.Set;
/**
* @ClassName SupPoliceQueryParam
* @Description 警员信息查询实体
* @Author shihao
* @Date 2025/12/16 11:05
*/
@Getter
@Setter
@Schema(description = "警员信息查询实体")
public class SupPoliceQueryParam {
@Schema(description = "id")
private String id;
@Schema(description = "id集合")
private Set<String> ids;
@Schema(description = "组织机构ID")
private String orgId;
@Schema(description = "组织机构ID集合")
private Set<String> orgIds;
@Schema(description = "所属区域ID")
private String districtId;
@Schema(description = "警号")
private String empNo;
@Schema(description = "警号集合")
private Set<String> empNos;
@Schema(description = "姓名(模糊查询)")
private String name;
@Schema(description = "显示名称(模糊查询)")
private String displayName;
@Schema(description = "身份证号码(精确查询 / 回车查询)")
private String idCode;
@Schema(description = "手机号")
private String mobile;
@Schema(description = "账号")
private String account;
@Schema(description = "职位")
private String job;
@Schema(description = "职位类型")
private String jobType;
@Schema(description = "人员类型 0原始 1协警 2文员 3临时工")
private String type;
@Schema(description = "人员状态")
private String personStatus;
@Schema(description = "人员属性")
private String personType;
/**
* @see com.biutag.supervision.constants.enums.GenderEnum
*/
@Schema(description = "性别")
private String gender;
@Schema(description = "婚姻状况")
private String maritalStatus;
@Schema(description = "是否有子女")
private Boolean haveChildren;
@Schema(description = "学历")
private String education;
@Schema(description = "入职日期-开始")
private LocalDate employmentDateStart;
@Schema(description = "入职日期-结束")
private LocalDate employmentDateEnd;
@Schema(description = "状态")
private String status;
}

31
src/main/java/com/biutag/supervision/pojo/request/comfort/ComfortApplyRequest.java

@ -0,0 +1,31 @@
package com.biutag.supervision.pojo.request.comfort;
import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.aop.ParamChecked;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName ComfortApply
* @Description ComfortApplyRequest
* @Author shihao
* @Date 2025/12/16 10:50
*/
@Getter
@Setter
@Schema(description = "维权申请人请求实体")
public class ComfortApplyRequest implements ParamChecked {
@Schema(description = "身份证号")
private String idCode;
@Schema(description = "警号")
private String empNo;
@Override
public void check() {
if (StrUtil.isAllBlank(idCode, empNo)){
throw new RuntimeException("身份证和警号不能同时为空!!");
}
}
}

40
src/main/java/com/biutag/supervision/pojo/vo/ComfortApplyVo.java

@ -0,0 +1,40 @@
package com.biutag.supervision.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName ComfortApplyVo
* @Description 维权申请人返回实体
* @Author shihao
* @Date 2025/12/16 10:56
*/
@Getter
@Setter
@Schema(description = "维权申请人返回实体")
public class ComfortApplyVo {
@Schema(description = "姓名(模糊查询)")
private String name;
/**
* @see com.biutag.supervision.constants.enums.GenderEnum
*/
@Schema(description = "性别")
private String gender;
@Schema(description = "身份证号码")
private String idCode;
@Schema(description = "组织机构ID")
private String orgId;
@Schema(description = "警号")
private String empNo;
@Schema(description = "职位:正职 副职")
private String position;
}

76
src/main/java/com/biutag/supervision/repository/supPolice/SupPoliceResourceService.java

@ -0,0 +1,76 @@
package com.biutag.supervision.repository.supPolice;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervision.mapper.SupPoliceMapper;
import com.biutag.supervision.pojo.entity.SupPolice;
import com.biutag.supervision.pojo.param.SupPoliceQueryParam;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @ClassName SupPoliceResourceService
* @Description SupPoliceResourceService
* @Author shihao
* @Date 2025/12/16 11:00
*/
@Service
public class SupPoliceResourceService {
@Resource
private SupPoliceMapper supPoliceMapper;
public Map<String, SupPolice> query(SupPoliceQueryParam param) {
LambdaQueryWrapper<SupPolice> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StrUtil.isNotBlank(param.getId()), SupPolice::getId, param.getId());
queryWrapper.in(CollUtil.isNotEmpty(param.getIds()), SupPolice::getId, param.getIds());
queryWrapper.eq(StrUtil.isNotBlank(param.getOrgId()), SupPolice::getOrgId, param.getOrgId());
queryWrapper.in(CollUtil.isNotEmpty(param.getOrgIds()), SupPolice::getOrgId, param.getOrgIds());
queryWrapper.eq(StrUtil.isNotBlank(param.getDistrictId()), SupPolice::getDistrictId, param.getDistrictId());
// 警号 精确/集合
queryWrapper.eq(StrUtil.isNotBlank(param.getEmpNo()), SupPolice::getEmpNo, param.getEmpNo());
queryWrapper.in(CollUtil.isNotEmpty(param.getEmpNos()), SupPolice::getEmpNo, param.getEmpNos());
// 身份证 / 手机 / 账号
queryWrapper.eq(StrUtil.isNotBlank(param.getIdCode()), SupPolice::getIdCode, param.getIdCode());
queryWrapper.eq(StrUtil.isNotBlank(param.getMobile()), SupPolice::getMobile, param.getMobile());
queryWrapper.eq(StrUtil.isNotBlank(param.getAccount()), SupPolice::getAccount, param.getAccount());
// 模糊:姓名 / 显示名称
queryWrapper.like(StrUtil.isNotBlank(param.getName()), SupPolice::getName, param.getName());
queryWrapper.like(StrUtil.isNotBlank(param.getDisplayName()), SupPolice::getDisplayName, param.getDisplayName());
// 枚举/状态类字段
queryWrapper.eq(StrUtil.isNotBlank(param.getJob()), SupPolice::getJob, param.getJob());
queryWrapper.eq(StrUtil.isNotBlank(param.getJobType()), SupPolice::getJobType, param.getJobType());
queryWrapper.eq(StrUtil.isNotBlank(param.getType()), SupPolice::getType, param.getType());
queryWrapper.eq(StrUtil.isNotBlank(param.getPersonStatus()), SupPolice::getPersonStatus, param.getPersonStatus());
queryWrapper.eq(StrUtil.isNotBlank(param.getPersonType()), SupPolice::getPersonType, param.getPersonType());
queryWrapper.eq(StrUtil.isNotBlank(param.getGender()), SupPolice::getGender, param.getGender());
queryWrapper.eq(StrUtil.isNotBlank(param.getMaritalStatus()), SupPolice::getMaritalStatus, param.getMaritalStatus());
queryWrapper.eq(param.getHaveChildren() != null, SupPolice::getHaveChildren, param.getHaveChildren());
queryWrapper.eq(StrUtil.isNotBlank(param.getEducation()), SupPolice::getEducation, param.getEducation());
queryWrapper.eq(StrUtil.isNotBlank(param.getStatus()), SupPolice::getStatus, param.getStatus());
// 入职日期区间
queryWrapper.ge(param.getEmploymentDateStart() != null, SupPolice::getEmploymentDate, param.getEmploymentDateStart());
queryWrapper.le(param.getEmploymentDateEnd() != null, SupPolice::getEmploymentDate, param.getEmploymentDateEnd());
// 排序(你也可以换成 sortId / empNo)
queryWrapper.orderByAsc(SupPolice::getSortId).orderByAsc(SupPolice::getEmpNo);
List<SupPolice> list = supPoliceMapper.selectList(queryWrapper);
if (CollUtil.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(SupPolice::getEmpNo, Function.identity(), (s1, s2) -> s1));
}
}

34
src/main/java/com/biutag/supervision/service/RpcApplyService.java

@ -1,8 +1,11 @@
package com.biutag.supervision.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -14,12 +17,18 @@ import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.constants.AppConstants;
import com.biutag.supervision.constants.enums.*;
import com.biutag.supervision.mapper.RpcApplyMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.RpcApplyDto;
import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.RpcApplyQueryParam;
import com.biutag.supervision.pojo.param.SupPoliceQueryParam;
import com.biutag.supervision.pojo.request.comfort.ComfortApplyRequest;
import com.biutag.supervision.pojo.vo.ComfortApplyVo;
import com.biutag.supervision.pojo.vo.RpcApplyVo;
import com.biutag.supervision.repository.supPolice.SupPoliceResourceService;
import com.biutag.supervision.util.JSON;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -28,10 +37,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
@RequiredArgsConstructor
@ -48,6 +54,9 @@ public class RpcApplyService extends ServiceImpl<RpcApplyMapper, RpcApply> {
private final SupDepartService departService;
@Resource
private SupPoliceResourceService supPoliceResourceService;
public Page<RpcApplyVo> page(RpcApplyQueryParam queryParam, String type) {
UserAuth user = UserContextHolder.getCurrentUser();
@ -209,4 +218,21 @@ public class RpcApplyService extends ServiceImpl<RpcApplyMapper, RpcApply> {
public Long orgCount(Date beginTime, Date endTime, String type, String orgId) {
return count(new LambdaQueryWrapper<RpcApply>().between(RpcApply::getCrtTime, beginTime, endTime).eq(RpcApply::getSecondDepartId,orgId).eq(RpcApply::getType, type));
}
public Result<ComfortApplyVo> getPoliceInfo(ComfortApplyRequest request) {
SupPoliceQueryParam supPoliceQueryParam = new SupPoliceQueryParam();
supPoliceQueryParam.setIdCode(request.getIdCode());
supPoliceQueryParam.setEmpNo(request.getEmpNo());
Map<String, SupPolice> query = supPoliceResourceService.query(supPoliceQueryParam);
if (MapUtil.isEmpty(query)) {
return Result.failed("未找到对应警员信息");
}
SupPolice police = query.entrySet().iterator().next().getValue();
ComfortApplyVo comfortApplyVo = new ComfortApplyVo();
BeanUtil.copyProperties(police, comfortApplyVo);
if (StrUtil.isBlank(comfortApplyVo.getGender())) {
comfortApplyVo.setGender(String.valueOf(IdcardUtil.getGenderByIdCard(police.getIdCode())));
}
return Result.success(comfortApplyVo);
}
}

Loading…
Cancel
Save