|
|
@@ -2324,6 +2324,98 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R importCustomPerformance(List<CustomPerformance> data, Boolean isCovered, Long id, MultipartFile file) {
|
|
|
+ if(org.springframework.util.CollectionUtils.isEmpty(data))
|
|
|
+ {
|
|
|
+ throw new SecurityException("导入数据不能为空");
|
|
|
+ }
|
|
|
+ int message = 0; //导入成功条数
|
|
|
+ StringBuffer errMsg= new StringBuffer();
|
|
|
+ for(int i=0;i<data.size();i++)
|
|
|
+ {
|
|
|
+ CustomPerformance customPerformance = data.get(i);
|
|
|
+ if (StringUtils.isBlank(customPerformance.getIdNumber())){
|
|
|
+ errMsg.append("第"+(i+2)+"行,身份证号码为空,");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(customPerformance.getCname())){
|
|
|
+ errMsg.append("第"+(i+2)+"行,姓名为空,");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ SalaryItem salaryItem = new SalaryItem();
|
|
|
+ BeanUtil.copy(customPerformance,salaryItem);
|
|
|
+ //根据身份证号查询教职工信息是否存在存在更新不存在新增
|
|
|
+ SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
|
|
|
+ .eq("is_deleted", 0).eq("pid",id));
|
|
|
+ if (item != null){
|
|
|
+ salaryItem.setPid(id);
|
|
|
+ salaryItem.setId(item.getId());
|
|
|
+ salaryItem.setUpdateUser(SecureUtil.getUserId());
|
|
|
+ salaryItem.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(salaryItem);
|
|
|
+ message = ++ message;
|
|
|
+ //更新计算工资
|
|
|
+ this.countSalary(salaryItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //保存上传记录
|
|
|
+ this.saveAccessory(file,id);
|
|
|
+ if (message >0 && message == data.size()){
|
|
|
+ return R.success("全部导入成功");
|
|
|
+ }else if (message >0 && message != data.size()){
|
|
|
+ return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
|
|
|
+ }else {
|
|
|
+ return R.success("导入失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R importAdjustmentExcel(List<AdjustmentExcel> data, Boolean isCovered, Long id, MultipartFile file) {
|
|
|
+ if(org.springframework.util.CollectionUtils.isEmpty(data))
|
|
|
+ {
|
|
|
+ throw new SecurityException("导入数据不能为空");
|
|
|
+ }
|
|
|
+ int message = 0; //导入成功条数
|
|
|
+ StringBuffer errMsg= new StringBuffer();
|
|
|
+ for(int i=0;i<data.size();i++)
|
|
|
+ {
|
|
|
+ AdjustmentExcel adjustmentExcel = data.get(i);
|
|
|
+ if (StringUtils.isBlank(adjustmentExcel.getIdNumber())){
|
|
|
+ errMsg.append("第"+(i+2)+"行,身份证号码为空,");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(adjustmentExcel.getCname())){
|
|
|
+ errMsg.append("第"+(i+2)+"行,姓名为空,");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ SalaryItem salaryItem = new SalaryItem();
|
|
|
+ BeanUtil.copy(adjustmentExcel,salaryItem);
|
|
|
+ //根据身份证号查询教职工信息是否存在存在更新不存在新增
|
|
|
+ SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
|
|
|
+ .eq("is_deleted", 0).eq("pid",id));
|
|
|
+ if (item != null){
|
|
|
+ salaryItem.setPid(id);
|
|
|
+ salaryItem.setId(item.getId());
|
|
|
+ salaryItem.setUpdateUser(SecureUtil.getUserId());
|
|
|
+ salaryItem.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(salaryItem);
|
|
|
+ message = ++ message;
|
|
|
+ //更新计算工资
|
|
|
+ this.countSalary(salaryItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //保存上传记录
|
|
|
+ this.saveAccessory(file,id);
|
|
|
+ if (message >0 && message == data.size()){
|
|
|
+ return R.success("全部导入成功");
|
|
|
+ }else if (message >0 && message != data.size()){
|
|
|
+ return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
|
|
|
+ }else {
|
|
|
+ return R.success("导入失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
*工资计算
|
|
|
*
|
|
|
@@ -2339,7 +2431,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
|
|
|
//7.班主任津贴=班主任补贴+班额津贴-校车考核-班级微信群考核-财务考核+班主任考核津贴
|
|
|
//8.补贴项=微信+产假工资+周末工作量工资+补贴1+…+补贴10
|
|
|
//9.扣除项=出勤+督查+超额电话费+学习强国+宿舍管理费+生育津贴+扣除1+…+扣除10
|
|
|
- //10.应发工资=基本工资+工作量工资+日常考核工资+奖励工资+职务津贴+班主任津贴+补贴项-扣除项+保险(个人部分)+公积金(个人部分).. 大于700 保险(个人部分) 不加
|
|
|
+ //10.应发工资=基本工资+工作量工资+日常考核工资+日常考核工资调整+奖励工资+职务津贴+班主任津贴+补贴项-扣除项+保险(个人部分)+公积金(个人部分).. 大于700 保险(个人部分) 不加
|
|
|
//11.实发工资=应发工资-个人所得税-个人保险-公积金个人
|
|
|
SalaryItem item = baseMapper.selectById(salaryItem.getId());
|
|
|
if (item != null){
|
|
|
@@ -2361,9 +2453,9 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
|
|
|
//应发工资 保险(个人部分)提取 享受公办待遇不减个人保险
|
|
|
if (StringUtils.isNotBlank(item.getEnjoyOfficeTreatment()) && item.getEnjoyOfficeTreatment().equals("是")){
|
|
|
item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy())
|
|
|
- .add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getReservedFundsPersonage()));
|
|
|
+ .add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getReservedFundsPersonage()).add(item.getPauseNoPayTwo()));
|
|
|
}else {
|
|
|
- item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy()).add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getInsurancePersonage()).add(item.getReservedFundsPersonage()));
|
|
|
+ item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy()).add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getInsurancePersonage()).add(item.getReservedFundsPersonage()).add(item.getPauseNoPayTwo()));
|
|
|
}
|
|
|
//实发工资
|
|
|
item.setfSalary(item.getSalary().subtract(item.getPersonageTaxes()).subtract(item.getInsurancePersonage()).subtract(item.getReservedFundsPersonage()));
|