diff --git a/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-windows.jar b/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-windows.jar deleted file mode 100644 index a5dcac9..0000000 Binary files a/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-windows.jar and /dev/null differ diff --git a/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-linux.jar b/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-lin.jar similarity index 86% rename from bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-linux.jar rename to bonus-common/bonus-common-core/lib/arcsoft-sdk-face-lin.jar index 3091a2e..f33703d 100644 Binary files a/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-3.0.0.0-linux.jar and b/bonus-common/bonus-common-core/lib/arcsoft-sdk-face-lin.jar differ diff --git a/bonus-common/bonus-common-core/pom.xml b/bonus-common/bonus-common-core/pom.xml index 77ba085..9ef4b68 100644 --- a/bonus-common/bonus-common-core/pom.xml +++ b/bonus-common/bonus-common-core/pom.xml @@ -17,21 +17,21 @@ - - - - - - - + + arcsoft + arcsoft + 3.0 + system + ${project.basedir}/lib/arcsoft-sdk-face-lin.jar + - - arcsoft - arcsoft - 3.0 - system - ${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar - + + + + + + + diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java index 6b20f7f..e541d0b 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java @@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 失信人员 @@ -112,10 +113,14 @@ public class BmWorkerBlackController extends BaseController { @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:import")) @PostMapping("/workerBlackImport") @SysLog(title = "失信人员导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->失信人员管理", details = "失信人员导入") - public AjaxResult workerEinImport(MultipartFile file, boolean updateSupport) throws Exception { + public AjaxResult workerEinImport(@RequestParam(value = "file") MultipartFile file, boolean updateSupport) throws Exception { try { ExcelUtil util = new ExcelUtil<>(BmWorkerBlack.class); - List workerList = util.importExcel(file.getInputStream()); + List workerList = util.importExcel(file.getInputStream(),1); + boolean allNull = workerList.stream().allMatch(Objects::isNull); + if (allNull) { + return error("导入文件为空或字段不匹配"); + } String message = service.importWorkerBlack(workerList, updateSupport); return success(message); } catch (Exception e) { 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 46edb87..3c1925f 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 @@ -33,6 +33,8 @@ import java.io.IOException; import java.nio.file.Files; import java.util.ArrayList; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 人员入场 @@ -208,10 +210,14 @@ public class PmWorkerController extends BaseController { @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:ein:import")) @PostMapping("/workerEinImport") @SysLog(title = "人员信息导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->入场管理", details = "人员信息导入") - public AjaxResult workerEinImport(MultipartFile file, boolean updateSupport) throws Exception { + public AjaxResult workerEinImport(@RequestParam(value = "file") MultipartFile file, boolean updateSupport) throws Exception { try { ExcelUtil util = new ExcelUtil<>(PmWorker.class); - List workerList = util.importExcel(file.getInputStream()); + List workerList = util.importExcel(file.getInputStream(),1); + boolean allNull = workerList.stream().allMatch(Objects::isNull); + if (allNull) { + return error("导入文件为空或字段不匹配"); + } String message = service.importWorker(workerList, updateSupport); return success(message); } catch (Exception e) { diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java index 05cac9a..57b159e 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java @@ -1,16 +1,19 @@ package com.bonus.bmw.domain.vo; import com.bonus.common.core.annotation.Excel; +import com.bonus.common.core.web.domain.BaseEntity; import lombok.Data; /** * 人员黑名单(失信人员) */ @Data -public class BmWorkerBlack { +public class BmWorkerBlack extends BaseEntity { + + private static final long serialVersionUID = 1L; //用于excel导出的序号一列,不需要业务逻辑处理 - @Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT,sort = 1) + @Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT, sort = 1) int sequence; /** @@ -62,13 +65,13 @@ public class BmWorkerBlack { /** * 开始时间 */ - @Excel(name = "开始时间", sort = 8) + @Excel(name = "开始日期", sort = 8) private String startTime; /** * 结束时间 */ - @Excel(name = "结束时间", sort = 9) + @Excel(name = "结束日期", sort = 9) private String endTime; /** diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java index 722ae7a..5ba65de 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java @@ -95,7 +95,7 @@ public class PmWorker { /** * 入场状态 0未入场 1 已入场 */ - @Excel(name = "入场状态", type = Excel.Type.EXPORT, sort = 8,readConverterExp = "1=入场,0=未入场,2=未入场") + @Excel(name = "入场状态", type = Excel.Type.EXPORT, sort = 8,readConverterExp = "1=入场,0=出场,2=出场") private Integer einStatus; /** 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 e24d61f..f7e4765 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 @@ -110,4 +110,13 @@ public interface PmWorkerMapper { * @return */ PmWorker getBlackWorkerByNumber(String idNumber); + + /** + * 根据身份证查询人员手机号 + * + * @param idNumber + * @param phone + * @return + */ + PmWorker getWorkerByPhone(String phone,String idNumber); } \ No newline at end of file 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 326ad9e..9518e62 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 @@ -70,15 +70,20 @@ public class PmWorkerServiceImpl implements PmWorkerService{ @Override @Transactional public AjaxResult insert(PmWorker record,List fileMsg) throws Exception { + //是否失信人员名单 + PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber()); + if(worker2 != null && worker2.getName() != null){ + return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); + } // 添加员工时,判断员工编号是否已存在 PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber()); 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()+"施工人员在失信人员名单,无法入场"); + // 添加员工时,判断员工编号是否已存在 + PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); + if(worker3 != null && worker3.getName() != null){ + return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); } record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); int insert = mapper.insert(record); @@ -169,9 +174,14 @@ public class PmWorkerServiceImpl implements PmWorkerService{ public AjaxResult updateByPrimaryKey(PmWorker record,List fileMsg) throws Exception { //是否失信人员名单 PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber()); - if(worker2 != null && worker2.getId() != null){ + if(worker2 != null && worker2.getName() != null){ return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场"); } + // 添加员工时,判断员工编号是否已存在 + PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber()); + if(worker3 != null && worker3.getName() != null){ + return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误"); + } //更新基础数据 record.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); int update = mapper.updateByPrimaryKey(record); diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml index ba8ab7a..2bc9461 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml @@ -69,20 +69,17 @@ pp.id as pro_id, pp.pro_name, pp.pro_status, - ps.sub_name, - pst.id as team_id, - pst.team_name, + COUNT(DISTINCT bsc.sub_id) AS subNum, + COUNT(DISTINCT bstc.team_id) AS teamNum, COUNT(DISTINCT bwem.worker_id) AS einNum, COUNT(DISTINCT bap.worker_id) AS attNum FROM pm_project pp LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id AND bsc.is_active = 1 - LEFT JOIN pm_sub ps ON ps.id = bsc.sub_id LEFT JOIN pm_sub_team_contract bstc ON bstc.sub_id = bsc.sub_id AND bsc.pro_id = bstc.pro_id AND bstc.is_active = 1 - LEFT JOIN pm_sub_team pst ON pst.id = bstc.team_id LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id and bwem.ein_day = #{startDate} LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate} WHERE @@ -95,7 +92,7 @@ AND pp.org_id = #{orgId} GROUP BY - bstc.id + pp.id + + \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/SelectMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/SelectMapper.xml index eafbe65..f7856fc 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/SelectMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/SelectMapper.xml @@ -35,6 +35,7 @@ and bsc.pro_id = #{proId} + group by ps.id