diff --git a/evo-admin/src/main/java/com/evo/attendance/service/impl/RzAttendanceStatisticalServiceImpl.java b/evo-admin/src/main/java/com/evo/attendance/service/impl/RzAttendanceStatisticalServiceImpl.java index f690e8b..fd02456 100644 --- a/evo-admin/src/main/java/com/evo/attendance/service/impl/RzAttendanceStatisticalServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/attendance/service/impl/RzAttendanceStatisticalServiceImpl.java @@ -175,17 +175,17 @@ public class RzAttendanceStatisticalServiceImpl extends ServiceImpl kq_list = rzAttendanceMapper.queryMonthAttendanceByStaffId(sysStaff.getUserId(),new Date()); //循环修改信息 for (RzAttendance rzAttendance : kq_list) { - if(rzAttendanceStatistical.getDeptId() == null){ + //if(rzAttendanceStatistical.getDeptId() == null){ rzAttendance.setDeptId(sysStaff.getDeptId()); - } + //} rzAttendance.setName(sysStaff.getName()); rzAttendanceMapper.updateRzAttendance(rzAttendance); } diff --git a/evo-admin/src/main/java/com/evo/equipment/service/impl/EqSnDetailServiceImpl.java b/evo-admin/src/main/java/com/evo/equipment/service/impl/EqSnDetailServiceImpl.java index 13ec3fb..3226704 100644 --- a/evo-admin/src/main/java/com/evo/equipment/service/impl/EqSnDetailServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/equipment/service/impl/EqSnDetailServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evo.common.config.Global; import com.evo.common.constant.Constants; import com.evo.common.core.domain.AjaxResult; import com.evo.common.core.domain.entity.RzUpload; @@ -26,6 +27,7 @@ import com.evo.system.domain.SysStaff; import com.evo.system.mapper.SysStaffMapper; import com.evo.system.service.RzUploadService; import com.evo.system.service.impl.SysDeptServiceImpl; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; @@ -45,6 +47,7 @@ import java.util.stream.Collectors; * @author chenyj * @date 2024-08-07 */ +@Slf4j @Service public class EqSnDetailServiceImpl extends ServiceImpl implements IEqSnDetailService { @@ -206,6 +209,10 @@ public class EqSnDetailServiceImpl extends ServiceImpl snList, List> userPhotoList) { + if(!"druid".equals(Global.newInstance().getActive())){ + log.info("非生产环境, 无需下发照片"); + return true; + } //检查设备是否在链接状态 Map sessionMap = checkSession(snList); @@ -238,6 +245,7 @@ public class EqSnDetailServiceImpl extends ServiceImpl * @return */ public RzLeave queryRzLeaveByUserId(@Param("userId") Long userId); + + public int updateDeptIdByStaffId(@Param("deptId") Long deptId, @Param("userId") Long userId); } diff --git a/evo-admin/src/main/java/com/evo/restaurant/service/impl/RzRestaurantStatisticsServiceImpl.java b/evo-admin/src/main/java/com/evo/restaurant/service/impl/RzRestaurantStatisticsServiceImpl.java index 060ef5e..2b9cb50 100644 --- a/evo-admin/src/main/java/com/evo/restaurant/service/impl/RzRestaurantStatisticsServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/restaurant/service/impl/RzRestaurantStatisticsServiceImpl.java @@ -244,9 +244,9 @@ public class RzRestaurantStatisticsServiceImpl extends ServiceImpl * @param userId 员工管理主键 * @return 员工管理 */ + /** + * 校验员工名称是否重复 + * @param id 员工主键ID,新增时传null + * @param name 员工姓名 + * @return true 名称重复,false 名称可用 + */ + boolean checkNameRepeat(Long id, String name); public SysStaff selectSysStaffByUserId(Long userId); /** * 查询员工管理列表 @@ -137,4 +144,11 @@ public interface ISysStaffService extends IService public void sysStaffLeaveByDingUserId(String dingUserId); AjaxResult getDingUserId(String userName); + /** + * 校验员工姓名是否重复(包含在职、离职全部员工,全局唯一) + * @param userId 当前员工主键,新增传null,编辑传员工userId + * @param name 待校验姓名 + * @return true=存在重名;false=无重名 + */ + } diff --git a/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java b/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java index 7ef3de2..05c44e5 100644 --- a/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/system/service/impl/SysStaffServiceImpl.java @@ -29,6 +29,7 @@ import com.evo.finance.service.IRzSalaryDetailService; import com.evo.kingdeeUtils.KingdeeRequestUtils; import com.evo.kingdeeUtils.kenum.KingdeeParamsEnum; import com.evo.personnelMatters.domain.RzSubsidyInfo; +import com.evo.personnelMatters.mapper.RzLeaveMapper; import com.evo.personnelMatters.mapper.RzSubsidyInfoMapper; import com.evo.restaurant.service.IRzRestaurantStatisticsService; import com.evo.system.domain.SysStaff; @@ -90,6 +91,18 @@ public class SysStaffServiceImpl extends ServiceImpl i private RzSubsidyInfoMapper rzSubsidyInfoMapper; @Resource IRzSalaryDetailService rzSalaryDetailService; + @Resource + private RzLeaveMapper rzLeaveMapper; + @Override + public boolean checkNameRepeat(Long userId, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysStaff::getName, name.trim()); + // 编辑时排除自身员工 + if(userId != null){ + wrapper.ne(SysStaff::getUserId, userId); + } + return this.count(wrapper) > 0; + } /** * 查询员工管理 * @@ -131,6 +144,10 @@ public class SysStaffServiceImpl extends ServiceImpl i @Transactional public AjaxResult insertSysStaff(SysStaff sysStaff) { + boolean repeat = checkNameRepeat(null, sysStaff.getName()); + if(repeat){ + return AjaxResult.error("姓名【"+sysStaff.getName()+"】已存在,所有员工(含离职)不可重名"); + } //根据省份证号查询是否已经录入 SysStaff p_staff = getBaseMapper().queryysStaffByIdCard(sysStaff.getIdCard()); if(StringUtils.isNotNull(p_staff)){ @@ -359,7 +376,10 @@ public class SysStaffServiceImpl extends ServiceImpl i @Transactional public AjaxResult updateSysStaff(SysStaff sysStaff) { - + boolean repeat = checkNameRepeat(sysStaff.getUserId(), sysStaff.getName()); + if(repeat){ + return AjaxResult.error("姓名【"+sysStaff.getName()+"】已存在,所有员工(含离职)不可重名"); + } if(StringUtils.isNotEmpty(sysStaff.getSource()) && sysStaff.getSource().equals(Constants.SOURCE_DING) && StringUtils.isEmpty(sysStaff.getSex())){ //根据省份证确定性别和年龄 sysStaff.setAge(Long.parseLong(new SimpleDateFormat("yyyy").format(new Date())) - Long.parseLong(sysStaff.getIdCard().substring(6,10))); @@ -465,6 +485,11 @@ public class SysStaffServiceImpl extends ServiceImpl i sysStaffDetail.setTotalWages(DataUtils.DEFAULT_VALUE); sysStaffDetail.setAggregatePersonalIncomeTax(DataUtils.DEFAULT_VALUE); sysStaffDetailMapper.updateById(sysStaffDetail); + } + //判断是否修改部门 + if(!old_staff.getDeptId().equals(sysStaff.getDeptId())) { + //请假数据处理 + rzLeaveMapper.updateDeptIdByStaffId(sysStaff.getDeptId(), sysStaff.getUserId()); } //如果是部门负责人, 修改部门领导信息 if("是".equals(sysStaff.getIsLeader())){ @@ -491,6 +516,7 @@ public class SysStaffServiceImpl extends ServiceImpl i rzRestaurantStatisticsService.createRestaurantStatistics(sysStaff, DateUtils.getNowDate()); //处理考勤机相关信息 initCheckDevice(sysStaff); + // } return AjaxResult.success(); } diff --git a/evo-admin/src/main/resources/application-dev.yml b/evo-admin/src/main/resources/application-dev.yml index 599a5c9..093fd30 100644 --- a/evo-admin/src/main/resources/application-dev.yml +++ b/evo-admin/src/main/resources/application-dev.yml @@ -7,7 +7,7 @@ spring: # 热部署开关 redis: # 地址 - host: localhost + host: 192.168.5.232 # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/evo-admin/src/main/resources/mapper/personnelMatters/RzLeaveMapper.xml b/evo-admin/src/main/resources/mapper/personnelMatters/RzLeaveMapper.xml index 34e0a1c..9e769b0 100644 --- a/evo-admin/src/main/resources/mapper/personnelMatters/RzLeaveMapper.xml +++ b/evo-admin/src/main/resources/mapper/personnelMatters/RzLeaveMapper.xml @@ -121,5 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' and user_id = #{userId} order by create_time desc limit 1 - + + update rz_leave set dept_id=#{deptId} where user_id = #{userId} +