Commit 8b85acfc by 彭祥礼

楼长总经理KPI信息导入

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