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