问题修改

This commit is contained in:
方亮 2025-09-09 19:12:43 +08:00
parent 4e837c0736
commit 157a009ce2
17 changed files with 76 additions and 57 deletions

View File

@ -162,7 +162,7 @@ public class SysUser extends BaseEntity {
private String roleLevel; private String roleLevel;
/**绑定id*/ /**绑定id*/
private Long bandId; private String bandId;
/**1 公司 2 分公司 3 项目部 4分包商 5施工人员*/ /**1 公司 2 分公司 3 项目部 4分包商 5施工人员*/
private String permissionType; private String permissionType;
@ -434,11 +434,11 @@ public class SysUser extends BaseEntity {
this.roleLevel = roleLevel; this.roleLevel = roleLevel;
} }
public Long getBandId() { public String getBandId() {
return bandId; return bandId;
} }
public void setBandId(Long bandId) { public void setBandId(String bandId) {
this.bandId = bandId; this.bandId = bandId;
} }

View File

@ -51,7 +51,7 @@ public class BmWorkerAttController extends BaseController {
@SysLog(title = "考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "分公司考勤统计") @SysLog(title = "考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "分公司考勤统计")
public TableDataInfo getSubComAttList(BmWorkerAtt o) { public TableDataInfo getSubComAttList(BmWorkerAtt o) {
try { try {
Map<String,Integer> map= dealWithPermission(); Map<String,String> map= dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
org.apache.commons.beanutils.BeanUtils.populate(o, map); org.apache.commons.beanutils.BeanUtils.populate(o, map);
@ -75,7 +75,7 @@ public class BmWorkerAttController extends BaseController {
@SysLog(title = "工程考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "工程考勤统计") @SysLog(title = "工程考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "工程考勤统计")
public TableDataInfo getProAttList(BmWorkerAtt o) { public TableDataInfo getProAttList(BmWorkerAtt o) {
try { try {
Map<String,Integer> map=dealWithPermission(); Map<String,String> map=dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
BeanUtils.copyProperties(map, o); BeanUtils.copyProperties(map, o);
@ -173,7 +173,7 @@ public class BmWorkerAttController extends BaseController {
@SysLog(title = "考勤导出-工程维度", businessType = OperaType.EXPORT, logType = 0, module = "施工人员->红绿灯管理->合同管理", details = "考勤导出-工程维度") @SysLog(title = "考勤导出-工程维度", businessType = OperaType.EXPORT, logType = 0, module = "施工人员->红绿灯管理->合同管理", details = "考勤导出-工程维度")
public void attExportByPro(HttpServletResponse response, BmWorkerAtt o) { public void attExportByPro(HttpServletResponse response, BmWorkerAtt o) {
try { try {
Map<String,Integer> map=dealWithPermission(); Map<String,String> map = dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
BeanUtils.copyProperties(map, o); BeanUtils.copyProperties(map, o);

View File

@ -59,7 +59,7 @@ public class BmWorkerContractController extends BaseController {
@SysLog(title = "合同管理", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->合同管理", details = "查询合同列表") @SysLog(title = "合同管理", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->合同管理", details = "查询合同列表")
public TableDataInfo list(BmWorkerContract o) { public TableDataInfo list(BmWorkerContract o) {
try { try {
Map<String,Integer> map=dealWithPermission(); Map<String,String> map = dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
BeanUtils.copyProperties(map, o); BeanUtils.copyProperties(map, o);

View File

@ -47,7 +47,7 @@ public class PmProjectController extends BaseController {
@SysLog(title = "标段工程", businessType = OperaType.QUERY, logType = 0, module = "标段工程->标段工程列表") @SysLog(title = "标段工程", businessType = OperaType.QUERY, logType = 0, module = "标段工程->标段工程列表")
public TableDataInfo list(PmProject pmProject) { public TableDataInfo list(PmProject pmProject) {
try { try {
Map<String,Integer> map=dealWithPermission(); Map<String,String> map = dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
BeanUtils.copyProperties(map, pmProject); BeanUtils.copyProperties(map, pmProject);

View File

@ -56,7 +56,7 @@ public class PmWorkerExitController extends BaseController {
@SysLog(title = "人员出场管理", businessType = OperaType.QUERY, logType = 0, module = "施工人员->出入场管理->人员出场管理", details = "查询人员出场列表") @SysLog(title = "人员出场管理", businessType = OperaType.QUERY, logType = 0, module = "施工人员->出入场管理->人员出场管理", details = "查询人员出场列表")
public TableDataInfo list(PmWorkerDto o) { public TableDataInfo list(PmWorkerDto o) {
try { try {
Map<String,Integer> map=dealWithPermission(); Map<String,String> map = dealWithPermission();
if(!map.isEmpty()){ if(!map.isEmpty()){
// 3. map 中的值复制到 o 对象中 // 3. map 中的值复制到 o 对象中
BeanUtils.copyProperties(map, o); BeanUtils.copyProperties(map, o);

View File

@ -15,7 +15,7 @@ public class PmOrg {
/** /**
* 编号 * 编号
*/ */
private Integer id; private String id;
/** /**
* 分公司id * 分公司id

View File

@ -41,7 +41,7 @@ public class PmProject {
/** /**
* 项目部id * 项目部id
*/ */
private Integer orgId; private String orgId;
/** /**
* 工程简称 * 工程简称

View File

@ -17,12 +17,7 @@ public class PmOrgVo {
/** /**
* 编号 * 编号
*/ */
private Integer id; private String id;
/**
* 树专用
*/
private String orgId;
/** /**
* 分公司id * 分公司id

View File

@ -54,7 +54,7 @@ public class PmProjectVo {
/** /**
* 项目部id * 项目部id
*/ */
private Integer orgId; private String orgId;
/** /**
* 项目部名称 * 项目部名称

View File

@ -1,5 +1,6 @@
package com.bonus.bmw.service.impl; package com.bonus.bmw.service.impl;
import cn.hutool.core.util.IdUtil;
import com.bonus.bmw.domain.po.PmOrg; import com.bonus.bmw.domain.po.PmOrg;
import com.bonus.bmw.domain.po.PmProject; import com.bonus.bmw.domain.po.PmProject;
import com.bonus.bmw.domain.vo.PmOrgVo; import com.bonus.bmw.domain.vo.PmOrgVo;
@ -8,6 +9,7 @@ import com.bonus.bmw.mapper.PmOrgMapper;
import com.bonus.bmw.mapper.PmProjectMapper; import com.bonus.bmw.mapper.PmProjectMapper;
import com.bonus.bmw.service.PmOrgService; import com.bonus.bmw.service.PmOrgService;
import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.utils.uuid.IdUtils;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -35,7 +37,6 @@ public class PmOrgServiceImpl implements PmOrgService {
*/ */
@Override @Override
public List<PmOrgVo> selectPmOrgList(PmOrg pmOrg) { public List<PmOrgVo> selectPmOrgList(PmOrg pmOrg) {
List<PmOrgVo> pmOrgVoList = pmOrgMapper.selectPmOrgList(pmOrg); List<PmOrgVo> pmOrgVoList = pmOrgMapper.selectPmOrgList(pmOrg);
for (PmOrgVo pmOrgVo: pmOrgVoList) { for (PmOrgVo pmOrgVo: pmOrgVoList) {
//查看当前总工程下是否有标段工程 //查看当前总工程下是否有标段工程
@ -53,7 +54,6 @@ public class PmOrgServiceImpl implements PmOrgService {
*/ */
@Override @Override
public int addOrUpdatePmOrg(PmOrg pmOrg) { public int addOrUpdatePmOrg(PmOrg pmOrg) {
PmOrg pmOrgOld = pmOrgMapper.selectPmOrgByOrgName(pmOrg); PmOrg pmOrgOld = pmOrgMapper.selectPmOrgByOrgName(pmOrg);
//存在则删除后新增不存在则新增 //存在则删除后新增不存在则新增
if(StringUtils.isNotNull(pmOrg.getId())){ if(StringUtils.isNotNull(pmOrg.getId())){
@ -71,6 +71,7 @@ public class PmOrgServiceImpl implements PmOrgService {
pmOrg.setCreateTime(new Date()); pmOrg.setCreateTime(new Date());
pmOrg.setUpdateUser(SecurityUtils.getLoginUser().getUsername()); pmOrg.setUpdateUser(SecurityUtils.getLoginUser().getUsername());
pmOrg.setUpdateTime(new Date()); pmOrg.setUpdateTime(new Date());
pmOrg.setId(IdUtil.simpleUUID());
return pmOrgMapper.addPmOrg(pmOrg); return pmOrgMapper.addPmOrg(pmOrg);
} }
} }
@ -82,9 +83,9 @@ public class PmOrgServiceImpl implements PmOrgService {
public int delPmOrg(PmOrg pmOrg) { public int delPmOrg(PmOrg pmOrg) {
//查看当前项目部下是否有标段工程 //查看当前项目部下是否有标段工程
PmProject pmProject = new PmProject(); PmProject pmProject = new PmProject();
pmProject.setMainProId(pmOrg.getId()); pmProject.setOrgId(pmOrg.getId());
List<PmProjectVo> pmProjectList = pmProjectMapper.selectProjectList(pmProject); List<PmProjectVo> pmProjectList = pmProjectMapper.selectProjectList(pmProject);
if (pmProjectList.size()>0){ if (!pmProjectList.isEmpty()){
return 0; return 0;
} }
return pmOrgMapper.delPmOrg(pmOrg); return pmOrgMapper.delPmOrg(pmOrg);

View File

@ -88,11 +88,6 @@ public class PmSubComServiceImpl implements PmSubComService {
PmOrg pmOrg = new PmOrg(); PmOrg pmOrg = new PmOrg();
pmOrg.setSubComId(pmSubCompanyNew.getId()); pmOrg.setSubComId(pmSubCompanyNew.getId());
List<PmOrgVo> pmOrgList = pmOrgMapper.selectPmOrgList(pmOrg); List<PmOrgVo> pmOrgList = pmOrgMapper.selectPmOrgList(pmOrg);
if (pmOrgList.size()>0){
for (PmOrgVo pmOrgVo:pmOrgList) {
pmOrgVo.setOrgId("org-"+pmOrgVo.getId());
}
}
pmSubCompanyNew.setPmOrgList(pmOrgList); pmSubCompanyNew.setPmOrgList(pmOrgList);
} }
} }

View File

@ -13,6 +13,8 @@ import com.bonus.bmw.service.UrkSendService;
import com.bonus.common.core.constant.Constants; import com.bonus.common.core.constant.Constants;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.system.api.model.UploadFileVo; import com.bonus.system.api.model.UploadFileVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -33,6 +35,8 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
@Resource @Resource
private AppRecognitionService appRecognitionService; private AppRecognitionService appRecognitionService;
private static final Logger log = LoggerFactory.getLogger(PmWorkerExitServiceImpl.class);
/** /**
* 文件上传工具服务 * 文件上传工具服务
*/ */
@ -46,16 +50,12 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
private UrkSendService urkSendService; private UrkSendService urkSendService;
@Override @Override
public List<PmWorker> selectWorkList(PmWorkerDto o) { public List<PmWorker> selectWorkList(PmWorkerDto o) {
// List<PmWorker> pmWorkers = mapper.selectWorkList(o);
// pmWorkers.forEach(pmWorker -> {
// List<UploadFileVo> contractFile = fileUploadUtils.getFileList("", pmWorker.getId().toString(), Constants.FILE_UPLOAD_WORKER_EXIT, "");
// pmWorker.setFiles(contractFile);
// });
return mapper.selectWorkList(o); return mapper.selectWorkList(o);
} }
@Override @Override
public AjaxResult updateWorkerExit(PmWorkerDto record, List<WebFileDto> listFile) throws Exception { public AjaxResult updateWorkerExit(PmWorkerDto record, List<WebFileDto> listFile) throws Exception {
StringBuilder sb = new StringBuilder();
//查询合同工资卡是否齐全 //查询合同工资卡是否齐全
List<MapBeanVo> list = mapper.getContractIdAndWageCard(record.getWorkerId()); List<MapBeanVo> list = mapper.getContractIdAndWageCard(record.getWorkerId());
if(Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0){ if(Integer.parseInt(list.get(0).getValue())>0 && Integer.parseInt(list.get(1).getValue())>0){
@ -81,7 +81,12 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay()); int k = mapper.updateEinProRecordStatus(record.getId(),einStatus,isUploadFile,record.getExitWay());
if(k==1){ if(k==1){
try {
urkSendService.delUserByDevice(record.getWorkerId(),record.getProId()); urkSendService.delUserByDevice(record.getWorkerId(),record.getProId());
} catch (Exception e) {
log.error("人员下发考勤机失败:",e);
sb.append("人员下发考勤机失败--");
}
//删除app人脸 //删除app人脸
// delAppFace(record.getWorkerId()); // delAppFace(record.getWorkerId());
} }
@ -102,6 +107,7 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
@Override @Override
public AjaxResult updateWorkerBatchExit(List<PmWorkerDto> list) throws Exception { public AjaxResult updateWorkerBatchExit(List<PmWorkerDto> list) throws Exception {
StringBuilder sb = new StringBuilder();
int count = 0; int count = 0;
int failCount = 0; int failCount = 0;
List<Integer> userId = new ArrayList<>(); List<Integer> userId = new ArrayList<>();
@ -129,10 +135,16 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
} }
if(count>0){ if(count>0){
//批量操作考勤机 //批量操作考勤机
try {
urkSendService.delUserByDeviceList(userId,proId); urkSendService.delUserByDeviceList(userId,proId);
userId.forEach(this::delAppFace); } catch (Exception e) {
log.error("人员下发考勤机失败:",e);
sb.append("人员下发考勤机失败--");
} }
return AjaxResult.success("成功" + count + "条数据,失败" + failCount + "条数据,失败原因:没有补全合同工资卡");
// userId.forEach(this::delAppFace);
}
return AjaxResult.success(sb.append("人员离场:成功").append(count).append("条数据,失败").append(failCount).append("条数据,失败原因:没有补全合同工资卡"));
} }
/** /**

View File

@ -119,7 +119,12 @@ public class PmWorkerServiceImpl implements PmWorkerService{
//入场相关数据添加 //入场相关数据添加
addWorkerEinData(record,fileMsg); addWorkerEinData(record,fileMsg);
//下发人脸到考勤机 //下发人脸到考勤机
try {
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0");
} catch (Exception e) {
log.error("人员下发考勤机失败:",e);
sb.append("人员下发考勤机失败--");
}
//下发人脸到人脸库 //下发人脸到人脸库
if(!collect.isEmpty()){ if(!collect.isEmpty()){
FaceRecognitionBean faceRecognitionBean = new FaceRecognitionBean(); FaceRecognitionBean faceRecognitionBean = new FaceRecognitionBean();
@ -129,7 +134,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{
} }
} }
} }
return AjaxResult.success(sb.append(",基础数据添加成功").toString(),record.getId()); return AjaxResult.success(sb.append("--基础数据添加成功").toString(),record.getId());
} }
/** /**
@ -226,6 +231,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{
//人脸的数据添加 //人脸的数据添加
List<UploadFileVo> uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER, record.getId().toString(), type,"", ""); List<UploadFileVo> uploadFileVos = fileUploadUtils.uploadFile(workerFiles, Constants.FILE_UPLOAD_WORKER, record.getId().toString(), type,"", "");
//下发人脸到考勤机 //下发人脸到考勤机
try {
if(record.getEinStatus() == 1){ if(record.getEinStatus() == 1){
//没换工程换人脸 //没换工程换人脸
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"1"); urkSendService.sendUserToDevice(record.getId(),record.getProId(),"1");
@ -233,6 +239,10 @@ public class PmWorkerServiceImpl implements PmWorkerService{
//换工程换人脸 //换工程换人脸
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0");
} }
} catch (Exception e) {
log.error("人员下发考勤机失败:",e);
sb.append("人员下发考勤机失败--");
}
//下发人脸到人脸库 //下发人脸到人脸库
FaceRecognitionBean faceRecognitionBean = new FaceRecognitionBean(); FaceRecognitionBean faceRecognitionBean = new FaceRecognitionBean();
faceRecognitionBean.setUniqueKey(record.getIdNumber()); faceRecognitionBean.setUniqueKey(record.getIdNumber());
@ -246,10 +256,16 @@ public class PmWorkerServiceImpl implements PmWorkerService{
//重新入场 再入场清除最新标识 //重新入场 再入场清除最新标识
mapper.updateEinRecordLast(record.getId()); mapper.updateEinRecordLast(record.getId());
//换工程没换人脸 //换工程没换人脸
try {
urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0"); urkSendService.sendUserToDevice(record.getId(),record.getProId(),"0");
} catch (Exception e) {
log.error("人员下发考勤机失败:",e);
sb.append("人员下发考勤机失败--");
}
addWorkerEinData(record,fileMsg); addWorkerEinData(record,fileMsg);
} }
return AjaxResult.success(sb.append(",基础数据更新成功").toString()); return AjaxResult.success(sb.append("--基础数据更新成功").toString());
} }
/** /**

View File

@ -8,21 +8,21 @@ import java.util.Map;
public class OwnPermissionUtil { public class OwnPermissionUtil {
public static Map<String, Integer> dealWithPermission() { public static Map<String, String> dealWithPermission() {
Map<String,Integer> map=new HashMap<>(); Map<String,String> map=new HashMap<>();
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
if("公司级".equals(sysUser.getRoleLevel())){ if("公司级".equals(sysUser.getRoleLevel())){
}else if("分公司级".equals(sysUser.getRoleLevel())){ }else if("分公司级".equals(sysUser.getRoleLevel())){
map.put("subComId", Math.toIntExact(sysUser.getBandId())); map.put("subComId", sysUser.getBandId());
}else if("项目部级".equals(sysUser.getRoleLevel())){ }else if("项目部级".equals(sysUser.getRoleLevel())){
map.put("subComId", Math.toIntExact(sysUser.getAffCompany())); map.put("subComId", String.valueOf(sysUser.getAffCompany()));
map.put("orgId", Math.toIntExact(sysUser.getBandId())); map.put("orgId", sysUser.getBandId());
}else if("分包商级".equals(sysUser.getRoleLevel())){ }else if("分包商级".equals(sysUser.getRoleLevel())){
}else if("施工人员级".equals(sysUser.getRoleLevel())){ }else if("施工人员级".equals(sysUser.getRoleLevel())){
map.put("subComId", Math.toIntExact(sysUser.getAffCompany())); map.put("subComId", String.valueOf(sysUser.getAffCompany()));
map.put("proId", Math.toIntExact(sysUser.getBandId())); map.put("proId", sysUser.getBandId());
} }
return map; return map;
} }

View File

@ -2,8 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.bmw.mapper.PmOrgMapper"> <mapper namespace="com.bonus.bmw.mapper.PmOrgMapper">
<insert id="addPmOrg" useGeneratedKeys="true" keyProperty="id"> <insert id="addPmOrg" useGeneratedKeys="true" keyProperty="id">
insert into pm_org (sub_com_id, org_name, is_enable, create_user, update_user, create_time, update_time) insert into pm_org (id,sub_com_id, org_name, is_enable, create_user, update_user, create_time, update_time)
values (#{subComId}, #{orgName},#{isEnable}, #{createUser}, #{updateUser}, #{createTime}, #{updateTime}) values (#{id},#{subComId}, #{orgName},#{isEnable}, #{createUser}, #{updateUser}, #{createTime}, #{updateTime})
</insert> </insert>
<update id="updatePmOrg"> <update id="updatePmOrg">
update pm_org update pm_org

View File

@ -358,7 +358,7 @@ public class SysUserServiceImpl implements ISysUserService {
case "4": // 分包商 case "4": // 分包商
break; break;
case "2": // 分公司 case "2": // 分公司
affCompany = user.getBandId(); affCompany = Long.valueOf(user.getBandId());
break; break;
case "3": // 项目部 case "3": // 项目部
case "5": // 施工人员 case "5": // 施工人员

View File

@ -31,7 +31,7 @@
<result property="roleId" column="role_id"/> <result property="roleId" column="role_id"/>
<result property="roleLevel" column="role_level"/> <result property="roleLevel" column="role_level"/>
<result property="roleName" column="role_name"/> <result property="roleName" column="role_name"/>
<result property="bandId" column="band_id" javaType="java.lang.Long"/> <result property="bandId" column="band_id" />
<result property="permissionType" column="permission_type"/> <result property="permissionType" column="permission_type"/>
<result property="permissionRange" column="permission_range"/> <result property="permissionRange" column="permission_range"/>
<result property="affCompany" column="aff_company" javaType="java.lang.Long"/> <result property="affCompany" column="aff_company" javaType="java.lang.Long"/>