anderx hace 5 años
padre
commit
ac7cdeeb8a

+ 1 - 1
GeneratorConfig.xml

@@ -9,6 +9,6 @@
     <javaModelGenerator targetPackage="com.goafanti.common.model" targetProject="kede-server" />
     <sqlMapGenerator targetPackage="com.goafanti.common.mapper" targetProject="kede-server" />
     <javaClientGenerator  targetPackage="com.goafanti.common.dao"  type="XMLMAPPER" targetProject="kede-server"  />
-    <table schema="aft" tableName="new_order_refund"/>
+    <table schema="aft" tableName="t_order_new"/>
   </context>
 </generatorConfiguration>

+ 101 - 101
src/main/java/com/goafanti/common/dao/TOrderNewMapper.java

@@ -1,102 +1,102 @@
-package com.goafanti.common.dao;
-
-import com.goafanti.common.model.TOrderBillNew;
-import com.goafanti.common.model.TOrderNew;
-import com.goafanti.common.model.TOrderNewExample;
-import com.goafanti.order.bo.OrderListBo;
-import com.goafanti.order.bo.OrderRefundBo;
-import com.goafanti.order.bo.OrderRefundDetailBo;
-import com.goafanti.order.bo.TOrderNewBo;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ibatis.annotations.Param;
-
-public interface TOrderNewMapper {
-    /**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	long countByExample(TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int deleteByExample(TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int deleteByPrimaryKey(String orderNo);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int insert(TOrderNew record);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int insertSelective(TOrderNew record);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	List<TOrderNew> selectByExampleWithBLOBs(TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	List<TOrderNew> selectByExample(TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	TOrderNew selectByPrimaryKey(String orderNo);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByExampleSelective(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByExampleWithBLOBs(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByExample(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByPrimaryKeySelective(TOrderNew record);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByPrimaryKeyWithBLOBs(TOrderNew record);
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
-	 * @mbg.generated  Fri Aug 16 14:55:05 CST 2019
-	 */
-	int updateByPrimaryKey(TOrderNew record);
-	TOrderNewBo getOrderNewDetail(String orderNo); 
-    int getCountByIdAndStatus(TOrderNew orderNew);
-    
-    TOrderNewBo getSaleIdByOno(String ono);
-    TOrderNewBo agreeEmailData(Integer fid);
-
-    OrderRefundDetailBo orderRefundDetail(String id);
-
-	int updateFinance(@Param("aid")String aid, @Param("orderNos")List<String> orderNos, @Param("newFinance")String newFinance);
-	int checkContractNo(String sno);
-	Map<String, Object> countTotalAndActually(@Param("o")OrderListBo o, @Param("fids")List<String> fids);
-	TOrderBillNew getLastPayment(String orderNo);
-	int updateSalesmanId(@Param("aid")String aid, @Param("transferId")String transferId);
-	List<TOrderNewBo> selectUsedOrderByOrder(String orderNo);
-	void updaterefund(TOrderNew o);
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.TOrderBillNew;
+import com.goafanti.common.model.TOrderNew;
+import com.goafanti.common.model.TOrderNewExample;
+import com.goafanti.order.bo.OrderListBo;
+import com.goafanti.order.bo.OrderRefundBo;
+import com.goafanti.order.bo.OrderRefundDetailBo;
+import com.goafanti.order.bo.TOrderNewBo;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Param;
+
+public interface TOrderNewMapper {
+    /**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	long countByExample(TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int deleteByExample(TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int deleteByPrimaryKey(String orderNo);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int insert(TOrderNew record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int insertSelective(TOrderNew record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	List<TOrderNew> selectByExampleWithBLOBs(TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	List<TOrderNew> selectByExample(TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	TOrderNew selectByPrimaryKey(String orderNo);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByExampleSelective(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByExampleWithBLOBs(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByExample(@Param("record") TOrderNew record, @Param("example") TOrderNewExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByPrimaryKeySelective(TOrderNew record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByPrimaryKeyWithBLOBs(TOrderNew record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_new
+	 * @mbg.generated  Thu Feb 27 14:10:55 CST 2020
+	 */
+	int updateByPrimaryKey(TOrderNew record);
+	TOrderNewBo getOrderNewDetail(String orderNo); 
+    int getCountByIdAndStatus(TOrderNew orderNew);
+    
+    TOrderNewBo getSaleIdByOno(String ono);
+    TOrderNewBo agreeEmailData(Integer fid);
+
+    OrderRefundDetailBo orderRefundDetail(String id);
+
+	int updateFinance(@Param("aid")String aid, @Param("orderNos")List<String> orderNos, @Param("newFinance")String newFinance);
+	int checkContractNo(String sno);
+	Map<String, Object> countTotalAndActually(@Param("o")OrderListBo o, @Param("fids")List<String> fids);
+	TOrderBillNew getLastPayment(String orderNo);
+	int updateSalesmanId(@Param("aid")String aid, @Param("transferId")String transferId);
+	List<TOrderNewBo> selectUsedOrderByOrder(String orderNo);
+	void updaterefund(TOrderNew o);
 }

+ 12 - 0
src/main/java/com/goafanti/common/mapper/TOrderInvoiceMapper.xml

@@ -662,6 +662,12 @@
 	<if test="orderDep !=null">
 	and b.order_dep= #{orderDep,jdbcType=VARCHAR}
 	</if>
+	<if test="status !=null">
+	and a.status= #{status,jdbcType=INTEGER}
+	</if>
+	<if test="approval !=null">
+	and a.approval= #{approval,jdbcType=INTEGER}
+	</if>
 	<if test="aDep !=null">
 	and b.order_dep in 
 	 <foreach collection="aDep" index="index" item="depid" open="(" separator="," close=")">
@@ -695,6 +701,12 @@
 	<if test="orderDep !=null">
 	and b.order_dep= #{orderDep,jdbcType=VARCHAR}
 	</if>
+	<if test="status !=null">
+	and a.status= #{status,jdbcType=INTEGER}
+	</if>
+	<if test="approval !=null">
+	and a.approval= #{approval,jdbcType=INTEGER}
+	</if>
 	<if test="aDep !=null">
 	and b.order_dep in 
 	 <foreach collection="aDep" index="index" item="depid" open="(" separator="," close=")">

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1778 - 1718
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 906 - 860
src/main/java/com/goafanti/common/model/TOrderNew.java


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2748 - 2618
src/main/java/com/goafanti/common/model/TOrderNewExample.java


+ 49 - 0
src/main/java/com/goafanti/order/bo/InputOrderInvoiceBo.java

@@ -0,0 +1,49 @@
+package com.goafanti.order.bo;
+
+public class InputOrderInvoiceBo {
+	private String orderDep;
+	private String orderNo;
+	private String name;
+	private Integer type;
+	private Integer approval;
+	private Integer status;
+	public String getOrderDep() {
+		return orderDep;
+	}
+	public void setOrderDep(String orderDep) {
+		this.orderDep = orderDep;
+	}
+	public String getOrderNo() {
+		return orderNo;
+	}
+	public void setOrderNo(String orderNo) {
+		this.orderNo = orderNo;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public Integer getType() {
+		return type;
+	}
+	public void setType(Integer type) {
+		this.type = type;
+	}
+	public Integer getApproval() {
+		return approval;
+	}
+	public void setApproval(Integer approval) {
+		this.approval = approval;
+	}
+	public Integer getStatus() {
+		return status;
+	}
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+	
+	
+	
+}

+ 357 - 349
src/main/java/com/goafanti/order/bo/OrderListBo.java

@@ -1,349 +1,357 @@
-package com.goafanti.order.bo;
-
-/**
- * 订单列表
- * @author Administrator
- *
- */
-public class OrderListBo {
-	/** 订单编号 **/
-	private String orderNo;
-	/** 订单类型 **/
-	private Integer orderType;
-	/** 业务品类 **/
-	private String projectType;
-	/** 订单创建时间 **/
-	private String createTime;
-	/** 签单时间 **/
-	private String signTime;
-	/** 合同首付金额 **/
-	private String signFirstPayment;
-	/** 合同订单金额 **/
-	private String signTotalAmount;
-	/** 实际付款金额 **/
-	private String actuallyTotalAmount;
-	/** 买方姓名 **/
-	private String buyerName;
-	/** 卖方姓名 **/
-	private String sellerName;
-	/** 订单状态 **/
-	private Integer orderStatus;
-	/** 结算状态 **/
-	private Integer liquidationStatus;
-	/** 是否特批 **/
-	private Integer approval;
-	/** 订单渠道 **/
-	private Integer orderChannel;
-	/** 营销员 **/
-	private String salesmanName;
-	/** 财务负责人 **/
-	private String financeName;
-	private String financeId;
-	/** 技术员 **/
-	private String technicianName;
-	/** 关联部门名称 **/
-	private String departmentName;
-	/** 订单阶段 **/
-	private Integer orderStage;
-	/** 项目阶段 **/
-	private Integer projectStage;
-	/** 删除、锁定 状态 **/
-	private Integer deleteSign;
-	/** 卖方 **/
-	private String buyerId;
-	/** 卖方 **/
-	private String sellerId;
-	/** 变更状态 **/
-	private Integer changeStatus;
-	/** 可操作状态 **/
-	private OperatorActive active;
-	/** 流程状态 **/
-	private Integer processStatus;
-	/** 搜索开始时间 **/
-	private String startTime;
-	/** 搜索结束时间 **/
-	private String endTime;
-	
-	/** 收款公司id **/
-	private String companyId;
-	/** 收款公司名称 **/
-	private String companyName;
-	/** 合同编号 */
-	private String contractNo;
-	/** 部门编号*/
-	private String departmentId;
-	/** 外包*/
-	private Integer outsource;
-	/** 外包名称*/
-	private String outsourceName;
-	/** 最后收款 */
-	private String finalReceivables;
-	/** 最后收款 时间*/
-	private String finalReceivablesTime;
-	/** 开票金额 */
-	private String invoiceAmount;
-	/** 结束最后收款 时间*/
-	private String endFinalReceivablesTime;
-	/** 开始最后收款 时间*/
-	private String startFinalReceivablesTime;	
-	/** 外包金额*/
-	private String outsourceAmount;
-	/** 筛选金额*/
-	private Integer amountStatus;
-	
-	public String getFinalReceivables() {
-		return finalReceivables;
-	}
-	public void setFinalReceivables(String finalReceivables) {
-		this.finalReceivables = finalReceivables;
-	}
-	public String getFinalReceivablesTime() {
-		return finalReceivablesTime;
-	}
-	public void setFinalReceivablesTime(String finalReceivablesTime) {
-		this.finalReceivablesTime = finalReceivablesTime;
-	}
-	public String getInvoiceAmount() {
-		return invoiceAmount;
-	}
-	public void setInvoiceAmount(String invoiceAmount) {
-		this.invoiceAmount = invoiceAmount;
-	}
-	public String getOrderNo() {
-		return orderNo;
-	}
-	public void setOrderNo(String orderNo) {
-		this.orderNo = orderNo;
-	}
-	public Integer getOrderType() {
-		return orderType;
-	}
-	public void setOrderType(Integer orderType) {
-		this.orderType = orderType;
-	}
-	public String getProjectType() {
-		return projectType;
-	}
-	public void setProjectType(String projectType) {
-		this.projectType = projectType;
-	}
-	public String getCreateTime() {
-		return createTime;
-	}
-	public void setCreateTime(String createTime) {
-		this.createTime = createTime;
-	}
-	public String getSignTime() {
-		return signTime;
-	}
-	public void setSignTime(String signTime) {
-		this.signTime = signTime;
-	}
-	public String getSignFirstPayment() {
-		return signFirstPayment;
-	}
-	public void setSignFirstPayment(String signFirstPayment) {
-		this.signFirstPayment = signFirstPayment;
-	}
-	public String getSignTotalAmount() {
-		return signTotalAmount;
-	}
-	public void setSignTotalAmount(String signTotalAmount) {
-		this.signTotalAmount = signTotalAmount;
-	}
-	public String getActuallyTotalAmount() {
-		return actuallyTotalAmount;
-	}
-	public void setActuallyTotalAmount(String actuallyTotalAmount) {
-		this.actuallyTotalAmount = actuallyTotalAmount;
-	}
-	public String getBuyerName() {
-		return buyerName;
-	}
-	public void setBuyerName(String buyerName) {
-		this.buyerName = buyerName;
-	}
-	public String getSellerName() {
-		return sellerName;
-	}
-	public void setSellerName(String sellerName) {
-		this.sellerName = sellerName;
-	}
-	public Integer getOrderStatus() {
-		return orderStatus;
-	}
-	public void setOrderStatus(Integer orderStatus) {
-		this.orderStatus = orderStatus;
-	}
-	public Integer getLiquidationStatus() {
-		return liquidationStatus;
-	}
-	public void setLiquidationStatus(Integer liquidationStatus) {
-		this.liquidationStatus = liquidationStatus;
-	}
-	public Integer getApproval() {
-		return approval;
-	}
-	public void setApproval(Integer approval) {
-		this.approval = approval;
-	}
-	public Integer getOrderChannel() {
-		return orderChannel;
-	}
-	public void setOrderChannel(Integer orderChannel) {
-		this.orderChannel = orderChannel;
-	}
-	public String getSalesmanName() {
-		return salesmanName;
-	}
-	public void setSalesmanName(String salesmanName) {
-		this.salesmanName = salesmanName;
-	}
-	public String getFinanceName() {
-		return financeName;
-	}
-	public void setFinanceName(String financeName) {
-		this.financeName = financeName;
-	}
-	public String getTechnicianName() {
-		return technicianName;
-	}
-	public void setTechnicianName(String technicianName) {
-		this.technicianName = technicianName;
-	}
-	public String getDepartmentName() {
-		return departmentName;
-	}
-	public void setDepartmentName(String departmentName) {
-		this.departmentName = departmentName;
-	}
-	public Integer getOrderStage() {
-		return orderStage;
-	}
-	public void setOrderStage(Integer orderStage) {
-		this.orderStage = orderStage;
-	}
-	public Integer getProjectStage() {
-		return projectStage;
-	}
-	public void setProjectStage(Integer projectStage) {
-		this.projectStage = projectStage;
-	}
-	public Integer getDeleteSign() {
-		return deleteSign;
-	}
-	public void setDeleteSign(Integer deleteSign) {
-		this.deleteSign = deleteSign;
-	}
-	public String getBuyerId() {
-		return buyerId;
-	}
-	public void setBuyerId(String buyerId) {
-		this.buyerId = buyerId;
-	}
-	public String getSellerId() {
-		return sellerId;
-	}
-	public void setSellerId(String sellerId) {
-		this.sellerId = sellerId;
-	}
-	public Integer getChangeStatus() {
-		return changeStatus;
-	}
-	public void setChangeStatus(Integer changeStatus) {
-		this.changeStatus = changeStatus;
-	}
-	public OperatorActive getActive() {
-		return active;
-	}
-	public void setActive(OperatorActive active) {
-		this.active = active;
-	}
-	public String getFinanceId() {
-		return financeId;
-	}
-	public void setFinanceId(String financeId) {
-		this.financeId = financeId;
-	}
-	public Integer getProcessStatus() {
-		return processStatus;
-	}
-	public void setProcessStatus(Integer processStatus) {
-		this.processStatus = processStatus;
-	}
-	public String getStartTime() {
-		return startTime;
-	}
-	public void setStartTime(String startTime) {
-		this.startTime = startTime;
-	}
-	public String getEndTime() {
-		return endTime;
-	}
-	public void setEndTime(String endTime) {
-		this.endTime = endTime;
-	}
-	public String getCompanyId() {
-		return companyId;
-	}
-	public void setCompanyId(String companyId) {
-		this.companyId = companyId;
-	}
-	public String getCompanyName() {
-		if (companyName==null) {
-			return "湖南科德信息咨询有限公司";
-		}
-		return companyName;
-	}
-	public void setCompanyName(String companyName) {
-		this.companyName = companyName;
-	}
-	public String getContractNo() {
-		return contractNo;
-	}
-	public void setContractNo(String contractNo) {
-		this.contractNo = contractNo;
-	}
-	public String getDepartmentId() {
-		return departmentId;
-	}
-	public void setDepartmentId(String departmentId) {
-		this.departmentId = departmentId;
-	}
-	public Integer getOutsource() {
-		return outsource;
-	}
-	public void setOutsource(Integer outsource) {
-		this.outsource = outsource;
-	}
-	public String getOutsourceName() {
-		return outsourceName;
-	}
-	public void setOutsourceName(String outsourceName) {
-		this.outsourceName = outsourceName;
-	}
-	public String getEndFinalReceivablesTime() {
-		return endFinalReceivablesTime;
-	}
-	public void setEndFinalReceivablesTime(String endFinalReceivablesTime) {
-		this.endFinalReceivablesTime = endFinalReceivablesTime;
-	}
-	public String getStartFinalReceivablesTime() {
-		return startFinalReceivablesTime;
-	}
-	public void setStartFinalReceivablesTime(String startFinalReceivablesTime) {
-		this.startFinalReceivablesTime = startFinalReceivablesTime;
-	}
-	public String getOutsourceAmount() {
-		return outsourceAmount;
-	}
-	public void setOutsourceAmount(String outsourceAmount) {
-		this.outsourceAmount = outsourceAmount;
-	}
-	public Integer getAmountStatus() {
-		return amountStatus;
-	}
-	public void setAmountStatus(Integer amountStatus) {
-		this.amountStatus = amountStatus;
-	}
-}
+package com.goafanti.order.bo;
+
+/**
+ * 订单列表
+ * @author Administrator
+ *
+ */
+public class OrderListBo {
+	/** 订单编号 **/
+	private String orderNo;
+	/** 订单类型 **/
+	private Integer orderType;
+	/** 业务品类 **/
+	private String projectType;
+	/** 订单创建时间 **/
+	private String createTime;
+	/** 签单时间 **/
+	private String signTime;
+	/** 合同首付金额 **/
+	private String signFirstPayment;
+	/** 合同订单金额 **/
+	private String signTotalAmount;
+	/** 实际付款金额 **/
+	private String actuallyTotalAmount;
+	/** 买方姓名 **/
+	private String buyerName;
+	/** 卖方姓名 **/
+	private String sellerName;
+	/** 订单状态 **/
+	private Integer orderStatus;
+	/** 结算状态 **/
+	private Integer liquidationStatus;
+	/** 是否特批 **/
+	private Integer approval;
+	/** 订单渠道 **/
+	private Integer orderChannel;
+	/** 营销员 **/
+	private String salesmanName;
+	/** 财务负责人 **/
+	private String financeName;
+	private String financeId;
+	/** 技术员 **/
+	private String technicianName;
+	/** 关联部门名称 **/
+	private String departmentName;
+	/** 订单阶段 **/
+	private Integer orderStage;
+	/** 项目阶段 **/
+	private Integer projectStage;
+	/** 删除、锁定 状态 **/
+	private Integer deleteSign;
+	/** 卖方 **/
+	private String buyerId;
+	/** 卖方 **/
+	private String sellerId;
+	/** 变更状态 **/
+	private Integer changeStatus;
+	/** 可操作状态 **/
+	private OperatorActive active;
+	/** 流程状态 **/
+	private Integer processStatus;
+	/** 搜索开始时间 **/
+	private String startTime;
+	/** 搜索结束时间 **/
+	private String endTime;
+	
+	/** 收款公司id **/
+	private String companyId;
+	/** 收款公司名称 **/
+	private String companyName;
+	/** 合同编号 */
+	private String contractNo;
+	/** 部门编号*/
+	private String departmentId;
+	/** 外包*/
+	private Integer outsource;
+	/** 外包名称*/
+	private String outsourceName;
+	/** 最后收款 */
+	private String finalReceivables;
+	/** 最后收款 时间*/
+	private String finalReceivablesTime;
+	/** 开票金额 */
+	private String invoiceAmount;
+	/** 结束最后收款 时间*/
+	private String endFinalReceivablesTime;
+	/** 开始最后收款 时间*/
+	private String startFinalReceivablesTime;	
+	/** 外包金额*/
+	private String outsourceAmount;
+	/** 筛选金额*/
+	private Integer amountStatus;
+	/** 驳回位置*/
+	private Integer backStatus;
+	
+	public String getFinalReceivables() {
+		return finalReceivables;
+	}
+	public void setFinalReceivables(String finalReceivables) {
+		this.finalReceivables = finalReceivables;
+	}
+	public String getFinalReceivablesTime() {
+		return finalReceivablesTime;
+	}
+	public void setFinalReceivablesTime(String finalReceivablesTime) {
+		this.finalReceivablesTime = finalReceivablesTime;
+	}
+	public String getInvoiceAmount() {
+		return invoiceAmount;
+	}
+	public void setInvoiceAmount(String invoiceAmount) {
+		this.invoiceAmount = invoiceAmount;
+	}
+	public String getOrderNo() {
+		return orderNo;
+	}
+	public void setOrderNo(String orderNo) {
+		this.orderNo = orderNo;
+	}
+	public Integer getOrderType() {
+		return orderType;
+	}
+	public void setOrderType(Integer orderType) {
+		this.orderType = orderType;
+	}
+	public String getProjectType() {
+		return projectType;
+	}
+	public void setProjectType(String projectType) {
+		this.projectType = projectType;
+	}
+	public String getCreateTime() {
+		return createTime;
+	}
+	public void setCreateTime(String createTime) {
+		this.createTime = createTime;
+	}
+	public String getSignTime() {
+		return signTime;
+	}
+	public void setSignTime(String signTime) {
+		this.signTime = signTime;
+	}
+	public String getSignFirstPayment() {
+		return signFirstPayment;
+	}
+	public void setSignFirstPayment(String signFirstPayment) {
+		this.signFirstPayment = signFirstPayment;
+	}
+	public String getSignTotalAmount() {
+		return signTotalAmount;
+	}
+	public void setSignTotalAmount(String signTotalAmount) {
+		this.signTotalAmount = signTotalAmount;
+	}
+	public String getActuallyTotalAmount() {
+		return actuallyTotalAmount;
+	}
+	public void setActuallyTotalAmount(String actuallyTotalAmount) {
+		this.actuallyTotalAmount = actuallyTotalAmount;
+	}
+	public String getBuyerName() {
+		return buyerName;
+	}
+	public void setBuyerName(String buyerName) {
+		this.buyerName = buyerName;
+	}
+	public String getSellerName() {
+		return sellerName;
+	}
+	public void setSellerName(String sellerName) {
+		this.sellerName = sellerName;
+	}
+	public Integer getOrderStatus() {
+		return orderStatus;
+	}
+	public void setOrderStatus(Integer orderStatus) {
+		this.orderStatus = orderStatus;
+	}
+	public Integer getLiquidationStatus() {
+		return liquidationStatus;
+	}
+	public void setLiquidationStatus(Integer liquidationStatus) {
+		this.liquidationStatus = liquidationStatus;
+	}
+	public Integer getApproval() {
+		return approval;
+	}
+	public void setApproval(Integer approval) {
+		this.approval = approval;
+	}
+	public Integer getOrderChannel() {
+		return orderChannel;
+	}
+	public void setOrderChannel(Integer orderChannel) {
+		this.orderChannel = orderChannel;
+	}
+	public String getSalesmanName() {
+		return salesmanName;
+	}
+	public void setSalesmanName(String salesmanName) {
+		this.salesmanName = salesmanName;
+	}
+	public String getFinanceName() {
+		return financeName;
+	}
+	public void setFinanceName(String financeName) {
+		this.financeName = financeName;
+	}
+	public String getTechnicianName() {
+		return technicianName;
+	}
+	public void setTechnicianName(String technicianName) {
+		this.technicianName = technicianName;
+	}
+	public String getDepartmentName() {
+		return departmentName;
+	}
+	public void setDepartmentName(String departmentName) {
+		this.departmentName = departmentName;
+	}
+	public Integer getOrderStage() {
+		return orderStage;
+	}
+	public void setOrderStage(Integer orderStage) {
+		this.orderStage = orderStage;
+	}
+	public Integer getProjectStage() {
+		return projectStage;
+	}
+	public void setProjectStage(Integer projectStage) {
+		this.projectStage = projectStage;
+	}
+	public Integer getDeleteSign() {
+		return deleteSign;
+	}
+	public void setDeleteSign(Integer deleteSign) {
+		this.deleteSign = deleteSign;
+	}
+	public String getBuyerId() {
+		return buyerId;
+	}
+	public void setBuyerId(String buyerId) {
+		this.buyerId = buyerId;
+	}
+	public String getSellerId() {
+		return sellerId;
+	}
+	public void setSellerId(String sellerId) {
+		this.sellerId = sellerId;
+	}
+	public Integer getChangeStatus() {
+		return changeStatus;
+	}
+	public void setChangeStatus(Integer changeStatus) {
+		this.changeStatus = changeStatus;
+	}
+	public OperatorActive getActive() {
+		return active;
+	}
+	public void setActive(OperatorActive active) {
+		this.active = active;
+	}
+	public String getFinanceId() {
+		return financeId;
+	}
+	public void setFinanceId(String financeId) {
+		this.financeId = financeId;
+	}
+	public Integer getProcessStatus() {
+		return processStatus;
+	}
+	public void setProcessStatus(Integer processStatus) {
+		this.processStatus = processStatus;
+	}
+	public String getStartTime() {
+		return startTime;
+	}
+	public void setStartTime(String startTime) {
+		this.startTime = startTime;
+	}
+	public String getEndTime() {
+		return endTime;
+	}
+	public void setEndTime(String endTime) {
+		this.endTime = endTime;
+	}
+	public String getCompanyId() {
+		return companyId;
+	}
+	public void setCompanyId(String companyId) {
+		this.companyId = companyId;
+	}
+	public String getCompanyName() {
+		if (companyName==null) {
+			return "湖南科德信息咨询有限公司";
+		}
+		return companyName;
+	}
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+	public String getContractNo() {
+		return contractNo;
+	}
+	public void setContractNo(String contractNo) {
+		this.contractNo = contractNo;
+	}
+	public String getDepartmentId() {
+		return departmentId;
+	}
+	public void setDepartmentId(String departmentId) {
+		this.departmentId = departmentId;
+	}
+	public Integer getOutsource() {
+		return outsource;
+	}
+	public void setOutsource(Integer outsource) {
+		this.outsource = outsource;
+	}
+	public String getOutsourceName() {
+		return outsourceName;
+	}
+	public void setOutsourceName(String outsourceName) {
+		this.outsourceName = outsourceName;
+	}
+	public String getEndFinalReceivablesTime() {
+		return endFinalReceivablesTime;
+	}
+	public void setEndFinalReceivablesTime(String endFinalReceivablesTime) {
+		this.endFinalReceivablesTime = endFinalReceivablesTime;
+	}
+	public String getStartFinalReceivablesTime() {
+		return startFinalReceivablesTime;
+	}
+	public void setStartFinalReceivablesTime(String startFinalReceivablesTime) {
+		this.startFinalReceivablesTime = startFinalReceivablesTime;
+	}
+	public String getOutsourceAmount() {
+		return outsourceAmount;
+	}
+	public void setOutsourceAmount(String outsourceAmount) {
+		this.outsourceAmount = outsourceAmount;
+	}
+	public Integer getAmountStatus() {
+		return amountStatus;
+	}
+	public void setAmountStatus(Integer amountStatus) {
+		this.amountStatus = amountStatus;
+	}
+	public Integer getBackStatus() {
+		return backStatus;
+	}
+	public void setBackStatus(Integer backStatus) {
+		this.backStatus = backStatus;
+	}
+}

+ 367 - 368
src/main/java/com/goafanti/order/controller/FundManagerOrderApiController.java

@@ -1,368 +1,367 @@
-package com.goafanti.order.controller;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-
-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.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.goafanti.common.bo.Result;
-import com.goafanti.common.constant.AFTConstants;
-import com.goafanti.common.controller.CertifyApiController;
-import com.goafanti.common.model.TOrderBack;
-import com.goafanti.common.model.TOrderBillNew;
-import com.goafanti.common.model.TOrderNew;
-import com.goafanti.common.model.TOrderRefund;
-import com.goafanti.common.utils.StringUtils;
-import com.goafanti.core.shiro.token.TokenManager;
-import com.goafanti.order.bo.OrderListBo;
-import com.goafanti.order.bo.OrderRefundBo;
-import com.goafanti.order.service.FundManageOrderService;
-import com.goafanti.order.service.OrderBillService;
-import com.goafanti.order.service.OrderRefundService;
-
-@RestController
-@RequestMapping(value = "/api/admin/financial")
-public class FundManagerOrderApiController extends CertifyApiController {
-	@Resource
-	private FundManageOrderService fundManageOrderServiceImpl;
-	@Resource
-	private OrderBillService orderBillServiceImpl;
-	@Resource
-	private OrderRefundService orderRefundServiceImpl;
-	
-	/**
-	 * 财务管理员查看所有待分配的订单
-	 * @param order	>> outsource 0否 1外包
-	 * @param pageNo
-	 * @param pageSize
-	 * @return
-	 */
-	@RequestMapping(value="/allUnassignedOrder",method = RequestMethod.GET)
-	public Result allUnassignedOrder(OrderListBo order, Integer pageNo, Integer pageSize){
-		Result res = new Result();
-		//order.setProcessStatus(2);//订单状态为2   改为前端传
-		res.setData(fundManageOrderServiceImpl.allUnassignedOrder(order, pageNo, pageSize));
-		return res;
-	}
-	
-	/**
-	 * 财务管理员分派订单
-	 * @param orderid
-	 * @param financeId
-	 * @return
-	 */
-	@RequestMapping(value="/distributionFinance", method = RequestMethod.POST)
-	public Result distributionFinance(String orderNo, String financeId, Integer approval){
-		Result res = new Result();
-		Integer r = fundManageOrderServiceImpl.updateDistributionFinance(orderNo, financeId, approval);
-		if(r == -1){
-			res.getError().add(buildError("", "未通过特批不能分配"));
-			return res;
-		}else if( r == -2 ){
-			res.getError().add(buildError("", "订单编号或者财务专员发生异常错误"));
-			return res;
-		}else{
-			res.setData(r);
-		}
-		return res;
-	}
-	
-	/**
-	 * 财务专员查看分配给自己的订单
-	 * @param order >> outsource 0否 1外包
-	 * @param pageNo
-	 * @param pageSize
-	 * @return
-	 */
-	@RequestMapping(value="/financeList", method = RequestMethod.GET)
-	public Result financeList(OrderListBo order, Integer pageNo, Integer pageSize ){
-		Result res = new Result();
-		//order.setProcessStatus(3);//分配给自己 改为前端 传3未分配  4已分配
-		order.setOrderStatus(2);//营销管理员审核通过
-		res.setData(fundManageOrderServiceImpl.financeList(order, pageNo, pageSize));
-		return res;
-	}
-	
-	/**
-	 * 财务专员驳回
-	 * @param orderBack
-	 * @return
-	 */
-	@RequestMapping(value="/reject", method = RequestMethod.POST)
-	public Result reject(TOrderBack orderBack){
-		Result res = new Result();
-		if(null != orderBack.getReason() && orderBack.getReason().length() > 256){
-			res.getError().add(buildError("", "驳回原因长度不能大于256"));
-			return res;
-		}
-		Integer i = fundManageOrderServiceImpl.updateReject(orderBack);
-		if(i>0){
-			res.setData("驳回处理成功!");
-		}else{
-			res.getError().add(buildError("", "已经交款不能驳回"));
-		}
-		return res;
-	}
-	
-	/**
-	 * 	财务收款
-	 * 	财务专员新增流水记录并流转订单状态
-	 * @param billNew
-	 * @return
-	 */
-	@RequestMapping(value="/addReceiptsFlow", method = RequestMethod.POST)
-	public Result addReceiptsFlow(TOrderBillNew billNew,String contractNo){
-		Result res = new Result();
-		if(null != billNew.getRemarks() && billNew.getRemarks().length() > 255){
-			res.getError().add(buildError("", "备注长度不能大于255"));
-			return res;
-		}
-		
-		if (StringUtils.isBlank(contractNo)) {
-			res.getError().add(buildError("", "合同编号不能为空!"));
-			return res;
-		} else if (contractNo.length() > 32) {
-			res.getError().add(buildError("", "合同编号长度不能大于32!"));
-			return res;
-		}
-		//流水时间处理
-		//if(StringUtils.isNotEmpty(billNew.getFinancialPayTimes())){
-			try {
-				billNew.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(billNew.getFinancialPayTimes()));
-			} catch (ParseException e) {
-				e.printStackTrace();
-				res.getError().add(buildError("", "财务流水时间有误!"));
-				return res;
-			}
-		//}
-		Integer i = fundManageOrderServiceImpl.addReceiptsFlow(billNew,contractNo);
-		if(i>0){
-			res.setData("新增收款记录成功!");
-		}else if(i == -3){
-			res.getError().add(buildError("", "订单变更锁定中"));
-		}else if(i == -2){
-			res.getError().add(buildError("", "订单编号错误!"));
-		}else{
-			res.getError().add(buildError("", "本次收款金额大于应收金额!"));
-		}
-		return res;
-	}
-	/**
-	 * 财务审核
-	 */
-	@RequestMapping(value="/financeApproval", method = RequestMethod.POST)
-	public Result financeApproval(String orderNo,String remarks) {
-		Result res=new Result();
-		if (StringUtils.isBlank(orderNo)) {
-			res.getError().add(buildError("","订单必须指定。"));
-		}
-		res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo,remarks));
-		return res;
-	}
-	
-	/**
-	 * 财务专员查看自己要处理的退单数据
-	 * @param refund
-	 * @param pageNo
-	 * @param pageSize
-	 * @return
-	 */
-	@RequestMapping(value="/getRefundList", method = RequestMethod.GET)
-	public Result getRefundList(OrderRefundBo refund, Integer pageNo, Integer pageSize){
-		Result res = new Result();
-		refund.setAccept(TokenManager.getAdminId());
-		if(null != refund.getRefundStatus()){
-			refund.setRefundStatus(refund.getRefundStatus() + 1);
-		}
-		res.setData(orderRefundServiceImpl.getRefundList(refund, pageNo, pageSize));
-		return res;
-	}
-	
-	/**
-	 * 财务专员审核退款
-	 * @param refund
-	 * @return
-	 */
-	@RequestMapping(value="/changeRefund", method = RequestMethod.POST)
-	public Result changeRefund(TOrderRefund refund){
-		Result res = new Result();
-		if(null != refund.getResult() && refund.getResult().length() > 256){
-			res.getError().add(buildError("", "审批意见长度不能大于256"));
-			return res;
-		}
-		int r = fundManageOrderServiceImpl.updateChangeRefund(refund);
-		if(r>0){
-			res.setData("审核退款成功!");
-		}else{
-			res.getError().add(buildError("", "状态异常不能审批!"));
-		}
-		return res;
-	}
-	
-	/**
-	 * 财务专员新增退款流水
-	 * @param orderRefund
-	 * @return
-	 */
-	@RequestMapping(value="/addRefundFlow", method = RequestMethod.POST)
-	public Result addRefundFlow(TOrderBillNew orderRefund){
-		Result res = new Result();
-		if(null != orderRefund.getRemarks() && orderRefund.getRemarks().length() > 255){
-			res.getError().add(buildError("", "备注长度不能大于255"));
-			return res;
-		}
-		//if(StringUtils.isNotEmpty(orderRefund.getFinancialPayTimes())){
-			try {
-			orderRefund.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(orderRefund.getFinancialPayTimes()));
-			} catch (ParseException e) {
-				e.printStackTrace();
-				res.getError().add(buildError("", "财务流水时间有误!"));
-				return res;
-			}
-		//}
-		int r = fundManageOrderServiceImpl.addRefundFlow(orderRefund);
-		if(r>0){
-			res.setData("退款记录新增成功!");
-		}else{
-			res.getError().add(buildError("", "退款金额不能大于已交款金额"));
-		}
-		return res;
-	}
-	
-	/**
-	 * 根据id查看订单流水数据
-	 * @param rid
-	 * @return
-	 */
-	@RequestMapping(value="/selectOneRefundFlow", method = RequestMethod.GET)
-	public Result selectOneRefundFlow(String billNo){
-		Result res = new Result();
-		res.setData(fundManageOrderServiceImpl.selectOneRefundFlow(billNo));
-		return res;
-	}
-	
-	/**
-	 * 根据订单编号查看该订单相关的所有流水
-	 * @param orderNo
-	 * @return
-	 */
-	@RequestMapping(value="/selectOneOrderAllRefundFlow", method = RequestMethod.GET)
-	public Result selectOneOrderAllRefundFlow(String orderNo){
-		Result res = new Result();
-		res.setData(fundManageOrderServiceImpl.selectOneOrderAllRefundFlow(orderNo));
-		return res;
-	}
-	
-	/**
-	 * 财务专员查看自己的流水
-	 * @param billNew
-	 * @param pageNo
-	 * @param pageSize
-	 * @param type 0自己 1所有
-	 * @return
-	 */
-	@RequestMapping(value="/myBillList", method = RequestMethod.GET)
-	public Result myBillList(TOrderBillNew billNew,Integer whoType ,Integer pageNo, Integer pageSize){
-		Result res = new Result();
-		res.setData(orderBillServiceImpl.myBillList(billNew,whoType, pageNo, pageSize));
-		return res;
-	}
-
-	/**
-	 * 删除流水
-	 * 
-	 */
-	@RequestMapping(value="/deleteMyBill", method = RequestMethod.GET)
-	public Result deleteMyBill(String billNo){
-		Result res = new Result();
-		res.setData(orderBillServiceImpl.deleteMyBill(billNo));
-		return res;
-	}
-	/**
-	 * 查看部门的流水
-	 * @param billNew
-	 * @param pageNo
-	 * @param pageSize
-	 * @return
-	 */
-	@RequestMapping(value="/deptBillList", method = RequestMethod.GET)
-	public Result deptBillList(TOrderBillNew billNew, Integer pageNo, Integer pageSize){
-		Result res = new Result();
-		res.setData(orderBillServiceImpl.myBillList(billNew, 1,pageNo, pageSize));
-		return res;
-	}
-	
-	/**
-	 * 下载部门流水数据
-	 * @param billNew
-	 * @param response
-	 * @return
-	 * @throws IOException 
-	 */
-	 @RequestMapping(value="/exportBillData", method = RequestMethod.GET)
-	 public Result exportBillData(TOrderBillNew billNew,HttpServletResponse response) throws IOException{
-		 OutputStream out = response.getOutputStream();
-		 Result res = new Result();
-		 XSSFWorkbook wb = orderBillServiceImpl.exportBillData(billNew);
-		 if(null == wb){
-			 wb = new XSSFWorkbook();
-			XSSFSheet sheet = wb.createSheet("没有流水记录");
-			XSSFRow row = sheet.createRow(0);
-			XSSFCell cell = row.createCell(0);
-			cell.setCellValue("没有流水记录");
-		 }
-		 String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
-		 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
-		 response.setContentType("application/octet-stream;charset=utf-8");  
-		 /*String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
-		 ExportExcelUtil.download(path,response,fileName);
-		 res.setData(path);
-		 //删除
-		 File f = new File(path);
-		 if(f.exists()){
-			 System.out.println("shanchu----------------------0");
-			 f.delete();
-		 }*/
-		try {
-			// 返回数据流
-			wb.write(out); 
-			out.flush();
-			out.close();
-		} finally {
-			out.flush(); 
-			out.close(); 
-		}
-		return res;
-	 }
-	 
-	 /**
-	  * 修改合同编号
-	  * @param orderNew
-	  * @return
-	  */
-	 @RequestMapping(value="/updateContractNo", method = RequestMethod.POST)
-	 public Result updateContractNo(TOrderNew orderNew){
-		 Result res = new Result();
-		 if(StringUtils.isBlank(orderNew.getContractNo())){
-			 res.getError().add(buildError("", "合同编号不能为空!"));
-			 return res;
-		 } else if(orderNew.getContractNo().length()>32){
-			 res.getError().add(buildError("", "合同编号长度不能大于32!"));
-			 return res;
-		 }
-		 res.setData(fundManageOrderServiceImpl.updateContractNo(orderNew));
-		 return res;
-	 }
-}
+package com.goafanti.order.controller;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+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.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.model.TOrderBack;
+import com.goafanti.common.model.TOrderBillNew;
+import com.goafanti.common.model.TOrderNew;
+import com.goafanti.common.model.TOrderRefund;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.order.bo.OrderListBo;
+import com.goafanti.order.bo.OrderRefundBo;
+import com.goafanti.order.service.FundManageOrderService;
+import com.goafanti.order.service.OrderBillService;
+import com.goafanti.order.service.OrderRefundService;
+
+@RestController
+@RequestMapping(value = "/api/admin/financial")
+public class FundManagerOrderApiController extends CertifyApiController {
+	@Resource
+	private FundManageOrderService fundManageOrderServiceImpl;
+	@Resource
+	private OrderBillService orderBillServiceImpl;
+	@Resource
+	private OrderRefundService orderRefundServiceImpl;
+	
+	/**
+	 * 财务管理员查看所有待分配的订单
+	 * @param order	>> outsource 0否 1外包
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value="/allUnassignedOrder",method = RequestMethod.GET)
+	public Result allUnassignedOrder(OrderListBo order, Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		//order.setProcessStatus(2);//订单状态为2   改为前端传
+		res.setData(fundManageOrderServiceImpl.allUnassignedOrder(order, pageNo, pageSize));
+		return res;
+	}
+	
+	/**
+	 * 财务管理员分派订单
+	 * @param orderid
+	 * @param financeId
+	 * @return
+	 */
+	@RequestMapping(value="/distributionFinance", method = RequestMethod.POST)
+	public Result distributionFinance(String orderNo, String financeId, Integer approval){
+		Result res = new Result();
+		Integer r = fundManageOrderServiceImpl.updateDistributionFinance(orderNo, financeId, approval);
+		if(r == -1){
+			res.getError().add(buildError("", "未通过特批不能分配"));
+			return res;
+		}else if( r == -2 ){
+			res.getError().add(buildError("", "订单编号或者财务专员发生异常错误"));
+			return res;
+		}else{
+			res.setData(r);
+		}
+		return res;
+	}
+	
+	/**
+	 * 财务专员查看分配给自己的订单
+	 * @param order >> outsource 0否 1外包
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value="/financeList", method = RequestMethod.GET)
+	public Result financeList(OrderListBo order, Integer pageNo, Integer pageSize ){
+		Result res = new Result();
+		order.setOrderStatus(2);//营销管理员审核通过
+		res.setData(fundManageOrderServiceImpl.financeList(order, pageNo, pageSize));
+		return res;
+	}
+	
+	/**
+	 * 财务专员驳回
+	 * @param orderBack
+	 * @return
+	 */
+	@RequestMapping(value="/reject", method = RequestMethod.POST)
+	public Result reject(TOrderBack orderBack){
+		Result res = new Result();
+		if(null != orderBack.getReason() && orderBack.getReason().length() > 256){
+			res.getError().add(buildError("", "驳回原因长度不能大于256"));
+			return res;
+		}
+		Integer i = fundManageOrderServiceImpl.updateReject(orderBack);
+		if(i>0){
+			res.setData("驳回处理成功!");
+		}else{
+			res.getError().add(buildError("", "已经交款不能驳回"));
+		}
+		return res;
+	}
+	
+	/**
+	 * 	财务收款
+	 * 	财务专员新增流水记录并流转订单状态
+	 * @param billNew
+	 * @return
+	 */
+	@RequestMapping(value="/addReceiptsFlow", method = RequestMethod.POST)
+	public Result addReceiptsFlow(TOrderBillNew billNew,String contractNo){
+		Result res = new Result();
+		if(null != billNew.getRemarks() && billNew.getRemarks().length() > 255){
+			res.getError().add(buildError("", "备注长度不能大于255"));
+			return res;
+		}
+		
+		if (StringUtils.isBlank(contractNo)) {
+			res.getError().add(buildError("", "合同编号不能为空!"));
+			return res;
+		} else if (contractNo.length() > 32) {
+			res.getError().add(buildError("", "合同编号长度不能大于32!"));
+			return res;
+		}
+		//流水时间处理
+		//if(StringUtils.isNotEmpty(billNew.getFinancialPayTimes())){
+			try {
+				billNew.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(billNew.getFinancialPayTimes()));
+			} catch (ParseException e) {
+				e.printStackTrace();
+				res.getError().add(buildError("", "财务流水时间有误!"));
+				return res;
+			}
+		//}
+		Integer i = fundManageOrderServiceImpl.addReceiptsFlow(billNew,contractNo);
+		if(i>0){
+			res.setData("新增收款记录成功!");
+		}else if(i == -3){
+			res.getError().add(buildError("", "订单变更锁定中"));
+		}else if(i == -2){
+			res.getError().add(buildError("", "订单编号错误!"));
+		}else{
+			res.getError().add(buildError("", "本次收款金额大于应收金额!"));
+		}
+		return res;
+	}
+	/**
+	 * 财务审核
+	 */
+	@RequestMapping(value="/financeApproval", method = RequestMethod.POST)
+	public Result financeApproval(String orderNo,String remarks) {
+		Result res=new Result();
+		if (StringUtils.isBlank(orderNo)) {
+			res.getError().add(buildError("","订单必须指定。"));
+		}
+		res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo,remarks));
+		return res;
+	}
+	
+	/**
+	 * 财务专员查看自己要处理的退单数据
+	 * @param refund
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value="/getRefundList", method = RequestMethod.GET)
+	public Result getRefundList(OrderRefundBo refund, Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		refund.setAccept(TokenManager.getAdminId());
+		if(null != refund.getRefundStatus()){
+			refund.setRefundStatus(refund.getRefundStatus() + 1);
+		}
+		res.setData(orderRefundServiceImpl.getRefundList(refund, pageNo, pageSize));
+		return res;
+	}
+	
+	/**
+	 * 财务专员审核退款
+	 * @param refund
+	 * @return
+	 */
+	@RequestMapping(value="/changeRefund", method = RequestMethod.POST)
+	public Result changeRefund(TOrderRefund refund){
+		Result res = new Result();
+		if(null != refund.getResult() && refund.getResult().length() > 256){
+			res.getError().add(buildError("", "审批意见长度不能大于256"));
+			return res;
+		}
+		int r = fundManageOrderServiceImpl.updateChangeRefund(refund);
+		if(r>0){
+			res.setData("审核退款成功!");
+		}else{
+			res.getError().add(buildError("", "状态异常不能审批!"));
+		}
+		return res;
+	}
+	
+	/**
+	 * 财务专员新增退款流水
+	 * @param orderRefund
+	 * @return
+	 */
+	@RequestMapping(value="/addRefundFlow", method = RequestMethod.POST)
+	public Result addRefundFlow(TOrderBillNew orderRefund){
+		Result res = new Result();
+		if(null != orderRefund.getRemarks() && orderRefund.getRemarks().length() > 255){
+			res.getError().add(buildError("", "备注长度不能大于255"));
+			return res;
+		}
+		//if(StringUtils.isNotEmpty(orderRefund.getFinancialPayTimes())){
+			try {
+			orderRefund.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(orderRefund.getFinancialPayTimes()));
+			} catch (ParseException e) {
+				e.printStackTrace();
+				res.getError().add(buildError("", "财务流水时间有误!"));
+				return res;
+			}
+		//}
+		int r = fundManageOrderServiceImpl.addRefundFlow(orderRefund);
+		if(r>0){
+			res.setData("退款记录新增成功!");
+		}else{
+			res.getError().add(buildError("", "退款金额不能大于已交款金额"));
+		}
+		return res;
+	}
+	
+	/**
+	 * 根据id查看订单流水数据
+	 * @param rid
+	 * @return
+	 */
+	@RequestMapping(value="/selectOneRefundFlow", method = RequestMethod.GET)
+	public Result selectOneRefundFlow(String billNo){
+		Result res = new Result();
+		res.setData(fundManageOrderServiceImpl.selectOneRefundFlow(billNo));
+		return res;
+	}
+	
+	/**
+	 * 根据订单编号查看该订单相关的所有流水
+	 * @param orderNo
+	 * @return
+	 */
+	@RequestMapping(value="/selectOneOrderAllRefundFlow", method = RequestMethod.GET)
+	public Result selectOneOrderAllRefundFlow(String orderNo){
+		Result res = new Result();
+		res.setData(fundManageOrderServiceImpl.selectOneOrderAllRefundFlow(orderNo));
+		return res;
+	}
+	
+	/**
+	 * 财务专员查看自己的流水
+	 * @param billNew
+	 * @param pageNo
+	 * @param pageSize
+	 * @param type 0自己 1所有
+	 * @return
+	 */
+	@RequestMapping(value="/myBillList", method = RequestMethod.GET)
+	public Result myBillList(TOrderBillNew billNew,Integer whoType ,Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		res.setData(orderBillServiceImpl.myBillList(billNew,whoType, pageNo, pageSize));
+		return res;
+	}
+
+	/**
+	 * 删除流水
+	 * 
+	 */
+	@RequestMapping(value="/deleteMyBill", method = RequestMethod.GET)
+	public Result deleteMyBill(String billNo){
+		Result res = new Result();
+		res.setData(orderBillServiceImpl.deleteMyBill(billNo));
+		return res;
+	}
+	/**
+	 * 查看部门的流水
+	 * @param billNew
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value="/deptBillList", method = RequestMethod.GET)
+	public Result deptBillList(TOrderBillNew billNew, Integer pageNo, Integer pageSize){
+		Result res = new Result();
+		res.setData(orderBillServiceImpl.myBillList(billNew, 1,pageNo, pageSize));
+		return res;
+	}
+	
+	/**
+	 * 下载部门流水数据
+	 * @param billNew
+	 * @param response
+	 * @return
+	 * @throws IOException 
+	 */
+	 @RequestMapping(value="/exportBillData", method = RequestMethod.GET)
+	 public Result exportBillData(TOrderBillNew billNew,HttpServletResponse response) throws IOException{
+		 OutputStream out = response.getOutputStream();
+		 Result res = new Result();
+		 XSSFWorkbook wb = orderBillServiceImpl.exportBillData(billNew);
+		 if(null == wb){
+			 wb = new XSSFWorkbook();
+			XSSFSheet sheet = wb.createSheet("没有流水记录");
+			XSSFRow row = sheet.createRow(0);
+			XSSFCell cell = row.createCell(0);
+			cell.setCellValue("没有流水记录");
+		 }
+		 String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+		 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+		 response.setContentType("application/octet-stream;charset=utf-8");  
+		 /*String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+		 ExportExcelUtil.download(path,response,fileName);
+		 res.setData(path);
+		 //删除
+		 File f = new File(path);
+		 if(f.exists()){
+			 System.out.println("shanchu----------------------0");
+			 f.delete();
+		 }*/
+		try {
+			// 返回数据流
+			wb.write(out); 
+			out.flush();
+			out.close();
+		} finally {
+			out.flush(); 
+			out.close(); 
+		}
+		return res;
+	 }
+	 
+	 /**
+	  * 修改合同编号
+	  * @param orderNew
+	  * @return
+	  */
+	 @RequestMapping(value="/updateContractNo", method = RequestMethod.POST)
+	 public Result updateContractNo(TOrderNew orderNew){
+		 Result res = new Result();
+		 if(StringUtils.isBlank(orderNew.getContractNo())){
+			 res.getError().add(buildError("", "合同编号不能为空!"));
+			 return res;
+		 } else if(orderNew.getContractNo().length()>32){
+			 res.getError().add(buildError("", "合同编号长度不能大于32!"));
+			 return res;
+		 }
+		 res.setData(fundManageOrderServiceImpl.updateContractNo(orderNew));
+		 return res;
+	 }
+}

+ 215 - 214
src/main/java/com/goafanti/order/controller/OrderInvoiceApiController.java

@@ -1,214 +1,215 @@
-package com.goafanti.order.controller;
-
-
-
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.goafanti.common.bo.Result;
-import com.goafanti.common.constant.ErrorConstants;
-import com.goafanti.common.controller.CertifyApiController;
-import com.goafanti.common.model.TOrderInvoice;
-import com.goafanti.common.utils.StringUtils;
-import com.goafanti.order.service.OrderInvoiceService;
-
-@RestController
-@RequestMapping(value = "/api/admin/orderInvoice")
-public class OrderInvoiceApiController extends CertifyApiController {
-	
-	@Autowired
-	private OrderInvoiceService		orderInvoiceService;
-	
-	/**
-	 * 创建发票申请
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/createOrderInvoice",method = RequestMethod.POST)
-	public Result createOrderInvoice(TOrderInvoice t,Integer submit ){
-		Result res = new Result();
-		if(t==null||null==t.getInvoiceType()||StringUtils.isBlank(t.getTaxNumber())||
-				null==t.getAmount()||null==t.getBanks()||StringUtils.isBlank(t.getContent())
-				||StringUtils.isBlank(t.getUnitAddress())||StringUtils.isBlank(t.getUnitMobile())
-				||StringUtils.isBlank(t.getUnitName())||StringUtils.isBlank(t.getVoucherUrl())
-				||StringUtils.isBlank(t.getOrderNo())){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","基本资料"));
-			return res;
-		}
-		//status 0保存 1提交
-		if(orderInvoiceService.checkAmount(t)) {
-			res.getError().add(buildError("","可开票余额不足!"));
-			return res;
-		}
-		res.data(orderInvoiceService.createServiceOrder(t));
-		return res;
-	}
-	
-	
-	/**
-	   *   发票申请详情
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/selectByIdOrderInvoice",method = RequestMethod.GET)
-	public Result selectByIdOrderInvoice(Integer id){
-		Result res = new Result();
-		if(id==null){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
-			return res;
-		}
-		
-		res.data(orderInvoiceService.selectByIdOrderInvoice(id));
-		return res;
-	}
-	/**
-	 * 获取最新开票详情
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/getInvoiceDetails",method = RequestMethod.GET)
-	public Result getInvoiceDetails(String orderNo){
-		Result res = new Result();
-		if(StringUtils.isBlank(orderNo)){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
-			return res;
-		}
-		
-		res.data(orderInvoiceService.getInvoiceDetails(orderNo));
-		return res;
-	}
-	/**
-	 * 修改发票申请
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/updateOrderInvoice",method = RequestMethod.POST)
-	public Result updateOrderInvoice(TOrderInvoice t){
-		Result res = new Result();
-		if(t==null||null==t.getInvoiceType()||StringUtils.isBlank(t.getTaxNumber())||
-				null==t.getAmount()||null==t.getBanks()||StringUtils.isBlank(t.getContent())
-				||StringUtils.isBlank(t.getUnitAddress())||StringUtils.isBlank(t.getUnitMobile())
-				||StringUtils.isBlank(t.getUnitName())||StringUtils.isBlank(t.getVoucherUrl())
-				||StringUtils.isBlank(t.getOrderNo())){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","基本资料"));
-			return res;
-		}
-		if(orderInvoiceService.checkAmount(t)) {
-			res.getError().add(buildError("","可开票余额不足!"));
-			return res;
-		}
-		res.data(orderInvoiceService.updateServiceOrder(t));
-		return res;
-	}
-	
-	
-	/**
-	 *  财务开票列表
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/financeOrderInvoiceList",method = RequestMethod.GET)
-	public Result financeOrderInvoiceList(String orderDep,String orderNo ,String name,  Integer type,Integer pageNo,Integer pageSize){
-		Result res = new Result();
-		
-		res.data(orderInvoiceService.financeOrderInvoiceList( orderDep, orderNo , name,type,pageNo,pageSize));
-		return res;
-	}
-	
-	
-	
-	/**
-	 *  开票特批列表
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/approvalOrderInvoiceList",method = RequestMethod.GET)
-	public Result approvalOrderInvoiceList(Integer status,Integer approval,Integer type,String orderDep,String orderNo ,String name,String userName,Integer pageNo,Integer pageSize){
-		Result res = new Result();
-		
-		res.data(orderInvoiceService.approvalOrderInvoiceList( status,approval,type, orderDep, orderNo, name,userName,pageNo,pageSize));
-		return res;
-	}
-	
-	/**
-	 *   开票审核
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/financeExamine",method = RequestMethod.POST)
-	public Result financeExamine(Integer id,Integer examine,String reason){
-		Result res = new Result();
-		if(id==null){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
-			return res;
-		}
-		//examine 2通过 3拒绝
-		if (examine==3&&StringUtils.isBlank(reason)) {
-			res.getError().add(buildError("","拒绝必须填写原因。"));
-			return res;
-		}
-		res.data(orderInvoiceService.updatefinanceExamine( id, examine, reason));
-		return res;
-	}
-	
-	/**
-	 *   特批审核
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/approvalExamine",method = RequestMethod.POST)
-	public Result approvalExamine(Integer id,Integer examine,String reason){
-		Result res = new Result();
-		if(id==null){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
-			return res;
-		}
-		//examine 2通过 3拒绝
-		if (examine==3&&StringUtils.isBlank(reason)) {
-			res.getError().add(buildError("","拒绝必须填写原因。"));
-			return res;
-		}
-		res.data(orderInvoiceService.updateapprovalExamine( id, examine, reason));
-		return res;
-	}
-	
-	/**
-	 *   订单开票列表
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	@RequestMapping(value = "/salesmanOrderInvoiceList",method = RequestMethod.GET)
-	public Result salesmanOrderInvoiceList(String orderNo,Integer pageNo,Integer pageSize){
-		Result res = new Result();
-		if(StringUtils.isBlank(orderNo)){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
-			return res;
-		}
-		res.data(orderInvoiceService.salesmanOrderInvoiceList(  orderNo, pageNo,pageSize));
-		return res;
-	}
-	
-	/** 开票文件上传 **/
-	@RequestMapping(value = "/uploadOrderInvoiceFile", method = RequestMethod.POST)
-	public Result uploadOrderInvoiceFile(HttpServletRequest req,String sign){
-		Result res = new Result();
-		//order_invoice_file
-		res.setData(handleFile(res, "/order_invoice_file/", false, req, sign));
-		return res;
-	}
-	
-}
+package com.goafanti.order.controller;
+
+
+
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
+import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.model.TOrderInvoice;
+import com.goafanti.common.utils.StringUtils;
+import com.goafanti.order.bo.InputOrderInvoiceBo;
+import com.goafanti.order.service.OrderInvoiceService;
+
+@RestController
+@RequestMapping(value = "/api/admin/orderInvoice")
+public class OrderInvoiceApiController extends CertifyApiController {
+	
+	@Autowired
+	private OrderInvoiceService		orderInvoiceService;
+	
+	/**
+	 * 创建发票申请
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/createOrderInvoice",method = RequestMethod.POST)
+	public Result createOrderInvoice(TOrderInvoice t,Integer submit ){
+		Result res = new Result();
+		if(t==null||null==t.getInvoiceType()||StringUtils.isBlank(t.getTaxNumber())||
+				null==t.getAmount()||null==t.getBanks()||StringUtils.isBlank(t.getContent())
+				||StringUtils.isBlank(t.getUnitAddress())||StringUtils.isBlank(t.getUnitMobile())
+				||StringUtils.isBlank(t.getUnitName())||StringUtils.isBlank(t.getVoucherUrl())
+				||StringUtils.isBlank(t.getOrderNo())){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","基本资料"));
+			return res;
+		}
+		//status 0保存 1提交
+		if(orderInvoiceService.checkAmount(t)) {
+			res.getError().add(buildError("","可开票余额不足!"));
+			return res;
+		}
+		res.data(orderInvoiceService.createServiceOrder(t));
+		return res;
+	}
+	
+	
+	/**
+	   *   发票申请详情
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/selectByIdOrderInvoice",method = RequestMethod.GET)
+	public Result selectByIdOrderInvoice(Integer id){
+		Result res = new Result();
+		if(id==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
+			return res;
+		}
+		
+		res.data(orderInvoiceService.selectByIdOrderInvoice(id));
+		return res;
+	}
+	/**
+	 * 获取最新开票详情
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/getInvoiceDetails",method = RequestMethod.GET)
+	public Result getInvoiceDetails(String orderNo){
+		Result res = new Result();
+		if(StringUtils.isBlank(orderNo)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
+			return res;
+		}
+		
+		res.data(orderInvoiceService.getInvoiceDetails(orderNo));
+		return res;
+	}
+	/**
+	 * 修改发票申请
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/updateOrderInvoice",method = RequestMethod.POST)
+	public Result updateOrderInvoice(TOrderInvoice t){
+		Result res = new Result();
+		if(t==null||null==t.getInvoiceType()||StringUtils.isBlank(t.getTaxNumber())||
+				null==t.getAmount()||null==t.getBanks()||StringUtils.isBlank(t.getContent())
+				||StringUtils.isBlank(t.getUnitAddress())||StringUtils.isBlank(t.getUnitMobile())
+				||StringUtils.isBlank(t.getUnitName())||StringUtils.isBlank(t.getVoucherUrl())
+				||StringUtils.isBlank(t.getOrderNo())){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","基本资料"));
+			return res;
+		}
+		if(orderInvoiceService.checkAmount(t)) {
+			res.getError().add(buildError("","可开票余额不足!"));
+			return res;
+		}
+		res.data(orderInvoiceService.updateServiceOrder(t));
+		return res;
+	}
+	
+	
+	/**
+	 *  财务开票列表
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/financeOrderInvoiceList",method = RequestMethod.GET)
+	public Result financeOrderInvoiceList(InputOrderInvoiceBo o,Integer pageNo,Integer pageSize){
+		Result res = new Result();
+		
+		res.data(orderInvoiceService.financeOrderInvoiceList( o,pageNo,pageSize));
+		return res;
+	}
+	
+	
+	
+	/**
+	 *  开票特批列表
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/approvalOrderInvoiceList",method = RequestMethod.GET)
+	public Result approvalOrderInvoiceList(Integer status,Integer approval,Integer type,String orderDep,String orderNo ,String name,String userName,Integer pageNo,Integer pageSize){
+		Result res = new Result();
+		
+		res.data(orderInvoiceService.approvalOrderInvoiceList( status,approval,type, orderDep, orderNo, name,userName,pageNo,pageSize));
+		return res;
+	}
+	
+	/**
+	 *   开票审核
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/financeExamine",method = RequestMethod.POST)
+	public Result financeExamine(Integer id,Integer examine,String reason){
+		Result res = new Result();
+		if(id==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
+			return res;
+		}
+		//examine 2通过 3拒绝
+		if (examine==3&&StringUtils.isBlank(reason)) {
+			res.getError().add(buildError("","拒绝必须填写原因。"));
+			return res;
+		}
+		res.data(orderInvoiceService.updatefinanceExamine( id, examine, reason));
+		return res;
+	}
+	
+	/**
+	 *   特批审核
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/approvalExamine",method = RequestMethod.POST)
+	public Result approvalExamine(Integer id,Integer examine,String reason){
+		Result res = new Result();
+		if(id==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","ID"));
+			return res;
+		}
+		//examine 2通过 3拒绝
+		if (examine==3&&StringUtils.isBlank(reason)) {
+			res.getError().add(buildError("","拒绝必须填写原因。"));
+			return res;
+		}
+		res.data(orderInvoiceService.updateapprovalExamine( id, examine, reason));
+		return res;
+	}
+	
+	/**
+	 *   订单开票列表
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	@RequestMapping(value = "/salesmanOrderInvoiceList",method = RequestMethod.GET)
+	public Result salesmanOrderInvoiceList(String orderNo,Integer pageNo,Integer pageSize){
+		Result res = new Result();
+		if(StringUtils.isBlank(orderNo)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
+			return res;
+		}
+		res.data(orderInvoiceService.salesmanOrderInvoiceList(  orderNo, pageNo,pageSize));
+		return res;
+	}
+	
+	/** 开票文件上传 **/
+	@RequestMapping(value = "/uploadOrderInvoiceFile", method = RequestMethod.POST)
+	public Result uploadOrderInvoiceFile(HttpServletRequest req,String sign){
+		Result res = new Result();
+		//order_invoice_file
+		res.setData(handleFile(res, "/order_invoice_file/", false, req, sign));
+		return res;
+	}
+	
+}

+ 52 - 49
src/main/java/com/goafanti/order/service/OrderInvoiceService.java

@@ -1,49 +1,52 @@
-package com.goafanti.order.service;
-
-
-
-import com.goafanti.common.model.TOrderInvoice;
-import com.goafanti.core.mybatis.page.Pagination;
-import com.goafanti.order.bo.TOrderInvoiceBo;
-import com.goafanti.order.bo.TOrderInvoiceDetails;
-
-public interface OrderInvoiceService {
-	/**
-	 * 创建发票申请
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	int createServiceOrder(TOrderInvoice t);
-	
-	/**
-	 * 修改发票申请
-	 * @param uid
-	 * @param orderType
-	 * @return
-	 */
-	int updateServiceOrder(TOrderInvoice t);
-
-	boolean checkAmount(TOrderInvoice t);
-
-	
-
-	Pagination<TOrderInvoiceBo> financeOrderInvoiceList(String orderDep, String orderNo, String name,Integer type, Integer pageNo, Integer pageSize);
-
-	TOrderInvoiceDetails selectByIdOrderInvoice(Integer id);
-
-	Pagination<TOrderInvoiceBo> salesmanOrderInvoiceList( String orderNo,  Integer pageNo, Integer pageSize);
-
-	int updatefinanceExamine(Integer id, Integer examine, String reason);
-
-	Pagination<TOrderInvoiceBo> approvalOrderInvoiceList(Integer status,Integer approval,Integer type, String orderDep, String orderNo, String name,String userName,Integer pageNo,
-			Integer pageSize);
-
-	int updateapprovalExamine(Integer id, Integer examine, String reason);
-
-	TOrderInvoiceDetails getInvoiceDetails(String orderNo);
-
-	
-	
-	
-}
+package com.goafanti.order.service;
+
+
+
+import com.goafanti.common.model.TOrderInvoice;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.order.bo.InputOrderInvoiceBo;
+import com.goafanti.order.bo.TOrderInvoiceBo;
+import com.goafanti.order.bo.TOrderInvoiceDetails;
+
+public interface OrderInvoiceService {
+	/**
+	 * 创建发票申请
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	int createServiceOrder(TOrderInvoice t);
+	
+	/**
+	 * 修改发票申请
+	 * @param uid
+	 * @param orderType
+	 * @return
+	 */
+	int updateServiceOrder(TOrderInvoice t);
+
+	boolean checkAmount(TOrderInvoice t);
+
+	
+
+	Pagination<TOrderInvoiceBo>  financeOrderInvoiceList(InputOrderInvoiceBo o, Integer pageNo, Integer pageSize);
+
+	TOrderInvoiceDetails selectByIdOrderInvoice(Integer id);
+
+	Pagination<TOrderInvoiceBo> salesmanOrderInvoiceList( String orderNo,  Integer pageNo, Integer pageSize);
+
+	int updatefinanceExamine(Integer id, Integer examine, String reason);
+
+	Pagination<TOrderInvoiceBo> approvalOrderInvoiceList(Integer status,Integer approval,Integer type, String orderDep, String orderNo, String name,String userName,Integer pageNo,
+			Integer pageSize);
+
+	int updateapprovalExamine(Integer id, Integer examine, String reason);
+
+	TOrderInvoiceDetails getInvoiceDetails(String orderNo);
+
+	
+
+	
+	
+	
+}

+ 10 - 5
src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java

@@ -153,12 +153,10 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 	
 	@SuppressWarnings("unchecked")
 	@Override
-	public Map<String, Object> financeList(OrderListBo order,
-			Integer pageNo, Integer pageSize) {
+	public Map<String, Object> financeList(OrderListBo order, Integer pageNo, Integer pageSize) {
 		Map<String, Object> result = new HashMap<String, Object>();
 		Map<String, Object> params = new HashMap<String, Object>();
 		List<String> fids=new ArrayList<>();
-		
 		if(TokenManager.hasRole(AFTConstants.CED)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||
 				TokenManager.hasRole(AFTConstants.VICE_CEO)||TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)||
 				TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
@@ -202,6 +200,8 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 		orderNew.setOrderNo(back.getOrderNo());
 		orderNew.setOrderStatus(OrderNewState.YBH.getCode());
 		orderNew.setProcessStatus(ProcessStatus.YPYXY.getCode());
+		//设置驳回人为财务、将财务负责人置空
+		orderNew.setBackStatus(3);
 		orderNew.setFinanceId("");
 		int c = tOrderNewMapper.updateByPrimaryKeySelective(orderNew);
 		
@@ -498,10 +498,15 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 
 	@Override
 	public int updateFinanceApproval(String orderNo,String remarks) {
-		TOrderNew new1 = tOrderNewMapper.selectByPrimaryKey(orderNo);
 		TOrderNew t=new TOrderNew();
-		checkDeleteSign(orderNo);
+		TOrderNew new1 =checkDeleteSign(orderNo);
+		if (new1.getProcessStatus()!=3) {
+			throw new BusinessException("订单流程不正确。");
+		}
 		t.setOrderNo(orderNo);
+		if (new1.getBackStatus()==3) {
+			t.setBackStatus(0);
+		}
 		t.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
 		OrganizationListOut oo=organizationManagementMapper.selectAllById(new1.getOrderDep());
 		t.setFinanceId(oo.getFinanceId());

+ 1 - 0
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -870,6 +870,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 						tbn.setCreater(TokenManager.getAdminId());
 						tbn.setPayeeId(order.getBuyerId());
 						tbn.setPayerId("0");
+						tbn.setRemarks(o.getRemarks());
 						tbn.setTransactionSubject(2);
 						tbn.setTransactionChannel(2);
 						tbn.setConfirmSign(1);

+ 8 - 5
src/main/java/com/goafanti/order/service/impl/OrderInvoiceServiceImpl.java

@@ -25,6 +25,7 @@ import com.goafanti.common.model.TOrderNew;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.order.bo.InputOrderInvoiceBo;
 import com.goafanti.order.bo.TOrderInvoiceBo;
 import com.goafanti.order.bo.TOrderInvoiceDetails;
 import com.goafanti.order.service.OrderInvoiceService;
@@ -104,7 +105,7 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 	
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<TOrderInvoiceBo> financeOrderInvoiceList(String orderDep, String orderNo, String name, Integer type,Integer pageNo,
+	public Pagination<TOrderInvoiceBo> financeOrderInvoiceList(InputOrderInvoiceBo o,Integer pageNo,
 			Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
@@ -119,16 +120,18 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 			aDep=adminMapper.selectDepIdWithSpuerId(TokenManager.getAdminId());
 			params.put("aDep", aDep);
 		}
-		if(StringUtils.isNotBlank(orderDep))params.put("orderDep", orderDep);
-		if(type!=null)params.put("type", type);
+		if(StringUtils.isNotBlank(o.getOrderDep()))params.put("orderDep", o.getOrderDep());
+		if(o.getType()!=null)params.put("type", o.getType());
 		//营销管理员
 		if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)) {
 			Admin a=adminMapper.selectByPrimaryKey(TokenManager.getAdminId());
 			aDep.add(a.getDepartmentId());
 			params.put("aDep", aDep);
 		} 
-		if(StringUtils.isNotBlank(orderNo))params.put("orderNo", orderNo);
-		if(StringUtils.isNotBlank(name))params.put("name", name);
+		if(StringUtils.isNotBlank(o.getOrderNo()))params.put("orderNo", o.getOrderNo());
+		if(StringUtils.isNotBlank(o.getName()))params.put("name", o.getName());
+		if(null==o.getApproval())params.put("approval", o.getApproval());
+		if(null==o.getStatus())params.put("status", o.getStatus());
 		return (Pagination<TOrderInvoiceBo>)findPage("financeOrderInvoiceList", "financeOrderInvoiceCount", params, pageNo, pageSize);
 		
 	}