diff --git a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java index 7d6b2c7..b6a04b3 100644 --- a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java +++ b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskProblemController.java @@ -36,7 +36,8 @@ public class TaskProblemController { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(StrUtil.isNotBlank(queryParam.getTaskType()), SupTaskProblem::getTaskType, queryParam.getTaskType()) .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(); if (TaskTypeEnum.problem_shooting.name().equals(queryParam.getTaskType()) && !AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) ) { queryWrapper.eq(SupTaskProblem::getCreateUsername, user.getUserName()); diff --git a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java index 557a4f3..33e4eb6 100644 --- a/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java +++ b/src/main/java/com/biutag/supervision/controller/mobileSupervision/TestingAlcoholController.java @@ -158,19 +158,25 @@ public class TestingAlcoholController { public Result issueMatterFun(@RequestBody TaskTestingTaskDistribute distribute){ - TaskInspectionProblemVo vo =new TaskInspectionProblemVo(); + TaskDataProblemVo vo =new TaskDataProblemVo(); switch (distribute.getTableKey()){ case "selfexamination": vo= distribute.getProblemVo(); if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { 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; case "inspection": vo= distribute.getProblemVo(); if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { 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; case "testing_alcohol": //违反六项规定 @@ -184,10 +190,13 @@ public class TestingAlcoholController { SupTaskProblem supTaskProblem =list.get(0); BeanUtils.copyProperties(supTaskProblem, vo); 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())) { 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); BeanUtils.copyProperties(problem, vo); 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())) { vo.setFileData(JSON.parseArray(problem.getFiles(), FileVo.class)); + if(CollectionUtil.isNotEmpty(vo.getFileData())){ + vo.getFileData().forEach(s->s.setId(null)); + } } } break; @@ -211,15 +223,15 @@ public class TestingAlcoholController { vo= distribute.getProblemVo(); if (StrUtil.isNotBlank(distribute.getProblemVo().getFiles())) { 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; } - - - - - NegativeDto dto =new NegativeDto(); //问题来源 dto.setProblemSources(ProblemSourcesEnum.ZXDC.getLabel()); diff --git a/src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java b/src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java index f72625e..8e1f565 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java +++ b/src/main/java/com/biutag/supervision/pojo/param/TaskTestingTaskDistribute.java @@ -1,6 +1,7 @@ package com.biutag.supervision.pojo.param; 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.TaskTestingAlcoholPeopleVo; import jakarta.validation.constraints.NotBlank; @@ -27,7 +28,7 @@ public class TaskTestingTaskDistribute { private String supRecordId; //问题 - private TaskInspectionProblemVo problemVo; + private TaskDataProblemVo problemVo; private String taskName; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/TaskDataProblemVo.java b/src/main/java/com/biutag/supervision/pojo/vo/TaskDataProblemVo.java new file mode 100644 index 0000000..e366205 --- /dev/null +++ b/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 fileData = new ArrayList<>(); + + private List peopleData = new ArrayList<>(); + +} diff --git a/src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java b/src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java index c4e4364..c32449d 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/TaskInspectionProblemVo.java @@ -45,6 +45,7 @@ public class TaskInspectionProblemVo { private LocalDateTime supTime; private String files; + // 附件 private List fileData = new ArrayList<>(); diff --git a/src/main/java/com/biutag/supervision/service/SamplingService.java b/src/main/java/com/biutag/supervision/service/SamplingService.java index 7d5238e..0e4c672 100644 --- a/src/main/java/com/biutag/supervision/service/SamplingService.java +++ b/src/main/java/com/biutag/supervision/service/SamplingService.java @@ -54,6 +54,8 @@ public class SamplingService extends ServiceImpl { private final SupTaskTestingAlcoholSamplingMapper samplingMapper; private final SupRotaService rotaService; + + private final SupTaskTestingAlcoholPeopleService taskTestingAlcoholPeopleService; //添加或者修改 @Transactional(rollbackFor = Exception.class) public boolean addOrUpdata(SamplingVo vo){ @@ -205,29 +207,53 @@ public class SamplingService extends ServiceImpl { }); samplingVo.setOrgIds(orgIds); } - //抽检对象 - List policeCode = new ArrayList<>(); - if("2".equals(samplingVo.getDrinkAlcohol())){ -// // 获取当前的本地时间 -// LocalTime currentTime = LocalTime.now(); -// // 定义时间格式化为字符串的格式 -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); -// // 将本地时间格式化为字符串 -// String dateTime = currentTime.format(formatter); -// //获取值班人员 -// List supRota = rotaService.list(new LambdaQueryWrapper() -// .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); - } - + List empNoDataList = new ArrayList<>(); + //是否违法六项规定 + if("2".equals(samplingVo.getDrinkAlcohol())){ + LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SupTaskTestingAlcoholPeople::getIsIllegalBanquet,"是") + .or() + .eq(SupTaskTestingAlcoholPeople::getDrinkResult,"饮酒") + .in(SupTaskTestingAlcoholPeople::getDepartId,orgIds); + List supTaskTestingAlcoholPeople = taskTestingAlcoholPeopleService.list(lambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(supTaskTestingAlcoholPeople)){ + empNoDataList = supTaskTestingAlcoholPeople.stream().map(SupTaskTestingAlcoholPeople::getEmpNo).toList(); + } + } + //抽检值班对象 + 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 = rotaService.list(new LambdaQueryWrapper() + .in(SupRota::getDeptCode,samplingVo.getOrgIds()) + .ge(SupRota::getStartTime, dateTime) + .le(SupRota::getEndTime, dateTime)); + if(CollectionUtil.isNotEmpty(supRota)){ + //值班人员 + List 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 policeVos = baseMapper.selectPoliceData(samplingVo); diff --git a/src/main/resources/mapper/SamplingMapper.xml b/src/main/resources/mapper/SamplingMapper.xml index a5bc10a..e9790a3 100644 --- a/src/main/resources/mapper/SamplingMapper.xml +++ b/src/main/resources/mapper/SamplingMapper.xml @@ -75,6 +75,12 @@ and (age < #{ageMax} and age > #{ageMin}) + + and idCode in + + #{code} + + order by RAND() @@ -141,6 +147,12 @@ and (age < #{ageMax} and age > #{ageMin}) + + and idCode in + + #{code} + + order by RAND()