From 70f079834ea667ba2a638ccbd2dd598b75fdbda4 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Fri, 7 Jun 2024 17:44:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DownloadController.java | 5 +++-- .../car/service/impl/CarInfoServiceImpl.java | 2 +- .../worker/entity/WorkerInfoAuditRecord.java | 3 +++ .../IWorkerInfoAuditRecordService.java | 2 +- .../worker/service/IWorkerInfoService.java | 2 +- .../WorkerInfoAuditRecordServiceImpl.java | 5 +++-- .../service/impl/WorkerInfoServiceImpl.java | 17 ++++++++++++++--- .../XzWorkerInfoAuditRecordController.java | 9 ++++++++- .../java/com/zhgd/xmgl/util/ExcelUtils.java | 17 +++++++++++++---- .../lib/wflow-server-1.0-SNAPSHOT.jar | Bin 489795 -> 489611 bytes 10 files changed, 47 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/DownloadController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/DownloadController.java index e7fc40441..7ecc5f91f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/DownloadController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/DownloadController.java @@ -317,10 +317,11 @@ public class DownloadController { @ApiOperation(value = "按模版导出人员安全教育信息", notes = "按模版导出人员安全教育信息", httpMethod = "GET") @ApiImplicitParams({ @ApiImplicitParam(name = "workerId", value = "劳务人员ID", paramType = "query", required = true, dataType = "String"), + @ApiImplicitParam(name = "projectSn", value = "劳务人员SN", paramType = "query", required = true, dataType = "String") }) @GetMapping(value = "/exporExcelWorkerEducation") - public void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId) { - workerInfoService.exporExcelWorkerEducation(response, workerId, workerEduId); + public void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String projectSn) { + workerInfoService.exporExcelWorkerEducation(response, workerId, projectSn); } @ApiOperation(value = "题库导入模板下载", notes = "题库导入模板下载", httpMethod = "GET") diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 6c00d1e8d..6c624bd16 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -150,7 +150,7 @@ public class CarInfoServiceImpl extends ServiceImpl impl private void validTime(CarInfo c) { if (isReservationType(c) && DateUtil.compare(c.getReserveEndTime(), new Date()) < 0) { - throw new OpenAlertException("预约时间已过期"); + throw new OpenAlertException("预约时间已失效,车辆无法下发,请重新提交"); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfoAuditRecord.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfoAuditRecord.java index 36dcf5d36..060b67f45 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfoAuditRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfoAuditRecord.java @@ -235,4 +235,7 @@ public class WorkerInfoAuditRecord implements Serializable { @ApiModelProperty(value="保险信息") private String insuranceInfo; + + @ApiModelProperty(value="下发同步状态(0:待同步;1:下发失败;)") + private Integer asyncState; } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoAuditRecordService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoAuditRecordService.java index 23aaec529..b76008156 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoAuditRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoAuditRecordService.java @@ -25,7 +25,7 @@ public interface IWorkerInfoAuditRecordService extends IService map); + Long adoptWorkerInfo(Map map); void rejectWorkerInfo(Map map); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java index 7fc56b4e9..6657a92b1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java @@ -97,7 +97,7 @@ public interface IWorkerInfoService extends IService { void exporExcelWorkerTemplate(HttpServletResponse response, String projectSn); - void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String workerEduId); + void exporExcelWorkerEducation(HttpServletResponse response, String workerId, String projectSn); Result uploadExcelWorkerInfo(MultipartFile excelFile, String projectSn); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoAuditRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoAuditRecordServiceImpl.java index 0d097e9e3..77af2961e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoAuditRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoAuditRecordServiceImpl.java @@ -106,7 +106,7 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl map) { + public Long adoptWorkerInfo(Map map) { WorkerInfoAuditRecord workerInfoAuditRecord=workerInfoAuditRecordMapper.selectById(MapUtils.getString(map,"id")); if(workerInfoAuditRecord==null){ throw new OpenAlertException(MessageUtil.get("notFindErr")); @@ -125,7 +125,7 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl workerContracts = JSONArray.parseArray(workerInfoAuditRecord.getContractInfo(), WorkerContract.class); @@ -152,6 +152,7 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl requestMap = new HashMap<>(); requestMap.put("workerId", workerId); EntityMap entityMap = workerInfoMapper.viewWorkerInfoDetail(requestMap); + if (entityMap == null) { + throw new CustomException("该人员信息不存在!", HttpStatus.INTERNAL_SERVER_ERROR); + } WorkerType workerType = workerTypeMapper.selectById(entityMap.get("workerTypeId")); + List workerSafeEducations = workerSafeEducationMapper.selectList(Wrappers.lambdaQuery() + .eq(WorkerSafeEducation::getProjectSn, projectSn) + .orderByDesc(WorkerSafeEducation::getAddTime)); + if (workerSafeEducations == null || workerSafeEducations.size() == 0) { + throw new CustomException("该人员未参加过入场安全教育培训!", HttpStatus.INTERNAL_SERVER_ERROR); + } WorkerSafeEducationWorker workerSafeEducationWorker = workerSafeEducationWorkerMapper.selectOne(Wrappers.lambdaQuery() - .eq(WorkerSafeEducationWorker::getId, workerEduId)); - ExcelUtils.exporExcelWorkerEducation(response, entityMap, workerSafeEducationWorker, workerType); + .eq(WorkerSafeEducationWorker::getId, workerSafeEducations.get(0).getId())); + ExcelUtils.exporExcelWorkerEducation(response, entityMap, workerSafeEducationWorker, workerType, basePath); } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java index 26739a46e..ccb5b7c76 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzWorkerInfoAuditRecordController.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.xz.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sun.corba.se.pept.transport.ContactInfo; @@ -329,7 +330,13 @@ public class XzWorkerInfoAuditRecordController { paramMap.put("ufaceDevId", ufaceDevIds); paramMap.put("accountType", 2); paramMap.put("registerType", 2); - workerInfoAuditRecordService.adoptWorkerInfo(paramMap); + Long workerId = workerInfoAuditRecordService.adoptWorkerInfo(paramMap); + if (workerId != null) { + LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate(); + wrapper.set(WorkerInfoAuditRecord::getAsyncState, 1); + wrapper.eq(WorkerInfoAuditRecord::getId, workerId); + workerInfoAuditRecordService.update(wrapper); + } } } return Result.ok(); diff --git a/src/main/java/com/zhgd/xmgl/util/ExcelUtils.java b/src/main/java/com/zhgd/xmgl/util/ExcelUtils.java index a365cd163..066cc9deb 100644 --- a/src/main/java/com/zhgd/xmgl/util/ExcelUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/ExcelUtils.java @@ -252,7 +252,7 @@ public class ExcelUtils { } } - public static void exporExcelWorkerEducation(HttpServletResponse response, Map map, WorkerSafeEducationWorker workerSafeEducationWorker, WorkerType workerType) { + public static void exporExcelWorkerEducation(HttpServletResponse response, Map map, WorkerSafeEducationWorker workerSafeEducationWorker, WorkerType workerType, String basePath) { try { ClassPathResource classPathResource = new ClassPathResource("excel/工人教育档案.xlsx"); InputStream inputStream = classPathResource.getInputStream(); @@ -280,9 +280,18 @@ public class ExcelUtils { } } } - picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 9, 15, 13, 15); - picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 20, 28, 1, 7); - picture("C:\\jxj\\prod\\backEnd\\itbgpImage\\6661637a99ad0e050669d016.jpg", sheet, 20, 28, 9, 15); + String idCardBigPhotoUrl = MapUtils.getString(map, "idCardBigPhotoUrl"); + if (StringUtils.isNotBlank(idCardBigPhotoUrl)) { + picture(basePath + idCardBigPhotoUrl, sheet, 9, 15, 13, 15); + } + String idCardUpPhotoUrl = MapUtils.getString(map, "idCardUpPhotoUrl"); + if (StringUtils.isNotBlank(idCardBigPhotoUrl)) { + picture(basePath + idCardUpPhotoUrl, sheet, 20, 28, 1, 7); + } + String idCardDownPhotoUrl = MapUtils.getString(map, "idCardDownPhotoUrl"); + if (StringUtils.isNotBlank(idCardDownPhotoUrl)) { + picture(basePath + idCardDownPhotoUrl, sheet, 20, 28, 9, 15); + } downLoadExcel("工人教育档案.xlsx", response, workbook); } catch (IOException e) { log.error("error:", e); diff --git a/src/main/resources/lib/wflow-server-1.0-SNAPSHOT.jar b/src/main/resources/lib/wflow-server-1.0-SNAPSHOT.jar index 1d105ff55f7be7aa908db3575c48124d69561e6d..4538eb85f5dca27d26008b5d4511b629683dac0a 100644 GIT binary patch delta 16939 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 UfS@AgI&rtm;Bc-9U@gx70Z}y29{>OV delta 16938 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