Commit 9ddd5769 by 伍思炜

文件下载

parent 1243fe98
......@@ -3,9 +3,12 @@ package com.winsun.service;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.ExportExcel;
import com.winsun.bean.Order;
import com.winsun.bean.School;
import com.winsun.constant.DeliveryType;
import com.winsun.constant.ExamineType;
import com.winsun.constant.FilePath;
import com.winsun.constant.UserType;
import com.winsun.mapper.ExportExcelMapper;
......@@ -20,6 +23,8 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
......@@ -45,6 +50,9 @@ public class ExportService extends BaseController {
private ExportExcelMapper exportExcelMapper;
@Autowired
private IHhrUserService hhrUserService;
@Autowired
public ExportService(OrderMapper orderMapper,ExportExcelMapper exportExcelMapper){
this.orderMapper = orderMapper;
this.exportExcelMapper = exportExcelMapper;
......@@ -67,6 +75,14 @@ public class ExportService extends BaseController {
if(map.containsKey("successTimeEnd")){
successTimeEnd = map.get("successTimeEnd").toString();
}
String kuaidiTimeStart = "";
if(map.containsKey("kuaidiTimeStart")){
kuaidiTimeStart = map.get("kuaidiTimeStart").toString();
}
String kuaidiTimeEnd = "";
if(map.containsKey("kuaidiTimeEnd")) {
kuaidiTimeEnd = map.get("kuaidiTimeEnd").toString();
}
String userType = "";
if(map.containsKey("userType")){
userType = map.get("userType").toString();
......@@ -107,7 +123,6 @@ public class ExportService extends BaseController {
if (map.containsKey("businessPackage")) {
businessPackage = map.get("businessPackage").toString();
}
boolean isYzk = false;
if (map.containsKey("isYzk")) {
isYzk = true;
......@@ -117,15 +132,31 @@ public class ExportService extends BaseController {
isDelivery = map.get("isDelivery").toString();
}
ShiroUser user = getShiroUser();
// 添加查询权限
List<Integer> userIds = hhrUserService.getUserIds(user.getId(), user.getRoleNames());
EntityWrapper<Order> wrapper = new EntityWrapper();
wrapper.notIn("user_type", "3,5,9,10");
wrapper.setSqlSelect("customer_name, business_number, order_status, create_time, " +
"hehuoren_id,hehuoren_area, hehuoren_school, hehuoren_name, hehuoren_phone, " +
"supervisor_name, user_type, kapin, business_package, contact_number, order_number, xb_order_id, order_id, site, address, " +
"is_delivery, company, kuaidi_order, business_iccid, kuaidi_time, success_time, userSchool, student_card_check_status, " +
"parent_name, student_number, class_number");
wrapper.notIn( "user_type", "3,5,9,10");
if (userIds.size() != 0) {
wrapper.in("hehuoren_id", userIds);
}
wrapper.isNull("kd_order_id");
wrapper.ge(StringUtils.isNotBlank(createTimeStart), "create_time", createTimeStart);
wrapper.le(StringUtils.isNotBlank(createTimeEnd), "create_time", createTimeEnd);
wrapper.ge(StringUtils.isNotBlank(successTimeStart), "success_time", successTimeStart);
wrapper.le(StringUtils.isNotBlank(successTimeEnd), "success_time", successTimeEnd);
wrapper.ge(StringUtils.isNotBlank(kuaidiTimeStart), "kuaidi_time", kuaidiTimeStart);
wrapper.le(StringUtils.isNotBlank(kuaidiTimeEnd), "kuaidi_time", kuaidiTimeEnd);
wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType);
wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
//wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
// wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
// wrapper.isNotNull(isYzk, "order_id");
wrapper.eq(StringUtils.isNotBlank(hehuorenArea), "hehuoren_area", hehuorenArea);
wrapper.eq(StringUtils.isNotBlank(customerName), "customer_name", customerName);
......@@ -136,61 +167,72 @@ public class ExportService extends BaseController {
wrapper.like(StringUtils.isNotBlank(businessPackage), "business_package", businessPackage, SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(orderStatus), "order_status", orderStatus);
wrapper.eq(StringUtils.isNotBlank(isDelivery), "is_delivery", isDelivery);
List<Map<String, Object>> Orders = orderMapper.downloadOrder(wrapper);
wrapper.orderBy("create_time",false);
List<Map<String, Object>> Orders = orderMapper.selectMaps(wrapper);
List<String> tops = new ArrayList<>();
tops.add("客户姓名");
tops.add("订单编号");
tops.add("联系号码");
tops.add("办理号码");
tops.add("办理套餐");
tops.add("合伙人姓名");
tops.add("订单状态");
tops.add("订单创建时间");
tops.add("县分");
tops.add("合伙人学校");
tops.add("合伙人姓名");
tops.add("合伙人手机");
tops.add("现有套餐");
tops.add("升级套餐");
tops.add("创建时间");
tops.add("受理时间");
tops.add("揽装人");
tops.add("揽装工号");
tops.add("订单状态");
tops.add("督导");
tops.add("订单类型");
tops.add("地区");
tops.add("地址");
// tops.add("学生证审核状态");
tops.add("办理套餐");
tops.add("升级套餐");
tops.add("联系号码");
tops.add("订单编号");
tops.add("小白卡单号");
tops.add("预制卡单号");
tops.add("收货地区");
tops.add("详细地址");
tops.add("配送方式");
tops.add("快递公司");
tops.add("快递单号");
tops.add("白卡ICCID");
tops.add("快递寄出时间");
tops.add("订单完成时间");
tops.add("用户学校");
tops.add("学生证审核");
tops.add("父母名字");
tops.add("学号");
tops.add("班级");
List<String> columns = new ArrayList<>();
columns.add("customer_name");
columns.add("order_number");
columns.add("contact_number");
columns.add("business_number");
columns.add("kapin");
columns.add("hehuoren_name");
columns.add("order_status");
columns.add("create_time");
columns.add("hehuoren_area");
columns.add("hehuoren_school");
columns.add("hehuoren_name");
columns.add("hehuoren_phone");
columns.add("now_package");
columns.add("business_package");
columns.add("create_time");
columns.add("accept_date");
columns.add("lz_user");
columns.add("lzgh");
columns.add("order_status");
columns.add("supervisor_name");
columns.add("user_type");
columns.add("kapin");
columns.add("business_package");
columns.add("contact_number");
columns.add("order_number");
columns.add("xb_order_id");
columns.add("order_id");
columns.add("site");
columns.add("address");
// columns.add("student_card_checkStatus");
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String formatPath = format.format(new Date());
String filePath = FilePath.IMPORTPATH.getValue()+formatPath;
String fileName = "订单"+new Date().getTime()+".xls";
String filePath1 = FilePath.IMPORTPATH.getValue()+formatPath+"/"+fileName;
File dir = new File(filePath);
if (!dir.exists()) {
dir.mkdirs();
}
FileOutputStream os = null;
XSSFWorkbook workbook = null;
columns.add("is_delivery");
columns.add("company");
columns.add("kuaidi_order");
columns.add("business_iccid");
columns.add("kuaidi_time");
columns.add("success_time");
columns.add("userSchool");
columns.add("student_card_check_status");
columns.add("parent_name");
columns.add("student_number");
columns.add("class_number");
ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook();
try {
workbook = new XSSFWorkbook();
os = new FileOutputStream(filePath1);
//创建工作表
XSSFSheet sheet = workbook.createSheet("订单清单");
//添加表头
......@@ -214,6 +256,17 @@ public class ExportService extends BaseController {
sheet.setColumnWidth(16, 6500);
sheet.setColumnWidth(17, 6500);
sheet.setColumnWidth(18, 6500);
sheet.setColumnWidth(19, 4000);
sheet.setColumnWidth(20, 6500);
sheet.setColumnWidth(21, 6500);
sheet.setColumnWidth(22, 6500);
sheet.setColumnWidth(23, 6500);
sheet.setColumnWidth(24, 6500);
sheet.setColumnWidth(25, 6500);
sheet.setColumnWidth(26, 6500);
sheet.setColumnWidth(27, 6500);
sheet.setColumnWidth(28, 6500);
sheet.setColumnWidth(29, 6500);
//第一行字段名称
tops.forEach(column -> {
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
......@@ -229,6 +282,15 @@ public class ExportService extends BaseController {
maps.put("lzgh",school.getLzgh());
String userTypeSrt = UserType.findById(maps.get("user_type").toString()).getName();
maps.put("user_type",userTypeSrt);
if(maps.get("is_delivery") != null && StringUtils.isNotBlank(maps.get("is_delivery").toString())){
String isDeliveryStr = DeliveryType.findById(maps.get("is_delivery").toString()).getName();
maps.put("is_delivery",isDeliveryStr);
}
if(maps.get("student_card_check_status") != null && StringUtils.isNotBlank(maps.get("student_card_check_status").toString())) {
String studentCardCheckStatusStr = ExamineType.findById(maps.get("student_card_check_status").toString()).getName();
maps.put("student_card_check_status",studentCardCheckStatusStr);
}
final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
......@@ -237,14 +299,13 @@ public class ExportService extends BaseController {
}
}
}
HttpServletResponse response = getHttpServletResponse();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
os = response.getOutputStream();
workbook.write(os);
ExportExcel exportExcel = new ExportExcel();
exportExcel.setCreateTime(new Date());
exportExcel.setCreateUser(Integer.parseInt(map.get("userId").toString()));
exportExcel.setCreateName(map.get("userName").toString());
exportExcel.setExportUrl(filePath1);
exportExcel.setFileName(fileName);
exportExcelMapper.insert(exportExcel);
os.flush();
} catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e);
} finally {
......
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