包头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.IORuntimeException;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import cn.hutool.core.util.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
@ -244,6 +241,25 @@ public class WorkerAdmissionController {
|
||||
if (CollUtil.isNotEmpty(idCardList)) {
|
||||
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>()
|
||||
.in(WorkerBlacklist::getIdCard, ids)).stream().map(WorkerBlacklist::getIdCard).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(blacklists)) {
|
||||
@ -373,16 +389,12 @@ public class WorkerAdmissionController {
|
||||
.put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList())))
|
||||
.put("projectSn", admissions.get(0).getProjectSn())
|
||||
.put("isCertificateQualified", 1)
|
||||
.put("queryExamStatus", 2)//合格
|
||||
.build());
|
||||
List<WorkerAdmissionCertificateDetail> certificateDetails = new ArrayList<>();
|
||||
Map<String, ExamTrainRecord> idCardMap = new HashMap<>();
|
||||
if (CollUtil.isNotEmpty(details)) {
|
||||
certificateDetails = workerAdmissionCertificateDetailService.list(new LambdaQueryWrapper<WorkerAdmissionCertificateDetail>()
|
||||
.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<>();
|
||||
//导出文件名称
|
||||
@ -409,7 +421,8 @@ public class WorkerAdmissionController {
|
||||
map.put("trainingEngineerName", null);
|
||||
List<Map<String, Object>> listMap = new ArrayList<>();
|
||||
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)) {
|
||||
int i = 0;
|
||||
for (WorkerAdmissionDetail detail : detailList) {
|
||||
@ -422,10 +435,6 @@ public class WorkerAdmissionController {
|
||||
String entryDeadline = detail.getEntryDeadline();
|
||||
String score = detail.getScore();
|
||||
String workAreaName = detail.getWorkAreaName();
|
||||
if (!idCardMap.containsKey(idCard)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Map<String, Object> dm = new HashMap<>();
|
||||
dm.put("order", ++i);
|
||||
dm.put("num", num);
|
||||
|
||||
@ -181,7 +181,7 @@ public class WorkerAdmissionDetailController {
|
||||
@PostMapping(value = "/batchPrintCard")
|
||||
public Result batchPrintCard(@ApiIgnore @RequestBody HashMap<String, Object> param) throws IOException {
|
||||
param.put("isCertificateQualified", 1);
|
||||
List<WorkerAdmissionDetail> records = workerAdmissionDetailService.queryPageList(param).getRecords();
|
||||
List<WorkerAdmissionDetail> records = workerAdmissionDetailService.queryList(param);
|
||||
if (CollUtil.isEmpty(records)) {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ -256,5 +256,11 @@ public class WorkerAdmissionDetail implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
@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-->
|
||||
,tr.id as record_id
|
||||
,tr.is_new_batch
|
||||
,tr.duration
|
||||
,es.name subject_name
|
||||
,wa.certificate_issuing_person
|
||||
,pg.project_group_name
|
||||
from worker_admission_detail t
|
||||
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 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
|
||||
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 project_group pg on pg.id=t.project_group
|
||||
where 1=1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user