|
@@ -1,13 +1,18 @@
|
|
|
package com.minpay.guomao.invoicemanage;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
+import org.apache.commons.fileupload.FileItem;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.read.listener.PageReadListener;
|
|
|
import com.min.util.DateUtil;
|
|
|
import com.minpay.common.bean.User;
|
|
|
import com.minpay.common.format.IFormatService;
|
|
@@ -15,40 +20,26 @@ import com.minpay.common.service.ILogService;
|
|
|
import com.minpay.common.service.IPublicService;
|
|
|
import com.minpay.common.service.ISiService;
|
|
|
import com.minpay.common.util.CommonUtil;
|
|
|
-import com.minpay.common.util.ListUtil;
|
|
|
-import com.minpay.db.table.mapper.ApBrandInfMapper;
|
|
|
import com.minpay.db.table.mapper.ApCompanyInfMapper;
|
|
|
import com.minpay.db.table.mapper.ApInvoiceDetailMapper;
|
|
|
import com.minpay.db.table.mapper.ApInvoiceOrderMapper;
|
|
|
import com.minpay.db.table.mapper.ApLvInvoiceMapper;
|
|
|
-import com.minpay.db.table.mapper.ApProductInfMapper;
|
|
|
-import com.minpay.db.table.mapper.ApProductSpecRelMapper;
|
|
|
import com.minpay.db.table.mapper.ApScanInvoiceMapper;
|
|
|
-import com.minpay.db.table.mapper.ApWarehouseInfMapper;
|
|
|
import com.minpay.db.table.mapper.ApWarehouseStockMapper;
|
|
|
-import com.minpay.db.table.model.ApBrandInf;
|
|
|
-import com.minpay.db.table.model.ApBrandInfExample;
|
|
|
import com.minpay.db.table.model.ApCompanyInf;
|
|
|
-import com.minpay.db.table.model.ApContractInf;
|
|
|
import com.minpay.db.table.model.ApInvoiceDetail;
|
|
|
import com.minpay.db.table.model.ApInvoiceDetailExample;
|
|
|
import com.minpay.db.table.model.ApInvoiceOrder;
|
|
|
import com.minpay.db.table.model.ApInvoiceOrderExample;
|
|
|
import com.minpay.db.table.model.ApLvInvoice;
|
|
|
-import com.minpay.db.table.model.ApProductInf;
|
|
|
-import com.minpay.db.table.model.ApProductInfExample;
|
|
|
-import com.minpay.db.table.model.ApProductSpecRel;
|
|
|
-import com.minpay.db.table.model.ApProductSpecRelExample;
|
|
|
import com.minpay.db.table.model.ApScanInvoice;
|
|
|
import com.minpay.db.table.model.ApScanInvoiceExample;
|
|
|
-import com.minpay.db.table.model.ApWarehouseInf;
|
|
|
import com.minpay.db.table.model.ApWarehouseStock;
|
|
|
import com.minpay.db.table.model.ApWarehouseStockExample;
|
|
|
-import com.minpay.db.table.model.OwnApCompanyInfExample;
|
|
|
-import com.minpay.db.table.model.OwnApWarehouseInfExample;
|
|
|
-import com.minpay.db.table.own.mapper.OrderManageMapper;
|
|
|
import com.minpay.db.table.own.mapper.WarehouseInventoryMapper;
|
|
|
+import com.minpay.guomao.invoicemanage.model.InvoicesExcel;
|
|
|
import com.startup.minpay.frame.business.IMINAction;
|
|
|
+import com.startup.minpay.frame.business.MINHttpServletRequestContext;
|
|
|
import com.startup.minpay.frame.business.res.MINActionResult;
|
|
|
import com.startup.minpay.frame.constant.IMINTransactionEnum;
|
|
|
import com.startup.minpay.frame.exception.MINBusinessException;
|
|
@@ -95,6 +86,9 @@ public class ScanInvoice4NewAction implements IMINAction {
|
|
|
/**删除铝产品发票信息 */
|
|
|
public final static String DELETE_LV_INVOICES = "deleteLvInvoices";
|
|
|
|
|
|
+ /**导入excel */
|
|
|
+ public final static String EXCEL_UPLOAD = "excelUpload";
|
|
|
+
|
|
|
/**
|
|
|
* 删除发票信息
|
|
|
* @param fpId 发票ID
|
|
@@ -1064,4 +1058,23 @@ public class ScanInvoice4NewAction implements IMINAction {
|
|
|
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+ @MINAction(value = EXCEL_UPLOAD)
|
|
|
+ public MINActionResult excelUpload(
|
|
|
+ MINHttpServletRequestContext MINRequest,
|
|
|
+ MINSession session
|
|
|
+ ) throws MINBusinessException, IOException {
|
|
|
+ MINActionResult res = new MINActionResult();
|
|
|
+ FileItem file = MINRequest.getFile("file");
|
|
|
+ InputStream inputStean = file.getInputStream();
|
|
|
+ // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
|
|
|
+ EasyExcel.read(inputStean, InvoicesExcel.class, new PageReadListener<InvoicesExcel>(dataList -> {
|
|
|
+ List<JSONObject> resList = new ArrayList<>();
|
|
|
+ for (InvoicesExcel demoData : dataList) {
|
|
|
+ resList.add(JSONObject.fromObject(demoData));
|
|
|
+ }
|
|
|
+ res.set("excelData", resList);
|
|
|
+ })).sheet().doRead();
|
|
|
+ return res;
|
|
|
+ }
|
|
|
}
|