Browse Source

学校修改

lazhaoqian 3 years ago
parent
commit
7b72ad841b

+ 12 - 12
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/SchoolTeacher.java

@@ -435,22 +435,22 @@ public class SchoolTeacher implements Serializable {
 	 * 职级拨付标准
 	 */
 	@ApiModelProperty(value = "职级拨付标准")
-	private String rankWithdrawalStandardName;
+	private BigDecimal rankWithdrawalStandardName;
 	/**
 	 * 履约奖
 	 */
 	@ApiModelProperty(value = "履约奖")
-	private String performanceAwardName;
+	private BigDecimal performanceAwardName;
 	/**
 	 * 校龄工资
 	 */
 	@ApiModelProperty(value = "校龄工资")
-	private String schoolAgeSalaryName;
+	private BigDecimal schoolAgeSalaryName;
 	/**
 	 * 增资
 	 */
 	@ApiModelProperty(value = "增资")
-	private String capitalIncreaseName;
+	private BigDecimal capitalIncreaseName;
 	/**
 	 * 学历工资
 	 */
@@ -465,42 +465,42 @@ public class SchoolTeacher implements Serializable {
 	 * 工资基数
 	 */
 	@ApiModelProperty(value = "工资基数")
-	private String salaryBaseName;
+	private BigDecimal salaryBaseName;
 	/**
 	 * 工作量工资
 	 */
 	@ApiModelProperty(value = "工作量工资")
-	private String workloadSalaryName;
+	private BigDecimal workloadSalaryName;
 	/**
 	 * 日常考核标准
 	 */
 	@ApiModelProperty(value = "日常考核标准")
-	private String dailyAssessmentCriteriaName;
+	private BigDecimal dailyAssessmentCriteriaName;
 	/**
 	 * 日常考核工资
 	 */
 	@ApiModelProperty(value = "日常考核工资")
-	private String dailyAssessmentSalaryName;
+	private BigDecimal dailyAssessmentSalaryName;
 	/**
 	 * 学期绩效工资
 	 */
 	@ApiModelProperty(value = "学期绩效工资")
-	private String termPerformanceSalaryName;
+	private BigDecimal termPerformanceSalaryName;
 	/**
 	 * 领导干部补贴
 	 */
 	@ApiModelProperty(value = "领导干部补贴")
-	private String leadingCadreSubsidyName;
+	private BigDecimal leadingCadreSubsidyName;
 	/**
 	 * 备课组长
 	 */
 	@ApiModelProperty(value = "备课组长")
-	private String prepareLessonsName;
+	private BigDecimal prepareLessonsName;
 	/**
 	 * 教研组长
 	 */
 	@ApiModelProperty(value = "教研组长")
-	private String teachingResearchName;
+	private BigDecimal teachingResearchName;
 	/**
 	 * 职工类别
 	 */

+ 31 - 2
blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryItem.java

@@ -122,7 +122,7 @@ public class SalaryItem implements Serializable {
 	* 职级标准
 	*/
 		@ApiModelProperty(value = "职级标准")
-		private String rankStandard;
+		private BigDecimal rankStandard;
 	/**
 	* 职级工资
 	*/
@@ -699,6 +699,35 @@ public class SalaryItem implements Serializable {
 	 */
 		@ApiModelProperty(value = "租户id")
 		private String tenantId;
-
+	/**
+	 * 虚拟工作量工资标准
+	 */
+		@ApiModelProperty(value = "虚拟工作量工资标准")
+		private BigDecimal virtualWorkloadSalary;
+	/**
+	 * 双休日工作量工资标准
+	 */
+		@ApiModelProperty(value = "双休日工作量工资标准")
+		private BigDecimal doubleCease;
+	/**
+	 * 虚拟双休日工作量工资标准
+	 */
+		@ApiModelProperty(value = "虚拟双休日工作量工资标准")
+		private BigDecimal virtualDoubleCease;
+	/**
+	 * 虚拟日常考核标准
+	 */
+		@ApiModelProperty(value = "虚拟日常考核标准")
+		private BigDecimal virtualDailyAssessmentCriteria;
+	/**
+	 * 工资基数
+	 */
+		@ApiModelProperty(value = "工资基数标准")
+		private BigDecimal salaryBaseName;
+	/**
+	 * 学期绩效工资
+	 */
+		@ApiModelProperty(value = "学期绩效标准")
+		private BigDecimal termPerformanceSalaryName;
 
 }

+ 6 - 6
blade-service/blade-client/src/main/java/org/springblade/client/school/excel/SchoolTeacherExcel.java

@@ -98,7 +98,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 职级拨付标准
 	 */
 	@ExcelProperty(value = "职级拨付标准")
-	private String rankWithdrawalStandardName;
+	private BigDecimal rankWithdrawalStandardName;
 	/**
 	 * 职级拨付标准
 	 */
@@ -123,7 +123,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 增资
 	 */
 	@ExcelProperty(value = "增资标准")
-	private String capitalIncreaseName;
+	private BigDecimal capitalIncreaseName;
 	/**
 	 * 增资
 	 */
@@ -153,7 +153,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 工资基数
 	 */
 	@ExcelProperty(value = "工资基数标准")
-	private String salaryBaseName;
+	private BigDecimal salaryBaseName;
 	/**
 	 * 工资基数
 	 */
@@ -163,7 +163,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 工作量工资
 	 */
 	@ExcelProperty(value = "工作量工资标准")
-	private String workloadSalaryName;
+	private BigDecimal workloadSalaryName;
 	/**
 	 * 虚拟工作量工资标准
 	 */
@@ -183,7 +183,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 日常考核标准
 	 */
 	@ExcelProperty(value = "日常考核标准")
-	private String dailyAssessmentCriteriaName;
+	private BigDecimal dailyAssessmentCriteriaName;
 	/**
 	 * 虚拟日常考核标准
 	 */
@@ -198,7 +198,7 @@ public class SchoolTeacherExcel implements Serializable {
 	 * 学期绩效工资
 	 */
 	@ExcelProperty(value = "学期绩效标准")
-	private String termPerformanceSalaryName;
+	private BigDecimal termPerformanceSalaryName;
 	/**
 	 * 学期绩效工资
 	 */

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

@@ -244,13 +244,13 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
 			schoolTeacher.getSchoolAge().toString(),null);
 		if (teacherSubsidy != null){
-			schoolTeacher.setRankWithdrawalStandardName(teacherSubsidy.getSalary().toString());
+			schoolTeacher.setRankWithdrawalStandardName(teacherSubsidy.getSalary());
 		}else {
 			SchoolConfigItem message = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(),
 				schoolTeacher.getInSection(), schoolTeacher.getSalaryWithdrawalStandardName(), "职级拨付标准",
 				null, null);
 			if (message != null){
-				schoolTeacher.setRankWithdrawalStandardName(message.getSalary().toString());
+				schoolTeacher.setRankWithdrawalStandardName(message.getSalary());
 			}
 		}
 		//班主任补贴标准
@@ -310,11 +310,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 		if (capitalIncreaseName == null){
 			SchoolConfigItem capitalIncrease = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", null, null);
 			if (capitalIncrease != null){
-				schoolTeacher.setCapitalIncreaseName(capitalIncrease.getSalary().toString());
+				schoolTeacher.setCapitalIncreaseName(capitalIncrease.getSalary());
 				schoolTeacher.setCapitalIncrease(capitalIncrease.getSalary());
 			}
 		}else {
-			schoolTeacher.setCapitalIncreaseName(capitalIncreaseName.getSalary().toString());
+			schoolTeacher.setCapitalIncreaseName(capitalIncreaseName.getSalary());
 			schoolTeacher.setCapitalIncrease(capitalIncreaseName.getSalary());
 		}
 		return schoolTeacher;

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

@@ -58,7 +58,7 @@ public class SalaryItemExcel implements Serializable {
 	/**
 	 * 工资拔付标准
 	 */
-	@ExcelProperty(value = "工资付标准")
+	@ExcelProperty(value = "工资付标准")
 	private BigDecimal salaryWithdrawalStandard;
 	/**
 	 * 职级类别

+ 1 - 1
blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryItemMapper.xml

@@ -140,7 +140,7 @@
         select * from school_salary_item where is_deleted = 0
     </select>
     <update id="updateStatus" parameterType="object">
-        update school_salary_item set status = #{status} where pid = #{pid}
+        update school_salary_item set status = #{status} where pid = #{pid} and is_deleted = 0
     </update>
 
 </mapper>

+ 24 - 6
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

@@ -98,6 +98,10 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			BeanUtil.copy(salaryItemExcel,salaryItem);
 			//获取基础资料教职工信息
 			SalaryItem clientMessage = this.getClientMessage(salaryItem);
+			if (clientMessage == null){
+				data.remove(i);
+				continue;
+			}
 			//根据身份证号查询教职工信息是否存在存在更新不存在新增
 			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("cname",salaryItem.getCname()).eq("tenant_id", SecureUtil.getTenantId())
 				.eq("is_deleted", 0).eq("pid",id));
@@ -145,22 +149,36 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 
 		if (message.isSuccess() && message.getData() != null){
 			SchoolTeacher teacherMessage = message.getData();
+			salaryItem.setCname(teacherMessage.getCname());//姓名
+			salaryItem.setIdNumber(teacherMessage.getIdNumber());//身份证
+			salaryItem.setPositiveTime(teacherMessage.getBirthdate());//转正日期
+			salaryItem.setPosition(teacherMessage.getCompileCategory());//职务
+			salaryItem.setDiscipline(teacherMessage.getClassType());//学科
+			salaryItem.setItemType(teacherMessage.getSalaryWithdrawalStandardName());//教师类别
+			salaryItem.setTermPerformanceSalaryName(teacherMessage.getTermPerformanceSalaryName());//学期绩效标准
 			salaryItem.setSalaryWithdrawalStandard(teacherMessage.getSalaryWithdrawalStandard());//工资拨付标准
 			salaryItem.setRankWithdrawalStandard(teacherMessage.getRankWithdrawalStandard());//职级拨付标准
+			salaryItem.setRankSalary(teacherMessage.getRankSalary());//职级工资
 			salaryItem.setPerformanceAward(teacherMessage.getPerformanceAward());//履约奖
 			salaryItem.setSchoolAgeSalary(teacherMessage.getSchoolAgeSalary());//校龄工资
 			salaryItem.setCapitalIncrease(teacherMessage.getCapitalIncrease());//增资
 			salaryItem.setEducationSalary(teacherMessage.getEducationSalary());//学历工资
-			salaryItem.setRankSalary(teacherMessage.getRankSalary());//职级工资
 			salaryItem.setSalaryBase(teacherMessage.getSalaryBase());//工资基数
-			salaryItem.setWorkloadSalary(teacherMessage.getWorkloadSalary());//工作量工资
+			salaryItem.setSalaryBaseName(teacherMessage.getSalaryBaseName());//工资基数标准
+			//salaryItem.setWorkloadSalary(teacherMessage.getWorkloadSalary());//工作量工资
+			salaryItem.setVirtualWorkloadSalary(teacherMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
+			salaryItem.setDoubleCease(teacherMessage.getDoubleCease());//双休日工作量工资标准
+			salaryItem.setVirtualDailyAssessmentCriteria(teacherMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核标准
 			salaryItem.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteria());//日常考核标准
 			salaryItem.setDailyAssessmentSalary(teacherMessage.getDailyAssessmentSalary());//日常考核工资
 			salaryItem.setTermPerformanceSalary(teacherMessage.getTermPerformanceSalary());//学期绩效工资
 			salaryItem.setLeadingCadreSubsidy(teacherMessage.getLeadingCadreSubsidy());//领导干部补贴
 			salaryItem.setPrepareLessons(teacherMessage.getPrepareLessons());//备课组长
 			salaryItem.setTeachingResearch(teacherMessage.getTeachingResearch());//教研组长
-
+			salaryItem.setClassTeacherFee(teacherMessage.getTeacherSubsidy());//班主任费
+			salaryItem.setWorkloadSalaryCritertion(teacherMessage.getWorkloadSalaryName());
+		}else {
+			salaryItem = null;
 		}
 		return salaryItem;
 	}
@@ -1382,7 +1400,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 		SalaryItem item = baseMapper.selectById(salaryItem.getId());
 		item.setBasicsSalary(item.getSchoolAgeSalary().add(item.getCapitalIncrease()).add(item.getEducationSalary()).add(item.getRankSalary()).add(item.getSalaryBase()));//基础工资
 		item.setWorkloadSalary(item.getMomthWorkloadSalary().add(item.getVacationOvertimePay()).add(item.getCustomWorkloadSalary()));//工作量工资
-		item.setAwardSalary(item.getWinningPrize().add(item.getLeadingCadreSubsidy()).add(item.getYearDownPerformance()));//奖励工资
+		item.setAwardSalary(item.getCustomAward().add(item.getCustomAwardOne()).add(item.getCustomAwardTwo()).add(item.getCustomAwardThree()).add(item.getCustomAwardFour()).add(item.getCustomAwardFive()).add(item.getCustomAwardSix()).add(item.getCustomAwardSeven()).add(item.getCustomAwardEight()).add(item.getCustomAwardNine()));//奖励工资
 		item.setDutyAllowances(item.getPrepareLessons().add(item.getLeadingCadreSubsidy()).add(item.getTeachingResearch()));//职务津贴
 		item.setClassTeacherSubsidy(item.getClassTeacherFee().add(item.getClasses()));//班主任津贴
 		//补贴项
@@ -1416,8 +1434,8 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 
 		if (bladeFile != null && StringUtils.isNotBlank(bladeFile.getLink())) {
 			String link = bladeFile.getLink();
-			String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
-//			String replace = link.replace("http://127.0.0.1:9000/", "http://192.168.1.12:9000/");
+//			String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
+			String replace = link.replace("http://127.0.0.1:9000/", "http://192.168.1.12:9000/");
 			bladeFile.setLink(replace);
 			salaryAccessory.setUrl(bladeFile.getLink());
 		} else {

+ 22 - 0
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryServiceImpl.java

@@ -42,6 +42,8 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -161,6 +163,26 @@ public class SalaryServiceImpl extends ServiceImpl<SalaryMapper, Salary> impleme
 			if (pathsActs == null || pathsActs.getIsEnable() == 2) {
 				throw new SecurityException("当前租户未查询到审批流配置");
 			} else {
+				//判断数据是否合规
+				//获取明细表数据
+				List<SalaryItem> salaryItemList = salaryItemMapper.selectList(new QueryWrapper<SalaryItem>().eq("pid", salary.getId()).eq("is_deleted", 0));
+				List<String> list = new ArrayList<>();
+				if (CollectionUtils.isNotEmpty(salaryItemList)){
+					salaryItemList.stream().forEach(item ->{
+						BigDecimal summarize = item.getSalaryWithdrawalStandard().add(item.getRankWithdrawalStandard()); //工资拨付标准+职级拨付标准+其他剩余所有标准
+						//职级拨付标准+职级标准(也就是职级拨付标准)+工资基数标准+工作量工资标准+日常考核标准+绩效工资标准-虚拟工作量工资标准+双休日工作量工资标准-虚拟双休日工作量工资标准+其他剩余所有标准
+						BigDecimal itemMessage = item.getRankWithdrawalStandard().add(item.getRankStandard()).add(item.getSalaryBaseName()).add(item.getWorkloadSalaryCritertion())
+							.add(item.getDailyAssessmentCriteria()).add(item.getTermPerformanceSalaryName()).subtract(item.getVirtualWorkloadSalary())
+							.add(item.getDoubleCease()).subtract(item.getVirtualDoubleCease());
+						if (summarize.compareTo(itemMessage) != 0){
+							list.add(item.getCname());
+						}
+					});
+				}
+				if (CollectionUtils.isNotEmpty(list)){
+					throw new RuntimeException("工资表中"+ String.join(",",list)+"中标准不符合要求");
+				}
+
 				selectById.setStatus(1);
 				baseMapper.updateById(selectById);
 				salaryItemMapper.updateStatus(1,salary.getId());