|
|
@@ -1,6 +1,8 @@
|
|
|
package com.goafanti.order.service.impl;
|
|
|
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
@@ -15,8 +17,12 @@ import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
import javax.mail.MessagingException;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
@@ -77,6 +83,7 @@ import com.goafanti.order.bo.TOrderLogBo;
|
|
|
import com.goafanti.order.bo.TOrderNewBo;
|
|
|
import com.goafanti.order.bo.TOrderRefundBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
+import com.goafanti.order.bo.TOrderTaskListBo;
|
|
|
import com.goafanti.order.enums.ActiveState;
|
|
|
import com.goafanti.order.enums.ApprovalNewState;
|
|
|
import com.goafanti.order.enums.LiquidationNewState;
|
|
|
@@ -776,19 +783,65 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
|
|
|
/**
|
|
|
* 获取催款数据
|
|
|
+ * @throws IOException
|
|
|
*/
|
|
|
- @SuppressWarnings("null")
|
|
|
@Override
|
|
|
- public XSSFWorkbook exportOrderDunData(String name, String orderNo,String adminName,String depId, String starTime, String endTime) {
|
|
|
- if(endTime!=null) endTime=endTime+" 23:59:59";
|
|
|
- List<TOrderNewBo> list=tOrderDunMapper.getOrderDunData(name,orderNo, adminName, depId,starTime,endTime);
|
|
|
- if (list==null && list.size()==0) {
|
|
|
- return null;
|
|
|
+ public void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
|
|
|
+ String depId,Integer pageNo,Integer pageSize,HttpServletResponse response) throws IOException {
|
|
|
+ OutputStream out = response.getOutputStream();
|
|
|
+ try {
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ List<TOrderNewBo> list=(List<TOrderNewBo>) dunOrderNewList( name, orderNo, starTime, endTime,
|
|
|
+ specially, adminName, depId, pageNo, pageSize).getList();
|
|
|
+ String[] comment = {"合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","签单金额","结算状态","已收款","应收款","项目节点","项目状态","催收科目","催款启动时间"};
|
|
|
+ String fileName ="催款信息记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
+ //type 0 变更
|
|
|
+ XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"催款信息");
|
|
|
+ //根据列表编写文档
|
|
|
+ XSSFSheet sheet =wb.getSheetAt(0);
|
|
|
+ for (TOrderNewBo ob : list) {
|
|
|
+ //新增一行
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ for (int i = 0; i < comment.length; i++) {
|
|
|
+ //当前列的只
|
|
|
+ String o = "";
|
|
|
+ switch (comment[i]) {
|
|
|
+// "合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","项目负责人","签单金额","结算状态","已收款","应收款","项目状态","催收科目","催款启动时间"
|
|
|
+ case "合同编号": o = ob.getContractNo(); break;
|
|
|
+ case "订单编号": o = ob.getOrderNo().toString(); break;
|
|
|
+ case "客户名称": o = ob.getUserName(); break;
|
|
|
+ case "订单负责人": o = ob.getSalesmanName(); break;
|
|
|
+ case "订单部门": o = ob.getDepName(); break;
|
|
|
+ case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus());break;
|
|
|
+ case "签单金额": o = ob.getTotalAmount().toString(); break;
|
|
|
+ case "结算状态": o = LiquidationNewState.getValueByCode(ob.getLiquidationStatus()); break;
|
|
|
+ case "已收款": o = ob.getSettlementAmount().toString(); break;
|
|
|
+ case "应收款": o = ob.getAccountsReceivable(); break;
|
|
|
+ case "项目节点": o = ob.getSalesmanName(); break;
|
|
|
+ case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
|
|
|
+ case "催收科目": o = OrderDunSubject.getValueByCode(Integer.valueOf(ob.getDunSubject())); break;
|
|
|
+ case "催款启动时间": o = ob.getStartDate(); break;
|
|
|
+
|
|
|
+ default: o = ""; break;
|
|
|
+ }
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
+ c.setCellValue(o);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //返回名称及参数
|
|
|
+ response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
|
|
|
+ response.setContentType("application/octet-stream;charset=utf-8");
|
|
|
+ // 返回数据流
|
|
|
+ wb.write(out);
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BusinessException(new Error("表格生成错误。"));
|
|
|
+ }finally {
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
}
|
|
|
- String[] comment = {"订单编号","签单时间","客户名称","订单状态","签单金额(万元)","项目状态","结算状态","应收款(万元)","已收款(万元)","未收款(万元)","订单部门","订单负责人","催收科目","催款启动日期"};
|
|
|
- String filePath = uploadPath + "/OrderDun";
|
|
|
- XSSFWorkbook wb = ExportExcelUtil.exportOrderDunData(list, comment, filePath);
|
|
|
- return wb;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|