包头bug修复
This commit is contained in:
parent
1baceceebb
commit
fae66d7b0c
@ -8,10 +8,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.io.IORuntimeException;
|
import cn.hutool.core.io.IORuntimeException;
|
||||||
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.io.IoUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.*;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import cn.hutool.core.util.ZipUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.gexin.fastjson.JSON;
|
import com.gexin.fastjson.JSON;
|
||||||
@ -244,6 +241,25 @@ public class WorkerAdmissionController {
|
|||||||
if (CollUtil.isNotEmpty(idCardList)) {
|
if (CollUtil.isNotEmpty(idCardList)) {
|
||||||
List<String> ids = idCardList.stream().map(Object::toString).collect(Collectors.toList());
|
List<String> ids = idCardList.stream().map(Object::toString).collect(Collectors.toList());
|
||||||
|
|
||||||
|
//判断身份证格式正确
|
||||||
|
for (String idCard : ids) {
|
||||||
|
if (!IdCardUtils.strongVerifyIdNumber(idCard)) {
|
||||||
|
throw new OpenAlertException("身份证格式" + idCard + "错误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 不能重复身份证号,使用Map统计每个元素的出现次数
|
||||||
|
Map<String, Long> frequencyMap = ids.stream()
|
||||||
|
.collect(Collectors.groupingBy(s -> s, Collectors.counting()));
|
||||||
|
// 找出出现次数大于1的元素
|
||||||
|
List<String> duplicates = frequencyMap.entrySet().stream()
|
||||||
|
.filter(entry -> entry.getValue() > 1)
|
||||||
|
.map(Map.Entry::getKey)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (!duplicates.isEmpty()) {
|
||||||
|
throw new OpenAlertException("存在重复身份证号" + StrUtil.join(",", duplicates));
|
||||||
|
}
|
||||||
|
|
||||||
List<String> blacklists = workerBlacklistService.list(new LambdaQueryWrapper<WorkerBlacklist>()
|
List<String> blacklists = workerBlacklistService.list(new LambdaQueryWrapper<WorkerBlacklist>()
|
||||||
.in(WorkerBlacklist::getIdCard, ids)).stream().map(WorkerBlacklist::getIdCard).collect(Collectors.toList());
|
.in(WorkerBlacklist::getIdCard, ids)).stream().map(WorkerBlacklist::getIdCard).collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(blacklists)) {
|
if (CollUtil.isNotEmpty(blacklists)) {
|
||||||
@ -373,16 +389,12 @@ public class WorkerAdmissionController {
|
|||||||
.put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList())))
|
.put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList())))
|
||||||
.put("projectSn", admissions.get(0).getProjectSn())
|
.put("projectSn", admissions.get(0).getProjectSn())
|
||||||
.put("isCertificateQualified", 1)
|
.put("isCertificateQualified", 1)
|
||||||
|
.put("queryExamStatus", 2)//合格
|
||||||
.build());
|
.build());
|
||||||
List<WorkerAdmissionCertificateDetail> certificateDetails = new ArrayList<>();
|
List<WorkerAdmissionCertificateDetail> certificateDetails = new ArrayList<>();
|
||||||
Map<String, ExamTrainRecord> idCardMap = new HashMap<>();
|
|
||||||
if (CollUtil.isNotEmpty(details)) {
|
if (CollUtil.isNotEmpty(details)) {
|
||||||
certificateDetails = workerAdmissionCertificateDetailService.list(new LambdaQueryWrapper<WorkerAdmissionCertificateDetail>()
|
certificateDetails = workerAdmissionCertificateDetailService.list(new LambdaQueryWrapper<WorkerAdmissionCertificateDetail>()
|
||||||
.in(WorkerAdmissionCertificateDetail::getWorkerAdmissionDetailId, details.stream().map(WorkerAdmissionDetail::getId).collect(Collectors.toList())));
|
.in(WorkerAdmissionCertificateDetail::getWorkerAdmissionDetailId, details.stream().map(WorkerAdmissionDetail::getId).collect(Collectors.toList())));
|
||||||
idCardMap = examTrainRecordService.list(new LambdaQueryWrapper<ExamTrainRecord>()
|
|
||||||
.in(ExamTrainRecord::getWorkerCard, details.stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList()))
|
|
||||||
.eq(ExamTrainRecord::getIsPass, 1)
|
|
||||||
).stream().collect(Collectors.toMap(ExamTrainRecord::getWorkerCard, Function.identity(), (examTrainRecord, examTrainRecord2) -> examTrainRecord));
|
|
||||||
}
|
}
|
||||||
List<Map<String, Object>> allList = new ArrayList<>();
|
List<Map<String, Object>> allList = new ArrayList<>();
|
||||||
//导出文件名称
|
//导出文件名称
|
||||||
@ -409,7 +421,8 @@ public class WorkerAdmissionController {
|
|||||||
map.put("trainingEngineerName", null);
|
map.put("trainingEngineerName", null);
|
||||||
List<Map<String, Object>> listMap = new ArrayList<>();
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
||||||
map.put("listMap", listMap);
|
map.put("listMap", listMap);
|
||||||
List<WorkerAdmissionDetail> detailList = details.stream().filter(detail -> Objects.equals(detail.getWorkerAdmissionId(), admission.getId())).collect(Collectors.toList());
|
List<WorkerAdmissionDetail> detailList = details.stream().filter(detail -> Objects.equals(detail.getWorkerAdmissionId(), admission.getId()))
|
||||||
|
.sorted(Comparator.comparing(WorkerAdmissionDetail::getNum, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(detailList)) {
|
if (CollUtil.isNotEmpty(detailList)) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (WorkerAdmissionDetail detail : detailList) {
|
for (WorkerAdmissionDetail detail : detailList) {
|
||||||
@ -422,10 +435,6 @@ public class WorkerAdmissionController {
|
|||||||
String entryDeadline = detail.getEntryDeadline();
|
String entryDeadline = detail.getEntryDeadline();
|
||||||
String score = detail.getScore();
|
String score = detail.getScore();
|
||||||
String workAreaName = detail.getWorkAreaName();
|
String workAreaName = detail.getWorkAreaName();
|
||||||
if (!idCardMap.containsKey(idCard)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, Object> dm = new HashMap<>();
|
Map<String, Object> dm = new HashMap<>();
|
||||||
dm.put("order", ++i);
|
dm.put("order", ++i);
|
||||||
dm.put("num", num);
|
dm.put("num", num);
|
||||||
|
|||||||
@ -181,7 +181,7 @@ public class WorkerAdmissionDetailController {
|
|||||||
@PostMapping(value = "/batchPrintCard")
|
@PostMapping(value = "/batchPrintCard")
|
||||||
public Result batchPrintCard(@ApiIgnore @RequestBody HashMap<String, Object> param) throws IOException {
|
public Result batchPrintCard(@ApiIgnore @RequestBody HashMap<String, Object> param) throws IOException {
|
||||||
param.put("isCertificateQualified", 1);
|
param.put("isCertificateQualified", 1);
|
||||||
List<WorkerAdmissionDetail> records = workerAdmissionDetailService.queryPageList(param).getRecords();
|
List<WorkerAdmissionDetail> records = workerAdmissionDetailService.queryList(param);
|
||||||
if (CollUtil.isEmpty(records)) {
|
if (CollUtil.isEmpty(records)) {
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -257,4 +257,10 @@ public class WorkerAdmissionDetail implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "项目组名称")
|
@ApiModelProperty(value = "项目组名称")
|
||||||
private java.lang.String projectGroupName;
|
private java.lang.String projectGroupName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "科目名称")
|
||||||
|
private String subjectName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "时长")
|
||||||
|
private String duration;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,24 +25,18 @@
|
|||||||
<!-- ,if(wi.id is null,0,1) as is_import-->
|
<!-- ,if(wi.id is null,0,1) as is_import-->
|
||||||
,tr.id as record_id
|
,tr.id as record_id
|
||||||
,tr.is_new_batch
|
,tr.is_new_batch
|
||||||
|
,tr.duration
|
||||||
|
,es.name subject_name
|
||||||
,wa.certificate_issuing_person
|
,wa.certificate_issuing_person
|
||||||
,pg.project_group_name
|
,pg.project_group_name
|
||||||
from worker_admission_detail t
|
from worker_admission_detail t
|
||||||
left join worker_admission wa on wa.id=t.worker_admission_id
|
left join worker_admission wa on wa.id=t.worker_admission_id
|
||||||
left join enterprise_info ei1 on ei1.id=t.epc_cbs
|
left join enterprise_info ei1 on ei1.id=t.epc_cbs
|
||||||
left join enterprise_info ei2 on ei2.id=t.enterprise_id
|
left join enterprise_info ei2 on ei2.id=t.enterprise_id
|
||||||
<!-- left join ( select etr.* from-->
|
|
||||||
<!-- exam_train_record etr-->
|
|
||||||
<!-- join (select etr.worker_card,max(etr.start_exam_time) as start_exam_time-->
|
|
||||||
<!-- from exam_train_record etr-->
|
|
||||||
<!-- left join exam_paper ep on ep.id=etr.exam_paper_id-->
|
|
||||||
<!-- left join exam_subject es on es.id=ep.subject_id-->
|
|
||||||
<!-- where etr.project_sn = #{param.projectSn}-->
|
|
||||||
<!-- and etr.is_re_education = 0-->
|
|
||||||
<!-- and es.type=1-->
|
|
||||||
<!-- group by etr.worker_card)t on t.worker_card=etr.worker_card and t.start_exam_time=etr.start_exam_time) tr on tr.worker_card = t.id_card-->
|
|
||||||
left join exam_train_record tr on tr.application_id=wa.id and t.id=tr.worker_id and tr.application_type=1
|
left join exam_train_record tr on tr.application_id=wa.id and t.id=tr.worker_id and tr.application_type=1
|
||||||
and tr.submit = 1
|
and tr.submit = 1
|
||||||
|
left join exam_paper ep on ep.id=wa.paper_id
|
||||||
|
join exam_subject es on ep.subject_id = es.id
|
||||||
left join post_work_type t2 on t2.id = t.post_work_type
|
left join post_work_type t2 on t2.id = t.post_work_type
|
||||||
LEFT JOIN project_group pg on pg.id=t.project_group
|
LEFT JOIN project_group pg on pg.id=t.project_group
|
||||||
where 1=1
|
where 1=1
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user