包头修改
This commit is contained in:
parent
463d5af55e
commit
2a717a07bd
@ -67,6 +67,7 @@ public class PipelineWelderController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "weldingPassRateDesc", value = "1焊接合格率降序", paramType = "query", required = false, dataType = "Integer"),
|
||||
})
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<PipelineWelder>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
|
||||
@ -21,6 +21,8 @@ import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionCertificateDetailSer
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionDetailService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl;
|
||||
import com.zhgd.xmgl.modules.exam.entity.ExamTrainRecord;
|
||||
import com.zhgd.xmgl.modules.exam.service.IExamTrainRecordService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
||||
import com.zhgd.xmgl.util.*;
|
||||
@ -49,6 +51,7 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@ -79,6 +82,9 @@ public class WorkerAdmissionController {
|
||||
private HistoryService historyService;
|
||||
@Autowired
|
||||
private IWorkerInfoService workerInfoService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IExamTrainRecordService examTrainRecordService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@ -131,7 +137,10 @@ public class WorkerAdmissionController {
|
||||
JSONArray numList = JSON.parseArray(MapUtils.getString(map, "numList"));
|
||||
JSONArray idCardList = JSON.parseArray(MapUtils.getString(map, "idCardList"));
|
||||
if (CollUtil.isNotEmpty(numList)) {
|
||||
List<String> nums = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>().eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getNum).collect(Collectors.toList());
|
||||
List<String> nums = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
|
||||
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)
|
||||
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1))
|
||||
.stream().map(WorkerAdmissionDetail::getNum).collect(Collectors.toList());
|
||||
List<String> existNums = new ArrayList<>();
|
||||
for (int i = 0; i < numList.size(); i++) {
|
||||
String num = numList.getString(i);
|
||||
@ -147,7 +156,9 @@ public class WorkerAdmissionController {
|
||||
if (CollUtil.isNotEmpty(idCardList)) {
|
||||
List<String> ids = idCardList.stream().map(o -> o.toString()).collect(Collectors.toList());
|
||||
List<String> existDetailIdCards = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
|
||||
.in(WorkerAdmissionDetail::getIdCard, ids).eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList());
|
||||
.in(WorkerAdmissionDetail::getIdCard, ids)
|
||||
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1)
|
||||
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList());
|
||||
List<String> existWorkerIdCards = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.in(WorkerInfo::getIdCard, ids).eq(WorkerInfo::getProjectSn, projectSn)).stream().map(WorkerInfo::getIdCard).collect(Collectors.toList());
|
||||
existDetailIdCards.addAll(existWorkerIdCards);
|
||||
@ -168,7 +179,6 @@ public class WorkerAdmissionController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
@ -223,11 +233,19 @@ public class WorkerAdmissionController {
|
||||
if (CollUtil.isEmpty(admissions)) {
|
||||
return Result.success(new MapBuilder<String, Object>().put("file", null).build());
|
||||
}
|
||||
List<WorkerAdmissionDetail> details = workerAdmissionDetailService.queryList(new MapBuilder<String, Object>().put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList()))).build());
|
||||
List<WorkerAdmissionDetail> details = workerAdmissionDetailService.queryList(new MapBuilder<String, Object>()
|
||||
.put("workerAdmissionIds", StrUtil.join(",", admissions.stream().map(WorkerAdmission::getId).collect(Collectors.toList())))
|
||||
.put("isCertificateQualified", 1)
|
||||
.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<>();
|
||||
//导出文件名称
|
||||
@ -250,7 +268,8 @@ public class WorkerAdmissionController {
|
||||
map.put("certificateIssuingPersonName", certificateIssuingPersonName);
|
||||
map.put("epcSafetyManagerName", epcSafetyManagerName);
|
||||
map.put("projectTeamHseManagerName", projectTeamHseManagerName);
|
||||
map.put("trainingEngineerName", trainingEngineerName);
|
||||
// map.put("trainingEngineerName", trainingEngineerName);
|
||||
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());
|
||||
@ -266,6 +285,9 @@ 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);
|
||||
@ -366,57 +388,32 @@ public class WorkerAdmissionController {
|
||||
}
|
||||
//舍弃第一行表头数据
|
||||
for (int j = sheet.getFirstRowNum() + 3; j <= sheet.getLastRowNum() - 2; j++) {
|
||||
// DangerIdentificationEvaluationForm excelVo = new DangerIdentificationEvaluationForm();
|
||||
//获取当前行
|
||||
Row row = sheet.getRow(j);
|
||||
if (null == row) {
|
||||
continue;
|
||||
}
|
||||
// //遍历行所有的列
|
||||
// int firstCellNum = row.getFirstCellNum();
|
||||
// int lastCellNum = row.getLastCellNum();
|
||||
//列数
|
||||
String value = ExcelUtils.getSheelValue(sheet, j, 10);
|
||||
if (StrUtil.isNotBlank(value)) {
|
||||
idCards.add(value);
|
||||
}
|
||||
}
|
||||
// importExcelVoList = importExcelVoList.stream().filter(d -> StringUtils.isNotBlank(d.getSequenceNumber())).collect(Collectors.toList());
|
||||
// 判断序号是否有重复的
|
||||
// Map<String, Long> collect = importExcelVoList.stream().map(DangerIdentificationEvaluationForm::getSequenceNumber).collect(
|
||||
// Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
||||
// List<String> list = new ArrayList<>();
|
||||
// for (String s : collect.keySet()) {
|
||||
// if (collect.get(s) > 1) {
|
||||
// list.add(s);
|
||||
// }
|
||||
// }
|
||||
// if (list.size() > 0) {
|
||||
// String collect1 = list.stream().collect(Collectors.joining(","));
|
||||
// return Result.error("序号有重复:" + collect1);
|
||||
// }
|
||||
|
||||
//业务逻辑处理......
|
||||
// List<DangerIdentificationEvaluationForm> queryList = dangerIdentificationEvaluationFormService.list(new QueryWrapper<DangerIdentificationEvaluationForm>().lambda().eq(DangerIdentificationEvaluationForm::getProjectSn, projectSn));
|
||||
// Map<String, DangerIdentificationEvaluationForm> querySequenceNumberMap = queryList.stream().collect(Collectors.toMap(DangerIdentificationEvaluationForm::getSequenceNumber, Function.identity()));
|
||||
// List<DangerIdentificationEvaluationForm> updateList = new ArrayList<>();
|
||||
// List<DangerIdentificationEvaluationForm> addList = new ArrayList<>();
|
||||
// for (DangerIdentificationEvaluationForm form : importExcelVoList) {
|
||||
// form.setProjectSn(projectSn);
|
||||
// if (querySequenceNumberMap.containsKey(form.getSequenceNumber())) {
|
||||
// form.setId(querySequenceNumberMap.get(form.getSequenceNumber()).getId());
|
||||
// updateList.add(form);
|
||||
// } else {
|
||||
// addList.add(form);
|
||||
// }
|
||||
// }
|
||||
// if (CollUtil.isNotEmpty(addList)) {
|
||||
// dangerIdentificationEvaluationFormService.saveBatch(addList);
|
||||
// }
|
||||
// if (CollUtil.isNotEmpty(updateList)) {
|
||||
// dangerIdentificationEvaluationFormService.updateBatchById(updateList);
|
||||
// }
|
||||
|
||||
}
|
||||
if (CollUtil.isNotEmpty(idCards)) {
|
||||
Set<String> idCardSet = workerAdmissionDetailService.queryPageList(new MapBuilder<String, Object>()
|
||||
.put("idCards", StrUtil.join(",", idCards))
|
||||
.put("isPass", 1)
|
||||
.put("isCertificateQualified", 1)
|
||||
.build()).getRecords().stream().map(WorkerAdmissionDetail::getIdCard).distinct().collect(Collectors.toSet());
|
||||
idCards = idCards.stream().filter(idCardSet::contains).collect(Collectors.toList());
|
||||
}
|
||||
if (CollUtil.isEmpty(idCards)) {
|
||||
throw new OpenAlertException("批量导入合格人员为空");
|
||||
}
|
||||
return Result.success(new MapBuilder<String, Object>().put("idCards", StrUtil.join(",", idCards)).build());
|
||||
} catch (OpenAlertException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
log.error("", e);
|
||||
return Result.error("excel解析数据异常......");
|
||||
|
||||
@ -14,7 +14,6 @@ import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSONObject;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
@ -73,7 +72,7 @@ public class WorkerAdmissionDetailController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "idCards", value = "身份证号s", paramType = "query", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "idCards", value = "身份证号s(多个逗号分割)", paramType = "query", required = false, dataType = "String"),
|
||||
})
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<WorkerAdmissionDetail>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
@ -160,11 +159,13 @@ public class WorkerAdmissionDetailController {
|
||||
|
||||
@OperLog(operModul = "人员入场明细管理", operType = "", operDesc = "批量录入人员到实名制中")
|
||||
@ApiOperation(value = "批量录入人员到实名制中", notes = "批量录入人员到实名制中", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "idCards", value = "人员身份证s", paramType = "query", required = true, dataType = "String")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "idCards", value = "人员身份证s", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String")
|
||||
})
|
||||
@PostMapping(value = "/importWorkerBatch")
|
||||
public Result importWorkerBatch(@RequestBody HashMap<String, Object> param) {
|
||||
workerAdmissionDetailService.importWorkerBatch(param);
|
||||
return Result.ok();
|
||||
return Result.success(workerAdmissionDetailService.importWorkerBatch(param));
|
||||
}
|
||||
|
||||
@OperLog(operModul = "劳务管理", operType = "", operDesc = "批量制卡")
|
||||
@ -172,6 +173,7 @@ public class WorkerAdmissionDetailController {
|
||||
@ApiImplicitParam(name = "idList", value = "ID列表", paramType = "body", required = true)
|
||||
@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();
|
||||
if (CollUtil.isEmpty(records)) {
|
||||
return Result.ok();
|
||||
|
||||
@ -171,6 +171,13 @@ public class WorkerAdmissionDetail implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateDate;
|
||||
@Excel(name = "联系电话", width = 15)
|
||||
@ApiModelProperty(value="联系电话")
|
||||
private java.lang.String phone ;
|
||||
@Excel(name = "资质是否合格0不合格1合格", width = 15)
|
||||
@ApiModelProperty(value="资质是否合格0不合格1合格")
|
||||
private java.lang.Integer isCertificateQualified ;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String random;
|
||||
|
||||
|
||||
@ -27,4 +27,8 @@ public interface WorkerAdmissionMapper extends BaseMapper<WorkerAdmission> {
|
||||
WorkerAdmission getById(String id);
|
||||
|
||||
List<WorkerAdmission> queryList(@Param(Constants.WRAPPER) QueryWrapper<WorkerAdmission> queryWrapper);
|
||||
|
||||
Integer subTotalWorkerNum(Long workerAdmissionId);
|
||||
|
||||
Integer subQualifiedWorkerNum(Long workerAdmissionId);
|
||||
}
|
||||
|
||||
@ -29,14 +29,16 @@
|
||||
left join enterprise_info ei2 on ei2.id=t.enterprise_id
|
||||
left join device_unit du1 on du1.id=t.work_area
|
||||
left join worker_info wi on wi.id_card=t.id_card and t.project_sn=wi.project_sn
|
||||
left join ( select etr.worker_card,max(etr.start_exam_time) as start_exam_time,etr.is_pass,score
|
||||
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) tr on tr.worker_card = t.id_card
|
||||
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 (
|
||||
<include refid="com.zhgd.xmgl.modules.baotou.mapper.WorkerAdmissionDetailMapper.dicMap">
|
||||
</include>
|
||||
|
||||
@ -38,4 +38,12 @@
|
||||
)t
|
||||
where t.id=#{id}
|
||||
</select>
|
||||
|
||||
<update id="subTotalWorkerNum">
|
||||
update worker_admission set total_worker_num=total_worker_num-1 where id=#{id}
|
||||
</update>
|
||||
|
||||
<update id="subQualifiedWorkerNum">
|
||||
update worker_admission set qualifier_num=qualifier_num-1 where id=#{id}
|
||||
</update>
|
||||
</mapper>
|
||||
|
||||
@ -62,5 +62,5 @@ public interface IWorkerAdmissionDetailService extends IService<WorkerAdmissionD
|
||||
*/
|
||||
WorkerAdmissionDetail queryById(String id);
|
||||
|
||||
void importWorkerBatch(HashMap<String, Object> param);
|
||||
String importWorkerBatch(HashMap<String, Object> param);
|
||||
}
|
||||
|
||||
@ -64,4 +64,9 @@ public interface IWorkerAdmissionService extends IService<WorkerAdmission> {
|
||||
WorkerAdmission queryById(String id);
|
||||
|
||||
void addFromFlow(Map<String, Object> map);
|
||||
|
||||
void subTotalWorkerNum(Long workerAdmissionId);
|
||||
|
||||
void subQualifiedWorkerNum(Long workerAdmissionId);
|
||||
|
||||
}
|
||||
|
||||
@ -1,21 +1,23 @@
|
||||
package com.zhgd.xmgl.modules.baotou.service.impl;
|
||||
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.PipelineWelder;
|
||||
import com.zhgd.xmgl.modules.baotou.mapper.PipelineWelderMapper;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IPipelineWelderService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.PipelineWelder;
|
||||
import com.zhgd.xmgl.modules.baotou.mapper.PipelineWelderMapper;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IPipelineWelderService;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 管道焊工
|
||||
@ -27,11 +29,12 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
public class PipelineWelderServiceImpl extends ServiceImpl<PipelineWelderMapper, PipelineWelder> implements IPipelineWelderService {
|
||||
@Autowired
|
||||
private PipelineWelderMapper pipelineWelderMapper;
|
||||
|
||||
@Override
|
||||
public IPage<PipelineWelder> queryPageList(HashMap<String, Object> param) {
|
||||
QueryWrapper<PipelineWelder> queryWrapper = this.getQueryWrapper(param);
|
||||
Page<PipelineWelder> page = PageUtil.getPage(param);
|
||||
IPage<PipelineWelder> pageList = baseMapper.queryList(page, queryWrapper,param);
|
||||
IPage<PipelineWelder> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||
pageList.setRecords(this.dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
@ -39,12 +42,17 @@ public class PipelineWelderServiceImpl extends ServiceImpl<PipelineWelderMapper,
|
||||
@Override
|
||||
public List<PipelineWelder> queryList(HashMap<String, Object> param) {
|
||||
QueryWrapper<PipelineWelder> queryWrapper = getQueryWrapper(param);
|
||||
return dealList(baseMapper.queryList(queryWrapper,param));
|
||||
return dealList(baseMapper.queryList(queryWrapper, param));
|
||||
}
|
||||
|
||||
private QueryWrapper<PipelineWelder> getQueryWrapper(HashMap<String, Object> param) {
|
||||
QueryWrapper<PipelineWelder> queryWrapper = QueryGenerator.initPageQueryWrapper(PipelineWelder.class, param, true);
|
||||
Integer weldingPassRateDesc = MapUtils.getInteger(param, "weldingPassRateDesc");
|
||||
if (Objects.equals(weldingPassRateDesc, 1)) {
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(PipelineWelder::getWeldingPassRate));
|
||||
} else {
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(PipelineWelder::getId));
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@ -61,7 +69,7 @@ public class PipelineWelderServiceImpl extends ServiceImpl<PipelineWelderMapper,
|
||||
@Override
|
||||
public void edit(PipelineWelder pipelineWelder) {
|
||||
PipelineWelder oldPipelineWelder = baseMapper.selectById(pipelineWelder.getId());
|
||||
if(oldPipelineWelder==null) {
|
||||
if (oldPipelineWelder == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.updateById(pipelineWelder);
|
||||
@ -70,7 +78,7 @@ public class PipelineWelderServiceImpl extends ServiceImpl<PipelineWelderMapper,
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
PipelineWelder pipelineWelder = baseMapper.selectById(id);
|
||||
if(pipelineWelder==null) {
|
||||
if (pipelineWelder == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
|
||||
@ -104,7 +104,9 @@ public class ProjectScheduleServiceImpl extends ServiceImpl<ProjectScheduleMappe
|
||||
List<ProjectSchedule> schedules = projectScheduleMapper.selectList(new LambdaQueryWrapper<ProjectSchedule>()
|
||||
.eq(ProjectSchedule::getProjectSn, projectSn));
|
||||
List<ProjectScheduleDeviceUnit> units = projectScheduleDeviceUnitService.list(new LambdaQueryWrapper<ProjectScheduleDeviceUnit>()
|
||||
.eq(ProjectScheduleDeviceUnit::getProjectSn, projectSn));
|
||||
.eq(ProjectScheduleDeviceUnit::getProjectSn, projectSn)
|
||||
.orderByAsc(ProjectScheduleDeviceUnit::getOrderBy)
|
||||
);
|
||||
for (ProjectScheduleDeviceUnit unit : units.stream().filter(o->!Objects.equals(o.getParentId(),0)).collect(Collectors.toList())) {
|
||||
List<ProjectSchedule> collect = schedules.stream().filter(o -> Objects.equals(o.getDeviceUnitId(), unit.getId())).collect(Collectors.toList());
|
||||
unit.setSchedules(collect);
|
||||
|
||||
@ -16,9 +16,11 @@ import com.zhgd.xmgl.modules.baotou.entity.WorkerAdmissionDetail;
|
||||
import com.zhgd.xmgl.modules.baotou.mapper.WorkerAdmissionDetailMapper;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionCertificateDetailService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionDetailService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionService;
|
||||
import com.zhgd.xmgl.modules.exam.entity.ExamTrainRecord;
|
||||
import com.zhgd.xmgl.modules.exam.service.IExamTrainRecordService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.*;
|
||||
import com.zhgd.xmgl.modules.worker.service.*;
|
||||
import com.zhgd.xmgl.util.FlowUtil;
|
||||
import com.zhgd.xmgl.util.MapBuilder;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
@ -27,8 +29,10 @@ import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -56,6 +60,12 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IWorkerCertificateService workerCertificateService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IExamTrainRecordService examTrainRecordService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IWorkerAdmissionService workerAdmissionService;
|
||||
|
||||
@Override
|
||||
public IPage<WorkerAdmissionDetail> queryPageList(HashMap<String, Object> param) {
|
||||
@ -105,6 +115,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
baseMapper.updateById(workerAdmissionDetail);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
WorkerAdmissionDetail workerAdmissionDetail = baseMapper.selectById(id);
|
||||
@ -112,6 +123,12 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
if (Objects.equals(workerAdmissionDetail.getIsCertificateQualified(), 1)) {
|
||||
workerAdmissionService.subQualifiedWorkerNum(workerAdmissionDetail.getWorkerAdmissionId());
|
||||
workerAdmissionService.subTotalWorkerNum(workerAdmissionDetail.getWorkerAdmissionId());
|
||||
} else {
|
||||
workerAdmissionService.subTotalWorkerNum(workerAdmissionDetail.getWorkerAdmissionId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -124,10 +141,17 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importWorkerBatch(HashMap<String, Object> param) {
|
||||
public String importWorkerBatch(HashMap<String, Object> param) {
|
||||
String idCards = MapUtils.getString(param, "idCards");
|
||||
String projectSn = MapUtils.getString(param, "projectSn");
|
||||
String msg = "操作成功";
|
||||
if (StrUtil.isNotBlank(idCards)) {
|
||||
List<WorkerAdmissionDetail> detailList = this.queryList(new MapBuilder<String, Object>().put("idCards", idCards).build());
|
||||
List<WorkerAdmissionDetail> detailList = this.queryList(new MapBuilder<String, Object>()
|
||||
.put("projectSn", projectSn)
|
||||
.put("idCards", idCards)
|
||||
.put("isCertificateQualified", 1)
|
||||
.put("isPass", 1)
|
||||
.build());
|
||||
if (CollUtil.isNotEmpty(detailList)) {
|
||||
ArrayList<WorkerType> addTypes = new ArrayList<>();
|
||||
ArrayList<TeamInfo> addTeams = new ArrayList<>();
|
||||
@ -136,7 +160,6 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
ArrayList<WorkerCertificate> addCertificates = new ArrayList<>();
|
||||
List<WorkerAdmissionDetail> lwDetails = detailList.stream().filter(o -> Objects.equals(o.getPersonType(), 1)).collect(Collectors.toList());
|
||||
List<WorkerAdmissionDetail> glDetails = detailList.stream().filter(o -> Objects.equals(o.getPersonType(), 2)).collect(Collectors.toList());
|
||||
String projectSn = detailList.get(0).getProjectSn();
|
||||
List<WorkerType> existWorkerTypes = new ArrayList<>();
|
||||
List<TeamInfo> existTeamInfos = new ArrayList<>();
|
||||
List<DepartmentInfo> existDepartmentInfos = new ArrayList<>();
|
||||
@ -275,6 +298,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
}
|
||||
}
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
private WorkerInfo mapWorkerInfo(WorkerAdmissionDetail detail) {
|
||||
@ -305,9 +329,9 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
Integer personType = detail.getPersonType();
|
||||
WorkerInfo workerInfo = new WorkerInfo();
|
||||
workerInfo.setWorkerName(workerName);
|
||||
workerInfo.setFieldAcquisitionUrl(StrUtil.isNotBlank(fieldAcquisitionUrl)? JSONArray.parseArray(fieldAcquisitionUrl).getJSONObject(0).getString("url") :null);
|
||||
workerInfo.setIdCardDownPhotoUrl(StrUtil.isNotBlank(idCardDownPhotoUrl)? JSONArray.parseArray(idCardDownPhotoUrl).getJSONObject(0).getString("url") :null);
|
||||
workerInfo.setIdCardUpPhotoUrl(StrUtil.isNotBlank(idCardUpPhotoUrl)? JSONArray.parseArray(idCardUpPhotoUrl).getJSONObject(0).getString("url") :null);
|
||||
workerInfo.setFieldAcquisitionUrl(StrUtil.isNotBlank(fieldAcquisitionUrl) ? JSONArray.parseArray(fieldAcquisitionUrl).getJSONObject(0).getString("url") : null);
|
||||
workerInfo.setIdCardDownPhotoUrl(StrUtil.isNotBlank(idCardDownPhotoUrl) ? JSONArray.parseArray(idCardDownPhotoUrl).getJSONObject(0).getString("url") : null);
|
||||
workerInfo.setIdCardUpPhotoUrl(StrUtil.isNotBlank(idCardUpPhotoUrl) ? JSONArray.parseArray(idCardUpPhotoUrl).getJSONObject(0).getString("url") : null);
|
||||
workerInfo.setEnterpriseId(enterpriseId);
|
||||
workerInfo.setWorkArea(workArea);
|
||||
workerInfo.setDepartmentName(postWorkTypeName);
|
||||
@ -318,7 +342,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
|
||||
workerInfo.setProjectSn(projectSn);
|
||||
workerInfo.setAddTime(new Date());
|
||||
workerInfo.setBirthday(birthday);
|
||||
workerInfo.setIdCardBigPhotoUrl(StrUtil.isNotBlank(fieldAcquisitionUrl)? JSONArray.parseArray(fieldAcquisitionUrl).getJSONObject(0).getString("url") :null);
|
||||
workerInfo.setIdCardBigPhotoUrl(StrUtil.isNotBlank(fieldAcquisitionUrl) ? JSONArray.parseArray(fieldAcquisitionUrl).getJSONObject(0).getString("url") : null);
|
||||
// workerInfo.setPersonSn("");
|
||||
workerInfo.setEnterDate(entryDeadline);
|
||||
workerInfo.setInserviceType(1);
|
||||
|
||||
@ -147,11 +147,16 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
|
||||
ArrayList<String> repeatStrs = new ArrayList<>();
|
||||
if (map.get("details") != null) {
|
||||
if (map.get("details") instanceof List) {
|
||||
List<String> nums = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>().eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getNum).collect(Collectors.toList());
|
||||
List<String> nums = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
|
||||
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)
|
||||
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1)
|
||||
).stream().map(WorkerAdmissionDetail::getNum).collect(Collectors.toList());
|
||||
List<Map> detailsList = (List) map.get("details");
|
||||
List<String> idCards = detailsList.stream().map(o -> MapUtils.getString(((Map) o), "field4731914165560")).collect(Collectors.toList());
|
||||
List<String> existDetailIdCards = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
|
||||
.in(WorkerAdmissionDetail::getIdCard, idCards).eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList());
|
||||
.in(WorkerAdmissionDetail::getIdCard, idCards)
|
||||
.eq(WorkerAdmissionDetail::getIsCertificateQualified, 1)
|
||||
.eq(WorkerAdmissionDetail::getProjectSn, projectSn)).stream().map(WorkerAdmissionDetail::getIdCard).collect(Collectors.toList());
|
||||
List<String> existWorkerIdCards = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
|
||||
.in(WorkerInfo::getIdCard, idCards).eq(WorkerInfo::getProjectSn, projectSn)).stream().map(WorkerInfo::getIdCard).collect(Collectors.toList());
|
||||
existDetailIdCards.addAll(existWorkerIdCards);
|
||||
@ -204,6 +209,8 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
|
||||
detail.setBirthday(idCardMap.get("birthday"));
|
||||
// detail.setWorkerAdmissionId();
|
||||
detail.setRandom(random);
|
||||
detail.setIsCertificateQualified(isCertificateQualified);
|
||||
detail.setPhone(FlowUtil.getString(m, "field6776257685667"));
|
||||
if (nums.contains(num)) {
|
||||
repeatStrs.add(detail.getWorkerName() + "[" + detail.getNum() + "]");
|
||||
continue;
|
||||
@ -215,9 +222,9 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
|
||||
if (!Objects.equals(isCertificateQualified, 1)) {
|
||||
//资质不合格
|
||||
failStrs.add(detail.getWorkerName() + "[" + detail.getIdCard() + "]");
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
successStrs.add(detail.getWorkerName() + "[" + detail.getIdCard() + "]");
|
||||
}
|
||||
details.add(detail);
|
||||
List ces = FlowUtil.getList(m, "field3419932198510");
|
||||
if (ces != null) {
|
||||
@ -263,6 +270,8 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
|
||||
detail.setWorkerAdmissionId(admission.getId());
|
||||
}
|
||||
workerAdmissionDetailService.saveBatch(details);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(successStrs)) {
|
||||
msg += ",成功入场人员:" + StrUtil.join("、", successStrs);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(failStrs)) {
|
||||
@ -287,6 +296,16 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
|
||||
noticeService.addProjectLevelNotice(projectSn, "人员入场审批", msg, "10", null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void subTotalWorkerNum(Long workerAdmissionId) {
|
||||
baseMapper.subTotalWorkerNum(workerAdmissionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void subQualifiedWorkerNum(Long workerAdmissionId) {
|
||||
baseMapper.subQualifiedWorkerNum(workerAdmissionId);
|
||||
}
|
||||
|
||||
private Integer setPersonType(Integer postWorkType) {
|
||||
//劳务or管理?:100<=管理<200<=劳务。是否有资质?:107,108,109;300<=x
|
||||
Integer i = Convert.toInt(postWorkType);
|
||||
|
||||
@ -88,7 +88,7 @@ public class ExamTrainRecord implements Serializable {
|
||||
@ApiModelProperty(value = "总分")
|
||||
private Integer totalScore;
|
||||
/**
|
||||
* 考试次数
|
||||
* 考试次数(考试一次加1)
|
||||
*/
|
||||
@Excel(name = "考试次数", width = 15)
|
||||
@ApiModelProperty(value = "考试次数")
|
||||
|
||||
@ -17,14 +17,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.ExamScanCode;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.ViolationDetail;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.ViolationReEducation;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.WorkerAdmissionDetail;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IExamScanCodeService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IViolationDetailService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IViolationReEducationService;
|
||||
import com.zhgd.xmgl.modules.baotou.service.IWorkerAdmissionDetailService;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.*;
|
||||
import com.zhgd.xmgl.modules.baotou.service.*;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl;
|
||||
import com.zhgd.xmgl.modules.exam.entity.*;
|
||||
import com.zhgd.xmgl.modules.exam.mapper.ExamTrainRecordMapper;
|
||||
import com.zhgd.xmgl.modules.exam.service.*;
|
||||
@ -61,6 +56,9 @@ public class ExamTrainRecordServiceImpl extends ServiceImpl<ExamTrainRecordMappe
|
||||
@Lazy
|
||||
@Autowired
|
||||
IExamQuestionBankService examQuestionBankServie;
|
||||
@Lazy
|
||||
@Autowired
|
||||
NoticeServiceImpl noticeService;
|
||||
@Autowired
|
||||
private IExamTrainService examTrainService;
|
||||
@Autowired
|
||||
@ -84,6 +82,9 @@ public class ExamTrainRecordServiceImpl extends ServiceImpl<ExamTrainRecordMappe
|
||||
private IViolationReEducationService violationReEducationService;
|
||||
@Autowired
|
||||
private IExamScanCodeService examScanCodeService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IWorkerAdmissionService workerAdmissionService;
|
||||
|
||||
@Override
|
||||
public Page<ExamTrainRecordVo> pageList(Page page, Wrapper<ExamTrainRecordVo> wrapper) {
|
||||
@ -97,9 +98,13 @@ public class ExamTrainRecordServiceImpl extends ServiceImpl<ExamTrainRecordMappe
|
||||
|
||||
@Override
|
||||
public ExamTrainRecord submit(List<ExamAnswerQuestion> examAnswerQuestionList) {
|
||||
ExamTrainRecord examTrainRecord = this.getOne(new LambdaQueryWrapper<ExamTrainRecord>().eq(ExamTrainRecord::getWorkerCard, examAnswerQuestionList.get(0).getWorkerCard()).eq(ExamTrainRecord::getExamPaperId, examAnswerQuestionList.get(0).getPaperId()));
|
||||
// ExamTrain examTrain = examTrainService.getById(examTrainRecord.getTrainId());
|
||||
ExamPaper examPaper = examPaperService.getById(examAnswerQuestionList.get(0).getPaperId());
|
||||
String card = examAnswerQuestionList.get(0).getWorkerCard();
|
||||
if (StrUtil.isBlank(card)) {
|
||||
throw new OpenAlertException("workerCard不能为空");
|
||||
}
|
||||
Long paperId = examAnswerQuestionList.get(0).getTrainRecordId();
|
||||
ExamTrainRecord r = this.getOne(new LambdaQueryWrapper<ExamTrainRecord>().eq(ExamTrainRecord::getWorkerCard, card).eq(ExamTrainRecord::getExamPaperId, paperId));
|
||||
ExamPaper examPaper = examPaperService.getById(paperId);
|
||||
int score = 0;
|
||||
int totalScore = 0;
|
||||
for (ExamAnswerQuestion examAnswerQuestion : examAnswerQuestionList) {
|
||||
@ -108,38 +113,54 @@ public class ExamTrainRecordServiceImpl extends ServiceImpl<ExamTrainRecordMappe
|
||||
score = score + examAnswerQuestion.getScore();
|
||||
}
|
||||
}
|
||||
examTrainRecord.setExamNum(1);
|
||||
examTrainRecord.setScore(score);
|
||||
examTrainRecord.setIsPass(score >= examPaper.getPassLine() ? 1 : 0);
|
||||
long duration = DateUtil.between(examTrainRecord.getStartExamTime(), new Date(), DateUnit.SECOND) * 1000;
|
||||
examTrainRecord.setDuration(DateUtil.formatBetween(duration));
|
||||
examTrainRecord.setTotalScore(totalScore);
|
||||
this.updateById(examTrainRecord);
|
||||
// List<ExamPointConfig> list = examPointConfigService.list(Wrappers.<ExamPointConfig>lambdaQuery().eq(ExamPointConfig::getProjectSn, examTrainRecord.getProjectSn()));
|
||||
// if (list.size() > 0) {
|
||||
// if (examTrain.getTrainEndTime().compareTo(new Date()) > 0) {
|
||||
// point("1", list, examTrainRecord.getWorkerId(), "在规定时间内参与" + examTrain.getName() + "考试,加");
|
||||
// } else {
|
||||
// point("2", list, examTrainRecord.getWorkerId(), "没在规定时间内参与" + examTrain.getName() + "考试,扣");
|
||||
// }
|
||||
// if (examTrainRecord.getIsPass() == 1) {
|
||||
// point("3", list, examTrainRecord.getWorkerId(), "进行" + examTrain.getName() + "考试成绩合格,加");
|
||||
// } else {
|
||||
// point("4", list, examTrainRecord.getWorkerId(), "进行" + examTrain.getName() + "考试成绩不合格,扣");
|
||||
// }
|
||||
// }
|
||||
if (Objects.equals(examTrainRecord.getIsPass(), 1)) {
|
||||
r.setExamNum(1);
|
||||
r.setScore(score);
|
||||
r.setIsPass(score >= examPaper.getPassLine() ? 1 : 0);
|
||||
long duration = DateUtil.between(r.getStartExamTime(), new Date(), DateUnit.SECOND) * 1000;
|
||||
r.setDuration(DateUtil.formatBetween(duration));
|
||||
r.setTotalScore(totalScore);
|
||||
this.updateById(r);
|
||||
ExamSubject subject = examSubjectService.getById(examPaper.getSubjectId());
|
||||
if (Objects.equals(r.getIsPass(), 1)) {
|
||||
//违章再教育合格:下发门禁
|
||||
//复工培训合格:下发门禁
|
||||
if (Objects.equals(subject.getType(), 2) || Objects.equals(subject.getType(), 1) && Objects.equals(examTrainRecord.getIsReEducation(), 1)) {
|
||||
HashMap<String, Object> map = new HashMap<>(16);
|
||||
map.put("id", examTrainRecord.getWorkerId());
|
||||
map.put("deductScore", 100);
|
||||
workerInfoService.updateScoreSendAuth(map);
|
||||
//复工培训合格:下发门禁,自动修改成入场
|
||||
if (Objects.equals(subject.getType(), 2) || Objects.equals(subject.getType(), 1) && Objects.equals(r.getIsReEducation(), 1)) {
|
||||
// HashMap<String, Object> map = new HashMap<>(16);
|
||||
// map.put("id", examTrainRecord.getWorkerId());
|
||||
// map.put("deductScore", 100);
|
||||
// workerInfoService.updateScoreSendAuth(map);
|
||||
List<WorkerInfo> infos = workerInfoService.selectWorkerInfoList(new MapBuilder<String, Object>()
|
||||
.put("id", r.getWorkerId())
|
||||
.put("projectSn", r.getProjectSn())
|
||||
.build()).getRecords();
|
||||
if (CollUtil.isNotEmpty(infos)) {
|
||||
WorkerInfo workerInfo = infos.get(0);
|
||||
workerInfo.setInserviceType(1);
|
||||
workerInfo.setSafeScore(100D);
|
||||
workerInfo.setAccountType(Objects.equals(workerInfo.getPersonType(), 2) ? 1 : 2);
|
||||
if (Objects.equals(subject.getType(), 2)) {
|
||||
workerInfo.setReEntry(1);
|
||||
}
|
||||
workerInfoService.editWorkerInfo(workerInfo);
|
||||
}
|
||||
}
|
||||
return examTrainRecord;
|
||||
} else {
|
||||
//入场培训不合格通知给办证人,重考次数用完再提示
|
||||
if (Objects.equals(subject.getType(), 1) && r.getExamCount() > examPaper.getRetakeNum()) {
|
||||
String workerCard = r.getWorkerCard();
|
||||
List<Long> admissionIds = workerAdmissionDetailService.list(new LambdaQueryWrapper<WorkerAdmissionDetail>()
|
||||
.eq(WorkerAdmissionDetail::getIdCard, workerCard)
|
||||
).stream().map(WorkerAdmissionDetail::getWorkerAdmissionId).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(admissionIds)) {
|
||||
List<Long> certificateIssuingPersons = workerAdmissionService.list(new LambdaQueryWrapper<WorkerAdmission>()
|
||||
.in(WorkerAdmission::getId, admissionIds)).stream().map(WorkerAdmission::getCertificateIssuingPerson).distinct().collect(Collectors.toList());
|
||||
noticeService.addUsersNotice(certificateIssuingPersons, "入场培训不合格通知",
|
||||
StrUtil.format("{}(身份证号:{})参加考试科目为{}试题名称为{}的入场培训不合格",
|
||||
r.getWorkerName(), r.getWorkerCard(), subject.getName(), examPaper.getName()), "10");
|
||||
}
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -237,7 +258,11 @@ public class ExamTrainRecordServiceImpl extends ServiceImpl<ExamTrainRecordMappe
|
||||
needReEducation = true;
|
||||
}
|
||||
}
|
||||
List<WorkerAdmissionDetail> details = workerAdmissionDetailService.queryList(new MapBuilder<String, Object>().put("projectSn", projectSn).put("idCard", idCard).build());
|
||||
List<WorkerAdmissionDetail> details = workerAdmissionDetailService.queryList(new MapBuilder<String, Object>()
|
||||
.put("projectSn", projectSn)
|
||||
.put("idCard", idCard)
|
||||
.put("isCertificateQualified", 1)
|
||||
.build());
|
||||
if (details.size() > 0) {
|
||||
admissionDetail = details.get(0);
|
||||
}
|
||||
|
||||
@ -216,4 +216,4 @@ tenant.tables[9]=wflow_sub_groups
|
||||
tenant.tables[10]=wflow_sub_process
|
||||
|
||||
sada.host=http://api.e.v1.i-sada.net
|
||||
h5.exam.url=http://192.168.34.175:8088/zjsjAPP/#/pages/personLocation/login/login?examPaperId=
|
||||
h5.exam.url=http://192.168.34.133:20626/#/pages/personLocation/login/login?examPaperId=
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user