Browse Source

fit:督察问题完善(查否功能\排序) & 人员抽检(排序、单选框支持取消、抽检对象名单支持修改、是否值班人员)

master
pengwei 4 months ago
parent
commit
b3f7a6e988
  1. 3
      src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java
  2. 30
      src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java
  3. 3
      src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java
  4. 52
      src/main/java/com/biutag/supervision/pojo/vo/TaskDataProblemVo.java
  5. 1
      src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java
  6. 66
      src/main/java/com/biutag/supervision/service/SamplingService.java
  7. 12
      src/main/resources/mapper/SamplingMapper.xml

3
src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java

@ -36,7 +36,8 @@ public class TaskProblemController {
LambdaQueryWrapper<SupTaskProblem> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SupTaskProblem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StrUtil.isNotBlank(queryParam.getTaskType()), SupTaskProblem::getTaskType, queryParam.getTaskType()) queryWrapper.eq(StrUtil.isNotBlank(queryParam.getTaskType()), SupTaskProblem::getTaskType, queryParam.getTaskType())
.eq(Objects.nonNull(queryParam.getTaskId()), SupTaskProblem::getTaskId, queryParam.getTaskId()) .eq(Objects.nonNull(queryParam.getTaskId()), SupTaskProblem::getTaskId, queryParam.getTaskId())
.eq(StrUtil.isNotBlank(queryParam.getContentId()), SupTaskProblem::getContentId, queryParam.getContentId()); .eq(StrUtil.isNotBlank(queryParam.getContentId()), SupTaskProblem::getContentId, queryParam.getContentId())
.orderByDesc(SupTaskProblem::getCreateTime);
UserAuth user = UserContextHolder.getCurrentUser(); UserAuth user = UserContextHolder.getCurrentUser();
if (TaskTypeEnum.problem_shooting.name().equals(queryParam.getTaskType()) && !AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) ) { if (TaskTypeEnum.problem_shooting.name().equals(queryParam.getTaskType()) && !AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) ) {
queryWrapper.eq(SupTaskProblem::getCreateUsername, user.getUserName()); queryWrapper.eq(SupTaskProblem::getCreateUsername, user.getUserName());

30
src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java

@ -158,19 +158,25 @@ public class TestingAlcoholController {
public Result issueMatterFun(@RequestBody TaskTestingTaskDistribute distribute){ public Result issueMatterFun(@RequestBody TaskTestingTaskDistribute distribute){
TaskInspectionProblemVo vo =new TaskInspectionProblemVo(); TaskDataProblemVo vo =new TaskDataProblemVo();
switch (distribute.getTableKey()){ switch (distribute.getTableKey()){
case "selfexamination": case "selfexamination":
vo= distribute.getProblemVo(); vo= distribute.getProblemVo();
if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) {
vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class)); vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class));
} }
if(StrUtil.isNotBlank(distribute.getProblemVo().getPeoples())){
vo.setPeopleData(JSON.parseArray(distribute.getProblemVo().getPeoples(), TaskProblemDto.People.class));
}
break; break;
case "inspection": case "inspection":
vo= distribute.getProblemVo(); vo= distribute.getProblemVo();
if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) {
vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class)); vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class));
} }
if(StrUtil.isNotBlank(distribute.getProblemVo().getPeoples())){
vo.setPeopleData(JSON.parseArray(distribute.getProblemVo().getPeoples(), TaskProblemDto.People.class));
}
break; break;
case "testing_alcohol": case "testing_alcohol":
//违反六项规定 //违反六项规定
@ -184,10 +190,13 @@ public class TestingAlcoholController {
SupTaskProblem supTaskProblem =list.get(0); SupTaskProblem supTaskProblem =list.get(0);
BeanUtils.copyProperties(supTaskProblem, vo); BeanUtils.copyProperties(supTaskProblem, vo);
if (StrUtil.isNotBlank(supTaskProblem.getPeoples())) { if (StrUtil.isNotBlank(supTaskProblem.getPeoples())) {
vo.setPeoples(JSON.parseArray(supTaskProblem.getPeoples(), TaskProblemDto.People.class)); vo.setPeopleData(JSON.parseArray(supTaskProblem.getPeoples(), TaskProblemDto.People.class));
} }
if (StrUtil.isNotBlank(supTaskProblem.getFiles())) { if (StrUtil.isNotBlank(supTaskProblem.getFiles())) {
vo.setFileData(JSON.parseArray(supTaskProblem.getFiles(), FileVo.class)); vo.setFileData(JSON.parseArray(supTaskProblem.getFiles(), FileVo.class));
if(CollectionUtil.isNotEmpty(vo.getFileData())){
vo.getFileData().forEach(s->s.setId(null));
}
} }
} }
} }
@ -200,10 +209,13 @@ public class TestingAlcoholController {
SupTaskProblem problem = taskProblems.get(0); SupTaskProblem problem = taskProblems.get(0);
BeanUtils.copyProperties(problem, vo); BeanUtils.copyProperties(problem, vo);
if (StrUtil.isNotBlank(problem.getPeoples())) { if (StrUtil.isNotBlank(problem.getPeoples())) {
vo.setPeoples(JSON.parseArray(problem.getPeoples(), TaskProblemDto.People.class)); vo.setPeopleData(JSON.parseArray(problem.getPeoples(), TaskProblemDto.People.class));
} }
if (StrUtil.isNotBlank(problem.getFiles())) { if (StrUtil.isNotBlank(problem.getFiles())) {
vo.setFileData(JSON.parseArray(problem.getFiles(), FileVo.class)); vo.setFileData(JSON.parseArray(problem.getFiles(), FileVo.class));
if(CollectionUtil.isNotEmpty(vo.getFileData())){
vo.getFileData().forEach(s->s.setId(null));
}
} }
} }
break; break;
@ -211,15 +223,15 @@ public class TestingAlcoholController {
vo= distribute.getProblemVo(); vo= distribute.getProblemVo();
if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) {
vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class)); vo.setFileData(JSON.parseArray(distribute.getProblemVo().getFiles(), FileVo.class));
if(CollectionUtil.isNotEmpty(vo.getFileData())){
vo.getFileData().forEach(s->s.setId(null));
}
}
if(StrUtil.isNotBlank(distribute.getProblemVo().getPeoples())){
vo.setPeopleData(JSON.parseArray(distribute.getProblemVo().getPeoples(), TaskProblemDto.People.class));
} }
break; break;
} }
NegativeDto dto =new NegativeDto(); NegativeDto dto =new NegativeDto();
//问题来源 //问题来源
dto.setProblemSources(ProblemSourcesEnum.ZXDC.getLabel()); dto.setProblemSources(ProblemSourcesEnum.ZXDC.getLabel());

3
src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java

@ -1,6 +1,7 @@
package com.biutag.supervision.pojo.param; package com.biutag.supervision.pojo.param;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.pojo.vo.TaskDataProblemVo;
import com.biutag.supervision.pojo.vo.TaskInspectionProblemVo; import com.biutag.supervision.pojo.vo.TaskInspectionProblemVo;
import com.biutag.supervision.pojo.vo.TaskTestingAlcoholPeopleVo; import com.biutag.supervision.pojo.vo.TaskTestingAlcoholPeopleVo;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
@ -27,7 +28,7 @@ public class TaskTestingTaskDistribute {
private String supRecordId; private String supRecordId;
//问题 //问题
private TaskInspectionProblemVo problemVo; private TaskDataProblemVo problemVo;
private String taskName; private String taskName;

52
src/main/java/com/biutag/supervision/pojo/vo/TaskDataProblemVo.java

@ -0,0 +1,52 @@
package com.biutag.supervision.pojo.vo;
import com.biutag.supervision.pojo.dto.TaskProblemDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
public class TaskDataProblemVo {
private Integer id;
private String taskId;
// 是否存在督察问题
private Boolean hasProblem;
private String distributionState;
private String departId;
private String departName;
private String problemType;
private String problemTypeCode;
// 具体情况
private String thingDesc;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime supTime;
private String files;
private String peoples;
// 附件
private List<FileVo> fileData = new ArrayList<>();
private List<TaskProblemDto.People> peopleData = new ArrayList<>();
}

1
src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java

@ -45,6 +45,7 @@ public class TaskInspectionProblemVo {
private LocalDateTime supTime; private LocalDateTime supTime;
private String files; private String files;
// 附件 // 附件
private List<FileVo> fileData = new ArrayList<>(); private List<FileVo> fileData = new ArrayList<>();

66
src/main/java/com/biutag/supervision/service/SamplingService.java

@ -54,6 +54,8 @@ public class SamplingService extends ServiceImpl<SamplingMapper, Sampling> {
private final SupTaskTestingAlcoholSamplingMapper samplingMapper; private final SupTaskTestingAlcoholSamplingMapper samplingMapper;
private final SupRotaService rotaService; private final SupRotaService rotaService;
private final SupTaskTestingAlcoholPeopleService taskTestingAlcoholPeopleService;
//添加或者修改 //添加或者修改
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean addOrUpdata(SamplingVo vo){ public boolean addOrUpdata(SamplingVo vo){
@ -205,29 +207,53 @@ public class SamplingService extends ServiceImpl<SamplingMapper, Sampling> {
}); });
samplingVo.setOrgIds(orgIds); samplingVo.setOrgIds(orgIds);
} }
//抽检对象 List<String> empNoDataList = new ArrayList<>();
List<String> policeCode = new ArrayList<>(); //是否违法六项规定
if("2".equals(samplingVo.getDrinkAlcohol())){ if("2".equals(samplingVo.getDrinkAlcohol())){
// // 获取当前的本地时间 LambdaQueryWrapper<SupTaskTestingAlcoholPeople> lambdaQueryWrapper=new LambdaQueryWrapper<>();
// LocalTime currentTime = LocalTime.now(); lambdaQueryWrapper.eq(SupTaskTestingAlcoholPeople::getIsIllegalBanquet,"是")
// // 定义时间格式化为字符串的格式 .or()
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); .eq(SupTaskTestingAlcoholPeople::getDrinkResult,"饮酒")
// // 将本地时间格式化为字符串 .in(SupTaskTestingAlcoholPeople::getDepartId,orgIds);
// String dateTime = currentTime.format(formatter); List<SupTaskTestingAlcoholPeople> supTaskTestingAlcoholPeople = taskTestingAlcoholPeopleService.list(lambdaQueryWrapper);
// //获取值班人员 if(CollectionUtil.isNotEmpty(supTaskTestingAlcoholPeople)){
// List<SupRota> supRota = rotaService.list(new LambdaQueryWrapper<SupRota>() empNoDataList = supTaskTestingAlcoholPeople.stream().map(SupTaskTestingAlcoholPeople::getEmpNo).toList();
// .in(SupRota::getDeptCode,samplingVo.getOrgIds())
// .ge(SupRota::getStartTime, dateTime)
// .le(SupRota::getEndTime, dateTime));
// if(CollectionUtil.isNotEmpty(supRota)){
// policeCode = supRota.stream().map(SupRota::getPoliceCode).toList();
// samplingVo.setPoliceCodes(policeCode);
// }
samplingVo.setDrinkAlcohol(null);
} }
}
//抽检值班对象
if ("1".equals(samplingVo.getBeDuty())){
// 获取当前的本地时间
LocalDateTime currentTime = LocalDateTime.now();
// 定义时间格式化为字符串的格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 将本地时间格式化为字符串
String dateTime = currentTime.format(formatter);
//获取值班人员
List<SupRota> supRota = rotaService.list(new LambdaQueryWrapper<SupRota>()
.in(SupRota::getDeptCode,samplingVo.getOrgIds())
.ge(SupRota::getStartTime, dateTime)
.le(SupRota::getEndTime, dateTime));
if(CollectionUtil.isNotEmpty(supRota)){
//值班人员
List<String> policeCode = supRota.stream().map(SupRota::getPoliceCode).toList();
//是否选择了违反六项规定
if("2".equals(samplingVo.getDrinkAlcohol()) ){
//违反六项规定 并且 存在人员
if( CollectionUtil.isNotEmpty(empNoDataList)){
//在违反了六项规定的数据中找到值班人员
empNoDataList= empNoDataList.stream().filter(policeCode::contains).toList();
}else{
empNoDataList = new ArrayList<>();
}
}else{
//没有选违法六项规定的数据
empNoDataList = policeCode;
}
samplingVo.setPoliceCodes(empNoDataList);
}
}
// //
//普通警员的抽检人数 //普通警员的抽检人数
List<PoliceVo> policeVos = baseMapper.selectPoliceData(samplingVo); List<PoliceVo> policeVos = baseMapper.selectPoliceData(samplingVo);

12
src/main/resources/mapper/SamplingMapper.xml

@ -75,6 +75,12 @@
<if test=" ageMax != null and ageMax != 0 "> <if test=" ageMax != null and ageMax != 0 ">
and (age &lt; #{ageMax} and age &gt; #{ageMin}) and (age &lt; #{ageMax} and age &gt; #{ageMin})
</if> </if>
<if test="policeCodes != null and policeCodes.length > 0">
and idCode in
<foreach collection="policeCodes" item="code" open="(" separator="," close=")">
#{code}
</foreach>
</if>
order by RAND() order by RAND()
</select> </select>
@ -141,6 +147,12 @@
<if test=" ageMax != null and ageMax != 0 "> <if test=" ageMax != null and ageMax != 0 ">
and (age &lt; #{ageMax} and age &gt; #{ageMin}) and (age &lt; #{ageMax} and age &gt; #{ageMin})
</if> </if>
<if test="policeCodes != null and policeCodes.length > 0">
and idCode in
<foreach collection="policeCodes" item="code" open="(" separator="," close=")">
#{code}
</foreach>
</if>
order by RAND() order by RAND()
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save