员工信息改版

This commit is contained in:
andy 2025-05-22 16:53:55 +08:00
parent fa130c345a
commit e1a99ad2e5
29 changed files with 1223 additions and 784 deletions

View File

@ -13,7 +13,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*/ */
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@EnableScheduling @EnableScheduling
@MapperScan({"com.evo.**.mapper"}) @MapperScan({"com.evo.**.mapper.**.**"})
public class EvoApplication public class EvoApplication
{ {
public static void main(String[] args) public static void main(String[] args)

View File

@ -102,6 +102,7 @@ public class Constants
public static final String DELETE_FLAG_0 = "0"; //添加信息 public static final String DELETE_FLAG_0 = "0"; //添加信息
public static final String DELETE_FLAG_1 = "1"; //删除信息 public static final String DELETE_FLAG_1 = "1"; //删除信息
public static final String JOB_STATIS_0 = "0"; //员工 试用 public static final String JOB_STATIS_0 = "0"; //员工 试用
public static final String JOB_STATIS_1 = "1"; //员工 正式
public static final String SYS_COMPANY = "sys_company"; //公司简称 public static final String SYS_COMPANY = "sys_company"; //公司简称
public static final String SYS_CONTRACT = "sys_contract"; //合同年限 public static final String SYS_CONTRACT = "sys_contract"; //合同年限
public static final String SYS_LEVEL = "sys_level"; //学历 public static final String SYS_LEVEL = "sys_level"; //学历
@ -111,6 +112,7 @@ public class Constants
public static final String SEIZE_A_SEAT_1 = "00"; //占位符 public static final String SEIZE_A_SEAT_1 = "00"; //占位符
public static final String SEIZE_A_SEAT_2 = "000"; //占位符 public static final String SEIZE_A_SEAT_2 = "000"; //占位符
public static final String SYS_SENIORITY_SUBSIDIES = "50"; //工龄补助 public static final String SYS_SENIORITY_SUBSIDIES = "50"; //工龄补助
public static final Integer SYS_CONTRACT_SUBSIDY = 50; //合同补助的基数
public static final String SYS_CONTRACT_0 = "50"; //一年期合同补助 public static final String SYS_CONTRACT_0 = "50"; //一年期合同补助
public static final String SYS_CONTRACT_1 = "150"; //三年期合同补助 public static final String SYS_CONTRACT_1 = "150"; //三年期合同补助
public static final String SYS_SOCIAL_SUBSIDIES = "400"; //新农合社保补助 public static final String SYS_SOCIAL_SUBSIDIES = "400"; //新农合社保补助

View File

@ -7,6 +7,7 @@ import java.util.Map;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.evo.common.utils.Collections;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
@ -52,6 +53,9 @@ public class BaseEntity implements Serializable
@TableField(exist = false) @TableField(exist = false)
private Map<String, Object> params; private Map<String, Object> params;
@TableField(exist = false)
private Map<String, Object> extendeds;
public String getSearchValue() public String getSearchValue()
{ {
return searchValue; return searchValue;
@ -121,6 +125,14 @@ public class BaseEntity implements Serializable
return params; return params;
} }
public Map<String, Object> getExtendeds() {
if (extendeds == null)
{
extendeds = Collections.emptyMap();
}
return extendeds;
}
public void setParams(Map<String, Object> params) public void setParams(Map<String, Object> params)
{ {
this.params = params; this.params = params;

View File

@ -0,0 +1,68 @@
package com.evo.common.handler;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.evo.common.constant.Constants;
import com.evo.common.utils.DateUtils;
import com.evo.common.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
/**
* @desc: 修改和新增自定义注解
* @ClassName:InsertAndUpdateMybatisHandler
* @date: 2025年04月17日 9:03
* @author: andy.shi
* @contact: 17330188597
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
@Component
@Slf4j
public class InsertAndUpdateMybatisHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
try {
String userName = SecurityUtils.getUsername();
if(StringUtils.isEmpty(userName)){
log.info("当前操作未登录, 无需执行");
return;
}
if(ObjectUtils.isNotEmpty(metaObject)){
mySetFieldValByName("createBy",SecurityUtils.getUsername(),metaObject);
mySetFieldValByName("createTime",DateUtils.getNowDate(),metaObject);
mySetFieldValByName("delFlag",Constants.DELETE_FLAG_0,metaObject);
}
} catch (Exception e) {
log.error("自动填充拦截器异常=====insert,对象信息:{}, 异常信息:{}", JSONObject.toJSONString(metaObject), e.getMessage());
}
}
private void mySetFieldValByName(String filedName, Object fieldVal, MetaObject metaObject) {
Object createType = getFieldValByName(filedName,metaObject);
if(ObjectUtils.isEmpty(createType)){
setFieldValByName(filedName,fieldVal,metaObject);
}
}
@Override
public void updateFill(MetaObject metaObject) {
try {
String userName = SecurityUtils.getUsername();
if(StringUtils.isEmpty(userName)){
log.info("当前操作未登录, 无需执行");
return;
}
if(ObjectUtils.isNotEmpty(metaObject)){
mySetFieldValByName("updateBy",userName,metaObject);
mySetFieldValByName("updateTime",DateUtils.getNowDate(),metaObject);
}
} catch (Exception e) {
log.error("自动填充拦截器异常=====update,对象信息:{}, 异常信息:{}", JSONObject.toJSONString(metaObject),e.getMessage());
}
}
}

View File

@ -0,0 +1,300 @@
package com.evo.common.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/**
* @DES 集合类型工具类
* @author andy.shi
* @createDate 2020年12月25日下午2:16:13
* @typeName Collections
*/
public class Collections implements Serializable{
static Logger log = LoggerFactory.getLogger(Collections.class);
/**
*
*/
private static final long serialVersionUID = -611031509912595162L;
/**
*
* @param ts
* @return
*/
public static <T> boolean isEmpty(T[] ts) {
return ts == null || ts.length == 0;
}
/**
*
* @param ts
* @return
*/
public static <T> boolean isNotEmpty(T[] ts) {
return ! isEmpty(ts);
}
/************************ 以上为公共方法 以下为list ************************************************/
/**
* @DES 检查集合为空
* @author andy.shi
* @createDate 2020年12月25日下午2:14:43
* @methodName Collections.isEmpty
* @param list
* @return
* @returnType boolean
*/
public static boolean isEmpty(Collection list) {
return list == null || list.size() == 0;
}
/**
* @DES 检查集合不为空
* @author andy.shi
* @createDate 2020年12月25日下午2:15:07
* @methodName Collections.isNotEmpty
* @param collection
* @return
* @returnType boolean
*/
public static boolean isNotEmpty(Collection collection) {
return ! (isEmpty(collection));
}
/**
* 将list进行分页
* @author Andy.shi
* @date 2020年9月15日上午9:37:07
* @param <T> 泛型, 根据传入的对对象类型,返回类型
* @param list 需要分组的集合
* @param pageNum 当前页数
* @param pageSize 每页显示的条数
* @return
*/
public static <T> List<T> pageList(List<T> list, Integer pageNum, Integer pageSize){
if(isEmpty(list)) {
log.warn(String.format("[info " + Collections.class.getName() + " 执行信息] : list info: [%s] 为空", new Object[]{list}));
return list;
}
try {
//如果当前页为0, 更改为1
if(pageNum == 0)
pageNum = 1;
//计算formIndex
Integer fromIndex = ((pageNum-1)*pageSize);
//计算toIndex
Integer toIndex = fromIndex + pageSize;
//防止下标越界
if(toIndex > list.size())
toIndex = list.size();
log.info(String.format("[info " + Collections.class.getName() + " 执行信息] : list info: [%s] and pageNum info:[%s] and pageSize info: [%s]", new Object[]{list, pageNum, pageSize}));
return list.subList(fromIndex, toIndex);
} catch (Exception e) {
// TODO Auto-generated catch block
log.error(String.format("Class {%s}, Method {%s}", new Object[]{Collections.class.getName(), "pageList"}),e);
throw new RuntimeException(String.format("EntityInfo --- " + Collections.class.getName() + " error: list info: [%s] and pageNum info:[%s] and pageSize info: [%s] ", new Object[]{list, pageNum, pageSize}), e);
}
}
/**
* 创建对象
* @author Andy.shi
* @date 2020年9月15日上午9:37:07
* @param <T>
* @return
*/
public static <T> List<T> emptyList() {
return new LinkedList<T>();
}
/**
* @DES 数组转对象
* @author andy.shi
* @createDate 2020年12月25日下午2:09:14
* @methodName Collections.asList
* @param objs
* @return
* @returnType List<T>
*/
public static <T> List<T> asList(T... objs) {
if (isEmpty(objs))
return emptyList();
List<T> list = emptyList();
for (T obj : objs)
list.add(obj);
return list;
}
/**
*
* @param objs
* @return
*/
public static <T> List<T> asList(Collection<T> objs) {
if (isEmpty(objs))
return emptyList();
List<T> list = emptyList();
list.addAll(objs);
return list;
}
/**
* 去除集合的重复项
* @author Andy.shi
* @date 2020年9月24日上午9:09:07
* @param <T> 泛型,字段的类型, 如果是对象, 请重写hashCode() equals()
* @param list1 去重的集合1
* @param list2 去重的集合2
* @return list 去重后的对象
*/
@SuppressWarnings("unchecked")
public static <T> List<T> removeDuplicatesList(List<T> list1, List<T> list2){
return removeDuplicatesList(new List[] {list1, list2});
}
/**
* 去除集合的重复项
* @author Andy.shi
* @date 2020年9月24日上午9:13:09
* @param <T> 泛型,字段的类型, 如果是对象, 请重写hashCode() equals()
* @param listArray 去重的集合数组
* @return list 去重后的对象
*/
@SuppressWarnings("unchecked")
public static <T> List<T> removeDuplicatesList(List<T>... listArray){
try {
List<T> listAll = emptyList();
if(listArray == null || listArray.length == 0) {
log.warn("[info " + Collections.class.getName() + " 执行信息] : 数据集合为空, 返回空对象 ");
return emptyList();
}
for (List<T> list : listArray) {
if(isNotEmpty(list)) {
listAll.addAll(list);
}
}
return (List<T>) listAll.stream().distinct().collect(Collectors.toList());
} catch (Exception e) {
// TODO Auto-generated catch block
log.error(String.format("Class {%s}, Method {%s}", new Object[]{Collections.class.getName(), "removeDuplicatesList"}),e);
throw new RuntimeException(String.format("EntityInfo --- " + Collections.class.getName() + " error: listArray info: [%s] 去除重复数据异常; ", new Object[]{listArray}), e);
}
}
/**
* 获取重复数据
* @author Andy.shi
* @date 2020年9月24日上午9:46:03
* @param <T> 泛型,字段的类型, 如果是对象, 请重写hashCode() equals()
* @param list1 查重的集合1
* @param list2 查重的集合1
* @return 并集的数据集合
*/
@SuppressWarnings("unchecked")
public static <T> List<T> findDuplicatesList(List<T> list1, List<T> list2){
return findDuplicatesList(new List[] {list1, list2});
}
/**
* 获取重复数据
* @author Andy.shi
* @date 2020年9月24日上午9:44:30
* @param <T> 泛型,字段的类型, 如果是对象, 请重写hashCode() equals()
* @param listArray 需要查重的集合数组
* @return 并集的数据集合
*/
public static <T> List<T> findDuplicatesList(List<T>... listArray){
try {
if(listArray == null || listArray.length == 0) {
log.warn("[info " + Collections.class.getName() + " 执行信息] : 数据集合为空, 返回空对象 ");
return emptyList();
}
if(listArray.length == 1) {
log.warn("[info " + Collections.class.getName() + " 执行信息] : 集合数组只有一个, 不存在重复数据 ");
return listArray[0];
}
List<T> firstList = listArray[0];
for (int i = 1; i < listArray.length; i++) {
firstList.retainAll(listArray[i]);
}
return firstList;
} catch (Exception e) {
// TODO Auto-generated catch block
log.error(String.format("Class {%s}, Method {%s}", new Object[]{Collections.class.getName(), "findDuplicatesList"}),e);
throw new RuntimeException(String.format("EntityInfo --- " + Collections.class.getName() + " error: listArray info: [%s] 获取重复数据异常; ", new Object[]{listArray}), e);
}
}
/********************** 以上操作list 以下操作map **************************************/
/**
*
* @param map
* @return
*/
public static boolean isNotEmpty(Map<?, ?> map) {
return ! isEmpty(map);
}
/**
* @param map
* @return
*/
public static boolean isEmpty(Map<?, ?> map) {
return map == null || map.size() == 0;
}
/**
* @DES 创建空的map对象
* @author andy.shi
* @company 龙腾工作室
* @createDate 2020年12月25日下午1:36:35
* @methodName MapLists.emptyMap
* @return
* @returnType Map<k,v>
*/
public static final <K, V> Map<K, V> emptyMap() {
return new LinkedHashMap<K, V>();
}
/**
* @DES 组装map数据对象
* @author andy.shi
* @createDate 2020年12月25日下午1:37:05
* @methodName MapLists.createMap
* @param args
* @return
* @returnType Map<k,v>
*/
@SuppressWarnings("unchecked")
public static <K, V> Map<K, V> asMap(Object... args) {
Map<K, V> map = emptyMap();
if (args == null || args.length == 0) {
log.warn(String.format("[info " + Collections.class.getName() + " 执行信息] : params的参数不为偶数; args length: [%s]; args info: [%s] ", new Object[]{args.length, args}));
return map;
} else if (args.length % 2 != 0) {
throw new RuntimeException(String.format("EntityInfo --- " + Collections.class.getName() + " error: args must completely match: even param is key, odd param is value, please check your arguments. args length [%s]; args info: [%s]; ", new Object[]{args.length, args}));
}
for (int i=0; i<args.length;i+=2) {
Object key = args[i];
Object val = i + 1 < args.length ? args[i+1] : null;
map.put( (K) key, (V) val);
}
return map;
}
/********************** 以上操作map 以下操作公共方法 **************************************/
}

View File

@ -8,6 +8,7 @@ import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
@ -188,4 +189,20 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant()); return Date.from(zdt.toInstant());
} }
public static Integer getBetweenYear(Date start, Date end){
Calendar currentDate = Calendar.getInstance();
currentDate.setTime(start);
int startYear = currentDate.get(Calendar.YEAR);
// 将输入的Date转换为Calendar以便获取年月信息
Calendar inputCalendar = Calendar.getInstance();
inputCalendar.setTime(end);
int endYear = inputCalendar.get(Calendar.YEAR);
return endYear-startYear;
}
} }

View File

@ -235,7 +235,13 @@ public class IpUtils
*/ */
public static String getServerUrl() public static String getServerUrl()
{ {
return ServletUtils.getRequest().getRequestURL().toString(); HttpServletRequest request = ServletUtils.getRequest();
String protocol = request.getScheme()+"://";
try {
return protocol+InetAddress.getLocalHost().getHostAddress()+":"+request.getServerPort();
} catch (Exception e) {
return protocol+request.getServerName()+":"+request.getServerPort();
}
} }
/** /**

View File

@ -0,0 +1,28 @@
package com.evo.common.vo;
import lombok.Data;
/**
*
*
* @ClassName:OptionVo
* @date: 2025年05月22日 8:49
* @author: andy.shi
* @contact: 17330188597
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
@Data
public class OptionVo {
Long key;
String value;
public OptionVo() {
}
public OptionVo(Long key, String value) {
this.key = key;
this.value = value;
}
}

View File

@ -1,11 +1,5 @@
package com.evo.finance.service.impl; package com.evo.finance.service.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import com.evo.attendance.domain.RzAttendance; import com.evo.attendance.domain.RzAttendance;
import com.evo.attendance.domain.RzAttendanceStatistical; import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.domain.RzSpecialOverTime; import com.evo.attendance.domain.RzSpecialOverTime;
@ -17,8 +11,11 @@ import com.evo.common.core.domain.AjaxResult;
import com.evo.common.utils.DateUtils; import com.evo.common.utils.DateUtils;
import com.evo.common.utils.SecurityUtils; import com.evo.common.utils.SecurityUtils;
import com.evo.common.utils.StringUtils; import com.evo.common.utils.StringUtils;
import com.evo.finance.domain.RzSalaryDetail;
import com.evo.finance.domain.RzSalaryStatistics; import com.evo.finance.domain.RzSalaryStatistics;
import com.evo.finance.mapper.RzSalaryDetailMapper;
import com.evo.finance.mapper.RzSalaryStatisticsMapper; import com.evo.finance.mapper.RzSalaryStatisticsMapper;
import com.evo.finance.service.IRzSalaryDetailService;
import com.evo.personnelMatters.domain.RzHoliday; import com.evo.personnelMatters.domain.RzHoliday;
import com.evo.personnelMatters.mapper.RzHolidayMapper; import com.evo.personnelMatters.mapper.RzHolidayMapper;
import com.evo.restaurant.domain.RzRestaurantStatistics; import com.evo.restaurant.domain.RzRestaurantStatistics;
@ -29,13 +26,16 @@ import com.evo.system.mapper.SysDeptMapper;
import com.evo.system.mapper.SysStaffDetailMapper; import com.evo.system.mapper.SysStaffDetailMapper;
import com.evo.system.mapper.SysStaffMapper; import com.evo.system.mapper.SysStaffMapper;
import com.evo.utils.DateUtil; import com.evo.utils.DateUtil;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.evo.finance.mapper.RzSalaryDetailMapper;
import com.evo.finance.domain.RzSalaryDetail;
import com.evo.finance.service.IRzSalaryDetailService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/** /**
* 工资详情Service业务层处理 * 工资详情Service业务层处理
@ -154,19 +154,19 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
rzSalaryDetail.setMonthSalary(salaryDetail.getBasicSalary()); //基本工资 rzSalaryDetail.setMonthSalary(salaryDetail.getBasicSalary()); //基本工资
rzSalaryDetail.setAbsenteeismSalary(salaryDetail.getAbsenteeismSalary()); //请假扣除工资 rzSalaryDetail.setAbsenteeismSalary(salaryDetail.getAbsenteeismSalary()); //请假扣除工资
rzSalaryDetail.setOvertimeSalary(salaryDetail.getOverWages()); //加班工资 rzSalaryDetail.setOvertimeSalary(salaryDetail.getOverWages()); //加班工资
rzSalaryDetail.setNightSubsidies(salaryDetail.getNightShiftSubsidies()); //夜班补助 // rzSalaryDetail.setNightSubsidies(salaryDetail.getNightShiftSubsidies()); //夜班补助
rzSalaryDetail.setDinnerSubsidies(salaryDetail.getDinnerSubsidies()); //夜餐补助 // rzSalaryDetail.setDinnerSubsidies(salaryDetail.getDinnerSubsidies()); //夜餐补助
rzSalaryDetail.setMiddleSubsidies(salaryDetail.getMiddleSubsidies()); //中班补助 // rzSalaryDetail.setMiddleSubsidies(salaryDetail.getMiddleSubsidies()); //中班补助
//查询员工详情 //查询员工详情
SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId()); SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
rzSalaryDetail.setFullSubsidies(sysStaffDetail.getFullFrequentlySubsidies()); //全勤奖 // rzSalaryDetail.setFullSubsidies(sysStaffDetail.getFullFrequentlySubsidies()); //全勤奖
rzSalaryDetail.setLevelSubsidies(sysStaffDetail.getLevelOfEducationSubsidies()); //学历 // rzSalaryDetail.setLevelSubsidies(sysStaffDetail.getLevelOfEducationSubsidies()); //学历
rzSalaryDetail.setContractSubsidies(sysStaffDetail.getContractSubsidies()); //合同 // rzSalaryDetail.setContractSubsidies(sysStaffDetail.getContractSubsidies()); //合同
rzSalaryDetail.setSocialSubsidies(sysStaffDetail.getSocialSecuritySubsidies()); //社保 // rzSalaryDetail.setSocialSubsidies(sysStaffDetail.getSocialSecuritySubsidies()); //社保
rzSalaryDetail.setSubsidyOrBonus(sysStaffDetail.getOtherSubsidies().add(sysStaffDetail.getFixedAllowance())); //其他补助 rzSalaryDetail.setSubsidyOrBonus(sysStaffDetail.getOtherSubsidies().add(sysStaffDetail.getFixedAllowance())); //其他补助
//补助扣除 TODO 福利扣除百分比 //补助扣除 TODO 福利扣除百分比
rzSalaryDetail.setAbsenteeismSubsidies(sysStaffDetail.getLevelOfEducationSubsidies().add(sysStaffDetail.getContractSubsidies()) // rzSalaryDetail.setAbsenteeismSubsidies(sysStaffDetail.getLevelOfEducationSubsidies().add(sysStaffDetail.getContractSubsidies())
.add(sysStaffDetail.getSenioritySubsidies()).add(sysStaffDetail.getSocialSecuritySubsidies()).multiply(salaryDetail.getAbsenteeismSubsidies())); // .add(sysStaffDetail.getSenioritySubsidies()).add(sysStaffDetail.getSocialSecuritySubsidies()).multiply(salaryDetail.getAbsenteeismSubsidies()));
rzSalaryDetail.setDeductions(sysStaffDetail.getDeductions()); //其他扣款 rzSalaryDetail.setDeductions(sysStaffDetail.getDeductions()); //其他扣款
//计算工龄,以每月10号社保缴纳计算 //计算工龄,以每月10号社保缴纳计算
int years = sbrq.getYear() - sysStaff.getEmploymentDate().getYear(); int years = sbrq.getYear() - sysStaff.getEmploymentDate().getYear();
@ -178,11 +178,11 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
if(months == 0 && days < 0){ if(months == 0 && days < 0){
years -= 1; years -= 1;
} }
if(years > 10){ // if(years > 10){
rzSalaryDetail.setSenioritySalary(sysStaffDetail.getSenioritySubsidies().multiply(new BigDecimal("10.0"))); //工龄 // rzSalaryDetail.setSenioritySalary(sysStaffDetail.getSenioritySubsidies().multiply(new BigDecimal("10.0"))); //工龄
}else{ // }else{
rzSalaryDetail.setSenioritySalary(sysStaffDetail.getSenioritySubsidies().multiply(new BigDecimal(years))); //工龄 // rzSalaryDetail.setSenioritySalary(sysStaffDetail.getSenioritySubsidies().multiply(new BigDecimal(years))); //工龄
} // }
//餐费 //餐费
RzRestaurantStatistics rzRestaurantStatistics = rzRestaurantStatisticsMapper.selectRzRestaurantStatisticsByUserIdAndDate(sysStaff.getUserId(),rzSalaryDetail.getMonth()); RzRestaurantStatistics rzRestaurantStatistics = rzRestaurantStatisticsMapper.selectRzRestaurantStatisticsByUserIdAndDate(sysStaff.getUserId(),rzSalaryDetail.getMonth());
rzSalaryDetail.setMealFee(rzRestaurantStatistics.getPersonalSumConsumption()); //餐费扣除 rzSalaryDetail.setMealFee(rzRestaurantStatistics.getPersonalSumConsumption()); //餐费扣除
@ -389,8 +389,8 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
}else{ }else{
sysStaffDetail.setAbsenteeismSubsidies(new BigDecimal("1.00")); sysStaffDetail.setAbsenteeismSubsidies(new BigDecimal("1.00"));
} }
sysStaffDetail.setNightShiftSubsidies(sysStaffDetail.getNightShiftSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getNightNumber()))); // sysStaffDetail.setNightShiftSubsidies(sysStaffDetail.getNightShiftSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getNightNumber())));
sysStaffDetail.setDinnerSubsidies(sysStaffDetail.getDinnerSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getNightNumber()))); // sysStaffDetail.setDinnerSubsidies(sysStaffDetail.getDinnerSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getNightNumber())));
//是否打卡 //是否打卡
if("".equals(sysStaff.getClockIn())){ if("".equals(sysStaff.getClockIn())){
return sysStaffDetail; return sysStaffDetail;
@ -423,33 +423,33 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
} }
sysStaffDetail.setOverWages(sysStaffDetail.getDailyWage().divide(new BigDecimal("8.0"),2, RoundingMode.HALF_UP).multiply(rzAttendanceStatistical.getWorkOvertimeNumber())); sysStaffDetail.setOverWages(sysStaffDetail.getDailyWage().divide(new BigDecimal("8.0"),2, RoundingMode.HALF_UP).multiply(rzAttendanceStatistical.getWorkOvertimeNumber()));
sysStaffDetail.setAbsenteeismSalary(new BigDecimal("0.00")); sysStaffDetail.setAbsenteeismSalary(new BigDecimal("0.00"));
sysStaffDetail.setMiddleSubsidies(sysStaffDetail.getMiddleSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getMiddleShiftNumber()))); // sysStaffDetail.setMiddleSubsidies(sysStaffDetail.getMiddleSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getMiddleShiftNumber())));
} }
//判断是小时工 //判断是小时工
if(sysStaffDetail.getHoursSalary().doubleValue() > 0) { // if(sysStaffDetail.getHoursSalary().doubleValue() > 0) {
//额薪资日期在工资月下一个月 // //额薪资日期在工资月下一个月
calendar.set(Calendar.MONTH,1); // calendar.set(Calendar.MONTH,1);
//全额薪资日期在工资月以前 // //全额薪资日期在工资月以前
if(sysStaff.getWagesRatioDate().before(month)) { // if(sysStaff.getWagesRatioDate().before(month)) {
sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber()))); // sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())));
}else if(sysStaff.getWagesRatioDate().after(calendar.getTime())) { // }else if(sysStaff.getWagesRatioDate().after(calendar.getTime())) {
sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD))); // sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD)));
}else { // }else {
//根据转正日期查询员工的打卡信息 // //根据转正日期查询员工的打卡信息
BigDecimal att_work = new BigDecimal("0.0"); // BigDecimal att_work = new BigDecimal("0.0");
for (RzAttendance rzAttendance : att_list) { // for (RzAttendance rzAttendance : att_list) {
if(rzAttendance.getAttendanceDate().before(sysStaff.getWagesRatioDate())) { // if(rzAttendance.getAttendanceDate().before(sysStaff.getWagesRatioDate())) {
att_work = att_work.add(rzAttendance.getWorkSum()); // att_work = att_work.add(rzAttendance.getWorkSum());
} // }
} // }
//未转正需要扣除的工资 // //未转正需要扣除的工资
BigDecimal work = sysStaffDetail.getHoursSalary().multiply(att_work).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD_1)); // BigDecimal work = sysStaffDetail.getHoursSalary().multiply(att_work).multiply(new BigDecimal(Constants.SUBSIDY_PERIOD_1));
sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())).subtract(work)); // sysStaffDetail.setBasicSalary(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getRealAttendance().add(rzAttendanceStatistical.getWorkOvertimeNumber())).subtract(work));
} // }
sysStaffDetail.setOverWages(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getWorkOvertimeNumber())); // sysStaffDetail.setOverWages(sysStaffDetail.getHoursSalary().multiply(rzAttendanceStatistical.getWorkOvertimeNumber()));
sysStaffDetail.setAbsenteeismSalary(new BigDecimal("0.00")); // sysStaffDetail.setAbsenteeismSalary(new BigDecimal("0.00"));
sysStaffDetail.setMiddleSubsidies(sysStaffDetail.getMiddleSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getMiddleShiftNumber()))); // sysStaffDetail.setMiddleSubsidies(sysStaffDetail.getMiddleSubsidies().multiply(new BigDecimal(rzAttendanceStatistical.getMiddleShiftNumber())));
} // }
//判断是月工资 //判断是月工资
if(sysStaffDetail.getBasicSalary().doubleValue() > 0 || sysStaffDetail.getJobsSalary().longValue() > 0) { if(sysStaffDetail.getBasicSalary().doubleValue() > 0 || sysStaffDetail.getJobsSalary().longValue() > 0) {
//额薪资日期在工资月下一个月 //额薪资日期在工资月下一个月
@ -478,7 +478,7 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
.add(sysStaffDetail.getBasicSalary().multiply(new BigDecimal(Constants.SUBSIDY_PERIOD))) .add(sysStaffDetail.getBasicSalary().multiply(new BigDecimal(Constants.SUBSIDY_PERIOD)))
.divide(new BigDecimal(days).multiply(new BigDecimal("8.00")),2, RoundingMode.HALF_UP); .divide(new BigDecimal(days).multiply(new BigDecimal("8.00")),2, RoundingMode.HALF_UP);
sysStaffDetail.setAbsenteeismSalary(evrymoney.multiply(rzAttendanceStatistical.getShouldAttendance().subtract(rzAttendanceStatistical.getRealAttendance()))); sysStaffDetail.setAbsenteeismSalary(evrymoney.multiply(rzAttendanceStatistical.getShouldAttendance().subtract(rzAttendanceStatistical.getRealAttendance())));
sysStaffDetail.setMiddleSubsidies(new BigDecimal("0.00")); // sysStaffDetail.setMiddleSubsidies(new BigDecimal("0.00"));
//根据用户获取当前的加班情况 //根据用户获取当前的加班情况
RzSpecialOverTime rSpecialOverTime = rzSpecialOverTimeMapper.selectRzSpecialOverTimeByUserIdAndDate(sysStaff.getUserId(),month); RzSpecialOverTime rSpecialOverTime = rzSpecialOverTimeMapper.selectRzSpecialOverTimeByUserIdAndDate(sysStaff.getUserId(),month);
if(StringUtils.isNull(rSpecialOverTime)){ if(StringUtils.isNull(rSpecialOverTime)){

View File

@ -0,0 +1,116 @@
package com.evo.personnelMatters.controller;
import com.evo.common.annotation.Log;
import com.evo.common.core.controller.BaseController;
import com.evo.common.core.domain.AjaxResult;
import com.evo.common.core.page.TableDataInfo;
import com.evo.common.enums.BusinessType;
import com.evo.common.utils.poi.ExcelUtil;
import com.evo.personnelMatters.domain.RzSubsidy;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
import com.evo.personnelMatters.service.IRzSubsidyInfoService;
import com.evo.personnelMatters.service.IRzSubsidyService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 补助管理Controller
*
* @author chenyj
* @date 2024-08-27
*/
@RestController
@RequestMapping("/personnelMatters/subsidyInfo")
public class RzSubsidyInfoController extends BaseController
{
@Resource
private IRzSubsidyInfoService rzSubsidyInfoService;
/**
* 查询补助管理列表
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:list')")
@GetMapping("/list")
public TableDataInfo list(RzSubsidyInfo rzSubsidy)
{
startPage();
List<RzSubsidyInfo> list = rzSubsidyInfoService.selectRzSubsidyInfoList(rzSubsidy);
return getDataTable(list);
}
/**
* 导出补助管理列表
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:export')")
@Log(title = "补助管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, RzSubsidyInfo rzSubsidy)
{
List<RzSubsidyInfo> list = rzSubsidyInfoService.selectRzSubsidyInfoList(rzSubsidy);
ExcelUtil<RzSubsidyInfo> util = new ExcelUtil<RzSubsidyInfo>(RzSubsidyInfo.class);
util.exportExcel(response, list, "补助管理数据");
}
/**
* 获取补助管理详细信息
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(rzSubsidyInfoService.selectRzSubsidyInfoById(id));
}
/**
* 新增补助管理
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:add')")
@Log(title = "补助信息管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody RzSubsidyInfo rzSubsidy)
{
return rzSubsidyInfoService.insertRzSubsidyInfo(rzSubsidy);
}
/**
* 修改补助管理
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:edit')")
@Log(title = "补助信息管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody RzSubsidyInfo rzSubsidy)
{
return toAjax(rzSubsidyInfoService.updateRzSubsidyInfo(rzSubsidy));
}
/**
* 删除补助管理
*/
@PreAuthorize("@ss.hasPermi('personnelMatters:subsidyInformation:remove')")
@Log(title = "补助信息管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable Long id)
{
return toAjax(rzSubsidyInfoService.deleteRzSubsidyInfoById(id));
}
/**
* 检查补助是否存在
*/
@PostMapping("/checkName")
public AjaxResult checkName(@RequestBody RzSubsidyInfo rzSubsidy)
{
return AjaxResult.success(rzSubsidyInfoService.existsSubsidyName(rzSubsidy));
}
@PostMapping("/getOption")
public AjaxResult getOption()
{
return AjaxResult.success(rzSubsidyInfoService.getOption());
}
}

View File

@ -0,0 +1,56 @@
package com.evo.personnelMatters.domain;
import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
*补助信息对象 rz_subsidy_info 不同于学历补助
* @ClassName:RzSubsidyInfo
* @date: 2025年05月21日 14:50
* @author: andy.shi
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
@Data
public class RzSubsidyInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 补助名称 */
@Excel(name = "补助名称")
private String name;
/** 补助金额 */
@Excel(name = "补助金额")
private BigDecimal value;
/** 备注 */
@Excel(name = "备注")
private String remarks;
/** 删除标识 */
private String delFlag;
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("value", getValue())
.append("remarks", getRemarks())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,17 @@
package com.evo.personnelMatters.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
/**
*
*
* @ClassName:RzSubsidyInfoMapper
* @date: 2025年05月21日 14:55
* @author: andy.shi
* @contact: 17330188597
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
public interface RzSubsidyInfoMapper extends BaseMapper<RzSubsidyInfo> {
}

View File

@ -0,0 +1,68 @@
package com.evo.personnelMatters.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.evo.common.core.domain.AjaxResult;
import com.evo.common.vo.OptionVo;
import com.evo.personnelMatters.domain.RzSubsidy;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
import java.util.List;
/**
* 补助管理Service接口
*
* @author chenyj
* @date 2024-08-27
*/
public interface IRzSubsidyInfoService extends IService<RzSubsidyInfo>
{
/**
* 查询补助管理
*
* @param id 补助管理主键
* @return 补助管理
*/
public RzSubsidyInfo selectRzSubsidyInfoById(Long id);
/**
* 查询补助管理列表
*
* @param rzSubsidy 补助管理
* @return 补助管理集合
*/
public List<RzSubsidyInfo> selectRzSubsidyInfoList(RzSubsidyInfo rzSubsidy);
/**
* 新增补助管理
*
* @param rzSubsidy 补助管理
* @return 结果
*/
public AjaxResult insertRzSubsidyInfo(RzSubsidyInfo rzSubsidy);
/**
* 修改补助管理
*
* @param rzSubsidy 补助管理
* @return 结果
*/
public Boolean updateRzSubsidyInfo(RzSubsidyInfo rzSubsidy);
/**
* 删除补助管理信息
*
* @param id 补助管理主键
* @return 结果
*/
public Boolean deleteRzSubsidyInfoById(Long id);
/**
* 查看补助是否存在
*
* @param rzSubsidy 补助管理
* @return 结果
*/
public Boolean existsSubsidyName(RzSubsidyInfo rzSubsidy);
public List<OptionVo> getOption();
}

View File

@ -0,0 +1,66 @@
package com.evo.personnelMatters.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.common.core.domain.AjaxResult;
import com.evo.common.utils.ip.IpUtils;
import com.evo.common.vo.OptionVo;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
import com.evo.personnelMatters.mapper.RzSubsidyInfoMapper;
import com.evo.personnelMatters.service.IRzSubsidyInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
*
*
* @ClassName:RzSubsidyInfoServiceImpl
* @date: 2025年05月21日 14:55
* @author: andy.shi
* @contact: 17330188597
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
@Service
public class RzSubsidyInfoServiceImpl extends ServiceImpl<RzSubsidyInfoMapper, RzSubsidyInfo> implements IRzSubsidyInfoService {
@Override
public RzSubsidyInfo selectRzSubsidyInfoById(Long id) {
return getById(id);
}
@Override
public List<RzSubsidyInfo> selectRzSubsidyInfoList(RzSubsidyInfo rzSubsidy) {
return list(new LambdaQueryWrapper<RzSubsidyInfo>().eq(RzSubsidyInfo::getDelFlag,0));
}
@Override
public AjaxResult insertRzSubsidyInfo(RzSubsidyInfo rzSubsidy) {
return (save(rzSubsidy) ? AjaxResult.success() : AjaxResult.error());
}
@Override
public Boolean updateRzSubsidyInfo(RzSubsidyInfo rzSubsidy) {
return updateById(rzSubsidy);
}
@Override
public Boolean deleteRzSubsidyInfoById(Long id) {
return getBaseMapper().update(new RzSubsidyInfo(), new UpdateWrapper<RzSubsidyInfo>().set("del_flag", 1).eq("id", id)) > 0;
}
@Override
public Boolean existsSubsidyName(RzSubsidyInfo rzSubsidy) {
return getBaseMapper().selectCount(new LambdaQueryWrapper<RzSubsidyInfo>().eq(RzSubsidyInfo::getName, rzSubsidy.getName()).select(RzSubsidyInfo::getId)) > 0;
}
@Override
public List<OptionVo> getOption() {
return list(new LambdaQueryWrapper<RzSubsidyInfo>().eq(RzSubsidyInfo::getDelFlag,0).select(RzSubsidyInfo::getId, RzSubsidyInfo::getName)).stream().map(d ->new OptionVo(d.getId(), d.getName())).collect(Collectors.toList());
}
}

View File

@ -88,13 +88,13 @@ public class RzRestaurantStatisticsServiceImpl implements IRzRestaurantStatistic
rzRestaurantStatistics.setName(sysStaff.getName()); rzRestaurantStatistics.setName(sysStaff.getName());
rzRestaurantStatistics.setMonth(DateUtils.getNowDate()); rzRestaurantStatistics.setMonth(DateUtils.getNowDate());
//查询早午晚三餐消费 //查询早午晚三餐消费
for (SysStaffDetail sysStaffDetail : dt_list) { // for (SysStaffDetail sysStaffDetail : dt_list) {
if(sysStaff.getUserId() == sysStaffDetail.getStaffId()){ // if(sysStaff.getUserId() == sysStaffDetail.getStaffId()){
rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend()); // rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend());
rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend()); // rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend());
rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend()); // rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend());
} // }
} // }
rzRestaurantStatistics.setCreateTime(DateUtils.getNowDate()); rzRestaurantStatistics.setCreateTime(DateUtils.getNowDate());
rzRestaurantStatistics.setDelFlag(Constants.DELETE_FLAG_0); rzRestaurantStatistics.setDelFlag(Constants.DELETE_FLAG_0);
rzRestaurantStatistics.setCreateBy("admin"); rzRestaurantStatistics.setCreateBy("admin");

View File

@ -3,6 +3,8 @@ package com.evo.system.controller;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSON;
import com.evo.system.domain.SysStaff; import com.evo.system.domain.SysStaff;
import com.evo.system.domain.vo.SysStaffVo; import com.evo.system.domain.vo.SysStaffVo;
import com.evo.system.service.ISysStaffService; import com.evo.system.service.ISysStaffService;

View File

@ -49,6 +49,16 @@ public class SysStaffDetailController extends BaseController
return success(sysStaffDetailService.selectSysStaffDetailById(id)); return success(sysStaffDetailService.selectSysStaffDetailById(id));
} }
/**
* 获取员工详情详细信息
*/
@PreAuthorize("@ss.hasPermi('system:staffDetail:query')")
@GetMapping(value = "/byUser/{id}")
public AjaxResult getInfobyUser(@PathVariable("id") Long id)
{
return success(sysStaffDetailService.selectSysStaffDetailByUserId(id));
}
/** /**
* 修改员工详情 * 修改员工详情
*/ */

View File

@ -1,10 +1,14 @@
package com.evo.system.domain; package com.evo.system.domain;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.evo.common.annotation.Excel; import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity; import com.evo.common.core.domain.BaseEntity;
import org.springframework.data.redis.core.TimeToLive;
/** /**
* 员工详情对象 sys_staff_detail * 员工详情对象 sys_staff_detail
@ -12,6 +16,7 @@ import com.evo.common.core.domain.BaseEntity;
* @author evo * @author evo
* @date 2024-11-22 * @date 2024-11-22
*/ */
@Data
public class SysStaffDetail extends BaseEntity public class SysStaffDetail extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -35,39 +40,39 @@ public class SysStaffDetail extends BaseEntity
@Excel(name = "日薪") @Excel(name = "日薪")
private BigDecimal dailyWage; private BigDecimal dailyWage;
/** 时薪 */ // /** 时薪 */
@Excel(name = "时薪") // @Excel(name = "时薪")
private BigDecimal hoursSalary; // private BigDecimal hoursSalary;
//
// /** 全勤奖 */
// @Excel(name = "全勤奖")
// private BigDecimal fullFrequentlySubsidies;
//
// /** 学历补助 */
// @Excel(name = "学历补助")
// private BigDecimal levelOfEducationSubsidies;
//
// /** 合同补助 */
// @Excel(name = "合同补助")
// private BigDecimal contractSubsidies;
//
// /** 工龄补助 */
// @Excel(name = "工龄补助")
// private BigDecimal senioritySubsidies;
//
// /** 社保补助 */
// @Excel(name = "社保补助")
// private BigDecimal socialSecuritySubsidies;
// @Excel(name = "中班补助")
// private BigDecimal middleSubsidies;
//
// /** 夜班补助 */
// @Excel(name = "夜班补助")
// private BigDecimal nightShiftSubsidies;
/** 全勤奖 */ // /** 夜餐补助 */
@Excel(name = "全勤奖") // @Excel(name = "夜餐补助")
private BigDecimal fullFrequentlySubsidies; // private BigDecimal dinnerSubsidies;
/** 学历补助 */
@Excel(name = "学历补助")
private BigDecimal levelOfEducationSubsidies;
/** 合同补助 */
@Excel(name = "合同补助")
private BigDecimal contractSubsidies;
/** 工龄补助 */
@Excel(name = "工龄补助")
private BigDecimal senioritySubsidies;
/** 社保补助 */
@Excel(name = "社保补助")
private BigDecimal socialSecuritySubsidies;
@Excel(name = "中班补助")
private BigDecimal middleSubsidies;
/** 夜班补助 */
@Excel(name = "夜班补助")
private BigDecimal nightShiftSubsidies;
/** 夜餐补助 */
@Excel(name = "夜餐补助")
private BigDecimal dinnerSubsidies;
/** 固定补助 */ /** 固定补助 */
@Excel(name = "固定补助") @Excel(name = "固定补助")
@ -77,17 +82,17 @@ public class SysStaffDetail extends BaseEntity
@Excel(name = "其他补助") @Excel(name = "其他补助")
private BigDecimal otherSubsidies; private BigDecimal otherSubsidies;
/** 早餐消费 */ // /** 早餐消费 */
@Excel(name = "早餐消费") // @Excel(name = "早餐消费")
private BigDecimal breakfastExpend; // private BigDecimal breakfastExpend;
//
/** 午餐消费 */ // /** 午餐消费 */
@Excel(name = "午餐消费") // @Excel(name = "午餐消费")
private BigDecimal lunchExpend; // private BigDecimal lunchExpend;
//
/** 晚餐消费 */ // /** 晚餐消费 */
@Excel(name = "晚餐消费") // @Excel(name = "晚餐消费")
private BigDecimal supperExpend; // private BigDecimal supperExpend;
/** 离职扣款 */ /** 离职扣款 */
@Excel(name = "离职扣款") @Excel(name = "离职扣款")
@ -162,431 +167,14 @@ public class SysStaffDetail extends BaseEntity
/** 备注 */ /** 备注 */
@Excel(name = "备注") @Excel(name = "备注")
private String remarks; private String remarks;
@TableField(exist = false)
private BigDecimal OverWages; //加班工资 private BigDecimal OverWages; //加班工资
@TableField(exist = false)
private BigDecimal absenteeismSalary; //请假扣款 private BigDecimal absenteeismSalary; //请假扣款
@TableField(exist = false)
private BigDecimal absenteeismSubsidies; //补助扣除 private BigDecimal absenteeismSubsidies; //补助扣除
/** 删除标识 */ /** 删除标识 */
private String delFlag; private String delFlag;
public BigDecimal getMiddleSubsidies() {
return middleSubsidies;
}
public void setMiddleSubsidies(BigDecimal middleSubsidies) {
this.middleSubsidies = middleSubsidies;
}
public BigDecimal getCountInsurance() {
return countInsurance;
}
public void setCountInsurance(BigDecimal countInsurance) {
this.countInsurance = countInsurance;
}
public BigDecimal getAbsenteeismSubsidies() {
return absenteeismSubsidies;
}
public void setAbsenteeismSubsidies(BigDecimal absenteeismSubsidies) {
this.absenteeismSubsidies = absenteeismSubsidies;
}
public BigDecimal getAbsenteeismSalary() {
return absenteeismSalary;
}
public void setAbsenteeismSalary(BigDecimal absenteeismSalary) {
this.absenteeismSalary = absenteeismSalary;
}
public BigDecimal getOverWages() {
return OverWages;
}
public void setOverWages(BigDecimal overWages) {
OverWages = overWages;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setStaffId(Long staffId)
{
this.staffId = staffId;
}
public Long getStaffId()
{
return staffId;
}
public void setBasicSalary(BigDecimal basicSalary)
{
this.basicSalary = basicSalary;
}
public BigDecimal getBasicSalary()
{
return basicSalary;
}
public void setJobsSalary(BigDecimal jobsSalary)
{
this.jobsSalary = jobsSalary;
}
public BigDecimal getJobsSalary()
{
return jobsSalary;
}
public void setDailyWage(BigDecimal dailyWage)
{
this.dailyWage = dailyWage;
}
public BigDecimal getDailyWage()
{
return dailyWage;
}
public void setHoursSalary(BigDecimal hoursSalary)
{
this.hoursSalary = hoursSalary;
}
public BigDecimal getHoursSalary()
{
return hoursSalary;
}
public void setFullFrequentlySubsidies(BigDecimal fullFrequentlySubsidies)
{
this.fullFrequentlySubsidies = fullFrequentlySubsidies;
}
public BigDecimal getFullFrequentlySubsidies()
{
return fullFrequentlySubsidies;
}
public void setLevelOfEducationSubsidies(BigDecimal levelOfEducationSubsidies)
{
this.levelOfEducationSubsidies = levelOfEducationSubsidies;
}
public BigDecimal getLevelOfEducationSubsidies()
{
return levelOfEducationSubsidies;
}
public void setContractSubsidies(BigDecimal contractSubsidies)
{
this.contractSubsidies = contractSubsidies;
}
public BigDecimal getContractSubsidies()
{
return contractSubsidies;
}
public void setSenioritySubsidies(BigDecimal senioritySubsidies)
{
this.senioritySubsidies = senioritySubsidies;
}
public BigDecimal getSenioritySubsidies()
{
return senioritySubsidies;
}
public void setSocialSecuritySubsidies(BigDecimal socialSecuritySubsidies)
{
this.socialSecuritySubsidies = socialSecuritySubsidies;
}
public BigDecimal getSocialSecuritySubsidies()
{
return socialSecuritySubsidies;
}
public void setNightShiftSubsidies(BigDecimal nightShiftSubsidies)
{
this.nightShiftSubsidies = nightShiftSubsidies;
}
public BigDecimal getNightShiftSubsidies()
{
return nightShiftSubsidies;
}
public void setDinnerSubsidies(BigDecimal dinnerSubsidies)
{
this.dinnerSubsidies = dinnerSubsidies;
}
public BigDecimal getDinnerSubsidies()
{
return dinnerSubsidies;
}
public void setFixedAllowance(BigDecimal fixedAllowance)
{
this.fixedAllowance = fixedAllowance;
}
public BigDecimal getFixedAllowance()
{
return fixedAllowance;
}
public void setOtherSubsidies(BigDecimal otherSubsidies)
{
this.otherSubsidies = otherSubsidies;
}
public BigDecimal getOtherSubsidies()
{
return otherSubsidies;
}
public void setBreakfastExpend(BigDecimal breakfastExpend)
{
this.breakfastExpend = breakfastExpend;
}
public BigDecimal getBreakfastExpend()
{
return breakfastExpend;
}
public void setLunchExpend(BigDecimal lunchExpend)
{
this.lunchExpend = lunchExpend;
}
public BigDecimal getLunchExpend()
{
return lunchExpend;
}
public void setSupperExpend(BigDecimal supperExpend)
{
this.supperExpend = supperExpend;
}
public BigDecimal getSupperExpend()
{
return supperExpend;
}
public void setSubsidyDeductMoney(BigDecimal subsidyDeductMoney)
{
this.subsidyDeductMoney = subsidyDeductMoney;
}
public BigDecimal getSubsidyDeductMoney()
{
return subsidyDeductMoney;
}
public void setDeductions(BigDecimal deductions)
{
this.deductions = deductions;
}
public BigDecimal getDeductions()
{
return deductions;
}
public void setEndowmentInsurance(BigDecimal endowmentInsurance)
{
this.endowmentInsurance = endowmentInsurance;
}
public BigDecimal getEndowmentInsurance()
{
return endowmentInsurance;
}
public void setMedicalInsurance(BigDecimal medicalInsurance)
{
this.medicalInsurance = medicalInsurance;
}
public BigDecimal getMedicalInsurance()
{
return medicalInsurance;
}
public void setEmploymentInjuryInsurance(BigDecimal employmentInjuryInsurance)
{
this.employmentInjuryInsurance = employmentInjuryInsurance;
}
public BigDecimal getEmploymentInjuryInsurance()
{
return employmentInjuryInsurance;
}
public void setMaternityInsurance(BigDecimal maternityInsurance)
{
this.maternityInsurance = maternityInsurance;
}
public BigDecimal getMaternityInsurance()
{
return maternityInsurance;
}
public void setUnemploymentInsurance(BigDecimal unemploymentInsurance)
{
this.unemploymentInsurance = unemploymentInsurance;
}
public BigDecimal getUnemploymentInsurance()
{
return unemploymentInsurance;
}
public void setAccumulationFund(BigDecimal accumulationFund)
{
this.accumulationFund = accumulationFund;
}
public BigDecimal getAccumulationFund()
{
return accumulationFund;
}
public void setChildrenEducation(BigDecimal childrenEducation)
{
this.childrenEducation = childrenEducation;
}
public BigDecimal getChildrenEducation()
{
return childrenEducation;
}
public void setSupportTheOld(BigDecimal supportTheOld)
{
this.supportTheOld = supportTheOld;
}
public BigDecimal getSupportTheOld()
{
return supportTheOld;
}
public void setHousingLoans(BigDecimal housingLoans)
{
this.housingLoans = housingLoans;
}
public BigDecimal getHousingLoans()
{
return housingLoans;
}
public void setHousingRents(BigDecimal housingRents)
{
this.housingRents = housingRents;
}
public BigDecimal getHousingRents()
{
return housingRents;
}
public void setAdultEducation(BigDecimal adultEducation)
{
this.adultEducation = adultEducation;
}
public BigDecimal getAdultEducation()
{
return adultEducation;
}
public void setTreatmentForSeriousDisease(BigDecimal treatmentForSeriousDisease)
{
this.treatmentForSeriousDisease = treatmentForSeriousDisease;
}
public BigDecimal getTreatmentForSeriousDisease()
{
return treatmentForSeriousDisease;
}
public void setSpecialDeduction(BigDecimal specialDeduction)
{
this.specialDeduction = specialDeduction;
}
public BigDecimal getSpecialDeduction()
{
return specialDeduction;
}
public void setTotalWages(BigDecimal totalWages)
{
this.totalWages = totalWages;
}
public BigDecimal getTotalWages()
{
return totalWages;
}
public void setAggregatePersonalIncomeTax(BigDecimal aggregatePersonalIncomeTax)
{
this.aggregatePersonalIncomeTax = aggregatePersonalIncomeTax;
}
public BigDecimal getAggregatePersonalIncomeTax()
{
return aggregatePersonalIncomeTax;
}
public void setRemarks(String remarks)
{
this.remarks = remarks;
}
public String getRemarks()
{
return remarks;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("staffId", getStaffId())
.append("basicSalary", getBasicSalary())
.append("jobsSalary", getJobsSalary())
.append("dailyWage", getDailyWage())
.append("hoursSalary", getHoursSalary())
.append("fullFrequentlySubsidies", getFullFrequentlySubsidies())
.append("levelOfEducationSubsidies", getLevelOfEducationSubsidies())
.append("contractSubsidies", getContractSubsidies())
.append("senioritySubsidies", getSenioritySubsidies())
.append("socialSecuritySubsidies", getSocialSecuritySubsidies())
.append("nightShiftSubsidies", getNightShiftSubsidies())
.append("dinnerSubsidies", getDinnerSubsidies())
.append("fixedAllowance", getFixedAllowance())
.append("otherSubsidies", getOtherSubsidies())
.append("breakfastExpend", getBreakfastExpend())
.append("lunchExpend", getLunchExpend())
.append("supperExpend", getSupperExpend())
.append("subsidyDeductMoney", getSubsidyDeductMoney())
.append("deductions", getDeductions())
.append("endowmentInsurance", getEndowmentInsurance())
.append("medicalInsurance", getMedicalInsurance())
.append("employmentInjuryInsurance", getEmploymentInjuryInsurance())
.append("maternityInsurance", getMaternityInsurance())
.append("unemploymentInsurance", getUnemploymentInsurance())
.append("accumulationFund", getAccumulationFund())
.append("childrenEducation", getChildrenEducation())
.append("supportTheOld", getSupportTheOld())
.append("housingLoans", getHousingLoans())
.append("housingRents", getHousingRents())
.append("adultEducation", getAdultEducation())
.append("treatmentForSeriousDisease", getTreatmentForSeriousDisease())
.append("specialDeduction", getSpecialDeduction())
.append("totalWages", getTotalWages())
.append("aggregatePersonalIncomeTax", getAggregatePersonalIncomeTax())
.append("remarks", getRemarks())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
} }

View File

@ -1,17 +1,14 @@
package com.evo.system.mapper; package com.evo.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.common.core.domain.entity.RzUpload; import com.evo.common.core.domain.entity.RzUpload;
import com.evo.common.core.domain.entity.SysDept;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 部门管理 数据层 * 文件管理 数据层
* *
* @author evo * @author evo
*/ */
public interface RzUploadMapper public interface RzUploadMapper extends BaseMapper<RzUpload>
{ {
/** /**
* 新增文件信息 * 新增文件信息
@ -29,10 +26,4 @@ public interface RzUploadMapper
* @return * @return
*/ */
public int updateUploadValidByBusinessId(RzUpload upload); public int updateUploadValidByBusinessId(RzUpload upload);
/***
* 根据id查询
* @param id
* @return
*/
public RzUpload selectById(Long id);
} }

View File

@ -1,5 +1,6 @@
package com.evo.system.mapper; package com.evo.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.system.domain.SysStaffDetail; import com.evo.system.domain.SysStaffDetail;
import java.util.List; import java.util.List;
@ -10,7 +11,7 @@ import java.util.List;
* @author evo * @author evo
* @date 2024-11-22 * @date 2024-11-22
*/ */
public interface SysStaffDetailMapper public interface SysStaffDetailMapper extends BaseMapper<SysStaffDetail>
{ {
/** /**
* 查询员工详情 * 查询员工详情

View File

@ -1,5 +1,6 @@
package com.evo.system.mapper; package com.evo.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evo.system.domain.SysStaff; import com.evo.system.domain.SysStaff;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -12,7 +13,7 @@ import java.util.List;
* @author evo * @author evo
* @date 2024-11-21 * @date 2024-11-21
*/ */
public interface SysStaffMapper public interface SysStaffMapper extends BaseMapper<SysStaff>
{ {
/** /**
* 查询员工管理 * 查询员工管理

View File

@ -20,6 +20,13 @@ public interface ISysStaffDetailService
*/ */
public SysStaffDetail selectSysStaffDetailById(Long id); public SysStaffDetail selectSysStaffDetailById(Long id);
/**
* 查询员工详情
*
* @param id 员工详情主键
* @return 员工详情
*/
public SysStaffDetail selectSysStaffDetailByUserId(Long id);
/** /**
* 查询员工详情列表 * 查询员工详情列表
* *

View File

@ -1,5 +1,6 @@
package com.evo.system.service.impl; package com.evo.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.common.annotation.DataScope; import com.evo.common.annotation.DataScope;
import com.evo.common.constant.UserConstants; import com.evo.common.constant.UserConstants;
import com.evo.common.core.domain.TreeSelect; import com.evo.common.core.domain.TreeSelect;
@ -31,14 +32,12 @@ import java.util.stream.Collectors;
* @author evo * @author evo
*/ */
@Service @Service
public class RzUploadServiceImpl implements RzUploadService public class RzUploadServiceImpl extends ServiceImpl<RzUploadMapper, RzUpload> implements RzUploadService
{ {
@Resource
private RzUploadMapper rzUploadMapper;
@Override @Override
public RzUpload selectById(Long id) { public RzUpload selectById(Long id) {
return rzUploadMapper.selectById(id); return getById(id);
} }
/** /**
@ -49,7 +48,7 @@ public class RzUploadServiceImpl implements RzUploadService
@Override @Override
public int insertUpload(RzUpload upload) public int insertUpload(RzUpload upload)
{ {
return rzUploadMapper.insertUpload(upload); return getBaseMapper().insertUpload(upload);
} }
/** /**
@ -60,9 +59,9 @@ public class RzUploadServiceImpl implements RzUploadService
@Override @Override
public int updateUploadBusinessId(RzUpload upload) public int updateUploadBusinessId(RzUpload upload)
{ {
rzUploadMapper.updateUploadBusinessId(upload); getBaseMapper().updateUploadBusinessId(upload);
upload.setValid("valid"); upload.setValid("valid");
rzUploadMapper.updateUploadValidByBusinessId(upload); getBaseMapper().updateUploadValidByBusinessId(upload);
return 1; return 1;
} }

View File

@ -2,12 +2,19 @@ package com.evo.system.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.common.constant.Constants; import com.evo.common.constant.Constants;
import com.evo.common.core.domain.AjaxResult; import com.evo.common.core.domain.AjaxResult;
import com.evo.common.core.domain.entity.SysDictData; import com.evo.common.core.domain.entity.SysDictData;
import com.evo.common.utils.DateUtils; import com.evo.common.utils.DateUtils;
import com.evo.common.utils.SecurityUtils; import com.evo.common.utils.SecurityUtils;
import com.evo.common.utils.StringUtils; import com.evo.common.utils.StringUtils;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
import com.evo.personnelMatters.service.IRzSubsidyInfoService;
import com.evo.personnelMatters.service.impl.RzSubsidyInfoServiceImpl;
import com.evo.restaurant.domain.RzRestaurantStatistics; import com.evo.restaurant.domain.RzRestaurantStatistics;
import com.evo.restaurant.mapper.RzRestaurantStatisticsMapper; import com.evo.restaurant.mapper.RzRestaurantStatisticsMapper;
import com.evo.system.domain.SysStaff; import com.evo.system.domain.SysStaff;
@ -16,6 +23,8 @@ import com.evo.system.mapper.SysDictDataMapper;
import com.evo.system.mapper.SysStaffDetailMapper; import com.evo.system.mapper.SysStaffDetailMapper;
import com.evo.system.mapper.SysStaffMapper; import com.evo.system.mapper.SysStaffMapper;
import com.evo.system.service.ISysStaffDetailService; import com.evo.system.service.ISysStaffDetailService;
import com.evo.system.service.ISysStaffService;
import com.evo.system.utils.SubsidyCalculationUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -26,17 +35,16 @@ import javax.annotation.Resource;
* @date 2024-11-22 * @date 2024-11-22
*/ */
@Service @Service
public class SysStaffDetailServiceImpl implements ISysStaffDetailService public class SysStaffDetailServiceImpl extends ServiceImpl<SysStaffDetailMapper, SysStaffDetail> implements ISysStaffDetailService
{ {
@Resource @Resource
private SysStaffDetailMapper sysStaffDetailMapper; private ISysStaffService sysStaffService; //员工信息
@Resource
private SysStaffMapper sysStaffMapper; //员工信息
@Resource @Resource
private SysDictDataMapper sysDictDataMapper; //数据字典 private SysDictDataMapper sysDictDataMapper; //数据字典
@Resource @Resource
private RzRestaurantStatisticsMapper rzRestaurantStatisticsMapper; //餐饮统计 private RzRestaurantStatisticsMapper rzRestaurantStatisticsMapper; //餐饮统计
@Resource
private IRzSubsidyInfoService rzSubsidyInfoService;
/** /**
* 查询员工详情 * 查询员工详情
* *
@ -46,7 +54,12 @@ public class SysStaffDetailServiceImpl implements ISysStaffDetailService
@Override @Override
public SysStaffDetail selectSysStaffDetailById(Long id) public SysStaffDetail selectSysStaffDetailById(Long id)
{ {
return sysStaffDetailMapper.selectSysStaffDetailById(id); return getBaseMapper().selectSysStaffDetailById(id);
}
@Override
public SysStaffDetail selectSysStaffDetailByUserId(Long id) {
return SubsidyCalculationUtils.subsidyCalculation(sysStaffService.selectSysStaffByUserId(id),getOne(new LambdaQueryWrapper<SysStaffDetail>().eq(SysStaffDetail::getDelFlag, Constants.DELETE_FLAG_0).eq(SysStaffDetail::getStaffId, id).orderByDesc(SysStaffDetail::getCreateTime), false), rzSubsidyInfoService.list());
} }
/** /**
@ -58,7 +71,12 @@ public class SysStaffDetailServiceImpl implements ISysStaffDetailService
@Override @Override
public List<SysStaffDetail> selectSysStaffDetailList(SysStaffDetail sysStaffDetail) public List<SysStaffDetail> selectSysStaffDetailList(SysStaffDetail sysStaffDetail)
{ {
return sysStaffDetailMapper.selectSysStaffDetailList(sysStaffDetail); SysStaff sysStaff = sysStaffService.selectSysStaffByUserId(sysStaffDetail.getStaffId());
List<RzSubsidyInfo> subsidyInfoList = rzSubsidyInfoService.list();
List<SysStaffDetail> list = getBaseMapper().selectSysStaffDetailList(sysStaffDetail).stream().map(d-> {
return SubsidyCalculationUtils.subsidyCalculation(sysStaff,d, subsidyInfoList);
}).collect(Collectors.toList());
return list;
} }
/** /**
@ -73,64 +91,64 @@ public class SysStaffDetailServiceImpl implements ISysStaffDetailService
//餐饮 //餐饮
List<SysDictData> cy_list = sysDictDataMapper.selectDictDataByType(Constants.SYS_RESTAUTANT); List<SysDictData> cy_list = sysDictDataMapper.selectDictDataByType(Constants.SYS_RESTAUTANT);
//根据员工ID查询员工信息 //根据员工ID查询员工信息
SysStaff sysStaff = sysStaffMapper.selectSysStaffByUserId(sysStaffDetail.getStaffId()); SysStaff sysStaff = sysStaffService.selectSysStaffByUserId(sysStaffDetail.getStaffId());
//判断员工的住宿和工资类型填写餐补费用,住宿233 //判断员工的住宿和工资类型填写餐补费用,住宿233
if("".equals(sysStaff.getZsFlag())){ // if("".equals(sysStaff.getZsFlag())){
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("个人早餐".equals(sysDictData.getDictLabel())){ // if("个人早餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人晚餐".equals(sysDictData.getDictLabel())){ // if("个人晚餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
}else { // }else {
//非住宿月工资 // //非住宿月工资
if(StringUtils.isNotNull(sysStaffDetail.getBasicSalary())){ // if(StringUtils.isNotNull(sysStaffDetail.getBasicSalary())){
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("早餐消费".equals(sysDictData.getDictLabel())){ // if("早餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人晚餐".equals(sysDictData.getDictLabel())){ // if("个人晚餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
}else{ // }else{
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("早餐消费".equals(sysDictData.getDictLabel())){ // if("早餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("晚餐消费".equals(sysDictData.getDictLabel())){ // if("晚餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
} // }
} // }
sysStaffDetail.setUpdateTime(DateUtils.getNowDate()); sysStaffDetail.setUpdateTime(DateUtils.getNowDate());
sysStaffDetail.setUpdateBy(SecurityUtils.getUsername()); sysStaffDetail.setUpdateBy(SecurityUtils.getUsername());
//根据员工ID查询当前餐饮详情反写个人消费信息 //根据员工ID查询当前餐饮详情反写个人消费信息
RzRestaurantStatistics rzRestaurantStatistics = rzRestaurantStatisticsMapper.selectRzRestaurantStatisticsByUserIdAndDate(sysStaff.getUserId(),DateUtils.getNowDate()); RzRestaurantStatistics rzRestaurantStatistics = rzRestaurantStatisticsMapper.selectRzRestaurantStatisticsByUserIdAndDate(sysStaff.getUserId(),DateUtils.getNowDate());
if(StringUtils.isNotNull(rzRestaurantStatistics)){ // if(StringUtils.isNotNull(rzRestaurantStatistics)){
rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend()); // rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend());
rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend()); // rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend());
rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend()); // rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend());
rzRestaurantStatisticsMapper.updateRzRestaurantStatistics(rzRestaurantStatistics); // rzRestaurantStatisticsMapper.updateRzRestaurantStatistics(rzRestaurantStatistics);
} // }
return sysStaffDetailMapper.updateSysStaffDetail(sysStaffDetail); return getBaseMapper().updateSysStaffDetail(sysStaffDetail);
} }
public AjaxResult clearAllSubsidy(){ public AjaxResult clearAllSubsidy(){
int i = sysStaffDetailMapper.clearAllSubsidy(); int i = getBaseMapper().clearAllSubsidy();
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }

View File

@ -6,12 +6,16 @@ import java.io.FileOutputStream;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Period;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.attendance.domain.RzAttendance; import com.evo.attendance.domain.RzAttendance;
import com.evo.attendance.domain.RzAttendanceStatistical; import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.mapper.RzAttendanceMapper; import com.evo.attendance.mapper.RzAttendanceMapper;
@ -22,6 +26,7 @@ import com.evo.common.core.domain.AjaxResult;
import com.evo.common.core.domain.entity.RzUpload; import com.evo.common.core.domain.entity.RzUpload;
import com.evo.common.core.domain.entity.SysDept; import com.evo.common.core.domain.entity.SysDept;
import com.evo.common.core.domain.entity.SysDictData; import com.evo.common.core.domain.entity.SysDictData;
import com.evo.common.utils.Collections;
import com.evo.common.utils.DateUtils; import com.evo.common.utils.DateUtils;
import com.evo.common.utils.SecurityUtils; import com.evo.common.utils.SecurityUtils;
import com.evo.common.utils.StringUtils; import com.evo.common.utils.StringUtils;
@ -47,6 +52,7 @@ import com.evo.system.service.ISysStaffService;
import com.evo.system.service.RzUploadService; import com.evo.system.service.RzUploadService;
import com.evo.utils.DateUtil; import com.evo.utils.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Sheet;
@ -65,10 +71,8 @@ import javax.annotation.Resource;
*/ */
@Slf4j @Slf4j
@Service @Service
public class SysStaffServiceImpl implements ISysStaffService public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> implements ISysStaffService
{ {
@Resource
private SysStaffMapper sysStaffMapper;
@Resource @Resource
private SysStaffDetailMapper sysStaffDetailMapper; //员工详情 private SysStaffDetailMapper sysStaffDetailMapper; //员工详情
@Resource @Resource
@ -96,7 +100,11 @@ public class SysStaffServiceImpl implements ISysStaffService
@Override @Override
public SysStaff selectSysStaffByUserId(Long userId) public SysStaff selectSysStaffByUserId(Long userId)
{ {
return sysStaffMapper.selectSysStaffByUserId(userId); SysStaff sysStaff = getBaseMapper().selectOne(new LambdaQueryWrapper<SysStaff>().eq(SysStaff::getUserId, userId));
if(StringUtils.isNotEmpty(sysStaff.getSubsidys())){
sysStaff.setSubsidyList(Collections.asList(sysStaff.getSubsidys().split(",")).stream().map(Long::valueOf).collect(Collectors.toList()));
}
return sysStaff;
} }
/** /**
* 查询员工管理列表 * 查询员工管理列表
@ -108,7 +116,7 @@ public class SysStaffServiceImpl implements ISysStaffService
@DataScope(deptAlias = "d") @DataScope(deptAlias = "d")
public List<SysStaff> selectSysStaffList(SysStaff sysStaff) public List<SysStaff> selectSysStaffList(SysStaff sysStaff)
{ {
List<SysStaff> res_list = sysStaffMapper.selectSysStaffList(sysStaff); List<SysStaff> res_list = getBaseMapper().selectSysStaffList(sysStaff);
for (SysStaff staff : res_list) { for (SysStaff staff : res_list) {
staff.setDeptName(deptMapper.selectDeptById(staff.getDeptId()).getDeptName()); staff.setDeptName(deptMapper.selectDeptById(staff.getDeptId()).getDeptName());
} }
@ -125,7 +133,7 @@ public class SysStaffServiceImpl implements ISysStaffService
public AjaxResult insertSysStaff(SysStaff sysStaff) public AjaxResult insertSysStaff(SysStaff sysStaff)
{ {
//根据省份证号查询是否已经录入 //根据省份证号查询是否已经录入
SysStaff p_staff = sysStaffMapper.queryysStaffByIdCard(sysStaff.getIdCard()); SysStaff p_staff = getBaseMapper().queryysStaffByIdCard(sysStaff.getIdCard());
if(StringUtils.isNotNull(p_staff)){ if(StringUtils.isNotNull(p_staff)){
return AjaxResult.error("此人录入过!!"); return AjaxResult.error("此人录入过!!");
} }
@ -151,7 +159,12 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setCreateTime(DateUtils.getNowDate()); sysStaff.setCreateTime(DateUtils.getNowDate());
sysStaff.setCreateBy(SecurityUtils.getUsername()); sysStaff.setCreateBy(SecurityUtils.getUsername());
sysStaff.setDelFlag(Constants.DELETE_FLAG_0); sysStaff.setDelFlag(Constants.DELETE_FLAG_0);
int i = sysStaffMapper.insertSysStaff(sysStaff);
if(CollectionUtils.isNotEmpty(sysStaff.getSubsidyList())){
sysStaff.setSubsidys(sysStaff.getSubsidyList().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
int i = getBaseMapper().insertSysStaff(sysStaff);
if(i < 1){ if(i < 1){
return AjaxResult.error("员工添加失败"); return AjaxResult.error("员工添加失败");
} }
@ -159,7 +172,7 @@ public class SysStaffServiceImpl implements ISysStaffService
//员工详情 //员工详情
createStaffDetail(sysStaff); createStaffDetail(sysStaff);
//打卡统计打卡详情 //打卡统计打卡详情
createRzAttendance(sysStaff); createRzAttendance(sysStaff, getMonthAndDays());
//处理餐饮信息 //处理餐饮信息
createRestaurantStatistics(sysStaff); createRestaurantStatistics(sysStaff);
//处理考勤机相关信息 //处理考勤机相关信息
@ -228,48 +241,8 @@ public class SysStaffServiceImpl implements ISysStaffService
if(StringUtils.isNull(sysStaffDetail)){ if(StringUtils.isNull(sysStaffDetail)){
sysStaffDetail = new SysStaffDetail(); sysStaffDetail = new SysStaffDetail();
} }
//合同补助
BigDecimal contractSubsidies = new BigDecimal(0);
//学历补助
BigDecimal levelOfEducationSubsidies = new BigDecimal(0);
//新农合补助
BigDecimal socialSecuritySubsidies = new BigDecimal(0);
//正式员工
if("1".equals(sysStaff.getStatus())){
//查询学历
String dictLabel = sysDictDataMapper.selectDictLabel(Constants.SYS_LEVEL, sysStaff.getLevel());
//学历补助
if(org.apache.commons.lang3.StringUtils.isNotEmpty(dictLabel)){
RzSubsidy rzSubsidy = rzSubsidyMapper.selectRzSubsidyByName(dictLabel);
if(StringUtils.isNotNull(rzSubsidy)){
levelOfEducationSubsidies= rzSubsidy.getValue();
}
}
//合同补助 1年期合同
if("1".equals(sysStaff.getContractType())){
contractSubsidies = new BigDecimal(Constants.SYS_CONTRACT_0);
}else if("3".equals(sysStaff.getContractType())){ //3年期合同
contractSubsidies = new BigDecimal(Constants.SYS_CONTRACT_1);
}
//社保补助 判断是否是新农合 ,是社保补助400元
if("新农合".equals(sysStaff.getSocialType()) && "".equals(sysStaff.getSocialSubsidy())){
socialSecuritySubsidies = new BigDecimal(Constants.SYS_SOCIAL_SUBSIDIES);
}
}
sysStaffDetail.setLevelOfEducationSubsidies(levelOfEducationSubsidies);
sysStaffDetail.setContractSubsidies(contractSubsidies);
sysStaffDetail.setSocialSecuritySubsidies(socialSecuritySubsidies);
if(StringUtils.isNull(sysStaffDetail.getStaffId())){ if(StringUtils.isNull(sysStaffDetail.getStaffId())){
sysStaffDetail.setStaffId(sysStaff.getUserId()); sysStaffDetail.setStaffId(sysStaff.getUserId());
//sysStaffDetail.setSenioritySubsidies(new BigDecimal(Constants.SYS_SENIORITY_SUBSIDIES));
//关于工龄补贴, 初始新增员工, 工龄补贴全部为0
sysStaffDetail.setSenioritySubsidies(new BigDecimal(0));
sysStaffDetail.setCreateBy(SecurityUtils.getUsername()); sysStaffDetail.setCreateBy(SecurityUtils.getUsername());
sysStaffDetail.setCreateTime(DateUtils.getNowDate()); sysStaffDetail.setCreateTime(DateUtils.getNowDate());
sysStaffDetail.setDelFlag(Constants.DELETE_FLAG_0); sysStaffDetail.setDelFlag(Constants.DELETE_FLAG_0);
@ -284,7 +257,7 @@ public class SysStaffServiceImpl implements ISysStaffService
* 创建打卡考勤信息 * 创建打卡考勤信息
* @param sysStaff * @param sysStaff
*/ */
private void createRzAttendance(SysStaff sysStaff){ private void createRzAttendance(SysStaff sysStaff, List<String> dayList){
//根据员工ID查询当月的统计信息统计信息 //根据员工ID查询当月的统计信息统计信息
RzAttendanceStatistical rzAttendanceStatistical = rzAttendanceStatisticalMapper.getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(),DateUtils.getNowDate()); RzAttendanceStatistical rzAttendanceStatistical = rzAttendanceStatisticalMapper.getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(),DateUtils.getNowDate());
if(StringUtils.isNotNull(rzAttendanceStatistical)){ if(StringUtils.isNotNull(rzAttendanceStatistical)){
@ -317,26 +290,16 @@ public class SysStaffServiceImpl implements ISysStaffService
rzAttendanceStatistical.setCreateTime(DateUtils.getNowDate()); rzAttendanceStatistical.setCreateTime(DateUtils.getNowDate());
rzAttendanceStatisticalMapper.insertRzAttendanceStatistical(rzAttendanceStatistical); rzAttendanceStatisticalMapper.insertRzAttendanceStatistical(rzAttendanceStatistical);
//新增考勤详情 //新增考勤详情
//获取当月天数
Calendar calendar = Calendar.getInstance();
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
SimpleDateFormat sdfm = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd");
RzAttendance rzAttendance = null; RzAttendance rzAttendance = null;
List<RzAttendance> pa_list = new ArrayList<RzAttendance>(); List<RzAttendance> pa_list = new ArrayList<RzAttendance>();
for(int p=1;p<=days;p++){ for(String day: dayList){
rzAttendance = new RzAttendance(); rzAttendance = new RzAttendance();
rzAttendance.setDeptId(sysStaff.getDeptId()); rzAttendance.setDeptId(sysStaff.getDeptId());
rzAttendance.setName(sysStaff.getName()); rzAttendance.setName(sysStaff.getName());
rzAttendance.setStaffId(sysStaff.getUserId()); rzAttendance.setStaffId(sysStaff.getUserId());
try{ try{
String rq = sdfm.format(DateUtils.getNowDate()); rzAttendance.setAttendanceDate(sdfd.parse(day));
if(p < 10){
rq += "-" + Constants.SEIZE_A_SEAT_0 + p;
}else {
rq += "-" + p;
}
rzAttendance.setAttendanceDate(sdfd.parse(rq));
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }
@ -347,6 +310,27 @@ public class SysStaffServiceImpl implements ISysStaffService
} }
rzAttendanceMapper.insertBatchRzAttendance(pa_list); rzAttendanceMapper.insertBatchRzAttendance(pa_list);
} }
public List<String> getMonthAndDays(){
List<String> dayList = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
SimpleDateFormat sdfm = new SimpleDateFormat("yyyy-MM");
for(int p=1;p<=days;p++){
try{
String rq = sdfm.format(DateUtils.getNowDate())+"-";
if(p < 10){
rq += Constants.SEIZE_A_SEAT_0 + p;
}else {
rq += p;
}
dayList.add(rq);
}catch (Exception e){
e.printStackTrace();
}
}
return dayList;
}
/** /**
* 创建餐饮统计 * 创建餐饮统计
* @param sysStaff * @param sysStaff
@ -368,9 +352,9 @@ public class SysStaffServiceImpl implements ISysStaffService
rzRestaurantStatistics.setMonth(DateUtils.getNowDate()); rzRestaurantStatistics.setMonth(DateUtils.getNowDate());
SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId()); SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
if(StringUtils.isNotNull(sysStaffDetail)){ if(StringUtils.isNotNull(sysStaffDetail)){
rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend()); // rzRestaurantStatistics.setBreakfastExpend(sysStaffDetail.getBreakfastExpend());
rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend()); // rzRestaurantStatistics.setLunchExpend(sysStaffDetail.getLunchExpend());
rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend()); // rzRestaurantStatistics.setSupperExpend(sysStaffDetail.getSupperExpend());
} }
rzRestaurantStatistics.setDelFlag(Constants.DELETE_FLAG_0); rzRestaurantStatistics.setDelFlag(Constants.DELETE_FLAG_0);
rzRestaurantStatistics.setCreateBy(SecurityUtils.getUsername()); rzRestaurantStatistics.setCreateBy(SecurityUtils.getUsername());
@ -423,12 +407,16 @@ public class SysStaffServiceImpl implements ISysStaffService
@Transactional @Transactional
public AjaxResult updateSysStaff(SysStaff sysStaff) public AjaxResult updateSysStaff(SysStaff sysStaff)
{ {
if(CollectionUtils.isNotEmpty(sysStaff.getSubsidyList())){
sysStaff.setSubsidys(sysStaff.getSubsidyList().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
//判断是否有离职时间有则为离职 //判断是否有离职时间有则为离职
if(StringUtils.isNotNull(sysStaff.getQuitDate())){ if(StringUtils.isNotNull(sysStaff.getQuitDate())){
//离职时间小于当前,说明离职了 //离职时间小于当前,说明离职了
if(sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){ if(sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){
sysStaff.setStatus("-1"); sysStaff.setStatus("-1");
int i = sysStaffMapper.updateSysStaff(sysStaff); int i = getBaseMapper().updateSysStaff(sysStaff);
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
@ -440,7 +428,7 @@ public class SysStaffServiceImpl implements ISysStaffService
//离职时间小于当前,说明离职了 //离职时间小于当前,说明离职了
if(sysStaff.getRegularDate().getTime() < DateUtils.getNowDate().getTime()){ if(sysStaff.getRegularDate().getTime() < DateUtils.getNowDate().getTime()){
sysStaff.setStatus("1"); sysStaff.setStatus("1");
int i = sysStaffMapper.updateSysStaff(sysStaff); int i = getBaseMapper().updateSysStaff(sysStaff);
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
@ -456,14 +444,14 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setSex("0"); sysStaff.setSex("0");
} }
//根据员工ID查询原来的数据信息 //根据员工ID查询原来的数据信息
SysStaff old_staff = sysStaffMapper.selectSysStaffByUserId(sysStaff.getUserId()); SysStaff old_staff = getBaseMapper().selectSysStaffByUserId(sysStaff.getUserId());
//判断员工更换公司 //判断员工更换公司
if(!old_staff.getCompanyName().equals(sysStaff.getCompanyName())){ if(!old_staff.getCompanyName().equals(sysStaff.getCompanyName())){
//保存旧公司数据存档 //保存旧公司数据存档
old_staff.setDelFlag(Constants.DELETE_FLAG_1); old_staff.setDelFlag(Constants.DELETE_FLAG_1);
old_staff.setUpdateBy(SecurityUtils.getUsername()); old_staff.setUpdateBy(SecurityUtils.getUsername());
old_staff.setUpdateTime(DateUtils.getNowDate()); old_staff.setUpdateTime(DateUtils.getNowDate());
int i = sysStaffMapper.updateSysStaff(old_staff); int i = getBaseMapper().updateSysStaff(old_staff);
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
@ -486,14 +474,14 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setUpdateTime(DateUtils.getNowDate()); sysStaff.setUpdateTime(DateUtils.getNowDate());
sysStaff.setUpdateBy(SecurityUtils.getUsername()); sysStaff.setUpdateBy(SecurityUtils.getUsername());
int i= sysStaffMapper.updateSysStaff(sysStaff); int i= getBaseMapper().updateSysStaff(sysStaff);
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
//修改员工详情 //修改员工详情
createStaffDetail(sysStaff); createStaffDetail(sysStaff);
//修改考勤统计 //修改考勤统计
createRzAttendance(sysStaff); createRzAttendance(sysStaff, getMonthAndDays());
//餐饮统计 //餐饮统计
createRestaurantStatistics(sysStaff); createRestaurantStatistics(sysStaff);
} }
@ -504,12 +492,12 @@ public class SysStaffServiceImpl implements ISysStaffService
*/ */
private void createNewStaff(SysStaff sysStaff){ private void createNewStaff(SysStaff sysStaff){
//根据身份证查询员工是否已经入职过现在的公司 //根据身份证查询员工是否已经入职过现在的公司
SysStaff param_staff = sysStaffMapper.queryysStaffByIdCardAndDeptId(sysStaff.getIdCard(),sysStaff.getDeptId()); SysStaff param_staff = getBaseMapper().queryysStaffByIdCardAndDeptId(sysStaff.getIdCard(),sysStaff.getDeptId());
if(StringUtils.isNotNull(param_staff)){ if(StringUtils.isNotNull(param_staff)){
param_staff.setDelFlag(Constants.DELETE_FLAG_0); param_staff.setDelFlag(Constants.DELETE_FLAG_0);
param_staff.setUpdateBy(SecurityUtils.getUsername()); param_staff.setUpdateBy(SecurityUtils.getUsername());
param_staff.setUpdateTime(DateUtils.getNowDate()); param_staff.setUpdateTime(DateUtils.getNowDate());
sysStaffMapper.updateSysStaff(param_staff); getBaseMapper().updateSysStaff(param_staff);
return; return;
} }
sysStaff.setCode(getCodeByCompanyName(sysStaff.getCompanyName())); sysStaff.setCode(getCodeByCompanyName(sysStaff.getCompanyName()));
@ -518,11 +506,11 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setDelFlag(Constants.DELETE_FLAG_0); sysStaff.setDelFlag(Constants.DELETE_FLAG_0);
//清除原来的ID //清除原来的ID
sysStaff.setUserId(null); sysStaff.setUserId(null);
sysStaffMapper.insertSysStaff(sysStaff); getBaseMapper().insertSysStaff(sysStaff);
//添加员工详情 //添加员工详情
createStaffDetail(sysStaff); createStaffDetail(sysStaff);
//修改考勤统计 //修改考勤统计
createRzAttendance(sysStaff); createRzAttendance(sysStaff, getMonthAndDays());
//餐饮统计 //餐饮统计
createRestaurantStatistics(sysStaff); createRestaurantStatistics(sysStaff);
} }
@ -535,7 +523,7 @@ public class SysStaffServiceImpl implements ISysStaffService
@Override @Override
public int deleteSysStaffByUserId(Long userId) public int deleteSysStaffByUserId(Long userId)
{ {
SysStaff sysStaff = sysStaffMapper.selectSysStaffByUserId(userId); SysStaff sysStaff = getBaseMapper().selectSysStaffByUserId(userId);
//判断员工是否为领导是反写部门 //判断员工是否为领导是反写部门
if("".equals(sysStaff.getIsLeader())){ if("".equals(sysStaff.getIsLeader())){
//根据ID查询部门信息 //根据ID查询部门信息
@ -550,14 +538,14 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setUpdateTime(DateUtils.getNowDate()); sysStaff.setUpdateTime(DateUtils.getNowDate());
sysStaff.setUpdateBy(SecurityUtils.getUsername()); sysStaff.setUpdateBy(SecurityUtils.getUsername());
sysStaff.setDelFlag(Constants.DELETE_FLAG_1); sysStaff.setDelFlag(Constants.DELETE_FLAG_1);
return sysStaffMapper.updateSysStaff(sysStaff); return getBaseMapper().updateSysStaff(sysStaff);
} }
/** /**
* 查询所有的在职员工信息 * 查询所有的在职员工信息
* @return * @return
*/ */
public List<SysStaff> selectSysStaffListAll(){ public List<SysStaff> selectSysStaffListAll(){
List<SysStaff> res_list = sysStaffMapper.selectSysStaffListAll(); List<SysStaff> res_list = getBaseMapper().selectSysStaffListAll();
for (SysStaff sysStaff : res_list) { for (SysStaff sysStaff : res_list) {
sysStaff.setDeptName(deptMapper.selectDeptById(sysStaff.getDeptId()).getDeptName()); sysStaff.setDeptName(deptMapper.selectDeptById(sysStaff.getDeptId()).getDeptName());
} }
@ -639,7 +627,7 @@ public class SysStaffServiceImpl implements ISysStaffService
continue; continue;
} }
//根据身份证号查询员工 //根据身份证号查询员工
sysStaff = sysStaffMapper.queryysStaffByIdCard(row.getCell(2).getStringCellValue()); sysStaff = getBaseMapper().queryysStaffByIdCard(row.getCell(2).getStringCellValue());
//没有此员工继续下一条 //没有此员工继续下一条
if(StringUtils.isNull(sysStaff)){ if(StringUtils.isNull(sysStaff)){
continue; continue;
@ -724,7 +712,7 @@ public class SysStaffServiceImpl implements ISysStaffService
public List<SysStaffVo> selectSysStaffDetailList(SysStaff sysStaff){ public List<SysStaffVo> selectSysStaffDetailList(SysStaff sysStaff){
List<SysStaffVo> res_list = new ArrayList<SysStaffVo>(); List<SysStaffVo> res_list = new ArrayList<SysStaffVo>();
//查询员工信息 //查询员工信息
List<SysStaff> yg_list = sysStaffMapper.selectSysStaffList(sysStaff); List<SysStaff> yg_list = getBaseMapper().selectSysStaffList(sysStaff);
List<SysDictData> sub_list = sysDictDataMapper.selectDictDataByType("sys_level"); List<SysDictData> sub_list = sysDictDataMapper.selectDictDataByType("sys_level");
List<SysDictData> zz_list = sysDictDataMapper.selectDictDataByType("sys_worker_status"); List<SysDictData> zz_list = sysDictDataMapper.selectDictDataByType("sys_worker_status");
SysStaffVo sysStaffVo = null; SysStaffVo sysStaffVo = null;
@ -787,7 +775,7 @@ public class SysStaffServiceImpl implements ISysStaffService
BeanUtils.copyProperties(Staffvo,sysStaff); BeanUtils.copyProperties(Staffvo,sysStaff);
BeanUtils.copyProperties(Staffvo,sysStaffDetail); BeanUtils.copyProperties(Staffvo,sysStaffDetail);
// 验证是否存在这个员工 // 验证是否存在这个员工
SysStaff staff = sysStaffMapper.queryysStaffByIdCard(sysStaff.getIdCard()); SysStaff staff = getBaseMapper().queryysStaffByIdCard(sysStaff.getIdCard());
//员工存在 //员工存在
if(StringUtils.isNotNull(staff)){ if(StringUtils.isNotNull(staff)){
continue; continue;
@ -844,52 +832,52 @@ public class SysStaffServiceImpl implements ISysStaffService
sysStaff.setCreateTime(DateUtils.getNowDate()); sysStaff.setCreateTime(DateUtils.getNowDate());
sysStaff.setCreateBy(SecurityUtils.getUsername()); sysStaff.setCreateBy(SecurityUtils.getUsername());
sysStaff.setDelFlag(Constants.DELETE_FLAG_0); sysStaff.setDelFlag(Constants.DELETE_FLAG_0);
int i = sysStaffMapper.insertSysStaff(sysStaff); int i = getBaseMapper().insertSysStaff(sysStaff);
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
//获取三餐数据 //获取三餐数据
//判断员工的住宿和工资类型填写餐补费用,住宿233 //判断员工的住宿和工资类型填写餐补费用,住宿233
if("".equals(sysStaff.getZsFlag())){ // if("".equals(sysStaff.getZsFlag())){
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("个人早餐".equals(sysDictData.getDictLabel())){ // if("个人早餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人晚餐".equals(sysDictData.getDictLabel())){ // if("个人晚餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
}else { // }else {
//非住宿月工资 // //非住宿月工资
if(StringUtils.isNotNull(sysStaffDetail.getBasicSalary())){ // if(StringUtils.isNotNull(sysStaffDetail.getBasicSalary())){
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("早餐消费".equals(sysDictData.getDictLabel())){ // if("早餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人晚餐".equals(sysDictData.getDictLabel())){ // if("个人晚餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
}else{ // }else{
for (SysDictData sysDictData : cy_list) { // for (SysDictData sysDictData : cy_list) {
if("早餐消费".equals(sysDictData.getDictLabel())){ // if("早餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setBreakfastExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("个人午餐".equals(sysDictData.getDictLabel())){ // if("个人午餐".equals(sysDictData.getDictLabel())){
sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setLunchExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
if("晚餐消费".equals(sysDictData.getDictLabel())){ // if("晚餐消费".equals(sysDictData.getDictLabel())){
sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue())); // sysStaffDetail.setSupperExpend(new BigDecimal(sysDictData.getDictValue()));
} // }
} // }
} // }
} // }
sysStaffDetail.setStaffId(sysStaff.getUserId()); sysStaffDetail.setStaffId(sysStaff.getUserId());
sysStaffDetail.setDelFlag(Constants.DELETE_FLAG_0); sysStaffDetail.setDelFlag(Constants.DELETE_FLAG_0);
sysStaffDetail.setCreateTime(DateUtils.getNowDate()); sysStaffDetail.setCreateTime(DateUtils.getNowDate());
@ -898,7 +886,7 @@ public class SysStaffServiceImpl implements ISysStaffService
if(i < 1){ if(i < 1){
return AjaxResult.error(); return AjaxResult.error();
} }
createRzAttendance(sysStaff); createRzAttendance(sysStaff, getMonthAndDays());
//餐饮统计 //餐饮统计
createRestaurantStatistics(sysStaff); createRestaurantStatistics(sysStaff);
} }
@ -915,7 +903,7 @@ public class SysStaffServiceImpl implements ISysStaffService
*/ */
private String getCodeByCompanyName(String companyName){ private String getCodeByCompanyName(String companyName){
//根据公司名称查询当前公司下的最大编号 //根据公司名称查询当前公司下的最大编号
SysStaff macCode = sysStaffMapper.querySysStaffOfMaxByCompany(companyName); SysStaff macCode = getBaseMapper().querySysStaffOfMaxByCompany(companyName);
if(macCode == null){ if(macCode == null){
return companyName + "0001"; return companyName + "0001";
} }
@ -936,10 +924,11 @@ public class SysStaffServiceImpl implements ISysStaffService
@Override @Override
public void autoCreateAttendanceData(){ public void autoCreateAttendanceData(){
//获取在职员工数据 //获取在职员工数据
List<SysStaff> params_list = sysStaffMapper.selectSysStaffListAll(); List<SysStaff> params_list = getBaseMapper().selectSysStaffListAll();
List<String> dayList = getMonthAndDays();
//循环在职员工生成考勤统计 //循环在职员工生成考勤统计
for (SysStaff sysStaff : params_list) { for (SysStaff sysStaff : params_list) {
createRzAttendance(sysStaff); createRzAttendance(sysStaff, dayList);
} }
} }
@ -949,12 +938,12 @@ public class SysStaffServiceImpl implements ISysStaffService
@Override @Override
public void autoRegularWorking(){ public void autoRegularWorking(){
//获取在职员工数据 //获取在职员工数据
List<SysStaff> params_list = sysStaffMapper.selectSysStaffListAll(); List<SysStaff> params_list = getBaseMapper().selectSysStaffListAll();
for (SysStaff sysStaff : params_list) { for (SysStaff sysStaff : params_list) {
//判断员工是否离职 //判断员工是否离职
if(StringUtils.isNotNull(sysStaff.getQuitDate()) && sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){ if(StringUtils.isNotNull(sysStaff.getQuitDate()) && sysStaff.getQuitDate().getTime() < DateUtils.getNowDate().getTime()){
sysStaff.setStatus("-1"); sysStaff.setStatus("-1");
sysStaffMapper.updateSysStaff(sysStaff); getBaseMapper().updateSysStaff(sysStaff);
return; return;
} }
//判断转正时间无转正日期自动计算转正日期(入职日期后一个月) //判断转正时间无转正日期自动计算转正日期(入职日期后一个月)
@ -969,7 +958,7 @@ public class SysStaffServiceImpl implements ISysStaffService
if(sysStaff.getRegularDate().getTime() < DateUtils.getNowDate().getTime()){ if(sysStaff.getRegularDate().getTime() < DateUtils.getNowDate().getTime()){
sysStaff.setStatus("1"); sysStaff.setStatus("1");
} }
sysStaffMapper.updateSysStaff(sysStaff); getBaseMapper().updateSysStaff(sysStaff);
} }
} }
@ -986,7 +975,7 @@ public class SysStaffServiceImpl implements ISysStaffService
for (SysDept sysDept : d_list) { for (SysDept sysDept : d_list) {
list.add(sysDept.getDeptId()); list.add(sysDept.getDeptId());
} }
return sysStaffMapper.queryysStaffByDeptId(list); return getBaseMapper().queryysStaffByDeptId(list);
} }
/** /**
@ -995,7 +984,7 @@ public class SysStaffServiceImpl implements ISysStaffService
@Override @Override
public void calculationOfSeniority(){ public void calculationOfSeniority(){
//获取在职员工数据 //获取在职员工数据
List<SysStaff> params_list = sysStaffMapper.selectSysStaffListAll(); List<SysStaff> params_list = getBaseMapper().selectSysStaffListAll();
//当前日期减去一个月计算工龄计算工资比实际工龄延后一个月 //当前日期减去一个月计算工龄计算工资比实际工龄延后一个月
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1); calendar.add(Calendar.MONTH, -1);
@ -1018,7 +1007,7 @@ public class SysStaffServiceImpl implements ISysStaffService
}else{ }else{
sysStaff.setSeniority(0l); sysStaff.setSeniority(0l);
} }
sysStaffMapper.updateSysStaff(sysStaff); getBaseMapper().updateSysStaff(sysStaff);
} }
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();

View File

@ -0,0 +1,73 @@
package com.evo.system.utils;
import com.alibaba.fastjson2.util.BeanUtils;
import com.evo.common.constant.Constants;
import com.evo.common.core.domain.entity.SysDictData;
import com.evo.common.utils.DateUtils;
import com.evo.common.utils.spring.SpringUtils;
import com.evo.personnelMatters.domain.RzSubsidy;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
import com.evo.personnelMatters.mapper.RzSubsidyMapper;
import com.evo.system.domain.SysStaff;
import com.evo.system.domain.SysStaffDetail;
import com.evo.system.mapper.SysDictDataMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*
* @ClassName:SubsidyCalculationUtils
* @date: 2025年05月22日 11:26
* @author: andy.shi
* @contact: 17330188597
* @remark: 开发人员联系方式 1042025947@qq.com/微信同步
*/
public class SubsidyCalculationUtils {
public static final String ht = "12";
public static final String gl = "14";
public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList){
//正式员工并且有补助信息
if(Constants.JOB_STATIS_1.equals(staff.getStatus()) && StringUtils.isNotEmpty(staff.getSubsidys())){
Map<Long, RzSubsidyInfo> map = subsidyInfoList.stream().collect(Collectors.toMap(RzSubsidyInfo::getId, d->d, (k1, K2)->k1));
for(String subsidyId : staff.getSubsidys().split(",")){
RzSubsidyInfo rzSubsidyInfo = map.get(Long.valueOf(subsidyId));
String key = rzSubsidyInfo.getName();
BigDecimal value = rzSubsidyInfo.getValue();
if(ht.equals(subsidyId)){
Integer year= DateUtils.getBetweenYear(staff.getContractStart(), staff.getContractEnd());
value = value.multiply(new BigDecimal(year));
}else if(gl.equals(subsidyId)){
Integer year= DateUtils.getBetweenYear(staff.getEmploymentDate(), new Date());
//最多只允许10年的工龄补贴
if(year > 10) year=10;
value = value.multiply(new BigDecimal(year));
}
staffDetail.getExtendeds().put(key, value);
}
//计算学历补助
if(StringUtils.isNotEmpty(staff.getLevel())){
//查询学历
String label = SpringUtils.getBean(SysDictDataMapper.class).selectDictLabel(Constants.SYS_LEVEL, staff.getLevel());
if(StringUtils.isNotEmpty(label)){
RzSubsidy rzSubsidy = SpringUtils.getBean(RzSubsidyMapper.class).selectRzSubsidyByName(label);
if(ObjectUtils.isNotEmpty(rzSubsidy)){
staffDetail.getExtendeds().put("学历补助", rzSubsidy.getValue());
}
}
}
}
return staffDetail;
}
}

View File

@ -80,7 +80,7 @@ mybatis-plus:
map-underscore-to-camel-case: true map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
type-aliases-package: com.evo.**.domain type-aliases-package: com.evo.**.domain
mapper-locations: classpath*:mapper/**/*Mapper.xml mapper-locations: classpath:mapper/**/*Mapper.xml
global-config: global-config:
db-config: db-config:
id-type: auto id-type: auto

View File

@ -10,19 +10,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="basicSalary" column="basic_salary" /> <result property="basicSalary" column="basic_salary" />
<result property="jobsSalary" column="jobs_salary" /> <result property="jobsSalary" column="jobs_salary" />
<result property="dailyWage" column="daily_wage" /> <result property="dailyWage" column="daily_wage" />
<result property="hoursSalary" column="hours_salary" /> <!-- <result property="hoursSalary" column="hours_salary" />-->
<result property="fullFrequentlySubsidies" column="full_frequently_subsidies" /> <!-- <result property="fullFrequentlySubsidies" column="full_frequently_subsidies" />-->
<result property="levelOfEducationSubsidies" column="level_of_education_subsidies" /> <!-- <result property="levelOfEducationSubsidies" column="level_of_education_subsidies" />-->
<result property="contractSubsidies" column="contract_subsidies" /> <!-- <result property="contractSubsidies" column="contract_subsidies" />-->
<result property="senioritySubsidies" column="seniority_subsidies" /> <!-- <result property="senioritySubsidies" column="seniority_subsidies" />-->
<result property="socialSecuritySubsidies" column="social_security_subsidies" /> <!-- <result property="socialSecuritySubsidies" column="social_security_subsidies" />-->
<result property="nightShiftSubsidies" column="night_shift_subsidies" /> <!-- <result property="nightShiftSubsidies" column="night_shift_subsidies" />-->
<result property="dinnerSubsidies" column="dinner_subsidies" /> <!-- <result property="dinnerSubsidies" column="dinner_subsidies" />-->
<result property="fixedAllowance" column="fixed_allowance" /> <result property="fixedAllowance" column="fixed_allowance" />
<result property="otherSubsidies" column="other_subsidies" /> <result property="otherSubsidies" column="other_subsidies" />
<result property="breakfastExpend" column="breakfast_expend" /> <!-- <result property="breakfastExpend" column="breakfast_expend" />-->
<result property="lunchExpend" column="lunch_expend" /> <!-- <result property="lunchExpend" column="lunch_expend" />-->
<result property="supperExpend" column="supper_expend" /> <!-- <result property="supperExpend" column="supper_expend" />-->
<result property="subsidyDeductMoney" column="subsidy_deduct_money" /> <result property="subsidyDeductMoney" column="subsidy_deduct_money" />
<result property="deductions" column="deductions" /> <result property="deductions" column="deductions" />
<result property="endowmentInsurance" column="endowment_insurance" /> <result property="endowmentInsurance" column="endowment_insurance" />
@ -47,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="middleSubsidies" column="middle_subsidies" /> <!-- <result property="middleSubsidies" column="middle_subsidies" />-->
</resultMap> </resultMap>
<sql id="selectSysStaffDetailVo"> <sql id="selectSysStaffDetailVo">
@ -74,20 +74,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="basicSalary != null">basic_salary,</if> <if test="basicSalary != null">basic_salary,</if>
<if test="jobsSalary != null">jobs_salary,</if> <if test="jobsSalary != null">jobs_salary,</if>
<if test="dailyWage != null">daily_wage,</if> <if test="dailyWage != null">daily_wage,</if>
<if test="hoursSalary != null">hours_salary,</if> <!-- <if test="hoursSalary != null">hours_salary,</if>-->
<if test="fullFrequentlySubsidies != null">full_frequently_subsidies,</if> <!-- <if test="fullFrequentlySubsidies != null">full_frequently_subsidies,</if>-->
<if test="levelOfEducationSubsidies != null">level_of_education_subsidies,</if> <!-- <if test="levelOfEducationSubsidies != null">level_of_education_subsidies,</if>-->
<if test="contractSubsidies != null">contract_subsidies,</if> <!-- <if test="contractSubsidies != null">contract_subsidies,</if>-->
<if test="senioritySubsidies != null">seniority_subsidies,</if> <!-- <if test="senioritySubsidies != null">seniority_subsidies,</if>-->
<if test="socialSecuritySubsidies != null">social_security_subsidies,</if> <!-- <if test="socialSecuritySubsidies != null">social_security_subsidies,</if>-->
<if test="nightShiftSubsidies != null">night_shift_subsidies,</if> <!-- <if test="nightShiftSubsidies != null">night_shift_subsidies,</if>-->
<if test="dinnerSubsidies != null">dinner_subsidies,</if> <!-- <if test="dinnerSubsidies != null">dinner_subsidies,</if>-->
<if test="fixedAllowance != null">fixed_allowance,</if> <if test="fixedAllowance != null">fixed_allowance,</if>
<if test="otherSubsidies != null">other_subsidies,</if> <if test="otherSubsidies != null">other_subsidies,</if>
<if test="breakfastExpend != null">breakfast_expend,</if> <if test="breakfastExpend != null">breakfast_expend,</if>
<if test="lunchExpend != null">lunch_expend,</if> <!-- <if test="lunchExpend != null">lunch_expend,</if>-->
<if test="supperExpend != null">supper_expend,</if> <!-- <if test="supperExpend != null">supper_expend,</if>-->
<if test="subsidyDeductMoney != null">subsidy_deduct_money,</if> <!-- <if test="subsidyDeductMoney != null">subsidy_deduct_money,</if>-->
<if test="deductions != null">deductions,</if> <if test="deductions != null">deductions,</if>
<if test="endowmentInsurance != null">endowment_insurance,</if> <if test="endowmentInsurance != null">endowment_insurance,</if>
<if test="medicalInsurance != null">medical_insurance,</if> <if test="medicalInsurance != null">medical_insurance,</if>
@ -111,26 +111,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="countInsurance != null">count_insurance,</if> <if test="countInsurance != null">count_insurance,</if>
<if test="middleSubsidies != null">middle_subsidies,</if> <!-- <if test="middleSubsidies != null">middle_subsidies,</if>-->
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="staffId != null">#{staffId},</if> <if test="staffId != null">#{staffId},</if>
<if test="basicSalary != null">#{basicSalary},</if> <if test="basicSalary != null">#{basicSalary},</if>
<if test="jobsSalary != null">#{jobsSalary},</if> <if test="jobsSalary != null">#{jobsSalary},</if>
<if test="dailyWage != null">#{dailyWage},</if> <if test="dailyWage != null">#{dailyWage},</if>
<if test="hoursSalary != null">#{hoursSalary},</if> <!-- <if test="hoursSalary != null">#{hoursSalary},</if>-->
<if test="fullFrequentlySubsidies != null">#{fullFrequentlySubsidies},</if> <!-- <if test="fullFrequentlySubsidies != null">#{fullFrequentlySubsidies},</if>-->
<if test="levelOfEducationSubsidies != null">#{levelOfEducationSubsidies},</if> <!-- <if test="levelOfEducationSubsidies != null">#{levelOfEducationSubsidies},</if>-->
<if test="contractSubsidies != null">#{contractSubsidies},</if> <!-- <if test="contractSubsidies != null">#{contractSubsidies},</if>-->
<if test="senioritySubsidies != null">#{senioritySubsidies},</if> <!-- <if test="senioritySubsidies != null">#{senioritySubsidies},</if>-->
<if test="socialSecuritySubsidies != null">#{socialSecuritySubsidies},</if> <!-- <if test="socialSecuritySubsidies != null">#{socialSecuritySubsidies},</if>-->
<if test="nightShiftSubsidies != null">#{nightShiftSubsidies},</if> <!-- <if test="nightShiftSubsidies != null">#{nightShiftSubsidies},</if>-->
<if test="dinnerSubsidies != null">#{dinnerSubsidies},</if> <!-- <if test="dinnerSubsidies != null">#{dinnerSubsidies},</if>-->
<if test="fixedAllowance != null">#{fixedAllowance},</if> <if test="fixedAllowance != null">#{fixedAllowance},</if>
<if test="otherSubsidies != null">#{otherSubsidies},</if> <if test="otherSubsidies != null">#{otherSubsidies},</if>
<if test="breakfastExpend != null">#{breakfastExpend},</if> <!-- <if test="breakfastExpend != null">#{breakfastExpend},</if>-->
<if test="lunchExpend != null">#{lunchExpend},</if> <!-- <if test="lunchExpend != null">#{lunchExpend},</if>-->
<if test="supperExpend != null">#{supperExpend},</if> <!-- <if test="supperExpend != null">#{supperExpend},</if>-->
<if test="subsidyDeductMoney != null">#{subsidyDeductMoney},</if> <if test="subsidyDeductMoney != null">#{subsidyDeductMoney},</if>
<if test="deductions != null">#{deductions},</if> <if test="deductions != null">#{deductions},</if>
<if test="endowmentInsurance != null">#{endowmentInsurance},</if> <if test="endowmentInsurance != null">#{endowmentInsurance},</if>
@ -155,7 +155,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="countInsurance != null">#{countInsurance},</if> <if test="countInsurance != null">#{countInsurance},</if>
<if test="middleSubsidies != null">#{middleSubsidies},</if> <!-- <if test="middleSubsidies != null">#{middleSubsidies},</if>-->
</trim> </trim>
</insert> </insert>
@ -166,19 +166,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="basicSalary != null">basic_salary = #{basicSalary},</if> <if test="basicSalary != null">basic_salary = #{basicSalary},</if>
<if test="jobsSalary != null">jobs_salary = #{jobsSalary},</if> <if test="jobsSalary != null">jobs_salary = #{jobsSalary},</if>
<if test="dailyWage != null">daily_wage = #{dailyWage},</if> <if test="dailyWage != null">daily_wage = #{dailyWage},</if>
<if test="hoursSalary != null">hours_salary = #{hoursSalary},</if> <!-- <if test="hoursSalary != null">hours_salary = #{hoursSalary},</if>-->
<if test="fullFrequentlySubsidies != null">full_frequently_subsidies = #{fullFrequentlySubsidies},</if> <!-- <if test="fullFrequentlySubsidies != null">full_frequently_subsidies = #{fullFrequentlySubsidies},</if>-->
<if test="levelOfEducationSubsidies != null">level_of_education_subsidies = #{levelOfEducationSubsidies},</if> <!-- <if test="levelOfEducationSubsidies != null">level_of_education_subsidies = #{levelOfEducationSubsidies},</if>-->
<if test="contractSubsidies != null">contract_subsidies = #{contractSubsidies},</if> <!-- <if test="contractSubsidies != null">contract_subsidies = #{contractSubsidies},</if>-->
<if test="senioritySubsidies != null">seniority_subsidies = #{senioritySubsidies},</if> <!-- <if test="senioritySubsidies != null">seniority_subsidies = #{senioritySubsidies},</if>-->
<if test="socialSecuritySubsidies != null">social_security_subsidies = #{socialSecuritySubsidies},</if> <!-- <if test="socialSecuritySubsidies != null">social_security_subsidies = #{socialSecuritySubsidies},</if>-->
<if test="nightShiftSubsidies != null">night_shift_subsidies = #{nightShiftSubsidies},</if> <!-- <if test="nightShiftSubsidies != null">night_shift_subsidies = #{nightShiftSubsidies},</if>-->
<if test="dinnerSubsidies != null">dinner_subsidies = #{dinnerSubsidies},</if> <!-- <if test="dinnerSubsidies != null">dinner_subsidies = #{dinnerSubsidies},</if>-->
<if test="fixedAllowance != null">fixed_allowance = #{fixedAllowance},</if> <if test="fixedAllowance != null">fixed_allowance = #{fixedAllowance},</if>
<if test="otherSubsidies != null">other_subsidies = #{otherSubsidies},</if> <if test="otherSubsidies != null">other_subsidies = #{otherSubsidies},</if>
<if test="breakfastExpend != null">breakfast_expend = #{breakfastExpend},</if> <!-- <if test="breakfastExpend != null">breakfast_expend = #{breakfastExpend},</if>-->
<if test="lunchExpend != null">lunch_expend = #{lunchExpend},</if> <!-- <if test="lunchExpend != null">lunch_expend = #{lunchExpend},</if>-->
<if test="supperExpend != null">supper_expend = #{supperExpend},</if> <!-- <if test="supperExpend != null">supper_expend = #{supperExpend},</if>-->
<if test="subsidyDeductMoney != null">subsidy_deduct_money = #{subsidyDeductMoney},</if> <if test="subsidyDeductMoney != null">subsidy_deduct_money = #{subsidyDeductMoney},</if>
<if test="deductions != null">deductions = #{deductions},</if> <if test="deductions != null">deductions = #{deductions},</if>
<if test="endowmentInsurance != null">endowment_insurance = #{endowmentInsurance},</if> <if test="endowmentInsurance != null">endowment_insurance = #{endowmentInsurance},</if>
@ -203,7 +203,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="countInsurance != null">count_insurance = #{countInsurance},</if> <if test="countInsurance != null">count_insurance = #{countInsurance},</if>
<if test="middleSubsidies != null">middle_subsidies = #{middleSubsidies},</if> <!-- <if test="middleSubsidies != null">middle_subsidies = #{middleSubsidies},</if>-->
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

View File

@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select user_id,company_name, dept_id, code, name, id_card,is_leader, sex, age, phone, address, level, major, school, bank_number,social_subsidy, bank, employment_date, experience, worker_term, regular_date, quit_date, contract_start, contract_end, contract_type, social_type, seniority, is_overtime_pay, zs_flag, secrecy, injury, insurance, introducer, clock_in, status, wages_ratio_date, remarks, del_flag, create_by, create_time, update_by, update_time from sys_staff select user_id,company_name, dept_id, code, name, id_card,is_leader, sex, age, phone, address, level, major, school, bank_number,social_subsidy, bank, employment_date, experience, worker_term, regular_date, quit_date, contract_start, contract_end, contract_type, social_type, seniority, is_overtime_pay, zs_flag, secrecy, injury, insurance, introducer, clock_in, status, wages_ratio_date, remarks, del_flag, create_by, create_time, update_by, update_time from sys_staff
</sql> </sql>
<select id="selectSysStaffList" parameterType="SysStaff" resultMap="SysStaffResult"> <select id="selectSysStaffList" parameterType="com.evo.system.domain.SysStaff" resultMap="SysStaffResult">
<include refid="selectSysStaffVo"/> <include refid="selectSysStaffVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
@ -82,7 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where user_id = #{userId} where user_id = #{userId}
</select> </select>
<insert id="insertSysStaff" parameterType="SysStaff" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertSysStaff" parameterType="com.evo.system.domain.SysStaff" useGeneratedKeys="true" keyProperty="userId">
insert into sys_staff insert into sys_staff
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="companyName != null">company_name,</if> <if test="companyName != null">company_name,</if>
@ -128,6 +128,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="socialSubsidy != null">social_subsidy,</if> <if test="socialSubsidy != null">social_subsidy,</if>
<if test="imageUrl != null">image_url,</if> <if test="imageUrl != null">image_url,</if>
<if test="timeClock != null">time_clock,</if> <if test="timeClock != null">time_clock,</if>
<if test="subsidys != null">subsidys,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="companyName != null">#{companyName},</if> <if test="companyName != null">#{companyName},</if>
@ -173,10 +175,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="socialSubsidy != null">#{socialSubsidy},</if> <if test="socialSubsidy != null">#{socialSubsidy},</if>
<if test="imageUrl != null">#{imageUrl},</if> <if test="imageUrl != null">#{imageUrl},</if>
<if test="timeClock != null">#{timeClock},</if> <if test="timeClock != null">#{timeClock},</if>
<if test="subsidys != null">#{subsidys},</if>
</trim> </trim>
</insert> </insert>
<update id="updateSysStaff" parameterType="SysStaff"> <update id="updateSysStaff" parameterType="com.evo.system.domain.SysStaff">
update sys_staff update sys_staff
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="companyName != null">company_name = #{companyName},</if> <if test="companyName != null">company_name = #{companyName},</if>
@ -222,6 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="socialSubsidy != null">social_subsidy = #{socialSubsidy},</if> <if test="socialSubsidy != null">social_subsidy = #{socialSubsidy},</if>
<if test="imageUrl != null">image_url = #{imageUrl},</if> <if test="imageUrl != null">image_url = #{imageUrl},</if>
<if test="timeClock != null">time_clock = #{timeClock},</if> <if test="timeClock != null">time_clock = #{timeClock},</if>
<if test="subsidys != null">subsidys = #{subsidys},</if>
</trim> </trim>
where user_id = #{userId} where user_id = #{userId}
</update> </update>