改版调整
This commit is contained in:
parent
5242b4f3d3
commit
967ea6020b
@ -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());
|
||||
rzAttendanceStatistical.setDeptId(sysStaff.getDeptId());
|
||||
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) {
|
||||
rzAttendance.setDeptId(sysStaff.getDeptId());
|
||||
if(rzAttendanceStatistical.getDeptId() == null){
|
||||
rzAttendance.setDeptId(sysStaff.getDeptId());
|
||||
}
|
||||
rzAttendance.setName(sysStaff.getName());
|
||||
rzAttendanceMapper.updateRzAttendance(rzAttendance);
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
@ -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(","));
|
||||
}
|
||||
|
||||
|
||||
@ -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));
|
||||
// }
|
||||
/*
|
||||
* 导出工资详情列表
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -141,24 +141,7 @@ 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) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
calculation(sysStaff, rzSalaryDetail.getMonth(), overTimeMap, 1);
|
||||
}
|
||||
//关闭日志记录
|
||||
ParamUtils.updateLogOperation(false);
|
||||
@ -166,6 +149,48 @@ public class RzSalaryDetailServiceImpl extends ServiceImpl<RzSalaryDetailMapper,
|
||||
}
|
||||
|
||||
|
||||
@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(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(), date);
|
||||
//查询员工详情
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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)){
|
||||
rzRestaurantStatistics.setDeptId(deptId);
|
||||
if(rzRestaurantStatistics.getDeptId() == null){
|
||||
rzRestaurantStatistics.setDeptId(deptId);
|
||||
}
|
||||
rzRestaurantStatistics.setName(name);
|
||||
getBaseMapper().updateRzRestaurantStatistics(rzRestaurantStatistics);
|
||||
return;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user