Commit b1c2e83f by 彭祥礼

增加放号充值达标数据

parent 5b0e130e
...@@ -79,14 +79,15 @@ public class YxtCardController extends BaseController { ...@@ -79,14 +79,15 @@ public class YxtCardController extends BaseController {
*/ */
@RequestMapping(value = "/weixinAuthorizati") @RequestMapping(value = "/weixinAuthorizati")
public void weixinAuthorization(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException { public void weixinAuthorization(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
String requestURL = request.getContextPath().toString(); String requestURL = request.getContextPath();
log.info(requestURL); log.info(requestURL);
///redirect_uri=http://167460x6b0.51mypc.cn/ciop/forgerpw/callBackLogin String redirect_uri="http://167460x6b0.51mypc.cn/ciop/forgerpw/callBackLogin";
String redirect_uri = "http://192.168.1.165:3000/#/yxt/pay?userId=6399"; String redirect_uri2 = "http://192.168.1.165:3000/#/yxt/pay?userId=6399";
String url = "https://open.weixin.qq.com/connect/oauth2/authorize?"; String url = "https://open.weixin.qq.com/connect/oauth2/authorize?";
url += "appid=" + WxConfig.APPID; url += "appid=" + WxConfig.APPID;
url += "&redirect_uri=" + URLEncoder.encode("http://167460x6b0.51mypc.cn/ciop/forgerpw/callBackLogin", "UTF-8");//此处和微信回调用的域名相同 url += "&redirect_uri=" + URLEncoder.encode(redirect_uri2, "UTF-8");//此处和微信回调用的域名相同
url += "&response_type=code&scope=snsapi_userinfo&state=frommenu#wechat_redirect"; url += "&response_type=code&scope=snsapi_userinfo&state=frommenu#wechat_redirect";
try { try {
response.sendRedirect(url); response.sendRedirect(url);
} catch (Exception e) { } catch (Exception e) {
...@@ -137,10 +138,11 @@ public class YxtCardController extends BaseController { ...@@ -137,10 +138,11 @@ public class YxtCardController extends BaseController {
try{ try{
objectMap = new WxInterfacesUtil().getJspaiSign(url); objectMap = new WxInterfacesUtil().getJspaiSign(url);
objectMap.put("appid", WxConfig.APPID); objectMap.put("appid", WxConfig.APPID);
return ResponseData.success(objectMap);
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();
} }
return ResponseData.success(objectMap); return ResponseData.error("");
} }
/** /**
* 下单新增订单 * 下单新增订单
...@@ -274,7 +276,8 @@ public class YxtCardController extends BaseController { ...@@ -274,7 +276,8 @@ public class YxtCardController extends BaseController {
@RequestMapping("/activePay") @RequestMapping("/activePay")
public ResponseData<Map<String,Object>> activePay( public ResponseData<Map<String,Object>> activePay(
@RequestParam("orderNum") String orderNum, @RequestParam("orderNum") String orderNum,
@RequestParam("totalPrice") Double totalPrice,@RequestParam("openId") String openId){ @RequestParam("totalPrice") Double totalPrice,
@RequestParam("openId") String openId){
int totalPrice0 = (int)(totalPrice * 100); int totalPrice0 = (int)(totalPrice * 100);
String nonceStr = Sha1Util.getNonceStr(); String nonceStr = Sha1Util.getNonceStr();
...@@ -570,90 +573,6 @@ public class YxtCardController extends BaseController { ...@@ -570,90 +573,6 @@ public class YxtCardController extends BaseController {
return ResponseData.error("新增地址失败!!!"); return ResponseData.error("新增地址失败!!!");
} }
// 发起支付
public ResponseData<Map<String,Object>> activePay(String orderNum,double totalPrice){
int totalPricet = (int)(totalPrice * 100);
String nonceStr = Sha1Util.getNonceStr();
// 统一下单请求参数
PayRequest payRequest = new PayRequest();
payRequest.setAppid(WxConfig.APPID);
payRequest.setMch_id(WxConfig.MAC_ID);
payRequest.setNonce_str(nonceStr);
payRequest.setSign("sign");
payRequest.setBody("yuan_xian_tong");
payRequest.setOut_trade_no(orderNum);
payRequest.setTotal_fee(Integer.toString(totalPricet));
payRequest.setSpbill_create_ip("120.24.88.216");
payRequest.setNotify_url(WxConfig.NOTIFY_URL);
payRequest.setTrade_type("JSAPI");
//临时测试用
payRequest.setOpenid("o22lhwRZP2zbXff7UHH3J8oqH8A0");
//System.out.println("pay——openid:"+request.getSession().getAttribute("openId").toString());
//log.info("pay——openid:"+openId);
//payRequest.setOpenid(openId);
// 统一下单加密参数
SortedMap<Object,Object> parameters = new TreeMap<Object,Object>();
parameters.put("appid", payRequest.getAppid());
parameters.put("mch_id", payRequest.getMch_id());
parameters.put("nonce_str", payRequest.getNonce_str());
parameters.put("body", payRequest.getBody());
parameters.put("out_trade_no", payRequest.getOut_trade_no());
parameters.put("total_fee", payRequest.getTotal_fee());
parameters.put("spbill_create_ip", payRequest.getSpbill_create_ip());
parameters.put("notify_url", payRequest.getNotify_url());
parameters.put("trade_type", payRequest.getTrade_type());
parameters.put("openid", payRequest.getOpenid());
String sign = WXPayUtil.createSign("UTF-8", parameters);
payRequest.setSign(sign);
try{
Map<String, Object> map = ConvertMapBean.bean2map(payRequest);
String xmlStr = WXPayUtil.map2Xmlstring(map);
String url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
String result = HTTPSClient.sendPostXml(url, xmlStr);
System.out.println(result);
Map<String, Object> resultMap = WXPayUtil.xmlString2Map(result);
long timeStamp = System.currentTimeMillis();
nonceStr = Sha1Util.getNonceStr();
// 加密参数
String packages = "prepay_id=" + resultMap.get("prepay_id").toString();
SortedMap<Object,Object> secretParams = new TreeMap<Object,Object>();
secretParams.put("timeStamp", timeStamp);
secretParams.put("nonceStr", nonceStr);
secretParams.put("package", packages);
secretParams.put("appId", WxConfig.APPID);
secretParams.put("signType", "MD5");
String secretSign = WXPayUtil.createSign("UTF-8", secretParams);
// 获取签名
// String params = "appid=wxfc18f5186b729d15&timestamp="+timeStamp+"&noncestr="+nonceStr+"&package="+resultMap.get("prepay_id")+"&signtype=MD5";
// MessageDigest crypt = MessageDigest.getInstance("MD5");
// crypt.reset();
// crypt.update(params.getBytes("UTF-8"));
// String signature = WxInterfacesUtil.byteToHex(crypt.digest());
Map<String,Object> objectMap = new HashMap<>();
objectMap.put("appId", WxConfig.APPID);
objectMap.put("timeStamp", timeStamp);
objectMap.put("nonceStr", nonceStr);
objectMap.put("package", packages);
objectMap.put("signType", "MD5");
objectMap.put("sign", secretSign);
return ResponseData.success(objectMap,"支付成功");
}catch(Exception e){
e.printStackTrace();
}
return ResponseData.error("支付失败");
}
// 返回目前可购买兑换券数量 // 返回目前可购买兑换券数量
public int returnCardNum(){ public int returnCardNum(){
......
...@@ -4,19 +4,21 @@ import com.baomidou.mybatisplus.annotations.TableField; ...@@ -4,19 +4,21 @@ import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
@Data @Data
@TableName("hhr_sales_order") @TableName("hhr_sales_order")
public class SalesOrder { public class SalesOrder implements Serializable {
private static final long serialVersionUID = -1093416820114819143L;
/** /**
* 主键 * 主键
*/ */
private int id; private Integer id;
/** /**
* 订单号码 * 放号号码
*/ */
private String orderPhone; private String orderPhone;
......
...@@ -187,7 +187,7 @@ public class LzKpiController extends BaseController { ...@@ -187,7 +187,7 @@ public class LzKpiController extends BaseController {
* @param substName * @param substName
* @return * @return
*/ */
@Permission(menuname = "初始县分", value = "getSchoolNames", method = RequestMethod.POST) @Permission(menuname = "初始学校", value = "getSchoolNames", method = RequestMethod.POST)
public ResponseData<List<School>> getSchoolNames(@RequestParam(name = "substName", required = false) String substName){ public ResponseData<List<School>> getSchoolNames(@RequestParam(name = "substName", required = false) String substName){
Wrapper<School> schoolWrapper = new EntityWrapper<>(); Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.eq(StringUtils.isNotBlank(substName),"sub_name",substName); schoolWrapper.eq(StringUtils.isNotBlank(substName),"sub_name",substName);
......
...@@ -453,6 +453,7 @@ public class LzSalaryController extends BaseController { ...@@ -453,6 +453,7 @@ public class LzSalaryController extends BaseController {
} }
if(sysUserList.size()==0){ if(sysUserList.size()==0){
log.error("查询数据为空!"); log.error("查询数据为空!");
return;
} }
List<Integer> schoolIds = new ArrayList<>(); List<Integer> schoolIds = new ArrayList<>();
Wrapper<School> schoolWrapper = new EntityWrapper<>(); Wrapper<School> schoolWrapper = new EntityWrapper<>();
...@@ -464,6 +465,7 @@ public class LzSalaryController extends BaseController { ...@@ -464,6 +465,7 @@ public class LzSalaryController extends BaseController {
} }
if(schoolList.size()==0){ if(schoolList.size()==0){
log.error("查询数据为空!"); log.error("查询数据为空!");
return;
} }
List<String> userIds2 = new ArrayList<>(); List<String> userIds2 = new ArrayList<>();
Wrapper<UserSchool> usWrapper = new EntityWrapper<>(); Wrapper<UserSchool> usWrapper = new EntityWrapper<>();
...@@ -492,6 +494,7 @@ public class LzSalaryController extends BaseController { ...@@ -492,6 +494,7 @@ public class LzSalaryController extends BaseController {
List<LzWage> lzWages = lzWageMpapper.selectList(wrapper); List<LzWage> lzWages = lzWageMpapper.selectList(wrapper);
if(lzWages.size()==0){ if(lzWages.size()==0){
log.error("查询数据为空!"); log.error("查询数据为空!");
return;
} }
for (LzWage lzWage : lzWages) { for (LzWage lzWage : lzWages) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
......
package com.winsun.controller;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.HhrUser;
import com.winsun.bean.SalesOrder;
import com.winsun.bean.School;
import com.winsun.bean.SysUser;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SalesOrderMapper;
import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.SysUserMapper;
import com.winsun.utils.ExcelDealUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 学子公司销量统计
* @Author: pxl
* @create 2020/5/18 18:04
*/
@Slf4j
@RestController
@RequestMapping("/saleCensus")
public class SaleCensusController extends BaseController{
/**
* 导入
*/
private static final int HEADER_NUM = -1;
private static final int SHEET_INDEX = 0;
private static SalesOrderMapper salesOrderMapper;
private static SysUserMapper sysUserMapper;
private static SchoolMapper schoolMapper;
private static HhrUserMapper hhrUserMapper;
private List<Map<String, Object>> exportList = new ArrayList<Map<String,Object>>();
private SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired
public SaleCensusController(SalesOrderMapper salesOrderMapper, SysUserMapper sysUserMapper,
SchoolMapper schoolMapper, HhrUserMapper hhrUserMapper) {
SaleCensusController.salesOrderMapper = salesOrderMapper;
SaleCensusController.sysUserMapper = sysUserMapper;
SaleCensusController.schoolMapper = schoolMapper;
SaleCensusController.hhrUserMapper = hhrUserMapper;
}
@Permission(menuname = "获取学子公司销量统计列表", value ="/list", method = RequestMethod.POST)
public ResponseData<Page<Map<String,Object>>> getList(
@RequestParam("name") String name,@RequestParam("account") String account,
@RequestParam("salesSubst") String salesSubst,@RequestParam("salesSchool") String salesSchool,
@RequestParam("activateTime") String activateTime,@RequestParam("leader") String leader,
@RequestParam("position") String position,
@RequestParam(name = "pageNo", required = false) int pageNo,
@RequestParam(name = "pageSize", required = false) int pageSize){
Page<Map<String,Object>> page = new Page<>(pageNo, pageSize);
List<Map<String,Object>> dataList = new LinkedList<>();
Wrapper<SalesOrder> wrapper = new EntityWrapper();
wrapper.like(StringUtils.isNotBlank(name), "name", name.trim(), SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(account), "account", account.trim());
wrapper.eq(StringUtils.isNotBlank(salesSubst), "sales_subst", salesSubst.trim());
wrapper.eq(StringUtils.isNotBlank(salesSchool), "sales_school", salesSchool.trim());
wrapper.ge("recently_amount", 50);
wrapper.eq( "del_flag", 0);
if(StringUtils.isNotBlank(activateTime)){
String[] months = activateTime.split("\\,");
if(!activateTime.equals(",") && StringUtils.isNotEmpty(activateTime)){
String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[1].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5);
wrapper.between("activate_time",month1,month2);
/*wrapper.ge(StringUtils.isNotBlank(month1),"activate_time",month1);
wrapper.le(StringUtils.isNotBlank(month2),"activate_time",month2);*/
}
}
List<SalesOrder> salesOrderList = salesOrderMapper.selectList(wrapper);
if(salesOrderList.size()==0){
page.setTotal(0);
return ResponseData.success(page, "没有数据!");
}
List<String> userIds = new ArrayList<>();
for (SalesOrder salesOrder : salesOrderList) {
userIds.add(salesOrder.getUserId());
}
Wrapper<HhrUser> hhrUserWrapper = new EntityWrapper<>();
hhrUserWrapper.in("id",userIds);
hhrUserWrapper.eq(StringUtils.isNotBlank(position), "position", position.trim());
List<HhrUser> userList = hhrUserMapper.selectList(hhrUserWrapper);
if(userList.size()==0){
page.setTotal(0);
return ResponseData.success(page, "没有数据!");
}
for (HhrUser hhrUser : userList) {
for (SalesOrder salesOrder : salesOrderList) {
if(hhrUser.getId().equals(salesOrder.getUserId())){
Map<String,Object> objectMap = new HashMap<>();
objectMap.put("id",salesOrder.getId());
objectMap.put("orderPhone",salesOrder.getOrderPhone());
objectMap.put("name",salesOrder.getName());
objectMap.put("account",salesOrder.getAccount());
objectMap.put("salesSubst",salesOrder.getSalesSubst());
objectMap.put("salesSchool",salesOrder.getSalesSchool());
objectMap.put("createTime",salesOrder.getCreateTime());
objectMap.put("activateTime",salesOrder.getActivateTime());
objectMap.put("position",hhrUser.getPosition());
if(StringUtils.isNotBlank(hhrUser.getParentId())){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",hhrUser.getParentId());
wrapper01.like(StringUtils.isNotBlank(leader), "name", leader.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("leader",list.get(0).getName());
}else {
break;
}
}
if(StringUtils.isNotBlank(hhrUser.getParentIds())){
String[] parentid = hhrUser.getParentIds().split("\\,");
if(parentid.length >= 2){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",parentid[1]);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("president",list.get(0).getName());
}else {
break;
}
}
}
dataList.add(objectMap);
}
}
}
if(dataList.size() < pageSize) {
dataList = dataList;
}else {
dataList = dataList.subList((pageNo-1)*pageSize, pageNo*pageSize);
}
page.setRecords(dataList);
return ResponseData.success(page, "查询完毕!");
}
/**
* 导出订单清单
* @param name
* @param account
* @param salesSubst
* @param salesSchool
* @param activateTime
* @param leader
* @param position
* @throws IOException
*/
@Permission(menuname = "导出学子公司销量统计清单", value = "exportList", method = RequestMethod.POST)
public void downloadHhrOrder(
@RequestParam(name = "name", required = false) String name,
@RequestParam(name = "account", required = false) String account,
@RequestParam(name = "salesSubst", required = false) String salesSubst,
@RequestParam(name = "salesSchool", required = false) String salesSchool,
@RequestParam(name = "activateTime", required = false) String activateTime,
@RequestParam(name = "leader", required = false) String leader,
@RequestParam(name = "position", required = false) String position) throws IOException {
List<Map<String, Object>> dataList = new LinkedList<>();
Wrapper<SalesOrder> wrapper = new EntityWrapper();
// wrapper.like(StringUtils.isNotBlank(name), "name", name.trim(), SqlLike.DEFAULT);
// wrapper.eq(StringUtils.isNotBlank(account), "account", account.trim());
// wrapper.eq(StringUtils.isNotBlank(salesSubst), "sales_subst", salesSubst.trim());
// wrapper.eq(StringUtils.isNotBlank(salesSchool), "sales_school", salesSchool.trim());
wrapper.ge("recently_amount", 50);
wrapper.eq( "del_flag", 0);
/*if(StringUtils.isNotBlank(activateTime)){
String[] months = activateTime.split("\\,");
if(!activateTime.equals(",") && StringUtils.isNotEmpty(activateTime)){
String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[1].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5);
wrapper.between("activate_time",month1,month2);
*//*wrapper.ge(StringUtils.isNotBlank(month1),"activate_time",month1);
wrapper.le(StringUtils.isNotBlank(month2),"activate_time",month2);*//*
}
}*/
List<SalesOrder> salesOrderList = salesOrderMapper.selectList(wrapper);
if(salesOrderList.size()==0){
log.info("没有数据");
}
List<String> userIds = new ArrayList<>();
for (SalesOrder salesOrder : salesOrderList) {
userIds.add(salesOrder.getUserId());
}
Wrapper<HhrUser> hhrUserWrapper = new EntityWrapper<>();
hhrUserWrapper.in("id",userIds);
//hhrUserWrapper.eq(StringUtils.isNotBlank(position), "position", position.trim());
List<HhrUser> userList = hhrUserMapper.selectList(hhrUserWrapper);
if(userList.size()==0){
log.info("没有数据");
}
for (HhrUser hhrUser : userList) {
for (SalesOrder salesOrder : salesOrderList) {
if(hhrUser.getId().equals(salesOrder.getUserId())){
Map<String,Object> objectMap = new HashMap<>();
objectMap.put("id",salesOrder.getId());
objectMap.put("orderPhone",salesOrder.getOrderPhone());
objectMap.put("name",salesOrder.getName());
objectMap.put("account",salesOrder.getAccount());
objectMap.put("salesSubst",salesOrder.getSalesSubst());
objectMap.put("salesSchool",salesOrder.getSalesSchool());
objectMap.put("createTime",salesOrder.getCreateTime());
objectMap.put("activateTime",salesOrder.getActivateTime());
objectMap.put("position",hhrUser.getPosition());
if(StringUtils.isNotBlank(hhrUser.getParentId())){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",hhrUser.getParentId());
//wrapper01.like(StringUtils.isNotBlank(leader), "name", leader.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("leader",list.get(0).getName());
}else {
break;
}
}
if(StringUtils.isNotBlank(hhrUser.getParentIds())){
String[] parentid = hhrUser.getParentIds().split("\\,");
if(parentid.length >= 2){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",parentid[1]);
//wrapper01.like(StringUtils.isNotBlank(president), "name", president.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("president",list.get(0).getName());
}else {
break;
}
}
}
dataList.add(objectMap);
}
}
}
ServletOutputStream os = null;
List<Integer> columnWidths = new ArrayList<>();
columnWidths.add(3500);
columnWidths.add(5000);
columnWidths.add(3000);
columnWidths.add(3000);
columnWidths.add(5000);
columnWidths.add(2500);
columnWidths.add(3000);
columnWidths.add(3000);
columnWidths.add(5000);
columnWidths.add(5000);
XSSFWorkbook workbook = ExcelDealUtils.getWorkBook2(ExcelDealUtils.salesOrderExcel("放号充值达标清单"), dataList,columnWidths);
try {
HttpServletResponse response = getHttpServletResponse();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e);
} finally {
IOUtils.closeQuite(workbook, os);
}
}
/**
*
* @param substName
* @return
*/
@Permission(menuname = "初始县分", value = "initSubstName", method = RequestMethod.POST)
public ResponseData<List<School>> initSubstName(@RequestParam(name = "substName", required = false) String substName){
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.groupBy("sub_name");
List<School> list = schoolMapper.selectList(schoolWrapper);
return ResponseData.success(list);
}
/**
*
* @param substName
* @return
*/
@Permission(menuname = "初始学校", value = "getSchoolNames", method = RequestMethod.POST)
public ResponseData<List<School>> getSchoolNames(@RequestParam(name = "substName", required = false) String substName){
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.eq(StringUtils.isNotBlank(substName),"sub_name",substName);
schoolWrapper.groupBy("school_name");
List<School> list = schoolMapper.selectList(schoolWrapper);
return ResponseData.success(list);
}
}
package com.winsun.controller; package com.winsun.controller;
import java.io.IOException; import com.baomidou.mybatisplus.enums.SqlLike;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
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;
...@@ -35,34 +8,52 @@ import com.winsun.auth.core.annotion.Permission; ...@@ -35,34 +8,52 @@ 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.DateUtil;
import com.winsun.auth.core.util.IOUtils; import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.HhrUser;
import com.winsun.bean.SalesOrder; import com.winsun.bean.SalesOrder;
import com.winsun.bean.School; import com.winsun.bean.School;
import com.winsun.bean.SysUser; import com.winsun.bean.SysUser;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SalesOrderMapper; import com.winsun.mapper.SalesOrderMapper;
import com.winsun.mapper.SchoolMapper; import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.SysUserMapper; import com.winsun.mapper.SysUserMapper;
import com.winsun.utils.ExcelDealUtils;
import com.winsun.utils.ImportExcel; import com.winsun.utils.ImportExcel;
import com.winsun.utils.MapUtil; import com.winsun.utils.MapUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.xssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
/** /**
* 销售订单 * 放号充值达标数据
* @author Warden * @Author: pxl
* * @create 2020/5/18 18:04
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/salesOrder") @RequestMapping("/salesOrder")
public class SalesOrderController extends BaseController{ public class SalesOrderController 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;
/** /**
* 放号上传模板列名 * 放号上传模板列名
*/ */
...@@ -72,7 +63,7 @@ public class SalesOrderController extends BaseController{ ...@@ -72,7 +63,7 @@ public class SalesOrderController extends BaseController{
private static String FH_ACCOUNT = "销售员账号(必填,系统注册手机号,重要)"; private static String FH_ACCOUNT = "销售员账号(必填,系统注册手机号,重要)";
private static String FH_SALES_SCHOOL = "销售学校"; private static String FH_SALES_SCHOOL = "销售学校";
private static String FH_SALES_SUBST = "销售县分"; private static String FH_SALES_SUBST = "销售县分";
/** /**
* 充值审核模板列名 * 充值审核模板列名
*/ */
...@@ -81,43 +72,251 @@ public class SalesOrderController extends BaseController{ ...@@ -81,43 +72,251 @@ public class SalesOrderController extends BaseController{
private static String CZ_NETWORK_CODE = "所属网点编码"; private static String CZ_NETWORK_CODE = "所属网点编码";
private static String CZ_NETWORK_NAME = "所属网点"; private static String CZ_NETWORK_NAME = "所属网点";
private static String CZ_AMOUNT = "充值金额"; private static String CZ_AMOUNT = "充值金额";
private static SalesOrderMapper salesOrderMapper; private static SalesOrderMapper salesOrderMapper;
private static SysUserMapper sysUserMapper; private static SysUserMapper sysUserMapper;
private static SchoolMapper schoolMapper; private static SchoolMapper schoolMapper;
private static HhrUserMapper hhrUserMapper;
private List<Map<String, Object>> exportList = new ArrayList<Map<String,Object>>(); private List<Map<String, Object>> exportList = new ArrayList<Map<String,Object>>();
private SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired @Autowired
public SalesOrderController(SalesOrderMapper salesOrderMapper,SysUserMapper sysUserMapper,SchoolMapper schoolMapper) { public SalesOrderController(SalesOrderMapper salesOrderMapper,SysUserMapper sysUserMapper,
SchoolMapper schoolMapper,HhrUserMapper hhrUserMapper) {
SalesOrderController.salesOrderMapper = salesOrderMapper; SalesOrderController.salesOrderMapper = salesOrderMapper;
SalesOrderController.sysUserMapper = sysUserMapper; SalesOrderController.sysUserMapper = sysUserMapper;
SalesOrderController.schoolMapper = schoolMapper; SalesOrderController.schoolMapper = schoolMapper;
SalesOrderController.hhrUserMapper = hhrUserMapper;
} }
@Permission(menuname = "获取销售订单列表", value ="/list", method = RequestMethod.POST) @Permission(menuname = "获取放号充值达标数据列表", value ="/list", method = RequestMethod.POST)
public ResponseData<Page<SalesOrder>> getList(@RequestParam("orderPhone") String orderPhone, public ResponseData<Page<Map<String,Object>>> getList(
@RequestParam("name") String name,@RequestParam("account") String account, @RequestParam("name") String name,@RequestParam("account") String account,
@RequestParam("status") String status,@RequestParam("orderType") String orderType, @RequestParam("salesSubst") String salesSubst,@RequestParam("salesSchool") String salesSchool,
@RequestParam("createTimeStart") String createTimeStart,@RequestParam("createTimeEnd") String createTimeEnd, @RequestParam("activateTime") String activateTime,@RequestParam("leader") String leader,
@RequestParam("activateTimeStart") String activateTimeStart,@RequestParam("activateTimeEnd") String activateTimeEnd, @RequestParam("president") String president,@RequestParam("position") String position,
@RequestParam(name = "pageNo", required = false) int pageIndex, @RequestParam(name = "pageNo", required = false) int pageNo,
@RequestParam(name = "pageSize", required = false) int pageSize){ @RequestParam(name = "pageSize", required = false) int pageSize){
Page<SalesOrder> page = new Page<>(pageIndex, pageSize); Page<Map<String,Object>> page = new Page<>(pageNo, pageSize);
Wrapper<SalesOrder> wrapperOrder = new EntityWrapper<SalesOrder>(); List<Map<String,Object>> dataList = new LinkedList<>();
wrapperOrder.eq(StringUtils.isNotBlank(orderPhone), "order_phone", orderPhone);
wrapperOrder.eq(StringUtils.isNotBlank(orderType), "order_type", orderType); Wrapper<SalesOrder> wrapper = new EntityWrapper();
wrapperOrder.eq(StringUtils.isNotBlank(status), "status", status); wrapper.like(StringUtils.isNotBlank(name), "name", name.trim(), SqlLike.DEFAULT);
wrapperOrder.eq(StringUtils.isNotBlank(name), "name", name); wrapper.eq(StringUtils.isNotBlank(account), "account", account.trim());
wrapperOrder.eq(StringUtils.isNotBlank(account), "account", account); wrapper.eq(StringUtils.isNotBlank(salesSubst), "sales_subst", salesSubst.trim());
wrapperOrder.eq("del_flag", 0); wrapper.eq(StringUtils.isNotBlank(salesSchool), "sales_school", salesSchool.trim());
List<SalesOrder> orderList = salesOrderMapper.selectPage(page, wrapperOrder); wrapper.ge("recently_amount", 50);
wrapper.eq( "del_flag", 0);
page.setRecords(orderList); if(StringUtils.isNotBlank(activateTime)){
String[] months = activateTime.split("\\,");
if(!activateTime.equals(",") && StringUtils.isNotEmpty(activateTime)){
String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[1].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5);
wrapper.between("activate_time",month1,month2);
/*wrapper.ge(StringUtils.isNotBlank(month1),"activate_time",month1);
wrapper.le(StringUtils.isNotBlank(month2),"activate_time",month2);*/
}
}
List<SalesOrder> salesOrderList = salesOrderMapper.selectList(wrapper);
if(salesOrderList.size()==0){
page.setTotal(0);
return ResponseData.success(page, "没有数据!");
}
List<String> userIds = new ArrayList<>();
for (SalesOrder salesOrder : salesOrderList) {
userIds.add(salesOrder.getUserId());
}
Wrapper<HhrUser> hhrUserWrapper = new EntityWrapper<>();
hhrUserWrapper.in("id",userIds);
hhrUserWrapper.eq(StringUtils.isNotBlank(position), "position", position.trim());
List<HhrUser> userList = hhrUserMapper.selectList(hhrUserWrapper);
if(userList.size()==0){
page.setTotal(0);
return ResponseData.success(page, "没有数据!");
}
for (HhrUser hhrUser : userList) {
for (SalesOrder salesOrder : salesOrderList) {
if(hhrUser.getId().equals(salesOrder.getUserId())){
Map<String,Object> objectMap = new HashMap<>();
objectMap.put("id",salesOrder.getId());
objectMap.put("orderPhone",salesOrder.getOrderPhone());
objectMap.put("name",salesOrder.getName());
objectMap.put("account",salesOrder.getAccount());
objectMap.put("salesSubst",salesOrder.getSalesSubst());
objectMap.put("salesSchool",salesOrder.getSalesSchool());
objectMap.put("createTime",salesOrder.getCreateTime());
objectMap.put("activateTime",salesOrder.getActivateTime());
objectMap.put("position",hhrUser.getPosition());
if(StringUtils.isNotBlank(hhrUser.getParentId())){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",hhrUser.getParentId());
wrapper01.like(StringUtils.isNotBlank(leader), "name", leader.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("leader",list.get(0).getName());
}else {
break;
}
}
if(StringUtils.isNotBlank(hhrUser.getParentIds())){
String[] parentid = hhrUser.getParentIds().split("\\,");
if(parentid.length >= 2){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",parentid[1]);
wrapper01.like(StringUtils.isNotBlank(president), "name", president.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("president",list.get(0).getName());
}else {
break;
}
}
}
dataList.add(objectMap);
}
}
}
if(dataList.size() < pageSize) {
dataList = dataList;
}else {
dataList = dataList.subList((pageNo-1)*pageSize, pageNo*pageSize);
}
page.setRecords(dataList);
return ResponseData.success(page, "查询完毕!"); return ResponseData.success(page, "查询完毕!");
} }
/**
* 导出订单清单
* @param name
* @param account
* @param salesSubst
* @param salesSchool
* @param activateTime
* @param leader
* @param president
* @param position
* @throws IOException
*/
@Permission(menuname = "导出放号充值达标数据清单", value = "exportList", method = RequestMethod.POST)
public void downloadHhrOrder(
@RequestParam(name = "name", required = false) String name,
@RequestParam(name = "account", required = false) String account,
@RequestParam(name = "salesSubst", required = false) String salesSubst,
@RequestParam(name = "salesSchool", required = false) String salesSchool,
@RequestParam(name = "activateTime", required = false) String activateTime,
@RequestParam(name = "leader", required = false) String leader,
@RequestParam(name = "president", required = false) String president,
@RequestParam(name = "position", required = false) String position) throws IOException {
List<Map<String, Object>> dataList = new LinkedList<>();
Wrapper<SalesOrder> wrapper = new EntityWrapper();
// wrapper.like(StringUtils.isNotBlank(name), "name", name.trim(), SqlLike.DEFAULT);
// wrapper.eq(StringUtils.isNotBlank(account), "account", account.trim());
// wrapper.eq(StringUtils.isNotBlank(salesSubst), "sales_subst", salesSubst.trim());
// wrapper.eq(StringUtils.isNotBlank(salesSchool), "sales_school", salesSchool.trim());
wrapper.ge("recently_amount", 50);
wrapper.eq( "del_flag", 0);
/*if(StringUtils.isNotBlank(activateTime)){
String[] months = activateTime.split("\\,");
if(!activateTime.equals(",") && StringUtils.isNotEmpty(activateTime)){
String m1 = months[0].substring(0,7);
String month1 = m1.substring(0,4) + m1.substring(5);
String m2 = months[1].substring(0,7);
String month2 = m2.substring(0,4) + m2.substring(5);
wrapper.between("activate_time",month1,month2);
*//*wrapper.ge(StringUtils.isNotBlank(month1),"activate_time",month1);
wrapper.le(StringUtils.isNotBlank(month2),"activate_time",month2);*//*
}
}*/
List<SalesOrder> salesOrderList = salesOrderMapper.selectList(wrapper);
if(salesOrderList.size()==0){
log.info("没有数据");
}
List<String> userIds = new ArrayList<>();
for (SalesOrder salesOrder : salesOrderList) {
userIds.add(salesOrder.getUserId());
}
Wrapper<HhrUser> hhrUserWrapper = new EntityWrapper<>();
hhrUserWrapper.in("id",userIds);
//hhrUserWrapper.eq(StringUtils.isNotBlank(position), "position", position.trim());
List<HhrUser> userList = hhrUserMapper.selectList(hhrUserWrapper);
if(userList.size()==0){
log.info("没有数据");
}
for (HhrUser hhrUser : userList) {
for (SalesOrder salesOrder : salesOrderList) {
if(hhrUser.getId().equals(salesOrder.getUserId())){
Map<String,Object> objectMap = new HashMap<>();
objectMap.put("id",salesOrder.getId());
objectMap.put("orderPhone",salesOrder.getOrderPhone());
objectMap.put("name",salesOrder.getName());
objectMap.put("account",salesOrder.getAccount());
objectMap.put("salesSubst",salesOrder.getSalesSubst());
objectMap.put("salesSchool",salesOrder.getSalesSchool());
objectMap.put("createTime", DateUtil.formatDate(salesOrder.getCreateTime(),"yyyy-mm-dd"));
objectMap.put("activateTime",DateUtil.formatDate(salesOrder.getActivateTime(),"yyyy-mm-dd"));
objectMap.put("position",hhrUser.getPosition());
if(StringUtils.isNotBlank(hhrUser.getParentId())){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",hhrUser.getParentId());
//wrapper01.like(StringUtils.isNotBlank(leader), "name", leader.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("leader",list.get(0).getName());
}else {
break;
}
}
if(StringUtils.isNotBlank(hhrUser.getParentIds())){
String[] parentid = hhrUser.getParentIds().split("\\,");
if(parentid.length >= 2){
Wrapper<SysUser> wrapper01 = new EntityWrapper<>();
wrapper01.eq("id",parentid[1]);
//wrapper01.like(StringUtils.isNotBlank(president), "name", president.trim(), SqlLike.DEFAULT);
List<SysUser> list = sysUserMapper.selectList(wrapper01);
if(list.size()>0){
objectMap.put("president",list.get(0).getName());
}else {
break;
}
}
}
dataList.add(objectMap);
}
}
}
ServletOutputStream os = null;
List<Integer> columnWidths = new ArrayList<>();
columnWidths.add(3500);
columnWidths.add(5000);
columnWidths.add(3000);
columnWidths.add(3000);
columnWidths.add(5000);
columnWidths.add(2500);
columnWidths.add(3000);
columnWidths.add(3000);
columnWidths.add(5000);
columnWidths.add(5000);
XSSFWorkbook workbook = ExcelDealUtils.getWorkBook2(ExcelDealUtils.salesOrderExcel("放号充值达标清单"), dataList,columnWidths);
try {
HttpServletResponse response = getHttpServletResponse();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e);
} finally {
IOUtils.closeQuite(workbook, os);
}
}
@Permission(menuname = "删除销售订单", value ="/deleteOrder", method = RequestMethod.POST) @Permission(menuname = "删除销售订单", value ="/deleteOrder", method = RequestMethod.POST)
public ResponseData<String> deleteOrder(@RequestParam("id") String id){ public ResponseData<String> deleteOrder(@RequestParam("id") String id){
...@@ -126,7 +325,7 @@ public class SalesOrderController extends BaseController{ ...@@ -126,7 +325,7 @@ public class SalesOrderController extends BaseController{
String orderPhone = salesOrder.getOrderPhone(); String orderPhone = salesOrder.getOrderPhone();
String salesSchool = salesOrder.getSalesSchool(); String salesSchool = salesOrder.getSalesSchool();
salesOrder.setDelFlag("1"); salesOrder.setDelFlag("1");
int num = salesOrderMapper.updateById(salesOrder); int num = salesOrderMapper.updateById(salesOrder);
if(num > 0) { if(num > 0) {
if("0".equals(status)) { if("0".equals(status)) {
...@@ -135,76 +334,38 @@ public class SalesOrderController extends BaseController{ ...@@ -135,76 +334,38 @@ public class SalesOrderController extends BaseController{
Map<String, Object> phoneSchoolMap = phoneSchoolList.get(0); Map<String, Object> phoneSchoolMap = phoneSchoolList.get(0);
String phoneSchool = (String)phoneSchoolMap.get("school"); String phoneSchool = (String)phoneSchoolMap.get("school");
String remark = ""; String remark = "";
if(phoneSchool.indexOf(salesSchool+",") > -1) { if(phoneSchool.indexOf(salesSchool+",") > -1) {
phoneSchool = phoneSchool.replace(salesSchool+",", ""); phoneSchool = phoneSchool.replace(salesSchool+",", "");
}else { }else {
phoneSchool = phoneSchool.replace(","+salesSchool, ""); phoneSchool = phoneSchool.replace(","+salesSchool, "");
} }
if(phoneSchool.split(",").length > 1) { if(phoneSchool.split(",").length > 1) {
remark = "放号号码"+ phoneSchool +"学校有重复记录,请后期进行核对"; remark = "放号号码"+ phoneSchool +"学校有重复记录,请后期进行核对";
}else { }else {
status = "1"; status = "1";
} }
// 更新号码所属学校 // 更新号码所属学校
phoneSchoolMap.put("phoneSchool", phoneSchool); phoneSchoolMap.put("phoneSchool", phoneSchool);
phoneSchoolMap.put("orderPhone", orderPhone); phoneSchoolMap.put("orderPhone", orderPhone);
List<Map<String, Object>> updateSchoolList = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> updateSchoolList = new ArrayList<Map<String,Object>>();
updateSchoolList.add(phoneSchoolMap); updateSchoolList.add(phoneSchoolMap);
updatePhoneSchool(updateSchoolList); updatePhoneSchool(updateSchoolList);
salesOrderMapper.updateRepealOrder(status,remark,orderPhone); salesOrderMapper.updateRepealOrder(status,remark,orderPhone);
}else { }else {
salesOrderMapper.deletePhoneSchool(orderPhone); salesOrderMapper.deletePhoneSchool(orderPhone);
} }
return ResponseData.success("删除成功"); return ResponseData.success("删除成功");
} }
return ResponseData.error("删除失败"); return ResponseData.error("删除失败");
} }
@Permission(menuname = "导出订单清单", value = "exportList", method = RequestMethod.POST)
public void downloadHhrOrder(HttpServletResponse response, @RequestParam("orderPhone") String orderPhone,
@RequestParam("name") String name,@RequestParam("account") String account,
@RequestParam("status") String status,@RequestParam("orderType") String orderType,
@RequestParam("createTimeStart") String createTimeStart,@RequestParam("createTimeEnd") String createTimeEnd,
@RequestParam("activateTimeStart") String activateTimeStart,@RequestParam("activateTimeEnd") String activateTimeEnd
) throws IOException {
//获取数据
/*
* List<YrymReport> reportNum = getReportNum(startTime, endTime);
*
* InputStream in = null; ExcelWriter excelWriter = null; ServletOutputStream
* outputStream = null; try {
* response.setContentType("application/vnd.ms-excel");
* response.setCharacterEncoding("utf-8"); //防止中文乱码 String fileName =
* URLEncoder.encode("销售清单", "UTF-8"); response.setHeader("Content-disposition",
* "attachment;filename=" + fileName + ".xlsx"); in =
* this.getClass().getResourceAsStream("/static/销售清单模板.xlsx"); outputStream =
* response.getOutputStream(); excelWriter =
* EasyExcel.write(outputStream).withTemplate(in).excelType(ExcelTypeEnum.XLSX).
* build(); WriteSheet writeSheet = EasyExcel.writerSheet().build();
* excelWriter.fill(reportNum, writeSheet); Map<String, Object> map = new
* HashMap<String, Object>(); LocalDate nowTime = LocalDate.now();
* map.put("month", nowTime.getMonthValue()); map.put("date",
* nowTime.getDayOfMonth()); excelWriter.fill(map, writeSheet); } catch
* (Exception e) { // 重置response response.reset();
* response.setContentType("application/json");
* response.setCharacterEncoding("utf-8"); Map<String, String> map = new
* HashMap<String, String>(); map.put("status", "failure"); map.put("message",
* "下载文件失败" + e.getMessage());
* response.getWriter().println(JSON.toJSONString(map)); log.error("销售清单下载文件失败",
* e.getMessage()); } finally { //关闭资源 if (excelWriter != null) {
* excelWriter.finish(); } if (outputStream != null) { outputStream.flush(); }
* if (in != null) { in.close(); } }
*/
}
/** /**
* 受理订单 * 受理订单
* *
...@@ -267,7 +428,7 @@ public class SalesOrderController extends BaseController{ ...@@ -267,7 +428,7 @@ public class SalesOrderController extends BaseController{
return ResponseData.error("第" + (i + 1) + "行的放号人账号不能为空"); return ResponseData.error("第" + (i + 1) + "行的放号人账号不能为空");
} }
} }
//检查excel表中是否有重复人员编号 //检查excel表中是否有重复人员编号
int size = listMap.size(); int size = listMap.size();
Set<String> accountSet = new HashSet<>(size); Set<String> accountSet = new HashSet<>(size);
...@@ -282,7 +443,7 @@ public class SalesOrderController extends BaseController{ ...@@ -282,7 +443,7 @@ public class SalesOrderController extends BaseController{
log.error("放号清单导入异常" + e.getMessage(), e); log.error("放号清单导入异常" + e.getMessage(), e);
return ResponseData.error("导入异常!"); return ResponseData.error("导入异常!");
} }
// 去掉首行标题 // 去掉首行标题
listMap.remove(0); listMap.remove(0);
Map<String, Object> resultMap = dealUploadData(listMap); Map<String, Object> resultMap = dealUploadData(listMap);
...@@ -292,13 +453,13 @@ public class SalesOrderController extends BaseController{ ...@@ -292,13 +453,13 @@ public class SalesOrderController extends BaseController{
if(exportList.size() > 0) { if(exportList.size() > 0) {
info.append("返回导入结果清单!"); info.append("返回导入结果清单!");
} }
return ResponseData.success(info.toString(), "导入完成"); return ResponseData.success(info.toString(), "导入完成");
} }
public Map<String,Object> dealUploadData(List<Map<String,Object>> list){ public Map<String,Object> dealUploadData(List<Map<String,Object>> list){
Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> resultMap = new HashMap<String, Object>();
// 处理放号清单号码的销售学校清单,用于重复判断 // 处理放号清单号码的销售学校清单,用于重复判断
Map<String, Object> phoneSchoolMap = MapUtil.listToMap(salesOrderMapper.getPhoneSchool(), "order_phone", "school"); Map<String, Object> phoneSchoolMap = MapUtil.listToMap(salesOrderMapper.getPhoneSchool(), "order_phone", "school");
// 处理用户清单 // 处理用户清单
...@@ -311,7 +472,7 @@ public class SalesOrderController extends BaseController{ ...@@ -311,7 +472,7 @@ public class SalesOrderController extends BaseController{
List<Map<String, Object>> phoneSchoolList = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> phoneSchoolList = new ArrayList<Map<String,Object>>();
List<Map<String, Object>> updateList = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> updateList = new ArrayList<Map<String,Object>>();
List<Map<String, Object>> infoList = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> infoList = new ArrayList<Map<String,Object>>();
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
String sortNo = (String)map.get("a"); String sortNo = (String)map.get("a");
String orderPhone = (String)map.get("b"); String orderPhone = (String)map.get("b");
...@@ -319,7 +480,7 @@ public class SalesOrderController extends BaseController{ ...@@ -319,7 +480,7 @@ public class SalesOrderController extends BaseController{
String account = (String)map.get("d"); String account = (String)map.get("d");
String salesSchool = (String)map.get("e"); String salesSchool = (String)map.get("e");
String salesSubst = (String)map.get("f"); String salesSubst = (String)map.get("f");
Map<String, Object> theMap = new HashMap<String, Object>(); Map<String, Object> theMap = new HashMap<String, Object>();
theMap.put("sortNo", sortNo); theMap.put("sortNo", sortNo);
theMap.put("orderPhone", orderPhone); theMap.put("orderPhone", orderPhone);
...@@ -328,7 +489,7 @@ public class SalesOrderController extends BaseController{ ...@@ -328,7 +489,7 @@ public class SalesOrderController extends BaseController{
theMap.put("salesSchool", salesSchool); theMap.put("salesSchool", salesSchool);
theMap.put("salesSubst", salesSubst); theMap.put("salesSubst", salesSubst);
if(null == userMaps.get(account)) { if(null == userMaps.get(account)) {
theMap.put("desc", "账号不存在"); theMap.put("desc", "账号不存在");
infoList.add(theMap); infoList.add(theMap);
...@@ -336,17 +497,17 @@ public class SalesOrderController extends BaseController{ ...@@ -336,17 +497,17 @@ public class SalesOrderController extends BaseController{
}else { }else {
theMap.put("userId", userMaps.get(account)); theMap.put("userId", userMaps.get(account));
} }
if(null != phoneSchoolMap.get(orderPhone)) { if(null != phoneSchoolMap.get(orderPhone)) {
String phoneSchool = (String)phoneSchoolMap.get(orderPhone); String phoneSchool = (String)phoneSchoolMap.get(orderPhone);
if(phoneSchool.indexOf(salesSchool) > -1) { if(phoneSchool.indexOf(salesSchool) > -1) {
theMap.put("desc", "放号号码该销售学校有重复记录,请去重后重新上传"); theMap.put("desc", "放号号码该销售学校有重复记录,请去重后重新上传");
infoList.add(theMap); infoList.add(theMap);
}else { }else {
theMap.put("desc", "放号号码"+ phoneSchool +","+salesSchool +"学校有重复记录,请后期进行核对;"); theMap.put("desc", "放号号码"+ phoneSchool +","+salesSchool +"学校有重复记录,请后期进行核对;");
theMap.put("phoneSchool", phoneSchool +","+salesSchool); theMap.put("phoneSchool", phoneSchool +","+salesSchool);
updateList.add(theMap); updateList.add(theMap);
insertList.add(theMap); insertList.add(theMap);
phoneSchoolList.add(theMap); phoneSchoolList.add(theMap);
...@@ -357,23 +518,23 @@ public class SalesOrderController extends BaseController{ ...@@ -357,23 +518,23 @@ public class SalesOrderController extends BaseController{
insertList.add(theMap); insertList.add(theMap);
phoneSchoolList.add(theMap); phoneSchoolList.add(theMap);
} }
} }
int num = addSalesOrder(insertList); int num = addSalesOrder(insertList);
updatePhoneSchool(phoneSchoolList); updatePhoneSchool(phoneSchoolList);
updateRepealOrder(updateList); updateRepealOrder(updateList);
resultMap.put("num", num); resultMap.put("num", num);
resultMap.put("infoList", infoList); resultMap.put("infoList", infoList);
return resultMap; return resultMap;
} }
// 插入销售订单表 // 插入销售订单表
public int addSalesOrder(List<Map<String, Object>> list) { public int addSalesOrder(List<Map<String, Object>> list) {
int num = 0; int num = 0;
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
SalesOrder order = new SalesOrder(); SalesOrder order = new SalesOrder();
order.setOrderPhone((String)map.get("orderPhone")); order.setOrderPhone((String)map.get("orderPhone"));
...@@ -384,33 +545,33 @@ public class SalesOrderController extends BaseController{ ...@@ -384,33 +545,33 @@ public class SalesOrderController extends BaseController{
order.setOrderType("1"); order.setOrderType("1");
order.setName((String)map.get("name")); order.setName((String)map.get("name"));
order.setAccount((String)map.get("account")); order.setAccount((String)map.get("account"));
num += salesOrderMapper.insert(order); num += salesOrderMapper.insert(order);
} }
return num; return num;
} }
// 更新号码销售学校表 // 更新号码销售学校表
public void updatePhoneSchool(List<Map<String, Object>> list) { public void updatePhoneSchool(List<Map<String, Object>> list) {
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
salesOrderMapper.updatePhoneSchool((String)map.get("orderPhone"), (String)map.get("phoneSchool")); salesOrderMapper.updatePhoneSchool((String)map.get("orderPhone"), (String)map.get("phoneSchool"));
} }
} }
// 更新重复订单的备注说明 // 更新重复订单的备注说明
public void updateRepealOrder(List<Map<String, Object>> list) { public void updateRepealOrder(List<Map<String, Object>> list) {
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
String orderPhone = (String)map.get("orderPhone"); String orderPhone = (String)map.get("orderPhone");
// 0 重复上传 // 0 重复上传
String status = "0"; String status = "0";
String phoneSchool = (String)map.get("phoneSchool"); String phoneSchool = (String)map.get("phoneSchool");
String remark = "放号号码在"+ phoneSchool + "重复上传"; String remark = "放号号码在"+ phoneSchool + "重复上传";
salesOrderMapper.updateRepealOrder(status,remark,orderPhone); salesOrderMapper.updateRepealOrder(status,remark,orderPhone);
} }
} }
/** /**
* 充值审核 * 充值审核
* *
...@@ -481,22 +642,22 @@ public class SalesOrderController extends BaseController{ ...@@ -481,22 +642,22 @@ public class SalesOrderController extends BaseController{
return ResponseData.error("第" + (i + 1) + "行的充值金额不能为空"); return ResponseData.error("第" + (i + 1) + "行的充值金额不能为空");
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("充值审核导入异常" + e.getMessage(), e); log.error("充值审核导入异常" + e.getMessage(), e);
return ResponseData.error("导入异常!"); return ResponseData.error("导入异常!");
} }
// 去掉首行标题 // 去掉首行标题
listMap.remove(0); listMap.remove(0);
int num = dealRechargeData(listMap); int num = dealRechargeData(listMap);
return ResponseData.success("审核完成,审核"+ num +"条订单!"); return ResponseData.success("审核完成,审核"+ num +"条订单!");
} }
// 处理充值审核数据 // 处理充值审核数据
public int dealRechargeData(List<Map<String,Object>> list){ public int dealRechargeData(List<Map<String,Object>> list){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -7); calendar.add(Calendar.MONTH, -7);
...@@ -510,15 +671,15 @@ public class SalesOrderController extends BaseController{ ...@@ -510,15 +671,15 @@ public class SalesOrderController extends BaseController{
wrapperOrder.ne("status", "0"); wrapperOrder.ne("status", "0");
List<Map<String, Object>> orderList = salesOrderMapper.selectMaps(wrapperOrder); List<Map<String, Object>> orderList = salesOrderMapper.selectMaps(wrapperOrder);
Map<String, Map<String,Object>> orderMaps = MapUtil.listToMap(orderList, "orderPhone"); Map<String, Map<String,Object>> orderMaps = MapUtil.listToMap(orderList, "orderPhone");
// 获取学校清单比较网点 // 获取学校清单比较网点
Wrapper<School> wrapperSchool = new EntityWrapper<School>(); Wrapper<School> wrapperSchool = new EntityWrapper<School>();
wrapperSchool.setSqlSelect(" school_name as schoolName,network_name as networkName,network_code as networkCode "); wrapperSchool.setSqlSelect(" school_name as schoolName,network_name as networkName,network_code as networkCode ");
List<Map<String, Object>> schoolList = schoolMapper.selectMaps(wrapperSchool); List<Map<String, Object>> schoolList = schoolMapper.selectMaps(wrapperSchool);
Map<String, Map<String,Object>> schoolMaps = MapUtil.listToMap(schoolList, "schoolName"); Map<String, Map<String,Object>> schoolMaps = MapUtil.listToMap(schoolList, "schoolName");
List<Map<String, Object>> updateList = new ArrayList<Map<String,Object>>(); List<Map<String, Object>> updateList = new ArrayList<Map<String,Object>>();
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
String orderPhone = (String)map.get("a"); String orderPhone = (String)map.get("a");
String activateTime = (String)map.get("b"); String activateTime = (String)map.get("b");
...@@ -526,34 +687,34 @@ public class SalesOrderController extends BaseController{ ...@@ -526,34 +687,34 @@ public class SalesOrderController extends BaseController{
String networkName = (String)map.get("d"); String networkName = (String)map.get("d");
double amount = Double.parseDouble((String)map.get("e")); double amount = Double.parseDouble((String)map.get("e"));
boolean isSkip = false; boolean isSkip = false;
if(null != orderMaps.get(orderPhone)) { if(null != orderMaps.get(orderPhone)) {
Map<String, Object> orderMap = (Map<String, Object>)orderMaps.get(orderPhone); Map<String, Object> orderMap = (Map<String, Object>)orderMaps.get(orderPhone);
String status = "2"; String status = "2";
String remark = "激活号码所属学校与上报学校不一致"; String remark = "激活号码所属学校与上报学校不一致";
if(null == networkName) { if(null == networkName) {
isSkip = true; isSkip = true;
} }
Map<String, Object> schoolMap = (Map<String, Object>)schoolMaps.get(orderMap.get("salesSchool")); Map<String, Object> schoolMap = (Map<String, Object>)schoolMaps.get(orderMap.get("salesSchool"));
if(null != schoolMap.get("networkCode")) { if(null != schoolMap.get("networkCode")) {
if(networkCode.equals(schoolMap.get("networkCode"))) { if(networkCode.equals(schoolMap.get("networkCode"))) {
double bonus = 0; double bonus = 0;
double allBonus = 0; double allBonus = 0;
double nonSendBonus = 0; double nonSendBonus = 0;
if(amount >= 50 && amount < 100) { if(amount >= 50 && amount < 100) {
bonus = 20; bonus = 20;
}else if(amount >= 100) { }else if(amount >= 100) {
bonus = 40; bonus = 40;
} }
if("广州美术学院(大学城)".equals(orderMap.get("sales_school")) && bonus >= 20){ if("广州美术学院(大学城)".equals(orderMap.get("sales_school")) && bonus >= 20){
bonus = 10; bonus = 10;
} }
allBonus = bonus; allBonus = bonus;
nonSendBonus = bonus; nonSendBonus = bonus;
if(bonus == 0) { if(bonus == 0) {
...@@ -563,7 +724,7 @@ public class SalesOrderController extends BaseController{ ...@@ -563,7 +724,7 @@ public class SalesOrderController extends BaseController{
status = "3"; status = "3";
remark = ""; remark = "";
} }
orderMap.put("allBonus", allBonus); orderMap.put("allBonus", allBonus);
orderMap.put("nonSendBonus", nonSendBonus); orderMap.put("nonSendBonus", nonSendBonus);
orderMap.put("recentlyAmount", amount); orderMap.put("recentlyAmount", amount);
...@@ -572,7 +733,7 @@ public class SalesOrderController extends BaseController{ ...@@ -572,7 +733,7 @@ public class SalesOrderController extends BaseController{
}else { }else {
remark = "该学校的网点信息未添加"; remark = "该学校的网点信息未添加";
} }
orderMap.put("status", status); orderMap.put("status", status);
orderMap.put("remark", remark); orderMap.put("remark", remark);
orderMap.put("activateTime", activateTime); orderMap.put("activateTime", activateTime);
...@@ -581,16 +742,16 @@ public class SalesOrderController extends BaseController{ ...@@ -581,16 +742,16 @@ public class SalesOrderController extends BaseController{
updateList.add(orderMap); updateList.add(orderMap);
} }
} }
int num = updateAuditResult(updateList); int num = updateAuditResult(updateList);
return num; return num;
} }
// 更新审核结果到销售订单 // 更新审核结果到销售订单
public int updateAuditResult(List<Map<String, Object>> list) { public int updateAuditResult(List<Map<String, Object>> list) {
int num = 0; int num = 0;
try { try {
for(Map<String, Object> map : list) { for(Map<String, Object> map : list) {
SalesOrder order = new SalesOrder(); SalesOrder order = new SalesOrder();
...@@ -598,7 +759,7 @@ public class SalesOrderController extends BaseController{ ...@@ -598,7 +759,7 @@ public class SalesOrderController extends BaseController{
order.setStatus((String)map.get("status")); order.setStatus((String)map.get("status"));
order.setRemark((String)map.get("remark")); order.setRemark((String)map.get("remark"));
order.setAuditTime(new Date()); order.setAuditTime(new Date());
if(!"1".equals((String)map.get("status"))) { if(!"1".equals((String)map.get("status"))) {
order.setAllBonus((double)map.get("allBonus")); order.setAllBonus((double)map.get("allBonus"));
order.setNonSendBonus((double)map.get("nonSendBonus")); order.setNonSendBonus((double)map.get("nonSendBonus"));
...@@ -608,16 +769,16 @@ public class SalesOrderController extends BaseController{ ...@@ -608,16 +769,16 @@ public class SalesOrderController extends BaseController{
order.setNetworkCode((String)map.get("networkCode")); order.setNetworkCode((String)map.get("networkCode"));
order.setNetworkName((String)map.get("networkName")); order.setNetworkName((String)map.get("networkName"));
} }
num += salesOrderMapper.updateById(order); num += salesOrderMapper.updateById(order);
} }
}catch (Exception e) { }catch (Exception e) {
log.error("更新审核结果到销售订单异常" + e.getMessage(), e); log.error("更新审核结果到销售订单异常" + e.getMessage(), e);
} }
return num; return num;
} }
@Permission(menuname = "放号上传模板", method = RequestMethod.POST, value = "downloadTemplateFH") @Permission(menuname = "放号上传模板", method = RequestMethod.POST, value = "downloadTemplateFH")
public ResponseData<String> downloadTemplateFH() { public ResponseData<String> downloadTemplateFH() {
ArrayList<String> columns = new ArrayList<>(); ArrayList<String> columns = new ArrayList<>();
...@@ -638,7 +799,7 @@ public class SalesOrderController extends BaseController{ ...@@ -638,7 +799,7 @@ public class SalesOrderController extends BaseController{
sheet.setColumnWidth(3, 4000); sheet.setColumnWidth(3, 4000);
sheet.setColumnWidth(4, 4000); sheet.setColumnWidth(4, 4000);
sheet.setColumnWidth(5, 4000); sheet.setColumnWidth(5, 4000);
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
XSSFCellStyle cellStyle = workbook.createCellStyle(); XSSFCellStyle cellStyle = workbook.createCellStyle();
...@@ -662,7 +823,7 @@ public class SalesOrderController extends BaseController{ ...@@ -662,7 +823,7 @@ public class SalesOrderController extends BaseController{
} }
return ResponseData.error("放号上传清单模板出错"); return ResponseData.error("放号上传清单模板出错");
} }
@Permission(menuname = "充值审核模板", method = RequestMethod.POST, value = "downloadTemplateCZ") @Permission(menuname = "充值审核模板", method = RequestMethod.POST, value = "downloadTemplateCZ")
public ResponseData<String> downloadTemplateCZ() { public ResponseData<String> downloadTemplateCZ() {
ArrayList<String> columns = new ArrayList<>(); ArrayList<String> columns = new ArrayList<>();
...@@ -680,7 +841,7 @@ public class SalesOrderController extends BaseController{ ...@@ -680,7 +841,7 @@ public class SalesOrderController extends BaseController{
sheet.setColumnWidth(2, 9000); sheet.setColumnWidth(2, 9000);
sheet.setColumnWidth(1, 4000); sheet.setColumnWidth(1, 4000);
sheet.setColumnWidth(3, 9000); sheet.setColumnWidth(3, 9000);
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
XSSFCellStyle cellStyle = workbook.createCellStyle(); XSSFCellStyle cellStyle = workbook.createCellStyle();
...@@ -704,11 +865,11 @@ public class SalesOrderController extends BaseController{ ...@@ -704,11 +865,11 @@ public class SalesOrderController extends BaseController{
} }
return ResponseData.error("充值审核清单模板出错"); return ResponseData.error("充值审核清单模板出错");
} }
@Permission(menuname = "导出导入结果", value = "exportResult", method = RequestMethod.POST) @Permission(menuname = "导出导入结果", value = "exportResult", method = RequestMethod.POST)
public void exportResult( public void exportResult(
) throws IOException { ) throws IOException {
List<String> tops = new ArrayList<>(); List<String> tops = new ArrayList<>();
tops.add(FH_SORT); tops.add(FH_SORT);
tops.add(FH_ORDER_PHONE); tops.add(FH_ORDER_PHONE);
...@@ -760,102 +921,52 @@ public class SalesOrderController extends BaseController{ ...@@ -760,102 +921,52 @@ public class SalesOrderController extends BaseController{
os = response.getOutputStream(); os = response.getOutputStream();
workbook.write(os); workbook.write(os);
os.flush(); os.flush();
exportList = null; exportList = null;
} catch (Exception e) { } catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e); log.error("文件出错!" + e.getMessage(), e);
} finally { } finally {
IOUtils.closeQuite(workbook, os); IOUtils.closeQuite(workbook, os);
} }
} }
public static String timeStamp2Date(String seconds,String format) { public static String timeStamp2Date(String seconds,String format) {
if(seconds == null || seconds.isEmpty() || seconds.equals("null")){ if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
return ""; return "";
} }
if(format == null || format.isEmpty()){ if(format == null || format.isEmpty()){
format = "yyyy-MM-dd HH:mm:ss"; format = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date(Long.valueOf(seconds+"000")));
}
@Permission(menuname = "导出销售清单", value = "exportOrderList", method = RequestMethod.POST)
public void exportOrderList(@RequestParam("orderPhone") String orderPhone,
@RequestParam("name") String name,@RequestParam("account") String account,
@RequestParam("status") String status,@RequestParam("orderType") String orderType,
@RequestParam("createTimeStart") String createTimeStart,@RequestParam("createTimeEnd") String createTimeEnd,
@RequestParam("activateTimeStart") String activateTimeStart,@RequestParam("activateTimeEnd") String activateTimeEnd
) throws IOException {
Wrapper<SalesOrder> wrapperOrder = new EntityWrapper<SalesOrder>();
wrapperOrder.eq(StringUtils.isNotBlank(orderPhone), "order_phone", orderPhone);
wrapperOrder.eq(StringUtils.isNotBlank(orderType), "order_type", orderType);
wrapperOrder.eq(StringUtils.isNotBlank(status), "status", status);
wrapperOrder.eq(StringUtils.isNotBlank(name), "name", name);
wrapperOrder.eq(StringUtils.isNotBlank(account), "account", account);
List<Map<String, Object>> orderList = salesOrderMapper.selectMaps(wrapperOrder);
List<String> tops = new ArrayList<>();
tops.add("销售学校");
tops.add("销售县分");
tops.add("激活号码");
tops.add("放号人");
tops.add("放号人账号");
tops.add("创建时间");
List<String> columns = new ArrayList<>();
columns.add("salesSubst");
columns.add("salesSchool");
columns.add("orderPhone");
columns.add("name");
columns.add("account");
columns.add("createTime");
ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook();
try {
//创建工作表
XSSFSheet sheet = workbook.createSheet("积分记录清单");
//添加表头
final XSSFRow row = sheet.createRow(0);
//设置列宽度
sheet.setColumnWidth(1, 6500);
sheet.setColumnWidth(2, 6500);
sheet.setColumnWidth(3, 6500);
sheet.setColumnWidth(4, 6500);
sheet.setColumnWidth(5, 7000);
sheet.setColumnWidth(6, 4000);
//第一行字段名称
tops.forEach(column -> {
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
cell.setCellValue(column);
});
//数据
int rowIndex = row.getRowNum();
for (Map<String, Object> maps: orderList) {
final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
if (maps.get(column) != null) {
cell.setCellValue(maps.get(column).toString());
}
}
}
HttpServletResponse response = getHttpServletResponse();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e);
} finally {
IOUtils.closeQuite(workbook, os);
} }
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date(Long.valueOf(seconds+"000")));
} }
/**
*
* @param substName
* @return
*/
@Permission(menuname = "初始县分", value = "initSubstName", method = RequestMethod.POST)
public ResponseData<List<School>> initSubstName(@RequestParam(name = "substName", required = false) String substName){
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.groupBy("sub_name");
List<School> list = schoolMapper.selectList(schoolWrapper);
return ResponseData.success(list);
}
/**
*
* @param substName
* @return
*/
@Permission(menuname = "初始学校", value = "getSchoolNames", method = RequestMethod.POST)
public ResponseData<List<School>> getSchoolNames(@RequestParam(name = "substName", required = false) String substName){
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.eq(StringUtils.isNotBlank(substName),"sub_name",substName);
schoolWrapper.groupBy("school_name");
List<School> list = schoolMapper.selectList(schoolWrapper);
return ResponseData.success(list);
}
} }
...@@ -15,14 +15,16 @@ public class ExcelDealUtils { ...@@ -15,14 +15,16 @@ public class ExcelDealUtils {
String sheetName = headData.get("sheetName").toString(); String sheetName = headData.get("sheetName").toString();
List<String> names = (List<String>)headData.get("names"); List<String> names = (List<String>)headData.get("names");
List<String> columns = (List<String>)headData.get("columns"); List<String> columns = (List<String>)headData.get("columns");
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFWorkbook workbook = new XSSFWorkbook();
//创建工作表 //创建工作表
XSSFSheet sheet = workbook.createSheet(sheetName); XSSFSheet sheet = workbook.createSheet(sheetName);
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
//设置列宽度 //设置列宽度
for (int i=1 ;i <= columns.size();i++ ){
sheet.setColumnWidth(i, 2500);
}
// sheet.setColumnWidth(1, 6500); // sheet.setColumnWidth(1, 6500);
// sheet.setColumnWidth(2, 6500); // sheet.setColumnWidth(2, 6500);
...@@ -45,6 +47,41 @@ public class ExcelDealUtils { ...@@ -45,6 +47,41 @@ public class ExcelDealUtils {
return workbook; return workbook;
} }
@SuppressWarnings("unchecked")
public static XSSFWorkbook getWorkBook2(Map<String, Object> headData,List<Map<String,Object>> list,List<Integer> list1) {
String sheetName = headData.get("sheetName").toString();
List<String> names = (List<String>)headData.get("names");
List<String> columns = (List<String>)headData.get("columns");
XSSFWorkbook workbook = new XSSFWorkbook();
//创建工作表
XSSFSheet sheet = workbook.createSheet(sheetName);
//添加表头
final XSSFRow row = sheet.createRow(0);
//设置列宽度
for (int i=0 ;i < list1.size();i++ ){
sheet.setColumnWidth(i, list1.get(i));
}
//第一行字段名称
names.forEach(column -> {
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
cell.setCellValue(column);
});
//数据
int rowIndex = row.getRowNum();
for (Map<String, Object> maps: list) {
final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
if (maps.get(column) != null) {
cell.setCellValue(maps.get(column).toString());
}
}
}
return workbook;
}
public static Map<String, Object> dealHeadMap(Map<String, Object> map){ public static Map<String, Object> dealHeadMap(Map<String, Object> map){
Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> resultMap = new HashMap<String, Object>();
...@@ -144,7 +181,23 @@ public class ExcelDealUtils { ...@@ -144,7 +181,23 @@ public class ExcelDealUtils {
Map<String, Object> resultMap = dealHeadMap(headMap); Map<String, Object> resultMap = dealHeadMap(headMap);
resultMap.put("sheetName", sheetName); resultMap.put("sheetName", sheetName);
return resultMap;
}
// 导出放号充值达标清单excel表头
public static Map<String, Object> salesOrderExcel(String sheetName){
Map<String, Object> headMap = new LinkedHashMap<String, Object>();
headMap.put("放号号码", "orderPhone");
headMap.put("放号学校", "salesSchool");
headMap.put("放号县分", "salesSubst");
headMap.put("放号人", "name");
headMap.put("放号人账号", "account");
headMap.put("职位", "position");
headMap.put("上级领导", "leader");
headMap.put("总经理", "president");
headMap.put("上传时间", "createTime");
headMap.put("激活时间", "activateTime");
Map<String, Object> resultMap = dealHeadMap(headMap);
resultMap.put("sheetName", sheetName);
return resultMap; return resultMap;
} }
......
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