Browse Source

派单管理

wanghui 8 years ago
parent
commit
728fa3adb0

+ 128 - 13
src/main/java/com/goafanti/common/mapper/TOrderMapper.xml

@@ -1157,7 +1157,7 @@
 			a.seller_id as sellerId,
 			b.nickname as buyerName,
 			c.name as salesmanName,
-			a.finance_id as financeName,
+			a.finance_id as financeId,
 			d.name as financeName,
 			a.technician_id as technicianId,
 			e.name as technicianName,
@@ -1229,21 +1229,135 @@
 			and a.orderChannel = #{orderChannel,jdbcType=INTEGER}
 		</if>
   </select>
+  <select id="selectSettlementByPage" resultType="com.goafanti.order.bo.OrderListBo">
+  	select
+			a.order_no as orderNo,
+			a.order_type as orderType,
+			date_format(a.create_time,'%Y-%m-%d %H:%i:%S') as createTime,
+			a.sign_total_amount as signTotalAmount,
+			a.actually_total_amount as actuallyTotalAmount,
+			a.order_status as orderStatus,
+			a.order_stage as orderStage,
+			a.project_stage as projectStage,
+			a.liquidation_status as liquidationStatus,
+			a.approval,
+			a.order_channel as orderChannel,
+			a.buyer_id as buyerId,
+			a.seller_id as sellerId,
+			b.nickname as buyerName,		
+			c.name as salesmanName,
+			d.name as financeName,
+			e.name as technicianName,
+			f.name as departmentName
+		from
+			t_order a left join user b on
+			a.buyer_id = b.id left join admin c on
+			a.salesman_id = c.id left join admin d on
+			a.finance_id = d.id left join admin e on
+			a.technician_id = e.id left join department_management f on 
+			c.department_id = f.id
+		where a.order_type = 0 and order_status = 3		
+		<if test="orderNo != null">
+			and a.order_no = #{orderNo,jdbcType=VARCHAR}
+		</if>
+		<if test="financeId != null">
+			and a.finance_id = #{financeId,jdbcType=VARCHAR}
+		</if>
+		<if test="startDate != null">
+			and a.create_time &gt; #{startDate,jdbcType=TIMESTAMP}
+		</if>
+		<if test="endDate != null">
+			and a.create_time &lt; #{endDate,jdbcType=TIMESTAMP}
+		</if>
+		<if test="orderStatus != null">
+			and a.order_status = #{orderStatus,jdbcType=INTEGER}
+		</if>
+		<if test="liquidationStatus != null">
+			and a.liquidation_status = #{liquidationStatus,jdbcType=INTEGER}
+		</if>
+		<if test="approval != null">
+			and a.approval = #{approval,jdbcType=INTEGER}
+		</if>
+		<if test="buyerName != null and buyerName != ''">
+			and b.nickname = #{buyerName,jdbcType=VARCHAR}
+		</if>
+		<if test="depId != null">
+			and c.department_id = #{depId,jdbcType=VARCHAR}
+		</if>
+		<if test="salesmanName != null and salesmanName != ''">
+			and c.name =  #{salesmanName,jdbcType=VARCHAR}
+		</if>
+		<if test="financeName != null and financeName != ''">
+			and d.name =  #{financeName,jdbcType=VARCHAR}
+		</if>
+		<if test="page_sql != null">
+			${page_sql}
+		</if>
+  </select>
+  <select id="selectSettlementCount" resultType="java.lang.Integer">
+ 	 select
+			count(0)
+		from
+			t_order a left join user b on
+			a.buyer_id = b.id left join admin c on
+			a.salesman_id = c.id left join admin d on
+			a.finance_id = d.id left join admin e on
+			a.technician_id = e.id left join department_management f on 
+			c.department_id = f.id
+		where a.order_type = 0 and order_status = 3
+		<if test="orderNo != null">
+			and a.order_no = #{orderNo,jdbcType=VARCHAR}
+		</if>
+		<if test="financeId != null">
+			and a.finance_id = #{financeId,jdbcType=VARCHAR}
+		</if>
+		<if test="startDate != null">
+			and a.create_time &gt; #{startDate,jdbcType=TIMESTAMP}
+		</if>
+		<if test="endDate != null">
+			and a.create_time &lt; #{endDate,jdbcType=TIMESTAMP}
+		</if>
+		<if test="orderStatus != null">
+			and a.order_status = #{orderStatus,jdbcType=INTEGER}
+		</if>
+		<if test="liquidationStatus != null">
+			and a.liquidation_status = #{liquidationStatus,jdbcType=INTEGER}
+		</if>
+		<if test="approval != null">
+			and a.approval = #{approval,jdbcType=INTEGER}
+		</if>
+		<if test="buyerName != null and buyerName != ''">
+			and b.nickname = #{buyerName,jdbcType=VARCHAR}
+		</if>
+		<if test="depId != null">
+			and c.department_id = #{depId,jdbcType=VARCHAR}
+		</if>
+		<if test="salesmanName != null and salesmanName != ''">
+			and c.name =  #{salesmanName,jdbcType=VARCHAR}
+		</if>
+		<if test="financeName != null and financeName != ''">
+			and d.name =  #{financeName,jdbcType=VARCHAR}
+		</if>
+		<if test="page_sql != null">
+			${page_sql}
+		</if>
+  </select>
   <select id="selectBillByPage" resultType="com.goafanti.order.bo.BillListBo">
 	select
 		a.bill_no as billNo,
-		a.create_time as createTime,
+		date_format(a.create_time,'%Y-%m-%d %H:%i:%S') as createTime,
 		a.transaction_amount as transactionAmount,
 		a.transaction_channel as transactionChannel,
 		a.transaction_subject as transactionSubject,
 		a.transaction_mode as transactionMode,
 		a.financial_pay_no as financialPayNo,
-		a.financial_pay_time as financialPayTime,
+		date_format(a.financial_pay_time,'%Y-%m-%d %H:%i:%S') as financialPayTime,
 		a.confirm_sign as confirmSign,
 		a.delete_sign as deleteSign,
+		date_format(a.confirm_time,'%Y-%m-%d %H:%i:%S') as confirmTime,
 		b.order_no as orderNo,
-		c.name as payeeName,
-		d.name as payerName,
+		c.nickname as payeeName,
+		d.nickname as payerName,
 		e.name as financeName,
 		f.name as salesmanName,
 		g.name as departmentName
@@ -1257,10 +1371,10 @@
 		f.department_id = g.id
 	where 1=1
 	<if test="payeeName != null and payeeName != ''">
-		and c.name = #{payeeName,jdbcType=VARCHAR}
+		and c.nickname = #{payeeName,jdbcType=VARCHAR}
 	</if>
 	<if test="payerName != null and payerName !=''">
-		and d.name = #{payerName,jdbcType=VARCHAR}
+		and d.nickname = #{payerName,jdbcType=VARCHAR}
 	</if>
 	<if test="salesmanName != null and salesmanName != ''">
 		and f.name = #{salesmanName,jdbcType=VARCHAR}
@@ -1305,10 +1419,10 @@
 		f.department_id = g.id
 	where 1=1
 	<if test="payeeName != null and payeeName != ''">
-		and c.name = #{payeeName,jdbcType=VARCHAR}
+		and c.nickname = #{payeeName,jdbcType=VARCHAR}
 	</if>
 	<if test="payerName != null and payerName !=''">
-		and d.name = #{payerName,jdbcType=VARCHAR}
+		and d.nickname = #{payerName,jdbcType=VARCHAR}
 	</if>
 	<if test="salesmanName != null and salesmanName != ''">
 		and f.name = #{salesmanName,jdbcType=VARCHAR}
@@ -1341,20 +1455,21 @@
   <select id="selectBillDetail" parameterType="java.lang.String" resultType="com.goafanti.order.bo.BillDetailBo">
 		select
 			a.bill_no as billNo,
-			a.create_time as createTime,
+			date_format(a.create_time,'%Y-%m-%d %H:%i:%S') as createTime,
 			a.transaction_amount as transactionAmount,
 			a.transaction_channel as transactionChannel,
 			a.transaction_subject as transactionSubject,
 			a.transaction_mode as transactionMode,
 			a.financial_pay_no as financialPayNo,
-			a.financial_pay_time as financialPayTime,
+			date_format(a.financial_pay_time,'%Y-%m-%d %H:%i:%S') as financialPayTime,
+			date_format(a.confirm_time,'%Y-%m-%d %H:%i:%S') as confirmTime,
 			a.confirm_sign as confirmSign,
 			a.delete_sign as deleteSign,
 			a.remarks,
 			a.postscript,
 			b.order_no as orderNo,
-			c.name as payeeName,
-			d.name as payerName,
+			c.nickname as payeeName,
+			d.nickname as payerName,
 			e.name as financeName,
 			f.name as salesmanName,
 			g.name as departmentName

+ 41 - 0
src/main/java/com/goafanti/order/bo/BillListBo.java

@@ -3,12 +3,20 @@ package com.goafanti.order.bo;
 import java.math.BigDecimal;
 
 public class BillListBo {
+	/** 流水编号 **/
+	private String billNo;
 	/** 订单编号 **/
 	private String orderNo;
+	/** 收款人 **/
+	private String payeeName;
+	/** 付款人 **/
+	private String payerName;
 	/** 支付流水时间 **/
 	private String createTime;
 	/** 交易科目 **/
 	private Integer transactionSubject;
+	/** 流水渠道 **/
+	private Integer transactionChannel;
 	/** 交易金额 **/
 	private BigDecimal transactionAmount;
 	/** 交易方式 **/
@@ -31,12 +39,33 @@ public class BillListBo {
 	private String technicianName;
 	/** 关联部门名称 **/
 	private String departmentName;
+	/** 流水确认时间 **/
+	private String confirmTime;
+	
+	public String getBillNo() {
+		return billNo;
+	}
+	public void setBillNo(String billNo) {
+		this.billNo = billNo;
+	}
 	public String getOrderNo() {
 		return orderNo;
 	}
 	public void setOrderNo(String orderNo) {
 		this.orderNo = orderNo;
 	}
+	public String getPayeeName() {
+		return payeeName;
+	}
+	public void setPayeeName(String payeeName) {
+		this.payeeName = payeeName;
+	}
+	public String getPayerName() {
+		return payerName;
+	}
+	public void setPayerName(String payerName) {
+		this.payerName = payerName;
+	}
 	public String getCreateTime() {
 		return createTime;
 	}
@@ -49,6 +78,12 @@ public class BillListBo {
 	public void setTransactionSubject(Integer transactionSubject) {
 		this.transactionSubject = transactionSubject;
 	}
+	public Integer getTransactionChannel() {
+		return transactionChannel;
+	}
+	public void setTransactionChannel(Integer transactionChannel) {
+		this.transactionChannel = transactionChannel;
+	}
 	public Integer getTransactionMode() {
 		return transactionMode;
 	}
@@ -115,4 +150,10 @@ public class BillListBo {
 	public void setDepartmentName(String departmentName) {
 		this.departmentName = departmentName;
 	}
+	public String getConfirmTime() {
+		return confirmTime;
+	}
+	public void setConfirmTime(String confirmTime) {
+		this.confirmTime = confirmTime;
+	}
 }

+ 74 - 16
src/main/java/com/goafanti/order/controller/AdminOrderApiController.java

@@ -12,6 +12,7 @@ import com.goafanti.business.service.BusinessProjectService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.OrderListBo;
 import com.goafanti.order.enums.AuditState;
 import com.goafanti.order.service.OrderService;
@@ -290,7 +291,7 @@ public class AdminOrderApiController extends CertifyApiController {
 	}
 	
 	/**
-	 * 特批订单
+	 * 查询特批订单
 	 * @return
 	 */
 	@RequestMapping(value="/listApprovalServiceOrder" ,method = RequestMethod.POST)
@@ -302,7 +303,7 @@ public class AdminOrderApiController extends CertifyApiController {
 	}
 	
 	/**
-	 * 
+	 * 审批特批订单
 	 * @param orderNo
 	 * @return
 	 */
@@ -366,31 +367,56 @@ public class AdminOrderApiController extends CertifyApiController {
 		return res;
 	}
 
-	/** 我的结算流水查询 **/
-	@RequestMapping(value = "/selectMySettlementList", method = RequestMethod.POST)
-	public Result selectMySettlementList(String payeeName, String payerName, String depId,
-			String salesmanName,String orderNo, Integer pageNo, Integer pageSize){
+	/** 我的结算查询 **/
+	@RequestMapping(value = "/listMySettlement", method = RequestMethod.POST)
+	public Result listMySettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
+			Integer orderStatus,Integer liquidationStatus,Integer approval,String startDate,
+			String endDate,Integer pageNo, Integer pageSize){
 		Result res = new Result();
-		res.setData(orderServiceImpl.selectMySettlementList(payeeName, payerName, depId, salesmanName, orderNo, pageNo, pageSize));
+		res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
+				TokenManager.getAdminId(), financeName, orderStatus, liquidationStatus, approval,startDate,endDate, pageNo, pageSize));
 		return res;
 	}
 	
-	/** 我的订单流水查询 **/
-	@RequestMapping(value = "/selectMyBillList", method = RequestMethod.POST)
+	/** 结算订单管理 **/
+	@RequestMapping(value = "/listAllSettlement", method = RequestMethod.POST)
+	public Result listAllSettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
+			Integer orderStatus,Integer liquidationStatus,Integer approval,String startDate,String endDate,
+			Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
+				"", financeName, orderStatus, liquidationStatus, approval, startDate,endDate, pageNo, pageSize));
+		return res;
+	}
+	
+	/** 我的订单流水管理 **/
+	@RequestMapping(value = "/listMyBill", method = RequestMethod.POST)
 	public Result selectMyBillList(String payeeName, String payerName, String depId,
-			String salesmanName,String orderNo, Integer pageNo, Integer pageSize){
+			String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
 		Result res = new Result();
-		res.setData(orderServiceImpl.selectMyBillList(payeeName, payerName, depId, salesmanName, orderNo, pageNo, pageSize));
+		res.setData(orderServiceImpl.selectMyBillList(payeeName, payerName, depId, salesmanName,orderNo, 
+				confirmSign, deleteSign, pageNo, pageSize));
 		return res;
 	}
 	
 
+	/** 我的订单流水查询 **/
+	@RequestMapping(value = "/queryMyBill", method = RequestMethod.POST)
+	public Result queryMyBillList(String payeeName, String payerName, String depId,
+			String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		res.setData(orderServiceImpl.queryMyBillList(payeeName, payerName, depId, salesmanName,orderNo, 
+				confirmSign, deleteSign, pageNo, pageSize));
+		return res;
+	}
+	
+	
 	/** 所有订单流水查询 **/
-	@RequestMapping(value = "/selectAllBillList", method = RequestMethod.POST)
-	public Result selectAllBillList(String payeeName, String payerName, String depId,
+	@RequestMapping(value = "/queryAllBill", method = RequestMethod.POST)
+	public Result queryAllBill(String payeeName, String payerName, String depId,
 			String salesmanName,String financeName,String orderNo, Integer pageNo, Integer pageSize){
 		Result res = new Result();
-		res.setData(orderServiceImpl.selectAllBillList(payeeName, payerName, depId, salesmanName,financeName, orderNo, pageNo, pageSize));
+		res.setData(orderServiceImpl.queryAllBillList(payeeName, payerName, depId, salesmanName,financeName, orderNo, pageNo, pageSize));
 		return res;
 	}
 	
@@ -449,7 +475,7 @@ public class AdminOrderApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/updateBill", method = RequestMethod.POST)
-	public Result updateBill(String billNo, String financialPayNo, String financialPayTime, String remarks){
+	public Result updateBill(String billNo,String orderNo, String financialPayNo, String financialPayTime, String remarks){
 		Result res = new Result();
 		if(StringUtils.isBlank(billNo)){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
@@ -459,7 +485,39 @@ public class AdminOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","财务流水号和财务流水时间"));
 			return res;
 		}
-		orderServiceImpl.updateBill(billNo, financialPayNo, financialPayTime, remarks);
+		orderServiceImpl.updateBill(billNo, orderNo,financialPayNo, financialPayTime, remarks);
+		return res;
+	}
+	
+	/**
+	 * 订单支付(测试用)
+	 * @return
+	 */
+	@RequestMapping(value = "/testPay",method = RequestMethod.POST)
+	public Result testPay(String orderNo,String payAmount){
+		Result res = new Result();
+		if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(payAmount)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和支付金额"));
+			return res;
+		}
+		orderServiceImpl.updatePayForTest(orderNo, payAmount);
+		return res;
+	}
+	
+	/**
+	 * 派单
+	 * @param orderNo
+	 * @param financeId
+	 * @return
+	 */
+	@RequestMapping(value = "/distributionOrder",method = RequestMethod.POST)
+	public Result distributionOrder(String orderNo,String financeId){
+		Result res = new Result();
+		if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(financeId)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和制定负责人"));
+			return res;
+		}
+		orderServiceImpl.updateDistributionOrder(orderNo,financeId);
 		return res;
 	}
 }

+ 43 - 10
src/main/java/com/goafanti/order/service/OrderService.java

@@ -255,22 +255,38 @@ public interface OrderService {
 	int updateAppointSalesman(String orderNo,String salesmanId);
 	
 	/**
-	 * 我的结算流水
+	 * 
+	 * @param orderNo
+	 * @param depId
+	 * @param buyerName
+	 * @param salesmanId
+	 * @param salesmanName
+	 * @param financeName
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	Pagination<OrderListBo> selectSettlementList(String orderNo, String depId,String buyerName,String salesmanName,  
+			String financeId,String financeName,Integer orderStatus,Integer liquidationStatus,Integer approval,
+			String startDate,String endDate,Integer pageNo, Integer pageSize);
+	
+	/**
+	 * 我的订单流水(财务负责人课件)
 	 * @param payeeName 收款人
 	 * @param payerName 付款人
 	 * @param depId 部门id
 	 * @param salesmanName 营销员
-	 * @param financeName 财务
 	 * @param orderNo 订单编号
 	 * @param pageNo
 	 * @param pageSize
 	 * @return
 	 */
-	Pagination<BillListBo> selectMySettlementList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
-			Integer pageNo,Integer pageSize);
+	Pagination<BillListBo> selectMyBillList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
+			 Integer confirmSign,Integer deleteSign,Integer pageNo,Integer pageSize);
 	
+
 	/**
-	 * 我的订单流水查询
+	 * 我的订单流水查询(与订单相关的人员可见)
 	 * @param payeeName 收款人
 	 * @param payerName 付款人
 	 * @param depId 部门id
@@ -280,8 +296,9 @@ public interface OrderService {
 	 * @param pageSize
 	 * @return
 	 */
-	Pagination<BillListBo> selectMyBillList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
-			Integer pageNo,Integer pageSize);
+	Pagination<BillListBo> queryMyBillList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
+			 Integer confirmSign,Integer deleteSign,Integer pageNo,Integer pageSize);
+	
 	
 	/**
 	 * 所有订单流水查询
@@ -294,7 +311,7 @@ public interface OrderService {
 	 * @param pageSize
 	 * @return
 	 */
-	Pagination<BillListBo> selectAllBillList(String payeeName,String payerName,String depId,String salesmanName,String financeName,String orderNo,
+	Pagination<BillListBo> queryAllBillList(String payeeName,String payerName,String depId,String salesmanName,String financeName,String orderNo,
 			Integer pageNo,Integer pageSize);
 	
 	/**
@@ -315,13 +332,13 @@ public interface OrderService {
 	
 	
 	/**
-	 * 确认流水订单
+	 * 修改露水订单
 	 * @param billNo
 	 * @param orderNo
 	 * @param confrim
 	 * @return
 	 */
-	int updateBill(String billNo,String financialPayNo,String financialPayTime,String remarks);
+	int updateBill(String billNo,String orderNo,String financialPayNo,String financialPayTime,String remarks);
 
 	/**
 	 * 特批订单
@@ -358,4 +375,20 @@ public interface OrderService {
 	 * @return
 	 */
 	List<TOrderDetail> selectOrderCommodity(String orderNo);
+	
+	/**
+	 * 支付(测试用)
+	 * @param orderNo
+	 * @param payAmount
+	 * @return
+	 */
+	int updatePayForTest(String orderNo,String payAmount);
+
+	/**
+	 * 分配订单
+	 * @param orderNo
+	 * @param financeId
+	 * @return
+	 */
+	int updateDistributionOrder(String orderNo, String financeId);
 }

+ 68 - 31
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -202,8 +202,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				tOrder.setOrderStatus(OrderState.SELLER_REFUSE_BEFORE_SIGNL.getCode()); // 买家拒绝
 			}
 		}else if(orderAction == OrderAction.CONFIRM_PAY_FOR_FIRST){ // 支付首付(审核流水)
-			if(tOrder.getOrderStatus() != OrderState.WAIT_FOR_SIGN.getCode()
-					|| tOrder.getLiquidationStatus() != LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()){
+			if(tOrder.getLiquidationStatus() != LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()){
 				throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,""));
 			}
 			int boundary = tOrder.getActuallyFirstPayment().add(changeAmount).compareTo(tOrder.getFirstPayment());
@@ -219,8 +218,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				tOrder.setProjectStage(ProjectStage.WAIT_SET_UP.getCode());
 			}
 		}else if(orderAction == OrderAction.CONFIRM_PAY_FOR_LAST){ //支付尾款 (审核流水)
-			if(tOrder.getOrderStatus() != OrderState.WAIT_FOR_SIGN.getCode()
-					|| tOrder.getLiquidationStatus() != LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()){
+			if(tOrder.getLiquidationStatus() != LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()){
 				throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"支付尾款"));
 			}
 			int boundary = tOrder.getActuallyTotalAmount().add(changeAmount).compareTo(tOrder.getOrderAmount());
@@ -1143,61 +1141,70 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<BillListBo> selectMySettlementList(String payeeName, String payerName, String depId,
-			String salesmanName, String orderNo, Integer pageNo, Integer pageSize) {
+	public Pagination<OrderListBo> selectSettlementList(String orderNo, String depId,String buyerName,String salesmanName,  
+			String financeId,String financeName,Integer orderStatus,Integer liquidationStatus,Integer approval,
+			String startDate,String endDate,Integer pageNo, Integer pageSize) {
+		Map<String, Object> params = new HashMap<String, Object>();
+		if(StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
+		if(StringUtils.isNotBlank(depId)) params.put("depId", depId);
+		if(StringUtils.isNotBlank(buyerName)) params.put("buyerName", buyerName);
+		if(StringUtils.isNotBlank(salesmanName)) params.put("salesmanName", salesmanName);
+		if(StringUtils.isNotBlank(financeId)) params.put("financeId", financeId);
+		if(StringUtils.isNotBlank(financeName)) params.put("financeName", financeName);
+		if(orderStatus != null) params.put("orderStatus", OrderStage.SIGNED.getCode()); //已签单
+		if(liquidationStatus != null) params.put("liquidationStatus", liquidationStatus);
+		if(approval != null) params.put("approval", approval);
+		if(StringUtils.isNotBlank(startDate)) params.put("startDate", startDate);
+		if(StringUtils.isNotBlank(endDate)) params.put("endDate", endDate);
+		return (Pagination<OrderListBo>)findPage("selectSettlementByPage","selectSettlementCount", params, pageNo, pageSize);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<BillListBo> selectMyBillList(String payeeName, String payerName, String depId,
+			String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign, Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(StringUtils.isNotBlank(payerName)) params.put("payeeName", payeeName);
 		if(StringUtils.isNotBlank(payerName)) params.put("payerName", payerName);
 		if(StringUtils.isNotBlank(depId)) params.put("depId", depId);
 		if(StringUtils.isNotBlank(salesmanName)) params.put("salesmanName", salesmanName);
-		if(orderNo != null) params.put("orderNo", orderNo);
+		if(StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
+		if(confirmSign != null) params.put("confirmSign", confirmSign);
+		if(confirmSign != null) params.put("deleteSign", deleteSign);
 		/** 特殊处理字段开始 **/
 		if(!TokenManager.hasRole(AFTConstants.SUPERADMIN)){
 			params.put("isFinance", 1);
 		}
 		params.put("aid", TokenManager.getAdminId());
 		/** 特殊处理字段结束 **/
-		Pagination<BillListBo> data = (Pagination<BillListBo>)findPage("selectBillByPage","selectBillCount", params, pageNo, pageSize);
-		List<BillListBo> list = (List<BillListBo>)data.getList();
-		if(list.size()>0){
-			for(BillListBo bo:list){
-				bo.setBusinessDesc(setBusinessDesc(bo.getTransactionSubject(),bo.getTransactionAmount()));
-			}
-		}
-		data.setList(list);
-		return data;
+		return (Pagination<BillListBo>)findPage("selectBillByPage","selectBillCount", params, pageNo, pageSize);
 	}
-
+	
+	
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<BillListBo> selectMyBillList(String payeeName, String payerName, String depId,
-			String salesmanName,String orderNo, Integer pageNo, Integer pageSize) {
+	public Pagination<BillListBo> queryMyBillList(String payeeName, String payerName, String depId,
+			String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign, Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(StringUtils.isNotBlank(payerName)) params.put("payeeName", payeeName);
 		if(StringUtils.isNotBlank(payerName)) params.put("payerName", payerName);
 		if(StringUtils.isNotBlank(depId)) params.put("depId", depId);
 		if(StringUtils.isNotBlank(salesmanName)) params.put("salesmanName", salesmanName);
-		if(orderNo != null) params.put("orderNo", orderNo);
+		if(StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
+		if(confirmSign != null) params.put("confirmSign", confirmSign);
+		if(confirmSign != null) params.put("deleteSign", deleteSign);
 		/** 特殊处理字段开始 **/
 		if(!TokenManager.hasRole(AFTConstants.SUPERADMIN)){
 			params.put("isFinance", 0);
 		}
 		params.put("aid", TokenManager.getAdminId());
 		/** 特殊处理字段结束 **/
-		Pagination<BillListBo> data = (Pagination<BillListBo>)findPage("selectBillByPage","selectBillCount", params, pageNo, pageSize);
-		List<BillListBo> list = (List<BillListBo>)data.getList();
-		if(list.size()>0){
-			for(BillListBo bo:list){
-				bo.setBusinessDesc(setBusinessDesc(bo.getTransactionSubject(),bo.getTransactionAmount()));
-			}
-		}
-		data.setList(list);
-		return data;
+		return (Pagination<BillListBo>)findPage("selectBillByPage","selectBillCount", params, pageNo, pageSize);
 	}
 	
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<BillListBo> selectAllBillList(String payeeName, String payerName, String depId,
+	public Pagination<BillListBo> queryAllBillList(String payeeName, String payerName, String depId,
 			String salesmanName ,String financeName, String orderNo, Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(StringUtils.isNotBlank(payerName)) params.put("payeeName", payeeName);
@@ -1227,6 +1234,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 	public int updateBill(String billNo, String orderNo, Integer confrim,String financialPayNo,String financialPayTime,String remarks) {
 		TOrderBill bill = tOrderBillMapper.selectByPrimaryKey(billNo);
 		TOrder order = tOrderMapper.selectByPrimaryKey(orderNo);
+		Date confirmTime = new Date();
 		if(bill != null && order != null){
 			bill.setBillNo(billNo);
 			bill.setFinancialPayNo(financialPayNo);
@@ -1237,6 +1245,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 			}
 			bill.setRemarks(remarks);
 			if(confrim == AFTConstants.YES){
+				bill.setConfirmTime(confirmTime);
 				bill.setConfirmSign(AuditState.AUDIT_SUCCESS.getCode());
 				checkOrder(order);
 				if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode())
@@ -1246,6 +1255,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				order.setUpdateTime(new Date());
 				tOrderMapper.updateByPrimaryKeySelective(order);
 			}else if(confrim == AFTConstants.NO){
+				bill.setConfirmTime(confirmTime);
 				bill.setConfirmSign(AuditState.AUDIT_FAIL.getCode());
 				bill.setDeleteSign(Boolean.TRUE);
 			}
@@ -1255,9 +1265,10 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 	}
 
 	@Override
-	public int updateBill(String billNo, String financialPayNo, String financialPayTime, String remarks) {
+	public int updateBill(String billNo,String orderNo, String financialPayNo, String financialPayTime, String remarks) {
 		TOrderBill bill = new TOrderBill();
 		bill.setBillNo(billNo);
+		bill.setOrderNo(orderNo);
 		bill.setFinancialPayNo(financialPayNo);
 		try {
 			bill.setFinancialPayTime(DateUtils.parseDate(financialPayTime, AFTConstants.YYYYMMDDHHMMSS));
@@ -1368,4 +1379,30 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		return tOrderMapper.selectOrderCommodity(orderNo);
 	}
 
+	@Override
+	public int updatePayForTest(String orderNo, String payAmount) {
+		TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
+		if(tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()
+				|| tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()){
+			addFundRecord(orderNo, "测试用户", DEFAULT_PLATFORM_ID, TokenManager.getUserId(), "", 
+					TransactionSubject.SUPPLY_PAY,PayChannel.UNIONPAY, new BigDecimal(payAmount), TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
+			tOrder.setUpdateTime(new Date());
+			tOrderMapper.updateByPrimaryKeySelective(tOrder);
+		}else{
+			throw new BusinessException(new Error(ErrorConstants.ORDER_CAN_NOT_MODIFY, orderNo, ""));
+		}
+		return 1;
+	}
+
+	@Override
+	public int updateDistributionOrder(String orderNo, String financeId) {
+		TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
+		checkOrder(tOrder);
+		if(StringUtils.isBlank(tOrder.getFinanceId())){
+			tOrder.setFinanceId(financeId);
+		}
+		tOrder.setUpdateTime(new Date());
+		return tOrderMapper.updateByPrimaryKeySelective(tOrder);
+	}
+
 }