anderx лет назад: 6
Родитель
Сommit
9de6a1fd04

+ 22 - 4
src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml

@@ -662,7 +662,7 @@ select
 	where status != 4 and order_no= #{orderNo}
   </select>
   <select id="selectOrderChangeList" resultType="com.goafanti.order.bo.NewOderCahngeListBo">
-  select a.id,a.order_no orderNo, date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTimes,c.nickname,b.order_type orderType, 
+  select a.id,a.order_no orderNo,b.contract_no contractNo, date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTimes,c.nickname,b.order_type orderType, 
   date_format(b.create_time,'%Y-%m-%d %H:%i:%S')establishTimes, b.order_status orderStatus,b.total_amount totalAmount,a.status ,
   b.settlement_amount settlementAmount,(b.total_amount-b.settlement_amount) arrears,d.name salesmanName,e.name depName,a.`type`,
   a.process_state processState from new_order_change a left join t_order_new b on a.order_no=b.order_no 
@@ -685,11 +685,20 @@ select
 	and f.aid=#{aid}  and process_state &gt;= 2
 	</if>
 	<if test="processState==5">
-	and b.finance_id =#{aid}
+	and e.finance_id =#{aid}
 	</if>
 	<if test="userName !=null">
 	and c.nickname like concat('%',#{userName},'%')
 	</if>
+	<if test="orderNo !=null">
+	and a.order_no like concat('%',#{orderNo},'%')
+	</if>
+	<if test="contractNo !=null">
+	and b.contract_no like concat('%',#{contractNo},'%')
+	</if>
+	<if test="type !=null">
+	and a.type = #{type}
+	</if>
 	<if test="timeType == 0 and startTime !=null and endTime !=null">
 	and a.create_time between #{startTime} and #{endTime}
 	</if>
@@ -762,7 +771,7 @@ select
 	and f.aid=#{aid}
 	</if>
 	<if test="processState==5">
-	and b.finance_id =#{aid}
+	and e.finance_id =#{aid}
 	</if>
 	<if test="userName !=null">
 	and c.nickname like concat('%',#{userName},'%')
@@ -776,11 +785,20 @@ select
 	<if test="depId !=null">
 	and b.order_dep = #{depId}
 	</if>
+	<if test="orderNo !=null">
+	and a.order_no like concat('%',#{orderNo},'%')
+	</if>
+	<if test="contractNo !=null">
+	and b.contract_no like concat('%',#{contractNo},'%')
+	</if>
+	<if test="type !=null">
+	and a.type = #{type}
+	</if>
 	<if test="salesmanName !=null">
 	and d.name like concat('%',#{salesmanName},'%')
 	</if>
 	<if test="complete ==0 and processState != 8">
-	 and a.process_state &gt; = #{processState}
+	 and a.process_state &gt;= #{processState}
 	</if>
 	<if test="complete ==0 and processState == 8">
 	 and a.process_state &gt;= #{processState} and  a.process_state &lt; 9

+ 7 - 8
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1079,16 +1079,15 @@
   </select>
   <!-- 财务专员查看需要待收款的数据 -->
   <select id="financeList" parameterType="Map" resultType="com.goafanti.order.bo.OrderListBo">
-  	select
-	o.order_no as orderNo, o.sign_time as signTime, u.nickname as buyerName, o.order_status as orderStatus,
-	o.process_status as processStatus, ifnull(b.amount, 0) as actuallyTotalAmount, o.contract_no as contractNo,
-	o.approval, a.name as sellerName, o.salesman_id as sellerId, o.buyer_id as buyerId, o.liquidation_status as liquidationStatus ,
+  	select o.order_no as orderNo, o.sign_time as signTime, u.nickname as buyerName, o.order_status as orderStatus,a1.name financeName,
+	o.process_status as processStatus, ifnull(b.amount, 0) as actuallyTotalAmount, o.contract_no as contractNo, o.approval, 
+	a.name as sellerName, o.salesman_id as sellerId, o.buyer_id as buyerId, o.liquidation_status as liquidationStatus ,
 	o.first_amount as signFirstPayment, o.total_amount as signTotalAmount, date_format(o.create_time, '%Y-%m-%d %H:%i:%s') as createTime,
-	e.name as outsourceName, 0 as companyId, "湖南科德信息咨询有限公司" as companyName, d.name as departmentName, 
-	f.transaction_amount finalReceivables , date_format(f.create_time, '%Y-%m-%d %H:%i:%s')finalReceivablesTime, g.invoiceAmount from t_order_new o 
+	e.name as outsourceName, 0 as companyId, "湖南科德信息咨询有限公司" as companyName, d.name as departmentName, f.transaction_amount finalReceivables ,
+	date_format(f.create_time, '%Y-%m-%d %H:%i:%s')finalReceivablesTime, g.invoiceAmount from t_order_new o 
 left join department d on o.order_dep = d.id left join `user` u on o.buyer_id = u.id left join admin a on 	o.salesman_id = a.id 
-left join ( select sum(transaction_amount) as amount , order_no from t_order_bill_new group by order_no ) b on b.order_no = o.order_no 
-left join ( select order_no, max(name) as name from outsource_organization group by order_no) e on o.order_no = e.order_no
+left join admin a1 on 	d.finance_id = a1.id left join ( select sum(transaction_amount) as amount , order_no from t_order_bill_new group by order_no ) b 
+on b.order_no = o.order_no left join ( select order_no, max(name) as name from outsource_organization group by order_no) e on o.order_no = e.order_no
 left join (select x1.order_no,max(create_time) create_time,max(transaction_amount)transaction_amount from 
 (select x.order_no,x.create_time,x.transaction_amount from t_order_bill_new x right join (select order_no, max(create_time) maxTime from t_order_bill_new group by order_no)y
 	on  x.order_no=y.order_no and x.create_time=y.maxTime)x1 group by x1.order_no ) f on o.order_no = f.order_no

+ 7 - 0
src/main/java/com/goafanti/order/bo/NewOderCahngeListBo.java

@@ -3,6 +3,7 @@ package com.goafanti.order.bo;
 public class NewOderCahngeListBo {
 	private Integer id;
 	private String orderNo;
+	private String contractNo;
 	private String createTimes;
 	private String nickname;
 	private Integer orderType;
@@ -106,6 +107,12 @@ public class NewOderCahngeListBo {
 	public void setStatus(Integer status) {
 		this.status = status;
 	}
+	public String getContractNo() {
+		return contractNo;
+	}
+	public void setContractNo(String contractNo) {
+		this.contractNo = contractNo;
+	}
 	
 	
 }

+ 26 - 2
src/main/java/com/goafanti/order/controller/OrderChangeApiController.java

@@ -4,6 +4,7 @@ package com.goafanti.order.controller;
 
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -135,10 +136,10 @@ public class OrderChangeApiController extends CertifyApiController {
 	 */
 	@RequestMapping(value ="/orderChangeList",method = RequestMethod.GET)
 	public Result orderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
-			String depId,String salesmanName,Integer complete,Integer pageSize, Integer pageNo) {
+			String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
 		Result res =new Result();
 		res.data(orderChangeService.selectOrderChangeList( userName,  processState, timeType, startTime, endTime,
-				depId, salesmanName, complete,pageSize,  pageNo));
+				depId, salesmanName, complete, orderNo,  contractNo, type,pageSize,  pageNo));
 		return res;
 	}
 	/**
@@ -208,4 +209,27 @@ public class OrderChangeApiController extends CertifyApiController {
 		return res;
 	}
 	
+	
+	/**
+	 * 	导出变更列表
+     * 
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/exportMyChange" , method = RequestMethod.GET)
+    public Result exportMyBill(HttpServletResponse response,String userName,Integer  processState,Integer timeType,String startTime,String endTime,
+			String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo)  {
+    	Result res=new Result();
+			try {
+				orderChangeService.exportMyChange( response, userName,  processState, timeType, startTime, endTime,
+						 depId, salesmanName, complete, orderNo,  contractNo, type, pageSize,  pageNo);
+			} catch (Exception e) {
+				res.getError().add(buildError("格式不正确"));
+				e.printStackTrace();
+				return res;
+			}
+         res.data(1); 
+    	return res;
+    }
+	
 }

+ 62 - 0
src/main/java/com/goafanti/order/enums/OrderChangeType.java

@@ -0,0 +1,62 @@
+package com.goafanti.order.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum OrderChangeType {
+	//变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送
+	TDTK(0,"退单退款"),
+	XMJJEBG(1,"项目及金额变更"),
+	JXMBG(2,"仅项目变更"),
+	JJEBG(3,"仅金额变更"),
+	CB(4,"重报"),
+	ZC(5,"赠送"),
+	/** 无效 **/
+	INVALID(10, "INVALID");
+	
+	private OrderChangeType(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, OrderChangeType> status = new HashMap<Integer, OrderChangeType>();
+
+	static {
+		for (OrderChangeType value : OrderChangeType.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	public static OrderChangeType getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return INVALID;
+	}
+	
+	public static String getValueByCode(Integer code){
+        for(OrderNewState orderNewState:OrderNewState.values()){
+            if(code.equals(orderNewState.getCode())){
+                return orderNewState.getDesc();
+            }
+        }
+        return  null;
+    }
+	
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+	private Integer	code;
+	private String	desc;
+	public Integer getCode() {
+		return code;
+	}
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+	public String getDesc() {
+		return desc;
+	}
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+}

+ 62 - 0
src/main/java/com/goafanti/order/enums/OrderType.java

@@ -0,0 +1,62 @@
+package com.goafanti.order.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 订单阶段
+ * @author Administrator
+ *
+ */
+public enum OrderType {
+	/** 意向阶段 **/
+	RZXM(0,"认证项目"),
+	/** 跟单阶段 **/
+	KJXM(1,"科技项目"),
+	/** 无效 **/
+	INVALID(10, "无效");
+	
+	private OrderType(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, OrderType> status = new HashMap<Integer, OrderType>();
+
+	static {
+		for (OrderType value : OrderType.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	public static OrderType getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return INVALID;
+	}
+	public static String getValueByCode(Integer code){
+        for(OrderType orderType:OrderType.values()){
+            if(code.equals(orderType.getCode())){
+                return orderType.getDesc();
+            }
+        }
+        return  null;
+    }
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+	private Integer	code;
+	private String	desc;
+	public Integer getCode() {
+		return code;
+	}
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+	public String getDesc() {
+		return desc;
+	}
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+}

+ 11 - 2
src/main/java/com/goafanti/order/service/OrderChangeService.java

@@ -1,10 +1,14 @@
 package com.goafanti.order.service;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.http.HttpServletResponse;
+
 import com.goafanti.common.model.OrderRefundInvoice;
 import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.order.bo.NewOderCahngeListBo;
 import com.goafanti.order.bo.NewOrderChangeBo;
 import com.goafanti.order.bo.OrderChangeBo;
 import com.goafanti.order.bo.OrderChangeLogBo;
@@ -21,8 +25,8 @@ public interface OrderChangeService {
 
 	List<OrderChangeLogBo> selectOrderChangeLogList(String changeId);
 
-	Pagination<NewOrderChangeBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
-			String depId,String salesmanName,Integer complete,Integer pageSize, Integer pageNo);
+	Pagination<NewOderCahngeListBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
+			String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type, Integer pageSize, Integer pageNo );
 
 	int updateOrderChange(NewOrderChangeBo t, Integer changeType,String startRemarks);
 
@@ -38,6 +42,11 @@ public interface OrderChangeService {
 
 	Map<String ,Object> listOrderInvoiceAndBill(String orderNo);
 
+	void exportMyChange(HttpServletResponse response, String userName, Integer processState, Integer timeType,
+			String startTime, String endTime, String depId, String salesmanName, Integer complete,String orderNo, String contractNo,Integer type, Integer pageSize,
+			Integer pageNo) throws IOException ;
+
+	
 
 
 

+ 154 - 4
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -1,6 +1,9 @@
 package com.goafanti.order.service.impl;
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -8,6 +11,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.poi.ss.util.CellRangeAddress;
+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.stereotype.Service;
 
@@ -35,6 +46,7 @@ import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.NewOrderChange;
+import com.goafanti.common.utils.ExportExcelUtil;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
@@ -42,10 +54,14 @@ import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.BillBo;
 import com.goafanti.order.bo.InvoiceBo;
+import com.goafanti.order.bo.NewOderCahngeListBo;
 import com.goafanti.order.bo.NewOrderChangeBo;
 import com.goafanti.order.bo.OrderChangeLogBo;
 import com.goafanti.order.bo.TOrderLogBo;
 import com.goafanti.order.bo.TOrderTaskBo;
+import com.goafanti.order.enums.OrderChangeType;
+import com.goafanti.order.enums.OrderNewState;
+import com.goafanti.order.enums.OrderType;
 import com.goafanti.order.service.OrderChangeService;
 import com.goafanti.order.service.OrderNewService;
 import com.goafanti.order.service.OrderService;
@@ -373,8 +389,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	}
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<NewOrderChangeBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
-			String depId,String salesmanName,Integer complete,Integer pageSize, Integer pageNo) {
+	public Pagination<NewOderCahngeListBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
+			String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
 		Map<String, Object> parameter=new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
 		if(pageNo==null||pageNo<0)pageNo=1;
@@ -382,6 +398,9 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		parameter.put("complete", complete==null?0:complete);
 		if (StringUtils.isNotBlank(userName)) parameter.put("userName", userName);
 		if (null!=processState) parameter.put("processState", processState);
+		if (StringUtils.isNotBlank(orderNo)) parameter.put("orderNo", orderNo);
+		if (StringUtils.isNotBlank(contractNo)) parameter.put("contractNo", contractNo);
+		if (null!=type) parameter.put("type", type);
 		if (null!=timeType) parameter.put("timeType", timeType);
 		if (StringUtils.isNotBlank(startTime)) parameter.put("startTime", startTime);
 		if (StringUtils.isNotBlank(endTime)) parameter.put("endTime", endTime+" 23:59:59");
@@ -389,7 +408,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		if (StringUtils.isNotBlank(salesmanName)) parameter.put("salesmanName", salesmanName);
 		parameter.put("aid", TokenManager.getAdminId());
 		parameter.put("deps", orderService.selectMyDeps());
-		Pagination<NewOrderChangeBo> data = (Pagination<NewOrderChangeBo>)findPage("selectOrderChangeList", "selectOrderChangeCount", parameter, pageNo, pageSize);
+		Pagination<NewOderCahngeListBo> data = (Pagination<NewOderCahngeListBo>)findPage("selectOrderChangeList", "selectOrderChangeCount", parameter, pageNo, pageSize);
 		return data;
 	}
 	@Override
@@ -445,7 +464,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		TOrderNew o=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
 		alist.add(o.getSalesmanId());
 		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
-		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		orderNewService.pushGeneralSendNoticeAndEmail(alist,NoticeStatus.ORDER_CHANGE_END.getCode(), o.getOrderNo(), TokenManager.getAdminId());
 		return 1;
 	}
@@ -458,6 +476,138 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		map.put("invoice", list2);
 		return map;
 	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public void exportMyChange(HttpServletResponse response, String userName, Integer processState, Integer timeType,
+			String startTime, String endTime, String depId, String salesmanName, Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize,Integer pageNo) throws IOException {
+		OutputStream out = response.getOutputStream();
+		List<NewOderCahngeListBo>list=(List<NewOderCahngeListBo>) selectOrderChangeList( userName,  processState, timeType, startTime, endTime,
+				 depId, salesmanName, complete, orderNo,  contractNo, type, pageSize,  pageNo).getList();
+		try {
+    		//设计表头  String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"}
+    		String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"};
+    		String fileName ="开票变更记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =exportTemplateInfoS(comment,"开票变更记录",list);
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (NewOderCahngeListBo ob : (List<NewOderCahngeListBo>)list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    				String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间",
+//    				"订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"};
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo().toString(); break;
+    				case "客户名称": o = ob.getNickname(); break;
+    				case "订单部门": o = ob.getDepName(); break;
+    				case "订单类型": o = OrderType.getValueByCode(ob.getOrderType()); break;
+    				case "下单时间": o = ob.getEstablishTimes(); break;
+    				case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus()); break;
+    				case "合同额(万元)": o = ob.getTotalAmount(); break;
+    				case "已付额(万元)": o = ob.getSettlementAmount(); break;
+    				case "欠款(万元)": o = ob.getArrears(); break;
+    				case "订单负责人": o = ob.getSalesmanName(); break;
+    				case "变更类型": o = OrderChangeType.getValueByCode(ob.getType()); break;
+    				case "变更审核状态": o = getProcessState(ob.getProcessState(),ob.getStatus()); break;
+    				case "变更提交时间": o = ob.getCreateTimes(); 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(); 
+		}
+	}
 	
+	public static XSSFWorkbook exportTemplateInfoS(String[] comment,String fileName,List<?> list){
+		 
+		//map 数据 ,comment表头 (列名称)
+		//1,创建一个workbook,对应的是一个excel文件
+		XSSFWorkbook wb = new XSSFWorkbook();
+		//遍历map
+		XSSFSheet sheet = wb.createSheet(fileName);
+		//3。创建一个row
+		XSSFRow row = sheet.createRow(0);
+		//4.创建一个cell
+		XSSFCell cell = row.createCell(0);
+		cell.setCellValue(fileName);
+		XSSFCellStyle style1 = ExportExcelUtil.setCellStyle1(wb);//标题
+		XSSFCellStyle style2 = ExportExcelUtil.setCellStyle2(wb);//正文
+		cell.setCellStyle(style1);
+		//合并列
+		sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
+		//设置其他单位格式
+		//创建表头
+		XSSFRow row2 = sheet.createRow(1);
+		for(int i = 0; i < comment.length; i++){
+			sheet.setColumnWidth(i, 3000);//设置列宽
+			XSSFCell c = row2.createCell(i);
+			c.setCellValue(comment[i]);
+			c.setCellStyle(style2);
+		}
+		return wb;
+	}
+			public static String getProcessState(Integer processState,Integer status) {
+				String str="";
+				if (processState == 0) {
+				      str = "营销员";
+				    } else if (processState == 1) {
+				      str = "营销管理员";
+				    } else if (processState == 2) {
+				      str = "咨询师";
+				    } else if (processState == 3) {
+				      str = "咨询师经理";
+				    } else if (processState == 4) {
+				      str = "咨询师总监";
+				    } else if (processState == 5) {
+				      str = "财务专员";
+				    } else if (processState == 6) {
+				      str = "财务总监";
+				    } else if (processState == 7) {
+				      str = "总裁";
+				    } else if (processState == 8) {
+				      str = "董事长";
+				    }
+					String num = "";
+				    if (status == 0) {
+				      num = "发起";
+				    } else if (status == 1) {
+				      num = "审核中";
+				    } else if (status == 2) {
+				      num = "通过";
+				    } else if (status == 3) {
+				      num = "驳回";
+				      return num + "到" + str;
+				    } else if (status == 4) {
+				      num = "完成";
+				    }
+				    if (processState == 7 && status == 2) {
+				      return "订单变更退票中";
+				    } else if (processState == 8 && status == 2) {
+				      return "订单变更退票中";
+				    } else if (processState >= 7 && status == 4) {
+				      return "订单变更已完成";
+				    } else {
+				      return str + num;
+				    }
+			}
+		
 
 }