改版调整

This commit is contained in:
andy 2026-03-31 15:23:55 +08:00
parent 5242b4f3d3
commit 967ea6020b
13 changed files with 148 additions and 433 deletions

View File

@ -171,16 +171,21 @@ public class RzAttendanceStatisticalServiceImpl extends ServiceImpl<RzAttendance
RzAttendanceStatistical rzAttendanceStatistical = getBaseMapper().getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(),date);
if(StringUtils.isNotNull(rzAttendanceStatistical)){
//判断名称和部门是否一样不一样操作修改
if(!rzAttendanceStatistical.getName().equals(sysStaff.getName()) || rzAttendanceStatistical.getDeptId() != sysStaff.getDeptId()){
//if(!rzAttendanceStatistical.getName().equals(sysStaff.getName()) || rzAttendanceStatistical.getDeptId() != sysStaff.getDeptId()){
if(!rzAttendanceStatistical.getName().equals(sysStaff.getName())){
//修改部门和姓名
rzAttendanceStatistical.setName(sysStaff.getName());
if(rzAttendanceStatistical.getDeptId() == null){
rzAttendanceStatistical.setDeptId(sysStaff.getDeptId());
}
getBaseMapper().updateRzAttendanceStatistical(rzAttendanceStatistical);
//查询考勤详情修改
List<RzAttendance> kq_list = rzAttendanceMapper.queryMonthAttendanceByStaffId(sysStaff.getUserId(),new Date());
//循环修改信息
for (RzAttendance rzAttendance : kq_list) {
if(rzAttendanceStatistical.getDeptId() == null){
rzAttendance.setDeptId(sysStaff.getDeptId());
}
rzAttendance.setName(sysStaff.getName());
rzAttendanceMapper.updateRzAttendance(rzAttendance);
}

View File

@ -104,7 +104,7 @@ public class RzSysParamServiceImpl extends ServiceImpl<RzSysParamMapper, RzSysPa
@Override
@Cacheable(cacheNames = Constants.SYS_RUNNING_PARAMS, key = "#code")
// @Cacheable(cacheNames = Constants.SYS_RUNNING_PARAMS, key = "#code")
public RzSysParam getRzSysParam(String name, String code, String defVal, String des){
RzSysParam param = getRzSysParam(code);
if(ObjectUtils.isEmpty(param)){
@ -118,7 +118,7 @@ public class RzSysParamServiceImpl extends ServiceImpl<RzSysParamMapper, RzSysPa
return param;
}
@Override
@Cacheable(cacheNames = Constants.SYS_RUNNING_PARAMS, key = "#code")
// @Cacheable(cacheNames = Constants.SYS_RUNNING_PARAMS, key = "#code")
public RzSysParam getRzSysParam(String code){
return getOne(new LambdaQueryWrapper<RzSysParam>().eq(RzSysParam::getParamCode, code));
}

View File

@ -133,7 +133,7 @@ public class ParamUtils {
* @return
*/
public static List<String> getInternDailyWage(){
RzSysParam param= paramService.getRzSysParam("实习生不住宿的日薪人员名单", "intern_not_accommodation","乔克俭","实习生不住宿的日薪人员名单");
RzSysParam param= paramService.getRzSysParam("实习生不住宿的日薪人员名单", "intern_daily_wage","乔克俭","实习生不住宿的日薪人员名单");
return Collections.asList(param.getParamValue().split(","));
}

View File

@ -42,9 +42,6 @@ public class RzSalaryDetailController extends BaseController
private IRzSalaryDetailService rzSalaryDetailService;
@Autowired
private ISysDeptService deptService; //部门
@Resource
private SysDictDataMapper sysDictDataMapper; //数据字典
/**
* 查询工资详情列表
*/
@ -101,403 +98,6 @@ public class RzSalaryDetailController extends BaseController
return toAjax(rzSalaryDetailService.deleteRzSalaryDetailById(id));
}
/**
* 导出工资详情列表
*/
@PreAuthorize("@ss.hasPermi('finance:financeDetail:export')")
@Log(title = "工资详情", businessType = BusinessType.EXPORT)
@PostMapping("/export1")
public AjaxResult export1(RzSalaryDetail rzSalaryDetail)
{
ExcelUtilSs<SalaryVo> util = new ExcelUtilSs<SalaryVo>(SalaryVo.class);
//创建总表
List<SalaryVo> list = new ArrayList<SalaryVo>();
//创建各个公司的数据
List<List<SalaryVo>> lists = new ArrayList<>();
//创建各个部门sheetname集合
List<String> sheetNameList = new ArrayList<>();
//汇总表表头
String title = new SimpleDateFormat("yyyy-MM").format(rzSalaryDetail.getMonth())+"月工资汇总表";
//获取所有的最小独立部门
List<SysDept> dept_list = deptService.queryAllDeptForMin();
//员工工资信息
SalaryVo salaryVo = null;
//工资数据转化的保存
List<SalaryVo> list0 =new ArrayList<SalaryVo>();
for (SysDept sysDept : dept_list) {
sheetNameList.add(sysDept.getDeptName());
//部门小计
SalaryVo xj_salaryVo = new SalaryVo();
// xj_salaryVo.setBasicSalary(new BigDecimal("0.00"));
xj_salaryVo.setName("小计:");
//查询部门下的数据
List<RzSalaryDetail> pay_list = rzSalaryDetailService.selectSalaryDetailByDeptId(sysDept.getDeptId(),rzSalaryDetail.getMonth());
for (RzSalaryDetail salaryDetail : pay_list) {
salaryVo = new SalaryVo();
// xj_salaryVo.setBasicSalary(xj_salaryVo.getBasicSalary().add(salaryDetail.getBasicSalary()));
// if(StringUtils.isNull(xj_salaryVo.getOvertimeSalary())){
// xj_salaryVo.setOvertimeSalary(new BigDecimal("0.00"));
// }
// xj_salaryVo.setOvertimeSalary(xj_salaryVo.getOvertimeSalary().add(salaryDetail.getOvertimeSalary()));
// if(StringUtils.isNull(xj_salaryVo.getLevelSubsidies())){
// xj_salaryVo.setLevelSubsidies(new BigDecimal("0.00"));
// }
xj_salaryVo.setLevelSubsidies(xj_salaryVo.getLevelSubsidies().add(salaryDetail.getLevelSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getContractSubsidies())){
xj_salaryVo.setContractSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setContractSubsidies(xj_salaryVo.getContractSubsidies().add(salaryDetail.getContractSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getSenioritySalary())){
xj_salaryVo.setSenioritySalary(new BigDecimal("0.00"));
}
xj_salaryVo.setSenioritySalary(xj_salaryVo.getSenioritySalary().add(salaryDetail.getSenioritySalary()));
if(StringUtils.isNull(xj_salaryVo.getSocialSubsidies())){
xj_salaryVo.setSocialSubsidies(new BigDecimal("0.00"));
}
// xj_salaryVo.setSocialSubsidies(xj_salaryVo.getSocialSubsidies().add(salaryDetail.getSocialSubsidies()));
// if(StringUtils.isNull(xj_salaryVo.getFullSubsidies())){
// xj_salaryVo.setFullSubsidies(new BigDecimal("0.00"));
// }
// xj_salaryVo.setFullSubsidies(xj_salaryVo.getFullSubsidies().add(salaryDetail.getFullSubsidies()));
// if(StringUtils.isNull(xj_salaryVo.getNightSubsidies())){
// xj_salaryVo.setNightSubsidies(new BigDecimal("0.00"));
// }
xj_salaryVo.setNightSubsidies(xj_salaryVo.getNightSubsidies().add(salaryDetail.getNightSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getDinnerSubsidies())){
xj_salaryVo.setDinnerSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setDinnerSubsidies(xj_salaryVo.getDinnerSubsidies().add(salaryDetail.getDinnerSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getSubsidyOrBonus())){
xj_salaryVo.setSubsidyOrBonus(new BigDecimal("0.00"));
}
xj_salaryVo.setSubsidyOrBonus(xj_salaryVo.getSubsidyOrBonus().add(salaryDetail.getSubsidyOrBonus()));
if(StringUtils.isNull(xj_salaryVo.getAbsenteeismSalary())){
xj_salaryVo.setAbsenteeismSalary(new BigDecimal("0.00"));
}
xj_salaryVo.setAbsenteeismSalary(xj_salaryVo.getAbsenteeismSalary().add(salaryDetail.getAbsenteeismSalary()));
if(StringUtils.isNull(xj_salaryVo.getAbsenteeismSubsidies())){
xj_salaryVo.setAbsenteeismSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setAbsenteeismSubsidies(xj_salaryVo.getAbsenteeismSubsidies().add(salaryDetail.getAbsenteeismSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getMealFee())){
xj_salaryVo.setMealFee(new BigDecimal("0.00"));
}
xj_salaryVo.setMealFee(xj_salaryVo.getMealFee().add(salaryDetail.getMealFee()));
if(StringUtils.isNull(xj_salaryVo.getDeductions())){
xj_salaryVo.setDeductions(new BigDecimal("0.00"));
}
xj_salaryVo.setDeductions(xj_salaryVo.getDeductions().add(salaryDetail.getDeductions()));
if(StringUtils.isNull(xj_salaryVo.getSalary())){
xj_salaryVo.setSalary(new BigDecimal("0.00"));
}
xj_salaryVo.setSalary(xj_salaryVo.getSalary().add(salaryDetail.getSalary()));
if(StringUtils.isNull(xj_salaryVo.getPayInsurance())){
xj_salaryVo.setPayInsurance(new BigDecimal("0.00"));
}
xj_salaryVo.setPayInsurance(xj_salaryVo.getPayInsurance().add(salaryDetail.getPayInsurance()));
if(StringUtils.isNull(xj_salaryVo.getSalaryBeforeTax())){
xj_salaryVo.setSalaryBeforeTax(new BigDecimal("0.00"));
}
xj_salaryVo.setSalaryBeforeTax(xj_salaryVo.getSalaryBeforeTax().add(salaryDetail.getSalaryBeforeTax()));
if(StringUtils.isNull(xj_salaryVo.getTotalWages())){
xj_salaryVo.setTotalWages(new BigDecimal("0.00"));
}
xj_salaryVo.setTotalWages(xj_salaryVo.getTotalWages().add(salaryDetail.getTotalWages()));
if(StringUtils.isNull(xj_salaryVo.getAnnualExemptionAmount())){
xj_salaryVo.setAnnualExemptionAmount(new BigDecimal("0.00"));
}
xj_salaryVo.setAnnualExemptionAmount(xj_salaryVo.getAnnualExemptionAmount().add(salaryDetail.getAnnualExemptionAmount()));
if(StringUtils.isNull(xj_salaryVo.getSpecialDeduction())){
xj_salaryVo.setSpecialDeduction(new BigDecimal("0.00"));
}
xj_salaryVo.setSpecialDeduction(xj_salaryVo.getSpecialDeduction().add(salaryDetail.getSpecialDeduction()));
if(StringUtils.isNull(xj_salaryVo.getSlowDownTheDeduction())){
xj_salaryVo.setSlowDownTheDeduction(new BigDecimal("0.00"));
}
xj_salaryVo.setSlowDownTheDeduction(xj_salaryVo.getSlowDownTheDeduction().add(salaryDetail.getSlowDownTheDeduction()));
if(StringUtils.isNull(xj_salaryVo.getAggregatePersonalIncomeTax())){
xj_salaryVo.setAggregatePersonalIncomeTax(new BigDecimal("0.00"));
}
xj_salaryVo.setAggregatePersonalIncomeTax(xj_salaryVo.getAggregatePersonalIncomeTax().add(salaryDetail.getAggregatePersonalIncomeTax()));
if(StringUtils.isNull(xj_salaryVo.getTaxPayable())){
xj_salaryVo.setTaxPayable(new BigDecimal("0.00"));
}
xj_salaryVo.setTaxPayable(xj_salaryVo.getTaxPayable().add(salaryDetail.getTaxPayable()));
if(StringUtils.isNull(xj_salaryVo.getNetPayroll())){
xj_salaryVo.setNetPayroll(new BigDecimal("0.00"));
}
xj_salaryVo.setNetPayroll(xj_salaryVo.getNetPayroll().add(salaryDetail.getNetPayroll()));
BeanUtils.copyProperties(salaryDetail, salaryVo);
salaryVo.setDeptName(sysDept.getDeptName());
list0.add(salaryVo);
}
list0.add(xj_salaryVo);
lists.add(list0);
list.add(xj_salaryVo);
}
//计算伊特总计数据
SalaryVo gj_salaryVo = new SalaryVo();
for (SalaryVo salaryVoz : list) {
// if(StringUtils.isNull(gj_salaryVo.getBasicSalary())){
// gj_salaryVo.setBasicSalary(new BigDecimal("0.00"));
// }
// gj_salaryVo.setBasicSalary(gj_salaryVo.getBasicSalary().add(salaryVoz.getBasicSalary()));
// if(StringUtils.isNull(gj_salaryVo.getOvertimeSalary())){
// gj_salaryVo.setOvertimeSalary(new BigDecimal("0.00"));
// }
// gj_salaryVo.setOvertimeSalary(gj_salaryVo.getOvertimeSalary().add(DataUtils.findDefaultValue(salaryVoz.getOvertimeSalary(), DataUtils.DEFAULT_VALUE)));
// if(StringUtils.isNull(gj_salaryVo.getLevelSubsidies())){
// gj_salaryVo.setLevelSubsidies(new BigDecimal("0.00"));
// }
gj_salaryVo.setLevelSubsidies(gj_salaryVo.getLevelSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getLevelSubsidies(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getContractSubsidies())){
gj_salaryVo.setContractSubsidies(new BigDecimal("0.00"));
}
gj_salaryVo.setContractSubsidies(gj_salaryVo.getContractSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getContractSubsidies(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSenioritySalary())){
gj_salaryVo.setSenioritySalary(new BigDecimal("0.00"));
}
gj_salaryVo.setSenioritySalary(gj_salaryVo.getSenioritySalary().add(DataUtils.findDefaultValue(salaryVoz.getSenioritySalary(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSocialSubsidies())){
gj_salaryVo.setSocialSubsidies(new BigDecimal("0.00"));
}
// gj_salaryVo.setSocialSubsidies(gj_salaryVo.getSocialSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getSocialSubsidies(), DataUtils.DEFAULT_VALUE)));
// if(StringUtils.isNull(gj_salaryVo.getFullSubsidies())){
// gj_salaryVo.setFullSubsidies(new BigDecimal("0.00"));
// }
// gj_salaryVo.setFullSubsidies(gj_salaryVo.getFullSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getFullSubsidies(), DataUtils.DEFAULT_VALUE)));
// if(StringUtils.isNull(gj_salaryVo.getNightSubsidies())){
// gj_salaryVo.setNightSubsidies(new BigDecimal("0.00"));
// }
gj_salaryVo.setNightSubsidies(gj_salaryVo.getNightSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getNightSubsidies(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getDinnerSubsidies())){
gj_salaryVo.setDinnerSubsidies(new BigDecimal("0.00"));
}
gj_salaryVo.setDinnerSubsidies(gj_salaryVo.getDinnerSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getDinnerSubsidies(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSubsidyOrBonus())){
gj_salaryVo.setSubsidyOrBonus(new BigDecimal("0.00"));
}
gj_salaryVo.setSubsidyOrBonus(gj_salaryVo.getSubsidyOrBonus().add(DataUtils.findDefaultValue(salaryVoz.getSubsidyOrBonus(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getAbsenteeismSalary())){
gj_salaryVo.setAbsenteeismSalary(new BigDecimal("0.00"));
}
gj_salaryVo.setAbsenteeismSalary(gj_salaryVo.getAbsenteeismSalary().add(DataUtils.findDefaultValue(salaryVoz.getAbsenteeismSalary(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getAbsenteeismSubsidies())){
gj_salaryVo.setAbsenteeismSubsidies(new BigDecimal("0.00"));
}
gj_salaryVo.setAbsenteeismSubsidies(gj_salaryVo.getAbsenteeismSubsidies().add(DataUtils.findDefaultValue(salaryVoz.getAbsenteeismSubsidies(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getMealFee())){
gj_salaryVo.setMealFee(new BigDecimal("0.00"));
}
gj_salaryVo.setMealFee(gj_salaryVo.getMealFee().add(DataUtils.findDefaultValue(salaryVoz.getMealFee(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getDeductions())){
gj_salaryVo.setDeductions(new BigDecimal("0.00"));
}
gj_salaryVo.setDeductions(gj_salaryVo.getDeductions().add(DataUtils.findDefaultValue(salaryVoz.getDeductions(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSalary())){
gj_salaryVo.setSalary(new BigDecimal("0.00"));
}
gj_salaryVo.setSalary(gj_salaryVo.getSalary().add(DataUtils.findDefaultValue(salaryVoz.getSalary(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getPayInsurance())){
gj_salaryVo.setPayInsurance(new BigDecimal("0.00"));
}
gj_salaryVo.setPayInsurance(gj_salaryVo.getPayInsurance().add(DataUtils.findDefaultValue(salaryVoz.getPayInsurance(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSalaryBeforeTax())){
gj_salaryVo.setSalaryBeforeTax(new BigDecimal("0.00"));
}
gj_salaryVo.setSalaryBeforeTax(gj_salaryVo.getSalaryBeforeTax().add(DataUtils.findDefaultValue(salaryVoz.getSalaryBeforeTax(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getTotalWages())){
gj_salaryVo.setTotalWages(new BigDecimal("0.00"));
}
gj_salaryVo.setTotalWages(gj_salaryVo.getTotalWages().add(DataUtils.findDefaultValue(salaryVoz.getTotalWages(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getAnnualExemptionAmount())){
gj_salaryVo.setAnnualExemptionAmount(new BigDecimal("0.00"));
}
gj_salaryVo.setAnnualExemptionAmount(gj_salaryVo.getAnnualExemptionAmount().add(DataUtils.findDefaultValue(salaryVoz.getAnnualExemptionAmount(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSpecialDeduction())){
gj_salaryVo.setSpecialDeduction(new BigDecimal("0.00"));
}
gj_salaryVo.setSpecialDeduction(gj_salaryVo.getSpecialDeduction().add(DataUtils.findDefaultValue(salaryVoz.getSpecialDeduction(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getSlowDownTheDeduction())){
gj_salaryVo.setSlowDownTheDeduction(new BigDecimal("0.00"));
}
gj_salaryVo.setSlowDownTheDeduction(gj_salaryVo.getSlowDownTheDeduction().add(DataUtils.findDefaultValue(salaryVoz.getSlowDownTheDeduction(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getAggregatePersonalIncomeTax())){
gj_salaryVo.setAggregatePersonalIncomeTax(new BigDecimal("0.00"));
}
gj_salaryVo.setAggregatePersonalIncomeTax(gj_salaryVo.getAggregatePersonalIncomeTax().add(DataUtils.findDefaultValue(salaryVoz.getAggregatePersonalIncomeTax(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getTaxPayable())){
gj_salaryVo.setTaxPayable(new BigDecimal("0.00"));
}
gj_salaryVo.setTaxPayable(gj_salaryVo.getTaxPayable().add(DataUtils.findDefaultValue(salaryVoz.getTaxPayable(), DataUtils.DEFAULT_VALUE)));
if(StringUtils.isNull(gj_salaryVo.getNetPayroll())){
gj_salaryVo.setNetPayroll(new BigDecimal("0.00"));
}
gj_salaryVo.setNetPayroll(gj_salaryVo.getNetPayroll().add(DataUtils.findDefaultValue(salaryVoz.getNetPayroll(), DataUtils.DEFAULT_VALUE)));
}
gj_salaryVo.setName("伊特总计:");
list.add(gj_salaryVo);
//创建总表的对象
SalaryVo payRollZong = new SalaryVo();
payRollZong.setName("总计:");
BeanUtils.copyProperties(gj_salaryVo, payRollZong);
//查询非伊特数据
List<SysDictData> cy_list = sysDictDataMapper.selectDictDataByType(Constants.SYS_COMPANY);
for (SysDictData sysDictData : cy_list) {
if(!"YT".equals(sysDictData.getDictValue())){
sheetNameList.add(sysDictData.getDictLabel());
//部门小计
SalaryVo xj_salaryVo = new SalaryVo();
xj_salaryVo.setName("小计:");
//查询非伊特下的数据
List<RzSalaryDetail> f_list = rzSalaryDetailService.selectSalaryDetailByWbFlag(sysDictData.getDictValue(),rzSalaryDetail.getMonth());
for (RzSalaryDetail salaryDetail : f_list) {
salaryVo = new SalaryVo();
// if(StringUtils.isNull(xj_salaryVo.getBasicSalary())){
// xj_salaryVo.setBasicSalary(new BigDecimal("0.00"));
// }
// xj_salaryVo.setBasicSalary(xj_salaryVo.getBasicSalary().add(salaryDetail.getBasicSalary()));
// if(StringUtils.isNull(xj_salaryVo.getOvertimeSalary())){
// xj_salaryVo.setOvertimeSalary(new BigDecimal("0.00"));
// }
// xj_salaryVo.setOvertimeSalary(xj_salaryVo.getOvertimeSalary().add(salaryDetail.getOvertimeSalary()));
// if(StringUtils.isNull(xj_salaryVo.getLevelSubsidies())){
// xj_salaryVo.setLevelSubsidies(new BigDecimal("0.00"));
// }
xj_salaryVo.setLevelSubsidies(xj_salaryVo.getLevelSubsidies().add(salaryDetail.getLevelSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getContractSubsidies())){
xj_salaryVo.setContractSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setContractSubsidies(xj_salaryVo.getContractSubsidies().add(salaryDetail.getContractSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getSenioritySalary())){
xj_salaryVo.setSenioritySalary(new BigDecimal("0.00"));
}
xj_salaryVo.setSenioritySalary(xj_salaryVo.getSenioritySalary().add(salaryDetail.getSenioritySalary()));
if(StringUtils.isNull(xj_salaryVo.getSocialSubsidies())){
xj_salaryVo.setSocialSubsidies(new BigDecimal("0.00"));
}
// xj_salaryVo.setSocialSubsidies(xj_salaryVo.getSocialSubsidies().add(salaryDetail.getSocialSubsidies()));
// if(StringUtils.isNull(xj_salaryVo.getFullSubsidies())){
// xj_salaryVo.setFullSubsidies(new BigDecimal("0.00"));
// }
// xj_salaryVo.setFullSubsidies(xj_salaryVo.getFullSubsidies().add(salaryDetail.getFullSubsidies()));
// if(StringUtils.isNull(xj_salaryVo.getNightSubsidies())){
// xj_salaryVo.setNightSubsidies(new BigDecimal("0.00"));
// }
xj_salaryVo.setNightSubsidies(xj_salaryVo.getNightSubsidies().add(salaryDetail.getNightSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getDinnerSubsidies())){
xj_salaryVo.setDinnerSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setDinnerSubsidies(xj_salaryVo.getDinnerSubsidies().add(salaryDetail.getDinnerSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getSubsidyOrBonus())){
xj_salaryVo.setSubsidyOrBonus(new BigDecimal("0.00"));
}
xj_salaryVo.setSubsidyOrBonus(xj_salaryVo.getSubsidyOrBonus().add(salaryDetail.getSubsidyOrBonus()));
if(StringUtils.isNull(xj_salaryVo.getAbsenteeismSalary())){
xj_salaryVo.setAbsenteeismSalary(new BigDecimal("0.00"));
}
xj_salaryVo.setAbsenteeismSalary(xj_salaryVo.getAbsenteeismSalary().add(salaryDetail.getAbsenteeismSalary()));
if(StringUtils.isNull(xj_salaryVo.getAbsenteeismSubsidies())){
xj_salaryVo.setAbsenteeismSubsidies(new BigDecimal("0.00"));
}
xj_salaryVo.setAbsenteeismSubsidies(xj_salaryVo.getAbsenteeismSubsidies().add(salaryDetail.getAbsenteeismSubsidies()));
if(StringUtils.isNull(xj_salaryVo.getMealFee())){
xj_salaryVo.setMealFee(new BigDecimal("0.00"));
}
xj_salaryVo.setMealFee(xj_salaryVo.getMealFee().add(salaryDetail.getMealFee()));
if(StringUtils.isNull(xj_salaryVo.getDeductions())){
xj_salaryVo.setDeductions(new BigDecimal("0.00"));
}
xj_salaryVo.setDeductions(xj_salaryVo.getDeductions().add(salaryDetail.getDeductions()));
if(StringUtils.isNull(xj_salaryVo.getSalary())){
xj_salaryVo.setSalary(new BigDecimal("0.00"));
}
xj_salaryVo.setSalary(xj_salaryVo.getSalary().add(salaryDetail.getSalary()));
if(StringUtils.isNull(xj_salaryVo.getPayInsurance())){
xj_salaryVo.setPayInsurance(new BigDecimal("0.00"));
}
xj_salaryVo.setPayInsurance(xj_salaryVo.getPayInsurance().add(salaryDetail.getPayInsurance()));
if(StringUtils.isNull(xj_salaryVo.getSalaryBeforeTax())){
xj_salaryVo.setSalaryBeforeTax(new BigDecimal("0.00"));
}
xj_salaryVo.setSalaryBeforeTax(xj_salaryVo.getSalaryBeforeTax().add(salaryDetail.getSalaryBeforeTax()));
if(StringUtils.isNull(xj_salaryVo.getTotalWages())){
xj_salaryVo.setTotalWages(new BigDecimal("0.00"));
}
xj_salaryVo.setTotalWages(xj_salaryVo.getTotalWages().add(salaryDetail.getTotalWages()));
if(StringUtils.isNull(xj_salaryVo.getAnnualExemptionAmount())){
xj_salaryVo.setAnnualExemptionAmount(new BigDecimal("0.00"));
}
xj_salaryVo.setAnnualExemptionAmount(xj_salaryVo.getAnnualExemptionAmount().add(salaryDetail.getAnnualExemptionAmount()));
if(StringUtils.isNull(xj_salaryVo.getSpecialDeduction())){
xj_salaryVo.setSpecialDeduction(new BigDecimal("0.00"));
}
xj_salaryVo.setSpecialDeduction(xj_salaryVo.getSpecialDeduction().add(salaryDetail.getSpecialDeduction()));
if(StringUtils.isNull(xj_salaryVo.getSlowDownTheDeduction())){
xj_salaryVo.setSlowDownTheDeduction(new BigDecimal("0.00"));
}
xj_salaryVo.setSlowDownTheDeduction(xj_salaryVo.getSlowDownTheDeduction().add(salaryDetail.getSlowDownTheDeduction()));
if(StringUtils.isNull(xj_salaryVo.getAggregatePersonalIncomeTax())){
xj_salaryVo.setAggregatePersonalIncomeTax(new BigDecimal("0.00"));
}
xj_salaryVo.setAggregatePersonalIncomeTax(xj_salaryVo.getAggregatePersonalIncomeTax().add(salaryDetail.getAggregatePersonalIncomeTax()));
if(StringUtils.isNull(xj_salaryVo.getTaxPayable())){
xj_salaryVo.setTaxPayable(new BigDecimal("0.00"));
}
xj_salaryVo.setTaxPayable(xj_salaryVo.getTaxPayable().add(salaryDetail.getTaxPayable()));
if(StringUtils.isNull(xj_salaryVo.getNetPayroll())){
xj_salaryVo.setNetPayroll(new BigDecimal("0.00"));
}
xj_salaryVo.setNetPayroll(xj_salaryVo.getNetPayroll().add(salaryDetail.getNetPayroll()));
BeanUtils.copyProperties(salaryDetail, salaryVo);
salaryVo.setDeptName(deptService.selectDeptById(salaryDetail.getDeptId()).getDeptName());
list0.add(salaryVo);
}
list.add(xj_salaryVo);
// payRollZong.setBasicSalary(DataUtils.findDefaultValue(xj_salaryVo.getBasicSalary(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getBasicSalary(), DataUtils.DEFAULT_VALUE)));
// payRollZong.setOvertimeSalary(DataUtils.findDefaultValue(xj_salaryVo.getOvertimeSalary(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getOvertimeSalary(), DataUtils.DEFAULT_VALUE)));
payRollZong.setLevelSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getLevelSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getLevelSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setContractSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getContractSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getContractSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSenioritySalary(DataUtils.findDefaultValue(xj_salaryVo.getSenioritySalary(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSenioritySalary(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSocialSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getSocialSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSocialSubsidies(), DataUtils.DEFAULT_VALUE)));
// payRollZong.setFullSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getFullSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getFullSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setNightSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getNightSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getNightSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setDinnerSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getDinnerSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getDinnerSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSubsidyOrBonus(DataUtils.findDefaultValue(xj_salaryVo.getSubsidyOrBonus(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSubsidyOrBonus(), DataUtils.DEFAULT_VALUE)));
payRollZong.setAbsenteeismSalary(DataUtils.findDefaultValue(xj_salaryVo.getAbsenteeismSalary(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getAbsenteeismSalary(), DataUtils.DEFAULT_VALUE)));
payRollZong.setAbsenteeismSubsidies(DataUtils.findDefaultValue(xj_salaryVo.getAbsenteeismSubsidies(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getAbsenteeismSubsidies(), DataUtils.DEFAULT_VALUE)));
payRollZong.setMealFee(DataUtils.findDefaultValue(xj_salaryVo.getMealFee(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getMealFee(), DataUtils.DEFAULT_VALUE)));
payRollZong.setDeductions(DataUtils.findDefaultValue(xj_salaryVo.getDeductions(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getDeductions(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSalary(DataUtils.findDefaultValue(xj_salaryVo.getSalary(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSalary(), DataUtils.DEFAULT_VALUE)));
payRollZong.setPayInsurance(DataUtils.findDefaultValue(xj_salaryVo.getPayInsurance(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getPayInsurance(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSalaryBeforeTax(DataUtils.findDefaultValue(xj_salaryVo.getSalaryBeforeTax(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSalaryBeforeTax(), DataUtils.DEFAULT_VALUE)));
payRollZong.setTotalWages(DataUtils.findDefaultValue(xj_salaryVo.getTotalWages(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getTotalWages(), DataUtils.DEFAULT_VALUE)));
payRollZong.setAnnualExemptionAmount(DataUtils.findDefaultValue(xj_salaryVo.getAnnualExemptionAmount(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getAnnualExemptionAmount(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSpecialDeduction(DataUtils.findDefaultValue(xj_salaryVo.getSpecialDeduction(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSpecialDeduction(), DataUtils.DEFAULT_VALUE)));
payRollZong.setSlowDownTheDeduction(DataUtils.findDefaultValue(xj_salaryVo.getSlowDownTheDeduction(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getSlowDownTheDeduction(), DataUtils.DEFAULT_VALUE)));
payRollZong.setAggregatePersonalIncomeTax(DataUtils.findDefaultValue(xj_salaryVo.getAggregatePersonalIncomeTax(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getAggregatePersonalIncomeTax(), DataUtils.DEFAULT_VALUE)));
payRollZong.setTaxPayable(DataUtils.findDefaultValue(xj_salaryVo.getTaxPayable(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getTaxPayable(), DataUtils.DEFAULT_VALUE)));
payRollZong.setNetPayroll(DataUtils.findDefaultValue(xj_salaryVo.getNetPayroll(), DataUtils.DEFAULT_VALUE).add(DataUtils.findDefaultValue(payRollZong.getNetPayroll(), DataUtils.DEFAULT_VALUE)));
}
}
list.add(payRollZong);
//表尾
String footer = "制表: "+"审核: "+"经理签字: "+"总经理签字: ";
return util.exportExcel(list,lists,"总表",sheetNameList,title,footer);
}
/**
* 导入销售提成
*/
// @PreAuthorize("@ss.hasPermi('finance:financeDetail:importSalesCommissions')")
// @Log(title = "导入销售提成", businessType = BusinessType.IMPORT)
// @PostMapping("/importSalesCommissions")
// public AjaxResult importSalesCommissions(MultipartFile file) throws Exception
// {
// ExcelUtil<RzSalaryVo> util = new ExcelUtil<>(RzSalaryVo.class);
// List<RzSalaryVo> attendanceList = util.importExcel(file.getInputStream());
// return success(rzSalaryDetailService.importSalesCommissions(attendanceList));
// }
/*
* 导出工资详情列表
*/

View File

@ -202,6 +202,16 @@ public class RzSalaryDetail extends BaseEntity
/** 删除标识 */
private String delFlag;
private Integer type;
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public BigDecimal getSalesCommission() {
return salesCommission;
}

View File

@ -70,4 +70,8 @@ public interface RzSalaryDetailMapper extends BaseMapper<RzSalaryDetail>
public List<RzSalaryDetail> selectSalaryDetailByWbFlag(@Param("wbFlag")String wbFlag,@Param("date")Date date);
/**
*/
public Date selectMaxMonthBySysStallId(Long id);
}

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.evo.attendance.domain.vo.RzSalaryVo;
import com.evo.common.core.domain.AjaxResult;
import com.evo.finance.domain.RzSalaryDetail;
import com.evo.system.domain.SysStaff;
import org.apache.ibatis.annotations.Param;
/**
@ -69,4 +70,6 @@ public interface IRzSalaryDetailService
public List<RzSalaryDetail> selectSalaryDetailByWbFlag(String wbFlag,Date date);
AjaxResult export(RzSalaryDetail rzSalaryDetail);
void dimission(SysStaff sysStaff);
}

View File

@ -141,15 +141,46 @@ public class RzSalaryDetailServiceImpl extends ServiceImpl<RzSalaryDetailMapper,
Map<Long, Boolean> overTimeMap = deptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getDelFlag, Constants.DELETE_FLAG_0).select(SysDept::getIsOverTime, SysDept::getDeptId)).stream().collect(Collectors.toMap(SysDept::getDeptId,d->"0".equals(d.getIsOverTime())));
for (SysStaff sysStaff : st_list) {
calculation(sysStaff, rzSalaryDetail.getMonth(), overTimeMap, 1);
}
//关闭日志记录
ParamUtils.updateLogOperation(false);
return AjaxResult.success();
}
@Override
public void dimission(SysStaff sysStaff) {
Map<Long, Boolean> overTimeMap = deptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getDelFlag, Constants.DELETE_FLAG_0).select(SysDept::getIsOverTime, SysDept::getDeptId)).stream().collect(Collectors.toMap(SysDept::getDeptId,d->"0".equals(d.getIsOverTime())));
Date date = getBaseMapper().selectMaxMonthBySysStallId(sysStaff.getUserId());
//如果为空, 入职时间-1个月 作为起始时间
if(date != null){
date = DateUtils.addMonths(date, 1);
}else{
date = sysStaff.getEmploymentDate();
}
//进行离职工资计算操作
while (date.compareTo(sysStaff.getQuitDate()) < 1){
calculation(sysStaff, date, overTimeMap ,2);
date = DateUtils.addMonths(date, 1);
}
}
public static void main(String[] args) {
System.out.println(DateUtils.parseDate("2025-05-21").compareTo(DateUtils.parseDate("2025-05-21 12:21:21")));
}
public void calculation(SysStaff sysStaff, Date date, Map<Long, Boolean> overTimeMap, Integer type){
RzSalaryDetail newRzSalaryDetail = new RzSalaryDetail();
newRzSalaryDetail.setMonth(rzSalaryDetail.getMonth());
newRzSalaryDetail.setMonth(date);
newRzSalaryDetail.setStaffId(sysStaff.getUserId()); //员工ID
newRzSalaryDetail.setDeptId(sysStaff.getDeptId()); //部门
newRzSalaryDetail.setName(sysStaff.getName()); //姓名
newRzSalaryDetail.setWbFlag(sysStaff.getCompanyName()); //公司
newRzSalaryDetail.setDelFlag(Constants.DELETE_FLAG_0);
newRzSalaryDetail.setType(type);
//查询考勤统计
RzAttendanceStatistical attendanceStatistical = rzAttendanceStatisticalMapper.getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(), rzSalaryDetail.getMonth());
RzAttendanceStatistical attendanceStatistical = rzAttendanceStatisticalMapper.getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(), date);
//查询员工详情
SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
@ -160,12 +191,6 @@ public class RzSalaryDetailServiceImpl extends ServiceImpl<RzSalaryDetailMapper,
}
}
}
//关闭日志记录
ParamUtils.updateLogOperation(false);
return AjaxResult.success();
}
/**

View File

@ -89,7 +89,7 @@ public class RzRestaurantDetailController extends BaseController
*/
@RequestMapping("/verify_user_yt")
public String verifyUser(@RequestBody String json){
return rzRestaurantDetailService.insertRzRestaurantDetail(json);
return "接口暂停使用"; //rzRestaurantDetailService.insertRzRestaurantDetail(json);
}
/**

View File

@ -244,7 +244,9 @@ public class RzRestaurantStatisticsServiceImpl extends ServiceImpl<RzRestaurantS
private void create(Long staffId, Long deptId, String name, Date date){
RzRestaurantStatistics rzRestaurantStatistics = getBaseMapper().selectRzRestaurantStatisticsByUserIdAndDate(staffId,date);
if(StringUtils.isNotNull(rzRestaurantStatistics)){
if(rzRestaurantStatistics.getDeptId() == null){
rzRestaurantStatistics.setDeptId(deptId);
}
rzRestaurantStatistics.setName(name);
getBaseMapper().updateRzRestaurantStatistics(rzRestaurantStatistics);
return;

View File

@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.domain.vo.RzSalaryVo;
import com.evo.attendance.service.IRzAttendanceStatisticalService;
import com.evo.common.annotation.DataScope;
@ -19,6 +20,9 @@ import com.evo.common.utils.Collections;
import com.evo.common.utils.bean.BeanUtils;
import com.evo.common.utils.poi.ExcelUtil1;
import com.evo.equipment.service.IEqSnDetailService;
import com.evo.finance.domain.RzSalaryDetail;
import com.evo.finance.processor.SalaryCalculationStrategyExchangeProcessor;
import com.evo.finance.service.IRzSalaryDetailService;
import com.evo.kingdeeUtils.KingdeeRequestUtils;
import com.evo.kingdeeUtils.kenum.KingdeeParamsEnum;
import com.evo.personnelMatters.domain.RzSubsidyInfo;
@ -47,8 +51,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
@ -82,6 +84,8 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
private IEqSnDetailService eqSnDetailService;//设备信息
@Resource
private RzSubsidyInfoMapper rzSubsidyInfoMapper;
@Resource
IRzSalaryDetailService rzSalaryDetailService;
/**
* 查询员工管理
*
@ -319,6 +323,9 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
if(StringUtils.isNotEmpty(sysStaff.getCode())){
KingdeeRequestUtils.employeeDisabled(Collections.asMap("userCode","\""+sysStaff.getCode()+"\""));
}
//如果走离职, 需要实时计算出工资
rzSalaryDetailService.dimission(sysStaff);
return AjaxResult.success();
}
}
@ -418,6 +425,32 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
// }
return AjaxResult.success();
}
// /***
// * 员工离职计算
// * @param sysStaff
// */
// void dimission(SysStaff sysStaff){
//
// RzSalaryDetail newRzSalaryDetail = new RzSalaryDetail();
// newRzSalaryDetail.setMonth(rzSalaryDetail.getMonth());
// newRzSalaryDetail.setStaffId(sysStaff.getUserId()); //员工ID
// newRzSalaryDetail.setDeptId(sysStaff.getDeptId()); //部门
// newRzSalaryDetail.setName(sysStaff.getName()); //姓名
// newRzSalaryDetail.setWbFlag(sysStaff.getCompanyName()); //公司
// newRzSalaryDetail.setDelFlag(Constants.DELETE_FLAG_0);
// //查询考勤统计
// RzAttendanceStatistical attendanceStatistical = rzAttendanceStatisticalMapper.getRzAttendanceStatisticalByDateAndName(sysStaff.getUserId(), rzSalaryDetail.getMonth());
// //查询员工详情
// SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
//
// Map<String, SalaryCalculationStrategyExchangeProcessor> salaryCalculationExchangeProcessorMap = applicationContext.getBeansOfType(SalaryCalculationStrategyExchangeProcessor.class);
// for (SalaryCalculationStrategyExchangeProcessor processor : salaryCalculationExchangeProcessorMap.values()) {
// if (processor.accept(sysStaffDetail)) {
// processor.exchangeSalaryCalculation(sysStaff, sysStaffDetail, newRzSalaryDetail, attendanceStatistical, overTimeMap);
// }
// }
//}
/**
* 删除员工管理信息
*
@ -881,6 +914,13 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
@Override
public void exportInfo(HttpServletResponse response, SysStaff sysStaff) {
List<SysStaffVo> res_list = new ArrayList<SysStaffVo>();
//查询所有的部门信息
List<SysDept> sysDepts = deptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getDelFlag, 0));
Map<Long, String> deptMaps = Collections.emptyMap();
for (SysDept dept : sysDepts){
deptMaps.put(dept.getDeptId(), getAllParentName(sysDepts, dept.getDeptId(), Collections.emptyList()));
}
//查询员工信息
List<SysStaff> yg_list = getBaseMapper().selectSysStaffList(sysStaff);
List<Long> userIds = yg_list.stream().map(SysStaff::getUserId).collect(Collectors.toList());
@ -890,6 +930,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
for (SysStaff staff : yg_list) {
SysStaffVo sysStaffVo = new SysStaffVo();
BeanUtils.copyProperties(staff,sysStaffVo);
sysStaffVo.setDeptName(DataUtils.findDefaultValue(deptMaps.get(staff.getDeptId()), staff.getDeptName()));
//根据员工信息查询详情信息
SysStaffDetail sysStaffDetail = SubsidyCalculationUtils.subsidyCalculation(staff,detailMap.get(staff.getUserId()), subsidyList);
BeanUtils.copyProperties(sysStaffDetail,sysStaffVo);
@ -912,4 +953,21 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
sysStaff.setQuitDate(DateUtils.addMinutes(new Date(), -1));
updateSysStaff(sysStaff);
}
public String getAllParentName(List<SysDept> sysDepts, Long parentId, List<String> allParentNames){
for (SysDept sysDept : sysDepts){
if(sysDept.getDeptId().equals(parentId)){
allParentNames.add(sysDept.getDeptName());
if(sysDept.getParentId() != null){
return getAllParentName(sysDepts, sysDept.getParentId(), allParentNames);
}
}
}
java.util.Collections.reverse(allParentNames);
return String.join("-", allParentNames);
}
}

View File

@ -11,7 +11,7 @@ spring:
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
database: 2
# 密码
password: hbyt2025
# 连接超时时间
@ -32,7 +32,7 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://192.168.5.232:3306/evo_cw_dev_ding?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://localhost:3306/evo_cw_dev_ding?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: hbyt123456
#username: root

View File

@ -65,14 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
maternity_insurance, unemployment_insurance, accumulation_fund, salary_before_tax, total_wages, annual_exemption_amount,
special_deduction, taxable_income, tax_rate, slow_down_the_deduction, aggregate_personal_income_tax, aggregate_tax, tax_payable,
net_payroll, remarks, del_flag, create_by, create_time, update_by, update_time, sales_commission, middle_subsidies,
social_security_deduction
social_security_deduction, type
from rz_salary_detail
</sql>
<select id="selectRzSalaryDetailList" parameterType="RzSalaryDetail" resultMap="RzSalaryDetailResult">
<include refid="selectRzSalaryDetailVo"/>
<where>
del_flag = '0'
del_flag = '0' and type=#{type}
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="month != null "> and DATE_FORMAT( month, '%Y%m' ) = DATE_FORMAT( #{month} , '%Y%m' )</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
@ -136,7 +136,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="socialSecurityDeduction != null">social_security_deduction,</if>
<if test="type != null">type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="staffId != null">#{staffId},</if>
@ -188,6 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="socialSecurityDeduction != null">#{socialSecurityDeduction},</if>
<if test="type != null">#{type},</if>
</trim>
</insert>
@ -243,6 +244,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="socialSecurityDeduction != null">social_security_deduction = #{socialSecurityDeduction},</if>
<if test="type != null">type = #{type},</if>
</trim>
where id = #{id}
</update>
@ -266,4 +268,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRzSalaryDetailVo"/>
where del_flag = '0' and DATE_FORMAT( month, '%Y%m' ) = DATE_FORMAT( #{date} , '%Y%m' ) and wb_flag = #{wbFlag} order by dept_id
</select>
<select id="selectMaxMonthBySysStallId" resultType="java.util.Date">
select max(rsd.month) from rz_salary_detail rsd where rsd.del_flag = '0' and rsd.type='1' and rsd.staff_id=#{staffId}
</select>
</mapper>