Browse Source

学校修改

lazhaoqian 3 years ago
parent
commit
d03fd09a3e
15 changed files with 341 additions and 84 deletions
  1. 55 67
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/SchoolTeacher.java
  2. 5 0
      blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/Salary.java
  3. 33 0
      blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryStatistics.java
  4. 1 0
      blade-service/blade-client/src/main/java/org/springblade/client/school/controller/SchoolTeacherController.java
  5. 1 1
      blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolTeacherServiceImpl.java
  6. 2 1
      blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/SerialServiceImpl.java
  7. 12 0
      blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryController.java
  8. 37 0
      blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java
  9. 36 0
      blade-service/blade-school/src/main/java/org/springblade/school/excel/SalaryMessage.java
  10. 9 0
      blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryMapper.java
  11. 64 0
      blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryMapper.xml
  12. 8 0
      blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryItemService.java
  13. 10 0
      blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryService.java
  14. 59 15
      blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java
  15. 9 0
      blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryServiceImpl.java

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

@@ -181,19 +181,16 @@ public class SchoolTeacher implements Serializable {
 		@ApiModelProperty(value = "港澳台桥")
 		private String indentation;
 	/**
-	* 职务
+	* 岗位
 	*/
-		@ApiModelProperty(value = "职务")
+		@ApiModelProperty(value = "岗位")
 		private String compileCategory;
 	/**
 	* 身份类别
 	*/
 		@ApiModelProperty(value = "身份类别")
 		private String identityCategory;
-	/**
-	* 教师类别
-	*/
-		@ApiModelProperty(value = "教师类别")
+
 		private String teacherCategory;
 	/**
 	* 工作状态
@@ -211,14 +208,14 @@ public class SchoolTeacher implements Serializable {
 		@ApiModelProperty(value = "所在校区")
 		private String inCampus;
 	/**
-	* 所在院系
+	* 级部
 	*/
-		@ApiModelProperty(value = "所在院系")
+		@ApiModelProperty(value = "级部")
 		private String department;
 	/**
-	* 所在教研室
+	* 班级
 	*/
-		@ApiModelProperty(value = "所在教研室")
+		@ApiModelProperty(value = "班级")
 		private String inStaffRoom;
 	/**
 	* 所在部门
@@ -231,9 +228,9 @@ public class SchoolTeacher implements Serializable {
 		@ApiModelProperty(value = "专业特长")
 		private String professionalExpertise;
 	/**
-	* 是否班主任
+	* 班主任
 	*/
-		@ApiModelProperty(value = "是否班主任")
+		@ApiModelProperty(value = "班主任")
 		private String doubleTeachers;
 	/**
 	* 是否专业带头人
@@ -288,7 +285,7 @@ public class SchoolTeacher implements Serializable {
 	/**
 	* 状态(0 正常 1停用)
 	*/
-		@ApiModelProperty(value = "状态(0 正常 1停用)")
+		@ApiModelProperty(value = "在职状态(0 正常 1停用)")
 		private Integer status;
 	/**
 	* 是否已删除(0 否 1是)
@@ -350,10 +347,7 @@ public class SchoolTeacher implements Serializable {
 	 */
 	@ApiModelProperty(value = "工资拨付标准")
 	private BigDecimal salaryWithdrawalStandard;
-	/**
-	 * 职级拨付标准
-	 */
-	@ApiModelProperty(value = "职级拨付标准")
+
 	private BigDecimal rankWithdrawalStandard;
 	/**
 	 * 履约奖
@@ -381,9 +375,9 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "职级工资")
 	private BigDecimal rankSalary;
 	/**
-	 * 工资基数
+	 * 工资基数标准
 	 */
-	@ApiModelProperty(value = "工资基数")
+	@ApiModelProperty(value = "工资基数标准")
 	private BigDecimal salaryBase;
 	/**
 	 * 工作量工资
@@ -391,14 +385,11 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "工作量工资")
 	private BigDecimal workloadSalary;
 	/**
-	 * 日常考核标准
-	 */
-	@ApiModelProperty(value = "日常考核标准")
-	private BigDecimal dailyAssessmentCriteria;
-	/**
 	 * 日常考核工资
 	 */
 	@ApiModelProperty(value = "日常考核工资")
+	private BigDecimal dailyAssessmentCriteria;
+
 	private BigDecimal dailyAssessmentSalary;
 	/**
 	 * 学期绩效工资
@@ -406,19 +397,19 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "学期绩效工资")
 	private BigDecimal termPerformanceSalary;
 	/**
-	 * 领导干部补贴
+	 * 领导干部补贴工资
 	 */
-	@ApiModelProperty(value = "领导干部补贴")
+	@ApiModelProperty(value = "领导干部补贴工资")
 	private BigDecimal leadingCadreSubsidy;
 	/**
-	 * 备课组长
+	 * 备课组长补贴
 	 */
-	@ApiModelProperty(value = "备课组长")
+	@ApiModelProperty(value = "备课组长补贴")
 	private BigDecimal prepareLessons;
 	/**
-	 * 教研组长
+	 * 教研组长补贴
 	 */
-	@ApiModelProperty(value = "教研组长")
+	@ApiModelProperty(value = "教研组长补贴")
 	private BigDecimal teachingResearch;
 
 	/**
@@ -427,9 +418,9 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "是否享受公待遇")
 	private String enjoyOfficeTreatment;
 	/**
-	 * 工资拨付标准
+	 * 类别
 	 */
-	@ApiModelProperty(value = "工资拨付标准")
+	@ApiModelProperty(value = "类别")
 	private String salaryWithdrawalStandardName;
 	/**
 	 * 职级拨付标准
@@ -437,9 +428,9 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "职级拨付标准")
 	private BigDecimal rankWithdrawalStandardName;
 	/**
-	 * 履约奖
+	 * 履约奖标准
 	 */
-	@ApiModelProperty(value = "履约奖")
+	@ApiModelProperty(value = "履约奖标准")
 	private BigDecimal performanceAwardName;
 	/**
 	 * 校龄工资
@@ -447,17 +438,14 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "校龄工资")
 	private BigDecimal schoolAgeSalaryName;
 	/**
-	 * 增资
+	 * 增资标准
 	 */
-	@ApiModelProperty(value = "增资")
+	@ApiModelProperty(value = "增资标准")
 	private BigDecimal capitalIncreaseName;
-	/**
-	 * 学历工资
-	 */
-	@ApiModelProperty(value = "学历工资")
+
 	private BigDecimal educationSalaryName;
 	/**
-	 * 职级工资
+	 * 职级等级
 	 */
 	@ApiModelProperty(value = "职级等级")
 	private String rankSalaryName;
@@ -467,14 +455,14 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "工资基数")
 	private BigDecimal salaryBaseName;
 	/**
-	 * 工作量工资
+	 * 工作量工资标准
 	 */
-	@ApiModelProperty(value = "工作量工资")
+	@ApiModelProperty(value = "工作量工资标准")
 	private BigDecimal workloadSalaryName;
 	/**
-	 * 日常考核标准
+	 * 日常考核工资标准
 	 */
-	@ApiModelProperty(value = "日常考核标准")
+	@ApiModelProperty(value = "日常考核工资标准")
 	private BigDecimal dailyAssessmentCriteriaName;
 	/**
 	 * 日常考核工资
@@ -482,29 +470,29 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "日常考核工资")
 	private BigDecimal dailyAssessmentSalaryName;
 	/**
-	 * 学期绩效工资
+	 * 学期绩效工资标准
 	 */
-	@ApiModelProperty(value = "学期绩效工资")
+	@ApiModelProperty(value = "学期绩效工资标准")
 	private BigDecimal termPerformanceSalaryName;
 	/**
-	 * 领导干部补贴
+	 * 领导干部补贴标准
 	 */
-	@ApiModelProperty(value = "领导干部补贴")
+	@ApiModelProperty(value = "领导干部补贴标准")
 	private BigDecimal leadingCadreSubsidyName;
 	/**
-	 * 备课组长
+	 * 备课组长补贴标准
 	 */
-	@ApiModelProperty(value = "备课组长")
+	@ApiModelProperty(value = "备课组长补贴标准")
 	private BigDecimal prepareLessonsName;
 	/**
-	 * 教研组长
+	 * 教研组长补贴标准
 	 */
-	@ApiModelProperty(value = "教研组长")
+	@ApiModelProperty(value = "教研组长补贴标准")
 	private BigDecimal teachingResearchName;
 	/**
-	 * 职工类别
+	 * 教师类别
 	 */
-	@ApiModelProperty(value = "职工类别(字典表 教师 非教师)")
+	@ApiModelProperty(value = "教师类别(字典表 教师 非教师)")
 	private String staffType;
 	/**
 	 * 授课类别
@@ -522,14 +510,14 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "双休日工作量工资标准")
 	private BigDecimal doubleCease;
 	/**
-	 * 虚拟日常考核标准
+	 * 虚拟日常考核工资标准
 	 */
-	@ApiModelProperty(value = "虚拟日常考核标准")
+	@ApiModelProperty(value = "虚拟日常考核工资标准")
 	private BigDecimal virtualDailyAssessmentCriteria;
 	/**
 	 * 领导干部考核补贴标准
 	 */
-	@ApiModelProperty(value = "领导干部补贴标准")
+	@ApiModelProperty(value = "领导干部考核补贴标准")
 	private BigDecimal assessLeadingCadreSubsidyName;
 	/**
 	 * 领导干部考核补贴工资
@@ -537,34 +525,34 @@ public class SchoolTeacher implements Serializable {
 	@ApiModelProperty(value = "领导干部考核补贴工资")
 	private BigDecimal assessLeadingCadreSubsidy;
 	/**
-	 * 班主任贴标准
+	 * 班主任贴标准
 	 */
-	@ApiModelProperty(value = "班主任贴标准")
+	@ApiModelProperty(value = "班主任贴标准")
 	private BigDecimal teacherSubsidy;
 	/**
-	 * 班主任考核贴标准
+	 * 班主任考核贴标准
 	 */
-	@ApiModelProperty(value = "班主任考核贴标准")
+	@ApiModelProperty(value = "班主任考核贴标准")
 	private BigDecimal teacherAssessSubsidy;
 	/**
 	 * 备课组长考核补贴标准
 	 */
-	@ApiModelProperty(value = "备课组长补贴标准")
+	@ApiModelProperty(value = "备课组长考核补贴标准")
 	private BigDecimal assessPrepareLessonsName;
 	/**
 	 * 备课组长考核补贴
 	 */
-	@ApiModelProperty(value = "备课组长考核补贴标准")
+	@ApiModelProperty(value = "备课组长考核补贴")
 	private BigDecimal assessPrepareLessons;
 	/**
-	 * 教研组长
+	 * 教研组长考核补贴标准
 	 */
 	@ApiModelProperty(value = "教研组长考核补贴标准")
 	private BigDecimal assessTeachingResearchName;
 	/**
-	 * 教研组长
+	 * 教研组长考核补贴
 	 */
-	@ApiModelProperty(value = "教研组长补贴")
+	@ApiModelProperty(value = "教研组长考核补贴")
 	private BigDecimal assessTeachingResearch;
 	/**
 	 * 职称

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

@@ -112,6 +112,11 @@ public class Salary implements Serializable {
 		@ApiModelProperty(value = "人数")
 		private String personNumber;
 	/**
+	 * 人数
+	 */
+		@ApiModelProperty(value = "学生人数")
+		private String studentNumber;
+	/**
 	 * 租户id
 	 */
 		@ApiModelProperty(value = "租户id")

+ 33 - 0
blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryStatistics.java

@@ -0,0 +1,33 @@
+package org.springblade.school.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 通济学校-首页工资统计
+ *
+ * @author BladeX
+ * @since 2022-01-11
+ */
+@Data
+public class SalaryStatistics implements Serializable {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 月
+	 */
+	@ApiModelProperty(value = "月")
+	private String moon;
+	/**
+	 * 人数
+	 */
+	@ApiModelProperty(value = "学生人数")
+	private String studentNumber;
+	/**
+	 * 实发工资
+	 */
+	@ApiModelProperty(value = "实发工资")
+	private BigDecimal fSalary;
+}

+ 1 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/controller/SchoolTeacherController.java

@@ -112,6 +112,7 @@ public class SchoolTeacherController extends BladeController {
 		lambdaQueryWrapper.eq(Func.isNotEmpty(schoolTeacher.getPerformanceGrade()),SchoolTeacher::getPerformanceGrade,schoolTeacher.getPerformanceGrade());//学期绩效等级
 		lambdaQueryWrapper.eq(Func.isNotEmpty(schoolTeacher.getSchoolAge()),SchoolTeacher::getSchoolAge,schoolTeacher.getSchoolAge());//校龄
 		lambdaQueryWrapper.eq(Func.isNotEmpty(schoolTeacher.getDoubleTeachers()),SchoolTeacher::getDoubleTeachers,schoolTeacher.getDoubleTeachers());//是否班主任
+		lambdaQueryWrapper.eq(Func.isNotEmpty(schoolTeacher.getEnjoyOfficeTreatment()),SchoolTeacher::getEnjoyOfficeTreatment,schoolTeacher.getEnjoyOfficeTreatment());//是否享受公办待遇
 		lambdaQueryWrapper.like(Func.isNotEmpty(schoolTeacher.getPhone()),SchoolTeacher::getPhone,schoolTeacher.getPhone());//联系电话
 		lambdaQueryWrapper.like(Func.isNotEmpty(schoolTeacher.getCompileCategory()),SchoolTeacher::getCompileCategory,schoolTeacher.getCompileCategory());//职务
 		lambdaQueryWrapper.like(Func.isNotEmpty(schoolTeacher.getRemarks()),SchoolTeacher::getRemarks,schoolTeacher.getRemarks());//备注

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

@@ -529,7 +529,7 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
 				schoolTeacher.setCapitalIncrease(capitalIncrease.getSalary());
 			} else {
-				schoolTeacher.setCapitalIncreaseName(schoolTeacher.getSchoolAge());
+				schoolTeacher.setCapitalIncreaseName(BigDecimal.ZERO);
 				schoolTeacher.setCapitalIncrease(BigDecimal.ZERO);
 			}
 		} else {

+ 2 - 1
blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/SerialServiceImpl.java

@@ -55,7 +55,7 @@ public class SerialServiceImpl extends ServiceImpl<SerialMapper, Serial> impleme
 		String billNo = null;
 		String yyyyMM = null;
 		if (tradeType.equals("CK")){
-			yyyyMM = DateFormatUtils.format(date, "yyMMdd");
+			yyyyMM = DateFormatUtils.format(date, "yy");
 		}else {
 			yyyyMM = DateFormatUtils.format(date, "yyyyMM");
 		}
@@ -68,6 +68,7 @@ public class SerialServiceImpl extends ServiceImpl<SerialMapper, Serial> impleme
 		billNoSerial.setSerialType(serialType);
 		Serial serial = baseMapper.selectOne(new QueryWrapper<Serial>().setEntity(billNoSerial));
 		if (tradeType.equals("CK")){
+			yyyyMM = DateFormatUtils.format(date, "yyMMdd");
 			if (serial != null) {
 				serial.setSerial(serial.getSerial() + 1);
 				baseMapper.updateById(serial);

+ 12 - 0
blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryController.java

@@ -30,6 +30,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.school.entity.SalaryStatistics;
 import org.springblade.school.service.ISalaryItemService;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
@@ -40,6 +41,8 @@ import org.springblade.school.vo.SalaryVO;
 import org.springblade.school.service.ISalaryService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.List;
+
 /**
  * 通济学校-工资管理主表信息 控制器
  *
@@ -206,5 +209,14 @@ public class SalaryController extends BladeController {
 	public R<Salary> copyMessage(SalaryVO salary) {
 		return R.data(salaryService.copyMessage(salary));
 	}
+	/**
+	 * 分页 通济学校-工资管理主表信息
+	 */
+	@GetMapping("/salaryStatistics")
+	@ApiOperationSupport(order = 11)
+	@ApiOperation(value = "首页统计工资明细", notes = "传入salary")
+	public R<List<SalaryStatistics>> SalaryStatistics(Salary salary) {
+		return R.data(salaryService.SalaryStatistics(salary));
+	}
 
 }

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

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

+ 36 - 0
blade-service/blade-school/src/main/java/org/springblade/school/excel/SalaryMessage.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 SalaryMessage implements Serializable {
+	/**
+	 * 姓名
+	 */
+	@ExcelProperty(value = "姓名(必填)")
+	private String cname;
+	/**
+	 * 身份证号
+	 */
+	@ExcelProperty(value = "身份证号(必填)")
+	@ColumnWidth(35)
+	private String idNumber;
+	/**
+	 * 实发工资
+	 */
+	@ExcelProperty(value = "实发工资")
+	private BigDecimal salaryBase;
+}

+ 9 - 0
blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryMapper.java

@@ -16,7 +16,9 @@
  */
 package org.springblade.school.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.school.entity.Salary;
+import org.springblade.school.entity.SalaryStatistics;
 import org.springblade.school.vo.SalaryVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -39,4 +41,11 @@ public interface SalaryMapper extends BaseMapper<Salary> {
 	 */
 	List<SalaryVO> selectSalaryPage(IPage page, SalaryVO salary);
 
+	/**
+	 * 工资首页统计工资明细
+	 * @param salary
+	 * @return
+	 */
+	List<SalaryStatistics> SalaryStatistics(@Param("salary") Salary salary);
+
 }

+ 64 - 0
blade-service/blade-school/src/main/java/org/springblade/school/mapper/SalaryMapper.xml

@@ -23,5 +23,69 @@
     <select id="selectSalaryPage" resultMap="salaryResultMap">
         select * from school_salary where is_deleted = 0
     </select>
+    <select id="SalaryStatistics" resultType="org.springblade.school.entity.SalaryStatistics">
+        SELECT
+        m.id moon,
+        IFNULL( n.studentNumber, 0 ) studentNumber,
+        IFNULL( n.fSalary, 0 ) fSalary
+        FROM
+        (
+        SELECT
+        1 AS id UNION
+        SELECT
+        2 UNION
+        SELECT
+        3 UNION
+        SELECT
+        4 UNION
+        SELECT
+        5 UNION
+        SELECT
+        6 UNION
+        SELECT
+        7 UNION
+        SELECT
+        8 UNION
+        SELECT
+        9 UNION
+        SELECT
+        10 UNION
+        SELECT
+        11 UNION
+        SELECT
+        12
+        ) m
+        LEFT JOIN (
+        SELECT
+        sa.moon AS moon,
+        IFNULL(sa.student_number,0) AS studentNumber,
+        IFNULL(SUM( st.f_salary ),0) AS fSalary
+        FROM
+        school_salary sa
+        LEFT JOIN school_salary_item st ON sa.id = st.pid
+        WHERE
+        sa.is_deleted = 0
+        AND st.is_deleted = 0
+        <if test="salary.annual!=null and salary.annual != ''">
+            and sa.annual = #{salary.annual}
+        </if>
+        <if test="salary.tenantId!=null and salary.tenantId != ''">
+            and sa.tenant_id = #{salary.tenantId}
+        </if>
+        <if test="salary.salaryType!=null and salary.salaryType != ''">
+            and sa.salary_type = #{salary.salaryType}
+        </if>
+        <if test="salary.annual==null or salary.annual == ''">
+            AND sa.annual=YEAR(NOW())
+        </if>
+        GROUP BY
+        sa.annual,
+        sa.moon
+        ORDER BY
+        sa.annual,
+        sa.moon
+        ) n ON m.id = n.moon
+        ORDER BY m.id
+    </select>
 
 </mapper>

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

@@ -360,4 +360,12 @@ public interface ISalaryItemService extends IService<SalaryItem> {
 	 */
 	R importStaffInformation(List<StaffInformation> data, Boolean isCovered, Long id,MultipartFile file);
 
+	/**
+	 * 导入工资信息
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	R importSalaryMessage(List<SalaryMessage> data, Boolean isCovered, Long id,MultipartFile file);
+
 }

+ 10 - 0
blade-service/blade-school/src/main/java/org/springblade/school/service/ISalaryService.java

@@ -18,10 +18,13 @@ package org.springblade.school.service;
 
 import org.springblade.core.tool.api.R;
 import org.springblade.school.entity.Salary;
+import org.springblade.school.entity.SalaryStatistics;
 import org.springblade.school.vo.SalaryVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 通济学校-工资管理主表信息 服务类
  *
@@ -89,4 +92,11 @@ public interface ISalaryService extends IService<Salary> {
 	 */
 	Salary copyMessage(Salary salary);
 
+	/**
+	 * 首页统计工资明细
+	 * @param salary
+	 * @return
+	 */
+	List<SalaryStatistics> SalaryStatistics(Salary salary);
+
 }

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

@@ -162,13 +162,13 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			salaryItem.setCname(teacherMessage.getCname());//姓名
 			salaryItem.setIdNumber(teacherMessage.getIdNumber());//身份证
 			salaryItem.setSchoolAge(teacherMessage.getSchoolAge());//校龄工资标准
-			salaryItem.setPositiveTime(teacherMessage.getBirthdate());//转正日期
+			salaryItem.setPositiveTime(teacherMessage.getSchoolAgeSalaryDate());//校龄开始时间
 			salaryItem.setPosition(teacherMessage.getCompileCategory());//职务
 			salaryItem.setDiscipline(teacherMessage.getClassType());//学科
 			salaryItem.setItemType(teacherMessage.getSalaryWithdrawalStandardName());//教师类别
+			salaryItem.setRankSalaryName(teacherMessage.getRankSalaryName());//职级等级
 			salaryItem.setSalaryWithdrawalStandard(teacherMessage.getSalaryWithdrawalStandard());//工资拨付标准
 			salaryItem.setRankWithdrawalStandard(teacherMessage.getRankWithdrawalStandardName());//职级拨付标准
-			salaryItem.setRankSalaryName(teacherMessage.getRankSalaryName());//职级等级
 			salaryItem.setRankSalary(teacherMessage.getRankSalary());//职级工资
 			salaryItem.setPerformanceAwardName(teacherMessage.getPerformanceAwardName());//履约奖标准
 			salaryItem.setPerformanceAward(teacherMessage.getPerformanceAward());//履约奖
@@ -177,15 +177,15 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			salaryItem.setCapitalIncrease(teacherMessage.getCapitalIncrease());//增资
 			salaryItem.setCode(teacherMessage.getCode());//学历
 			salaryItem.setEducationSalary(teacherMessage.getEducationSalary());//学历工资
-			salaryItem.setSalaryBaseName(teacherMessage.getSalaryBaseName());//工资基数标准
-			salaryItem.setSalaryBase(teacherMessage.getSalaryBase());//工资基数
+			salaryItem.setSalaryBaseName(teacherMessage.getSalaryBase());//工资基数标准
+			salaryItem.setSalaryBase(teacherMessage.getSalaryBaseName());//工资基数
 			salaryItem.setWorkloadSalaryCritertion(teacherMessage.getWorkloadSalaryName());//工作量工资标准
 			salaryItem.setVirtualWorkloadSalary(teacherMessage.getVirtualWorkloadSalary());//虚拟工作量工资标准
 			salaryItem.setDoubleCease(teacherMessage.getDoubleCease());//双休日工作量工资标准
 			salaryItem.setVirtualDoubleCease(teacherMessage.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 			salaryItem.setVirtualDailyAssessmentCriteria(teacherMessage.getVirtualDailyAssessmentCriteria());//虚拟日常考核标准
 			salaryItem.setDailyAssessmentCriteria(teacherMessage.getDailyAssessmentCriteriaName());//日常考核标准
-			salaryItem.setDailyAssessmentSalary(teacherMessage.getDailyAssessmentSalary());//日常考核工资
+			salaryItem.setDailyAssessmentSalary(teacherMessage.getDailyAssessmentCriteria());//日常考核工资
 			salaryItem.setTermPerformanceSalaryName(teacherMessage.getTermPerformanceSalaryName());//学期绩效标准
 			salaryItem.setTermPerformanceSalary(teacherMessage.getTermPerformanceSalary());//学期绩效工资
 			salaryItem.setTeacherSubsidy(teacherMessage.getTeacherSubsidy());//班主任补贴标准
@@ -195,15 +195,15 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			salaryItem.setLeadingCadreSubsidyName(teacherMessage.getLeadingCadreSubsidyName());//领导干部补贴标准
 			//salaryItem.setLeadingCadreSubsidy(teacherMessage.getLeadingCadreSubsidy());//领导干部补贴
 			salaryItem.setAssessLeadingCadreSubsidyName(teacherMessage.getAssessLeadingCadreSubsidyName());//领导干部考核补贴标准
-			//salaryItem.setCustomizeFive(teacherMessage.getAssessLeadingCadreSubsidyName());//领导干部考核补贴
+			//salaryItem.setCustomizeFive(teacherMessage.getAssessLeadingCadreSubsidy());//领导干部考核补贴
 			salaryItem.setPrepareLessonsName(teacherMessage.getPrepareLessonsName());//备课组长补贴标准
 			//salaryItem.setPrepareLessons(teacherMessage.getPrepareLessons());//备课组长
 			salaryItem.setAssessPrepareLessonsName(teacherMessage.getAssessPrepareLessonsName());//备课组长考核补贴标准
-			//salaryItem.setCustomizeSix(teacherMessage.getAssessPrepareLessonsName());//备课组长考核补贴
+			//salaryItem.setCustomizeSix(teacherMessage.getAssessPrepareLessons());//备课组长考核补贴
 			salaryItem.setTeachingResearchName(teacherMessage.getTeachingResearchName());//教研组长补贴标准
 			//salaryItem.setTeachingResearch(teacherMessage.getTeachingResearch());//教研组长
 			salaryItem.setAssessTeachingResearchName(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴标准
-			//salaryItem.setCustomizeSeven(teacherMessage.getAssessTeachingResearchName());//教研组长考核补贴
+			//salaryItem.setCustomizeSeven(teacherMessage.getAssessTeachingResearch());//教研组长考核补贴
 			salaryItem.setEnjoyOfficeTreatment(teacherMessage.getEnjoyOfficeTreatment());//是否享受办公待遇
 		}else {
 			salaryItem = null;
@@ -1516,7 +1516,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setCname(item.getCname());//姓名
 				salary.setIdNumber(item.getIdNumber());//身份证
 				salary.setSchoolAge(item.getSchoolAge());//校龄工资标准
-				salary.setPositiveTime(item.getBirthdate());//转正日期
+				salary.setPositiveTime(item.getSchoolAgeSalaryDate());//校龄开始时间
 				salary.setPosition(item.getCompileCategory());//职务
 				salary.setDiscipline(item.getClassType());//学科
 				salary.setItemType(item.getSalaryWithdrawalStandardName());//教师类别
@@ -1531,15 +1531,15 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setCapitalIncrease(item.getCapitalIncrease());//增资
 				salary.setCode(item.getCode());//学历
 				salary.setEducationSalary(item.getEducationSalary());//学历工资
-				salary.setSalaryBaseName(item.getSalaryBaseName());//工资基数标准
-				salary.setSalaryBase(item.getSalaryBase());//工资基数
+				salary.setSalaryBaseName(item.getSalaryBase());//工资基数标准
+				salary.setSalaryBase(item.getSalaryBaseName());//工资基数
 				salary.setWorkloadSalaryCritertion(item.getWorkloadSalaryName());//工作量工资标准
 				salary.setVirtualWorkloadSalary(item.getVirtualWorkloadSalary());//虚拟工作量工资标准
 				salary.setDoubleCease(item.getDoubleCease());//双休日工作量工资标准
 				salary.setVirtualDoubleCease(item.getVirtualDoubleCease());//虚拟双休日工作量工资标准
 				salary.setVirtualDailyAssessmentCriteria(item.getVirtualDailyAssessmentCriteria());//虚拟日常考核标准
 				salary.setDailyAssessmentCriteria(item.getDailyAssessmentCriteriaName());//日常考核标准
-				salary.setDailyAssessmentSalary(item.getDailyAssessmentSalary());//日常考核工资
+				salary.setDailyAssessmentSalary(item.getDailyAssessmentCriteria());//日常考核工资
 				salary.setTermPerformanceSalaryName(item.getTermPerformanceSalaryName());//学期绩效标准
 				salary.setTermPerformanceSalary(item.getTermPerformanceSalary());//学期绩效工资
 				salary.setTeacherSubsidy(item.getTeacherSubsidy());//班主任补贴标准
@@ -1549,15 +1549,15 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setLeadingCadreSubsidyName(item.getLeadingCadreSubsidyName());//领导干部补贴标准
 				//salary.setLeadingCadreSubsidy(item.getLeadingCadreSubsidy());//领导干部补贴
 				salary.setAssessLeadingCadreSubsidyName(item.getAssessLeadingCadreSubsidyName());//领导干部考核补贴标准
-				//salary.setCustomizeFive(item.getAssessLeadingCadreSubsidyName());//领导干部考核补贴
+				//salary.setCustomizeFive(item.getAssessLeadingCadreSubsidy());//领导干部考核补贴
 				salary.setPrepareLessonsName(item.getPrepareLessonsName());//备课组长补贴标准
 				//salary.setPrepareLessons(item.getPrepareLessons());//备课组长
 				salary.setAssessPrepareLessonsName(item.getAssessPrepareLessonsName());//备课组长考核补贴标准
-				//salary.setCustomizeSix(item.getAssessPrepareLessonsName());//备课组长考核补贴
+				//salary.setCustomizeSix(item.getAssessPrepareLessons());//备课组长考核补贴
 				salary.setTeachingResearchName(item.getTeachingResearchName());//教研组长补贴标准
 				//salary.setTeachingResearch(item.getTeachingResearch());//教研组长
 				salary.setAssessTeachingResearchName(item.getAssessTeachingResearchName());//教研组长考核补贴标准
-				//salary.setCustomizeSeven(item.getAssessTeachingResearchName());//教研组长考核补贴
+				//salary.setCustomizeSeven(item.getAssessTeachingResearch());//教研组长考核补贴
 				salary.setEnjoyOfficeTreatment(item.getEnjoyOfficeTreatment());//是否享受办公待遇
 				SalaryItem selectOne = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salary.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
 					.eq("is_deleted", 0).eq("pid",salary.getPid()));
@@ -2137,6 +2137,50 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 		}
 	}
 
+	@Override
+	public R importSalaryMessage(List<SalaryMessage> 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++)
+		{
+			SalaryMessage salaryMessage = data.get(i);
+			if (StringUtils.isBlank(salaryMessage.getIdNumber())){
+				errMsg.append("第"+(i+2)+"行,身份证号码为空,");
+				continue;
+			}
+			if (StringUtils.isBlank(salaryMessage.getCname())){
+				errMsg.append("第"+(i+2)+"行,姓名为空,");
+				continue;
+			}
+			SalaryItem salaryItem = new SalaryItem();
+			BeanUtil.copy(salaryMessage,salaryItem);
+			//根据身份证号查询教职工信息是否存在存在更新不存在新增
+			SalaryItem item = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salaryItem.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
+				.eq("is_deleted", 0).eq("pid",id));
+			if (item == null){
+				salaryItem.setPid(id);
+				salaryItem.setId(item.getId());
+				salaryItem.setCreateUser(SecureUtil.getUserId());
+				salaryItem.setCreateTime(new Date());
+				baseMapper.insert(salaryItem);
+				message = ++ message;
+			}
+		}
+		//保存上传记录
+		this.saveAccessory(file,id);
+		if (message >0 && message == data.size()){
+			return R.success("全部导入成功");
+		}else if (message >0 && message != data.size()){
+			return R.success("导入部分成功,成功"+ message +"条,导入失败"+(data.size()-message)+"条");
+		}else {
+			return R.success("导入失败");
+		}
+	}
+
 	/**
 	 *工资计算
 	 *

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

@@ -33,6 +33,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.school.entity.Salary;
 import org.springblade.school.entity.SalaryItem;
+import org.springblade.school.entity.SalaryStatistics;
 import org.springblade.school.mapper.SalaryItemMapper;
 import org.springblade.school.vo.SalaryVO;
 import org.springblade.school.mapper.SalaryMapper;
@@ -308,4 +309,12 @@ public class SalaryServiceImpl extends ServiceImpl<SalaryMapper, Salary> impleme
 		return selectById;
 	}
 
+	@Override
+	public List<SalaryStatistics> SalaryStatistics(Salary salary) {
+		if (StringUtils.isBlank(salary.getTenantId())){
+			salary.setTenantId(SecureUtil.getTenantId());
+		}
+		return baseMapper.SalaryStatistics(salary);
+	}
+
 }