|
|
@@ -105,6 +105,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
configMessage.setUpdateUser(SecureUtil.getUserId());
|
|
|
baseMapper.updateById(configMessage);
|
|
|
}
|
|
|
+ //计算工资基数标准 工资基数标准=工资拨付标准-工作量工资标准+虚拟工作量工资标准-日常考核标准-双休日工作量工资标准+虚拟双休日工作量工资标准-绩效工资标准
|
|
|
+ configMessage.setSalaryBase(configMessage.getSalaryWithdrawalStandard().subtract(configMessage.getWorkloadSalaryName()).add(configMessage.getVirtualWorkloadSalary())
|
|
|
+ .subtract(configMessage.getDailyAssessmentCriteriaName()).subtract(configMessage.getDoubleCease()).add(configMessage.getVirtualDoubleCease()).subtract(configMessage.getTermPerformanceSalaryName()));
|
|
|
+ configMessage.setSalaryBaseName(configMessage.getSalaryBase());
|
|
|
+ baseMapper.updateById(configMessage);
|
|
|
if (CollectionUtils.isNotEmpty(configMessage.getCauseList())){
|
|
|
configMessage.getCauseList().stream().forEach(item ->{
|
|
|
if (item.getId() == null){
|
|
|
@@ -181,7 +186,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
configMessage.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(configMessage);
|
|
|
}
|
|
|
-
|
|
|
+ //计算工资基数标准 工资基数标准=工资拨付标准-工作量工资标准+虚拟工作量工资标准-日常考核标准-双休日工作量工资标准+虚拟双休日工作量工资标准-绩效工资标准
|
|
|
+ configMessage.setSalaryBase(configMessage.getSalaryWithdrawalStandard().subtract(configMessage.getWorkloadSalaryName()).add(configMessage.getVirtualWorkloadSalary())
|
|
|
+ .subtract(configMessage.getDailyAssessmentCriteriaName()).subtract(configMessage.getDoubleCease()).add(configMessage.getVirtualDoubleCease()).subtract(configMessage.getTermPerformanceSalaryName()));
|
|
|
+ configMessage.setSalaryBaseName(configMessage.getSalaryBase());
|
|
|
+ baseMapper.updateById(configMessage);
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(errMsg)){
|
|
|
return R.success("导入部分成功,未导入成功的有"+errMsg.toString());
|
|
|
@@ -205,6 +214,10 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
item.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
|
|
|
//更新完校龄重新计算标准
|
|
|
SchoolTeacher configMessage = this.getConfigMessage(item);
|
|
|
+ //计算工资基数标准 工资基数标准=工资拨付标准-工作量工资标准+虚拟工作量工资标准-日常考核标准-双休日工作量工资标准+虚拟双休日工作量工资标准-绩效工资标准
|
|
|
+ configMessage.setSalaryBase(configMessage.getSalaryWithdrawalStandard().subtract(configMessage.getWorkloadSalaryName()).add(configMessage.getVirtualWorkloadSalary())
|
|
|
+ .subtract(configMessage.getDailyAssessmentCriteriaName()).subtract(configMessage.getDoubleCease()).add(configMessage.getVirtualDoubleCease()).subtract(configMessage.getTermPerformanceSalaryName()));
|
|
|
+ configMessage.setSalaryBaseName(configMessage.getSalaryBase());
|
|
|
baseMapper.updateById(configMessage);
|
|
|
});
|
|
|
}
|
|
|
@@ -212,16 +225,38 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public R calculate(SchoolTeacher schoolTeacher) {
|
|
|
SchoolTeacher teacher = baseMapper.selectById(schoolTeacher.getId());
|
|
|
if (teacher == null){
|
|
|
throw new RuntimeException("未找到职工信息");
|
|
|
}
|
|
|
SchoolTeacher configMessage = this.getConfigMessage(teacher);
|
|
|
+ //计算工资基数标准 工资基数标准=工资拨付标准-工作量工资标准+虚拟工作量工资标准-日常考核标准-双休日工作量工资标准+虚拟双休日工作量工资标准-绩效工资标准
|
|
|
+ configMessage.setSalaryBase(configMessage.getSalaryWithdrawalStandard().subtract(configMessage.getWorkloadSalaryName()).add(configMessage.getVirtualWorkloadSalary())
|
|
|
+ .subtract(configMessage.getDailyAssessmentCriteriaName()).subtract(configMessage.getDoubleCease()).add(configMessage.getVirtualDoubleCease()).subtract(configMessage.getTermPerformanceSalaryName()));
|
|
|
+ configMessage.setSalaryBaseName(configMessage.getSalaryBase());
|
|
|
baseMapper.updateById(configMessage);
|
|
|
return R.data(configMessage);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R calculateList(SchoolTeacherVO schoolTeacher) {
|
|
|
+ schoolTeacher.getIdList().stream().forEach(item ->{
|
|
|
+ SchoolTeacher teacher = baseMapper.selectById(schoolTeacher.getId());
|
|
|
+ if (teacher == null){
|
|
|
+ throw new RuntimeException("未找到职工信息");
|
|
|
+ }
|
|
|
+ SchoolTeacher configMessage = this.getConfigMessage(teacher);
|
|
|
+ //计算工资基数标准 工资基数标准=工资拨付标准-工作量工资标准+虚拟工作量工资标准-日常考核标准-双休日工作量工资标准+虚拟双休日工作量工资标准-绩效工资标准
|
|
|
+ configMessage.setSalaryBase(configMessage.getSalaryWithdrawalStandard().subtract(configMessage.getWorkloadSalaryName()).add(configMessage.getVirtualWorkloadSalary())
|
|
|
+ .subtract(configMessage.getDailyAssessmentCriteriaName()).subtract(configMessage.getDoubleCease()).add(configMessage.getVirtualDoubleCease()).subtract(configMessage.getTermPerformanceSalaryName()));
|
|
|
+ configMessage.setSalaryBaseName(configMessage.getSalaryBase());
|
|
|
+ baseMapper.updateById(configMessage);
|
|
|
+ });
|
|
|
+ return R.data("计算完成");
|
|
|
+ }
|
|
|
+
|
|
|
//获取工资标准配置信息
|
|
|
public SchoolTeacher getConfigMessage(SchoolTeacher schoolTeacher){
|
|
|
//获取工资拨付标准 公办用职称查询 其他用校龄查询
|
|
|
@@ -236,22 +271,27 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null,null);
|
|
|
if (configItem != null){
|
|
|
schoolTeacher.setSalaryWithdrawalStandard(configItem.getSalary());
|
|
|
+ schoolTeacher.setSalaryWithdrawalStandardName(configItem.getSalary().toString());
|
|
|
}
|
|
|
}else {
|
|
|
schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
|
|
|
+ schoolTeacher.setSalaryWithdrawalStandardName(configMessage.getSalary().toString());
|
|
|
}
|
|
|
}else {
|
|
|
SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", schoolTeacher.getRankType(),null);
|
|
|
if (configMessage != null){
|
|
|
if (schoolTeacher.getClassType().equals("非文化课")){
|
|
|
schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
|
|
|
+ schoolTeacher.setSalaryWithdrawalStandardName(configMessage.getSalary().toString());
|
|
|
}else if (schoolTeacher.getClassType().equals("文化课")){
|
|
|
schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary().add(new BigDecimal(700)));
|
|
|
+ schoolTeacher.setSalaryWithdrawalStandardName(configMessage.getSalary().add(new BigDecimal(700)).toString());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (schoolTeacher.getSalaryWithdrawalStandard() != null && schoolTeacher.getStaffType().equals("非教师")){
|
|
|
schoolTeacher.setSalaryWithdrawalStandard(schoolTeacher.getSalaryWithdrawalStandard().multiply(new BigDecimal(0.8)));
|
|
|
+ schoolTeacher.setSalaryWithdrawalStandardName(schoolTeacher.getSalaryWithdrawalStandard().multiply(new BigDecimal(0.8)).toString());
|
|
|
}
|
|
|
//获取职级拨付标准 按校龄取值 查询不到不赋值
|
|
|
SchoolConfigItem teacherSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
|
|
|
@@ -259,12 +299,14 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
schoolTeacher.getSchoolAge().toString(),null);
|
|
|
if (teacherSubsidy != null){
|
|
|
schoolTeacher.setRankWithdrawalStandardName(teacherSubsidy.getSalary());
|
|
|
+ schoolTeacher.setRankWithdrawalStandard(teacherSubsidy.getSalary());
|
|
|
}else {
|
|
|
SchoolConfigItem message = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
|
|
|
schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
|
|
|
null, null);
|
|
|
if (message != null){
|
|
|
schoolTeacher.setRankWithdrawalStandardName(message.getSalary());
|
|
|
+ schoolTeacher.setRankWithdrawalStandard(message.getSalary());
|
|
|
}
|
|
|
}
|
|
|
//班主任补贴标准
|
|
|
@@ -283,31 +325,37 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
SchoolConfigItem assessTeachingResearch = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessTeachingResearch != null){
|
|
|
schoolTeacher.setAssessTeachingResearch(assessTeachingResearch.getSalary());
|
|
|
+ schoolTeacher.setAssessTeachingResearchName(assessTeachingResearch.getSalary());
|
|
|
}
|
|
|
//教研组长考核补贴标准
|
|
|
SchoolConfigItem assessTeachingResearchName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长考核补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessTeachingResearchName != null){
|
|
|
schoolTeacher.setAssessTeachingResearchName(assessTeachingResearchName.getSalary());
|
|
|
+ schoolTeacher.setAssessTeachingResearch(assessTeachingResearchName.getSalary());
|
|
|
}
|
|
|
//备课组长补贴标准
|
|
|
SchoolConfigItem assessPrepareLessonsName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessPrepareLessonsName != null){
|
|
|
schoolTeacher.setAssessPrepareLessonsName(assessPrepareLessonsName.getSalary());
|
|
|
+ schoolTeacher.setAssessPrepareLessons(assessPrepareLessonsName.getSalary());
|
|
|
}
|
|
|
//备课组长考核补贴标准
|
|
|
SchoolConfigItem assessPrepareLessons = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长考核补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessPrepareLessons != null){
|
|
|
schoolTeacher.setAssessPrepareLessons(assessPrepareLessons.getSalary());
|
|
|
+ schoolTeacher.setAssessPrepareLessonsName(assessPrepareLessons.getSalary());
|
|
|
}
|
|
|
//领导干部补贴标准
|
|
|
SchoolConfigItem assessLeadingCadreSubsidyName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessLeadingCadreSubsidyName != null){
|
|
|
schoolTeacher.setAssessLeadingCadreSubsidyName(assessLeadingCadreSubsidyName.getSalary());
|
|
|
+ schoolTeacher.setAssessLeadingCadreSubsidy(assessLeadingCadreSubsidyName.getSalary());
|
|
|
}
|
|
|
//领导干部考核补贴标准
|
|
|
SchoolConfigItem assessLeadingCadreSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部考核补贴标准", null,schoolTeacher.getCompileCategory());
|
|
|
if (assessLeadingCadreSubsidy != null){
|
|
|
schoolTeacher.setAssessLeadingCadreSubsidy(assessLeadingCadreSubsidy.getSalary());
|
|
|
+ schoolTeacher.setAssessLeadingCadreSubsidyName(assessLeadingCadreSubsidy.getSalary());
|
|
|
}
|
|
|
//学历工资
|
|
|
SchoolConfigItem code = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学历标准", schoolTeacher.getCode(), null);
|
|
|
@@ -318,6 +366,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
SchoolConfigItem rankSalaryName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "职级等级标准", schoolTeacher.getRankSalaryName(), null);
|
|
|
if (rankSalaryName != null){
|
|
|
schoolTeacher.setRankSalary(rankSalaryName.getSalary());
|
|
|
+ schoolTeacher.setRankSalaryName(rankSalaryName.getSalary().toString());
|
|
|
}
|
|
|
//增资标准
|
|
|
SchoolConfigItem capitalIncreaseName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", schoolTeacher.getSchoolAge().toString(), null);
|
|
|
@@ -331,6 +380,18 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
|
|
|
schoolTeacher.setCapitalIncreaseName(capitalIncreaseName.getSalary());
|
|
|
schoolTeacher.setCapitalIncrease(capitalIncreaseName.getSalary());
|
|
|
}
|
|
|
+ //履约奖标准
|
|
|
+ SchoolConfigItem performanceAward = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "履约奖标准", schoolTeacher.getSchoolAge().toString(), null);
|
|
|
+ if (performanceAward == null){
|
|
|
+ SchoolConfigItem performanceAwardName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "履约奖标准", null, null);
|
|
|
+ if (performanceAwardName != null){
|
|
|
+ schoolTeacher.setPerformanceAward(performanceAwardName.getSalary());
|
|
|
+ schoolTeacher.setPerformanceAwardName(performanceAwardName.getSalary());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ schoolTeacher.setPerformanceAward(performanceAward.getSalary());
|
|
|
+ schoolTeacher.setPerformanceAwardName(performanceAward.getSalary());
|
|
|
+ }
|
|
|
return schoolTeacher;
|
|
|
}
|
|
|
|