diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java index e73be8c..ab7184d 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java @@ -97,6 +97,18 @@ public class AppController extends BaseController { return error("系统异常,请联系管理员"); } + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:ein:insert")) + @PostMapping("/appInsertProEin") + @SysLog(title = "APP新增工程入场", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->app人员入场", details = "APP新增工程入场") + public AjaxResult appInsertProEin(@Validated @RequestBody PmWorker pmWorker) { + try { + return service.insertProEin(pmWorker); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:ein:edit")) @PostMapping("/appWorkerEdit") @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "修改人员入场") diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java index a9c478d..706c9a1 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java @@ -56,4 +56,6 @@ public interface AppService { AjaxResult appWorkerExit(PmWorkerDto workerDto) throws Exception; AjaxResult appWorkerExitFile(PmWorkerDto workerDto); + + AjaxResult insertProEin(PmWorker pmWorker); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java index ceccf48..de8c7c0 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java @@ -163,6 +163,37 @@ public class AppServiceImpl implements AppService { return AjaxResult.success(sb.append(",基础数据添加成功").toString(), record.getId()); } + @Override + public AjaxResult insertProEin(PmWorker pmWorker) { + //是否失信人员名单 + PmWorker worker2 = pmWorkerMapper.getBlackWorkerByNumber(pmWorker.getIdNumber()); + if (worker2 != null && worker2.getName() != null) { + return new AjaxResult(500, worker2.getName() + "施工人员在失信人员名单,无法入场"); + } + //存储合同id + BmWorkerContract bmWorkerContract = pmWorker.getBmWorkerContract(); + if (bmWorkerContract != null && StringUtil.isNotEmpty(bmWorkerContract.getContractStartDate())) { + bmWorkerContract.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); + bmWorkerContract.setWorkerId(pmWorker.getId()); + bmWorkerContract.setProId(pmWorker.getProId()); + updateWorkerContract(bmWorkerContract); + pmWorker.setContractId(bmWorkerContract.getId()); + } + addEinRecord(pmWorker); + StringBuilder sb = new StringBuilder(); + //下发人脸到考勤机 + try { + urkSendService.sendUserToDevice(pmWorker.getId(),pmWorker.getProId(),pmWorker.getSubId(), pmWorker.getTeamId(),"0"); + sb.append("新增工程入场成功,人员下发考勤机成功--"); + return AjaxResult.success(sb.toString()); + } catch (Exception e) { + log.error("人员下发考勤机失败:",e); + sb.append("人员下发考勤机失败--"); + return AjaxResult.error(sb.toString()); + } + } + + @Override public AjaxResult appWorkerEdit(PmWorker record) throws Exception { StringBuilder sb = new StringBuilder(); @@ -295,6 +326,10 @@ public class AppServiceImpl implements AppService { private void addWorkerEinData(PmWorker record) { //工资卡和合同数据 addWorkerWageCardDataAndContract(record); + addEinRecord(record); + } + + private void addEinRecord(PmWorker record) { record.setEinTime(DateUtil.now()); record.setEinStatus(1); //1.bm_worker_ein_msg @@ -313,7 +348,7 @@ public class AppServiceImpl implements AppService { bmWorkerWageCard.setWorkerId(record.getId()); updateWageCard(bmWorkerWageCard); } - if (bmWorkerContract != null && StringUtil.isNotEmpty(bmWorkerContract.getContractCode())) { + if (bmWorkerContract != null && StringUtil.isNotEmpty(bmWorkerContract.getContractStartDate())) { bmWorkerContract.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); bmWorkerContract.setWorkerId(record.getId()); updateWorkerContract(bmWorkerContract);