Browse Source

学校修改

lazhaoqian 3 years ago
parent
commit
ad04924d9b

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

@@ -833,5 +833,14 @@ public class SalaryItemController extends BladeController {
 		}
 		return salaryItemService.TeachingExcel(excelList,false,id,file);
 	}
+	/**
+	 * 重新计算工资
+	 */
+	@PostMapping("/calculate")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "重新计算工资", notes = "传入salaryItem pid")
+	public R calculate(@Valid @RequestBody SalaryItem salaryItem) {
+		return R.status(salaryItemService.saveOrUpdate(salaryItem));
+	}
 
 }

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

@@ -233,6 +233,13 @@ public interface ISalaryItemService extends IService<SalaryItem> {
 	 */
 	R TeachingExcel(List<TeachingExcel> data, Boolean isCovered, Long id,MultipartFile file);
 
+	/**
+	 * 重新计算工资
+	 * @param salaryItem
+	 * @return
+	 */
+	R calculate(SalaryItem salaryItem);
+
 
 
 }

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

@@ -16,7 +16,9 @@
  */
 package org.springblade.school.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.SchoolTeacher;
@@ -1381,6 +1383,25 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 		}
 	}
 
+	@Override
+	@Transactional
+	public R calculate(SalaryItem salaryItem) {
+		LambdaQueryWrapper<SalaryItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(SalaryItem::getPid,salaryItem.getPid());
+		lambdaQueryWrapper.eq(SalaryItem::getIsDeleted,0);
+		lambdaQueryWrapper.eq(SalaryItem::getTenantId,SecureUtil.getTenantId());
+		List<SalaryItem> salaryItemList = baseMapper.selectList(lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(salaryItemList)){
+			salaryItemList.stream().forEach(item ->{
+				//获取基础资料的标准
+				SalaryItem clientMessage = this.getClientMessage(item);
+				//重新计算工资
+				this.countSalary(clientMessage);
+			});
+		}
+		return R.success("计算完成");
+	}
+
 	/**
 	 *工资计算
 	 *