Browse Source

学校修改

lazhaoqian 3 years ago
parent
commit
988bf6f0b8

+ 22 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/ISchoolTeacherClient.java

@@ -1,5 +1,6 @@
 package org.springblade.client.feign;
 
+import org.springblade.client.entity.SchoolConfigItem;
 import org.springblade.client.entity.SchoolTeacher;
 import org.springblade.common.constant.LauncherConstant;
 import org.springblade.core.tool.api.R;
@@ -22,6 +23,7 @@ public interface ISchoolTeacherClient {
 	String UPDATE_TEACHER_MESSAGE = API_PREFIX + "/updateTeacherMessage";
 	String GET_TEACHER_MESSAGE = API_PREFIX + "/getTeacherMessage";
 	String GET_TEACHER = API_PREFIX + "/getTeacher";
+	String GET_CONFIG = API_PREFIX + "/getConfig";
 
 
 	/**
@@ -46,4 +48,24 @@ public interface ISchoolTeacherClient {
 	 */
 	@GetMapping(GET_TEACHER)
 	R<List<SchoolTeacher>> getTeacher(@RequestParam("inSection") String inSection);
+
+	/**
+	 * 获取标准
+	 * @param tenantId 租户
+	 * @param inSection 部门
+	 * @param salaryWithdrawalStandardName  教师类别
+	 * @param normType 标准类别
+	 * @param parameter 参数
+	 * @param compileCategory 职务
+	 * @param classType 授课类别
+	 * @return
+	 */
+	@GetMapping(GET_CONFIG)
+	R<SchoolConfigItem> getConfig(@RequestParam(value = "tenantId",required = true) String tenantId,
+								  @RequestParam(value = "inSection",required = true) String inSection,
+								  @RequestParam(value = "salaryWithdrawalStandardName",required = true) String salaryWithdrawalStandardName,
+								  @RequestParam(value = "normType",required = true) String normType,
+								  @RequestParam(value = "parameter",required = false) String parameter,
+								  @RequestParam(value = "compileCategory",required = false) String compileCategory,
+								  @RequestParam(value = "classType",required = false) String classType);
 }

+ 8 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/feign/SchoolTeacherClient.java

@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.client.entity.SchoolConfigItem;
 import org.springblade.client.entity.SchoolTeacher;
 import org.springblade.client.feign.ISchoolTeacherClient;
+import org.springblade.client.school.service.ISchoolConfigItemService;
 import org.springblade.client.school.service.ISchoolTeacherService;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
@@ -22,6 +24,7 @@ import java.util.List;
 @AllArgsConstructor
 public class SchoolTeacherClient implements ISchoolTeacherClient {
 	private final ISchoolTeacherService schoolTeacherService;
+	private final ISchoolConfigItemService schoolConfigItemService;
 
 	@Override
 	public R updateTeacherMessage() {
@@ -41,4 +44,9 @@ public class SchoolTeacherClient implements ISchoolTeacherClient {
 		lambdaQueryWrapper.eq(SchoolTeacher::getTenantId,SecureUtil.getTenantId());
 		return R.data(schoolTeacherService.list(lambdaQueryWrapper));
 	}
+
+	@Override
+	public R<SchoolConfigItem> getConfig(String tenantId, String inSection, String salaryWithdrawalStandardName, String normType, String parameter, String compileCategory, String classType) {
+		return R.data(schoolConfigItemService.getConfig(tenantId,inSection,salaryWithdrawalStandardName,normType,parameter,compileCategory,classType));
+	}
 }

+ 18 - 1
blade-service/blade-client/src/main/java/org/springblade/client/school/mapper/SchoolConfigItemMapper.java

@@ -46,7 +46,7 @@ public interface SchoolConfigItemMapper extends BaseMapper<SchoolConfigItem> {
 	 * @param inSection 部门 必填
 	 * @param salaryWithdrawalStandardName 教师类别 必填
 	 * @param normType 标准类别 必填
-	 * @param parameter 类别参数
+	 * @param parameter 类别参数 为空用工资最高的数据
 	 * @param compileCategory 职务
 	 * @return
 	 */
@@ -57,5 +57,22 @@ public interface SchoolConfigItemMapper extends BaseMapper<SchoolConfigItem> {
 									  @Param("parameter") String parameter,
 									  @Param("compileCategory") String compileCategory,
 									  @Param("classType") String classType);
+	/**
+	 * 获取标准配置信息
+	 * @param tenantId 租户 必填
+	 * @param inSection 部门 必填
+	 * @param salaryWithdrawalStandardName 教师类别 必填
+	 * @param normType 标准类别 必填
+	 * @param parameter 类别参数 可以为空
+	 * @param compileCategory 职务
+	 * @return
+	 */
+	SchoolConfigItem getConfig(@Param("tenantId") String tenantId,
+									  @Param("inSection") String inSection,
+									  @Param("salaryWithdrawalStandardName") String salaryWithdrawalStandardName,
+									  @Param("normType") String normType,
+									  @Param("parameter") String parameter,
+									  @Param("compileCategory") String compileCategory,
+									  @Param("classType") String classType);
 
 }

+ 37 - 2
blade-service/blade-client/src/main/java/org/springblade/client/school/mapper/SchoolConfigItemMapper.xml

@@ -38,7 +38,42 @@
         <if test="parameter!=null and parameter != ''">
             AND ci.parameter = #{parameter}
         </if>
-        <if test="parameter==null or parameter == ''">
+        <if test="salaryWithdrawalStandardName!=null and salaryWithdrawalStandardName != ''">
+            AND cf.salary_withdrawal_standard_name = #{salaryWithdrawalStandardName}
+        </if>
+        <if test="salaryWithdrawalStandardName==null or salaryWithdrawalStandardName == ''">
+            AND cf.salary_withdrawal_standard_name = ''
+        </if>
+        <if test="compileCategory!=null and compileCategory != ''">
+            AND cf.compile_category = #{compileCategory}
+        </if>
+        <if test="compileCategory==null or compileCategory == ''">
+            AND cf.compile_category = ''
+        </if>
+        <if test="classType!=null and classType != ''">
+            AND cf.class_type = #{classType}
+        </if>
+        <if test="classType==null or classType == ''">
+            AND cf.class_type IS NULL
+        </if>
+	    ORDER BY ci.salary DESC LIMIT 1
+    </select>
+    <select id="getConfig" resultMap="schoolConfigItemResultMap">
+        SELECT
+        ci.*
+        FROM
+        basic_school_config_item ci
+        LEFT JOIN basic_school_config cf
+        ON ci.pid = cf.id
+        WHERE ci.is_deleted = 0
+        AND cf.is_deleted = 0
+        AND ci.tenant_id = #{tenantId}
+        AND cf.in_section = #{inSection}
+        AND cf.norm_type = #{normType}
+        <if test="parameter!=null and parameter != ''">
+            AND ci.parameter = #{parameter}
+        </if>
+        <if test="parameter!=null or parameter != ''">
             AND ci.parameter IS NULL
         </if>
         <if test="salaryWithdrawalStandardName!=null and salaryWithdrawalStandardName != ''">
@@ -59,7 +94,7 @@
         <if test="classType==null or classType == ''">
             AND cf.class_type IS NULL
         </if>
-	    ORDER BY ci.salary DESC LIMIT 1
+        ORDER BY ci.salary DESC LIMIT 1
     </select>
 
 </mapper>

+ 13 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/service/ISchoolConfigItemService.java

@@ -37,5 +37,18 @@ public interface ISchoolConfigItemService extends IService<SchoolConfigItem> {
 	 * @return
 	 */
 	IPage<SchoolConfigItemVO> selectSchoolConfigItemPage(IPage<SchoolConfigItemVO> page, SchoolConfigItemVO schoolConfigItem);
+	/**
+	 * 获取标准
+	 * @param tenantId 租户
+	 * @param inSection 部门
+	 * @param salaryWithdrawalStandardName  教师类别
+	 * @param normType 标准类别
+	 * @param parameter 参数
+	 * @param compileCategory 职务
+	 * @param classType 授课类别
+	 * @return
+	 */
+	SchoolConfigItem getConfig(String tenantId, String inSection, String salaryWithdrawalStandardName, String normType, String parameter, String compileCategory, String classType);
+
 
 }

+ 5 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolConfigItemServiceImpl.java

@@ -38,4 +38,9 @@ public class SchoolConfigItemServiceImpl extends ServiceImpl<SchoolConfigItemMap
 		return page.setRecords(baseMapper.selectSchoolConfigItemPage(page, schoolConfigItem));
 	}
 
+	@Override
+	public SchoolConfigItem getConfig(String tenantId, String inSection, String salaryWithdrawalStandardName, String normType, String parameter, String compileCategory, String classType) {
+		return baseMapper.getConfig(tenantId,inSection,salaryWithdrawalStandardName,normType,parameter,compileCategory,classType);
+	}
+
 }

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

@@ -410,54 +410,54 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			}
 		}
 		//班主任补贴标准
-		SchoolConfigItem message = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
+		SchoolConfigItem message = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(),
 			schoolTeacher.getInSection(), null, "班主任补贴标准", schoolTeacher.getDepartment()+schoolTeacher.getDoubleTeachers(),
 			schoolTeacher.getCompileCategory(),null);
 		if (message != null){
 			schoolTeacher.setTeacherSubsidy(message.getSalary());
 		}
 		//班主任考核补贴标准
-		SchoolConfigItem teacherAssessSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "班主任考核补贴标准", schoolTeacher.getDepartment()+schoolTeacher.getDoubleTeachers(),schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem teacherAssessSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "班主任考核补贴标准", schoolTeacher.getDepartment()+schoolTeacher.getDoubleTeachers(),schoolTeacher.getCompileCategory(),null);
 		if (teacherAssessSubsidy != null){
 			schoolTeacher.setTeacherAssessSubsidy(teacherAssessSubsidy.getSalary());
 		}
 		//教研组长补贴标准
-		SchoolConfigItem assessTeachingResearch = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessTeachingResearch = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessTeachingResearch != null){
 			schoolTeacher.setAssessTeachingResearch(assessTeachingResearch.getSalary());
 		}
 		//教研组长考核补贴标准
-		SchoolConfigItem assessTeachingResearchName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessTeachingResearchName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "教研组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessTeachingResearchName != null){
 			schoolTeacher.setAssessTeachingResearchName(assessTeachingResearchName.getSalary());
 		}
 		//备课组长补贴标准
-		SchoolConfigItem assessPrepareLessonsName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessPrepareLessonsName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessPrepareLessonsName != null){
 			schoolTeacher.setAssessPrepareLessonsName(assessPrepareLessonsName.getSalary());
 		}
 		//备课组长考核补贴标准
-		SchoolConfigItem assessPrepareLessons = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessPrepareLessons = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "备课组长考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessPrepareLessons != null){
 			schoolTeacher.setAssessPrepareLessons(assessPrepareLessons.getSalary());
 		}
 		//领导干部补贴标准
-		SchoolConfigItem assessLeadingCadreSubsidyName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessLeadingCadreSubsidyName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessLeadingCadreSubsidyName != null){
 			schoolTeacher.setAssessLeadingCadreSubsidyName(assessLeadingCadreSubsidyName.getSalary());
 		}
 		//领导干部考核补贴标准
-		SchoolConfigItem assessLeadingCadreSubsidy = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
+		SchoolConfigItem assessLeadingCadreSubsidy = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "领导干部考核补贴标准", null,schoolTeacher.getCompileCategory(),null);
 		if (assessLeadingCadreSubsidy != null){
 			schoolTeacher.setAssessLeadingCadreSubsidy(assessLeadingCadreSubsidy.getSalary());
 		}
 		//学历工资
-		SchoolConfigItem code = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学历标准", schoolTeacher.getCode(), null,null);
+		SchoolConfigItem code = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学历标准", schoolTeacher.getCode(), null,null);
 		if (code != null){
 			schoolTeacher.setEducationSalary(code.getSalary());
 		}
 		//职级等级工资
-		SchoolConfigItem rankSalaryName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "职级等级标准", schoolTeacher.getRankSalaryName(), null,null);
+		SchoolConfigItem rankSalaryName = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "职级等级标准", schoolTeacher.getRankSalaryName(), null,null);
 		if (rankSalaryName != null){
 			schoolTeacher.setRankSalary(rankSalaryName.getSalary());
 		}
@@ -487,14 +487,14 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 		}
 		if (schoolTeacher.getInSection().equals("高中部")){
 			//日常考核工资标准
-			SchoolConfigItem assessment = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核工资标准", schoolTeacher.getDailyGrade(), null,schoolTeacher.getClassType());
+			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核工资标准", schoolTeacher.getDailyGrade(), null,schoolTeacher.getClassType());
 			if (assessment != null){
 				schoolTeacher.setDailyAssessmentCriteria(assessment.getSalary());
 			}else {
 				schoolTeacher.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			//学期绩效工资标准
-			SchoolConfigItem performance = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效工资标准", schoolTeacher.getPerformanceGrade(), null,schoolTeacher.getClassType());
+			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效工资标准", schoolTeacher.getPerformanceGrade(), null,schoolTeacher.getClassType());
 			if (performance != null){
 				schoolTeacher.setTermPerformanceSalary(performance.getSalary());
 			}else {
@@ -503,14 +503,14 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 
 		}else {
 			//日常考核工资标准
-			SchoolConfigItem assessment = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核工资标准", schoolTeacher.getDailyGrade(), null,null);
+			SchoolConfigItem assessment = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "日常考核工资标准", schoolTeacher.getDailyGrade(), null,null);
 			if (assessment != null){
 				schoolTeacher.setDailyAssessmentCriteria(assessment.getSalary());
 			}else {
 				schoolTeacher.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
 			}
 			//学期绩效工资标准
-			SchoolConfigItem performance = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效工资标准", schoolTeacher.getPerformanceGrade(), null,null);
+			SchoolConfigItem performance = schoolConfigItemMapper.getConfig(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "学期绩效工资标准", schoolTeacher.getPerformanceGrade(), null,null);
 			if (performance != null){
 				schoolTeacher.setTermPerformanceSalary(performance.getSalary());
 			}else {

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

@@ -34,6 +34,11 @@ public class TeachingExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
+	 * 级部
+	 */
+	@ExcelProperty(value = "部门(必填)")
+	private String grading;
+	/**
 	 * 等级
 	 */
 	@ExcelProperty(value = "等级")

+ 1 - 11
blade-service/blade-school/src/main/java/org/springblade/school/excel/ZhaPingExcel.java

@@ -36,21 +36,11 @@ public class ZhaPingExcel implements Serializable {
 	/**
 	 * 级部
 	 */
-	@ExcelProperty(value = "部")
+	@ExcelProperty(value = "部门(必填)")
 	private String grading;
 	/**
-	 * 学科
-	 */
-	@ExcelProperty(value = "学科")
-	private String subject;
-	/**
 	 * 等级
 	 */
 	@ExcelProperty(value = "等级")
 	private String absenteeism;
-	/**
-	 * 考评
-	 */
-	@ExcelProperty(value = "考评")
-	private BigDecimal dailyAssessmentSalary;
 }

+ 20 - 0
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
+import org.springblade.client.entity.SchoolConfigItem;
 import org.springblade.client.entity.SchoolTeacher;
 import org.springblade.client.feign.ISchoolTeacherClient;
 import org.springblade.core.oss.MinioTemplate;
@@ -45,6 +46,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -1057,6 +1059,24 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			//根据身份证号查询教职工信息是否存在存在更新不存在新增
 			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 (zhaPingExcel.getGrading().equals("高中部")){
+				//日常考核工资标准
+				R<SchoolConfigItem> config = schoolTeacherClient.getConfig(item.getTenantId(), zhaPingExcel.getGrading(), null, "日常考核工资标准", zhaPingExcel.getAbsenteeism(), null, item.getDiscipline());
+				if (config.isSuccess() && config.getData() != null){
+					salaryItem.setDailyAssessmentCriteria(config.getData().getSalary());
+				}else {
+					salaryItem.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
+				}
+			}else {
+				//日常考核工资标准
+				R<SchoolConfigItem>  config = schoolTeacherClient.getConfig(item.getTenantId(), zhaPingExcel.getGrading(), null, "日常考核工资标准", zhaPingExcel.getAbsenteeism(), null,null);
+				if (config.isSuccess() && config.getData() != null){
+					salaryItem.setDailyAssessmentCriteria(config.getData().getSalary());
+				}else {
+					salaryItem.setDailyAssessmentCriteria(new BigDecimal(BigInteger.ZERO));
+				}
+			}
 			if (item != null){
 				salaryItem.setPid(id);
 				salaryItem.setId(item.getId());