16 changed files with 467 additions and 29 deletions
@ -0,0 +1,17 @@ |
|||||||
|
package com.biutag.supervision.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import com.biutag.supervision.pojo.entity.RpcApply; |
||||||
|
import com.biutag.supervision.pojo.entity.Sampling; |
||||||
|
import com.biutag.supervision.pojo.vo.RpcApplyVo; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
|
||||||
|
public interface SamplingMapper extends BaseMapper<Sampling> { |
||||||
|
|
||||||
|
Page<Sampling> queryPage(@Param("page") Page<Sampling> page, @Param(Constants.WRAPPER) QueryWrapper<Sampling> queryWrapper); |
||||||
|
} |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
package com.biutag.supervision.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.biutag.supervision.pojo.entity.SamplingPolice; |
||||||
|
|
||||||
|
public interface SamplingPoliceMapper extends BaseMapper<SamplingPolice> { |
||||||
|
} |
||||||
@ -0,0 +1,93 @@ |
|||||||
|
package com.biutag.supervision.pojo.entity; |
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime; |
||||||
|
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; |
||||||
|
|
||||||
|
/** |
||||||
|
* 抽检规则 |
||||||
|
* */ |
||||||
|
@Getter |
||||||
|
@Setter |
||||||
|
public class Sampling { |
||||||
|
@TableId |
||||||
|
private String id; |
||||||
|
|
||||||
|
//抽检名称
|
||||||
|
@TableField("sampling_name") |
||||||
|
private String samplingName; |
||||||
|
//督察类型
|
||||||
|
@TableField("inspector_type") |
||||||
|
private String inspectorType; |
||||||
|
//年龄范围
|
||||||
|
//最大年龄
|
||||||
|
@TableField("age_max") |
||||||
|
private int ageMax; |
||||||
|
//最小年龄
|
||||||
|
@TableField("age_min") |
||||||
|
private int ageMin; |
||||||
|
//性别
|
||||||
|
@TableField("gender") |
||||||
|
private String gender; |
||||||
|
//人员属性
|
||||||
|
@TableField("personnel_type") |
||||||
|
private String personnelType; |
||||||
|
//是否违法6项规定
|
||||||
|
@TableField("drink_alcohol") |
||||||
|
private String drinkAlcohol; |
||||||
|
//抽检人数
|
||||||
|
@TableField("sampling_num") |
||||||
|
private int samplingNum; |
||||||
|
//领导人数
|
||||||
|
@TableField("leaders_number") |
||||||
|
private int leadersNumber; |
||||||
|
//民警比例
|
||||||
|
@TableField("police_ratio") |
||||||
|
private int policeRatio; |
||||||
|
//辅警比例
|
||||||
|
@TableField("assist_ratio") |
||||||
|
private int assistRatio; |
||||||
|
//时间范围
|
||||||
|
//开始时间
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
||||||
|
@TableField("start_time") |
||||||
|
private DateTime startTime; |
||||||
|
//结束时间
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
||||||
|
@TableField("end_time") |
||||||
|
private DateTime endTime; |
||||||
|
//被抽检次数
|
||||||
|
@TableField("sampling_number") |
||||||
|
private int samplingNumber; |
||||||
|
//距离最后一次检测时间
|
||||||
|
@TableField("distance_day") |
||||||
|
private int distanceDay; |
||||||
|
//是否值班人员
|
||||||
|
@TableField("be_duty") |
||||||
|
private String beDuty; |
||||||
|
//抽检对象
|
||||||
|
@TableField("sampling_obj") |
||||||
|
private String samplingObj; |
||||||
|
//是否使用
|
||||||
|
@TableField("employ") |
||||||
|
private String employ; |
||||||
|
/** |
||||||
|
* 创建单位 |
||||||
|
* */ |
||||||
|
@TableField("org_id") |
||||||
|
private String orgId; |
||||||
|
/** |
||||||
|
* 创建人名称 |
||||||
|
*/ |
||||||
|
@TableField("crt_name") |
||||||
|
String crtName; |
||||||
|
//创建时间
|
||||||
|
@TableField("crt_time") |
||||||
|
LocalDateTime crtTime; |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
package com.biutag.supervision.pojo.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import lombok.Getter; |
||||||
|
import lombok.Setter; |
||||||
|
|
||||||
|
@Getter |
||||||
|
@Setter |
||||||
|
public class SamplingPolice { |
||||||
|
@TableId |
||||||
|
private String id; |
||||||
|
//警号
|
||||||
|
@TableField("emp_no") |
||||||
|
private String empNo; |
||||||
|
//警员姓名
|
||||||
|
@TableField("name") |
||||||
|
private String name; |
||||||
|
//部门id
|
||||||
|
@TableField("dept_id") |
||||||
|
private String deptId; |
||||||
|
//抽检id
|
||||||
|
@TableField("sampling_id") |
||||||
|
private String samplingId; |
||||||
|
//是否领导
|
||||||
|
@TableField("是否为领导") |
||||||
|
private String isLeader; |
||||||
|
} |
||||||
@ -0,0 +1,51 @@ |
|||||||
|
package com.biutag.supervision.pojo.param; |
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime; |
||||||
|
import com.biutag.supervision.pojo.entity.SamplingPolice; |
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.List; |
||||||
|
//抽检规则入参
|
||||||
|
@Data |
||||||
|
public class SamplingQueryParam extends BasePage{ |
||||||
|
private String id; |
||||||
|
//抽检名称
|
||||||
|
private String samplingName; |
||||||
|
//督察类型
|
||||||
|
private String inspectorType; |
||||||
|
//年龄范围
|
||||||
|
//最大年龄
|
||||||
|
private int ageMax; |
||||||
|
//最小年龄
|
||||||
|
private int ageMin; |
||||||
|
//性别
|
||||||
|
private String gender; |
||||||
|
//人员属性
|
||||||
|
private String personnelType; |
||||||
|
//是否违法6项规定
|
||||||
|
private String drinkAlcohol; |
||||||
|
|
||||||
|
//领导人数
|
||||||
|
private int leadersNumber; |
||||||
|
//民警比例
|
||||||
|
private int policeRatio; |
||||||
|
//辅警比例
|
||||||
|
private int assistRatio; |
||||||
|
//时间范围
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
||||||
|
private List<LocalDateTime> samplingTime; |
||||||
|
|
||||||
|
//被抽检次数
|
||||||
|
private int samplingNumber; |
||||||
|
|
||||||
|
//是否值班人员
|
||||||
|
private String beDuty; |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,76 @@ |
|||||||
|
package com.biutag.supervision.pojo.vo; |
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.biutag.supervision.pojo.entity.SamplingPolice; |
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class SamplingVo { |
||||||
|
|
||||||
|
private String id; |
||||||
|
|
||||||
|
//抽检名称
|
||||||
|
private String samplingName; |
||||||
|
//督察类型
|
||||||
|
private String inspectorType; |
||||||
|
//年龄范围
|
||||||
|
//最大年龄
|
||||||
|
private int ageMax; |
||||||
|
//最小年龄
|
||||||
|
private int ageMin; |
||||||
|
//性别
|
||||||
|
private String gender; |
||||||
|
//人员属性
|
||||||
|
private String personnelType; |
||||||
|
//是否违法6项规定
|
||||||
|
private String drinkAlcohol; |
||||||
|
//抽检人数
|
||||||
|
private int samplingNum; |
||||||
|
//领导人数
|
||||||
|
private int leadersNumber; |
||||||
|
//民警比例
|
||||||
|
private int policeRatio; |
||||||
|
//辅警比例
|
||||||
|
private int assistRatio; |
||||||
|
//时间范围
|
||||||
|
//开始时间
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
||||||
|
private DateTime startTime; |
||||||
|
//结束时间
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
||||||
|
private DateTime endTime; |
||||||
|
//被抽检次数
|
||||||
|
@TableField("sampling_number") |
||||||
|
private int samplingNumber; |
||||||
|
//距离最后一次检测时间
|
||||||
|
private int distanceDay; |
||||||
|
//是否值班人员
|
||||||
|
private String beDuty; |
||||||
|
//创建单位
|
||||||
|
@TableField("org_id") |
||||||
|
private String orgId; |
||||||
|
//创建人名称
|
||||||
|
@TableField("crt_name") |
||||||
|
String crtName; |
||||||
|
//创建时间
|
||||||
|
LocalDateTime crtTime; |
||||||
|
//抽检对象
|
||||||
|
private String samplingObj; |
||||||
|
|
||||||
|
private List<SamplingObject> samplingObjectList; |
||||||
|
|
||||||
|
private List<SamplingPolice> samplingPolices; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
class SamplingObject{ |
||||||
|
private String deptId; |
||||||
|
|
||||||
|
private String value; |
||||||
|
} |
||||||
@ -0,0 +1,128 @@ |
|||||||
|
package com.biutag.supervision.service; |
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil; |
||||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||||
|
import cn.hutool.core.lang.intern.InternUtil; |
||||||
|
import cn.hutool.core.util.ArrayUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.alibaba.excel.util.IntUtils; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import com.biutag.supervision.common.UserContextHolder; |
||||||
|
import com.biutag.supervision.constants.AppConstants; |
||||||
|
import com.biutag.supervision.constants.enums.RoleCodeEnum; |
||||||
|
import com.biutag.supervision.mapper.SamplingMapper; |
||||||
|
import com.biutag.supervision.mapper.SamplingPoliceMapper; |
||||||
|
import com.biutag.supervision.pojo.entity.Confinement; |
||||||
|
import com.biutag.supervision.pojo.entity.Sampling; |
||||||
|
import com.biutag.supervision.pojo.entity.SamplingPolice; |
||||||
|
import com.biutag.supervision.pojo.model.UserAuth; |
||||||
|
import com.biutag.supervision.pojo.param.SamplingQueryParam; |
||||||
|
import com.biutag.supervision.pojo.vo.ConfinementVo; |
||||||
|
import com.biutag.supervision.pojo.vo.SamplingVo; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import org.springframework.util.CollectionUtils; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Collection; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
@RequiredArgsConstructor |
||||||
|
@Service |
||||||
|
public class SampliingService extends ServiceImpl<SamplingMapper, Sampling> { |
||||||
|
|
||||||
|
//抽检警察人员表
|
||||||
|
private final SamplingPoliceMapper samplingPoliceMapper; |
||||||
|
|
||||||
|
private final SupDepartService departService; |
||||||
|
//添加或者修改
|
||||||
|
public boolean addOrUpdata(SamplingVo vo){ |
||||||
|
Sampling sampling =new Sampling(); |
||||||
|
BeanUtil.copyProperties(vo,sampling); |
||||||
|
UserAuth user = UserContextHolder.getCurrentUser(); |
||||||
|
sampling.setCrtTime(LocalDateTime.now()); |
||||||
|
sampling.setCrtName(user.getUserName()); |
||||||
|
if (StrUtil.isNotEmpty(vo.getId())){ |
||||||
|
//判断有无警员列表
|
||||||
|
samplingPoliceMapper.delete(new LambdaQueryWrapper<SamplingPolice>().eq(SamplingPolice::getSamplingId,sampling.getId())); |
||||||
|
} |
||||||
|
if(ArrayUtil.isNotEmpty(vo.getSamplingPolices())){ |
||||||
|
samplingPoliceMapper.insert(vo.getSamplingPolices()); |
||||||
|
} |
||||||
|
return baseMapper.insertOrUpdate(sampling); |
||||||
|
} |
||||||
|
//分页查询
|
||||||
|
public Page<SamplingVo> page(SamplingQueryParam queryParam){ |
||||||
|
QueryWrapper<Sampling> queryWrapper = new QueryWrapper<>(); |
||||||
|
UserAuth user = UserContextHolder.getCurrentUser(); |
||||||
|
// 权限
|
||||||
|
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) { |
||||||
|
if (user.getAuthDepartIds().isEmpty() || user.getRoleCodes().isEmpty()) { |
||||||
|
return new Page<SamplingVo>().setTotal(0).setRecords(new ArrayList<>()); |
||||||
|
} |
||||||
|
List<String> orgIds = departService.getAllNodeIds(user.getAuthDepartIds()); |
||||||
|
queryWrapper.in("c1.org_id", orgIds); |
||||||
|
} |
||||||
|
//查询条件
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(queryParam.getSamplingName()),"sampling_name",queryParam.getSamplingName()) |
||||||
|
.eq(StrUtil.isNotBlank(queryParam.getInspectorType()),"inspector_type",queryParam.getInspectorType()) |
||||||
|
.eq(StrUtil.isNotBlank(queryParam.getGender()),"gender",queryParam.getGender()) |
||||||
|
.eq(StrUtil.isNotBlank(queryParam.getPersonnelType()),"personnel_type",queryParam.getPersonnelType()) |
||||||
|
.eq(StrUtil.isNotBlank(queryParam.getDrinkAlcohol()),"drink_alcohol",queryParam.getDrinkAlcohol()) |
||||||
|
.eq(StrUtil.isNotBlank(queryParam.getBeDuty()),"be_duty",queryParam.getBeDuty()); |
||||||
|
//抽检领导次数
|
||||||
|
if(queryParam.getLeadersNumber() != 0 ){ |
||||||
|
queryWrapper.eq("leaders_number",queryParam.getLeadersNumber()); |
||||||
|
} |
||||||
|
//年龄范围
|
||||||
|
if (queryParam.getAgeMax()!= 0){ |
||||||
|
queryWrapper.ge("age_min",queryParam.getAgeMin()); |
||||||
|
queryWrapper.le("age_max",queryParam.getAgeMax()); |
||||||
|
} |
||||||
|
//警员比率
|
||||||
|
if (queryParam.getPoliceRatio() != 0){ |
||||||
|
queryWrapper.eq("police_ratio",queryParam.getPoliceRatio()); |
||||||
|
} |
||||||
|
//辅警比率
|
||||||
|
if(queryParam.getAssistRatio() != 0){ |
||||||
|
queryWrapper.eq("assist_ratio",queryParam.getAssistRatio()); |
||||||
|
} |
||||||
|
//数据查询
|
||||||
|
if(CollectionUtils.isEmpty(queryParam.getSamplingTime())){ |
||||||
|
queryWrapper.ge("start_time",queryParam.getSamplingTime().get(0)); |
||||||
|
queryWrapper.le("end_time",queryParam.getSamplingTime().get(1)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
Page<Sampling> page= baseMapper.queryPage(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); |
||||||
|
List<SamplingVo> listData = new ArrayList<>(); |
||||||
|
page.getRecords().forEach(s->{ |
||||||
|
SamplingVo samplingVo =new SamplingVo(); |
||||||
|
BeanUtil.copyProperties(s,samplingVo); |
||||||
|
samplingVo.setSamplingPolices(samplingPoliceMapper.selectList(new LambdaQueryWrapper<SamplingPolice>().eq(SamplingPolice::getSamplingId,s.getId()))); |
||||||
|
listData.add(samplingVo); |
||||||
|
}); |
||||||
|
Page<SamplingVo> voPage = new Page<>(page.getCurrent(),page.getSize(),page.getTotal()); |
||||||
|
voPage.setRecords(listData); |
||||||
|
return voPage; |
||||||
|
} |
||||||
|
//删除数据
|
||||||
|
public boolean delDataById(SamplingQueryParam queryParam){ |
||||||
|
List<SamplingPolice> list = samplingPoliceMapper.selectList(new LambdaQueryWrapper<SamplingPolice>().eq(SamplingPolice::getSamplingId,queryParam.getId())); |
||||||
|
if(CollectionUtil.isNotEmpty(list)){ |
||||||
|
samplingPoliceMapper.deleteByIds(list.stream().map(SamplingPolice::getId).toList()); |
||||||
|
} |
||||||
|
|
||||||
|
return baseMapper.deleteById(queryParam.getId()) > 0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,14 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||||
|
<!DOCTYPE mapper |
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.biutag.supervision.mapper.SamplingMapper"> |
||||||
|
|
||||||
|
<select id="queryPage" resultType="com.biutag.supervision.pojo.entity.Sampling"> |
||||||
|
SELECT |
||||||
|
* |
||||||
|
FROM |
||||||
|
sampling a |
||||||
|
${ew.getCustomSqlSegment} |
||||||
|
</select> |
||||||
|
</mapper> |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||||
|
<!DOCTYPE mapper |
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.biutag.supervision.mapper.SamplingPoliceMapper"> |
||||||
|
|
||||||
|
</mapper> |
||||||
Loading…
Reference in new issue