Commit 2c416476 by 董有沛

冲突解决

parent ddbebabf
package com.winsun.controller; package com.winsun.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.enums.SqlLike; import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission; import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController; 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.LzKpi; import com.winsun.bean.LzKpi;
import com.winsun.bean.School; import com.winsun.bean.School;
import com.winsun.bean.SysUser; import com.winsun.bean.SysUser;
import com.winsun.bean.UserSchool; import com.winsun.bean.UserSchool;
import com.winsun.mapper.LzKpiMapper; import com.winsun.mapper.LzKpiMapper;
import com.winsun.mapper.SchoolMapper; import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.SysUserMapper; import com.winsun.mapper.SysUserMapper;
import com.winsun.mapper.UserSchoolMapper; import com.winsun.mapper.UserSchoolMapper;
import com.winsun.utils.ExcelDealUtils; import com.winsun.utils.ExcelDealUtils;
import com.winsun.utils.ImportExcel; import com.winsun.utils.ImportExcel;
import com.winsun.utils.MyBatisPlusUpdateUtils; import com.winsun.utils.MyBatisPlusUpdateUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.*; import org.apache.poi.xssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; 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.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
/** /**
* 楼长KPI校检 * 楼长KPI校检
* @Author: xiangli * @Author: xiangli
* @Date: * @Date:
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/lzKpi") @RequestMapping("/lzKpi")
public class LzKpiController extends BaseController { public class LzKpiController extends BaseController {
/** /**
* 导入 * 导入
*/ */
private static final int HEADER_NUM = -1; private static final int HEADER_NUM = -1;
private static final int SHEET_INDEX = 0; private static final int SHEET_INDEX = 0;
/** /**
* KPI信息模板列名 * KPI信息模板列名
*/ */
private static String SL_reportDaily = "汇总任务量"; private static String SL_reportDaily = "汇总任务量";
private static String SL_collectiveSales = "参与集中营销"; private static String SL_collectiveSales = "参与集中营销";
private static String SL_weeklyMeeting = "组织周例会"; private static String SL_weeklyMeeting = "组织周例会";
private static String SL_organTraining = "定制扫楼营销方案"; private static String SL_organTraining = "定制扫楼营销方案";
private static String SL_designPlan = "组织培训"; private static String SL_designPlan = "组织培训";
private static String SL_kpi = "KPI总值"; private static String SL_kpi = "KPI总值";
private static String SL_month = "KPI月份"; private static String SL_month = "KPI月份";
private static String SL_sysuName = "姓名(必填)"; private static String SL_sysuName = "姓名(必填)";
private static String SL_account = "账号(必填)"; private static String SL_account = "账号(必填)";
private static String SL_substName = "县分"; private static String SL_substName = "县分";
private static String SL_schoolName = "学校"; private static String SL_schoolName = "学校";
@Autowired @Autowired
private LzKpiMapper lzKpiMapper; private LzKpiMapper lzKpiMapper;
@Autowired @Autowired
private SchoolMapper schoolMapper; private SchoolMapper schoolMapper;
@Autowired @Autowired
private UserSchoolMapper userSchoolMapper; private UserSchoolMapper userSchoolMapper;
@Autowired @Autowired
private SysUserMapper sysUserMapper; private SysUserMapper sysUserMapper;
@Autowired @Autowired
@Qualifier("redisStringTemplate") @Qualifier("redisStringTemplate")
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
/** /**
* 楼长KPI添加 * 楼长KPI添加
* *
* @param lzKpi 添加对象json字符串 * @param lzKpi 添加对象json字符串
* @return * @return
*/ */
@Permission(menuname = "添加楼长KPI信息", value = "insert", method = RequestMethod.POST) @Permission(menuname = "添加楼长KPI信息", value = "insert", method = RequestMethod.POST)
public ResponseData<String> insertProduct(@RequestParam("lzKpi") String lzKpi) { public ResponseData<String> insertProduct(@RequestParam("lzKpi") String lzKpi) {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) { if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限"); return ResponseData.error("无数据权限");
} }
HashMap hashMap = JSON.parseObject(lzKpi, HashMap.class); HashMap hashMap = JSON.parseObject(lzKpi, HashMap.class);
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); Wrapper<SysUser> sysWrapper = new EntityWrapper<>();
String account = hashMap.get("account").toString(); String account = hashMap.get("account").toString();
String substName = hashMap.get("substName").toString(); String substName = hashMap.get("substName").toString();
sysWrapper.eq(StringUtils.isNotBlank(account),"account",account); sysWrapper.eq(StringUtils.isNotBlank(account),"account",account);
sysWrapper.eq(StringUtils.isNotBlank(substName),"name",substName); sysWrapper.eq(StringUtils.isNotBlank(substName),"name",substName);
List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper); List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper);
if(sysUserList.size()>0){ if(sysUserList.size()>0){
LzKpi kpi = new LzKpi(); LzKpi kpi = new LzKpi();
kpi.setUserId(sysUserList.get(0).getId()); kpi.setUserId(sysUserList.get(0).getId());
kpi.setDesignPlan(Integer.valueOf(hashMap.get("designPlan").toString())); kpi.setDesignPlan(Integer.valueOf(hashMap.get("designPlan").toString()));
kpi.setOrganTraining(Integer.valueOf(hashMap.get("organTraining").toString())); kpi.setOrganTraining(Integer.valueOf(hashMap.get("organTraining").toString()));
kpi.setReportDaily(Integer.valueOf(hashMap.get("reportDaily").toString())); kpi.setReportDaily(Integer.valueOf(hashMap.get("reportDaily").toString()));
kpi.setWeeklyMeeting(Integer.valueOf(hashMap.get("weeklyMeeting").toString())); kpi.setWeeklyMeeting(Integer.valueOf(hashMap.get("weeklyMeeting").toString()));
kpi.setCollectiveSales(Integer.valueOf(hashMap.get("collectiveSales").toString())); kpi.setCollectiveSales(Integer.valueOf(hashMap.get("collectiveSales").toString()));
kpi.setKpi(Integer.valueOf(hashMap.get("kpi").toString())); kpi.setKpi(Integer.valueOf(hashMap.get("kpi").toString()));
kpi.setMonth(hashMap.get("month").toString()); kpi.setMonth(hashMap.get("month").toString());
kpi.setIsDel("0"); kpi.setIsDel("0");
lzKpiMapper.insert(kpi); lzKpiMapper.insert(kpi);
return ResponseData.success("添加成功!"); return ResponseData.success("添加成功!");
} }
return ResponseData.error("账号不存在?"); return ResponseData.error("账号不存在?");
} }
/** /**
* kpi删除 * kpi删除
* @param id 需要删除的id * @param id 需要删除的id
* @return * @return
*/ */
@Permission(menuname = "删除楼长KPI信息", value = "delete", method = RequestMethod.POST) @Permission(menuname = "删除楼长KPI信息", value = "delete", method = RequestMethod.POST)
public ResponseData<String> deleteProduct(@RequestParam(name="id", required = false) String id,@RequestParam(name="isdel", required = false) String isdel) { public ResponseData<String> deleteProduct(@RequestParam(name="id", required = false) String id,@RequestParam(name="isdel", required = false) String isdel) {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) { if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限"); return ResponseData.error("无数据权限");
} }
//Wrapper wrapper = new EntityWrapper<>(); //Wrapper wrapper = new EntityWrapper<>();
//wrapper.eq(StringUtils.isNotBlank(id),"id", id); //wrapper.eq(StringUtils.isNotBlank(id),"id", id);
//Map<String, Object> dataMapping = new HashMap<>(); //Map<String, Object> dataMapping = new HashMap<>();
//dataMapping.put("is_del", isdel); //dataMapping.put("is_del", isdel);
//lzKpiMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper); //lzKpiMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
if(StringUtils.isNotBlank(id)){ if(StringUtils.isNotBlank(id)){
lzKpiMapper.deleteById(id); lzKpiMapper.deleteById(id);
return ResponseData.success("操作成功!"); return ResponseData.success("操作成功!");
} }
return ResponseData.error("删除id不能为空!"); return ResponseData.error("删除id不能为空!");
} }
/** /**
* 楼长KPI信息编辑 * 楼长KPI信息编辑
* *
* @param lzKpi 编辑对象json字符串 * @param lzKpi 编辑对象json字符串
* @return * @return
*/ */
@Permission(menuname = "修改楼长KPI信息", value = "update", method = RequestMethod.POST) @Permission(menuname = "修改楼长KPI信息", value = "update", method = RequestMethod.POST)
public ResponseData<String> updateProduct(@RequestParam("lzKpi") String lzKpi) { public ResponseData<String> updateProduct(@RequestParam("lzKpi") String lzKpi) {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) { if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限"); return ResponseData.error("无数据权限");
} }
LzKpi pro = JSON.parseObject(lzKpi, LzKpi.class); LzKpi pro = JSON.parseObject(lzKpi, LzKpi.class);
Wrapper wrapper = new EntityWrapper<>(); Wrapper wrapper = new EntityWrapper<>();
wrapper.eq("id", pro.getId()); wrapper.eq("id", pro.getId());
Map<String, Object> dataMapping = new HashMap<>(); Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("report_daily", pro.getReportDaily()); dataMapping.put("report_daily", pro.getReportDaily());
dataMapping.put("collective_sales", pro.getCollectiveSales()); dataMapping.put("collective_sales", pro.getCollectiveSales());
dataMapping.put("weekly_meeting", pro.getWeeklyMeeting()); dataMapping.put("weekly_meeting", pro.getWeeklyMeeting());
dataMapping.put("organ_training", pro.getOrganTraining()); dataMapping.put("organ_training", pro.getOrganTraining());
dataMapping.put("design_plan", pro.getDesignPlan()); dataMapping.put("design_plan", pro.getDesignPlan());
dataMapping.put("kpi", pro.getKpi()); dataMapping.put("kpi", pro.getKpi());
dataMapping.put("user_id", pro.getUserId()); dataMapping.put("user_id", pro.getUserId());
dataMapping.put("month", pro.getMonth()); dataMapping.put("month", pro.getMonth());
dataMapping.put("is_Del", pro.getIsDel()); dataMapping.put("is_Del", pro.getIsDel());
lzKpiMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper); lzKpiMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
return ResponseData.success("修改成功!"); return ResponseData.success("修改成功!");
} }
/** /**
* *
* @param userName * @param userName
* @param substName * @param substName
* @param schoolName * @param schoolName
* @param month * @param month
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
* @return * @return
*/ */
@Permission(menuname = "查询楼长KPI信息", value = "list", method = RequestMethod.POST) @Permission(menuname = "查询楼长KPI信息", value = "list", method = RequestMethod.POST)
public ResponseData<Page<Map<String,Object>>> listProduct( public ResponseData<Page<Map<String,Object>>> listProduct(
@RequestParam(name = "userName", required = false) String userName,@RequestParam(name = "substName", required = false) String substName, @RequestParam(name = "userName", required = false) String userName,@RequestParam(name = "substName", required = false) String substName,
@RequestParam(name = "schoolName", required = false) String schoolName,@RequestParam(name = "month", required = false) String month, @RequestParam(name = "schoolName", required = false) String schoolName,@RequestParam(name = "month", required = false) String month,
@RequestParam(name = "pageNo") int pageNo, @RequestParam(name = "pageSize") int pageSize) { @RequestParam(name = "pageNo") int pageNo, @RequestParam(name = "pageSize") int pageSize) {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
Page<Map<String,Object>> page = new Page<>(pageNo, pageSize); return ResponseData.error("无数据权限");
List<Map<String,Object>> dataList = new ArrayList<>(); }
List<Map<String,Object>> list = new ArrayList<>();
//redisTemplate.opsForValue().set(hcmap, hcmap, 60, TimeUnit.MINUTES); Page<Map<String,Object>> page = new Page<>(pageNo, pageSize);
List<Map<String,Object>> dataList = new ArrayList<>();
List<String> userIds1 = new ArrayList<>(); List<Map<String,Object>> list = new ArrayList<>();
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); //redisTemplate.opsForValue().set(hcmap, hcmap, 60, TimeUnit.MINUTES);
sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT);
List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper); List<String> userIds1 = new ArrayList<>();
for (SysUser sysUser : sysUserList) { Wrapper<SysUser> sysWrapper = new EntityWrapper<>();
userIds1.add(sysUser.getId()); sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT);
} List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper);
if(sysUserList.size()==0){ for (SysUser sysUser : sysUserList) {
page.setRecords(null); userIds1.add(sysUser.getId());
page.setTotal(0); }
return ResponseData.success(page); if(sysUserList.size()==0){
} page.setRecords(null);
List<Integer> schoolIds = new ArrayList<>(); page.setTotal(0);
Wrapper<School> schoolWrapper = new EntityWrapper<>(); return ResponseData.success(page);
schoolWrapper.eq(StringUtils.isNotBlank(substName), "sub_name", substName); }
schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "school_name", schoolName); List<Integer> schoolIds = new ArrayList<>();
List<School> schoolList = schoolMapper.selectList(schoolWrapper); Wrapper<School> schoolWrapper = new EntityWrapper<>();
for (School school : schoolList) { schoolWrapper.eq(StringUtils.isNotBlank(substName), "sub_name", substName);
schoolIds.add(school.getId()); schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "school_name", schoolName);
} List<School> schoolList = schoolMapper.selectList(schoolWrapper);
if(schoolList.size()==0){ for (School school : schoolList) {
page.setRecords(null); schoolIds.add(school.getId());
page.setTotal(0); }
return ResponseData.success(page); if(schoolList.size()==0){
} page.setRecords(null);
List<String> userIds2 = new ArrayList<>(); page.setTotal(0);
Wrapper<UserSchool> usWrapper = new EntityWrapper<>(); return ResponseData.success(page);
usWrapper.in("school_id",schoolIds); }
List<UserSchool> userSchoolList = userSchoolMapper.selectList(usWrapper); List<String> userIds2 = new ArrayList<>();
List<UserSchool> userSchoolsTemp = new ArrayList<>(); Wrapper<UserSchool> usWrapper = new EntityWrapper<>();
for (UserSchool userSchool : userSchoolList) { usWrapper.in("school_id",schoolIds);
userIds2.add(userSchool.getUserId()); List<UserSchool> userSchoolList = userSchoolMapper.selectList(usWrapper);
} List<UserSchool> userSchoolsTemp = new ArrayList<>();
List<String> userIds = new ArrayList<>(); for (UserSchool userSchool : userSchoolList) {
for (String s : userIds1) { userIds2.add(userSchool.getUserId());
for (String s1 : userIds2) { }
if(s.equals(s1)){ List<String> userIds = new ArrayList<>();
userIds.add(s1); for (String s : userIds1) {
break; for (String s1 : userIds2) {
} if(s.equals(s1)){
} userIds.add(s1);
} break;
Wrapper<LzKpi> wrapper = new EntityWrapper(); }
if(month.length()>7){ }
month = month.substring(0,7); }
} Wrapper<LzKpi> wrapper = new EntityWrapper();
wrapper.eq(StringUtils.isNotBlank(month),"month",month); if(month.length()>7){
wrapper.in("user_id",userIds); month = month.substring(0,7);
List<LzKpi> lzKpis = lzKpiMapper.selectList(wrapper); }
if(lzKpis.size()==0){ wrapper.eq(StringUtils.isNotBlank(month),"month",month);
page.setRecords(null); wrapper.in("user_id",userIds);
page.setTotal(0); List<LzKpi> lzKpis = lzKpiMapper.selectList(wrapper);
return ResponseData.success(page); if(lzKpis.size()==0){
} page.setRecords(null);
for (LzKpi lzKpi : lzKpis) { page.setTotal(0);
Map<String,Object> map = new HashMap<>(); return ResponseData.success(page);
map.put("id",lzKpi.getId()); }
map.put("reportDaily",lzKpi.getReportDaily()); for (LzKpi lzKpi : lzKpis) {
map.put("collectiveSales",lzKpi.getCollectiveSales()); Map<String,Object> map = new HashMap<>();
map.put("weeklyMeeting",lzKpi.getWeeklyMeeting()); map.put("id",lzKpi.getId());
map.put("organTraining",lzKpi.getOrganTraining()); map.put("reportDaily",lzKpi.getReportDaily());
map.put("designPlan",lzKpi.getDesignPlan()); map.put("collectiveSales",lzKpi.getCollectiveSales());
map.put("kpi",lzKpi.getKpi()); map.put("weeklyMeeting",lzKpi.getWeeklyMeeting());
map.put("userId",lzKpi.getUserId()); map.put("organTraining",lzKpi.getOrganTraining());
map.put("month",lzKpi.getMonth()); map.put("designPlan",lzKpi.getDesignPlan());
map.put("isDel",lzKpi.getIsDel()); map.put("kpi",lzKpi.getKpi());
for (SysUser sysUser : sysUserList) { map.put("userId",lzKpi.getUserId());
if(lzKpi.getUserId().equals(sysUser.getId())){ map.put("month",lzKpi.getMonth());
map.put("sysuName",sysUser.getName()); map.put("isDel",lzKpi.getIsDel());
map.put("account",sysUser.getAccount()); for (SysUser sysUser : sysUserList) {
break; if(lzKpi.getUserId().equals(sysUser.getId())){
} map.put("sysuName",sysUser.getName());
} map.put("account",sysUser.getAccount());
for (UserSchool userSchool : userSchoolList) { break;
if(lzKpi.getUserId().equals(userSchool.getUserId())){ }
String schoolId = userSchool.getSchoolId(); }
for (School school : schoolList) { for (UserSchool userSchool : userSchoolList) {
if(schoolId.equals(school.getId()+"")){ if(lzKpi.getUserId().equals(userSchool.getUserId())){
map.put("schoolName",school.getSchoolName()); String schoolId = userSchool.getSchoolId();
map.put("substName",school.getSubName()); for (School school : schoolList) {
break; if(schoolId.equals(school.getId()+"")){
} map.put("schoolName",school.getSchoolName());
} map.put("substName",school.getSubName());
} break;
} }
list.add(map); }
} }
if(lzKpis.size() < pageSize) { }
dataList = list; list.add(map);
}else { }
Integer endpageSize = (pageNo-1) == lzKpis.size()/10?(pageNo-1)*pageSize+lzKpis.size()%10:pageNo*pageSize; if(lzKpis.size() < pageSize) {
dataList = list.subList((pageNo-1)*pageSize, endpageSize); dataList = list;
} }else {
Integer endpageSize = (pageNo-1) == lzKpis.size()/10?(pageNo-1)*pageSize+lzKpis.size()%10:pageNo*pageSize;
page.setRecords(dataList); dataList = list.subList((pageNo-1)*pageSize, endpageSize);
page.setTotal(lzKpis.size()); }
return ResponseData.success(page, "查询成功!");
} page.setRecords(dataList);
page.setTotal(lzKpis.size());
/** return ResponseData.success(page, "查询成功!");
* }
* @param userName
* @param substName /**
* @param schoolName *
* @param month * @param userName
* @param pageNo * @param substName
* @param pageSize * @param schoolName
* @return * @param month
*/ * @param pageNo
@Permission(menuname = "导出楼长KPI信息", value = "excelOut", method = RequestMethod.POST) * @param pageSize
public void excelOut( * @return
@RequestParam(name = "userName", required = false) String userName,@RequestParam(name = "substName", required = false) String substName, */
@RequestParam(name = "schoolName", required = false) String schoolName,@RequestParam(name = "month", required = false) String month, @Permission(menuname = "导出楼长KPI信息", value = "excelOut", method = RequestMethod.POST)
@RequestParam(name = "pageNo") int pageNo, @RequestParam(name = "pageSize") int pageSize public void excelOut(
) throws IOException { @RequestParam(name = "userName", required = false) String userName,@RequestParam(name = "substName", required = false) String substName,
ShiroUser user = getShiroUser(); @RequestParam(name = "schoolName", required = false) String schoolName,@RequestParam(name = "month", required = false) String month,
@RequestParam(name = "pageNo") int pageNo, @RequestParam(name = "pageSize") int pageSize
List<String> userIds1 = new ArrayList<>(); ) throws IOException {
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); ShiroUser user = getShiroUser();
sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT);
List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper); List<String> userIds1 = new ArrayList<>();
for (SysUser sysUser : sysUserList) { Wrapper<SysUser> sysWrapper = new EntityWrapper<>();
userIds1.add(sysUser.getId()); sysWrapper.like(StringUtils.isNotBlank(userName), "name", userName, SqlLike.DEFAULT);
} List<SysUser> sysUserList = sysUserMapper.selectList(sysWrapper);
if(sysUserList.size()==0){ for (SysUser sysUser : sysUserList) {
log.error("查询数据为空!"); userIds1.add(sysUser.getId());
} }
List<Integer> schoolIds = new ArrayList<>(); if(sysUserList.size()==0){
Wrapper<School> schoolWrapper = new EntityWrapper<>(); log.error("查询数据为空!");
schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName); }
schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName); List<Integer> schoolIds = new ArrayList<>();
List<School> schoolList = schoolMapper.selectList(schoolWrapper); Wrapper<School> schoolWrapper = new EntityWrapper<>();
for (School school : schoolList) { schoolWrapper.eq(StringUtils.isNotBlank(substName), "substName", substName);
schoolIds.add(school.getId()); schoolWrapper.eq(StringUtils.isNotBlank(schoolName), "schoolName", schoolName);
} List<School> schoolList = schoolMapper.selectList(schoolWrapper);
if(schoolList.size()==0){ for (School school : schoolList) {
log.error("查询数据为空!"); schoolIds.add(school.getId());
} }
List<String> userIds2 = new ArrayList<>(); if(schoolList.size()==0){
Wrapper<UserSchool> usWrapper = new EntityWrapper<>(); log.error("查询数据为空!");
usWrapper.in("school_id",schoolIds); }
List<UserSchool> userSchoolList = userSchoolMapper.selectList(usWrapper); List<String> userIds2 = new ArrayList<>();
List<UserSchool> userSchoolsTemp = new ArrayList<>(); Wrapper<UserSchool> usWrapper = new EntityWrapper<>();
for (UserSchool userSchool : userSchoolList) { usWrapper.in("school_id",schoolIds);
userIds2.add(userSchool.getUserId()); List<UserSchool> userSchoolList = userSchoolMapper.selectList(usWrapper);
} List<UserSchool> userSchoolsTemp = new ArrayList<>();
List<String> userIds = new ArrayList<>(); for (UserSchool userSchool : userSchoolList) {
for (String s : userIds1) { userIds2.add(userSchool.getUserId());
for (String s1 : userIds2) { }
if(s.equals(s1)){ List<String> userIds = new ArrayList<>();
userIds.add(s1); for (String s : userIds1) {
break; for (String s1 : userIds2) {
} if(s.equals(s1)){
} userIds.add(s1);
} break;
List<Map<String,Object>> list = new ArrayList<>(); }
Wrapper<LzKpi> wrapper = new EntityWrapper(); }
if(month.length()>7){ }
month = month.substring(0,7); List<Map<String,Object>> list = new ArrayList<>();
} Wrapper<LzKpi> wrapper = new EntityWrapper();
wrapper.eq(StringUtils.isNotBlank(month),"month",month); if(month.length()>7){
wrapper.in("user_id",userIds); month = month.substring(0,7);
List<LzKpi> lzKpis = lzKpiMapper.selectList(wrapper); }
if(lzKpis.size()==0){ wrapper.eq(StringUtils.isNotBlank(month),"month",month);
log.error("查询数据为空!"); wrapper.in("user_id",userIds);
} List<LzKpi> lzKpis = lzKpiMapper.selectList(wrapper);
for (LzKpi lzKpi : lzKpis) { if(lzKpis.size()==0){
Map<String,Object> map = new HashMap<>(); log.error("查询数据为空!");
map.put("reportDaily",lzKpi.getReportDaily()); }
map.put("collectiveSales",lzKpi.getCollectiveSales()); for (LzKpi lzKpi : lzKpis) {
map.put("weeklyMeeting",lzKpi.getWeeklyMeeting()); Map<String,Object> map = new HashMap<>();
map.put("organTraining",lzKpi.getOrganTraining()); map.put("reportDaily",lzKpi.getReportDaily());
map.put("designPlan",lzKpi.getDesignPlan()); map.put("collectiveSales",lzKpi.getCollectiveSales());
map.put("kpi",lzKpi.getKpi()); map.put("weeklyMeeting",lzKpi.getWeeklyMeeting());
map.put("userId",lzKpi.getUserId()); map.put("organTraining",lzKpi.getOrganTraining());
map.put("month",lzKpi.getMonth()); map.put("designPlan",lzKpi.getDesignPlan());
map.put("isDel",lzKpi.getIsDel()); map.put("kpi",lzKpi.getKpi());
for (SysUser sysUser : sysUserList) { map.put("userId",lzKpi.getUserId());
if(lzKpi.getUserId().equals(sysUser.getId())){ map.put("month",lzKpi.getMonth());
map.put("sysuName",sysUser.getName()); map.put("isDel",lzKpi.getIsDel());
map.put("account",sysUser.getAccount()); for (SysUser sysUser : sysUserList) {
break; if(lzKpi.getUserId().equals(sysUser.getId())){
} map.put("sysuName",sysUser.getName());
} map.put("account",sysUser.getAccount());
for (UserSchool userSchool : userSchoolList) { break;
if(lzKpi.getUserId().equals(userSchool.getUserId())){ }
String schoolId = userSchool.getSchoolId(); }
for (School school : schoolList) { for (UserSchool userSchool : userSchoolList) {
if(schoolId.equals(school.getId()+"")){ if(lzKpi.getUserId().equals(userSchool.getUserId())){
map.put("schoolName",school.getSchoolName()); String schoolId = userSchool.getSchoolId();
map.put("substName",school.getSubName()); for (School school : schoolList) {
break; if(schoolId.equals(school.getId()+"")){
} map.put("schoolName",school.getSchoolName());
} map.put("substName",school.getSubName());
} break;
} }
list.add(map); }
} }
ServletOutputStream os = null; }
XSSFWorkbook workbook = ExcelDealUtils.getWorkBook(ExcelDealUtils.kpiExcel("楼长KPI清单"), list); list.add(map);
try { }
HttpServletResponse response = getHttpServletResponse(); ServletOutputStream os = null;
response.reset(); XSSFWorkbook workbook = ExcelDealUtils.getWorkBook(ExcelDealUtils.kpiExcel("楼长KPI清单"), list);
response.setCharacterEncoding("UTF-8"); try {
response.setContentType("application/octet-stream"); HttpServletResponse response = getHttpServletResponse();
os = response.getOutputStream(); response.reset();
workbook.write(os); response.setCharacterEncoding("UTF-8");
os.flush(); response.setContentType("application/octet-stream");
} catch (Exception e) { os = response.getOutputStream();
log.error("文件出错!" + e.getMessage(), e); workbook.write(os);
} finally { os.flush();
IOUtils.closeQuite(workbook, os); } catch (Exception e) {
} log.error("文件出错!" + e.getMessage(), e);
} } finally {
IOUtils.closeQuite(workbook, os);
/** }
* 受理订单模板下载 }
*
* @return /**
*/ * 受理订单模板下载
@Permission(menuname = "楼长KPI信息导入模板", method = RequestMethod.POST, value = "downloadMoBan") *
public ResponseData downloadMoBan() { * @return
ArrayList<String> columns = new ArrayList<>(); */
columns.add(SL_reportDaily); @Permission(menuname = "楼长KPI信息导入模板", method = RequestMethod.POST, value = "downloadMoBan")
columns.add(SL_collectiveSales); public ResponseData downloadMoBan() {
columns.add(SL_weeklyMeeting); ArrayList<String> columns = new ArrayList<>();
columns.add(SL_organTraining); columns.add(SL_reportDaily);
columns.add(SL_designPlan); columns.add(SL_collectiveSales);
columns.add(SL_kpi); columns.add(SL_weeklyMeeting);
columns.add(SL_month); columns.add(SL_organTraining);
columns.add(SL_sysuName); columns.add(SL_designPlan);
columns.add(SL_account); columns.add(SL_kpi);
columns.add(SL_substName); columns.add(SL_month);
columns.add(SL_schoolName); columns.add(SL_sysuName);
ServletOutputStream os = null; columns.add(SL_account);
XSSFWorkbook workbook = new XSSFWorkbook(); columns.add(SL_substName);
try { columns.add(SL_schoolName);
//创建工作表 ServletOutputStream os = null;
XSSFSheet sheet = workbook.createSheet("楼长KPI信息"); XSSFWorkbook workbook = new XSSFWorkbook();
sheet.setColumnWidth(0, 3000); try {
sheet.setColumnWidth(1, 3000); //创建工作表
sheet.setColumnWidth(2, 3000); XSSFSheet sheet = workbook.createSheet("楼长KPI信息");
sheet.setColumnWidth(3, 3000); sheet.setColumnWidth(0, 3000);
sheet.setColumnWidth(4, 3000); sheet.setColumnWidth(1, 3000);
sheet.setColumnWidth(5, 3000); sheet.setColumnWidth(2, 3000);
sheet.setColumnWidth(6, 5000); sheet.setColumnWidth(3, 3000);
sheet.setColumnWidth(7, 5000); sheet.setColumnWidth(4, 3000);
sheet.setColumnWidth(8, 6000); sheet.setColumnWidth(5, 3000);
sheet.setColumnWidth(9, 4000); sheet.setColumnWidth(6, 5000);
sheet.setColumnWidth(10, 4000); sheet.setColumnWidth(7, 5000);
//下拉选项 sheet.setColumnWidth(8, 6000);
/*List<String> fengju = new ArrayList<>(); sheet.setColumnWidth(9, 4000);
fengju.add("受理不成功"); sheet.setColumnWidth(10, 4000);
fengju.add("受理成功"); //下拉选项
sheet = this.getXSSFSheet(sheet, fengju, 1, 1);*/ /*List<String> fengju = new ArrayList<>();
//添加表头 fengju.add("受理不成功");
final XSSFRow row = sheet.createRow(0); fengju.add("受理成功");
XSSFCellStyle cellStyle = workbook.createCellStyle(); sheet = this.getXSSFSheet(sheet, fengju, 1, 1);*/
cellStyle.setAlignment(HorizontalAlignment.CENTER); //添加表头
columns.forEach(val -> { final XSSFRow row = sheet.createRow(0);
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0)); XSSFCellStyle cellStyle = workbook.createCellStyle();
cell.setCellValue(val); cellStyle.setAlignment(HorizontalAlignment.CENTER);
}); columns.forEach(val -> {
HttpServletResponse response = getHttpServletResponse(); XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
response.reset(); cell.setCellValue(val);
response.setCharacterEncoding("UTF-8"); });
response.setContentType("application/vnd.ms-excel"); HttpServletResponse response = getHttpServletResponse();
response.setHeader("Content-Disposition", "attachment;fileName=data.xlsx"); response.reset();
os = response.getOutputStream(); response.setCharacterEncoding("UTF-8");
workbook.write(os); response.setContentType("application/vnd.ms-excel");
os.flush(); response.setHeader("Content-Disposition", "attachment;fileName=data.xlsx");
} catch (IOException e) { os = response.getOutputStream();
log.error("楼长KPI信息模板文件出错!" + e.getMessage(), e); workbook.write(os);
} finally { os.flush();
IOUtils.closeQuite(workbook, os); } catch (IOException e) {
} log.error("楼长KPI信息模板文件出错!" + e.getMessage(), e);
return ResponseData.error("楼长KPI信息模板出错"); } finally {
} IOUtils.closeQuite(workbook, os);
}
XSSFSheet getXSSFSheet(XSSFSheet sheet, List<String> datas, int firstcol, int lastcol) { return ResponseData.error("楼长KPI信息模板出错");
if (datas.size() == 0) { }
return sheet;
} XSSFSheet getXSSFSheet(XSSFSheet sheet, List<String> datas, int firstcol, int lastcol) {
String[] strdata = new String[datas.size()]; if (datas.size() == 0) {
for (int i = 0; i < datas.size(); i++) { return sheet;
strdata[i] = datas.get(i); }
} String[] strdata = new String[datas.size()];
XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet); for (int i = 0; i < datas.size(); i++) {
XSSFDataValidationConstraint dvConstraint1 = (XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(strdata); strdata[i] = datas.get(i);
CellRangeAddressList addressList = new CellRangeAddressList(1, 20000, firstcol, lastcol); }
XSSFDataValidation validation = (XSSFDataValidation) dvHelper.createValidation(dvConstraint1, addressList); XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet);
sheet.addValidationData(validation); XSSFDataValidationConstraint dvConstraint1 = (XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(strdata);
return sheet; CellRangeAddressList addressList = new CellRangeAddressList(1, 20000, firstcol, lastcol);
} XSSFDataValidation validation = (XSSFDataValidation) dvHelper.createValidation(dvConstraint1, addressList);
sheet.addValidationData(validation);
/** return sheet;
* 受理订单 }
*
* @param file 上传的数据文件 /**
* @return * 受理订单
*/ *
@Permission(menuname = "上传数据", value = "importDate", method = RequestMethod.POST) * @param file 上传的数据文件
public ResponseData<String> updateDatas(@RequestParam(name = "file") MultipartFile file) { * @return
StringBuffer error = new StringBuffer(); */
if (!StringUtils.endsWithAny(file.getOriginalFilename(), "xlsx", "xls")) { @Permission(menuname = "上传数据", value = "importDate", method = RequestMethod.POST)
return ResponseData.error("手工上传数据仅支持Excel文件,其他格式不支持!"); public ResponseData<String> updateDatas(@RequestParam(name = "file") MultipartFile file) {
} StringBuffer error = new StringBuffer();
ShiroUser user = getShiroUser(); if (!StringUtils.endsWithAny(file.getOriginalFilename(), "xlsx", "xls")) {
// 当前是否有数据权限 return ResponseData.error("手工上传数据仅支持Excel文件,其他格式不支持!");
boolean hasDataPermission = user.getRoleNames().stream().anyMatch(data -> StringUtils.equalsAny(data, "活动上单员", "数据管理员", "超级管理员")); }
if (!hasDataPermission) { ShiroUser user = getShiroUser();
return ResponseData.error("无数据权限!"); // 当前是否有数据权限
} boolean hasDataPermission = user.getRoleNames().stream().anyMatch(data -> StringUtils.equalsAny(data, "活动上单员", "数据管理员", "超级管理员"));
ImportExcel importExcel = null; if (!hasDataPermission) {
try { return ResponseData.error("无数据权限!");
importExcel = new ImportExcel(file, HEADER_NUM, SHEET_INDEX); }
} catch (Exception e) { ImportExcel importExcel = null;
log.error("楼长KPI信息导入异常", e.getMessage()); try {
return ResponseData.error("导入异常!"); importExcel = new ImportExcel(file, HEADER_NUM, SHEET_INDEX);
} } catch (Exception e) {
List<Map<String, Object>> listMap = importExcel.getDataListMap(); log.error("楼长KPI信息导入异常", e.getMessage());
if (listMap.size() == 1) { return ResponseData.error("导入异常!");
return ResponseData.error("文件不能为空"); }
} List<Map<String, Object>> listMap = importExcel.getDataListMap();
if (!listMap.get(0).get("a").toString().equals(SL_reportDaily)) { if (listMap.size() == 1) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("文件不能为空");
} }
if (!listMap.get(0).get("b").toString().equals(SL_collectiveSales)) { if (!listMap.get(0).get("a").toString().equals(SL_reportDaily)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("c").toString().equals(SL_weeklyMeeting)) { if (!listMap.get(0).get("b").toString().equals(SL_collectiveSales)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("d").toString().equals(SL_organTraining)) { if (!listMap.get(0).get("c").toString().equals(SL_weeklyMeeting)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("e").toString().equals(SL_designPlan)) { if (!listMap.get(0).get("d").toString().equals(SL_organTraining)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("f").toString().equals(SL_kpi)) { if (!listMap.get(0).get("e").toString().equals(SL_designPlan)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("g").toString().equals(SL_month)) { if (!listMap.get(0).get("f").toString().equals(SL_kpi)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("h").toString().equals(SL_sysuName)) { if (!listMap.get(0).get("g").toString().equals(SL_month)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("i").toString().equals(SL_account)) { if (!listMap.get(0).get("h").toString().equals(SL_sysuName)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("j").toString().equals(SL_substName)) { if (!listMap.get(0).get("i").toString().equals(SL_account)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (!listMap.get(0).get("k").toString().equals(SL_schoolName)) { if (!listMap.get(0).get("j").toString().equals(SL_substName)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (listMap.get(0).size() != 11) { if (!listMap.get(0).get("k").toString().equals(SL_schoolName)) {
return ResponseData.error("模板不对,请选择正确的模板!"); return ResponseData.error("模板不对,请选择正确的模板!");
} }
if (listMap.get(0).size() != 11) {
List<String> accountList = new LinkedList<>(); return ResponseData.error("模板不对,请选择正确的模板!");
List<Map<String,Object>> sysUserList = new LinkedList<>(); }
//校验数据
try { List<String> accountList = new LinkedList<>();
//校验数据 List<Map<String,Object>> sysUserList = new LinkedList<>();
for (int i = 1; i < listMap.size(); i++) { //校验数据
Map<String, Object> temp = listMap.get(i); try {
if (!temp.containsKey("a")) { //校验数据
return ResponseData.error("第" + (i + 1) + "行的汇总任务量不能为空"); for (int i = 1; i < listMap.size(); i++) {
} Map<String, Object> temp = listMap.get(i);
if (StringUtils.isBlank(temp.get("a").toString())) { if (!temp.containsKey("a")) {
return ResponseData.error("第" + (i + 1) + "行的汇总任务量不能为空"); return ResponseData.error("第" + (i + 1) + "行的汇总任务量不能为空");
} }
if (!temp.containsKey("b")) { if (StringUtils.isBlank(temp.get("a").toString())) {
return ResponseData.error("第" + (i + 1) + "行的参与集中营销不能为空"); return ResponseData.error("第" + (i + 1) + "行的汇总任务量不能为空");
} }
if (StringUtils.isBlank(temp.get("b").toString())) { if (!temp.containsKey("b")) {
return ResponseData.error("第" + (i + 1) + "行的参与集中营销不能为空"); return ResponseData.error("第" + (i + 1) + "行的参与集中营销不能为空");
} }
if (!temp.containsKey("c")) { if (StringUtils.isBlank(temp.get("b").toString())) {
return ResponseData.error("第" + (i + 1) + "行的组织周例会不能为空"); return ResponseData.error("第" + (i + 1) + "行的参与集中营销不能为空");
} }
if (StringUtils.isBlank(temp.get("c").toString())) { if (!temp.containsKey("c")) {
return ResponseData.error("第" + (i + 1) + "行的组织周例会不能为空"); return ResponseData.error("第" + (i + 1) + "行的组织周例会不能为空");
} }
if (!temp.containsKey("d")) { if (StringUtils.isBlank(temp.get("c").toString())) {
return ResponseData.error("第" + (i + 1) + "行的定制扫楼营销方案不能为空"); return ResponseData.error("第" + (i + 1) + "行的组织周例会不能为空");
} }
if (StringUtils.isBlank(temp.get("d").toString())) { if (!temp.containsKey("d")) {
return ResponseData.error("第" + (i + 1) + "行的定制扫楼营销方案不能为空"); return ResponseData.error("第" + (i + 1) + "行的定制扫楼营销方案不能为空");
} }
if (!temp.containsKey("e")) { if (StringUtils.isBlank(temp.get("d").toString())) {
return ResponseData.error("第" + (i + 1) + "行的组织培训不能为空"); return ResponseData.error("第" + (i + 1) + "行的定制扫楼营销方案不能为空");
} }
if (StringUtils.isBlank(temp.get("e").toString())) { if (!temp.containsKey("e")) {
return ResponseData.error("第" + (i + 1) + "行的组织培训不能为空"); return ResponseData.error("第" + (i + 1) + "行的组织培训不能为空");
} }
if (!temp.containsKey("f")) { if (StringUtils.isBlank(temp.get("e").toString())) {
return ResponseData.error("第" + (i + 1) + "行的KPI总值不能为空"); return ResponseData.error("第" + (i + 1) + "行的组织培训不能为空");
} }
if (StringUtils.isBlank(temp.get("f").toString())) { if (!temp.containsKey("f")) {
return ResponseData.error("第" + (i + 1) + "行的KPI总值不能为空"); return ResponseData.error("第" + (i + 1) + "行的KPI总值不能为空");
} }
if (!temp.containsKey("g")) { if (StringUtils.isBlank(temp.get("f").toString())) {
return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空"); return ResponseData.error("第" + (i + 1) + "行的KPI总值不能为空");
} }
if (StringUtils.isBlank(temp.get("g").toString())) { if (!temp.containsKey("g")) {
return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空"); return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空");
}if (!temp.containsKey("h")) { }
return ResponseData.error("第" + (i + 1) + "行的姓名不能为空"); if (StringUtils.isBlank(temp.get("g").toString())) {
} return ResponseData.error("第" + (i + 1) + "行的KPI月份不能为空");
if (StringUtils.isBlank(temp.get("h").toString())) { }if (!temp.containsKey("h")) {
return ResponseData.error("第" + (i + 1) + "行的姓名不能为空"); return ResponseData.error("第" + (i + 1) + "行的姓名不能为空");
} }
if (!temp.containsKey("i")) { if (StringUtils.isBlank(temp.get("h").toString())) {
return ResponseData.error("第" + (i + 1) + "行的账号不能为空"); return ResponseData.error("第" + (i + 1) + "行的姓名不能为空");
} }
if (StringUtils.isBlank(temp.get("i").toString())) { if (!temp.containsKey("i")) {
return ResponseData.error("第" + (i + 1) + "行的账号不能为空"); return ResponseData.error("第" + (i + 1) + "行的账号不能为空");
} }
if (temp.containsKey("i")) { if (StringUtils.isBlank(temp.get("i").toString())) {
accountList.add(temp.get("i").toString()); return ResponseData.error("第" + (i + 1) + "行的账号不能为空");
} }
} if (temp.containsKey("i")) {
Wrapper<SysUser> sysWrapper = new EntityWrapper<>(); accountList.add(temp.get("i").toString());
sysWrapper.setSqlSelect("id,account"); }
sysWrapper.in("account",accountList); }
sysUserList = sysUserMapper.selectMaps(sysWrapper); Wrapper<SysUser> sysWrapper = new EntityWrapper<>();
for (Map<String, Object> map : listMap) { sysWrapper.setSqlSelect("id,account");
String account = map.get("i").toString(); sysWrapper.in("account",accountList);
for (Map<String, Object> tmap : sysUserList) { sysUserList = sysUserMapper.selectMaps(sysWrapper);
if(account.equals(tmap.get("account").toString())){ for (Map<String, Object> map : listMap) {
map.put("h",tmap.get("id").toString()); String account = map.get("i").toString();
break; for (Map<String, Object> tmap : sysUserList) {
} if(account.equals(tmap.get("account").toString())){
} map.put("h",tmap.get("id").toString());
break;
} }
//检查excel表中是否有重复人员编号 }
int size = listMap.size();
Set<String> accountSet = new HashSet<>(size); }
for (int i = 0; i < size; i++) { //检查excel表中是否有重复人员编号
Map<String, Object> temp = listMap.get(i); int size = listMap.size();
accountSet.add((String) temp.get("i")); Set<String> accountSet = new HashSet<>(size);
} for (int i = 0; i < size; i++) {
if (accountSet.size() != size) { Map<String, Object> temp = listMap.get(i);
return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!"); accountSet.add((String) temp.get("i"));
} }
} catch (Exception e) { if (accountSet.size() != size) {
log.error("楼长KPI信息导入异常", e.getMessage()); return ResponseData.error("文件中有重复的用户账号,请确认用户账号不能重复!");
return ResponseData.error("导入异常!"); }
} } catch (Exception e) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");// 格式化时间 log.error("楼长KPI信息导入异常", e.getMessage());
Calendar c = Calendar.getInstance(); return ResponseData.error("导入异常!");
//过去6个月 }
c.add(Calendar.MONTH, -6); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");// 格式化时间
Date m = c.getTime(); Calendar c = Calendar.getInstance();
Wrapper<LzKpi> lzKpiWrapper = new EntityWrapper<>(); //过去6个月
lzKpiWrapper.ge("month",sdf.format(m)); c.add(Calendar.MONTH, -6);
lzKpiWrapper.le("month",sdf.format(new Date())); Date m = c.getTime();
List<LzKpi> lzKpiList = lzKpiMapper.selectList(lzKpiWrapper); Wrapper<LzKpi> lzKpiWrapper = new EntityWrapper<>();
int number = 0; lzKpiWrapper.ge("month",sdf.format(m));
for (int i = 1; i < listMap.size(); i++) { lzKpiWrapper.le("month",sdf.format(new Date()));
Map<String, Object> map = listMap.get(i); List<LzKpi> lzKpiList = lzKpiMapper.selectList(lzKpiWrapper);
LzKpi lzKpi = new LzKpi(); int number = 0;
Integer reportDaily = Integer.valueOf(map.get("a").toString()); for (int i = 1; i < listMap.size(); i++) {
lzKpi.setReportDaily(reportDaily); Map<String, Object> map = listMap.get(i);
Integer collectiveSales = Integer.valueOf(map.get("b").toString()); LzKpi lzKpi = new LzKpi();
lzKpi.setCollectiveSales(collectiveSales); Integer reportDaily = Integer.valueOf(map.get("a").toString());
Integer weeklyMeeting = Integer.valueOf(map.get("c").toString()); lzKpi.setReportDaily(reportDaily);
lzKpi.setWeeklyMeeting(weeklyMeeting); Integer collectiveSales = Integer.valueOf(map.get("b").toString());
Integer organTraining = Integer.valueOf(map.get("d").toString()); lzKpi.setCollectiveSales(collectiveSales);
lzKpi.setOrganTraining(organTraining); Integer weeklyMeeting = Integer.valueOf(map.get("c").toString());
Integer designPlan = Integer.valueOf(map.get("e").toString()); lzKpi.setWeeklyMeeting(weeklyMeeting);
lzKpi.setDesignPlan(designPlan); Integer organTraining = Integer.valueOf(map.get("d").toString());
Integer kpi = Integer.valueOf(map.get("f").toString()); lzKpi.setOrganTraining(organTraining);
lzKpi.setKpi(kpi); Integer designPlan = Integer.valueOf(map.get("e").toString());
String month = map.get("g").toString(); lzKpi.setDesignPlan(designPlan);
lzKpi.setMonth(month); Integer kpi = Integer.valueOf(map.get("f").toString());
String userId = map.get("h").toString(); lzKpi.setKpi(kpi);
lzKpi.setUserId(userId); String month = map.get("g").toString();
lzKpi.setIsDel("0"); lzKpi.setMonth(month);
String userId0 = null; String userId = map.get("h").toString();
if (StringUtils.isNotBlank(map.get("h").toString())) { lzKpi.setUserId(userId);
userId0 = map.get("h").toString(); lzKpi.setIsDel("0");
} String userId0 = null;
boolean isUpdate = false; if (StringUtils.isNotBlank(map.get("h").toString())) {
for (LzKpi lzKpi1 : lzKpiList) { userId0 = map.get("h").toString();
if(lzKpi1.getUserId().equals(userId)){ }
lzKpi.setId(lzKpi1.getId()); boolean isUpdate = false;
isUpdate = true; for (LzKpi lzKpi1 : lzKpiList) {
break; if(lzKpi1.getUserId().equals(userId)){
} lzKpi.setId(lzKpi1.getId());
} isUpdate = true;
try { break;
if(isUpdate){ }
Wrapper<LzKpi> wrapper = new EntityWrapper<>(); }
wrapper.eq("id",lzKpi.getId()); try {
lzKpiMapper.update(lzKpi,wrapper); if(isUpdate){
number++; Wrapper<LzKpi> wrapper = new EntityWrapper<>();
}else{ wrapper.eq("id",lzKpi.getId());
Integer integer = lzKpiMapper.insert(lzKpi); lzKpiMapper.update(lzKpi,wrapper);
if (integer == 1) { number++;
number++; }else{
} else { Integer integer = lzKpiMapper.insert(lzKpi);
error.append("第" + (i + 1) + "行的更新失败,"); if (integer == 1) {
} number++;
} } else {
}catch (Exception e){ error.append("第" + (i + 1) + "行的更新失败,");
log.info(e.getMessage()); }
error.append("第" + (i + 1) + "行的更新失败,"); }
} }catch (Exception e){
log.info(e.getMessage());
} error.append("第" + (i + 1) + "行的更新失败,");
error.append("成功更新" + number + "条数据!"); }
return ResponseData.success(error.toString(), "导入完成");
} }
} error.append("成功更新" + number + "条数据!");
return ResponseData.success(error.toString(), "导入完成");
}
}
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