Commit f5cdad74 by 彭祥礼

楼长总经理KPI修改

parent 8b85acfc
...@@ -32,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -32,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.text.DecimalFormat;
import java.util.*; import java.util.*;
/** /**
...@@ -53,19 +54,15 @@ public class ManagerKpiController extends BaseController { ...@@ -53,19 +54,15 @@ public class ManagerKpiController extends BaseController {
*/ */
private static String SL_month = "月份"; private static String SL_month = "月份";
private static String SL_county = "县分"; private static String SL_county = "县分";
private static String SL_name = "督导"; private static String SL_name = "校园督导";
private static String SL_totalPerformance = "绩效奖金合计";
private static String SL_performanceBase = "绩效基数"; private static String SL_performanceBase = "绩效基数";
private static String SL_yfPerformance = "应发绩效(可为空)"; private static String SL_rwKpi = "移动入网\n(30%)";
private static String SL_kpi = "kpi总分(可为空)"; private static String SL_wxKpi = "存量维系\n(30%)";
private static String SL_rwKpi = "入网kpi"; private static String SL_yyKpi = "团队运营\n(25%)";
private static String SL_wxKpi = "存量维系kpi"; private static String SL_workKpi = "每月工作\n(15%)";
private static String SL_yyKpi = "团队运营kpi"; private static String SL_totalBonus = "18年5月至今累计佣金";
private static String SL_workKpi = "每月工作kpi"; private static String SL_totalFund = "18年5月至今月累计分成";
private static String SL_totalBonus = "累计佣金"; private static String SL_autumnBonus = "秋营达量奖";
private static String SL_totalFund = "累计分成";
private static String SL_autumnBonus = "秋营达标奖";
private static String SL_yfBonus = "应发提成(可为空)";
@Autowired @Autowired
private ManagerKpiMapper managerKpiMapper; private ManagerKpiMapper managerKpiMapper;
...@@ -191,9 +188,10 @@ public class ManagerKpiController extends BaseController { ...@@ -191,9 +188,10 @@ public class ManagerKpiController extends BaseController {
if(!month.equals(",") && StringUtils.isNotEmpty(month)){ if(!month.equals(",") && StringUtils.isNotEmpty(month)){
String m1 = months[0].substring(0,7); String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5); String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[0].substring(0,7); String m2 = months[1].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5); String month2 = m2.substring(0,4) + m2.substring(5);
managerKpiWrapper.between("month",month1,month2); managerKpiWrapper.ge(StringUtils.isNotBlank(month1),"month",month1);
managerKpiWrapper.le(StringUtils.isNotBlank(month2),"month",month2);
} }
List<ManagerKpi> managerKpiList = managerKpiMapper.selectList(managerKpiWrapper); List<ManagerKpi> managerKpiList = managerKpiMapper.selectList(managerKpiWrapper);
...@@ -274,10 +272,7 @@ public class ManagerKpiController extends BaseController { ...@@ -274,10 +272,7 @@ public class ManagerKpiController extends BaseController {
columns.add(SL_month); columns.add(SL_month);
columns.add(SL_county); columns.add(SL_county);
columns.add(SL_name); columns.add(SL_name);
columns.add(SL_totalPerformance);
columns.add(SL_performanceBase); columns.add(SL_performanceBase);
columns.add(SL_yfPerformance);
columns.add(SL_kpi);
columns.add(SL_rwKpi); columns.add(SL_rwKpi);
columns.add(SL_wxKpi); columns.add(SL_wxKpi);
columns.add(SL_yyKpi); columns.add(SL_yyKpi);
...@@ -285,7 +280,6 @@ public class ManagerKpiController extends BaseController { ...@@ -285,7 +280,6 @@ public class ManagerKpiController extends BaseController {
columns.add(SL_totalBonus); columns.add(SL_totalBonus);
columns.add(SL_totalFund); columns.add(SL_totalFund);
columns.add(SL_autumnBonus); columns.add(SL_autumnBonus);
columns.add(SL_yfBonus);
ServletOutputStream os = null; ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFWorkbook workbook = new XSSFWorkbook();
try { try {
...@@ -302,10 +296,6 @@ public class ManagerKpiController extends BaseController { ...@@ -302,10 +296,6 @@ public class ManagerKpiController extends BaseController {
sheet.setColumnWidth(8, 2500); sheet.setColumnWidth(8, 2500);
sheet.setColumnWidth(9, 2500); sheet.setColumnWidth(9, 2500);
sheet.setColumnWidth(10, 2500); sheet.setColumnWidth(10, 2500);
sheet.setColumnWidth(11, 2500);
sheet.setColumnWidth(12, 2500);
sheet.setColumnWidth(13, 2500);
sheet.setColumnWidth(14, 2500);
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
...@@ -385,43 +375,31 @@ public class ManagerKpiController extends BaseController { ...@@ -385,43 +375,31 @@ public class ManagerKpiController extends BaseController {
if (!listMap.get(0).get("c").toString().equals(SL_name)) { if (!listMap.get(0).get("c").toString().equals(SL_name)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("d").toString().equals(SL_totalPerformance)) { if (!listMap.get(0).get("d").toString().equals(SL_performanceBase)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("e").toString().equals(SL_performanceBase)) { if (!listMap.get(0).get("e").toString().equals(SL_rwKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("f").toString().equals(SL_yfPerformance)) { if (!listMap.get(0).get("f").toString().equals(SL_wxKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("g").toString().equals(SL_kpi)) { if (!listMap.get(0).get("g").toString().equals(SL_yyKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("h").toString().equals(SL_rwKpi)) { if (!listMap.get(0).get("h").toString().equals(SL_workKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("i").toString().equals(SL_wxKpi)) { if (!listMap.get(0).get("i").toString().equals(SL_totalBonus)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("j").toString().equals(SL_yyKpi)) { if (!listMap.get(0).get("j").toString().equals(SL_totalFund)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("k").toString().equals(SL_workKpi)) { if (!listMap.get(0).get("k").toString().equals(SL_autumnBonus)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("l").toString().equals(SL_totalBonus)) { if (listMap.get(0).size() != 11) {
return ResponseData.error("模板不对,请选择正确的模板!");
}
if (!listMap.get(0).get("m").toString().equals(SL_totalFund)) {
return ResponseData.error("模板不对,请选择正确的模板!");
}
if (!listMap.get(0).get("n").toString().equals(SL_autumnBonus)) {
return ResponseData.error("模板不对,请选择正确的模板!");
}
if (!listMap.get(0).get("o").toString().equals(SL_yfBonus)) {
return ResponseData.error("模板不对,请选择正确的模板!");
}
if (listMap.get(0).size() != 15) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
...@@ -444,82 +422,58 @@ public class ManagerKpiController extends BaseController { ...@@ -444,82 +422,58 @@ public class ManagerKpiController extends BaseController {
return ResponseData.error("第" + (i + 1) + "行的县分不能为空"); return ResponseData.error("第" + (i + 1) + "行的县分不能为空");
} }
if (!temp.containsKey("c")) { if (!temp.containsKey("c")) {
return ResponseData.error("第" + (i + 1) + "行的督导不能为空"); return ResponseData.error("第" + (i + 1) + "行的校园督导不能为空");
} }
if (StringUtils.isBlank(temp.get("c").toString())) { if (StringUtils.isBlank(temp.get("c").toString())) {
return ResponseData.error("第" + (i + 1) + "行的督导不能为空"); return ResponseData.error("第" + (i + 1) + "行的校园督导不能为空");
} }
if (!temp.containsKey("d")) { if (!temp.containsKey("d")) {
return ResponseData.error("第" + (i + 1) + "行的绩效奖金合计不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空");
} }
if (StringUtils.isBlank(temp.get("d").toString())) { if (StringUtils.isBlank(temp.get("d").toString())) {
return ResponseData.error("第" + (i + 1) + "行的绩效奖金合计不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空");
} }
if (!temp.containsKey("e")) { if (!temp.containsKey("e")) {
return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空"); return ResponseData.error("第" + (i + 1) + "行的移动入网不能为空");
} }
if (StringUtils.isBlank(temp.get("e").toString())) { if (StringUtils.isBlank(temp.get("e").toString())) {
return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空"); return ResponseData.error("第" + (i + 1) + "行的移动入网不能为空");
}
/*if (!temp.containsKey("f")) {
return ResponseData.error("第" + (i + 1) + "行的应发绩效不能为空");
}
if (StringUtils.isBlank(temp.get("f").toString())) {
return ResponseData.error("第" + (i + 1) + "行的应发绩效不能为空");
}
if (!temp.containsKey("g")) {
return ResponseData.error("第" + (i + 1) + "行的kpi总分不能为空");
}
if (StringUtils.isBlank(temp.get("g").toString())) {
return ResponseData.error("第" + (i + 1) + "行的kpi总分不能为空");
}*/
if (!temp.containsKey("h")) {
return ResponseData.error("第" + (i + 1) + "行的入网kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("h").toString())) { if (!temp.containsKey("f")) {
return ResponseData.error("第" + (i + 1) + "行的入网kpi不能为空");
}
if (!temp.containsKey("i")) {
return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("i").toString())) { if (StringUtils.isBlank(temp.get("f").toString())) {
return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空");
} }
if (!temp.containsKey("j")) { if (!temp.containsKey("g")) {
return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("j").toString())) { if (StringUtils.isBlank(temp.get("g").toString())) {
return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空");
} }
if (!temp.containsKey("k")) { if (!temp.containsKey("h")) {
return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("k").toString())) { if (StringUtils.isBlank(temp.get("h").toString())) {
return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空"); return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空");
} }
if (!temp.containsKey("l")) { if (!temp.containsKey("i")) {
return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空"); return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空");
} }
if (StringUtils.isBlank(temp.get("l").toString())) { if (StringUtils.isBlank(temp.get("i").toString())) {
return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空"); return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空");
} }
if (!temp.containsKey("m")) { if (!temp.containsKey("j")) {
return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空"); return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空");
} }
if (StringUtils.isBlank(temp.get("m").toString())) { if (StringUtils.isBlank(temp.get("j").toString())) {
return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空"); return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空");
} }
if (!temp.containsKey("n")) { /*if (!temp.containsKey("k")) {
return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空"); return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空");
} }*/
if (StringUtils.isBlank(temp.get("n").toString())) { /*if (StringUtils.isBlank(temp.get("k").toString())) {
return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空"); return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空");
}
/*if (!temp.containsKey("o")) {
return ResponseData.error("第" + (i + 1) + "行的应发提成不能为空");
}
if (StringUtils.isBlank(temp.get("o").toString())) {
return ResponseData.error("第" + (i + 1) + "行的应发提成不能为空");
}*/ }*/
} }
...@@ -534,36 +488,55 @@ public class ManagerKpiController extends BaseController { ...@@ -534,36 +488,55 @@ public class ManagerKpiController extends BaseController {
for (int i = 1; i < listMap.size(); i++) { for (int i = 1; i < listMap.size(); i++) {
Map<String, Object> map = listMap.get(i); Map<String, Object> map = listMap.get(i);
ManagerKpi managerKpi = new ManagerKpi(); ManagerKpi managerKpi = new ManagerKpi();
DecimalFormat df = new DecimalFormat("#.0");
String month = map.get("a").toString(); String month = map.get("a").toString();
managerKpi.setMonth(month); managerKpi.setMonth(month);
managerKpi.setCounty(map.get("b").toString()); managerKpi.setCounty(map.get("b").toString());
managerKpi.setName(map.get("c").toString()); managerKpi.setName(map.get("c").toString());
managerKpi.setTotalPerformance(map.get("d").toString()); //绩效基数
Integer performanceBase = Integer.valueOf(map.get("e").toString()); Integer performanceBase = Integer.valueOf(map.get("d").toString());
managerKpi.setPerformanceBase(performanceBase); managerKpi.setPerformanceBase(performanceBase);
Integer rwKpi = Integer.valueOf(map.get("h").toString()); Integer rwKpi = Integer.valueOf(map.get("e").toString());
managerKpi.setRwKpi(rwKpi); managerKpi.setRwKpi(rwKpi);
Integer wxKpi = Integer.valueOf(map.get("i").toString()); Integer wxKpi = Integer.valueOf(map.get("f").toString());
managerKpi.setWxKpi(wxKpi); managerKpi.setWxKpi(wxKpi);
Integer yyKpi = Integer.valueOf(map.get("j").toString()); Integer yyKpi = Integer.valueOf(map.get("g").toString());
managerKpi.setYyKpi(yyKpi); managerKpi.setYyKpi(yyKpi);
Integer workKpi = Integer.valueOf(map.get("k").toString()); Integer workKpi = Integer.valueOf(map.get("h").toString());
managerKpi.setWorkKpi(workKpi); managerKpi.setWorkKpi(workKpi);
//kpi=移动入网kpi+存量维系kpi+团队运营kpi+每月工作kpi //kpi=移动入网kpi+存量维系kpi+团队运营kpi+每月工作kpi
managerKpi.setKpi(rwKpi+wxKpi+yyKpi+workKpi); Integer kpi = rwKpi+wxKpi+yyKpi+workKpi;
managerKpi.setKpi(kpi);
//应发绩效=绩效基数*(kpi/100) //应发绩效=绩效基数*(kpi/100)
double yfPerformance = performanceBase*(managerKpi.getKpi()/100); double formance = performanceBase * kpi / 100;
String tt0 = df.format(formance);
double yfPerformance = Double.valueOf(tt0);
managerKpi.setYfPerformance(yfPerformance); managerKpi.setYfPerformance(yfPerformance);
double totalBonus = Double.valueOf(map.get("l").toString()); //累计佣金
managerKpi.setTotalBonus(totalBonus);//累计佣金 double bonus = Double.valueOf(map.get("i").toString());
double totalFund = Double.valueOf(map.get("m").toString()); String tt1 = df.format(bonus);
managerKpi.setTotalBonus(totalFund);//累计分成 double totalBonus = Double.valueOf(tt1);
double autumnBonus = Double.valueOf(map.get("n").toString()); managerKpi.setTotalBonus(totalBonus);
managerKpi.setAutumnBonus(autumnBonus);//秋营达标奖 //累计分成
double fund = Double.valueOf(map.get("j").toString());
String tt2 = df.format(fund);
double totalFund = Double.valueOf(tt2);
managerKpi.setTotalFund(totalFund);
//秋营达标奖
double autumnBonus = 0;
if (!StringUtils.isBlank(map.get("k").toString())) {
autumnBonus = Double.valueOf(map.get("k").toString());
String tt = df.format(autumnBonus);
autumnBonus = Double.valueOf(tt);
}
managerKpi.setAutumnBonus(autumnBonus);
//应发提成=累计分成+秋营达量奖 //应发提成=累计分成+秋营达量奖
managerKpi.setYfBonus(autumnBonus+totalFund); double yfBonus = autumnBonus + totalFund;
managerKpi.setYfBonus(yfBonus);
//绩效佣金= 应发绩效+累计分成 //绩效佣金= 应发绩效+累计分成
managerKpi.setTotalPerformance((yfPerformance+totalFund)+"");
number += managerKpiMapper.insert(managerKpi); number += managerKpiMapper.insert(managerKpi);
} }
......
...@@ -126,19 +126,15 @@ public class ExcelDealUtils { ...@@ -126,19 +126,15 @@ public class ExcelDealUtils {
Map<String, Object> headMap = new LinkedHashMap<String, Object>(); Map<String, Object> headMap = new LinkedHashMap<String, Object>();
headMap.put("月份", "month"); headMap.put("月份", "month");
headMap.put("县分", "county"); headMap.put("县分", "county");
headMap.put("督导", "name"); headMap.put("校园督导", "name");
headMap.put("绩效奖金合计", "totalPerformance");
headMap.put("绩效基数", "performanceBase"); headMap.put("绩效基数", "performanceBase");
headMap.put("应发绩效(可为空)", "yfPerformance"); headMap.put("移动入网\n(30%)", "rwKpi");
headMap.put("kpi总分(可为空)", "kpi"); headMap.put("存量维系\n(30%)", "wxKpi");
headMap.put("入网kpi", "rwKpi"); headMap.put("团队运营\n(25%)", "yyKpi");
headMap.put("存量维系kpi", "wxKpi"); headMap.put("每月工作\n(15%)", "workKpi");
headMap.put("团队运营kpi", "yyKpi"); headMap.put("18年5月至今累计佣金", "totalBonus");
headMap.put("每月工作kpi", "workKpi"); headMap.put("18年5月至今月累计分成", "totalFund");
headMap.put("累计佣金", "totalBonus"); headMap.put("秋营达量奖", "autumnBonus");
headMap.put("累计分成", "totalFund");
headMap.put("秋营达标奖", "autumnBonus");
headMap.put("应发提成(可为空)", "yfBonus");
Map<String, Object> resultMap = dealHeadMap(headMap); Map<String, Object> resultMap = dealHeadMap(headMap);
resultMap.put("sheetName", sheetName); resultMap.put("sheetName", sheetName);
......
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