From 210a4cfaa521e59133ba8d5bd91da0291a057ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Sat, 23 Aug 2025 16:17:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/utils/face/ArcFaceHelper.java | 100 ++++++++++++---- .../bonus/bmw/controller/AppController.java | 44 +++++++ .../bmw/controller/HomePageSubController.java | 2 +- .../bmw/controller/PmWorkerController.java | 18 ++- .../bmw/domain/vo/HomePagePmWorkerVo.java | 111 ++++++++++++++++++ .../bonus/bmw/domain/vo/HomePageWorkerVo.java | 1 + .../java/com/bonus/bmw/mapper/AppMapper.java | 13 ++ .../com/bonus/bmw/mapper/HomePageMapper.java | 5 +- .../bonus/bmw/mapper/HomePageSubMapper.java | 4 +- .../com/bonus/bmw/mapper/PmWorkerMapper.java | 8 ++ .../com/bonus/bmw/service/AppService.java | 13 ++ .../bonus/bmw/service/PmWorkerService.java | 2 +- .../bmw/service/impl/AppServiceImpl.java | 40 +++++++ .../bmw/service/impl/HomePageServiceImpl.java | 5 +- .../service/impl/HomePageSubServiceImpl.java | 11 +- .../bmw/service/impl/PmWorkerServiceImpl.java | 14 ++- .../main/resources/mapper/bmw/AppMapper.xml | 5 + .../resources/mapper/bmw/HomePageMapper.xml | 4 +- .../mapper/bmw/HomePageSubMapper.xml | 22 ++-- .../resources/mapper/bmw/PmWorkerMapper.xml | 9 ++ 20 files changed, 370 insertions(+), 61 deletions(-) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePagePmWorkerVo.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/AppMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/AppMapper.xml diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/face/ArcFaceHelper.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/face/ArcFaceHelper.java index b885399..60b9714 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/face/ArcFaceHelper.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/utils/face/ArcFaceHelper.java @@ -34,28 +34,30 @@ public class ArcFaceHelper { public static final float STANDARD_SCORE = 0.85F; + public static int errorCode = 0; + static { try{ String os = System.getProperty("os.name"); + if(StringUtils.startsWith(os.toLowerCase(), "win")){ faceEngine = new FaceEngine("D:\\arcsoft_lib_64"); //激活引擎 - faceEngine.activeOnline(APP_ID, WIN64_SDK_KEY); + errorCode = faceEngine.activeOnline(APP_ID, WIN64_SDK_KEY); } else { faceEngine = new FaceEngine("/data/arcsoft_lib_64"); //激活引擎 - faceEngine.activeOnline(APP_ID, LINUX64_SDK_KEY); + errorCode = faceEngine.activeOnline(APP_ID, LINUX64_SDK_KEY); + } + if(errorCode != ErrorInfo.MOK.getValue() && errorCode != ErrorInfo.MERR_ASF_ALREADY_ACTIVATED.getValue()){ + System.out.println("引擎激活失败:" + errorCode); } }catch (Throwable e){ System.out.println("加载人脸识别引擎异常:" + e.getMessage()); } } - - public static FaceEngine getFaceEngine() { - return faceEngine; - } - - public FaceResult getFaceFeatures(String imgSrc) { + + public FaceResult getFaceFeatures(String imgSrc) { if(imgSrc.contains("http")){ return getFaceFeatures(getNetUrlHttp(imgSrc)); }else{ @@ -63,22 +65,47 @@ public class ArcFaceHelper { } } + public String getIsFaceImage(String imgSrc) { + if(imgSrc.contains("http")){ + return getIsFaceImage(getNetUrlHttp(imgSrc)); + }else{ + return getIsFaceImage(new File(imgSrc)); + } + } + + /** + * 获取人脸特征 + * @param file + * @return + */ public static FaceResult getFaceFeatures(File file) { ImageInfo imageInfo = getRGBData(file); if (imageInfo == null){ return null; } - EngineConfiguration engineConfiguration = EngineConfiguration.builder().functionConfiguration( - FunctionConfiguration.builder() - .supportFaceDetect(true) - .supportAge(true) - .supportFace3dAngle(true) - .supportFaceDetect(true) - .supportFaceRecognition(true) - .supportGender(true) - .build()).build(); + //引擎配置 + EngineConfiguration engineConfiguration = new EngineConfiguration(); + engineConfiguration.setDetectMode(DetectMode.ASF_DETECT_MODE_IMAGE); + engineConfiguration.setDetectFaceOrientPriority(DetectOrient.ASF_OP_0_ONLY); + engineConfiguration.setDetectFaceMaxNum(10); + engineConfiguration.setDetectFaceScaleVal(16); + //功能配置 + FunctionConfiguration functionConfiguration = new FunctionConfiguration(); + //是否支持人脸检测功能 + functionConfiguration.setSupportFaceDetect(true); + //是否支持3D检测功能 + functionConfiguration.setSupportFace3dAngle(true); + functionConfiguration.setSupportAge(true); + functionConfiguration.setSupportFaceRecognition(true); + functionConfiguration.setSupportGender(true); + functionConfiguration.setSupportLiveness(true); + functionConfiguration.setSupportIRLiveness(true); + engineConfiguration.setFunctionConfiguration(functionConfiguration); //初始化引擎 - faceEngine.init(engineConfiguration); + errorCode = faceEngine.init(engineConfiguration); + if (errorCode != ErrorInfo.MOK.getValue()) { + System.out.println("初始化引擎失败:"+errorCode); + } //人脸检测 List lstFaceInfo = new ArrayList<>(); faceEngine.detectFaces(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(), @@ -118,11 +145,44 @@ public class ArcFaceHelper { List face3DAngleList = new ArrayList(); int face3dCode = faceEngine.getFace3DAngle(face3DAngleList); System.out.println("3D信息:" + face3DAngleList + ",3D信息提取码:" + face3dCode); - unInintEngine(); + unInitEngine(); return result; } - public static void unInintEngine() { + public static String getIsFaceImage(File file) { + ImageInfo imageInfo = getRGBData(file); + if (imageInfo == null){ + return "500,无图片"; + } + //引擎配置 + EngineConfiguration engineConfiguration = new EngineConfiguration(); + engineConfiguration.setDetectMode(DetectMode.ASF_DETECT_MODE_IMAGE); + engineConfiguration.setDetectFaceOrientPriority(DetectOrient.ASF_OP_0_ONLY); + engineConfiguration.setDetectFaceMaxNum(10); + engineConfiguration.setDetectFaceScaleVal(16); + //功能配置 + FunctionConfiguration functionConfiguration = new FunctionConfiguration(); + //是否支持人脸检测功能 + functionConfiguration.setSupportFaceDetect(true); + engineConfiguration.setFunctionConfiguration(functionConfiguration); + //初始化引擎 + errorCode = faceEngine.init(engineConfiguration); + if (errorCode != ErrorInfo.MOK.getValue()) { + System.out.println("初始化引擎失败:"+errorCode); + if(errorCode == 28678) { + return "200,人脸SDK过期--请更换jar包和Dll文件"; + } + } + //人脸检测 + List lstFaceInfo = new ArrayList<>(); + faceEngine.detectFaces(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(), + ImageFormat.CP_PAF_BGR24, lstFaceInfo); + System.out.println("检测到人脸数:" + lstFaceInfo.size()); + unInitEngine(); + return lstFaceInfo.size() == 1?"200,检测成功" : "500,未检测到人脸"; + } + + public static void unInitEngine() { int code = faceEngine.unInit(); System.out.println("销毁引擎:" + code); } 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 new file mode 100644 index 0000000..2f55b50 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/AppController.java @@ -0,0 +1,44 @@ +package com.bonus.bmw.controller; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.dto.WebFileDto; +import com.bonus.bmw.domain.po.BmSubContract; +import com.bonus.bmw.domain.vo.BmSubContractVo; +import com.bonus.bmw.service.AppService; +import com.bonus.bmw.service.BmSubContractService; +import com.bonus.common.core.utils.json.FastJsonHelper; +import com.bonus.common.core.utils.poi.ExcelUtil; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.InnerAuth; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * app部分接口 + * @author fly + * @date 2025/8/23 + */ +@Slf4j +@RestController +@RequestMapping("/app") +public class AppController extends BaseController { + + @Resource + private AppService service; + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/HomePageSubController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/HomePageSubController.java index f8a7629..035813a 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/HomePageSubController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/HomePageSubController.java @@ -156,7 +156,7 @@ public class HomePageSubController extends BaseController { * @param o * @return */ - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("home:page:query")) + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) @GetMapping("/getWorkerMsgById") @SysLog(title = "单人详情页面", businessType = OperaType.QUERY, logType = 0, module = "首页->二级页面", details = "单人详情页面") public AjaxResult getWorkerMsgById(HomePagePo o) { diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java index d7c530b..46edb87 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java @@ -125,7 +125,7 @@ public class PmWorkerController extends BaseController { } } PmWorker o = FastJsonHelper.jsonStrToBean(params, PmWorker.class); - return toAjax(service.updateByPrimaryKey(o,listFile)); + return service.updateByPrimaryKey(o,listFile); } catch (Exception e) { logger.error(e.toString(), e); } @@ -166,22 +166,18 @@ public class PmWorkerController extends BaseController { suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); } // 创建临时文件 -// tempFile = Files.createTempFile("temp-image-", suffix).toFile(); - File customTempDir = new File("D:\\temp"); - if (!customTempDir.exists()) { - customTempDir.mkdirs(); - } - tempFile = File.createTempFile("temp-image-", suffix, customTempDir); + tempFile = Files.createTempFile("temp-image-", suffix).toFile(); tempFile.deleteOnExit(); // JVM退出时自动删除 // 将 MultipartFile 写入临时文件 file.transferTo(tempFile); ArcFaceHelper arcFaceHelper = new ArcFaceHelper(); // 调用原方法,传入临时文件的路径 - FaceResult faceFeatures = arcFaceHelper.getFaceFeatures(tempFile.getAbsolutePath()); - if (faceFeatures == null){ - return AjaxResult.error("人脸检测失败"); + String faceFeatures = arcFaceHelper.getIsFaceImage(tempFile.getAbsolutePath()); + String[] split = faceFeatures.split(","); + if ("200".equals(split[0])){ + return AjaxResult.success(split[1]); }else{ - return AjaxResult.success(faceFeatures); + return AjaxResult.error(split[1]); } } catch (IOException e) { // 处理异常(如磁盘满、权限不足等) diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePagePmWorkerVo.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePagePmWorkerVo.java new file mode 100644 index 0000000..9389aba --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePagePmWorkerVo.java @@ -0,0 +1,111 @@ +package com.bonus.bmw.domain.vo; + +import com.bonus.system.api.model.UploadFileVo; +import lombok.Data; + +import java.util.List; + +/** + * 人员基础信息表 + */ +@Data +public class HomePagePmWorkerVo { + + /** + * 编号 + */ + private Integer id; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idNumber; + + /** + * 性别 + */ + private String sex; + + /** + * 年龄 + */ + private Integer age; + + /** + * 手机号 + */ + private String phone; + + /** + * 人脸照片 + */ + private String facePhoto; + + /** + * 入场状态 0未入场 1 已入场 + */ + private Integer einStatus; + + /** + * 0 默认 1 黄灯 2 绿灯 3 失信人员 + */ + private Integer lightStatus; + + /** + * 项目名称 + */ + private String proName; + /** + * 分包名称 + */ + private String subName; + /** + * 班组名称 + */ + private String teamName; + + /** + * 岗位名称 + */ + private String postName; + + + /** + * 入场时间 + */ + private String einTime; + + + + private String deviceCode; + + private String deviceName; + + private String attTime; + + private String deviceProName; + + /** + * 创建时间 + */ + private Integer contractId; + + private String contractCode; + private String contractTermType; + private String contractStartDate; + private String contractStopDate; + private String wageApprovedWay; + private String wageCriterion; + + + /** + * 人脸照片 + */ + private List files; + +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePageWorkerVo.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePageWorkerVo.java index 22225e4..0b49ed8 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePageWorkerVo.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/HomePageWorkerVo.java @@ -69,3 +69,4 @@ public class HomePageWorkerVo { List ageMsg; } + diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/AppMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/AppMapper.java new file mode 100644 index 0000000..9bbc689 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/AppMapper.java @@ -0,0 +1,13 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.po.BmSubContract; +import com.bonus.bmw.domain.po.PmSubTeamContract; +import com.bonus.bmw.domain.vo.BmSubContractVo; + +import java.util.List; + +public interface AppMapper { + /** + * 分包商合同信息列表 + */ +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageMapper.java index b21f044..0edb649 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageMapper.java @@ -1,10 +1,7 @@ package com.bonus.bmw.mapper; import com.bonus.bmw.domain.po.HomePagePo; -import com.bonus.bmw.domain.vo.HomePageProVo; -import com.bonus.bmw.domain.vo.HomePageVo; -import com.bonus.bmw.domain.vo.HomePageWorkerVo; -import com.bonus.bmw.domain.vo.MapBeanVo; +import com.bonus.bmw.domain.vo.*; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageSubMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageSubMapper.java index 6ad564d..a849828 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageSubMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/HomePageSubMapper.java @@ -2,9 +2,7 @@ package com.bonus.bmw.mapper; import com.bonus.bmw.domain.po.HomePagePo; import com.bonus.bmw.domain.vo.*; -import com.bonus.common.core.web.domain.AjaxResult; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -58,7 +56,7 @@ public interface HomePageSubMapper { * @param o * @return */ - PmWorker getWorkerMsgById(HomePagePo o); + HomePagePmWorkerVo getWorkerMsgById(HomePagePo o); List getWorkerLightMsg(HomePagePo o); } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java index 97e86e1..e24d61f 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java @@ -102,4 +102,12 @@ public interface PmWorkerMapper { * @return */ void updateBasicWorkerData(PmWorker worker); + + /** + * 查询黑名单人员 + * + * @param idNumber + * @return + */ + PmWorker getBlackWorkerByNumber(String idNumber); } \ No newline at end of file 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 new file mode 100644 index 0000000..28a48fd --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/AppService.java @@ -0,0 +1,13 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.po.BmSubContract; +import com.bonus.bmw.domain.vo.BmSubContractVo; + +import java.util.List; +import java.util.Map; + +public interface AppService { + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java index 959b101..d99a228 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java @@ -17,7 +17,7 @@ public interface PmWorkerService{ PmWorker selectByPrimaryKey(Integer id); - int updateByPrimaryKey(PmWorker record,List listFile) throws Exception; + AjaxResult updateByPrimaryKey(PmWorker record,List listFile) throws Exception; List selectWorkList(PmWorkerDto o); 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 new file mode 100644 index 0000000..e2647a9 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/AppServiceImpl.java @@ -0,0 +1,40 @@ +package com.bonus.bmw.service.impl; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.dto.WebFileDto; +import com.bonus.bmw.domain.po.BmSubContract; +import com.bonus.bmw.domain.po.PmSubTeamContract; +import com.bonus.bmw.domain.vo.BmSubContractVo; +import com.bonus.bmw.mapper.AppMapper; +import com.bonus.bmw.mapper.BmSubContractMapper; +import com.bonus.bmw.service.AppService; +import com.bonus.bmw.service.BmSubContractService; +import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.model.UploadFileVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author 马三炮 + * @date 2025/8/14 + */ +@Service +@Slf4j +public class AppServiceImpl implements AppService { + + @Resource + private AppMapper appMapper; + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageServiceImpl.java index 8450995..00e9493 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageServiceImpl.java @@ -2,10 +2,7 @@ package com.bonus.bmw.service.impl; import cn.hutool.core.date.DateUtil; import com.bonus.bmw.domain.po.HomePagePo; -import com.bonus.bmw.domain.vo.HomePageProVo; -import com.bonus.bmw.domain.vo.HomePageVo; -import com.bonus.bmw.domain.vo.HomePageWorkerVo; -import com.bonus.bmw.domain.vo.MapBeanVo; +import com.bonus.bmw.domain.vo.*; import com.bonus.bmw.mapper.HomePageMapper; import com.bonus.bmw.service.HomePageService; import com.bonus.common.core.web.domain.AjaxResult; diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageSubServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageSubServiceImpl.java index af04b31..4bf2f72 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageSubServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/HomePageSubServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.bmw.service.impl; +import cn.hutool.core.date.DateUtil; import com.bonus.bmw.domain.po.HomePagePo; import com.bonus.bmw.domain.vo.*; import com.bonus.bmw.mapper.HomePageSubMapper; @@ -29,21 +30,25 @@ public class HomePageSubServiceImpl implements HomePageSubService { @Override public List getProMsg(HomePagePo o) { + o.setCurrentDay(DateUtil.today()); return mapper.getProMsg(o); } @Override public List getSubMsg(HomePagePo o) { + o.setCurrentDay(DateUtil.today()); return mapper.getSubMsg(o); } @Override public List getTeamMsg(HomePagePo o) { + return mapper.getTeamMsg(o); } @Override public List getWorkerMsg(HomePagePo o) { + o.setCurrentDay(DateUtil.today()); return mapper.getWorkerMsg(o); } @@ -54,7 +59,11 @@ public class HomePageSubServiceImpl implements HomePageSubService { @Override public AjaxResult getWorkerMsgById(HomePagePo o) { - PmWorker worker = mapper.getWorkerMsgById(o); + HomePagePmWorkerVo worker = mapper.getWorkerMsgById(o); + if (worker.getId() != null) { + List faceFile = fileUploadUtils.getFileList("", worker.getId().toString(), Constants.FILE_UPLOAD_WORKER, ""); + worker.setFacePhoto(faceFile.get(0).getLsUrl()); + } if (worker.getContractId() != null) { List contractFile = fileUploadUtils.getFileList("", worker.getContractId().toString(), Constants.FILE_UPLOAD_CONTRACT, ""); worker.setFiles(contractFile); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java index ee45f62..326ad9e 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java @@ -75,6 +75,11 @@ public class PmWorkerServiceImpl implements PmWorkerService{ if(worker != null && worker.getId() != null){ return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可"); } + //是否失信人员名单 + PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber()); + if(worker2 != null && worker2.getId() != null){ + return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); + } record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); int insert = mapper.insert(record); if(insert > 0){ @@ -161,7 +166,12 @@ public class PmWorkerServiceImpl implements PmWorkerService{ */ @Transactional @Override - public int updateByPrimaryKey(PmWorker record,List fileMsg) throws Exception { + public AjaxResult updateByPrimaryKey(PmWorker record,List fileMsg) throws Exception { + //是否失信人员名单 + PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber()); + if(worker2 != null && worker2.getId() != null){ + return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); + } //更新基础数据 record.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); int update = mapper.updateByPrimaryKey(record); @@ -197,7 +207,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{ urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); addWorkerEinData(record,fileMsg); } - return 1; + return AjaxResult.success(); } /** diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/AppMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/AppMapper.xml new file mode 100644 index 0000000..43aa2e2 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/AppMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageMapper.xml index 8bd99bb..7a210b6 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageMapper.xml @@ -47,10 +47,10 @@ COUNT(DISTINCT pst.id) AS teamNum FROM pm_sub_team pst INNER JOIN pm_sub_team_contract pstc on pst.id = pstc.team_id and pstc.is_active = 1 and pstc.team_ein_status = 1 - INNER JOIN pm_sub ps on pst.sub_id = ps.id and ps.is_active = 1 + INNER JOIN pm_sub ps on pstc.sub_id = ps.id and ps.is_active = 1 INNER JOIN bm_sub_contract psc ON ps.id = psc.sub_id and psc.is_active = 1 and psc.sub_ein_status = 1 - INNER JOIN pm_project pp on pp.id = psc.pro_id + INNER JOIN pm_project pp on pp.id = psc.pro_id and pp.is_active = 1 WHERE pst.is_active = 1 diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageSubMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageSubMapper.xml index 379f2f3..eb3b652 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageSubMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/HomePageSubMapper.xml @@ -131,10 +131,10 @@ count(DISTINCT IF(bwem.light_status = 2, bwem.worker_id, NULL)) AS greenNum FROM pm_sub ps - LEFT JOIN bm_sub_contract bsc ON ps.id = bsc.sub_id + INNER JOIN bm_sub_contract bsc ON ps.id = bsc.sub_id AND bsc.is_active = 1 AND bsc.sub_ein_status = 1 - LEFT JOIN pm_project pp ON pp.id = bsc.pro_id + INNER JOIN pm_project pp ON pp.id = bsc.pro_id AND pp.is_active = 1 LEFT JOIN pm_sub_company psc ON pp.sub_com_id = psc.id LEFT JOIN pm_sub_team_contract pstc ON ps.id = pstc.sub_id @@ -189,14 +189,14 @@ count(DISTINCT IF(bwem.light_status = 2, bwem.worker_id, NULL)) AS greenNum FROM pm_sub_team pst - LEFT JOIN pm_sub_team_contract pstc ON pst.id = pst.sub_id + INNER JOIN pm_sub_team_contract pstc ON pst.id = pstc.team_id AND pstc.is_active = 1 AND pstc.team_ein_status = 1 - LEFT JOIN pm_sub ps ON ps.id = pstc.sub_id and ps.is_active = 1 - LEFT JOIN bm_sub_contract bsc ON ps.id = bsc.sub_id + INNER JOIN pm_sub ps ON ps.id = pstc.sub_id and ps.is_active = 1 + INNER JOIN bm_sub_contract bsc ON ps.id = bsc.sub_id AND bsc.is_active = 1 AND bsc.sub_ein_status = 1 - LEFT JOIN pm_project pp ON pp.id = bsc.pro_id + INNER JOIN pm_project pp ON pp.id = bsc.pro_id AND pp.is_active = 1 LEFT JOIN pm_sub_company psc ON pp.sub_com_id = psc.id LEFT JOIN bm_worker_ein_msg bwem ON pp.id = bwem.pro_id @@ -232,7 +232,6 @@ - SELECT - pw.NAME, + pw.id, + pw.name, pw.phone, bwem.light_status, bwem.ein_time, @@ -331,7 +330,6 @@ bap.pro_name AS device_pro_name, bwem.contract_id, bwc.contract_code, - bwc.contract_code, bwc.contract_term_type, bwc.contract_start_date, bwc.contract_stop_date, diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml index e80680a..65c303b 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml @@ -236,4 +236,13 @@ where id = #{id} + + \ No newline at end of file