lazhaoqian 3 lat temu
rodzic
commit
d9e19c3102

+ 5 - 2
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/ISchoolTeacherClient.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @FeignClient(
@@ -43,11 +44,13 @@ public interface ISchoolTeacherClient {
 
 	/**
 	 * 获取基础资料信息
-	 * @param inSection
+	 * @param inSection  部门
+	 * @param salaryTime 校龄计算日期
 	 * @return
 	 */
 	@GetMapping(GET_TEACHER)
-	R<List<SchoolTeacher>> getTeacher(@RequestParam("inSection") String inSection);
+	R<List<SchoolTeacher>> getTeacher(@RequestParam("inSection") String inSection,
+										@RequestParam("salaryTime") String salaryTime);
 
 	/**
 	 * 获取标准

+ 5 - 0
blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryItem.java

@@ -835,6 +835,11 @@ public class SalaryItem implements Serializable {
 	 */
 	@ApiModelProperty(value = "备注3")
 	private String remarksOne;
+	/**
+	 * 是否享受公待遇
+	 */
+	@ApiModelProperty(value = "是否享受公待遇")
+	private String enjoyOfficeTreatment;
 
 	public BigDecimal getfSalary() {
 		return fSalary;

+ 36 - 2
blade-service/blade-client/src/main/java/org/springblade/client/school/feign/SchoolTeacherClient.java

@@ -2,8 +2,11 @@ package org.springblade.client.school.feign;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.joda.time.DateTime;
+import org.joda.time.Months;
 import org.springblade.client.entity.SchoolConfigItem;
 import org.springblade.client.entity.SchoolTeacher;
 import org.springblade.client.feign.ISchoolTeacherClient;
@@ -15,6 +18,11 @@ import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 @Slf4j
@@ -37,12 +45,38 @@ public class SchoolTeacherClient implements ISchoolTeacherClient {
 	}
 
 	@Override
-	public R<List<SchoolTeacher>> getTeacher(String inSection) {
+	public R<List<SchoolTeacher>> getTeacher(String inSection, String salaryTime) {
 		LambdaQueryWrapper<SchoolTeacher> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(SchoolTeacher::getInSection,inSection);
 		lambdaQueryWrapper.eq(SchoolTeacher::getIsDeleted,0);
 		lambdaQueryWrapper.eq(SchoolTeacher::getTenantId,SecureUtil.getTenantId());
-		return R.data(schoolTeacherService.list(lambdaQueryWrapper));
+		List<SchoolTeacher> list = schoolTeacherService.list(lambdaQueryWrapper);
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+		if (CollectionUtils.isNotEmpty(list)){
+			try {
+				Date parse = sdf.parse(salaryTime);
+				for (SchoolTeacher schoolTeacher : list) {
+					if (schoolTeacher.getSchoolAgeSalaryDate() != null){
+						DateTime start = new DateTime(schoolTeacher.getSchoolAgeSalaryDate().getTime());
+						DateTime end = new DateTime(parse.getTime());
+						int result = Months.monthsBetween(start,end).getMonths();
+						schoolTeacher.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
+					}else {
+						schoolTeacher.setSchoolAge(new BigDecimal(BigInteger.ZERO));
+					}
+					if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0) {
+						schoolTeacher.setSchoolAgeSalary(schoolTeacher.getSchoolAge().multiply(new BigDecimal(100)));
+					} else if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) >= 0) {
+						schoolTeacher.setSchoolAgeSalary(new BigDecimal(1000));
+					}
+					//重新获取教职工标准
+					schoolTeacherService.copyConfigMessage(schoolTeacher);
+				}
+			} catch (ParseException e) {
+				throw  new SecurityException("转换日期异常");
+			}
+		}
+		return R.data(list);
 	}
 
 	@Override

+ 7 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/service/ISchoolTeacherService.java

@@ -75,4 +75,11 @@ public interface ISchoolTeacherService extends IService<SchoolTeacher> {
 	 */
 	R calculateList(SchoolTeacherVO schoolTeacher);
 
+	/**
+	 * 获取教职工标准
+	 * @param schoolTeacher
+	 * @return
+	 */
+	SchoolTeacher copyConfigMessage(SchoolTeacher schoolTeacher);
+
 }

+ 326 - 142
blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolTeacherServiceImpl.java

@@ -67,6 +67,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 
 	private final SchoolTeacherCauseMapper schoolTeacherCauseMapper;
 	private final SchoolConfigItemMapper schoolConfigItemMapper;
+
 	@Override
 	public IPage<SchoolTeacherVO> selectSchoolTeacherPage(IPage<SchoolTeacherVO> page, SchoolTeacherVO schoolTeacher) {
 		return page.setRecords(baseMapper.selectSchoolTeacherPage(page, schoolTeacher));
@@ -77,30 +78,30 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 	public SchoolTeacher saveTeacherMessage(SchoolTeacher schoolTeacher) {
 		SchoolTeacher teacher = baseMapper.selectOne(new QueryWrapper<SchoolTeacher>().eq("id_number", schoolTeacher.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
 			.eq("is_deleted", 0));
-		if (schoolTeacher.getSchoolAgeSalaryDate() != null){
+		if (schoolTeacher.getSchoolAgeSalaryDate() != null) {
 			DateTime start = new DateTime(schoolTeacher.getSchoolAgeSalaryDate().getTime());
 			DateTime end = new DateTime(new Date().getTime());
-			int result = Months.monthsBetween(start,end).getMonths();
+			int result = Months.monthsBetween(start, end).getMonths();
 			schoolTeacher.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
-		}else {
+		} else {
 			schoolTeacher.setSchoolAge(BigDecimal.ZERO);
 		}
-		if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0){
+		if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0) {
 			schoolTeacher.setSchoolAgeSalary(schoolTeacher.getSchoolAge().multiply(new BigDecimal(100)));
-		}else if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) >= 0){
+		} else if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) >= 0) {
 			schoolTeacher.setSchoolAgeSalary(new BigDecimal(1000));
 		}
 		//获取教职工标准配置
 		SchoolTeacher configMessage = this.getConfigMessage(schoolTeacher);
-		if (teacher == null	){
+		if (teacher == null) {
 			configMessage.setId(null);
 			configMessage.setCreateTime(new Date());
 			configMessage.setCreateUser(SecureUtil.getUserId());
 			configMessage.setTenantId(SecureUtil.getTenantId());
 			baseMapper.insert(configMessage);
-		}else{
-			if (schoolTeacher.getId() != null && teacher.getId().longValue() != schoolTeacher.getId().longValue()){
-				throw  new RuntimeException("身份证号:"+schoolTeacher.getIdNumber()+"已存在");
+		} else {
+			if (schoolTeacher.getId() != null && teacher.getId().longValue() != schoolTeacher.getId().longValue()) {
+				throw new RuntimeException("身份证号:" + schoolTeacher.getIdNumber() + "已存在");
 			}
 			configMessage.setId(teacher.getId());
 			configMessage.setUpdateTime(new Date());
@@ -115,19 +116,19 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 		teacherMessage.setSalaryBaseName(teacherMessage.getSalaryBase());
 		//日常考核工资
 		teacherMessage.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria().subtract(teacherMessage.getVirtualDailyAssessmentCriteria()));
-		if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0){
+		if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0) {
 			teacherMessage.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 		}
 		baseMapper.updateById(teacherMessage);
-		if (CollectionUtils.isNotEmpty(configMessage.getCauseList())){
-			configMessage.getCauseList().stream().forEach(item ->{
-				if (item.getId() == null){
+		if (CollectionUtils.isNotEmpty(configMessage.getCauseList())) {
+			configMessage.getCauseList().stream().forEach(item -> {
+				if (item.getId() == null) {
 					item.setPid(configMessage.getId());
 					item.setCreateTime(new Date());
 					item.setCreateUser(SecureUtil.getUserId());
 					item.setTenantId(SecureUtil.getTenantId());
 					schoolTeacherCauseMapper.insert(item);
-				}else {
+				} else {
 					item.setPid(configMessage.getId());
 					item.setUpdateTime(new Date());
 					item.setUpdateUser(SecureUtil.getUserId());
@@ -142,40 +143,38 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 	@Override
 	@Transactional
 	public R importSupplierDesc(List<SchoolTeacherExcel> data, Boolean isCovered) {
-		if(org.springframework.util.CollectionUtils.isEmpty(data))
-		{
+		if (org.springframework.util.CollectionUtils.isEmpty(data)) {
 			throw new SecurityException("导入数据不能为空");
 		}
-		StringBuffer errMsg= new StringBuffer();
+		StringBuffer errMsg = new StringBuffer();
 
-		for(int i=0;i<data.size();i++)
-		{
+		for (int i = 0; i < data.size(); i++) {
 			SchoolTeacherExcel schoolTeacherExcel = data.get(i);
-			if (StringUtils.isBlank(schoolTeacherExcel.getIdNumber())){
-				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+			if (StringUtils.isBlank(schoolTeacherExcel.getIdNumber())) {
+				errMsg.append("第" + (i + 2) + "行,身份证号码为空,");
 				continue;
 			}
 			/*if (StringUtils.isBlank(schoolTeacherExcel.getCode())){
 				errMsg.append("第"+(i+2)+"行,工号为空,");
 				continue;
 			}*/
-			if (StringUtils.isBlank(schoolTeacherExcel.getCname())){
-				errMsg.append("第"+(i+2)+"行,姓名为空,");
+			if (StringUtils.isBlank(schoolTeacherExcel.getCname())) {
+				errMsg.append("第" + (i + 2) + "行,姓名为空,");
 				continue;
 			}
 			SchoolTeacher schoolTeacher = new SchoolTeacher();
-			BeanUtil.copy(schoolTeacherExcel,schoolTeacher);
-			if (schoolTeacher.getSchoolAgeSalaryDate() != null){
+			BeanUtil.copy(schoolTeacherExcel, schoolTeacher);
+			if (schoolTeacher.getSchoolAgeSalaryDate() != null) {
 				DateTime start = new DateTime(schoolTeacher.getSchoolAgeSalaryDate().getTime());
 				DateTime end = new DateTime(new Date().getTime());
-				int result = Months.monthsBetween(start,end).getMonths();
+				int result = Months.monthsBetween(start, end).getMonths();
 				schoolTeacher.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
-			}else {
+			} else {
 				schoolTeacher.setSchoolAge(new BigDecimal(BigInteger.ZERO));
 			}
-			if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0){
+			if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0) {
 				schoolTeacher.setSchoolAgeSalary(schoolTeacher.getSchoolAge().multiply(new BigDecimal(100)));
-			}else if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) >= 0){
+			} else if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) >= 0) {
 				schoolTeacher.setSchoolAgeSalary(new BigDecimal(1000));
 			}
 			//获取教职工标准配置
@@ -184,12 +183,12 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			//根据身份证号查询教职工信息是否存在存在更新不存在新增
 			SchoolTeacher teacher = baseMapper.selectOne(new QueryWrapper<SchoolTeacher>().eq("id_number", configMessage.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
 				.eq("is_deleted", 0));
-			if (teacher == null){
+			if (teacher == null) {
 				configMessage.setTenantId(SecureUtil.getTenantId());
 				configMessage.setCreateUser(SecureUtil.getUserId());
 				configMessage.setCreateTime(new Date());
 				baseMapper.insert(configMessage);
-			}else {
+			} else {
 				configMessage.setId(teacher.getId());
 				configMessage.setUpdateUser(SecureUtil.getUserId());
 				configMessage.setUpdateTime(new Date());
@@ -203,13 +202,13 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			teacherMessage.setSalaryBaseName(teacherMessage.getSalaryBase());
 			//日常考核工资
 			teacherMessage.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria().subtract(teacherMessage.getVirtualDailyAssessmentCriteria()));
-			if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0){
+			if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0) {
 				teacherMessage.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			baseMapper.updateById(teacherMessage);
 		}
-		if (StringUtils.isNotBlank(errMsg)){
-			return R.success("导入部分成功,未导入成功的有"+errMsg.toString());
+		if (StringUtils.isNotBlank(errMsg)) {
+			return R.success("导入部分成功,未导入成功的有" + errMsg.toString());
 		}
 		return R.success("导入成功");
 	}
@@ -218,16 +217,16 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 	public R updateTeacherMessage() {
 		//获取校龄开始时间不为空的计算校龄
 		LambdaQueryWrapper<SchoolTeacher> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(SchoolTeacher::getIsDeleted,0);
-		lambdaQueryWrapper.eq(SchoolTeacher::getStatus,0);
+		lambdaQueryWrapper.eq(SchoolTeacher::getIsDeleted, 0);
+		lambdaQueryWrapper.eq(SchoolTeacher::getStatus, 0);
 		lambdaQueryWrapper.isNotNull(SchoolTeacher::getSchoolAgeSalaryDate);
 		List<SchoolTeacher> schoolTeacherList = baseMapper.selectList(lambdaQueryWrapper);
 		//有数据执行更新校龄操作
-		if (CollectionUtils.isNotEmpty(schoolTeacherList)){
-			schoolTeacherList.stream().forEach(item ->{
+		if (CollectionUtils.isNotEmpty(schoolTeacherList)) {
+			schoolTeacherList.stream().forEach(item -> {
 				DateTime start = new DateTime(item.getSchoolAgeSalaryDate().getTime());
 				DateTime end = new DateTime(new Date().getTime());
-				int result = Months.monthsBetween(start,end).getMonths();
+				int result = Months.monthsBetween(start, end).getMonths();
 				item.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
 				//更新完校龄重新计算标准
 				SchoolTeacher configMessage = this.getConfigMessage(item);
@@ -240,7 +239,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 				teacherMessage.setSalaryBaseName(teacherMessage.getSalaryBase());
 				//日常考核工资
 				teacherMessage.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria().subtract(teacherMessage.getVirtualDailyAssessmentCriteria()));
-				if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0){
+				if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0) {
 					teacherMessage.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 				}
 				baseMapper.updateById(teacherMessage);
@@ -253,7 +252,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 	@Transactional
 	public R calculate(SchoolTeacher schoolTeacher) {
 		SchoolTeacher teacher = baseMapper.selectById(schoolTeacher.getId());
-		if (teacher == null){
+		if (teacher == null) {
 			throw new RuntimeException("未找到职工信息");
 		}
 		SchoolTeacher configMessage = this.getConfigMessage(teacher);
@@ -266,7 +265,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 		teacherMessage.setSalaryBaseName(teacherMessage.getSalaryBase());
 		//日常考核工资
 		teacherMessage.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria().subtract(teacherMessage.getVirtualDailyAssessmentCriteria()));
-		if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0){
+		if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0) {
 			teacherMessage.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 		}
 		baseMapper.updateById(teacherMessage);
@@ -275,9 +274,9 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 
 	@Override
 	public R calculateList(SchoolTeacherVO schoolTeacher) {
-		schoolTeacher.getIdList().stream().forEach(item ->{
+		schoolTeacher.getIdList().stream().forEach(item -> {
 			SchoolTeacher teacher = baseMapper.selectById(item);
-			if (teacher == null){
+			if (teacher == null) {
 				throw new RuntimeException("未找到职工信息");
 			}
 			SchoolTeacher configMessage = this.getConfigMessage(teacher);
@@ -290,7 +289,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			teacherMessage.setSalaryBaseName(teacherMessage.getSalaryBase());
 			//日常考核工资
 			teacherMessage.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria().subtract(teacherMessage.getVirtualDailyAssessmentCriteria()));
-			if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0){
+			if (teacherMessage.getDailyAssessmentCriteria().compareTo(BigDecimal.ZERO) < 0) {
 				teacherMessage.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			baseMapper.updateById(teacherMessage);
@@ -299,19 +298,19 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 	}
 
 	//获取工资标准配置信息
-	public SchoolTeacher getConfigMessage(SchoolTeacher schoolTeacher){
+	public SchoolTeacher getConfigMessage(SchoolTeacher schoolTeacher) {
 		//获取工资拨付标准 公办用职称查询 其他用校龄查询
-		if (!schoolTeacher.getInSection().equals("高中部")){
-			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")){
+		if (!schoolTeacher.getInSection().equals("高中部")) {
+			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")) {
 				//非公办教师查询按校龄查询 查询不到按最大的校龄取值
 				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
-					"工资拨付标准", schoolTeacher.getSchoolAge().toString(),null,null);
-				if (configMessage == null){
+					"工资拨付标准", schoolTeacher.getSchoolAge().toString(), null, null);
+				if (configMessage == null) {
 					SchoolConfigItem configItem = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 						schoolTeacher.getInSection(),
-						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null,null,null);
-					if (configItem != null){
+						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null, null, null);
+					if (configItem != null) {
 						schoolTeacher.setSalaryWithdrawalStandard(configItem.getSalary());
 						schoolTeacher.setWorkloadSalaryName(configItem.getWorkloadSalaryName());//工作量工资标准
 						schoolTeacher.setVirtualWorkloadSalary(configItem.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -320,7 +319,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 						schoolTeacher.setVirtualDoubleCease(configItem.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 						schoolTeacher.setVirtualDailyAssessmentCriteria(configItem.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 						schoolTeacher.setTermPerformanceSalaryName(configItem.getTermPerformanceSalaryName());//学期绩效工资标准
-					}else {
+					} else {
 						schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
 						schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
 						schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
@@ -330,7 +329,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 						schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
 						schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
 					}
-				}else {
+				} else {
 					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
 					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -340,11 +339,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
 				}
-			}else {
+			} else {
 				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
-					"工资拨付标准", schoolTeacher.getRankType(),null,null);
-				if (configMessage != null){
+					"工资拨付标准", schoolTeacher.getRankType(), null, null);
+				if (configMessage != null) {
 					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
 					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -353,7 +352,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
-				}else {
+				} else {
 					schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
 					schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
@@ -364,17 +363,17 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 					schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
 				}
 			}
-		}else {
-			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")){
+		} else {
+			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")) {
 				//非公办教师查询按校龄查询 查询不到按最大的校龄取值
 				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
-					"工资拨付标准", schoolTeacher.getSchoolAge().toString(),null,schoolTeacher.getClassType());
-				if (configMessage == null){
+					"工资拨付标准", schoolTeacher.getSchoolAge().toString(), null, schoolTeacher.getClassType());
+				if (configMessage == null) {
 					SchoolConfigItem configItem = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 						schoolTeacher.getInSection(),
-						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null,null,schoolTeacher.getClassType());
-					if (configItem != null){
+						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null, null, schoolTeacher.getClassType());
+					if (configItem != null) {
 						schoolTeacher.setSalaryWithdrawalStandard(configItem.getSalary());
 						schoolTeacher.setWorkloadSalaryName(configItem.getWorkloadSalaryName());//工作量工资标准
 						schoolTeacher.setVirtualWorkloadSalary(configItem.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -383,7 +382,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 						schoolTeacher.setVirtualDoubleCease(configItem.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 						schoolTeacher.setVirtualDailyAssessmentCriteria(configItem.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 						schoolTeacher.setTermPerformanceSalaryName(configItem.getTermPerformanceSalaryName());//学期绩效工资标准
-					}else {
+					} else {
 						schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
 						schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
 						schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
@@ -393,7 +392,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 						schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
 						schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
 					}
-				}else {
+				} else {
 					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
 					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -403,11 +402,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
 				}
-			}else {
+			} else {
 				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
-					"工资拨付标准", schoolTeacher.getRankType(),null,schoolTeacher.getClassType());
-				if (configMessage != null){
+					"工资拨付标准", schoolTeacher.getRankType(), null, schoolTeacher.getClassType());
+				if (configMessage != null) {
 					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
 					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
@@ -416,7 +415,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
 					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
-				}else {
+				} else {
 					schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
 					schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
 					schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
@@ -428,165 +427,350 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 				}
 			}
 		}
-		if (schoolTeacher.getSalaryWithdrawalStandard() != null && StringUtils.isNotBlank(schoolTeacher.getStaffType()) && schoolTeacher.getStaffType().equals("非教师")){
+		if (schoolTeacher.getSalaryWithdrawalStandard() != null && StringUtils.isNotBlank(schoolTeacher.getStaffType()) && schoolTeacher.getStaffType().equals("非教师")) {
 			schoolTeacher.setSalaryWithdrawalStandard(schoolTeacher.getSalaryWithdrawalStandard().multiply(new BigDecimal(0.8)));
 		}
 		//获取职级拨付标准 按校龄取值 查询不到不赋值
 		SchoolConfigItem teacherSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 			schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
-			schoolTeacher.getSchoolAge().toString(),null,null);
-		if (teacherSubsidy != null){
+			schoolTeacher.getSchoolAge().toString(), null, null);
+		if (teacherSubsidy != null) {
 			schoolTeacher.setRankWithdrawalStandardName(teacherSubsidy.getSalary());
 			schoolTeacher.setRankWithdrawalStandard(teacherSubsidy.getSalary());
-		}else {
+		} else {
 			SchoolConfigItem message = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 				schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
-				null, null,null);
-			if (message != null){
+				null, null, null);
+			if (message != null) {
 				schoolTeacher.setRankWithdrawalStandardName(message.getSalary());
 				schoolTeacher.setRankWithdrawalStandard(message.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setRankWithdrawalStandardName(BigDecimal.ZERO);
 				schoolTeacher.setRankWithdrawalStandard(BigDecimal.ZERO);
 			}
 		}
 		//班主任补贴标准
 		SchoolConfigItem message = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(),
-			schoolTeacher.getInSection(), null, "班主任补贴标准", schoolTeacher.getDepartment()+schoolTeacher.getDoubleTeachers(),
-			null,null);
-		if (message != null){
+			schoolTeacher.getInSection(), null, "班主任补贴标准", schoolTeacher.getDepartment() + schoolTeacher.getDoubleTeachers(),
+			null, null);
+		if (message != null) {
 			schoolTeacher.setTeacherSubsidy(message.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setTeacherSubsidy(BigDecimal.ZERO);
 		}
 		//班主任考核补贴标准
-		SchoolConfigItem teacherAssessSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "班主任考核补贴标准", schoolTeacher.getDepartment()+schoolTeacher.getDoubleTeachers(),null,null);
-		if (teacherAssessSubsidy != null){
+		SchoolConfigItem teacherAssessSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "班主任考核补贴标准", schoolTeacher.getDepartment() + schoolTeacher.getDoubleTeachers(), null, null);
+		if (teacherAssessSubsidy != null) {
 			schoolTeacher.setTeacherAssessSubsidy(teacherAssessSubsidy.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setTeacherAssessSubsidy(BigDecimal.ZERO);
 		}
 		//教研组长补贴标准
-		SchoolConfigItem assessTeachingResearch = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessTeachingResearch != null){
+		SchoolConfigItem assessTeachingResearch = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessTeachingResearch != null) {
 			schoolTeacher.setTeachingResearchName(assessTeachingResearch.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setTeachingResearchName(BigDecimal.ZERO);
 		}
 		//教研组长考核补贴标准
-		SchoolConfigItem assessTeachingResearchName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessTeachingResearchName != null){
+		SchoolConfigItem assessTeachingResearchName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长考核补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessTeachingResearchName != null) {
 			schoolTeacher.setAssessTeachingResearchName(assessTeachingResearchName.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setAssessTeachingResearchName(BigDecimal.ZERO);
 		}
 		//备课组长补贴标准
-		SchoolConfigItem assessPrepareLessonsName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessPrepareLessonsName != null){
+		SchoolConfigItem assessPrepareLessonsName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessPrepareLessonsName != null) {
 			schoolTeacher.setPrepareLessonsName(assessPrepareLessonsName.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setPrepareLessonsName(BigDecimal.ZERO);
 		}
 		//备课组长考核补贴标准
-		SchoolConfigItem assessPrepareLessons = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessPrepareLessons != null){
+		SchoolConfigItem assessPrepareLessons = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长考核补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessPrepareLessons != null) {
 			schoolTeacher.setAssessPrepareLessonsName(assessPrepareLessons.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setAssessPrepareLessonsName(BigDecimal.ZERO);
 		}
 		//领导干部补贴标准
-		SchoolConfigItem assessLeadingCadreSubsidyName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessLeadingCadreSubsidyName != null){
+		SchoolConfigItem assessLeadingCadreSubsidyName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessLeadingCadreSubsidyName != null) {
 			schoolTeacher.setLeadingCadreSubsidyName(assessLeadingCadreSubsidyName.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setLeadingCadreSubsidyName(BigDecimal.ZERO);
 		}
 		//领导干部考核补贴标准
-		SchoolConfigItem assessLeadingCadreSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
-		if (assessLeadingCadreSubsidy != null){
+		SchoolConfigItem assessLeadingCadreSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部考核补贴标准", null, schoolTeacher.getCompileCategory(), null);
+		if (assessLeadingCadreSubsidy != null) {
 			schoolTeacher.setAssessLeadingCadreSubsidyName(assessLeadingCadreSubsidy.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setAssessLeadingCadreSubsidyName(BigDecimal.ZERO);
 		}
 		//学历工资
-		SchoolConfigItem code = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "学历标准", schoolTeacher.getCode(), null,null);
-		if (code != null){
+		SchoolConfigItem code = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "学历标准", schoolTeacher.getCode(), null, null);
+		if (code != null) {
 			schoolTeacher.setEducationSalary(code.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setEducationSalary(BigDecimal.ZERO);
 		}
 		//职级等级工资
-		SchoolConfigItem rankSalaryName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "职级等级标准", schoolTeacher.getRankSalaryName(), null,null);
-		if (rankSalaryName != null){
+		SchoolConfigItem rankSalaryName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "职级等级标准", schoolTeacher.getRankSalaryName(), null, null);
+		if (rankSalaryName != null) {
 			schoolTeacher.setRankSalary(rankSalaryName.getSalary());
-		}else {
+		} else {
 			schoolTeacher.setRankSalary(BigDecimal.ZERO);
 		}
 		//增资标准
-		SchoolConfigItem capitalIncreaseName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", schoolTeacher.getSchoolAge().toString(), null,null);
-		if (capitalIncreaseName == null){
-			SchoolConfigItem capitalIncrease = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", null, null,null);
-			if (capitalIncrease != null){
+		SchoolConfigItem capitalIncreaseName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", schoolTeacher.getSchoolAge().toString(), null, null);
+		if (capitalIncreaseName == null) {
+			SchoolConfigItem capitalIncrease = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", null, null, null);
+			if (capitalIncrease != null) {
 				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 				schoolTeacher.setCapitalIncrease(capitalIncrease.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 				schoolTeacher.setCapitalIncrease(BigDecimal.ZERO);
 			}
-		}else {
+		} else {
 			schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 			schoolTeacher.setCapitalIncrease(capitalIncreaseName.getSalary());
 		}
 		//履约奖标准
-		if (StringUtils.isBlank(schoolTeacher.getEnjoyOfficeTreatment()) || !schoolTeacher.getEnjoyOfficeTreatment().equals("是")) {
-			SchoolConfigItem performanceAward = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", schoolTeacher.getSchoolAge().toString(), null,null);
-			if (performanceAward == null){
-				SchoolConfigItem performanceAwardName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", null, null,null);
-				if (performanceAwardName != null){
-					schoolTeacher.setPerformanceAward(performanceAwardName.getSalary());
-					schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
-				}else {
-					schoolTeacher.setPerformanceAward(BigDecimal.ZERO);
-					schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
-				}
-			}else {
-				schoolTeacher.setPerformanceAward(performanceAward.getSalary());
+		/*if (StringUtils.isBlank(schoolTeacher.getEnjoyOfficeTreatment()) || !schoolTeacher.getEnjoyOfficeTreatment().equals("是")) {*/
+		SchoolConfigItem performanceAward = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", schoolTeacher.getSchoolAge().toString(), null, null);
+		if (performanceAward == null) {
+			SchoolConfigItem performanceAwardName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", null, null, null);
+			if (performanceAwardName != null) {
+				schoolTeacher.setPerformanceAward(performanceAwardName.getSalary());
+				schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
+			} else {
+				schoolTeacher.setPerformanceAward(BigDecimal.ZERO);
 				schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
 			}
+		} else {
+			schoolTeacher.setPerformanceAward(performanceAward.getSalary());
+			schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
 		}
-		if (schoolTeacher.getInSection().equals("高中部")){
+		/*}*/
+		if (schoolTeacher.getInSection().equals("高中部")) {
 			//日常考核工资标准
-			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核等级", schoolTeacher.getDailyGrade(), null,schoolTeacher.getClassType());
-			if (assessment != null){
+			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核等级", schoolTeacher.getDailyGrade(), null, schoolTeacher.getClassType());
+			if (assessment != null) {
 				schoolTeacher.setDailyAssessmentCriteria(assessment.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			//学期绩效工资标准
-			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效等级", schoolTeacher.getPerformanceGrade(), null,schoolTeacher.getClassType());
-			if (performance != null){
+			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效等级", schoolTeacher.getPerformanceGrade(), null, schoolTeacher.getClassType());
+			if (performance != null) {
 				schoolTeacher.setTermPerformanceSalary(performance.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setTermPerformanceSalary(new BigDecimal(BigInteger.ZERO));
 			}
 
-		}else {
+		} else {
 			//日常考核工资标准
-			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核等级", schoolTeacher.getDailyGrade(), null,null);
-			if (assessment != null){
+			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核等级", schoolTeacher.getDailyGrade(), null, null);
+			if (assessment != null) {
 				schoolTeacher.setDailyAssessmentCriteria(assessment.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			//学期绩效工资标准
-			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效等级", schoolTeacher.getPerformanceGrade(), null,null);
-			if (performance != null){
+			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效等级", schoolTeacher.getPerformanceGrade(), null, null);
+			if (performance != null) {
 				schoolTeacher.setTermPerformanceSalary(performance.getSalary());
-			}else {
+			} else {
 				schoolTeacher.setTermPerformanceSalary(new BigDecimal(BigInteger.ZERO));
 			}
 		}
 		return schoolTeacher;
 	}
-
+	//获取工资标准配置信息
+	public SchoolTeacher copyConfigMessage(SchoolTeacher schoolTeacher) {
+		//获取工资拨付标准 公办用职称查询 其他用校龄查询
+		if (!schoolTeacher.getInSection().equals("高中部")) {
+			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")) {
+				//非公办教师查询按校龄查询 查询不到按最大的校龄取值
+				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
+					"工资拨付标准", schoolTeacher.getSchoolAge().toString(), null, null);
+				if (configMessage == null) {
+					SchoolConfigItem configItem = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+						schoolTeacher.getInSection(),
+						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null, null, null);
+					if (configItem != null) {
+						schoolTeacher.setSalaryWithdrawalStandard(configItem.getSalary());
+						schoolTeacher.setWorkloadSalaryName(configItem.getWorkloadSalaryName());//工作量工资标准
+						schoolTeacher.setVirtualWorkloadSalary(configItem.getVirtualWorkloadSalary());//虚拟工作量工资标准
+						schoolTeacher.setDoubleCease(configItem.getDoubleCease());//双休日工作量工资标准
+						schoolTeacher.setDailyAssessmentCriteriaName(configItem.getDailyAssessmentCriteriaName());//日常考核工资标准
+						schoolTeacher.setVirtualDoubleCease(configItem.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+						schoolTeacher.setVirtualDailyAssessmentCriteria(configItem.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+						schoolTeacher.setTermPerformanceSalaryName(configItem.getTermPerformanceSalaryName());//学期绩效工资标准
+					} else {
+						schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
+						schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
+						schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
+						schoolTeacher.setDoubleCease(BigDecimal.ZERO);//双休日工作量工资标准
+						schoolTeacher.setDailyAssessmentCriteriaName(BigDecimal.ZERO);//日常考核工资标准
+						schoolTeacher.setVirtualDoubleCease(BigDecimal.ZERO);//虚拟双休日工作量工资标准
+						schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
+						schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
+					}
+				} else {
+					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
+					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(configMessage.getDoubleCease());//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(configMessage.getDailyAssessmentCriteriaName());//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
+				}
+			} else {
+				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
+					"工资拨付标准", schoolTeacher.getRankType(), null, null);
+				if (configMessage != null) {
+					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
+					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(configMessage.getDoubleCease());//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(configMessage.getDailyAssessmentCriteriaName());//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
+				} else {
+					schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
+					schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(BigDecimal.ZERO);//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(BigDecimal.ZERO);//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(BigDecimal.ZERO);//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
+				}
+			}
+		} else {
+			if (StringUtils.isNotBlank(schoolTeacher.getSalaryWithdrawalStandardName()) && !schoolTeacher.getSalaryWithdrawalStandardName().contains("公办")) {
+				//非公办教师查询按校龄查询 查询不到按最大的校龄取值
+				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
+					"工资拨付标准", schoolTeacher.getSchoolAge().toString(), null, schoolTeacher.getClassType());
+				if (configMessage == null) {
+					SchoolConfigItem configItem = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+						schoolTeacher.getInSection(),
+						schoolTeacher.getSalaryWithdrawalStandardName(), "工资拨付标准", null, null, schoolTeacher.getClassType());
+					if (configItem != null) {
+						schoolTeacher.setSalaryWithdrawalStandard(configItem.getSalary());
+						schoolTeacher.setWorkloadSalaryName(configItem.getWorkloadSalaryName());//工作量工资标准
+						schoolTeacher.setVirtualWorkloadSalary(configItem.getVirtualWorkloadSalary());//虚拟工作量工资标准
+						schoolTeacher.setDoubleCease(configItem.getDoubleCease());//双休日工作量工资标准
+						schoolTeacher.setDailyAssessmentCriteriaName(configItem.getDailyAssessmentCriteriaName());//日常考核工资标准
+						schoolTeacher.setVirtualDoubleCease(configItem.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+						schoolTeacher.setVirtualDailyAssessmentCriteria(configItem.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+						schoolTeacher.setTermPerformanceSalaryName(configItem.getTermPerformanceSalaryName());//学期绩效工资标准
+					} else {
+						schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
+						schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
+						schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
+						schoolTeacher.setDoubleCease(BigDecimal.ZERO);//双休日工作量工资标准
+						schoolTeacher.setDailyAssessmentCriteriaName(BigDecimal.ZERO);//日常考核工资标准
+						schoolTeacher.setVirtualDoubleCease(BigDecimal.ZERO);//虚拟双休日工作量工资标准
+						schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
+						schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
+					}
+				} else {
+					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
+					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(configMessage.getDoubleCease());//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(configMessage.getDailyAssessmentCriteriaName());//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
+				}
+			} else {
+				SchoolConfigItem configMessage = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+					schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(),
+					"工资拨付标准", schoolTeacher.getRankType(), null, schoolTeacher.getClassType());
+				if (configMessage != null) {
+					schoolTeacher.setSalaryWithdrawalStandard(configMessage.getSalary());
+					schoolTeacher.setWorkloadSalaryName(configMessage.getWorkloadSalaryName());//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(configMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(configMessage.getDoubleCease());//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(configMessage.getDailyAssessmentCriteriaName());//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(configMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(configMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(configMessage.getTermPerformanceSalaryName());//学期绩效工资标准
+				} else {
+					schoolTeacher.setSalaryWithdrawalStandard(BigDecimal.ZERO);
+					schoolTeacher.setWorkloadSalaryName(BigDecimal.ZERO);//工作量工资标准
+					schoolTeacher.setVirtualWorkloadSalary(BigDecimal.ZERO);//虚拟工作量工资标准
+					schoolTeacher.setDoubleCease(BigDecimal.ZERO);//双休日工作量工资标准
+					schoolTeacher.setDailyAssessmentCriteriaName(BigDecimal.ZERO);//日常考核工资标准
+					schoolTeacher.setVirtualDoubleCease(BigDecimal.ZERO);//虚拟双休日工作量工资标准
+					schoolTeacher.setVirtualDailyAssessmentCriteria(BigDecimal.ZERO);//虚拟日常考核工资标准
+					schoolTeacher.setTermPerformanceSalaryName(BigDecimal.ZERO);//学期绩效工资标准
+				}
+			}
+		}
+		if (schoolTeacher.getSalaryWithdrawalStandard() != null && StringUtils.isNotBlank(schoolTeacher.getStaffType()) && schoolTeacher.getStaffType().equals("非教师")) {
+			schoolTeacher.setSalaryWithdrawalStandard(schoolTeacher.getSalaryWithdrawalStandard().multiply(new BigDecimal(0.8)));
+		}
+		//获取职级拨付标准 按校龄取值 查询不到不赋值
+		SchoolConfigItem teacherSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+			schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
+			schoolTeacher.getSchoolAge().toString(), null, 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, null);
+			if (message != null) {
+				schoolTeacher.setRankWithdrawalStandardName(message.getSalary());
+				schoolTeacher.setRankWithdrawalStandard(message.getSalary());
+			} else {
+				schoolTeacher.setRankWithdrawalStandardName(BigDecimal.ZERO);
+				schoolTeacher.setRankWithdrawalStandard(BigDecimal.ZERO);
+			}
+		}
+		//增资标准
+		SchoolConfigItem capitalIncreaseName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", schoolTeacher.getSchoolAge().toString(), null, null);
+		if (capitalIncreaseName == null) {
+			SchoolConfigItem capitalIncrease = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", null, null, null);
+			if (capitalIncrease != null) {
+				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
+				schoolTeacher.setCapitalIncrease(capitalIncrease.getSalary());
+			} else {
+				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
+				schoolTeacher.setCapitalIncrease(BigDecimal.ZERO);
+			}
+		} else {
+			schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
+			schoolTeacher.setCapitalIncrease(capitalIncreaseName.getSalary());
+		}
+		//履约奖标准
+		/*if (StringUtils.isBlank(schoolTeacher.getEnjoyOfficeTreatment()) || !schoolTeacher.getEnjoyOfficeTreatment().equals("是")) {*/
+		SchoolConfigItem performanceAward = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", schoolTeacher.getSchoolAge().toString(), null, null);
+		if (performanceAward == null) {
+			SchoolConfigItem performanceAwardName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "履约奖标准", null, null, null);
+			if (performanceAwardName != null) {
+				schoolTeacher.setPerformanceAward(performanceAwardName.getSalary());
+				schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
+			} else {
+				schoolTeacher.setPerformanceAward(BigDecimal.ZERO);
+				schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
+			}
+		} else {
+			schoolTeacher.setPerformanceAward(performanceAward.getSalary());
+			schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
+		}
+		/*}*/
+		return schoolTeacher;
+	}
 }

+ 37 - 0
blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java

@@ -1588,4 +1588,41 @@ public class SalaryItemController extends BladeController {
 		}
 		return salaryItemService.importCustomWorkload(excelList,false,id,file);
 	}
+	/**
+	 * 导入职工信息模板
+	 */
+	@GetMapping("/export/staffInformation")
+	@ApiOperationSupport(order = 88)
+	@ApiOperation(value = "导入模板-工资管理-小学部-职工信息模板")
+	public void exportStaffInformation(HttpServletResponse response) {
+		List<StaffInformation> list = new ArrayList<StaffInformation>();
+		ExcelUtil.export(response, "职工信息", "职工信息", list, StaffInformation.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-职工信息导入
+	 *
+	 * */
+	@PostMapping("/import/staffInformation")
+	@ApiOperationSupport(order = 89)
+	@ApiOperation(value = "导入-工资管理-小学部-职工信息导入", notes = "传入excel")
+	public R importStaffInformation(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new StaffInformation());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<StaffInformation> excelList = ExcelUtil.read(file, StaffInformation.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importStaffInformation(excelList,false,id,file);
+	}
 }

+ 30 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/StaffInformation.java

@@ -0,0 +1,30 @@
+package org.springblade.school.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 通济学校-工资管理-小学部-职工信息导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class StaffInformation implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+}

+ 5 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/WageExcel.java

@@ -668,6 +668,11 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "实发工资取整")
 	private BigDecimal pauseNoPayOne;
 	/**
+	 * 是否享受公待遇
+	 */
+	@ExcelProperty(value = "是否享受公待遇")
+	private String enjoyOfficeTreatment;
+	/**
 	 * 备注
 	 */
 	@ExcelProperty(value = "备注")

+ 7 - 0
blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryItemService.java

@@ -352,5 +352,12 @@ public interface ISalaryItemService extends IService<SalaryItem> {
 	 * @return
 	 */
 	R importCustomWorkload(List<CustomWorkload> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入教职工信息
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importStaffInformation(List<StaffInformation> data, Boolean isCovered, Long id,MultipartFile file);
 
 }

+ 59 - 3
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.school.service.impl;
 
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -47,7 +48,11 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.YearMonth;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -199,6 +204,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			//salaryItem.setTeachingResearch(teacherMessage.getTeachingResearch());//教研组长
 			salaryItem.setAssessTeachingResearchName(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴标准
 			//salaryItem.setCustomizeSeven(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴
+			salaryItem.setEnjoyOfficeTreatment(teacherMessage.getEnjoyOfficeTreatment());//是否享受办公待遇
 		}else {
 			salaryItem = null;
 		}
@@ -1497,7 +1503,12 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 	@Override
 	@Transactional
 	public R criterion(SalaryItemVO salaryItem) {
-		R<List<SchoolTeacher>> teacher = schoolTeacherClient.getTeacher(salaryItem.getInSection());
+		Salary salaryMessage = salaryMapper.selectById(salaryItem.getPid());
+		if (salaryMessage == null){
+			throw new RuntimeException("未找到主表信息");
+		}
+		String format = salaryMessage.getAnnual()+"-"+salaryMessage.getMoon();
+		R<List<SchoolTeacher>> teacher = schoolTeacherClient.getTeacher(salaryItem.getInSection(),format);
 		if (teacher.isSuccess() && CollectionUtils.isNotEmpty(teacher.getData())){
 			teacher.getData().stream().forEach(item ->{
 				SalaryItem salary = new SalaryItem();
@@ -1547,6 +1558,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				//salary.setTeachingResearch(item.getTeachingResearch());//教研组长
 				salary.setAssessTeachingResearchName(item.getAssessTeachingResearchName());//教研组长考核补贴标准
 				//salary.setCustomizeSeven(item.getAssessTeachingResearchName());//教研组长考核补贴
+				salary.setEnjoyOfficeTreatment(item.getEnjoyOfficeTreatment());//是否享受办公待遇
 				SalaryItem selectOne = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salary.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
 					.eq("is_deleted", 0).eq("pid",salary.getPid()));
 				if (selectOne == null){
@@ -2081,6 +2093,50 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 		}
 	}
 
+	@Override
+	public R importStaffInformation(List<StaffInformation> 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++)
+		{
+			StaffInformation staffInformation = data.get(i);
+			if (StringUtils.isBlank(staffInformation.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(staffInformation.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(staffInformation,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.setCreateUser(SecureUtil.getUserId());
+				salaryItem.setCreateTime(new Date());
+				baseMapper.insert(salaryItem);
+				message = ++ message;
+			}
+		}
+		//保存上传记录
+		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("导入失败");
+		}
+	}
+
 	/**
 	 *工资计算
 	 *
@@ -2115,8 +2171,8 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			item.setDeductions(item.getAttendance().add(item.getInspectorFines()).add(item.getTelephoneBill()).add(item.getLearningPower()).add(item.getDormitoryManagementFee()).add(item.getChildbirthAllowance()).add(item.getPauseNoPay()).add(item.getRibbonOne()).add(item.getRibbonTwo()).add(item.getRibbonThree()).add(item.getRibbonFour()).add(item.getRibbonFive()).add(item.getRibbonSix()).add(item.getRibbonSeven()).add(item.getRibbonEight()).add(item.getRibbonNine()));
 			//日常考核工资
 			item.setDailyAssessmentSalary(item.getDailyAssessmentSalary().subtract(item.getVirtualDailyAssessmentCriteria()));
-			//应发工资  保险(个人部分)提取 字段值大于440 应付工资字段就不加保险(个人部分)否则就加上
-			if (item.getInsurancePersonage().compareTo(new BigDecimal(700)) > 0){
+			//应发工资  保险(个人部分)提取 享受公办待遇不减个人保险
+			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()));
 			}else {