From 9c198b36a604f2158b800a5bd3c2553b196a8c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Mon, 18 Aug 2025 18:19:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BA=BA=E5=91=98=E5=87=BA=E5=85=A5=E5=9C=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=BF=AE=E6=94=B9=202.=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=B6=8530=E5=A4=A9=E8=BD=AC=E5=A4=B1=E4=BF=A1=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=AE=9A=E6=97=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PmWorkerExitController.java | 4 +- .../com/bonus/bmw/domain/dto/PmWorkerDto.java | 5 ++ .../bonus/bmw/mapper/PmWorkerExitMapper.java | 2 +- .../service/impl/PmWorkerExitServiceImpl.java | 6 +- .../mapper/bmw/PmWorkerExitMapper.xml | 2 +- .../bonus/job/domain/BmWorkerBlackJob.java | 89 +++++++++++++++++++ .../com/bonus/job/mapper/WorkerJobMapper.java | 11 +++ .../job/task/WorkerEinDayRecordTask.java | 15 ++++ .../resources/mapper/job/WorkerJobMapper.xml | 36 ++++++++ 9 files changed, 163 insertions(+), 7 deletions(-) create mode 100644 bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/BmWorkerBlackJob.java diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerExitController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerExitController.java index ac1331e..ac33f3b 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerExitController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerExitController.java @@ -65,7 +65,7 @@ public class PmWorkerExitController extends BaseController { @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) @PostMapping("/exit") @SysLog(title = "人员出场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员出场管理", details = "人员出场") - public AjaxResult exit(@RequestParam(value = "files") MultipartFile[] files, @RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { + public AjaxResult exit(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "fileMsg", required = false) String fileMsg, @RequestParam(value = "params")String params) { try { List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); PmWorkerDto o = FastJsonHelper.jsonStrToBean(params, PmWorkerDto.class); @@ -105,7 +105,7 @@ public class PmWorkerExitController extends BaseController { @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) @PostMapping("/exitFile") @SysLog(title = "人员出场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员出场管理", details = "人员出场") - public AjaxResult exitFile(@RequestParam(value = "files") MultipartFile[] files, @RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { + public AjaxResult exitFile(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "fileMsg", required = false) String fileMsg, @RequestParam(value = "params")String params) { try { List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); PmWorkerDto o = FastJsonHelper.jsonStrToBean(params, PmWorkerDto.class); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java index c3fa640..113bfae 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java @@ -62,5 +62,10 @@ public class PmWorkerDto { */ private String isUploadFile; + /** + * 是否上传离职文件 0未上传 1已上传 + */ + private String exitWay; + } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java index f0fc9e8..bd03588 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerExitMapper.java @@ -32,7 +32,7 @@ public interface PmWorkerExitMapper { * @param einStatus * @return */ - int updateEinProRecordStatus(@Param("id") Integer id,@Param("einStatus") Integer einStatus,@Param("isUploadFile") Integer isUploadFile); + int updateEinProRecordStatus(@Param("id") Integer id,@Param("einStatus") Integer einStatus,@Param("isUploadFile") Integer isUploadFile,@Param("exitWay") String exitWay); List selectWorkListByWorkerId(PmWorkerDto o); } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java index 012393c..41ae480 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java @@ -70,7 +70,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { isUploadFile = 1; } - int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile); + int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay()); if(k==1){ urkSendService.delUserByDevice(record.getId(),record.getProId()); } @@ -90,7 +90,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { int einStatus = 2; //是否上传文件 int isUploadFile = 0; - int k = mapper.updateEinProRecordStatus(bean.getId(),einStatus,isUploadFile); + int k = mapper.updateEinProRecordStatus(bean.getId(),einStatus,isUploadFile,bean.getExitWay()); if(k==1){ userId.add(bean.getId()); proId.add(bean.getProId()); @@ -128,7 +128,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService { int einStatus = 0; //是否上传文件 int isUploadFile = 1; - int k = mapper.updateEinProRecordStatus(o.getId(),einStatus,isUploadFile); + int k = mapper.updateEinProRecordStatus(o.getId(),einStatus,isUploadFile,o.getExitWay()); return !uploadFileVos.isEmpty() ?1:0; } return 0; diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml index 6ed52b0..31ca4c5 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerExitMapper.xml @@ -81,7 +81,7 @@ - UPDATE bm_worker_ein_pro_record SET is_upload_file = #{isUploadFile},is_active = 0 + UPDATE bm_worker_ein_pro_record SET is_upload_file = #{isUploadFile},is_active = 0,exit_way = #{exitWay} , ein_status = #{einStatus} , exit_time = NOW() diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/BmWorkerBlackJob.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/BmWorkerBlackJob.java new file mode 100644 index 0000000..62d4396 --- /dev/null +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/BmWorkerBlackJob.java @@ -0,0 +1,89 @@ +package com.bonus.job.domain; + +import com.bonus.common.core.annotation.Excel; +import lombok.Data; + +/** + * 人员黑名单(失信人员) + */ +@Data +public class BmWorkerBlackJob { + + //用于excel导出的序号一列,不需要业务逻辑处理 + @Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT,sort = 1) + int sequence; + + /** + * 编号 + */ + private Integer id; + + /** + * 施工人员id + */ + private Integer workerId; + + /** + * 身份证 + */ + @Excel(name = "身份证号", sort = 3) + private String idNumber; + + /** + * 姓名 + */ + @Excel(name = "姓名", sort = 2) + private String name; + + /** + * 岗位 + */ + @Excel(name = "工种", sort = 4) + private String postName; + + /** + * 工程 + */ + @Excel(name = "工程名称", sort = 5) + private String proName; + + /** + * 分包 + */ + @Excel(name = "所属分包单位", sort = 6) + private String subName; + + /** + * 理由 + */ + @Excel(name = "事件", sort = 7) + private String reason; + + /** + * 开始时间 + */ + @Excel(name = "开始时间", sort = 8) + private String startTime; + + /** + * 结束时间 + */ + @Excel(name = "结束时间", sort = 9) + private String endTime; + + /** + * 是否解除 0 未解除 1 已解除 + */ + @Excel(name = "是否解除", type = Excel.Type.EXPORT, sort = 10,readConverterExp = "执行中=0,已解除=1,已到解除时间=2") + private Integer isRemove; + + /** + * 创建人 + */ + private String createUser; + + /** + * 修改人 + */ + private String updateUser; +} \ No newline at end of file diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java index dbbf21b..1625ce1 100644 --- a/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/WorkerJobMapper.java @@ -1,5 +1,6 @@ package com.bonus.job.mapper; +import com.bonus.job.domain.BmWorkerBlackJob; import com.bonus.job.domain.PmWorkerJob; import com.bonus.job.domain.SysJob; import com.bonus.system.api.domain.SysUser; @@ -24,4 +25,14 @@ public interface WorkerJobMapper { * @param workerList */ void insertEinDayRecord(List workerList); + + /** + * 获取超30天出场未上传文件人员 + * @return + */ + List getWorkeExitThan30Day(); + + int insertWorkerBlack(List list); + + void updateWorkerEinDayRecordBlackStatus(List list); } diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/WorkerEinDayRecordTask.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/WorkerEinDayRecordTask.java index 70a4774..e0b81d9 100644 --- a/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/WorkerEinDayRecordTask.java +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/WorkerEinDayRecordTask.java @@ -1,6 +1,7 @@ package com.bonus.job.task; import cn.hutool.core.date.DateUtil; +import com.bonus.job.domain.BmWorkerBlackJob; import com.bonus.job.domain.PmWorkerJob; import com.bonus.job.mapper.WorkerJobMapper; import org.slf4j.Logger; @@ -70,4 +71,18 @@ public class WorkerEinDayRecordTask{ } + /** + * 更新超30天未上传离场文件人员去失信人员 + */ + public void updateExitWorkerToBreachOfTrust(){ + try{ + List list = mapper.getWorkeExitThan30Day(); + int count = mapper.insertWorkerBlack(list); + logger.info("更新超30天未上传离场文件人员去失信人员成功,{}",count); + mapper.updateWorkerEinDayRecordBlackStatus(list); + }catch (Exception e){ + logger.error("人员入场更新表失败,{}",e.getMessage()); + } + } + } diff --git a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml index 25924e9..32d96c6 100644 --- a/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml +++ b/bonus-modules/bonus-job/src/main/resources/mapper/job/WorkerJobMapper.xml @@ -59,4 +59,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + + + + replace INTO bm_worker_black( + id_number,name,pro_name,sub_name,post_name,reason,start_time,end_time + ) VALUES + + (#{item.idNumber},#{item.name},#{item.proName},#{item.subName},#{item.postName},#{item.reason},#{item.startTime},#{item.endTime}) + + + + + update bm_worker_ein_pro_record set is_go_black = 1 where id in + + #{item.id} + + \ No newline at end of file