Commit 8b85acfc by 彭祥礼

楼长总经理KPI信息导入

parent 919260bb
...@@ -16,7 +16,7 @@ import java.io.Serializable; ...@@ -16,7 +16,7 @@ import java.io.Serializable;
@TableName("hhr_manager_kpi") @TableName("hhr_manager_kpi")
public class ManagerKpi implements Serializable { public class ManagerKpi implements Serializable {
/** /**
*日期月份 *月份
*/ */
@TableField("month") @TableField("month")
private String month; private String month;
...@@ -51,7 +51,7 @@ public class ManagerKpi implements Serializable { ...@@ -51,7 +51,7 @@ public class ManagerKpi implements Serializable {
@TableField("kpi") @TableField("kpi")
private Integer kpi; private Integer kpi;
/** /**
*移动入网kpi *入网kpi
*/ */
@TableField("rw_kpi") @TableField("rw_kpi")
private Integer rwKpi; private Integer rwKpi;
......
...@@ -10,7 +10,8 @@ import com.winsun.auth.core.base.controller.BaseController; ...@@ -10,7 +10,8 @@ import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData; import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser; import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.auth.core.util.IOUtils; import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.*; import com.winsun.bean.ManagerKpi;
import com.winsun.bean.SysUser;
import com.winsun.mapper.*; import com.winsun.mapper.*;
import com.winsun.utils.ExcelDealUtils; import com.winsun.utils.ExcelDealUtils;
import com.winsun.utils.ImportExcel; import com.winsun.utils.ImportExcel;
...@@ -50,15 +51,21 @@ public class ManagerKpiController extends BaseController { ...@@ -50,15 +51,21 @@ public class ManagerKpiController extends BaseController {
/** /**
* 总经理KPI信息模板列名 * 总经理KPI信息模板列名
*/ */
private static String SL_month = "KPI月份"; private static String SL_month = "月份";
private static String SL_substName = "县分"; private static String SL_county = "县分";
private static String SL_schoolName = "学校"; private static String SL_name = "督导";
private static String SL_sysuName = "姓名(必填)"; private static String SL_totalPerformance = "绩效奖金合计";
private static String SL_rechargeNum = "放号充值数"; private static String SL_performanceBase = "绩效基数";
private static String SL_rechargeWage = "放号薪酬"; private static String SL_yfPerformance = "应发绩效(可为空)";
private static String SL_kpi = "kpi总值"; private static String SL_kpi = "kpi总分(可为空)";
private static String SL_kpiWage = "kpi薪酬"; private static String SL_rwKpi = "入网kpi";
private static String SL_wage = "总薪酬"; private static String SL_wxKpi = "存量维系kpi";
private static String SL_yyKpi = "团队运营kpi";
private static String SL_workKpi = "每月工作kpi";
private static String SL_totalBonus = "累计佣金";
private static String SL_totalFund = "累计分成";
private static String SL_autumnBonus = "秋营达标奖";
private static String SL_yfBonus = "应发提成(可为空)";
@Autowired @Autowired
private ManagerKpiMapper managerKpiMapper; private ManagerKpiMapper managerKpiMapper;
...@@ -177,12 +184,17 @@ public class ManagerKpiController extends BaseController { ...@@ -177,12 +184,17 @@ public class ManagerKpiController extends BaseController {
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) { if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限"); return ResponseData.error("无数据权限");
} }
Page<ManagerKpi> page = new Page<>(pageNo, pageSize); Page<ManagerKpi> page = new Page<>(pageNo, pageSize);
Wrapper<ManagerKpi> managerKpiWrapper = new EntityWrapper<>(); Wrapper<ManagerKpi> managerKpiWrapper = new EntityWrapper<>();
managerKpiWrapper.like(StringUtils.isNotBlank(name),"name",name, SqlLike.DEFAULT); managerKpiWrapper.like(StringUtils.isNotBlank(name),"name",name, SqlLike.DEFAULT);
String[] months = month.split("\\,");
if(!month.equals(",") && StringUtils.isNotEmpty(month)){
String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[0].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5);
managerKpiWrapper.between("month",month1,month2);
}
List<ManagerKpi> managerKpiList = managerKpiMapper.selectList(managerKpiWrapper); List<ManagerKpi> managerKpiList = managerKpiMapper.selectList(managerKpiWrapper);
List<ManagerKpi> dataList = new ArrayList<>(); List<ManagerKpi> dataList = new ArrayList<>();
...@@ -212,88 +224,30 @@ public class ManagerKpiController extends BaseController { ...@@ -212,88 +224,30 @@ public class ManagerKpiController extends BaseController {
) throws IOException { ) throws IOException {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
List<String> userIds1 = new ArrayList<>(); Wrapper<ManagerKpi> managerKpiWrapper = new EntityWrapper<>();
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); List<ManagerKpi> managerKpiList = managerKpiMapper.selectList(managerKpiWrapper);
//sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT); List<Map<String, Object>> list = new LinkedList<>();
List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper); for (ManagerKpi managerKpi : managerKpiList) {
for (SysUser sysUser : sysUserList) { Map<String, Object> map = new HashMap<>();
userIds1.add(sysUser.getId()); map.put("month", managerKpi.getMonth());
} map.put("county", managerKpi.getCounty());
if(sysUserList.size()==0){ map.put("name", managerKpi.getName());
log.error("查询数据为空!"); map.put("totalPerformance", managerKpi.getTotalPerformance());
} map.put("performanceBase", managerKpi.getPerformanceBase());
List<Integer> schoolIds = new ArrayList<>(); map.put("yfPerformance", managerKpi.getYfPerformance());
Wrapper<School> schoolWrapper = new EntityWrapper<>(); map.put("kpi", managerKpi.getKpi());
//schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName); map.put("rwKpi", managerKpi.getRwKpi());
//schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName); map.put("wxKpi", managerKpi.getWxKpi());
List<School> schoolList = schoolMapper.selectList(schoolWrapper); map.put("yyKpi", managerKpi.getYyKpi());
for (School school : schoolList) { map.put("workKpi", managerKpi.getWorkKpi());
schoolIds.add(school.getId()); map.put("totalBonus", managerKpi.getTotalBonus());
} map.put("totalFund", managerKpi.getTotalFund());
if(schoolList.size()==0){ map.put("autumnBonus", managerKpi.getAutumnBonus());
log.error("查询数据为空!"); map.put("yfBonus", managerKpi.getYfBonus());
}
List<String> userIds2 = new ArrayList<>();
Wrapper<UserSchool> usWrapper = new EntityWrapper<>();
usWrapper.in("school_id",schoolIds);
List<UserSchool> userSchoolList = userSchoolMapper.selectList(usWrapper);
List<UserSchool> userSchoolsTemp = new ArrayList<>();
for (UserSchool userSchool : userSchoolList) {
userIds2.add(userSchool.getUserId());
}
List<String> userIds = new ArrayList<>();
for (String s : userIds1) {
for (String s1 : userIds2) {
if(s.equals(s1)){
userIds.add(s1);
break;
}
}
}
List<Map<String,Object>> list = new ArrayList<>();
Wrapper<LzWage> wrapper = new EntityWrapper();
if(month.length()>7){
month = month.substring(0,7);
}
wrapper.eq(StringUtils.isNotBlank(month),"month",month);
wrapper.in("user_id",userIds);
List<LzWage> lzWages = null;//lzWageMpapper.selectList(wrapper);
if(lzWages.size()==0){
log.error("查询数据为空!");
}
for (LzWage lzWage : lzWages) {
Map<String,Object> map = new HashMap<>();
map.put("id",lzWage.getId());
map.put("month",lzWage.getMonth());
map.put("rechargeNum",lzWage.getRechargeNum());
map.put("rechargeWage",lzWage.getRechargeWage());
map.put("kpi",lzWage.getKpi());
map.put("kpiWage",lzWage.getKpiWage());
map.put("wage",lzWage.getWage());
map.put("userId",lzWage.getUserId());
for (SysUser sysUser : sysUserList) {
if((lzWage.getUserId().toString()).equals(sysUser.getId())){
map.put("sysuName",sysUser.getName());
map.put("account",sysUser.getAccount());
break;
}
}
for (UserSchool userSchool : userSchoolList) {
if((lzWage.getUserId().toString()).equals(userSchool.getUserId())){
String schoolId = userSchool.getSchoolId();
for (School school : schoolList) {
if(schoolId.equals(school.getId()+"")){
map.put("schoolName",school.getSchoolName());
map.put("substName",school.getSubName());
break;
}
}
}
}
list.add(map); list.add(map);
} }
ServletOutputStream os = null; ServletOutputStream os = null;
XSSFWorkbook workbook = ExcelDealUtils.getWorkBook(ExcelDealUtils.wageExcel("楼长总经理KPI清单"), list); XSSFWorkbook workbook = ExcelDealUtils.getWorkBook(ExcelDealUtils.managerKpiExcel("楼长总经理KPI清单"), list);
try { try {
HttpServletResponse response = getHttpServletResponse(); HttpServletResponse response = getHttpServletResponse();
response.reset(); response.reset();
...@@ -318,33 +272,41 @@ public class ManagerKpiController extends BaseController { ...@@ -318,33 +272,41 @@ public class ManagerKpiController extends BaseController {
public ResponseData downloadMoBan() { public ResponseData downloadMoBan() {
ArrayList<String> columns = new ArrayList<>(); ArrayList<String> columns = new ArrayList<>();
columns.add(SL_month); columns.add(SL_month);
columns.add(SL_substName); columns.add(SL_county);
columns.add(SL_schoolName); columns.add(SL_name);
columns.add(SL_sysuName); columns.add(SL_totalPerformance);
columns.add(SL_rechargeNum); columns.add(SL_performanceBase);
columns.add(SL_rechargeWage); columns.add(SL_yfPerformance);
columns.add(SL_kpi); columns.add(SL_kpi);
columns.add(SL_kpiWage); columns.add(SL_rwKpi);
columns.add(SL_wage); columns.add(SL_wxKpi);
columns.add(SL_yyKpi);
columns.add(SL_workKpi);
columns.add(SL_totalBonus);
columns.add(SL_totalFund);
columns.add(SL_autumnBonus);
columns.add(SL_yfBonus);
ServletOutputStream os = null; ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFWorkbook workbook = new XSSFWorkbook();
try { try {
//创建工作表 //创建工作表
XSSFSheet sheet = workbook.createSheet("楼长总经理KPI信息"); XSSFSheet sheet = workbook.createSheet("楼长总经理KPI信息");
sheet.setColumnWidth(0, 3000); sheet.setColumnWidth(0, 2500);
sheet.setColumnWidth(1, 3000); sheet.setColumnWidth(1, 2500);
sheet.setColumnWidth(2, 5000); sheet.setColumnWidth(2, 2500);
sheet.setColumnWidth(3, 3000); sheet.setColumnWidth(3, 2500);
sheet.setColumnWidth(4, 3000); sheet.setColumnWidth(4, 2500);
sheet.setColumnWidth(5, 3000); sheet.setColumnWidth(5, 2500);
sheet.setColumnWidth(6, 3000); sheet.setColumnWidth(6, 2500);
sheet.setColumnWidth(7, 3000); sheet.setColumnWidth(7, 2500);
sheet.setColumnWidth(8, 3000); sheet.setColumnWidth(8, 2500);
//下拉选项 sheet.setColumnWidth(9, 2500);
/*List<String> fengju = new ArrayList<>(); sheet.setColumnWidth(10, 2500);
fengju.add("受理不成功"); sheet.setColumnWidth(11, 2500);
fengju.add("受理成功"); sheet.setColumnWidth(12, 2500);
sheet = this.getXSSFSheet(sheet, fengju, 1, 1);*/ sheet.setColumnWidth(13, 2500);
sheet.setColumnWidth(14, 2500);
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
XSSFCellStyle cellStyle = workbook.createCellStyle(); XSSFCellStyle cellStyle = workbook.createCellStyle();
...@@ -417,166 +379,194 @@ public class ManagerKpiController extends BaseController { ...@@ -417,166 +379,194 @@ public class ManagerKpiController extends BaseController {
if (!listMap.get(0).get("a").toString().equals(SL_month)) { if (!listMap.get(0).get("a").toString().equals(SL_month)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("b").toString().equals(SL_substName)) { if (!listMap.get(0).get("b").toString().equals(SL_county)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("c").toString().equals(SL_schoolName)) { 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_sysuName)) { if (!listMap.get(0).get("d").toString().equals(SL_totalPerformance)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("f").toString().equals(SL_rechargeNum)) { if (!listMap.get(0).get("e").toString().equals(SL_performanceBase)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("g").toString().equals(SL_rechargeWage)) { if (!listMap.get(0).get("f").toString().equals(SL_yfPerformance)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("h").toString().equals(SL_kpi)) { if (!listMap.get(0).get("g").toString().equals(SL_kpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("i").toString().equals(SL_kpiWage)) { if (!listMap.get(0).get("h").toString().equals(SL_rwKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("j").toString().equals(SL_wage)) { if (!listMap.get(0).get("i").toString().equals(SL_wxKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
/*if (listMap.get(0).size() != 11) { if (!listMap.get(0).get("j").toString().equals(SL_yyKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
}*/ }
if (!listMap.get(0).get("k").toString().equals(SL_workKpi)) {
return ResponseData.error("模板不对,请选择正确的模板!");
}
if (!listMap.get(0).get("l").toString().equals(SL_totalBonus)) {
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("模板不对,请选择正确的模板!");
}
List<String> accountList = new LinkedList<>();
List<String> userNameList = new LinkedList<>(); List<String> userNameList = new LinkedList<>();
List<Map<String,Object>> sysUserList = new LinkedList<>();
//校验数据 //校验数据
try { try {
//校验数据 //校验数据
for (int i = 1; i < listMap.size(); i++) { for (int i = 1; i < listMap.size(); i++) {
Map<String, Object> temp = listMap.get(i); Map<String, Object> temp = listMap.get(i);
if (!temp.containsKey("a")) { if (!temp.containsKey("a")) {
return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空"); return ResponseData.error("第" + (i + 1) + "行的月份不能为空");
} }
if (StringUtils.isBlank(temp.get("a").toString())) { if (StringUtils.isBlank(temp.get("a").toString())) {
return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空"); return ResponseData.error("第" + (i + 1) + "行的月份不能为空");
} }
if (!temp.containsKey("b")) { if (!temp.containsKey("b")) {
return ResponseData.error("第" + (i + 1) + "行的放号充值数不能为空"); return ResponseData.error("第" + (i + 1) + "行的县分不能为空");
} }
if (StringUtils.isBlank(temp.get("b").toString())) { if (StringUtils.isBlank(temp.get("b").toString())) {
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) + "行的kpi总值不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效奖金合计不能为空");
} }
if (StringUtils.isBlank(temp.get("d").toString())) { if (StringUtils.isBlank(temp.get("d").toString())) {
return ResponseData.error("第" + (i + 1) + "行的kpi总值不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效奖金合计不能为空");
} }
if (!temp.containsKey("e")) { if (!temp.containsKey("e")) {
return ResponseData.error("第" + (i + 1) + "行的kpi薪酬不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空");
} }
if (StringUtils.isBlank(temp.get("e").toString())) { if (StringUtils.isBlank(temp.get("e").toString())) {
return ResponseData.error("第" + (i + 1) + "行的kpi薪酬不能为空"); return ResponseData.error("第" + (i + 1) + "行的绩效基数不能为空");
} }
if (!temp.containsKey("f")) { /*if (!temp.containsKey("f")) {
return ResponseData.error("第" + (i + 1) + "行的总薪酬不能为空"); return ResponseData.error("第" + (i + 1) + "行的应发绩效不能为空");
} }
if (StringUtils.isBlank(temp.get("f").toString())) { if (StringUtils.isBlank(temp.get("f").toString())) {
return ResponseData.error("第" + (i + 1) + "行的总薪酬不能为空"); return ResponseData.error("第" + (i + 1) + "行的应发绩效不能为空");
} }
/*if (!temp.containsKey("h")) { if (!temp.containsKey("g")) {
return ResponseData.error("第" + (i + 1) + "行的县分不能为空"); 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 (StringUtils.isBlank(temp.get("h").toString())) {
return ResponseData.error("第" + (i + 1) + "行的县分不能为空"); return ResponseData.error("第" + (i + 1) + "行的入网kpi不能为空");
} }
if (!temp.containsKey("i")) { if (!temp.containsKey("i")) {
return ResponseData.error("第" + (i + 1) + "行的学校不能为空"); return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("i").toString())) { if (StringUtils.isBlank(temp.get("i").toString())) {
return ResponseData.error("第" + (i + 1) + "行的学校不能为空"); return ResponseData.error("第" + (i + 1) + "行的存量维系kpi不能为空");
}*/ }
if (!temp.containsKey("j")) { if (!temp.containsKey("j")) {
return ResponseData.error("第" + (i + 1) + "行的姓名不能为空"); return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("j").toString())) { if (StringUtils.isBlank(temp.get("j").toString())) {
return ResponseData.error("第" + (i + 1) + "行的姓名不能为空"); return ResponseData.error("第" + (i + 1) + "行的团队运营kpi不能为空");
} }
/*if (!temp.containsKey("e")) { if (!temp.containsKey("k")) {
return ResponseData.error("第" + (i + 1) + "行的银行账号不能为空"); return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空");
} }
if (StringUtils.isBlank(temp.get("e").toString())) { if (StringUtils.isBlank(temp.get("k").toString())) {
return ResponseData.error("第" + (i + 1) + "行的银行账号不能为空"); return ResponseData.error("第" + (i + 1) + "行的每月工作kpi不能为空");
}*/
if (temp.containsKey("j")) {
userNameList.add(temp.get("j").toString());
} }
if (!temp.containsKey("l")) {
return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空");
} }
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); if (StringUtils.isBlank(temp.get("l").toString())) {
sysWrapper.setSqlSelect("id,account"); return ResponseData.error("第" + (i + 1) + "行的累计佣金不能为空");
if(accountList.size() != 0){
sysWrapper.in("name",userNameList);
sysUserList = sysUserMapper.selectMaps(sysWrapper);
} }
for (Map<String, Object> map : listMap) { if (!temp.containsKey("m")) {
String name = map.get("j").toString(); return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空");
for (Map<String, Object> tmap : sysUserList) {
if(name.equals(tmap.get("name").toString())){
map.put("k",tmap.get("id").toString());
break;
} }
if (StringUtils.isBlank(temp.get("m").toString())) {
return ResponseData.error("第" + (i + 1) + "行的累计分成不能为空");
} }
if (!temp.containsKey("n")) {
return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空");
} }
if (StringUtils.isBlank(temp.get("n").toString())) {
//检查excel表中是否有重复人员编号 return ResponseData.error("第" + (i + 1) + "行的秋营达标奖不能为空");
/*int size = listMap.size(); }
Set<String> accountSet = new HashSet<>(size); /*if (!temp.containsKey("o")) {
for (int i = 0; i < size; i++) { return ResponseData.error("第" + (i + 1) + "行的应发提成不能为空");
Map<String, Object> temp = listMap.get(i);
accountSet.add((String) temp.get("b"));
} }
if (accountSet.size() != size) { if (StringUtils.isBlank(temp.get("o").toString())) {
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!"); return ResponseData.error("第" + (i + 1) + "行的应发提成不能为空");
}*/ }*/
}
} catch (Exception e) { } catch (Exception e) {
log.error("楼长总经理KPI信息导入异常", e.getMessage()); log.error("楼长总经理KPI信息导入异常", e.getMessage());
return ResponseData.error("导入异常!"); return ResponseData.error("导入异常!");
} }
Wrapper<ManagerKpi> managerKpiWrapper = new EntityWrapper<>();
int number = 0; managerKpiMapper.delete(managerKpiWrapper);
Integer number = 0;
Date acceptDate = new Date(); Date acceptDate = new Date();
Date successTime = acceptDate;
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);
LzWage lzWage = new LzWage(); ManagerKpi managerKpi = new ManagerKpi();
String month = map.get("a").toString(); String month = map.get("a").toString();
lzWage.setMonth(month); managerKpi.setMonth(month);
Integer rechargeNum = Integer.valueOf(map.get("b").toString()); managerKpi.setCounty(map.get("b").toString());
lzWage.setRechargeNum(rechargeNum); managerKpi.setName(map.get("c").toString());
double rechargeWage = Double.valueOf(map.get("c").toString()); managerKpi.setTotalPerformance(map.get("d").toString());
lzWage.setRechargeWage(rechargeWage); Integer performanceBase = Integer.valueOf(map.get("e").toString());
double kpi = Double.valueOf(map.get("d").toString()); managerKpi.setPerformanceBase(performanceBase);
lzWage.setKpi(kpi);
double kpiWage = Double.valueOf(map.get("e").toString()); Integer rwKpi = Integer.valueOf(map.get("h").toString());
lzWage.setKpiWage(kpiWage); managerKpi.setRwKpi(rwKpi);
double wage = Integer.valueOf(map.get("f").toString()); Integer wxKpi = Integer.valueOf(map.get("i").toString());
lzWage.setWage(wage); managerKpi.setWxKpi(wxKpi);
Integer userId = Integer.valueOf(map.get("k").toString()); Integer yyKpi = Integer.valueOf(map.get("j").toString());
lzWage.setUserId(userId); managerKpi.setYyKpi(yyKpi);
/*Integer integer = lzWageMpapper.insert(lzWage); Integer workKpi = Integer.valueOf(map.get("k").toString());
if (integer == 1) { managerKpi.setWorkKpi(workKpi);
number++; //kpi=移动入网kpi+存量维系kpi+团队运营kpi+每月工作kpi
} else { managerKpi.setKpi(rwKpi+wxKpi+yyKpi+workKpi);
error.append("第" + (i + 1) + "行的更新失败,"); //应发绩效=绩效基数*(kpi/100)
}*/ double yfPerformance = performanceBase*(managerKpi.getKpi()/100);
managerKpi.setYfPerformance(yfPerformance);
double totalBonus = Double.valueOf(map.get("l").toString());
managerKpi.setTotalBonus(totalBonus);//累计佣金
double totalFund = Double.valueOf(map.get("m").toString());
managerKpi.setTotalBonus(totalFund);//累计分成
double autumnBonus = Double.valueOf(map.get("n").toString());
managerKpi.setAutumnBonus(autumnBonus);//秋营达标奖
//应发提成=累计分成+秋营达量奖
managerKpi.setYfBonus(autumnBonus+totalFund);
//绩效佣金= 应发绩效+累计分成
number += managerKpiMapper.insert(managerKpi);
} }
error.append("成功更新" + number + "条数据!");
return ResponseData.success(error.toString(), "导入完成"); return ResponseData.success(error.toString(), "导入完成");
} }
} }
...@@ -121,6 +121,31 @@ public class ExcelDealUtils { ...@@ -121,6 +121,31 @@ public class ExcelDealUtils {
return resultMap; return resultMap;
} }
// 总经理kpi管理导出excel表头
public static Map<String, Object> managerKpiExcel(String sheetName){
Map<String, Object> headMap = new LinkedHashMap<String, Object>();
headMap.put("月份", "month");
headMap.put("县分", "county");
headMap.put("督导", "name");
headMap.put("绩效奖金合计", "totalPerformance");
headMap.put("绩效基数", "performanceBase");
headMap.put("应发绩效(可为空)", "yfPerformance");
headMap.put("kpi总分(可为空)", "kpi");
headMap.put("入网kpi", "rwKpi");
headMap.put("存量维系kpi", "wxKpi");
headMap.put("团队运营kpi", "yyKpi");
headMap.put("每月工作kpi", "workKpi");
headMap.put("累计佣金", "totalBonus");
headMap.put("累计分成", "totalFund");
headMap.put("秋营达标奖", "autumnBonus");
headMap.put("应发提成(可为空)", "yfBonus");
Map<String, Object> resultMap = dealHeadMap(headMap);
resultMap.put("sheetName", sheetName);
return resultMap;
}
// 账单导出excel表头 // 账单导出excel表头
public static Map<String, Object> billExcel(String sheetName){ public static Map<String, Object> billExcel(String sheetName){
Map<String, Object> headMap = new LinkedHashMap<String, Object>(); Map<String, Object> headMap = new LinkedHashMap<String, Object>();
......
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