Commit 9a8ca5e2 by 彭祥礼

增加生成楼长上月薪酬

parent d849732d
...@@ -235,8 +235,8 @@ public class LzKpiController extends BaseController { ...@@ -235,8 +235,8 @@ public class LzKpiController extends BaseController {
} }
List<Integer> schoolIds = new ArrayList<>(); List<Integer> schoolIds = new ArrayList<>();
Wrapper<School> schoolWrapper = new EntityWrapper<>(); Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName); schoolWrapper.eq(StringUtils.isNotBlank(substName), "sub_name", substName);
schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName); schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "school_name", schoolName);
List<School> schoolList = schoolMapper.selectList(schoolWrapper); List<School> schoolList = schoolMapper.selectList(schoolWrapper);
for (School school : schoolList) { for (School school : schoolList) {
schoolIds.add(school.getId()); schoolIds.add(school.getId());
...@@ -291,7 +291,6 @@ public class LzKpiController extends BaseController { ...@@ -291,7 +291,6 @@ public class LzKpiController extends BaseController {
if(lzKpi.getUserId().equals(sysUser.getId())){ if(lzKpi.getUserId().equals(sysUser.getId())){
map.put("sysuName",sysUser.getName()); map.put("sysuName",sysUser.getName());
map.put("account",sysUser.getAccount()); map.put("account",sysUser.getAccount());
map.put("substName",sysUser.getSubstName());
break; break;
} }
} }
...@@ -301,6 +300,7 @@ public class LzKpiController extends BaseController { ...@@ -301,6 +300,7 @@ public class LzKpiController extends BaseController {
for (School school : schoolList) { for (School school : schoolList) {
if(schoolId.equals(school.getId()+"")){ if(schoolId.equals(school.getId()+"")){
map.put("schoolName",school.getSchoolName()); map.put("schoolName",school.getSchoolName());
map.put("substName",school.getSubName());
break; break;
} }
} }
...@@ -402,7 +402,6 @@ public class LzKpiController extends BaseController { ...@@ -402,7 +402,6 @@ public class LzKpiController extends BaseController {
if(lzKpi.getUserId().equals(sysUser.getId())){ if(lzKpi.getUserId().equals(sysUser.getId())){
map.put("sysuName",sysUser.getName()); map.put("sysuName",sysUser.getName());
map.put("account",sysUser.getAccount()); map.put("account",sysUser.getAccount());
map.put("substName",sysUser.getSubstName());
break; break;
} }
} }
...@@ -412,6 +411,7 @@ public class LzKpiController extends BaseController { ...@@ -412,6 +411,7 @@ public class LzKpiController extends BaseController {
for (School school : schoolList) { for (School school : schoolList) {
if(schoolId.equals(school.getId()+"")){ if(schoolId.equals(school.getId()+"")){
map.put("schoolName",school.getSchoolName()); map.put("schoolName",school.getSchoolName());
map.put("substName",school.getSubName());
break; break;
} }
} }
......
...@@ -64,10 +64,16 @@ public class LzSalaryController extends BaseController { ...@@ -64,10 +64,16 @@ public class LzSalaryController extends BaseController {
@Autowired @Autowired
private LzWageMpapper lzWageMpapper; private LzWageMpapper lzWageMpapper;
@Autowired @Autowired
private LzKpiMapper lzKpiMapper;
@Autowired
private SchoolMapper schoolMapper; private SchoolMapper schoolMapper;
@Autowired @Autowired
private UserSchoolMapper userSchoolMapper; private UserSchoolMapper userSchoolMapper;
@Autowired @Autowired
private HhrUserMapper hhrUserMapper;
@Autowired
private SalesOrderMapper salesOrderMapper;
@Autowired
private SysUserMapper sysUserMapper; private SysUserMapper sysUserMapper;
@Autowired @Autowired
@Qualifier("redisStringTemplate") @Qualifier("redisStringTemplate")
...@@ -130,8 +136,7 @@ public class LzSalaryController extends BaseController { ...@@ -130,8 +136,7 @@ public class LzSalaryController extends BaseController {
} }
/** /**
* 正则信息编辑 * 修改楼长薪水信息
*
* @param lzKpi 编辑对象json字符串 * @param lzKpi 编辑对象json字符串
* @return * @return
*/ */
...@@ -157,6 +162,120 @@ public class LzSalaryController extends BaseController { ...@@ -157,6 +162,120 @@ public class LzSalaryController extends BaseController {
lzWageMpapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper); lzWageMpapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
return ResponseData.success("修改成功!"); return ResponseData.success("修改成功!");
} }
/**
* 生成楼长上月薪酬
* @return
*/
@Permission(menuname = "生成楼长上月薪酬", value = "createSalary", method = RequestMethod.POST)
public ResponseData<String> createSalary() {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
List<LzWage> lzWageList = new LinkedList<>();
List<String> userIds = new LinkedList<>();
Date date = new Date();
// 使用String类format()方法格式化日期
String year = String.format("%tY", date);
Integer m = Integer.valueOf(String.format("%tm", date));
String month = "";
if(m > 10){
month = year+"-"+(m-1);
}else if(m == 0){
month = year+"-12";
}else{
month = year+"-0"+(m-1);
}
Wrapper<HhrUser> hhrUserWrapper = new EntityWrapper<>();
hhrUserWrapper.eq("position","楼长");
List<HhrUser> hhrUserList = hhrUserMapper.selectList(hhrUserWrapper);
for (HhrUser hhrUser : hhrUserList) {
LzWage lzWage = new LzWage();
String userId = hhrUser.getId();
lzWage.setMonth(month);
lzWage.setUserId(Integer.valueOf(userId));
userIds.add(userId);
lzWageList.add(lzWage);
}
Wrapper<SalesOrder> salesOrderWrapper = new EntityWrapper<>();
salesOrderWrapper.in("user_id",userIds);
salesOrderWrapper.like("activate_time",month,SqlLike.RIGHT);
List<SalesOrder> salesOrderList = salesOrderMapper.selectList(salesOrderWrapper);
Wrapper<LzKpi> lzKpiWrapper = new EntityWrapper<>();
salesOrderWrapper.in("user_id",userIds);
salesOrderWrapper.eq("month",month);
List<LzKpi> lzKpiList = lzKpiMapper.selectList(lzKpiWrapper);
Wrapper<LzWage> wrageWrapper = new EntityWrapper<>();
wrageWrapper.in("user_id",userIds);
List<LzWage> wrageList = lzWageMpapper.selectList(wrageWrapper);
List<Integer> wrageIds = new LinkedList<>();
if(wrageList.size()>0){
for (LzWage lzWage : wrageList) {
wrageIds.add(lzWage.getId());
}
}
Integer insertCount = 0;
for (String userId : userIds) {
Integer count = 0; //充值达标数
for (SalesOrder salesOrder : salesOrderList) {
if(userId.equals(salesOrder.getUserId())){
double recentlyAmount = salesOrder.getRecentlyAmount();
//充值金额50以上算充值达标
if(recentlyAmount > 50){
count++;
}
}
}
double kpiTotail = 0;
for (LzKpi lzKpi : lzKpiList) {
if(userId.equals(lzKpi.getUserId())){
kpiTotail += lzKpi.getKpi();
}
}
for (LzWage lzWage : lzWageList) {
if(userId.equals(lzWage.getUserId().toString())){
lzWage.setRechargeNum(count); //充值达标数
double rechargeWage = count * 20;//充值薪酬=充值达标数*20
//充值薪酬和kpi薪酬最高为500
if(rechargeWage > 500){
rechargeWage = 500;
}
lzWage.setRechargeWage(rechargeWage); //充值达标薪酬
lzWage.setKpi(kpiTotail);
double kpiWage = kpiTotail * 5 ; //kpi薪酬=kpi*5
//充值薪酬和kpi薪酬最高为500
if(kpiWage > 500){
kpiWage = 500;
}
lzWage.setKpiWage(kpiWage);
//总薪酬=充值薪酬+kpi薪酬;总薪酬超过800的部分要收20%的税
double wage = kpiWage + rechargeWage;
if(wage > 800){
wage = wage + (wage-800)*20/100;
}
lzWage.setWage(wage);
if(wrageIds.size()>0){
Wrapper<LzWage> delWrapper = new EntityWrapper<>();
delWrapper.in("id",wrageIds);
delWrapper.in("month",month);
lzWageMpapper.delete(delWrapper);
}
Wrapper<LzWage> lzWageWrapper = new EntityWrapper<>();
insertCount += lzWageMpapper.insert(lzWage);
}
}
}
return ResponseData.success(insertCount+"位楼长"+month+"月份薪酬已生成!");
}
/** /**
* *
...@@ -225,8 +344,8 @@ public class LzSalaryController extends BaseController { ...@@ -225,8 +344,8 @@ public class LzSalaryController extends BaseController {
} }
List<Integer> schoolIds = new ArrayList<>(); List<Integer> schoolIds = new ArrayList<>();
Wrapper<School> schoolWrapper = new EntityWrapper<>(); Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName); schoolWrapper.eq(StringUtils.isNotBlank(substName), "sub_name", substName);
schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName); schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "school_name", schoolName);
List<School> schoolList = schoolMapper.selectList(schoolWrapper); List<School> schoolList = schoolMapper.selectList(schoolWrapper);
for (School school : schoolList) { for (School school : schoolList) {
schoolIds.add(school.getId()); schoolIds.add(school.getId());
...@@ -279,7 +398,6 @@ public class LzSalaryController extends BaseController { ...@@ -279,7 +398,6 @@ public class LzSalaryController extends BaseController {
if((lzWage.getUserId().toString()).equals(sysUser.getId())){ if((lzWage.getUserId().toString()).equals(sysUser.getId())){
map.put("sysuName",sysUser.getName()); map.put("sysuName",sysUser.getName());
map.put("account",sysUser.getAccount()); map.put("account",sysUser.getAccount());
map.put("substName",sysUser.getSubstName());
break; break;
} }
} }
...@@ -289,6 +407,7 @@ public class LzSalaryController extends BaseController { ...@@ -289,6 +407,7 @@ public class LzSalaryController extends BaseController {
for (School school : schoolList) { for (School school : schoolList) {
if(schoolId.equals(school.getId()+"")){ if(schoolId.equals(school.getId()+"")){
map.put("schoolName",school.getSchoolName()); map.put("schoolName",school.getSchoolName());
map.put("substName",school.getSubName());
break; break;
} }
} }
...@@ -389,7 +508,6 @@ public class LzSalaryController extends BaseController { ...@@ -389,7 +508,6 @@ public class LzSalaryController extends BaseController {
if((lzWage.getUserId().toString()).equals(sysUser.getId())){ if((lzWage.getUserId().toString()).equals(sysUser.getId())){
map.put("sysuName",sysUser.getName()); map.put("sysuName",sysUser.getName());
map.put("account",sysUser.getAccount()); map.put("account",sysUser.getAccount());
map.put("substName",sysUser.getSubstName());
break; break;
} }
} }
...@@ -399,6 +517,7 @@ public class LzSalaryController extends BaseController { ...@@ -399,6 +517,7 @@ public class LzSalaryController extends BaseController {
for (School school : schoolList) { for (School school : schoolList) {
if(schoolId.equals(school.getId()+"")){ if(schoolId.equals(school.getId()+"")){
map.put("schoolName",school.getSchoolName()); map.put("schoolName",school.getSchoolName());
map.put("substName",school.getSubName());
break; break;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment