lazhaoqian 4 лет назад
Родитель
Сommit
b460df8d50
34 измененных файлов с 1660 добавлено и 885 удалено
  1. 1 1
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/SchoolTeacher.java
  2. 25 5
      blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryItem.java
  3. 22 0
      blade-service-api/blade-school-api/src/main/java/org/springblade/school/vo/SalaryItemVO.java
  4. 4 4
      blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolTeacherServiceImpl.java
  5. 326 42
      blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java
  6. 1 56
      blade-service/blade-school/src/main/java/org/springblade/school/excel/AttendanceExcel.java
  7. 46 11
      blade-service/blade-school/src/main/java/org/springblade/school/excel/AwardExcel.java
  8. 36 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/ClassWeChatExcel.java
  9. 81 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/DeductExcel.java
  10. 0 5
      blade-service/blade-school/src/main/java/org/springblade/school/excel/EmployExcel.java
  11. 7 2
      blade-service/blade-school/src/main/java/org/springblade/school/excel/EomNumberExcel.java
  12. 36 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/FinanceExcel.java
  13. 37 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/FineExcel.java
  14. 2 74
      blade-service/blade-school/src/main/java/org/springblade/school/excel/InsuranceExcel.java
  15. 8 16
      blade-service/blade-school/src/main/java/org/springblade/school/excel/OvertimeExcel.java
  16. 4 178
      blade-service/blade-school/src/main/java/org/springblade/school/excel/PayTaxes.java
  17. 0 5
      blade-service/blade-school/src/main/java/org/springblade/school/excel/PerformanceExcel.java
  18. 2 12
      blade-service/blade-school/src/main/java/org/springblade/school/excel/PhoneFineExcel.java
  19. 8 32
      blade-service/blade-school/src/main/java/org/springblade/school/excel/PositionExcel.java
  20. 41 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/ProbationExcel.java
  21. 6 32
      blade-service/blade-school/src/main/java/org/springblade/school/excel/ReservedFunds.java
  22. 1 1
      blade-service/blade-school/src/main/java/org/springblade/school/excel/SalaryItemExcel.java
  23. 1 41
      blade-service/blade-school/src/main/java/org/springblade/school/excel/SanitationFee.java
  24. 36 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/SchoolBusExcel.java
  25. 81 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/SubsidyExcel.java
  26. 2 27
      blade-service/blade-school/src/main/java/org/springblade/school/excel/TeacherSubsidy.java
  27. 0 5
      blade-service/blade-school/src/main/java/org/springblade/school/excel/TeachingExcel.java
  28. 323 272
      blade-service/blade-school/src/main/java/org/springblade/school/excel/WageExcel.java
  29. 1 16
      blade-service/blade-school/src/main/java/org/springblade/school/excel/WeChatExcel.java
  30. 0 5
      blade-service/blade-school/src/main/java/org/springblade/school/excel/ZhaPingExcel.java
  31. 13 0
      blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryItemMapper.java
  32. 57 0
      blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryItemMapper.xml
  33. 64 1
      blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryItemService.java
  34. 388 42
      blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

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

@@ -459,7 +459,7 @@ public class SchoolTeacher implements Serializable {
 	/**
 	 * 职级工资
 	 */
-	@ApiModelProperty(value = "职级工资")
+	@ApiModelProperty(value = "职级等级")
 	private String rankSalaryName;
 	/**
 	 * 工资基数

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

@@ -30,7 +30,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
- * 通济学校-工资管理明细表实体类
+ * 通济学校-工资管理明细表实体类 字段含义以 WageExcel 实体类中的字段含义为主
  *
  * @author BladeX
  * @since 2022-01-11
@@ -99,6 +99,11 @@ public class SalaryItem implements Serializable {
 		@ApiModelProperty(value = "履约奖")
 		private BigDecimal performanceAward;
 	/**
+	 * 校龄
+	 */
+		@ApiModelProperty(value = "校龄")
+		private BigDecimal schoolAge;
+	/**
 	* 校龄工资
 	*/
 		@ApiModelProperty(value = "校龄工资")
@@ -124,6 +129,11 @@ public class SalaryItem implements Serializable {
 		@ApiModelProperty(value = "职级标准")
 		private BigDecimal rankStandard;
 	/**
+	 * 职级工资
+	 */
+		@ApiModelProperty(value = "职级等级")
+		private String rankSalaryName;
+	/**
 	* 职级工资
 	*/
 		@ApiModelProperty(value = "职级工资")
@@ -156,17 +166,17 @@ public class SalaryItem implements Serializable {
 	/**
 	* 自定义
 	*/
-		@ApiModelProperty(value = "自定义")
+		@ApiModelProperty(value = "代课工作量")
 		private BigDecimal custom;
 	/**
 	* 自定义1
 	*/
-		@ApiModelProperty(value = "自定义1")
+		@ApiModelProperty(value = "代课课时费")
 		private BigDecimal customOne;
 	/**
 	* 自定义2
 	*/
-		@ApiModelProperty(value = "自定义2")
+		@ApiModelProperty(value = "代课工作量工资")
 		private BigDecimal customTwo;
 	/**
 	* 自定义3
@@ -647,7 +657,7 @@ public class SalaryItem implements Serializable {
 	* 暂不付备注
 	*/
 		@ApiModelProperty(value = "暂不付备注")
-		private BigDecimal pauseNoPayRemark;
+		private String pauseNoPayRemark;
 	/**
 	* 备注
 	*/
@@ -815,4 +825,14 @@ public class SalaryItem implements Serializable {
 	 */
 	@ApiModelProperty(value = "学期绩效等级")
 	private String performanceGrade;
+	/**
+	 * 学历工资标准
+	 */
+	@ApiModelProperty(value = "学历工资标准")
+	private BigDecimal salaryStandard;
+	/**
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注3")
+	private String remarksOne;
 }

+ 22 - 0
blade-service-api/blade-school-api/src/main/java/org/springblade/school/vo/SalaryItemVO.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.school.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.school.entity.SalaryItem;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -35,5 +36,26 @@ public class SalaryItemVO extends SalaryItem {
 	/**
 	 * 学校部门
 	 */
+	@ApiModelProperty(value = "学校部门")
 	private String inSection;
+	/**
+	 * 校龄开始时间开始
+	 */
+	@ApiModelProperty(value = "校龄开始时间开始")
+	private String positiveTimeStart;
+	/**
+	 * 校龄开始时间结束
+	 */
+	@ApiModelProperty(value = "校龄开始时间结束")
+	private String positiveTimeEnd;
+	/**
+	 * 创建日期开始
+	 */
+	@ApiModelProperty(value = "创建日期开始")
+	private String createTimeStart;
+	/**
+	 * 创建日期结束
+	 */
+	@ApiModelProperty(value = "创建日期结束")
+	private String createTimeEnd;
 }

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

@@ -466,11 +466,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 		if (capitalIncreaseName == null){
 			SchoolConfigItem capitalIncrease = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "增资标准", null, null,null);
 			if (capitalIncrease != null){
-				schoolTeacher.setCapitalIncreaseName(capitalIncrease.getSalary());
+				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 				schoolTeacher.setCapitalIncrease(capitalIncrease.getSalary());
 			}
 		}else {
-			schoolTeacher.setCapitalIncreaseName(capitalIncreaseName.getSalary());
+			schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 			schoolTeacher.setCapitalIncrease(capitalIncreaseName.getSalary());
 		}
 		//履约奖标准
@@ -479,11 +479,11 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			SchoolConfigItem performanceAwardName = schoolConfigItemMapper.getConfigMessage(schoolTeacher.getTenantId(), schoolTeacher.getInSection(), null, "履约奖标准", null, null,null);
 			if (performanceAwardName != null){
 				schoolTeacher.setPerformanceAward(performanceAwardName.getSalary());
-				schoolTeacher.setPerformanceAwardName(performanceAwardName.getSalary());
+				schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
 			}
 		}else {
 			schoolTeacher.setPerformanceAward(performanceAward.getSalary());
-			schoolTeacher.setPerformanceAwardName(performanceAward.getSalary());
+			schoolTeacher.setPerformanceAwardName(schoolTeacher.getSchoolAge());
 		}
 		if (schoolTeacher.getInSection().equals("高中部")){
 			//日常考核工资标准

+ 326 - 42
blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java

@@ -81,12 +81,15 @@ public class SalaryItemController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入salaryItem")
-	public R<IPage<SalaryItem>> list(SalaryItem salaryItem, Query query) {
+	public R<IPage<SalaryItem>> list(SalaryItemVO salaryItem, Query query) {
 		LambdaQueryWrapper<SalaryItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(SalaryItem::getIsDeleted,0);
 		lambdaQueryWrapper.eq(SalaryItem::getTenantId,SecureUtil.getTenantId());
 		lambdaQueryWrapper.eq(Func.isNotEmpty(salaryItem.getPid()),SalaryItem::getPid,salaryItem.getPid());
 		lambdaQueryWrapper.eq(Func.isNotEmpty(salaryItem.getCname()),SalaryItem::getCname,salaryItem.getCname());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(salaryItem.getIdNumber()),SalaryItem::getIdNumber,salaryItem.getIdNumber());
+		lambdaQueryWrapper.ge(Func.isNotEmpty(salaryItem.getPositiveTimeStart()), SalaryItem::getPositiveTime, salaryItem.getPositiveTimeStart());//校龄开始时间开始
+		lambdaQueryWrapper.le(Func.isNotEmpty(salaryItem.getPositiveTimeEnd()), SalaryItem::getPositiveTime, salaryItem.getPositiveTimeEnd());//校龄开始时间结束
 		lambdaQueryWrapper.orderByAsc(SalaryItem::getId);
 		IPage<SalaryItem> pages = salaryItemService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
@@ -239,7 +242,7 @@ public class SalaryItemController extends BladeController {
 	@ApiOperation(value = "导入模板-工资管理-小学部-职级模板")
 	public void exportPosition(HttpServletResponse response) {
 		List<PositionExcel> list = new ArrayList<PositionExcel>();
-		ExcelUtil.export(response, "职级", "职级", list, PositionExcel.class);
+		ExcelUtil.export(response, "职级等级", "职级等级", list, PositionExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-职级导入
@@ -269,14 +272,14 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importPosition(excelList,false,id,file);
 	}
 	/**
-	 * 导入学习强国扣费模板
+	 * 导入学习强国模板
 	 */
 	@GetMapping("/export/power")
 	@ApiOperationSupport(order = 15)
-	@ApiOperation(value = "导入模板-工资管理-小学部-学习强国扣费模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-学习强国模板")
 	public void exportPower(HttpServletResponse response) {
 		List<LearningPower> list = new ArrayList<LearningPower>();
-		ExcelUtil.export(response, "学习强国扣费", "学习强国扣费", list, LearningPower.class);
+		ExcelUtil.export(response, "学习强国", "学习强国", list, LearningPower.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-学习强国扣费导入
@@ -284,7 +287,7 @@ public class SalaryItemController extends BladeController {
 	 * */
 	@PostMapping("/import/power")
 	@ApiOperationSupport(order = 16)
-	@ApiOperation(value = "导入-工资管理-小学部-学习强国扣费导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-学习强国导入", notes = "传入excel")
 	public R importPower(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -343,14 +346,14 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importWeChat(excelList,false,id,file);
 	}
 	/**
-	 * 导入班主任贴模板
+	 * 导入班主任贴模板
 	 */
 	@GetMapping("/export/teacherSubsidy")
 	@ApiOperationSupport(order = 19)
-	@ApiOperation(value = "导入模板-工资管理-小学部-班主任贴模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-班主任贴模板")
 	public void exportTeacherSubsidy(HttpServletResponse response) {
 		List<TeacherSubsidy> list = new ArrayList<TeacherSubsidy>();
-		ExcelUtil.export(response, "班主任补贴", "班主任补贴", list, TeacherSubsidy.class);
+		ExcelUtil.export(response, "班主任津贴", "班主任津贴", list, TeacherSubsidy.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-班主任补贴导入
@@ -358,7 +361,7 @@ public class SalaryItemController extends BladeController {
 	 * */
 	@PostMapping("/import/teacherSubsidy")
 	@ApiOperationSupport(order = 20)
-	@ApiOperation(value = "导入-工资管理-小学部-班主任贴导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-班主任贴导入", notes = "传入excel")
 	public R importTeacherSubsidy(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -380,14 +383,14 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importTeacherSubsidy(excelList,false,id,file);
 	}
 	/**
-	 * 导入周末加班模板
+	 * 导入周末工作量模板
 	 */
 	@GetMapping("/export/overtime")
 	@ApiOperationSupport(order = 21)
-	@ApiOperation(value = "导入模板-工资管理-小学部-周末加班模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-周末工作量模板")
 	public void exportOvertime(HttpServletResponse response) {
 		List<OvertimeExcel> list = new ArrayList<OvertimeExcel>();
-		ExcelUtil.export(response, "周末加班", "周末加班", list, OvertimeExcel.class);
+		ExcelUtil.export(response, "周末工作量", "周末工作量", list, OvertimeExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-周末加班导入
@@ -395,7 +398,7 @@ public class SalaryItemController extends BladeController {
 	 * */
 	@PostMapping("/import/overtime")
 	@ApiOperationSupport(order = 22)
-	@ApiOperation(value = "导入-工资管理-小学部-周末加班导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-周末工作量导入", notes = "传入excel")
 	public R importOvertime(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -417,14 +420,14 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importOvertime(excelList,false,id,file);
 	}
 	/**
-	 * 导入电话费、罚款模板
+	 * 导入电话费模板
 	 */
 	@GetMapping("/export/phoneFine")
 	@ApiOperationSupport(order = 23)
-	@ApiOperation(value = "导入模板-工资管理-小学部-电话费、罚款模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-电话费模板")
 	public void exportPhoneFine(HttpServletResponse response) {
 		List<PhoneFineExcel> list = new ArrayList<PhoneFineExcel>();
-		ExcelUtil.export(response, "电话费、罚款", "电话费、罚款", list, PhoneFineExcel.class);
+		ExcelUtil.export(response, "电话费", "电话费", list, PhoneFineExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-电话费、罚款导入
@@ -432,7 +435,7 @@ public class SalaryItemController extends BladeController {
 	 * */
 	@PostMapping("/import/phoneFine")
 	@ApiOperationSupport(order = 24)
-	@ApiOperation(value = "导入-工资管理-小学部-电话费、罚款导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-电话费导入", notes = "传入excel")
 	public R importPhoneFine(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -454,22 +457,22 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importPhoneFine(excelList,false,id,file);
 	}
 	/**
-	 * 导入卫生费模板
+	 * 导入宿舍管理费模板
 	 */
 	@GetMapping("/export/sanitationFee")
 	@ApiOperationSupport(order = 25)
-	@ApiOperation(value = "导入模板-工资管理-小学部-卫生费模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-宿舍管理费模板")
 	public void exportSanitationFee(HttpServletResponse response) {
 		List<SanitationFee> list = new ArrayList<SanitationFee>();
-		ExcelUtil.export(response, "卫生费", "卫生费", list, SanitationFee.class);
+		ExcelUtil.export(response, "宿舍管理费", "宿舍管理费", list, SanitationFee.class);
 	}
 	/**
-	 * 导入-工资管理-小学部-卫生费导入
+	 * 导入-工资管理-小学部-宿舍管理费导入
 	 *
 	 * */
 	@PostMapping("/import/sanitationFee")
 	@ApiOperationSupport(order = 26)
-	@ApiOperation(value = "导入-工资管理-小学部-卫生费导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-宿舍管理费导入", notes = "传入excel")
 	public R importSanitationFee(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -602,22 +605,22 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importReservedFunds(excelList,false,id,file);
 	}
 	/**
-	 * 导入个税模板
+	 * 导入个人所得税模板
 	 */
 	@GetMapping("/export/payTaxes")
 	@ApiOperationSupport(order = 33)
-	@ApiOperation(value = "导入模板-工资管理-小学部-个税模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-个人所得税模板")
 	public void exportPayTaxes(HttpServletResponse response) {
 		List<PayTaxes> list = new ArrayList<PayTaxes>();
-		ExcelUtil.export(response, "个税", "个税", list, PayTaxes.class);
+		ExcelUtil.export(response, "个人所得税", "个人所得税", list, PayTaxes.class);
 	}
 	/**
-	 * 导入-工资管理-小学部-个税导入
+	 * 导入-工资管理-小学部-个人所得税导入
 	 *
 	 * */
 	@PostMapping("/import/payTaxes")
 	@ApiOperationSupport(order = 34)
-	@ApiOperation(value = "导入-工资管理-小学部-个税导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-个人所得税导入", notes = "传入excel")
 	public R importPayTaxes(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -861,22 +864,22 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importWorkloadExcel(excelList,false,id,file);
 	}
 	/**
-	 * 导入查评模板
+	 * 导入日常考核等级模板
 	 */
 	@GetMapping("/export/zhaPingExcel")
 	@ApiOperationSupport(order = 47)
-	@ApiOperation(value = "导入模板-工资管理-小学部-查评模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-日常考核等级模板")
 	public void exportZhaPingExcel(HttpServletResponse response) {
 		List<ZhaPingExcel> list = new ArrayList<ZhaPingExcel>();
-		ExcelUtil.export(response, "查评", "查评", list, ZhaPingExcel.class);
+		ExcelUtil.export(response, "日常考核等级", "日常考核等级", list, ZhaPingExcel.class);
 	}
 	/**
-	 * 导入-工资管理-小学部-查评导入
+	 * 导入-工资管理-小学部-日常考核等级导入
 	 *
 	 * */
 	@PostMapping("/import/zhaPingExcel")
 	@ApiOperationSupport(order = 48)
-	@ApiOperation(value = "导入-工资管理-小学部-查评导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-日常考核等级导入", notes = "传入excel")
 	public R importZhaPingExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -935,22 +938,22 @@ public class SalaryItemController extends BladeController {
 		return salaryItemService.importInsuranceExcel(excelList,false,id,file);
 	}
 	/**
-	 * 导入月底人数模板
+	 * 导入班额模板
 	 */
 	@GetMapping("/export/eomNumberExcel")
 	@ApiOperationSupport(order = 51)
-	@ApiOperation(value = "导入模板-工资管理-小学部-月底人数模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-班额模板")
 	public void exportEomNumberExcel(HttpServletResponse response) {
 		List<EomNumberExcel> list = new ArrayList<EomNumberExcel>();
-		ExcelUtil.export(response, "月底人数", "月底人数", list, EomNumberExcel.class);
+		ExcelUtil.export(response, "班额", "班额", list, EomNumberExcel.class);
 	}
 	/**
-	 * 导入-工资管理-小学部-月底人数导入
+	 * 导入-工资管理-小学部-班额导入
 	 *
 	 * */
 	@PostMapping("/import/eomNumberExcel")
 	@ApiOperationSupport(order = 52)
-	@ApiOperation(value = "导入-工资管理-小学部-月底人数导入", notes = "传入excel")
+	@ApiOperation(value = "导入-工资管理-小学部-班额导入", notes = "传入excel")
 	public R importEomNumberExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
 	{
 		//校验模板
@@ -979,7 +982,7 @@ public class SalaryItemController extends BladeController {
 	@ApiOperation(value = "导入模板-工资管理-小学部-教研组长模板")
 	public void exportTeamLeaderExcel(HttpServletResponse response) {
 		List<TeamLeaderExcel> list = new ArrayList<TeamLeaderExcel>();
-		ExcelUtil.export(response, "教研组长", "教研组长", list, TeamLeaderExcel.class);
+		ExcelUtil.export(response, "教研组长补贴", "教研组长补贴", list, TeamLeaderExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-教研组长导入
@@ -1016,7 +1019,7 @@ public class SalaryItemController extends BladeController {
 	@ApiOperation(value = "导入模板-工资管理-小学部-备课组长模板")
 	public void exportPrepareLessonsExcel(HttpServletResponse response) {
 		List<PrepareLessonsExcel> list = new ArrayList<PrepareLessonsExcel>();
-		ExcelUtil.export(response, "备课组长", "备课组长", list, PrepareLessonsExcel.class);
+		ExcelUtil.export(response, "备课组长补贴", "备课组长补贴", list, PrepareLessonsExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-备课组长导入
@@ -1053,7 +1056,7 @@ public class SalaryItemController extends BladeController {
 	@ApiOperation(value = "导入模板-工资管理-小学部-领导干部模板")
 	public void exportLeadExcel(HttpServletResponse response) {
 		List<LeadExcel> list = new ArrayList<LeadExcel>();
-		ExcelUtil.export(response, "领导干部", "领导干部", list, LeadExcel.class);
+		ExcelUtil.export(response, "领导干部补贴", "领导干部补贴", list, LeadExcel.class);
 	}
 	/**
 	 * 导入-工资管理-小学部-领导干部导入
@@ -1087,7 +1090,7 @@ public class SalaryItemController extends BladeController {
 	 */
 	@GetMapping("/export/teachingExcel")
 	@ApiOperationSupport(order = 59)
-	@ApiOperation(value = "导入模板-工资管理-小学部-学期绩效模板")
+	@ApiOperation(value = "导入模板-工资管理-小学部-学期绩效模板")
 	public void exportTeachingExcel(HttpServletResponse response) {
 		List<TeachingExcel> list = new ArrayList<TeachingExcel>();
 		ExcelUtil.export(response, "学期绩效", "学期绩效", list, TeachingExcel.class);
@@ -1192,5 +1195,286 @@ public class SalaryItemController extends BladeController {
 		}
 		return salaryItemService.importDoubleWorkloadExcel(excelList,false,id,file);
 	}
+	/**
+	 * 导入代课工作量模板
+	 */
+	@GetMapping("/export/probationExcel")
+	@ApiOperationSupport(order = 66)
+	@ApiOperation(value = "导入模板-工资管理-小学部-代课工作量模板")
+	public void exportProbationExcel(HttpServletResponse response) {
+		List<ProbationExcel> list = new ArrayList<ProbationExcel>();
+		ExcelUtil.export(response, "代课工作量", "代课工作量", list, ProbationExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-代课工作量导入
+	 *
+	 * */
+	@PostMapping("/import/probationExcel")
+	@ApiOperationSupport(order = 67)
+	@ApiOperation(value = "导入-工资管理-小学部-代课工作量导入", notes = "传入excel")
+	public R importProbationExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new ProbationExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<ProbationExcel> excelList = ExcelUtil.read(file, ProbationExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importProbationExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入罚款模板
+	 */
+	@GetMapping("/export/fineExcel")
+	@ApiOperationSupport(order = 68)
+	@ApiOperation(value = "导入模板-工资管理-小学部-罚款模板")
+	public void exportFineExcel(HttpServletResponse response) {
+		List<FineExcel> list = new ArrayList<FineExcel>();
+		ExcelUtil.export(response, "罚款", "罚款", list, FineExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-罚款导入
+	 *
+	 * */
+	@PostMapping("/import/fineExcel")
+	@ApiOperationSupport(order = 69)
+	@ApiOperation(value = "导入-工资管理-小学部-罚款导入", notes = "传入excel")
+	public R importFineExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new FineExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<FineExcel> excelList = ExcelUtil.read(file, FineExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importFineExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入补贴模板
+	 */
+	@GetMapping("/export/subsidyExcel")
+	@ApiOperationSupport(order = 70)
+	@ApiOperation(value = "导入模板-工资管理-小学部-补贴模板")
+	public void exportSubsidyExcel(HttpServletResponse response) {
+		List<SubsidyExcel> list = new ArrayList<SubsidyExcel>();
+		ExcelUtil.export(response, "补贴", "补贴", list, SubsidyExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-补贴导入
+	 *
+	 * */
+	@PostMapping("/import/subsidyExcel")
+	@ApiOperationSupport(order = 71)
+	@ApiOperation(value = "导入-工资管理-小学部-补贴导入", notes = "传入excel")
+	public R importSubsidyExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new FineExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<SubsidyExcel> excelList = ExcelUtil.read(file, SubsidyExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importSubsidyExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入扣除模板
+	 */
+	@GetMapping("/export/deductExcel")
+	@ApiOperationSupport(order = 72)
+	@ApiOperation(value = "导入模板-工资管理-小学部-扣除模板")
+	public void exportDeductExcel(HttpServletResponse response) {
+		List<DeductExcel> list = new ArrayList<DeductExcel>();
+		ExcelUtil.export(response, "扣除", "扣除", list, DeductExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-扣除导入
+	 *
+	 * */
+	@PostMapping("/import/deductExcel")
+	@ApiOperationSupport(order = 73)
+	@ApiOperation(value = "导入-工资管理-小学部-扣除导入", notes = "传入excel")
+	public R importDeductExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new DeductExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<DeductExcel> excelList = ExcelUtil.read(file, DeductExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importDeductExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入校车考核模板
+	 */
+	@GetMapping("/export/schoolBusExcel")
+	@ApiOperationSupport(order = 74)
+	@ApiOperation(value = "导入模板-工资管理-小学部-校车考核模板")
+	public void exportSchoolBusExcel(HttpServletResponse response) {
+		List<SchoolBusExcel> list = new ArrayList<SchoolBusExcel>();
+		ExcelUtil.export(response, "校车考核", "校车考核", list, SchoolBusExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-校车考核导入
+	 *
+	 * */
+	@PostMapping("/import/schoolBusExcel")
+	@ApiOperationSupport(order = 75)
+	@ApiOperation(value = "导入-工资管理-小学部-校车考核导入", notes = "传入excel")
+	public R importSchoolBusExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new SchoolBusExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<SchoolBusExcel> excelList = ExcelUtil.read(file, SchoolBusExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importSchoolBusExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入班级微信考核模板
+	 */
+	@GetMapping("/export/classWeChatExcel")
+	@ApiOperationSupport(order = 76)
+	@ApiOperation(value = "导入模板-工资管理-小学部-班级微信考核模板")
+	public void exportClassWeChatExcel(HttpServletResponse response) {
+		List<ClassWeChatExcel> list = new ArrayList<ClassWeChatExcel>();
+		ExcelUtil.export(response, "班级微信考核", "班级微信考核", list, ClassWeChatExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-班级微信考核导入
+	 *
+	 * */
+	@PostMapping("/import/classWeChatExcel")
+	@ApiOperationSupport(order = 77)
+	@ApiOperation(value = "导入-工资管理-小学部-班级微信考核导入", notes = "传入excel")
+	public R importClassWeChatExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new ClassWeChatExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<ClassWeChatExcel> excelList = ExcelUtil.read(file, ClassWeChatExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importClassWeChatExcel(excelList,false,id,file);
+	}
+	/**
+	 * 导入财务考核模板
+	 */
+	@GetMapping("/export/fnanceExcel")
+	@ApiOperationSupport(order = 78)
+	@ApiOperation(value = "导入模板-工资管理-小学部-财务考核模板")
+	public void exportFinanceExcel(HttpServletResponse response) {
+		List<FinanceExcel> list = new ArrayList<FinanceExcel>();
+		ExcelUtil.export(response, "财务考核", "财务考核", list, FinanceExcel.class);
+	}
+	/**
+	 * 导入-工资管理-小学部-财务考核导入
+	 *
+	 * */
+	@PostMapping("/import/financeExcel")
+	@ApiOperationSupport(order = 79)
+	@ApiOperation(value = "导入-工资管理-小学部-财务考核导入", notes = "传入excel")
+	public R importFinanceExcel(@RequestParam("file") MultipartFile file,@RequestParam("id") Long id)
+	{
+		//校验模板
+		String excelPattern = null;
+		try {
+			excelPattern = ExcelCheck.checkExcelPattern(file, new FinanceExcel());
+		} catch (Exception e) {
+			throw new SecurityException("校验Excel失败");
+		}
+		if (StringUtils.isNotBlank(excelPattern)){
+			throw new SecurityException(excelPattern);
+		}
+		//导入数据
+		List<FinanceExcel> excelList = ExcelUtil.read(file, FinanceExcel.class);
+		if(CollectionUtils.isEmpty(excelList))
+		{
+			throw new SecurityException("数据不能为空");
+		}
+		return salaryItemService.importFinanceExcel(excelList,false,id,file);
+	}
+	/**
+	 * 自定义分页 通济学校-工资管理明细表
+	 */
+	@GetMapping("/salaryStatements")
+	@ApiOperationSupport(order = 80)
+	@ApiOperation(value = "分页", notes = "传入salaryItem")
+	public R<IPage<SalaryItem>> salaryStatements(SalaryItemVO salaryItem, Query query) {
+		salaryItem.setTenantId(SecureUtil.getTenantId());
+		IPage<SalaryItem> pages = salaryItemService.salaryStatements(Condition.getPage(query), salaryItem);
+		return R.data(pages);
+	}
+	/**
+	 * 自定义分页 通济学校-工资管理明细表
+	 */
+	@GetMapping("/export/salaryStatements")
+	@ApiOperationSupport(order = 81)
+	@ApiOperation(value = "分页", notes = "传入salaryItem")
+	public void exportSalaryStatements(SalaryItemVO salaryItem,HttpServletResponse response) {
+		salaryItem.setTenantId(SecureUtil.getTenantId());
+		List<WageExcel> list = salaryItemService.exportSalaryStatements(salaryItem);
+		ExcelUtil.export(response, "工资表", "工资表", list, WageExcel.class);
+	}
 
 }

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

@@ -18,11 +18,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class AttendanceExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
@@ -34,58 +29,8 @@ public class AttendanceExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 级部
-	 */
-	@ExcelProperty(value = "级部")
-	private String grading;
-	/**
-	 * 学科
-	 */
-	@ExcelProperty(value = "学科")
-	private String subject;
-	/**
-	 * 旷工
-	 */
-	@ExcelProperty(value = "旷工")
-	private String absenteeism;
-	/**
-	 * 迟到
-	 */
-	@ExcelProperty(value = "迟到")
-	private String beLate;
-	/**
-	 * 早退
-	 */
-	@ExcelProperty(value = "早退")
-	private String leaveEarly;
-	/**
-	 * 未签到
-	 */
-	@ExcelProperty(value = "未签到")
-	private String notIn;
-	/**
-	 * 未签退
-	 */
-	@ExcelProperty(value = "未签退")
-	private String notOut;
-	/**
-	 * 病假
-	 */
-	@ExcelProperty(value = "病假")
-	private String sickLeave;
-	/**
-	 * 事假
-	 */
-	@ExcelProperty(value = "事假")
-	private String  casualLeave;
-	/**
-	 * 备注
-	 */
-	@ExcelProperty(value = "备注")
-	private String attendanceRemark;
-	/**
 	 * 金额
 	 */
-	@ExcelProperty(value = "金额")
+	@ExcelProperty(value = "出勤")
 	private BigDecimal attendance;
 }

+ 46 - 11
blade-service/blade-school/src/main/java/org/springblade/school/excel/AwardExcel.java

@@ -18,11 +18,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class AwardExcel implements Serializable {
 	/**
-	 * 学科
-	 */
-	@ExcelProperty(value = "学科")
-	private String subject;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
@@ -34,13 +29,53 @@ public class AwardExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 备注
+	 * 奖励1
+	 */
+	@ExcelProperty(value = "奖励1")
+	private BigDecimal customAward;
+	/**
+	 * 奖励2
+	 */
+	@ExcelProperty(value = "奖励2")
+	private BigDecimal customAwardOne;
+	/**
+	 * 奖励3
+	 */
+	@ExcelProperty(value = "奖励3")
+	private BigDecimal customAwardTwo;
+	/**
+	 * 奖励4
+	 */
+	@ExcelProperty(value = "奖励4")
+	private BigDecimal customAwardThree;
+	/**
+	 * 奖励5
+	 */
+	@ExcelProperty(value = "奖励5")
+	private BigDecimal customAwardFour;
+	/**
+	 * 奖励6
+	 */
+	@ExcelProperty(value = "奖励6")
+	private BigDecimal customAwardFive;
+	/**
+	 * 奖励7
+	 */
+	@ExcelProperty(value = "奖励7")
+	private BigDecimal customAwardSix;
+	/**
+	 * 奖励8
+	 */
+	@ExcelProperty(value = "奖励8")
+	private BigDecimal customAwardSeven;
+	/**
+	 * 奖励9
 	 */
-	@ExcelProperty(value = "备注")
-	private String awardRemark;
+	@ExcelProperty(value = "奖励9")
+	private BigDecimal customAwardEight;
 	/**
-	 * 期中期末考试学科优胜奖(预留发放)
+	 * 奖励10
 	 */
-	@ExcelProperty(value = "金额(默认 0)")
-	private BigDecimal winningPrize;
+	@ExcelProperty(value = "奖励10")
+	private BigDecimal customAwardNine;
 }

+ 36 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/ClassWeChatExcel.java

@@ -0,0 +1,36 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-班级微信考核导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ClassWeChatExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 班级微信群考核
+	 */
+	@ExcelProperty(value = "班级微信群考核")
+	private BigDecimal payrollCredit;
+}

+ 81 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/DeductExcel.java

@@ -0,0 +1,81 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-扣除导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class DeductExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 扣除1
+	 */
+	@ExcelProperty(value = "扣除1")
+	private BigDecimal ribbonOne;
+	/**
+	 * 扣除2
+	 */
+	@ExcelProperty(value = "扣除2")
+	private BigDecimal ribbonTwo;
+	/**
+	 * 扣除3
+	 */
+	@ExcelProperty(value = "扣除3")
+	private BigDecimal ribbonThree;
+	/**
+	 * 扣除4
+	 */
+	@ExcelProperty(value = "扣除4")
+	private BigDecimal ribbonFour;
+	/**
+	 * 扣除5
+	 */
+	@ExcelProperty(value = "扣除5")
+	private BigDecimal ribbonFive;
+	/**
+	 * 扣除6
+	 */
+	@ExcelProperty(value = "扣除6")
+	private BigDecimal ribbonSix;
+	/**
+	 * 扣除7
+	 */
+	@ExcelProperty(value = "扣除7")
+	private BigDecimal ribbonSeven;
+	/**
+	 * 扣除8
+	 */
+	@ExcelProperty(value = "扣除8")
+	private BigDecimal ribbonEight;
+	/**
+	 * 扣除9
+	 */
+	@ExcelProperty(value = "扣除9")
+	private BigDecimal ribbonNine;
+	/**
+	 * 扣除10
+	 */
+	@ExcelProperty(value = "扣除10")
+	private BigDecimal pauseNoPay;
+}

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

@@ -17,11 +17,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class EmployExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 类别
 	 */
 	@ExcelProperty(value = "类别")

+ 7 - 2
blade-service/blade-school/src/main/java/org/springblade/school/excel/EomNumberExcel.java

@@ -55,11 +55,16 @@ public class EomNumberExcel implements Serializable {
 	@ExcelProperty(value = "本月转出人数")
 	private String monthOut;
 	/**
-	 * 身份证号
+	 * 本月月底人数
 	 */
-	@ExcelProperty(value = "本月月底")
+	@ExcelProperty(value = "本月月底人数")
 	private String monthEnd;
 	/**
+	 * 班主任签字
+	 */
+	@ExcelProperty(value = "班主任签字")
+	private String signature;
+	/**
 	 * 身份证号
 	 */
 	@ExcelProperty(value = "备注")

+ 36 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/FinanceExcel.java

@@ -0,0 +1,36 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-财务考核导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class FinanceExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 财务考核
+	 */
+	@ExcelProperty(value = "财务考核")
+	private BigDecimal paid;
+}

+ 37 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/FineExcel.java

@@ -0,0 +1,37 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-罚款导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class FineExcel implements Serializable {
+
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 督查罚款
+	 */
+	@ExcelProperty(value = "罚款")
+	private BigDecimal inspectorFines;
+}

+ 2 - 74
blade-service/blade-school/src/main/java/org/springblade/school/excel/InsuranceExcel.java

@@ -19,16 +19,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class InsuranceExcel implements Serializable {
 	/**
-	 * 单位名称
-	 */
-	@ExcelProperty(value = "单位名称")
-	private String corpName;
-	/**
-	 * 社保编号
-	 */
-	@ExcelProperty(value = "社保编号")
-	private String social;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
@@ -40,75 +30,13 @@ public class InsuranceExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 部门
-	 */
-	@ExcelProperty(value = "部门")
-	private String branch;
-	/**
-	 * 缴费类型
-	 */
-	@ExcelProperty(value = "缴费类型")
-	private String paymentType;
-	/**
-	 * 医疗缴费基数
-	 */
-	@ExcelProperty(value = "医疗缴费基数")
-	private BigDecimal medicalPaymentBase;
-	/**
-	 * 开始月份
-	 */
-	@ExcelProperty(value = "开始月份")
-	@JsonFormat(pattern = "yyyy-MM")
-	private BigDecimal startDate;
-	/**
-	 * 截至月份
-	 */
-	@ExcelProperty(value = "截至月份")
-	@JsonFormat(pattern = "yyyy-MM")
-	private BigDecimal endDate;
-	/**
-	 * 医疗(单位缴纳部分)
-	 */
-	@ExcelProperty(value = "医疗(单位缴纳部分)")
-	private BigDecimal medicalTreatment;
-	/**
-	 * 医疗(个人缴纳部分)
-	 */
-	@ExcelProperty(value = "医疗(个人缴纳部分)")
-	private BigDecimal medicalPersonal;
-	/**
-	 * 补医疗(单位缴纳部分)
-	 */
-	@ExcelProperty(value = "补医疗(单位缴纳部分)")
-	private BigDecimal mendMedical;
-	/**
-	 * 补医疗(个人缴纳部分)
-	 */
-	@ExcelProperty(value = "补医疗(个人缴纳部分)")
-	private BigDecimal insurancePersonages;
-	/**
-	 * 社保个人合计
-	 */
-	@ExcelProperty(value = "社保个人合计")
-	private BigDecimal socialSecurityPersonal;
-	/**
-	 * 社保单位合计
-	 */
-	@ExcelProperty(value = "社保单位合计")
-	private BigDecimal socialSecurityUnit;
-	/**
 	 * 保险个人
 	 */
-	@ExcelProperty(value = "个人总合计")
+	@ExcelProperty(value = "保险个人部分")
 	private BigDecimal insurancePersonage;
 	/**
 	 * 保险单位
 	 */
-	@ExcelProperty(value = "单位总合计")
+	@ExcelProperty(value = "保险单位部分")
 	private BigDecimal insuranceUnit;
-	/**
-	 * 合计
-	 */
-	@ExcelProperty(value = "合计")
-	private BigDecimal money;
 }

+ 8 - 16
blade-service/blade-school/src/main/java/org/springblade/school/excel/OvertimeExcel.java

@@ -29,23 +29,15 @@ public class OvertimeExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 级部
+	 * 周末工作量
 	 */
-	@ExcelProperty(value = "级部")
-	private String grading;
-	/**
-	 * 学科
-	 */
-	@ExcelProperty(value = "学科")
-	private String subject;
-	/**
-	 * 代码
-	 */
-	@ExcelProperty(value = "代码")
-	private String codeSnippet;
+	@ExcelProperty(value = "周末工作量")
+	@ColumnWidth(35)
+	private BigDecimal customizeNine;
 	/**
-	 * 周末加班
+	 * 周末课时费
 	 */
-	@ExcelProperty(value = "金额")
-	private BigDecimal overtimeAtWeekend;
+	@ExcelProperty(value = "周末课时费")
+	@ColumnWidth(35)
+	private BigDecimal ribbon;
 }

+ 4 - 178
blade-service/blade-school/src/main/java/org/springblade/school/excel/PayTaxes.java

@@ -18,196 +18,22 @@ import java.util.Date;
 @HeadRowHeight(20)
 @ContentRowHeight(18)
 public class PayTaxes implements Serializable {
-	/**
-	 * 工号
-	 */
-	@ExcelProperty(value = "工号")
-	private String jobNumber;
+
 	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
 	private String cname;
 	/**
-	 * 证件类型
-	 */
-	@ExcelProperty(value = "证件类型")
-	private String idType;
-	/**
 	 * 身份证号
 	 */
-	@ExcelProperty(value = "证(必填)")
+	@ExcelProperty(value = "身份证号(必填)")
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 税款所属期起
-	 */
-	@ExcelProperty(value = "税款所属期起")
-	private Date startDate;
-	/**
-	 * 税款所属期止
-	 */
-	@ExcelProperty(value = "税款所属期止")
-	private Date endDate;
-	/**
-	 * 所得项目
-	 */
-	@ExcelProperty(value = "所得项目")
-	private String itemsOfIncome;
-	/**
-	 * 本期收入
-	 */
-	@ExcelProperty(value = "本期收入")
-	private BigDecimal currentIncome ;
-	/**
-	 * 本期费用
-	 */
-	@ExcelProperty(value = "本期费用")
-	private BigDecimal currentExpenses;
-
-	/**
-	 * 本期免税收入
-	 */
-	@ExcelProperty(value = "本期免税收入")
-	private BigDecimal currentTaxIncome;
-	/**
-	 * 本期基本养老保险费
-	 */
-	@ExcelProperty(value = "本期基本养老保险费")
-	private BigDecimal currentAged;
-	/**
-	 * 本期基本医疗保险费
-	 */
-	@ExcelProperty(value = "本期基本医疗保险费")
-	private BigDecimal currentMedical;
-	/**
-	 * 本期失业保险费
-	 */
-	@ExcelProperty(value = "本期失业保险费")
-	private BigDecimal currentUnemployment;
-	/**
-	 * 本期住房公积金
-	 */
-	@ExcelProperty(value = "本期住房公积金")
-	private BigDecimal currentHousing;
-	/**
-	 * 本期企业(职业)年金
-	 */
-	@ExcelProperty(value = "本期企业(职业)年金")
-	private BigDecimal enterpriseAnnuity;
-	/**
-	 * 本期商业健康保险费
-	 */
-	@ExcelProperty(value = "本期商业健康保险费")
-	private BigDecimal currentBusinessInsurance;
-	/**
-	 * 本期税延养老保险费
-	 */
-	@ExcelProperty(value = "本期税延养老保险费")
-	private BigDecimal currentPensionInsurance;
-	/**
-	 * 本期其他扣除(其他)
-	 */
-	@ExcelProperty(value = "本期其他扣除(其他)")
-	private BigDecimal currentOther;
-	/**
-	 * 累计收入额
-	 */
-	@ExcelProperty(value = "累计收入额")
-	private BigDecimal accumulatedIncome;
-	/**
-	 * 累计免税收入
-	 */
-	@ExcelProperty(value = "累计免税收入")
-	private BigDecimal exemptIncome;
-	/**
-	 * 累计减除费用
-	 */
-	@ExcelProperty(value = "累计减除费用")
-	private BigDecimal deduction;
-	/**
-	 * 累计专项扣除
-	 */
-	@ExcelProperty(value = "累计专项扣除")
-	private BigDecimal specialDeduction;
-	/**
-	 * 累计子女教育支出扣除
-	 */
-	@ExcelProperty(value = "累计子女教育支出扣除")
-	private BigDecimal educationDeduction;
-	/**
-	 * 累计继续教育支出扣除
-	 */
-	@ExcelProperty(value = "累计继续教育支出扣除")
-	private BigDecimal continueDeduction;
-	/**
-	 * 累计住房贷款利息支出扣除
-	 */
-	@ExcelProperty(value = "累计住房贷款利息支出扣除")
-	private BigDecimal housingDeduction;
-	/**
-	 * 累计住房租金支出扣除
-	 */
-	@ExcelProperty(value = "累计住房租金支出扣除")
-	private BigDecimal lodgingDeduction;
-	/**
-	 * 累计赡养老人支出扣除
-	 */
-	@ExcelProperty(value = "累计赡养老人支出扣除")
-	private BigDecimal elderDeduction;
-	/**
-	 * 累计其他扣除
-	 */
-	@ExcelProperty(value = "累计其他扣除")
-	private BigDecimal otherDeduction;
-	/**
-	 * 累计准予扣除的捐赠
-	 */
-	@ExcelProperty(value = "累计准予扣除的捐赠")
-	private BigDecimal Deduction;
-	/**
-	 * 累计应纳税所得额
-	 */
-	@ExcelProperty(value = "累计应纳税所得额")
-	private BigDecimal taxable;
-	/**
-	 * 税率
-	 */
-	@ExcelProperty(value = "税率")
-	private BigDecimal rateOfTaxation;
-	/**
-	 * 速算扣除数
-	 */
-	@ExcelProperty(value = "速算扣除数")
-	private BigDecimal quickDeduction;
-	/**
-	 * 累计应纳税额
-	 */
-	@ExcelProperty(value = "累计应纳税额")
-	private BigDecimal taxPayable;
-	/**
-	 * 累计减免税额
-	 */
-	@ExcelProperty(value = "累计减免税额")
-	private BigDecimal moneyDeduction;
-	/**
 	 * 累计应扣缴税额
 	 */
-	@ExcelProperty(value = "累计应扣缴税额")
+	@ExcelProperty(value = "个人所得税")
 	private BigDecimal personageTaxes;
-	/**
-	 * 累计已预缴税额
-	 */
-	@ExcelProperty(value = "累计已预缴税额")
-	private BigDecimal moneyAdvance;
-	/**
-	 * 累计应补(退)税额
-	 */
-	@ExcelProperty(value = "累计应补(退)税额")
-	private BigDecimal drawback;
-	/**
-	 * 备注
-	 */
-	@ExcelProperty(value = "备注")
-	private String payTaxesRemark;
+
 }

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

@@ -18,11 +18,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class PerformanceExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")

+ 2 - 12
blade-service/blade-school/src/main/java/org/springblade/school/excel/PhoneFineExcel.java

@@ -10,7 +10,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
- * 通济学校-工资管理-小学部-电话费、罚款导入模板
+ * 通济学校-工资管理-小学部-电话费导入模板
  */
 @Data
 @ColumnWidth(15)
@@ -18,11 +18,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class PhoneFineExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
@@ -36,11 +31,6 @@ public class PhoneFineExcel implements Serializable {
 	/**
 	 * 电话费
 	 */
-	@ExcelProperty(value = "电话费(默认 0)")
+	@ExcelProperty(value = "电话费")
 	private BigDecimal telephoneBill;
-	/**
-	 * 督查罚款
-	 */
-	@ExcelProperty(value = "罚款(默认 0)")
-	private BigDecimal inspectorFines;
 }

+ 8 - 32
blade-service/blade-school/src/main/java/org/springblade/school/excel/PositionExcel.java

@@ -18,50 +18,26 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class PositionExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
-	 * 学部
-	 */
-	@ExcelProperty(value = "学部")
-	private String grading;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
 	private String cname;
 	/**
-	 * 性别
-	 */
-	@ExcelProperty(value = "性别")
-	private String gender;
-	/**
 	 * 身份证号
 	 */
-	@ExcelProperty(value = "身份证号(必填)")
+	@ExcelProperty(value = "身份证号(必填)")
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 学科
+	 * 级部
 	 */
-	@ExcelProperty(value = "任教学科")
-	private String discipline;
-	/**
-	 * 职级级别
-	 */
-	@ExcelProperty(value = "职级级别")
-	private String rankStandard;
-	/**
-	 * 工资额
-	 */
-	@ExcelProperty(value = "工资额(默认 0)")
-	private BigDecimal rankSalary;
+	@ExcelProperty(value = "部门(必填)")
+	private String grading;
 	/**
-	 * 备注
+	 * 等级
 	 */
-	@ExcelProperty(value = "备注")
-	private String remarks;
+	@ExcelProperty(value = "职级等级(必填)")
+	@ColumnWidth(35)
+	private String rankSalaryName;
 
 }

+ 41 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/ProbationExcel.java

@@ -0,0 +1,41 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-代课工作量导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ProbationExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 月份课时
+	 */
+	@ExcelProperty(value = "代课工作量")
+	private BigDecimal monthHour;
+	/**
+	 * 单价
+	 */
+	@ExcelProperty(value = "代课课时费")
+	private BigDecimal monthPrice;
+}

+ 6 - 32
blade-service/blade-school/src/main/java/org/springblade/school/excel/ReservedFunds.java

@@ -20,51 +20,25 @@ import java.util.Date;
 @ContentRowHeight(18)
 public class ReservedFunds implements Serializable {
 	/**
-	 * 个人账户
-	 */
-	@ExcelProperty(value = "个人账户")
-	private String individualAccount;
-	/**
-	 * 身份证号
-	 */
-	@ExcelProperty(value = "个人证件号码(必填)")
-	@ColumnWidth(35)
-	private String idNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
 	private String cname;
 	/**
-	 * 部门
-	 */
-	@ExcelProperty(value = "部门")
-	private String section;
-	/**
-	 * 所属年月
+	 * 身份证号
 	 */
-	@ExcelProperty(value = "所属年月")
-	private String subordinateYears;
-
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
 	/**
 	 * 单位金额
 	 */
-	@ExcelProperty(value = "单位金额")
+	@ExcelProperty(value = "公积金单位部分")
 	private BigDecimal reservedFundsUnit;
 	/**
 	 * 个人金额
 	 */
-	@ExcelProperty(value = "个人金额")
+	@ExcelProperty(value = "公积金个人部分")
 	private BigDecimal reservedFundsPersonage;
-	/**
-	 * 合计
-	 */
-	@ExcelProperty(value = "合计")
-	private String money;
-	/**
-	 * 缴交原因
-	 */
-	@ExcelProperty(value = "缴交原因")
-	private String forReasons;
 
 }

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

@@ -613,7 +613,7 @@ public class SalaryItemExcel implements Serializable {
 	 * 暂不付备注
 	 */
 	@ExcelProperty(value = "暂不付备注")
-	private BigDecimal pauseNoPayRemark;
+	private String pauseNoPayRemark;
 	/**
 	 * 备注
 	 */

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

@@ -18,11 +18,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class SanitationFee implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")
@@ -34,43 +29,8 @@ public class SanitationFee implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 楼座
-	 */
-	@ExcelProperty(value = "楼座")
-	private String balcony;
-	/**
-	 * 房间号
-	 */
-	@ExcelProperty(value = "房间号")
-	private String roomNumber;
-	/**
-	 * 是否住校
-	 */
-	@ExcelProperty(value = "是否住校")
-	private String inResidence;
-	/**
-	 * 核定卫生费
-	 */
-	@ExcelProperty(value = "核定卫生费")
-	private String coreValue;
-	/**
-	 * 房间人数
-	 */
-	@ExcelProperty(value = "房间人数")
-	private BigDecimal peopleNumber;
-	/**
-	 * 房间卫生费
-	 */
-	@ExcelProperty(value = "房间卫生费")
-	private BigDecimal roomSanitary;
-	/**
-	 * 个人承担部分
-	 */
-	@ExcelProperty(value = "个人承担部分")
-	private BigDecimal personalResponsibility;
-	/**
 	 * 本月承担卫生费
 	 */
-	@ExcelProperty(value = "本月承担卫生费")
+	@ExcelProperty(value = "宿舍管理费")
 	private BigDecimal dormitoryManagementFee;
 }

+ 36 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/SchoolBusExcel.java

@@ -0,0 +1,36 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-校车考核导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class SchoolBusExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 校车考核
+	 */
+	@ExcelProperty(value = "校车考核")
+	private BigDecimal adjustTheBalance;
+}

+ 81 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/SubsidyExcel.java

@@ -0,0 +1,81 @@
+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;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-工资管理-小学部-补贴导入模板
+ */
+@Data
+@ColumnWidth(15)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class SubsidyExcel implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 补贴1
+	 */
+	@ExcelProperty(value = "补贴1")
+	private BigDecimal yearUpPerformance;
+	/**
+	 * 补贴2
+	 */
+	@ExcelProperty(value = "补贴2")
+	private BigDecimal yearDownPerformance;
+	/**
+	 * 补贴3
+	 */
+	@ExcelProperty(value = "补贴3")
+	private BigDecimal cadreAllowanceReservation;
+	/**
+	 * 补贴4
+	 */
+	@ExcelProperty(value = "补贴4")
+	private BigDecimal vacationOvertimePay;
+	/**
+	 * 补贴5
+	 */
+	@ExcelProperty(value = "补贴5")
+	private BigDecimal newPostTrain;
+	/**
+	 * 补贴6
+	 */
+	@ExcelProperty(value = "补贴6")
+	private BigDecimal winningPrize;
+	/**
+	 * 补贴7
+	 */
+	@ExcelProperty(value = "补贴7")
+	private BigDecimal classMinister;
+	/**
+	 * 补贴8
+	 */
+	@ExcelProperty(value = "补贴8")
+	private BigDecimal monthViceClassFee;
+	/**
+	 * 补贴9
+	 */
+	@ExcelProperty(value = "补贴9")
+	private BigDecimal safetyFees;
+	/**
+	 * 补贴10
+	 */
+	@ExcelProperty(value = "补贴10")
+	private BigDecimal reserveReplacement;
+}

+ 2 - 27
blade-service/blade-school/src/main/java/org/springblade/school/excel/TeacherSubsidy.java

@@ -18,14 +18,9 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class TeacherSubsidy implements Serializable {
 	/**
-	 * 班级
-	 */
-	@ExcelProperty(value = "班级")
-	private String grading;
-	/**
 	 * 姓名
 	 */
-	@ExcelProperty(value = "班主任(必填)")
+	@ExcelProperty(value = "姓名(必填)")
 	private String cname;
 	/**
 	 * 身份证号
@@ -34,28 +29,8 @@ public class TeacherSubsidy implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 *
-	 */
-	@ExcelProperty(value = "自定义")
-	private BigDecimal money;
-	/**
-	 * 校车考核
-	 */
-	@ExcelProperty(value = "校车考核")
-	private BigDecimal busStop;
-	/**
-	 * 班级微信群考核
-	 */
-	@ExcelProperty(value = "班级微信群考核")
-	private BigDecimal classWx;
-	/**
-	 * 学生交费考核
-	 */
-	@ExcelProperty(value = "学生交费考核")
-	private BigDecimal studentFees;
-	/**
 	 * 金额
 	 */
-	@ExcelProperty(value = "合计")
+	@ExcelProperty(value = "班主任补贴")
 	private BigDecimal classTeacherSubsidy;
 }

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

@@ -19,11 +19,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class TeachingExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")

+ 323 - 272
blade-service/blade-school/src/main/java/org/springblade/school/excel/WageExcel.java

@@ -4,6 +4,7 @@ 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 io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -29,9 +30,9 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "类别")
 	private String itemType;
 	/**
-	 * 转正时间
+	 * 校龄开始时间
 	 */
-	@ExcelProperty(value = "转正时间")
+	@ExcelProperty(value = "校龄开始时间")
 	private Date positiveTime;
 	/**
 	 * 职务
@@ -39,62 +40,87 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "职务")
 	private String position;
 	/**
-	 * 姓名
+	 * 姓名(必填)
 	 */
 	@ExcelProperty(value = "姓名(必填)")
 	private String cname;
 	/**
-	 * 身份证号
+	 * 身份证号(必填)
 	 */
 	@ExcelProperty(value = "身份证号(必填)")
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 工资付标准
+	 * 工资付标准
 	 */
 	@ExcelProperty(value = "工资拨付标准")
 	private BigDecimal salaryWithdrawalStandard;
 	/**
-	 * 职级类别
-	 */
-	@ExcelProperty(value = "职级类别")
-	private String rankCategory;
-	/**
 	 * 职级拨付标准
 	 */
 	@ExcelProperty(value = "职级拨付标准")
 	private BigDecimal rankWithdrawalStandard;
 	/**
+	 * 履约奖标准
+	 */
+	@ExcelProperty(value = "履约奖标准")
+	private BigDecimal performanceAwardName;
+	/**
 	 * 履约奖
 	 */
 	@ExcelProperty(value = "履约奖")
 	private BigDecimal performanceAward;
 	/**
+	 * 校龄工资标准
+	 */
+	@ExcelProperty(value = "校龄工资标准")
+	private BigDecimal schoolAge;
+	/**
 	 * 校龄工资
 	 */
 	@ExcelProperty(value = "校龄工资")
 	private BigDecimal schoolAgeSalary;
 	/**
+	 * 增资标准
+	 */
+	@ApiModelProperty(value = "增资标准")
+	private BigDecimal capitalIncreaseName;
+	/**
 	 * 增资
 	 */
 	@ExcelProperty(value = "增资")
 	private BigDecimal capitalIncrease;
 	/**
+	 * 学历
+	 */
+	@ExcelProperty(value = "学历")
+	private String code;
+	/**
+	 * 学历工资标准
+	 */
+	@ExcelProperty(value = "学历工资标准")
+	private BigDecimal salaryStandard;
+	/**
 	 * 学历工资
 	 */
 	@ExcelProperty(value = "学历工资")
 	private BigDecimal educationSalary;
 	/**
-	 * 职级标准
+	 * 职级等级
 	 */
-	@ExcelProperty(value = "职级标准")
-	private String rankStandard;
+	@ApiModelProperty(value = "职级等级")
+	private String rankSalaryName;
 	/**
 	 * 职级工资
 	 */
 	@ExcelProperty(value = "职级工资")
 	private BigDecimal rankSalary;
 	/**
+	 * 工资基数标准
+	 */
+	@ExcelProperty(value = "工资基数标准")
+	private BigDecimal salaryBaseName;
+	/**
 	 * 工资基数
 	 */
 	@ExcelProperty(value = "工资基数")
@@ -110,66 +136,76 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "工作量工资标准")
 	private BigDecimal workloadSalaryCritertion;
 	/**
-	 * 月份课时
+	 * 月份工作量
 	 */
-	@ExcelProperty(value = "月份课时")
+	@ExcelProperty(value = "月份工作量")
 	private BigDecimal monthHour;
 	/**
-	 * 月份课时工资
+	 * 课时费
+	 */
+	@ExcelProperty(value = "课时费")
+	private BigDecimal monthPrice;
+	/**
+	 * 月份工作量工资
 	 */
-	@ExcelProperty(value = "月份课时工资")
+	@ExcelProperty(value = "月份工作量工资")
 	private BigDecimal momthWorkloadSalary;
 	/**
-	 * 自定义
+	 * 代课工作量
 	 */
-	@ExcelProperty(value = "自定义")
+	@ExcelProperty(value = "代课工作量")
 	private BigDecimal custom;
 	/**
-	 * 自定义1
+	 * 代课课时费
 	 */
-	@ExcelProperty(value = "自定义1")
+	@ExcelProperty(value = "代课课时费")
 	private BigDecimal customOne;
 	/**
-	 * 自定义2
+	 * 代课工作量工资
 	 */
-	@ExcelProperty(value = "自定义2")
+	@ExcelProperty(value = "代课工作量工资")
 	private BigDecimal customTwo;
 	/**
-	 * 自定义3
+	 * 双休日工作量
+	 */
+	@ExcelProperty(value = "双休日工作量")
+	private BigDecimal doubleHour;
+	/**
+	 * 双休日课时费
+	 */
+	@ExcelProperty(value = "双休日课时费")
+	private BigDecimal doublePrice;
+	/**
+	 * 双休日工作量工资
+	 */
+	@ExcelProperty(value = "双休日工作量工资")
+	private BigDecimal doubleMoney;
+	/**
+	 * 工作量工资1
 	 */
-	@ExcelProperty(value = "自定义3")
+	@ExcelProperty(value = "工作量工资1")
 	private BigDecimal customThree;
 	/**
-	 * 自定义4
+	 * 工作量工资2
 	 */
-	@ExcelProperty(value = "自定义4")
+	@ExcelProperty(value = "工作量工资2")
 	private BigDecimal customFour;
 	/**
-	 * 自定义5
+	 * 工作量工资3
 	 */
-	@ExcelProperty(value = "自定义5")
+	@ExcelProperty(value = "工作量工资3")
 	private BigDecimal customFive;
 	/**
-	 * 自定义6
+	 * 工作量工资4
 	 */
-	@ExcelProperty(value = "自定义6")
+	@ExcelProperty(value = "工作量工资4")
 	private BigDecimal customSix;
 	/**
-	 * 自定义7
+	 * 工作量工资5
 	 */
-	@ExcelProperty(value = "自定义7")
+	@ExcelProperty(value = "工作量工资5")
 	private BigDecimal customSeven;
 	/**
-	 * 自定义8
-	 */
-	@ExcelProperty(value = "自定义8")
-	private BigDecimal customEight;
-	/**
-	 * 自定义9
-	 */
-	@ExcelProperty(value = "自定义9")
-	private BigDecimal customNine;
-	/**
 	 * 工作量工资
 	 */
 	@ExcelProperty(value = "工作量工资")
@@ -185,59 +221,104 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "日常考核工资")
 	private BigDecimal dailyAssessmentSalary;
 	/**
+	 * 绩效工资标准
+	 */
+	@ExcelProperty(value = "绩效工资标准")
+	private BigDecimal termPerformanceSalaryName;
+	/**
+	 * 学期绩效工资标准
+	 */
+	@ExcelProperty(value = "学期绩效工资标准")
+	private BigDecimal customEight;
+	/**
+	 * 学期绩效等级
+	 */
+	@ExcelProperty(value = "学期绩效等级")
+	private String performanceGrade;
+	/**
 	 * 学期绩效工资
 	 */
 	@ExcelProperty(value = "学期绩效工资")
 	private BigDecimal termPerformanceSalary;
 	/**
-	 * 自定义奖励
+	 * 学期绩效工资1
+	 */
+	@ExcelProperty(value = "学期绩效工资1")
+	private BigDecimal customNine;
+	/**
+	 * 学期绩效工资2
+	 */
+	@ExcelProperty(value = "学期绩效工资2")
+	private String customize;
+	/**
+	 * 学期绩效工资3
+	 */
+	@ExcelProperty(value = "学期绩效工资3")
+	private BigDecimal customizeOne;
+	/**
+	 * 学期绩效工资4
+	 */
+	@ExcelProperty(value = "学期绩效工资4")
+	private BigDecimal customizeTwo;
+	/**
+	 * 学期绩效工资5
+	 */
+	@ExcelProperty(value = "学期绩效工资5")
+	private BigDecimal customizeThree;
+	/**
+	 * 绩效工资
 	 */
-	@ExcelProperty(value = "自定义奖励")
+	@ExcelProperty(value = "绩效工资")
+	private BigDecimal customizeFour;
+	/**
+	 * 奖励1
+	 */
+	@ExcelProperty(value = "奖励1")
 	private BigDecimal customAward;
 	/**
-	 * 自定义奖励1
+	 * 奖励2
 	 */
-	@ExcelProperty(value = "自定义奖励1")
+	@ExcelProperty(value = "奖励2")
 	private BigDecimal customAwardOne;
 	/**
-	 * 自定义奖励2
+	 * 奖励3
 	 */
-	@ExcelProperty(value = "自定义奖励2")
+	@ExcelProperty(value = "奖励3")
 	private BigDecimal customAwardTwo;
 	/**
-	 * 自定义奖励3
+	 * 奖励4
 	 */
-	@ExcelProperty(value = "自定义奖励3")
+	@ExcelProperty(value = "奖励4")
 	private BigDecimal customAwardThree;
 	/**
-	 * 自定义奖励4
+	 * 奖励5
 	 */
-	@ExcelProperty(value = "自定义奖励4")
+	@ExcelProperty(value = "奖励5")
 	private BigDecimal customAwardFour;
 	/**
-	 * 自定义奖励5
+	 * 奖励6
 	 */
-	@ExcelProperty(value = "自定义奖励5")
+	@ExcelProperty(value = "奖励6")
 	private BigDecimal customAwardFive;
 	/**
-	 * 自定义奖励6
+	 * 奖励7
 	 */
-	@ExcelProperty(value = "自定义奖励6")
+	@ExcelProperty(value = "奖励7")
 	private BigDecimal customAwardSix;
 	/**
-	 * 自定义奖励7
+	 * 奖励8
 	 */
-	@ExcelProperty(value = "自定义奖励7")
+	@ExcelProperty(value = "奖励8")
 	private BigDecimal customAwardSeven;
 	/**
-	 * 自定义奖励8
+	 * 奖励9
 	 */
-	@ExcelProperty(value = "自定义奖励8")
+	@ExcelProperty(value = "奖励9")
 	private BigDecimal customAwardEight;
 	/**
-	 * 自定义奖励9
+	 * 奖励10
 	 */
-	@ExcelProperty(value = "自定义奖励9")
+	@ExcelProperty(value = "奖励10")
 	private BigDecimal customAwardNine;
 	/**
 	 * 奖励工资
@@ -245,36 +326,111 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "奖励工资")
 	private BigDecimal awardSalary;
 	/**
+	 * 领导干部补贴标准
+	 */
+	@ExcelProperty(value = "领导干部补贴标准")
+	private BigDecimal leadingCadreSubsidyName;
+	/**
 	 * 领导干部补贴
 	 */
 	@ExcelProperty(value = "领导干部补贴")
 	private BigDecimal leadingCadreSubsidy;
 	/**
-	 * 备课组长
+	 * 领导干部考核补贴标准
+	 */
+	@ApiModelProperty(value = "领导干部考核补贴标准")
+	private BigDecimal assessLeadingCadreSubsidyName;
+	/**
+	 * 自定义5
+	 */
+	@ExcelProperty(value = "领导干部考核补贴")
+	private BigDecimal customizeFive;
+	/**
+	 * 备课组长考核补贴标准
 	 */
-	@ExcelProperty(value = "备课组长")
+	@ExcelProperty(value = "备课组长补贴标准")
+	private BigDecimal prepareLessonsName;
+	/**
+	 * 备课组长补贴
+	 */
+	@ExcelProperty(value = "备课组长补贴")
 	private BigDecimal prepareLessons;
 	/**
-	 * 教研组长
+	 * 备课组长考核补贴标准
+	 */
+	@ExcelProperty(value = "备课组长考核补贴标准")
+	private BigDecimal assessPrepareLessonsName;
+	/**
+	 * 备课组长考核补贴
+	 */
+	@ExcelProperty(value = "备课组长考核补贴")
+	private BigDecimal customizeSix;
+	/**
+	 * 教研组长补贴标准
+	 */
+	@ApiModelProperty(value = "教研组长补贴标准")
+	private BigDecimal teachingResearchName;
+	/**
+	 * 教研组长补贴
 	 */
-	@ExcelProperty(value = "教研组长")
+	@ExcelProperty(value = "教研组长补贴")
 	private BigDecimal teachingResearch;
 	/**
+	 * 教研组长考核补贴标准
+	 */
+	@ApiModelProperty(value = "教研组长考核补贴标准")
+	private BigDecimal assessTeachingResearchName;
+	/**
+	 * 教研组长考核补贴
+	 */
+	@ExcelProperty(value = "教研组长考核补贴")
+	private BigDecimal customizeSeven;
+	/**
 	 * 职务津贴
 	 */
 	@ExcelProperty(value = "职务津贴")
 	private BigDecimal dutyAllowances;
 	/**
-	 * 班主任费
+	 * 班主任津贴标准
+	 */
+	@ExcelProperty(value = "班主任津贴标准")
+	private BigDecimal teacherSubsidy;
+	/**
+	 * 班主任补贴
 	 */
-	@ExcelProperty(value = "班主任费")
+	@ExcelProperty(value = "班主任补贴")
 	private BigDecimal classTeacherFee;
 	/**
-	 * 班额
+	 * 班额津贴
 	 */
-	@ExcelProperty(value = "班额")
+	@ExcelProperty(value = "班额津贴")
 	private BigDecimal classes;
 	/**
+	 * 校车考核
+	 */
+	@ExcelProperty(value = "校车考核")
+	private BigDecimal adjustTheBalance;
+	/**
+	 * 班级微信群考核
+	 */
+	@ExcelProperty(value = "班级微信群考核")
+	private BigDecimal payrollCredit;
+	/**
+	 * 财务考核
+	 */
+	@ExcelProperty(value = "财务考核")
+	private BigDecimal paid;
+	/**
+	 * 班主任考核津贴标准
+	 */
+	@ApiModelProperty(value = "班主任考核津贴标准")
+	private BigDecimal teacherAssessSubsidy;
+	/**
+	 * 班主任考核津贴
+	 */
+	@ExcelProperty(value = "班主任考核津贴")
+	private BigDecimal customizeEight;
+	/**
 	 * 班主任津贴
 	 */
 	@ExcelProperty(value = "班主任津贴")
@@ -290,116 +446,71 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "产假工资")
 	private BigDecimal maternityLeaveSalary;
 	/**
-	 * 周末加班
+	 * 周末工作量
+	 */
+	@ExcelProperty(value = "周末工作量")
+	private BigDecimal customizeNine;
+	/**
+	 * 周末课时费
+	 */
+	@ExcelProperty(value = "周末课时费")
+	private BigDecimal ribbon;
+	/**
+	 * 周末工作量工资
 	 */
-	@ExcelProperty(value = "周末加班")
+	@ExcelProperty(value = "周末工作量工资")
 	private BigDecimal overtimeAtWeekend;
 	/**
-	 * 年上学期绩效
+	 * 补贴1
 	 */
-	@ExcelProperty(value = "年上学期绩效")
+	@ExcelProperty(value = "补贴1")
 	private BigDecimal yearUpPerformance;
 	/**
-	 * 年下学期绩效
+	 * 补贴2
 	 */
-	@ExcelProperty(value = "年下学期绩效")
+	@ExcelProperty(value = "补贴2")
 	private BigDecimal yearDownPerformance;
 	/**
-	 * 干部补贴预留
+	 * 补贴3
 	 */
-	@ExcelProperty(value = "干部补贴预留")
+	@ExcelProperty(value = "补贴3")
 	private BigDecimal cadreAllowanceReservation;
 	/**
-	 * 假期加班费
+	 * 补贴4
 	 */
-	@ExcelProperty(value = "假期加班费")
+	@ExcelProperty(value = "补贴4")
 	private BigDecimal vacationOvertimePay;
 	/**
-	 * 新岗岗前培训
+	 * 补贴5
 	 */
-	@ExcelProperty(value = "新岗岗前培训")
+	@ExcelProperty(value = "补贴5")
 	private BigDecimal newPostTrain;
 	/**
-	 * 期中期末考试学科优胜奖(预留发放)
+	 * 补贴6
 	 */
-	@ExcelProperty(value = "期中期末考试学科优胜奖(预留发放)")
+	@ExcelProperty(value = "补贴6")
 	private BigDecimal winningPrize;
 	/**
-	 * 级部长(预留发放)
+	 * 补贴7
 	 */
-	@ExcelProperty(value = "级部长(预留发放)")
+	@ExcelProperty(value = "补贴7")
 	private BigDecimal classMinister;
 	/**
-	 * 月副班费(预留发放)
+	 * 补贴8
 	 */
-	@ExcelProperty(value = "月副班费(预留发放)")
+	@ExcelProperty(value = "补贴8")
 	private BigDecimal monthViceClassFee;
 	/**
-	 * 餐车、周五测温、周五安全岗(预留发放)
+	 * 补贴9
 	 */
-	@ExcelProperty(value = "餐车、周五测温、周五安全岗(预留发放)")
+	@ExcelProperty(value = "补贴9")
 	private BigDecimal safetyFees;
 	/**
-	 * 预留补发
+	 * 补贴10
 	 */
-	@ExcelProperty(value = "预留补发")
+	@ExcelProperty(value = "补贴10")
 	private BigDecimal reserveReplacement;
 	/**
-	 * 调整差额
-	 */
-	@ExcelProperty(value = "调整差额")
-	private BigDecimal adjustTheBalance;
-	/**
-	 * 自定义
-	 */
-	@ExcelProperty(value = "自定义")
-	private String customize;
-	/**
-	 * 自定义1
-	 */
-	@ExcelProperty(value = "自定义1")
-	private BigDecimal customizeOne;
-	/**
-	 * 自定义2
-	 */
-	@ExcelProperty(value = "自定义2")
-	private BigDecimal customizeTwo;
-	/**
-	 * 自定义3
-	 */
-	@ExcelProperty(value = "自定义3")
-	private BigDecimal customizeThree;
-	/**
-	 * 自定义4
-	 */
-	@ExcelProperty(value = "自定义4")
-	private BigDecimal customizeFour;
-	/**
-	 * 自定义5
-	 */
-	@ExcelProperty(value = "自定义5")
-	private BigDecimal customizeFive;
-	/**
-	 * 自定义6
-	 */
-	@ExcelProperty(value = "自定义6")
-	private BigDecimal customizeSix;
-	/**
-	 * 自定义7
-	 */
-	@ExcelProperty(value = "自定义7")
-	private BigDecimal customizeSeven;
-	/**
-	 * 自定义8
-	 */
-	@ExcelProperty(value = "自定义8")
-	private BigDecimal customizeEight;
-	/**
-	 * 自定义9
-	 */
-	@ExcelProperty(value = "自定义9")
-	private BigDecimal customizeNine;
-	/**
 	 * 补贴项
 	 */
 	@ExcelProperty(value = "补贴项")
@@ -410,14 +521,14 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "出勤")
 	private BigDecimal attendance;
 	/**
-	 * 督查罚款
+	 * 督查
 	 */
-	@ExcelProperty(value = "督查罚款")
+	@ExcelProperty(value = "督查")
 	private BigDecimal inspectorFines;
 	/**
-	 * 电话费
+	 * 超额电话费
 	 */
-	@ExcelProperty(value = "电话费")
+	@ExcelProperty(value = "超额电话费")
 	private BigDecimal telephoneBill;
 	/**
 	 * 学习强国
@@ -440,178 +551,118 @@ public class WageExcel implements Serializable {
 	@ExcelProperty(value = "五险一金个人")
 	private BigDecimal androidIt;
 	/**
-	 * 扣除项
-	 */
-	@ExcelProperty(value = "扣除项")
-	private BigDecimal deductions;
-	/**
-	 * 保险个人
-	 */
-	@ExcelProperty(value = "保险个人")
-	private BigDecimal insurancePersonage;
-	/**
-	 * 保险单位
-	 */
-	@ExcelProperty(value = "保险单位")
-	private BigDecimal insuranceUnit;
-	/**
-	 * 公积金个人
-	 */
-	@ExcelProperty(value = "公积金个人")
-	private BigDecimal reservedFundsPersonage;
-	/**
-	 * 公积金单位
-	 */
-	@ExcelProperty(value = "公积金单位")
-	private BigDecimal reservedFundsUnit;
-	/**
-	 * 应发工资
-	 */
-	@ExcelProperty(value = "应发工资")
-	private BigDecimal salary;
-	/**
-	 * 个税
-	 */
-	@ExcelProperty(value = "个税")
-	private BigDecimal personageTaxes;
-	/**
-	 * 实发工资(减去个人)
-	 */
-	@ExcelProperty(value = "实发工资(减去个人)")
-	private BigDecimal wage;
-	/**
-	 * 工资备注
+	 * 扣除1
 	 */
-	@ExcelProperty(value = "工资备注")
-	private String salaryRemark;
-	/**
-	 * 自定义
-	 */
-	@ExcelProperty(value = "自定义")
-	private BigDecimal ribbon;
-	/**
-	 * 自定义1
-	 */
-	@ExcelProperty(value = "自定义1")
+	@ExcelProperty(value = "扣除1")
 	private BigDecimal ribbonOne;
 	/**
-	 * 自定义2
+	 * 扣除2
 	 */
-	@ExcelProperty(value = "自定义2")
+	@ExcelProperty(value = "扣除2")
 	private BigDecimal ribbonTwo;
 	/**
-	 * 自定义3
+	 * 扣除3
 	 */
-	@ExcelProperty(value = "自定义3")
+	@ExcelProperty(value = "扣除3")
 	private BigDecimal ribbonThree;
 	/**
-	 * 自定义4
+	 * 扣除4
 	 */
-	@ExcelProperty(value = "自定义4")
+	@ExcelProperty(value = "扣除4")
 	private BigDecimal ribbonFour;
 	/**
-	 * 自定义5
+	 * 扣除5
 	 */
-	@ExcelProperty(value = "自定义5")
+	@ExcelProperty(value = "扣除5")
 	private BigDecimal ribbonFive;
 	/**
-	 * 自定义6
+	 * 扣除6
 	 */
-	@ExcelProperty(value = "自定义6")
+	@ExcelProperty(value = "扣除6")
 	private BigDecimal ribbonSix;
 	/**
-	 * 自定义7
+	 * 扣除7
 	 */
-	@ExcelProperty(value = "自定义7")
+	@ExcelProperty(value = "扣除7")
 	private BigDecimal ribbonSeven;
 	/**
-	 * 自定义8
+	 * 扣除8
 	 */
-	@ExcelProperty(value = "自定义8")
+	@ExcelProperty(value = "扣除8")
 	private BigDecimal ribbonEight;
 	/**
-	 * 自定义9
+	 * 扣除9
 	 */
-	@ExcelProperty(value = "自定义9")
+	@ExcelProperty(value = "扣除9")
 	private BigDecimal ribbonNine;
 	/**
-	 * 日照银行代发最终
-	 */
-	@ExcelProperty(value = "日照银行代发最终")
-	private BigDecimal payrollCredit;
-	/**
-	 * 已付
+	 * 扣除10
 	 */
-	@ExcelProperty(value = "已付")
-	private BigDecimal paid;
-	/**
-	 * 冲借款
-	 */
-	@ExcelProperty(value = "冲借款")
-	private BigDecimal rushedToBorrow;
+	@ExcelProperty(value = "扣除10")
+	private BigDecimal pauseNoPay;
 	/**
-	 * 现金付款
+	 * 扣除项
 	 */
-	@ExcelProperty(value = "现金付款")
-	private BigDecimal cashPayment;
+	@ExcelProperty(value = "扣除项")
+	private BigDecimal deductions;
 	/**
-	 * 暂不付
+	 * 保险单位部分
 	 */
-	@ExcelProperty(value = "暂不付")
-	private BigDecimal pauseNoPay;
+	@ExcelProperty(value = "保险单位部分")
+	private BigDecimal insuranceUnit;
 	/**
-	 * 暂不付1
+	 * 保险个人部分
 	 */
-	@ExcelProperty(value = "暂不付1")
-	private BigDecimal pauseNoPayOne;
+	@ExcelProperty(value = "保险个人部分")
+	private BigDecimal insurancePersonage;
 	/**
-	 * 暂不付2
+	 * 公积金单位部分
 	 */
-	@ExcelProperty(value = "暂不付2")
-	private BigDecimal pauseNoPayTwo;
+	@ExcelProperty(value = "公积金单位部分")
+	private BigDecimal reservedFundsUnit;
 	/**
-	 * 暂不付3
+	 * 公积金个人部分
 	 */
-	@ExcelProperty(value = "暂不付3")
-	private BigDecimal pauseNoPayThree;
+	@ExcelProperty(value = "公积金个人部分")
+	private BigDecimal reservedFundsPersonage;
 	/**
-	 * 暂不付4
+	 * 应发工资
 	 */
-	@ExcelProperty(value = "暂不付4")
-	private BigDecimal pauseNoPayFour;
+	@ExcelProperty(value = "应发工资")
+	private BigDecimal salary;
 	/**
-	 * 暂不付5
+	 * 个人所得税
 	 */
-	@ExcelProperty(value = "暂不付5")
-	private BigDecimal pauseNoPayFive;
+	@ExcelProperty(value = "个人所得税")
+	private BigDecimal personageTaxes;
 	/**
-	 * 暂不付6
+	 * 实发工资
 	 */
-	@ExcelProperty(value = "暂不付6")
-	private BigDecimal pauseNoPaySix;
+	@ExcelProperty(value = "实发工资")
+	private BigDecimal wage;
 	/**
-	 * 暂不付7
+	 * 实发工资取整
 	 */
-	@ExcelProperty(value = "暂不付7")
-	private BigDecimal pauseNoPaySeven;
+	@ExcelProperty(value = "实发工资取整")
+	private BigDecimal pauseNoPayOne;
 	/**
-	 * 暂不付8
+	 * 备注
 	 */
-	@ExcelProperty(value = "暂不付8")
-	private BigDecimal pauseNoPayEight;
+	@ExcelProperty(value = "备注")
+	private String salaryRemark;
 	/**
-	 * 暂不付9
+	 * 备注1
 	 */
-	@ExcelProperty(value = "暂不付9")
-	private BigDecimal pauseNoPayNine;
+	@ExcelProperty(value = "备注1")
+	private String pauseNoPayRemark;
 	/**
-	 * 暂不付备注
+	 * 备注2
 	 */
-	@ExcelProperty(value = "暂不付备注")
-	private BigDecimal pauseNoPayRemark;
+	@ExcelProperty(value = "备注2")
+	private String remarks;
 	/**
-	 * 备注
+	 * 备注3
 	 */
-	@ExcelProperty(value = "备注")
-	private String remarks;
+	@ExcelProperty(value = "备注3")
+	private String remarksOne;
 }

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

@@ -29,23 +29,8 @@ public class WeChatExcel implements Serializable {
 	@ColumnWidth(35)
 	private String idNumber;
 	/**
-	 * 微信奖金汇总
-	 */
-	@ExcelProperty(value = "微信奖金汇总")
-	private BigDecimal wxBonus;
-	/**
-	 * 原创微信
-	 */
-	@ExcelProperty(value = "原创微信")
-	private BigDecimal originalWx;
-	/**
-	 * 微信群互动红榜
-	 */
-	@ExcelProperty(value = "微信群互动红榜")
-	private BigDecimal wxInteract;
-	/**
 	 * 微信
 	 */
-	@ExcelProperty(value = "合计")
+	@ExcelProperty(value = "微信")
 	private BigDecimal wx;
 }

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

@@ -19,11 +19,6 @@ import java.math.BigDecimal;
 @ContentRowHeight(18)
 public class ZhaPingExcel implements Serializable {
 	/**
-	 * 序号
-	 */
-	@ExcelProperty(value = "序号")
-	private String serialNumber;
-	/**
 	 * 姓名
 	 */
 	@ExcelProperty(value = "姓名(必填)")

+ 13 - 0
blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryItemMapper.java

@@ -57,4 +57,17 @@ public interface SalaryItemMapper extends BaseMapper<SalaryItem> {
 	 */
 	List<WageExcel> exportSupplierTemplate(@Param("salaryItem") SalaryItem salaryItem);
 
+	/**
+	 * 报表分析 获取工资明细
+	 * @param salaryItem
+	 * @return
+	 */
+	List<SalaryItem> salaryStatements(IPage page,@Param("salaryItem") SalaryItemVO salaryItem);
+	/**
+	 * 报表分析 获取工资明细
+	 * @param salaryItem
+	 * @return
+	 */
+	List<WageExcel> exportSalaryStatements(@Param("salaryItem") SalaryItemVO salaryItem);
+
 }

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

@@ -146,5 +146,62 @@
     <select id="exportSupplierTemplate" resultType="org.springblade.school.excel.WageExcel">
         select *,f_salary AS wage from school_salary_item where is_deleted = 0 and pid = #{salaryItem.pid} and tenant_id = #{salaryItem.tenantId}
     </select>
+    <select id="salaryStatements" resultMap="salaryItemResultMap">
+        SELECT
+	    si.*
+        FROM
+	        school_salary_item si
+	    LEFT JOIN school_salary sa ON si.pid = sa.id
+        WHERE
+	    si.is_deleted = 0
+	    AND sa.is_deleted = 0
+        <if test="salaryItem.cname!=null and salaryItem.cname != ''">
+            and si.cname like CONCAT(CONCAT('%', #{salaryItem.cname}), '%')
+        </if>
+        <if test="salaryItem.tenantId!=null and salaryItem.tenantId != ''">
+            and si.tenant_id = #{salaryItem.tenantId})
+        </if>
+        <if test="salaryItem.idNumber!=null and salaryItem.idNumber != ''">
+            and si.idNumber like CONCAT(CONCAT('%', #{salaryItem.idNumber}), '%')
+        </if>
+        <if test="salaryItem.inSection!=null and salaryItem.inSection != ''">
+            and sa.salary_type = #{salaryItem.inSection}
+        </if>
+        <if test="salaryItem.createTimeStart!=null and salaryItem.createTimeStart != ''">
+            and sa.create_time &gt;= #{salaryItem.createTimeStart})
+        </if>
+        <if test="salaryItem.createTimeEnd!=null and salaryItem.createTimeEnd != ''">
+            and sa.create_time &lt;= #{salaryItem.createTimeEnd})
+        </if>
+    </select>
+    <select id="exportSalaryStatements" resultType="org.springblade.school.excel.WageExcel">
+        SELECT
+        si.*,
+        si.f_salary AS wage
+        FROM
+        school_salary_item si
+        LEFT JOIN school_salary sa ON si.pid = sa.id
+        WHERE
+        si.is_deleted = 0
+        AND sa.is_deleted = 0
+        <if test="salaryItem.cname!=null and salaryItem.cname != ''">
+            and si.cname like CONCAT(CONCAT('%', #{salaryItem.cname}), '%')
+        </if>
+        <if test="salaryItem.tenantId!=null and salaryItem.tenantId != ''">
+            and si.tenant_id = #{salaryItem.tenantId})
+        </if>
+        <if test="salaryItem.idNumber!=null and salaryItem.idNumber != ''">
+            and si.idNumber like CONCAT(CONCAT('%', #{salaryItem.idNumber}), '%')
+        </if>
+        <if test="salaryItem.inSection!=null and salaryItem.inSection != ''">
+            and sa.salary_type = #{salaryItem.inSection}
+        </if>
+        <if test="salaryItem.createTimeStart!=null and salaryItem.createTimeStart != ''">
+            and sa.create_time &gt;= #{salaryItem.createTimeStart})
+        </if>
+        <if test="salaryItem.createTimeEnd!=null and salaryItem.createTimeEnd != ''">
+            and sa.create_time &lt;= #{salaryItem.createTimeEnd})
+        </if>
+    </select>
 
 </mapper>

+ 64 - 1
blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryItemService.java

@@ -93,7 +93,7 @@ public interface ISalaryItemService extends IService<SalaryItem> {
 	 */
 	R importOvertime(List<OvertimeExcel> data, Boolean isCovered, Long id,MultipartFile file);
 	/**
-	 * 导入电话费、罚款
+	 * 导入电话费
 	 * @param data
 	 * @param isCovered
 	 * @return
@@ -268,5 +268,68 @@ public interface ISalaryItemService extends IService<SalaryItem> {
 	 * @return
 	 */
 	R importDoubleWorkloadExcel(List<DoubleWorkloadExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入代课工作量
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importProbationExcel(List<ProbationExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入罚款
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importFineExcel(List<FineExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入补贴
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importSubsidyExcel(List<SubsidyExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入扣除
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importDeductExcel(List<DeductExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入校车考核
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importSchoolBusExcel(List<SchoolBusExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入班级微信考核
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importClassWeChatExcel(List<ClassWeChatExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 导入财务考核
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importFinanceExcel(List<FinanceExcel> data, Boolean isCovered, Long id,MultipartFile file);
+	/**
+	 * 自定义分页查询工资明细
+	 *
+	 * @param page
+	 * @param salaryItem
+	 * @return
+	 */
+	IPage<SalaryItem> salaryStatements(IPage<SalaryItem> page, SalaryItemVO salaryItem);
+	/**
+	 * 导出工资明细
+	 * @param salaryItem
+	 * @return
+	 */
+	List<WageExcel> exportSalaryStatements(SalaryItemVO salaryItem);
 
 }

+ 388 - 42
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

@@ -156,21 +156,24 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			SchoolTeacher teacherMessage = message.getData();
 			salaryItem.setCname(teacherMessage.getCname());//姓名
 			salaryItem.setIdNumber(teacherMessage.getIdNumber());//身份证
-			salaryItem.setCode(teacherMessage.getCode());//学历
+			salaryItem.setSchoolAge(teacherMessage.getSchoolAge());//校龄工资标准
 			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.getRankWithdrawalStandardName());//职级拨付标准
+			salaryItem.setRankSalaryName(teacherMessage.getRankSalaryName());//职级等级
 			salaryItem.setRankSalary(teacherMessage.getRankSalary());//职级工资
+			salaryItem.setPerformanceAwardName(teacherMessage.getPerformanceAwardName());//履约奖标准
 			salaryItem.setPerformanceAward(teacherMessage.getPerformanceAward());//履约奖
 			salaryItem.setSchoolAgeSalary(teacherMessage.getSchoolAgeSalary());//校龄工资
+			salaryItem.setCapitalIncreaseName(teacherMessage.getCapitalIncreaseName());//增资标准
 			salaryItem.setCapitalIncrease(teacherMessage.getCapitalIncrease());//增资
+			salaryItem.setCode(teacherMessage.getCode());//学历
 			salaryItem.setEducationSalary(teacherMessage.getEducationSalary());//学历工资
-			salaryItem.setSalaryBase(teacherMessage.getSalaryBase());//工资基数
 			salaryItem.setSalaryBaseName(teacherMessage.getSalaryBaseName());//工资基数标准
+			salaryItem.setSalaryBase(teacherMessage.getSalaryBase());//工资基数
 			salaryItem.setWorkloadSalaryCritertion(teacherMessage.getWorkloadSalaryName());//工作量工资标准
 			salaryItem.setVirtualWorkloadSalary(teacherMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
 			salaryItem.setDoubleCease(teacherMessage.getDoubleCease());//双休日工作量工资标准
@@ -178,22 +181,24 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			salaryItem.setVirtualDailyAssessmentCriteria(teacherMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核标准
 			salaryItem.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteriaName());//日常考核标准
 			salaryItem.setDailyAssessmentSalary(teacherMessage.getDailyAssessmentSalary());//日常考核工资
+			salaryItem.setTermPerformanceSalaryName(teacherMessage.getTermPerformanceSalaryName());//学期绩效标准
 			salaryItem.setTermPerformanceSalary(teacherMessage.getTermPerformanceSalary());//学期绩效工资
-			salaryItem.setLeadingCadreSubsidy(teacherMessage.getLeadingCadreSubsidy());//领导干部补贴
-			salaryItem.setPrepareLessons(teacherMessage.getPrepareLessons());//备课组长
-			salaryItem.setTeachingResearch(teacherMessage.getTeachingResearch());//教研组长
-			salaryItem.setClassTeacherFee(teacherMessage.getTeacherSubsidy());//班主任费
 			salaryItem.setTeacherSubsidy(teacherMessage.getTeacherSubsidy());//班主任补贴标准
+			salaryItem.setClassTeacherFee(teacherMessage.getTeacherSubsidy());//班主任费
 			salaryItem.setTeacherAssessSubsidy(teacherMessage.getTeacherAssessSubsidy());//班主任考核补贴标准
-			salaryItem.setPerformanceAwardName(teacherMessage.getPerformanceAwardName());//履约奖标准
-			salaryItem.setCapitalIncreaseName(teacherMessage.getCapitalIncreaseName());//增资标准
+			salaryItem.setCustomizeEight(teacherMessage.getTeacherAssessSubsidy());//班主任考核补贴
 			salaryItem.setLeadingCadreSubsidyName(teacherMessage.getLeadingCadreSubsidyName());//领导干部补贴标准
+			salaryItem.setLeadingCadreSubsidy(teacherMessage.getLeadingCadreSubsidy());//领导干部补贴
 			salaryItem.setAssessLeadingCadreSubsidyName(teacherMessage.getAssessLeadingCadreSubsidyName());//领导干部考核补贴标准
+			salaryItem.setCustomizeFive(teacherMessage.getAssessLeadingCadreSubsidyName());//领导干部考核补贴
 			salaryItem.setPrepareLessonsName(teacherMessage.getPrepareLessonsName());//备课组长补贴标准
+			salaryItem.setPrepareLessons(teacherMessage.getPrepareLessons());//备课组长
 			salaryItem.setAssessPrepareLessonsName(teacherMessage.getAssessPrepareLessonsName());//备课组长考核补贴标准
+			salaryItem.setCustomizeSix(teacherMessage.getAssessPrepareLessonsName());//备课组长考核补贴
 			salaryItem.setTeachingResearchName(teacherMessage.getTeachingResearchName());//教研组长补贴标准
+			salaryItem.setTeachingResearch(teacherMessage.getTeachingResearch());//教研组长
 			salaryItem.setAssessTeachingResearchName(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴标准
-			salaryItem.setWorkloadSalaryCritertion(teacherMessage.getWorkloadSalaryName());
+			salaryItem.setCustomizeSeven(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴
 		}else {
 			salaryItem = null;
 		}
@@ -272,6 +277,11 @@ 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));
+			//获取职级等级工资
+			R<SchoolConfigItem> rankSalaryName = schoolTeacherClient.getConfig(SecureUtil.getTenantId(), positionExcel.getGrading(), null, "职级等级标准", salaryItem.getRankSalaryName(), null,null);
+			if (rankSalaryName.isSuccess() && rankSalaryName.getData() != null){
+				salaryItem.setRankSalary(rankSalaryName.getData().getSalary());
+			}
 			if (item != null){
 				salaryItem.setPid(id);
 				salaryItem.setId(item.getId());
@@ -1494,20 +1504,24 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setPid(salaryItem.getPid());
 				salary.setCname(item.getCname());//姓名
 				salary.setIdNumber(item.getIdNumber());//身份证
+				salary.setSchoolAge(item.getSchoolAge());//校龄工资标准
 				salary.setPositiveTime(item.getBirthdate());//转正日期
 				salary.setPosition(item.getCompileCategory());//职务
 				salary.setDiscipline(item.getClassType());//学科
 				salary.setItemType(item.getSalaryWithdrawalStandardName());//教师类别
-				salary.setTermPerformanceSalaryName(item.getTermPerformanceSalaryName());//学期绩效标准
+				salary.setRankSalaryName(item.getRankSalaryName());//职级等级
 				salary.setSalaryWithdrawalStandard(item.getSalaryWithdrawalStandard());//工资拨付标准
 				salary.setRankWithdrawalStandard(item.getRankWithdrawalStandardName());//职级拨付标准
 				salary.setRankSalary(item.getRankSalary());//职级工资
+				salary.setPerformanceAwardName(item.getPerformanceAwardName());//履约奖标准
 				salary.setPerformanceAward(item.getPerformanceAward());//履约奖
 				salary.setSchoolAgeSalary(item.getSchoolAgeSalary());//校龄工资
+				salary.setCapitalIncreaseName(item.getCapitalIncreaseName());//增资标准
 				salary.setCapitalIncrease(item.getCapitalIncrease());//增资
+				salary.setCode(item.getCode());//学历
 				salary.setEducationSalary(item.getEducationSalary());//学历工资
-				salary.setSalaryBase(item.getSalaryBase());//工资基数
 				salary.setSalaryBaseName(item.getSalaryBaseName());//工资基数标准
+				salary.setSalaryBase(item.getSalaryBase());//工资基数
 				salary.setWorkloadSalaryCritertion(item.getWorkloadSalaryName());//工作量工资标准
 				salary.setVirtualWorkloadSalary(item.getVirtualWorkloadSalary());//虚拟工作量工资标准
 				salary.setDoubleCease(item.getDoubleCease());//双休日工作量工资标准
@@ -1515,23 +1529,25 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setVirtualDailyAssessmentCriteria(item.getVirtualDailyAssessmentCriteria());//虚拟日常考核标准
 				salary.setDailyAssessmentCriteria(item.getDailyAssessmentCriteriaName());//日常考核标准
 				salary.setDailyAssessmentSalary(item.getDailyAssessmentSalary());//日常考核工资
+				salary.setTermPerformanceSalaryName(item.getTermPerformanceSalaryName());//学期绩效标准
 				salary.setTermPerformanceSalary(item.getTermPerformanceSalary());//学期绩效工资
-				salary.setLeadingCadreSubsidy(item.getLeadingCadreSubsidy());//领导干部补贴
-				salary.setPrepareLessons(item.getPrepareLessons());//备课组长
-				salary.setTeachingResearch(item.getTeachingResearch());//教研组长
-				salary.setClassTeacherFee(item.getTeacherSubsidy());//班主任费
 				salary.setTeacherSubsidy(item.getTeacherSubsidy());//班主任补贴标准
+				salary.setClassTeacherFee(item.getTeacherSubsidy());//班主任费
 				salary.setTeacherAssessSubsidy(item.getTeacherAssessSubsidy());//班主任考核补贴标准
-				salary.setPerformanceAwardName(item.getPerformanceAwardName());//履约奖标准
-				salary.setCapitalIncreaseName(item.getCapitalIncreaseName());//增资标准
+				salary.setCustomizeEight(item.getTeacherAssessSubsidy());//班主任考核补贴
 				salary.setLeadingCadreSubsidyName(item.getLeadingCadreSubsidyName());//领导干部补贴标准
+				salary.setLeadingCadreSubsidy(item.getLeadingCadreSubsidy());//领导干部补贴
 				salary.setAssessLeadingCadreSubsidyName(item.getAssessLeadingCadreSubsidyName());//领导干部考核补贴标准
+				salary.setCustomizeFive(item.getAssessLeadingCadreSubsidyName());//领导干部考核补贴
 				salary.setPrepareLessonsName(item.getPrepareLessonsName());//备课组长补贴标准
+				salary.setPrepareLessons(item.getPrepareLessons());//备课组长
 				salary.setAssessPrepareLessonsName(item.getAssessPrepareLessonsName());//备课组长考核补贴标准
+				salary.setCustomizeSix(item.getAssessPrepareLessonsName());//备课组长考核补贴
 				salary.setTeachingResearchName(item.getTeachingResearchName());//教研组长补贴标准
+				salary.setTeachingResearch(item.getTeachingResearch());//教研组长
 				salary.setAssessTeachingResearchName(item.getAssessTeachingResearchName());//教研组长考核补贴标准
-				salary.setWorkloadSalaryCritertion(item.getWorkloadSalaryName());
-				SalaryItem selectOne = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salary.getIdNumber()).eq("cname",salary.getCname()).eq("tenant_id", SecureUtil.getTenantId())
+				salary.setCustomizeSeven(item.getAssessTeachingResearchName());//教研组长考核补贴
+				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){
 					salary.setCreateTime(new Date());
@@ -1596,45 +1612,375 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 		}
 	}
 
+	@Override
+	public R importProbationExcel(List<ProbationExcel> 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++)
+		{
+			ProbationExcel probationExcel = data.get(i);
+			if (StringUtils.isBlank(probationExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(probationExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(probationExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importFineExcel(List<FineExcel> 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++)
+		{
+			FineExcel fineExcel = data.get(i);
+			if (StringUtils.isBlank(fineExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(fineExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(fineExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importSubsidyExcel(List<SubsidyExcel> 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++)
+		{
+			SubsidyExcel subsidyExcel = data.get(i);
+			if (StringUtils.isBlank(subsidyExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(subsidyExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(subsidyExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importDeductExcel(List<DeductExcel> 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++)
+		{
+			DeductExcel deductExcel = data.get(i);
+			if (StringUtils.isBlank(deductExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(deductExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(deductExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importSchoolBusExcel(List<SchoolBusExcel> 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++)
+		{
+			SchoolBusExcel schoolBusExcel = data.get(i);
+			if (StringUtils.isBlank(schoolBusExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(schoolBusExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(schoolBusExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importClassWeChatExcel(List<ClassWeChatExcel> 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++)
+		{
+			ClassWeChatExcel classWeChatExcel = data.get(i);
+			if (StringUtils.isBlank(classWeChatExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(classWeChatExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(classWeChatExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public R importFinanceExcel(List<FinanceExcel> 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++)
+		{
+			FinanceExcel financeExcel = data.get(i);
+			if (StringUtils.isBlank(financeExcel.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(financeExcel.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(financeExcel,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item != null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setUpdateUser(SecureUtil.getUserId());
+				salaryItem.setUpdateTime(new Date());
+				baseMapper.updateById(salaryItem);
+				message = ++ message;
+				//更新计算工资
+				this.countSalary(salaryItem);
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
+	@Override
+	public IPage<SalaryItem> salaryStatements(IPage<SalaryItem> page, SalaryItemVO salaryItem) {
+		return page.setRecords(baseMapper.salaryStatements(page,salaryItem));
+	}
+	@Override
+	public List<WageExcel> exportSalaryStatements(SalaryItemVO salaryItem) {
+		return baseMapper.exportSalaryStatements(salaryItem);
+	}
+
 	/**
 	 *工资计算
 	 *
 	 * @param salaryItem
 	 */
 	public void countSalary(SalaryItem salaryItem){
-		// 1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
-		// 2. 工作量工资 = V51(工作量工资)+W51(工作量工资)+Y51(暑假pad课课时费)+ 自定义工作量工资
-		// 3. 奖励工资 = AD46(突出贡献奖) 无 +AE46(教学成绩优胜奖)+AF46(教学成绩进步奖) 无 +AG46(荣誉奖) 无 +AH46(领导干部奖励奖)+AI46(下学期教学成绩奖) 下学期绩效 +AJ46(中考奖励) 无
-		// 4. 职务津贴 = AM46(备课组长)+AL46(领导干部补贴)+AN46(教研组长)
-		// 5. 班主任津贴 = AQ47(班额)+AP47(班主任费)
-		// 6. 补贴项 = =BE49(预留补发)+BD49(餐车、周五测温、周五安全岗(预留补发))+BC49(9月副班费(预留补发))+BB49(级部长(预留发放))+BA49(期中期末考试学科优胜奖(预留发放))+AZ49(新岗岗前培训)+AY49(假期加班费)+AX49(干部补贴预留)
-		// +AW49(2020年下学期绩效)+AV49(2020年上学期绩效)+AU49(周末加班(提取))+AT49(产假工资)+AS49(微信)
-		// 7. 扣除项 = =BL47(宿舍管理费)+BK47(学习强国)+BJ47(电话费)+BI47(督查罚款)+BH47(出勤)+BM47(生育津贴)+BN47(五险一金个人)
-		// 8. 应发工资 = S153(基础工资)+Z153(工作量工资)+AB153(日常考核工资)+AK153(奖励工资)+AO153(职务津贴)+AR153(班主任津贴)+BG153(补贴项)-BO153(扣除项)+BQ153(保险个人)+BS153(公积金个人)
-		// 9. 实发工资 = BT153(应发工资) - BU153(个税)-BQ153(保险个人)-BS153(公积金个人)
+		//1. 基础工资 = +M153(校龄工资)+N153(增资)+O153(学历工资)+Q153(职级工资)+L153(履约奖)+R153(工资基数)
+		//2. 工作量工资 = 月份工作量工资+代课工作量工资+双休日工作量工资+工作量工资1+…+工作量工资5
+		//3.日常考核工资
+		//4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5
+		//5.奖励工资=奖励1+…+奖励10
+		//6.职务津贴=领导干部补贴+领导干部考核补贴+备课组长+备课组长考核补贴+教研组长+教研组长考核补贴
+		//7.班主任津贴=班主任补贴+班额津贴-校车考核-班级微信群考核-财务考核+班主任考核津贴
+		//8.补贴项=微信+产假工资+周末工作量工资+补贴1+…+补贴10
+		//9.扣除项=出勤+督查+超额电话费+学习强国+宿舍管理费+生育津贴+扣除1+…+扣除10
+		//10.应发工资=基本工资+工作量工资+日常考核工资+奖励工资+职务津贴+班主任津贴+补贴项-扣除项+保险(个人部分)+公积金(个人部分).. 大于700 保险(个人部分) 不加
+		//11.实发工资=应发工资-个人所得税-个人保险-公积金个人
 		SalaryItem item = baseMapper.selectById(salaryItem.getId());
 		if (item != null){
-			item.setMomthWorkloadSalary(item.getMonthHour().multiply(item.getMonthPrice()));//工作量工资计算
+			item.setMomthWorkloadSalary(item.getMonthHour().multiply(item.getMonthPrice()));//月份工作量工资
 			item.setDoubleMoney(item.getDoubleHour().multiply(item.getDoublePrice()));//双休日工作量工资
+			item.setCustomTwo(item.getCustom().multiply(item.getCustomOne()));//代课工作量工资
 			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()).add(item.getDoubleMoney()));//工作量工资
+			item.setWorkloadSalary(item.getMomthWorkloadSalary().add(item.getDoubleMoney()).add(item.getCustomTwo()).add(item.getCustomThree()).add(item.getCustomFour()).add(item.getCustomFive()).add(item.getCustomSix()).add(item.getCustomSeven()));//工作量工资
 			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()));//班主任津贴
+			item.setDutyAllowances(item.getLeadingCadreSubsidy().add(item.getCustomizeFive()).add(item.getPrepareLessons()).add(item.getCustomizeSix()).add(item.getTeachingResearch()).add(item.getCustomizeSeven()));//职务津贴
+			item.setClassTeacherSubsidy(item.getClassTeacherFee().add(item.getClasses()).subtract(item.getAdjustTheBalance()).subtract(item.getPayrollCredit()).subtract(item.getPaid()).add(item.getCustomizeEight()));//班主任津贴
 			//补贴项
-			item.setSubsidy(item.getSafetyFees().add(item.getMonthViceClassFee()).add(item.getClassMinister()).add(item.getWinningPrize()).add(item.getNewPostTrain()).add(item.getVacationOvertimePay())
-				.add(item.getCadreAllowanceReservation()).add(item.getYearDownPerformance()).add(item.getYearUpPerformance()).add(item.getOvertimeAtWeekend()).add(item.getMaternityLeaveSalary()).add(item.getWx()));
+			item.setSubsidy(item.getWx().add(item.getMaternityLeaveSalary()).add(item.getOvertimeAtWeekend()).add(item.getYearUpPerformance()).add(item.getYearDownPerformance()).add(item.getCadreAllowanceReservation()).add(item.getVacationOvertimePay()).add(item.getNewPostTrain()).add(item.getWinningPrize()).add(item.getClassMinister()).add(item.getMonthViceClassFee()).add(item.getSafetyFees()).add(item.getReserveReplacement()));
 			//扣除项
-			item.setDeductions(item.getDormitoryManagementFee().add(item.getLearningPower()).add(item.getTelephoneBill()).add(item.getInspectorFines()).add(item.getAttendance()).add(item.getChildbirthAllowance()).add(item.getAndroidIt()));
+			item.setDeductions(item.getAttendance().add(item.getInspectorFines()).add(item.getTelephoneBill()).add(item.getLearningPower()).add(item.getDormitoryManagementFee()).add(item.getChildbirthAllowance()).add(item.getRibbon()).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()));
 			//应发工资  保险(个人部分)提取 字段值大于440 应付工资字段就不加保险(个人部分)否则就加上
-			if (item.getInsurancePersonage().compareTo(new BigDecimal(440)) > 0){
+			if (item.getInsurancePersonage().compareTo(new BigDecimal(700)) > 0){
 				item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy())
-					.add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getInsurancePersonage()).add(item.getReservedFundsPersonage()));
+					.add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getReservedFundsPersonage()));
 			}else {
-				item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy())
-					.add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getInsurancePersonage()).add(item.getReservedFundsPersonage()).add(item.getInsurancePersonage()));
+				item.setSalary(item.getBasicsSalary().add(item.getWorkloadSalary()).add(item.getDailyAssessmentSalary()).add(item.getAwardSalary()).add(item.getDutyAllowances()).add(item.getClassTeacherSubsidy()).add(item.getSubsidy()).subtract(item.getDeductions()).add(item.getInsurancePersonage()).add(item.getReservedFundsPersonage()));
 			}
-
 			//实发工资
 			item.setFSalary(item.getSalary().subtract(item.getPersonageTaxes()).subtract(item.getInsurancePersonage()).subtract(item.getReservedFundsPersonage()));
 			baseMapper.updateById(item);