Преглед на файлове

Merge branch 'test' of jishutao/kede-server into prod

anderx преди 6 години
родител
ревизия
b7e09da610
променени са 37 файла, в които са добавени 1021 реда и са изтрити 265 реда
  1. 1 1
      GeneratorConfig.xml
  2. 8 4
      src/main/java/com/goafanti/common/constant/AFTConstants.java
  3. 2 0
      src/main/java/com/goafanti/common/dao/AdminMapper.java
  4. 11 11
      src/main/java/com/goafanti/common/dao/TOrderLogMapper.java
  5. 1 1
      src/main/java/com/goafanti/common/dao/TOrderNewMapper.java
  6. 1 1
      src/main/java/com/goafanti/common/dao/TTaskHoursMapper.java
  7. 3 0
      src/main/java/com/goafanti/common/mapper/AdminMapper.xml
  8. 22 4
      src/main/java/com/goafanti/common/mapper/NewOrderChangeMapper.xml
  9. 39 22
      src/main/java/com/goafanti/common/mapper/TOrderLogMapper.xml
  10. 53 42
      src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml
  11. 24 22
      src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml
  12. 10 10
      src/main/java/com/goafanti/common/mapper/TTaskHoursMapper.xml
  13. 38 15
      src/main/java/com/goafanti/common/model/TOrderLog.java
  14. 86 16
      src/main/java/com/goafanti/common/model/TOrderLogExample.java
  15. 29 1
      src/main/java/com/goafanti/common/utils/ExportExcelUtil.java
  16. 7 0
      src/main/java/com/goafanti/order/bo/NewOderCahngeListBo.java
  17. 8 0
      src/main/java/com/goafanti/order/bo/OrderListBo.java
  18. 8 6
      src/main/java/com/goafanti/order/bo/TOrderNewBo.java
  19. 66 0
      src/main/java/com/goafanti/order/bo/TOrderTaskBo.java
  20. 14 0
      src/main/java/com/goafanti/order/bo/TOrderTaskListBo.java
  21. 27 20
      src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java
  22. 2 7
      src/main/java/com/goafanti/order/controller/FundManagerOrderApiController.java
  23. 26 2
      src/main/java/com/goafanti/order/controller/OrderChangeApiController.java
  24. 15 28
      src/main/java/com/goafanti/order/controller/OrderProjectApiController.java
  25. 62 0
      src/main/java/com/goafanti/order/enums/OrderChangeType.java
  26. 62 0
      src/main/java/com/goafanti/order/enums/OrderType.java
  27. 2 1
      src/main/java/com/goafanti/order/service/FundManageOrderService.java
  28. 11 2
      src/main/java/com/goafanti/order/service/OrderChangeService.java
  29. 6 1
      src/main/java/com/goafanti/order/service/OrderNewService.java
  30. 7 3
      src/main/java/com/goafanti/order/service/OrderProjectService.java
  31. 19 2
      src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java
  32. 127 4
      src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java
  33. 152 22
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  34. 69 12
      src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java
  35. 2 2
      src/main/resources/props/config_local.properties
  36. 1 1
      src/main/resources/props/config_test.properties
  37. 0 2
      src/main/webapp/WEB-INF/views/common.html

+ 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" targetProject="kede-server" type="XMLMAPPER" />
-    <table schema="aft" tableName="task_hours_count"/>
+    <table schema="aft" tableName="t_order_log"/>
   </context>
 </generatorConfiguration>

+ 8 - 4
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -17,20 +17,24 @@ public class AFTConstants {
 
 	public static final String	APPROVAL_DECISION					= "99999";				// 特批决策者
 	
-	public static final String	CED									= "999998";				// 总裁
+	public static final String	CED									= "99998";				// 总裁
 
-	public static final String	VICE_CEO							= "999997";				// 集团副总
+	public static final String	VICE_CEO							= "99997";				// 集团副总
 
 		
-	public static final String  TECH_ADMIN                          = "99998";				// 技术管理员
+	public static final String  TECH_ADMIN                          = "9998";				// 技术管理员
 	
-	public static final String  FINANCE_ADMIN                       = "99997";				// 财务管理员
+	public static final String  FINANCE_ADMIN                       = "9997";				// 财务管理员
 
 	public static final String	AREAADMIN							= "";					// 地区管理员
 
 	public static final String	AUDITORADMIN						= "";					// 审核员
 
 	public static final String	MANAGERADMIN						= "";					// 客户经理
+	
+	public static final String  FINANCEMANAGERADMIN					= "997";					// 财务经理
+	
+	public static final String  FINANCEADMIN						= "97";					// 财务专员
 
 	public static final String	SALESMANAGERADMIN					= "";					// 营销经理
 

+ 2 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -189,5 +189,7 @@ public interface AdminMapper {
 	List<String> getaidFrequentContacts(String id);
 
 	List<String> listNameByDepAndName(@Param("depId")String depId,@Param("roleName")String roleName);
+
+	List<String> selectBySuperId(String aid);
 	
 }

+ 11 - 11
src/main/java/com/goafanti/common/dao/TOrderLogMapper.java

@@ -12,67 +12,67 @@ public interface TOrderLogMapper {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	long countByExample(TOrderLogExample example);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int deleteByExample(TOrderLogExample example);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int deleteByPrimaryKey(Integer id);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int insert(TOrderLog record);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int insertSelective(TOrderLog record);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	List<TOrderLog> selectByExample(TOrderLogExample example);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	TOrderLog selectByPrimaryKey(Integer id);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int updateByExampleSelective(@Param("record") TOrderLog record, @Param("example") TOrderLogExample example);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int updateByExample(@Param("record") TOrderLog record, @Param("example") TOrderLogExample example);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int updateByPrimaryKeySelective(TOrderLog record);
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	int updateByPrimaryKey(TOrderLog record);
 

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

@@ -94,7 +94,7 @@ public interface TOrderNewMapper {
 
 	int updateFinance(@Param("aid")String aid, @Param("orderNos")List<String> orderNos, @Param("newFinance")String newFinance);
 	int checkContractNo(String sno);
-	Map<String, Object> countTotalAndActually(OrderListBo o);
+	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);
 }

+ 1 - 1
src/main/java/com/goafanti/common/dao/TTaskHoursMapper.java

@@ -80,7 +80,7 @@ public interface TTaskHoursMapper {
 
 	List<TOrderTaskListBo> getOrderDunData(String name, String taskId, String starTime, String endTime);
 
-	List<TOrderTaskListBo> getTaskHoursData( @Param("name")String name,  @Param("taskId")String taskId,  @Param("startTime")String startTime,  @Param("endTime")String endTime,@Param("fid")String fid);
+	List<TOrderTaskListBo> getTaskHoursData( @Param("name")String name,  @Param("taskId")String taskId,@Param("orderNo")String orderNo,  @Param("startTime")String startTime,  @Param("endTime")String endTime,@Param("fid")String fid );
 
 	List<TTaskHours> taskHoursDetailsList( @Param("taskId")String taskId,  @Param("aid")String aid);
 }

+ 3 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1149,4 +1149,7 @@
 		where department_id= #{depId}
 		and c.role_name= #{roleName}
   </select>
+  <select id="selectBySuperId" resultType="java.lang.String">
+  	select id from admin where superior_id= #{aid}
+  </select>
 </mapper>

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

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

+ 39 - 22
src/main/java/com/goafanti/common/mapper/TOrderLogMapper.xml

@@ -5,19 +5,20 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     <id column="id" jdbcType="INTEGER" property="id" />
     <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="process" jdbcType="INTEGER" property="process" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="aid" jdbcType="VARCHAR" property="aid" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     <where>
       <foreach collection="oredCriteria" item="criteria" separator="or">
@@ -51,7 +52,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     <where>
       <foreach collection="example.oredCriteria" item="criteria" separator="or">
@@ -85,15 +86,15 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
-    id, order_no, process, create_time, aid
+    id, order_no, process, create_time, aid, remarks
   </sql>
   <select id="selectByExample" parameterType="com.goafanti.common.model.TOrderLogExample" resultMap="BaseResultMap">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     select
     <if test="distinct">
@@ -112,7 +113,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     select 
     <include refid="Base_Column_List" />
@@ -123,7 +124,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     delete from t_order_log
     where id = #{id,jdbcType=INTEGER}
@@ -132,7 +133,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     delete from t_order_log
     <if test="_parameter != null">
@@ -143,18 +144,20 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     insert into t_order_log (id, order_no, process, 
-      create_time, aid)
+      create_time, aid, remarks
+      )
     values (#{id,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{process,jdbcType=INTEGER}, 
-      #{createTime,jdbcType=TIMESTAMP}, #{aid,jdbcType=VARCHAR})
+      #{createTime,jdbcType=TIMESTAMP}, #{aid,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.TOrderLog">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     insert into t_order_log
     <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -173,6 +176,9 @@
       <if test="aid != null">
         aid,
       </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -190,13 +196,16 @@
       <if test="aid != null">
         #{aid,jdbcType=VARCHAR},
       </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.goafanti.common.model.TOrderLogExample" resultType="java.lang.Long">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     select count(*) from t_order_log
     <if test="_parameter != null">
@@ -207,7 +216,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     update t_order_log
     <set>
@@ -226,6 +235,9 @@
       <if test="record.aid != null">
         aid = #{record.aid,jdbcType=VARCHAR},
       </if>
+      <if test="record.remarks != null">
+        remarks = #{record.remarks,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -235,14 +247,15 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     update t_order_log
     set id = #{record.id,jdbcType=INTEGER},
       order_no = #{record.orderNo,jdbcType=VARCHAR},
       process = #{record.process,jdbcType=INTEGER},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
-      aid = #{record.aid,jdbcType=VARCHAR}
+      aid = #{record.aid,jdbcType=VARCHAR},
+      remarks = #{record.remarks,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -251,7 +264,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     update t_order_log
     <set>
@@ -267,6 +280,9 @@
       <if test="aid != null">
         aid = #{aid,jdbcType=VARCHAR},
       </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -274,17 +290,18 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Fri Apr 12 15:30:47 CST 2019.
+      This element was generated on Thu Nov 28 11:28:43 CST 2019.
     -->
     update t_order_log
     set order_no = #{orderNo,jdbcType=VARCHAR},
       process = #{process,jdbcType=INTEGER},
       create_time = #{createTime,jdbcType=TIMESTAMP},
-      aid = #{aid,jdbcType=VARCHAR}
+      aid = #{aid,jdbcType=VARCHAR},
+      remarks = #{remarks,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
-  <select id="selectOrderByNo" 	parameterType="string"	resultType="com.goafanti.order.bo.TOrderLogBo">
-  select a.id,a.order_no as orderNo,a.aid,a.process,a.create_time as createTime, b.name as adminName
+  <select id="selectOrderByNo" parameterType="string" resultType="com.goafanti.order.bo.TOrderLogBo">
+  select a.id,a.order_no as orderNo,a.aid,a.process,a.create_time as createTime, b.name as adminName,a.remarks
 	from t_order_log a left join admin b on a.aid=b.id
 	where a.order_no= #{orderNo,jdbcType=VARCHAR}
 	order by a.create_time

+ 53 - 42
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1079,19 +1079,18 @@
   </select>
   <!-- 财务专员查看需要待收款的数据 -->
   <select id="financeList" parameterType="Map" resultType="com.goafanti.order.bo.OrderListBo">
-  	select
-	o.order_no as orderNo, o.sign_time as signTime, u.nickname as buyerName, o.order_status as orderStatus,
-	o.process_status as processStatus, ifnull(b.amount, 0) as actuallyTotalAmount, o.contract_no as contractNo,
-	o.approval, a.name as sellerName, o.salesman_id as sellerId, o.buyer_id as buyerId, o.liquidation_status as liquidationStatus ,
+  		select o.order_no as orderNo, o.sign_time as signTime, u.nickname as buyerName, o.order_status as orderStatus,a1.name financeName,
+	o.process_status as processStatus, ifnull(b.amount, 0) as actuallyTotalAmount, o.contract_no as contractNo, o.approval, 
+	a.name as sellerName, o.salesman_id as sellerId, o.buyer_id as buyerId, o.liquidation_status as liquidationStatus ,too.amount outsourceAmount,
 	o.first_amount as signFirstPayment, o.total_amount as signTotalAmount, date_format(o.create_time, '%Y-%m-%d %H:%i:%s') as createTime,
-	e.name as outsourceName, 0 as companyId, "湖南科德信息咨询有限公司" as companyName, d.name as departmentName, 
-	f.transaction_amount finalReceivables , date_format(f.create_time, '%Y-%m-%d %H:%i:%s')finalReceivablesTime, g.invoiceAmount from t_order_new o 
+	e.name as outsourceName, 0 as companyId, "湖南科德信息咨询有限公司" as companyName, d.name as departmentName, f.transaction_amount finalReceivables ,
+	date_format(f.create_time, '%Y-%m-%d %H:%i:%s')finalReceivablesTime, g.invoiceAmount from t_order_new o 
 left join department d on o.order_dep = d.id left join `user` u on o.buyer_id = u.id left join admin a on 	o.salesman_id = a.id 
-left join ( select sum(transaction_amount) as amount , order_no from t_order_bill_new group by order_no ) b on b.order_no = o.order_no 
-left join ( select order_no, max(name) as name from outsource_organization group by order_no) e on o.order_no = e.order_no
+left join admin a1 on 	d.finance_id = a1.id left join ( select sum(transaction_amount) as amount , order_no from t_order_bill_new group by order_no ) b 
+on b.order_no = o.order_no left join ( select order_no, max(name) as name from outsource_organization group by order_no) e on o.order_no = e.order_no
 left join (select x1.order_no,max(create_time) create_time,max(transaction_amount)transaction_amount from 
 (select x.order_no,x.create_time,x.transaction_amount from t_order_bill_new x right join (select order_no, max(create_time) maxTime from t_order_bill_new group by order_no)y
-	on  x.order_no=y.order_no and x.create_time=y.maxTime)x1 group by x1.order_no ) f on o.order_no = f.order_no
+	on  x.order_no=y.order_no and x.create_time=y.maxTime)x1 group by x1.order_no ) f on o.order_no = f.order_no left join t_order_outsource too on o.order_no=too.order_no
 left join ( select order_no , sum(amount) invoiceAmount from t_order_invoice where status = 2 group by order_no ) g on o.order_no = g.order_no
 where delete_sign != 1 and (approval = 0 or approval = 2) and outsource=  #{o.outsource,jdbcType=INTEGER}
   	 	<if test="o.processStatus == 3">
@@ -1103,6 +1102,12 @@ where delete_sign != 1 and (approval = 0 or approval = 2) and outsource=  #{o.ou
   		<if test="o.financeId != null and o.financeId != &quot;&quot;">
 	  	and d.finance_id = #{o.financeId,jdbcType=VARCHAR}
 	  	</if>
+	  	<if test="fids != null and o.financeId != &quot;&quot;">
+	  	and d.finance_id = 
+	   <foreach item="item" collection="fids" separator="," open="(" close=")" index="">
+       		#{item}
+     	</foreach>
+		</if>
   		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
 	  	and o.order_status = #{o.orderStatus,jdbcType=INTEGER}
 	  	</if>
@@ -1150,9 +1155,15 @@ where delete_sign != 1 and (approval = 0 or approval = 2) and outsource=  #{o.ou
 	  	<if test="o.processStatus == 4">
 	  	and o.process_status &gt;= #{o.processStatus,jdbcType=INTEGER}
 	  	</if>
-	  	<if test="o.financeId != null and o.financeId != &quot;&quot;">
+  		<if test="o.financeId != null and o.financeId != &quot;&quot;">
 	  	and d.finance_id = #{o.financeId,jdbcType=VARCHAR}
 	  	</if>
+	  	<if test="fids != null and o.financeId != &quot;&quot;">
+	  	and d.finance_id = 
+	   <foreach item="item" collection="fids" separator="," open="(" close=")" index="">
+       		#{item}
+     	</foreach>
+		</if>
   		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
 	  	and o.order_status = #{o.orderStatus,jdbcType=INTEGER}
 	  	</if>
@@ -1165,7 +1176,6 @@ where delete_sign != 1 and (approval = 0 or approval = 2) and outsource=  #{o.ou
   		<if test="o.liquidationStatus != null">
 	  	and o.liquidation_status = #{o.liquidationStatus,jdbcType=INTEGER}
 	  	</if>
-  		
   		<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
 	  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
 	  	</if>
@@ -1361,17 +1371,12 @@ where super_id is null ) e on e.order_no=a.order_no
   </select>
   
   <select id="selectDunOrderNewListByPage" resultType="com.goafanti.order.bo.TOrderNewBo">
-  	 	select a.id,a.order_no as orderNo,date_format(b.sign_time,'%Y-%m-%d') as signDate,
-    c.nickname as userName,b.order_status as orderStatus,b.total_amount as totalAmount,
-    b.project_status as projectStatus,b.liquidation_status as liquidationStatus,
-    b.settlement_amount as settlementAmount,d.name as salesmanName,a.dun_subject as dunSubject,
-    date_format(a.start_time, '%Y-%m-%d') as startDate,dep.name as depName,
-    a.money as accountsReceivable,if((a.money-b.settlement_amount) &lt; 1,0,(a.money-b.settlement_amount)) as uncollectedAmount
-    from t_order_dun a left join t_order_new b on a.order_no=b.order_no
-    left join `user` c on b.buyer_id=c.id 
-    left join admin d on b.salesman_id=d.id
-    left join department dep on d.department_id=dep.id
-    where a.start_time is not null and b.delete_sign != 1
+  	 		select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userName,d.name as salesmanName,b.project_status projectStatus,
+	b.total_amount as totalAmount,b.liquidation_status as liquidationStatus,b.settlement_amount as settlementAmount,a.money as accountsReceivable,
+	if((a.money-b.settlement_amount) &lt; 1,0,(a.money-b.settlement_amount)) as uncollectedAmount,a.dun_subject as dunSubject,b.order_status as orderStatus,
+	date_format(a.start_time, '%Y-%m-%d') as startDate,dep.name as depName,date_format(b.sign_time,'%Y-%m-%d') as signDate,b.project_status as projectStatus
+    from t_order_dun a left join t_order_new b on a.order_no=b.order_no left join `user` c on b.buyer_id=c.id left join admin d on b.salesman_id=d.id
+    left join department dep on d.department_id=dep.id where a.start_time is not null and b.delete_sign != 1
     <if test="name != null">
   	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
   	</if>
@@ -1524,37 +1529,43 @@ where super_id is null ) e on e.order_no=a.order_no
   select sum(b.amount) actuallyTotalAmount,sum(o.total_amount) signTotalAmount from t_order_new o 
   left join department d   on o.order_dep=d.id left join `user` u on o.buyer_id = u.id 
   left join ( select sum(transaction_amount) as amount , order_no from t_order_bill_new group by order_no ) b on b.order_no = o.order_no
-    where delete_sign != 1  and (approval = 0 or approval = 2) and outsource=  #{outsource,jdbcType=INTEGER}
-  	 	<if test="processStatus == 3">
-	  	and o.process_status = #{processStatus,jdbcType=INTEGER}
+    where delete_sign != 1  and (approval = 0 or approval = 2) and outsource=  #{o.outsource,jdbcType=INTEGER}
+  	 	<if test="o.processStatus == 3">
+	  	and o.process_status = #{o.processStatus,jdbcType=INTEGER}
 	  	</if>
-	  	<if test="processStatus == 4">
-	  	and o.process_status &gt;= #{processStatus,jdbcType=INTEGER}
+	  	<if test="o.processStatus == 4">
+	  	and o.process_status &gt;= #{o.processStatus,jdbcType=INTEGER}
 	  	</if>
-  		<if test="financeId != null and financeId != &quot;&quot;">
-	  	and d.finance_id = #{financeId,jdbcType=VARCHAR}
+  		<if test="o.financeId != null and o.financeId != &quot;&quot;">
+	  	and d.finance_id = #{o.financeId,jdbcType=VARCHAR}
 	  	</if>
-  		<if test="orderStatus != null and orderStatus != &quot;&quot;">
-	  	and o.order_status = #{orderStatus,jdbcType=INTEGER}
+	  	<if test="fids != null and o.financeId != &quot;&quot;">
+	  	and d.finance_id = 
+	   <foreach item="item" collection="fids" separator="," open="(" close=")" index="">
+        #{item}
+       </foreach>
+       </if>
+  		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
+	  	and o.order_status = #{o.orderStatus,jdbcType=INTEGER}
 	  	</if>
-  		<if test="departmentId != null and departmentId != &quot;&quot;">
-	  	and o.order_dep = #{departmentId,jdbcType=INTEGER}
+  		<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
+	  	and o.order_dep = #{o.departmentId,jdbcType=INTEGER}
 	  	</if>
-	  	<if test="contractNo != null and contractNo != &quot;&quot;">
-  	and o.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
+	  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
+  	and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
   	</if>
-  		<if test="liquidationStatus != null ">
-	  	and o.liquidation_status = #{liquidationStatus,jdbcType=INTEGER}
+  		<if test="o.liquidationStatus != null ">
+	  	and o.liquidation_status = #{o.liquidationStatus,jdbcType=INTEGER}
 	  	</if>
   		
-  		<if test="orderNo != null and orderNo != &quot;&quot;">
-	  	and o.order_no = #{orderNo,jdbcType=VARCHAR}
+  		<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
+	  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
 	  	</if>
-	  	<if test="buyerName != null and buyerName != &quot;&quot;">
-	  	<bind name="n" value="'%' + buyerName + '%'" />
+	  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
+	  	<bind name="n" value="'%' + o.buyerName + '%'" />
 	  	and u.nickname  like #{n,jdbcType=VARCHAR}
 	  	</if>
-	  	<if test="startTime != null and startTime != &quot;&quot; and endTime != null and endTime != &quot;&quot;">
+	  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
 	  	<bind name="a" value="startTime + ' 00:00:00'" />
 	  	<bind name="b" value="endTime + ' 23:59:59'" />
 	  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}

+ 24 - 22
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -903,12 +903,14 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
   <select id="selectOrderTask" resultType="com.goafanti.order.bo.TOrderTaskBo">
-  select 
-  		a.id,a.order_no as orderNo,a.commodity_name as commodityName,a.commodity_id as commodityId,manager_id managerId,consultant_id consultantId,
-  		a.commodity_quantity as commodityQuantity,a.commodity_price as commodityPrice,a.task_comment as taskComment,
-  		a.task_status as taskStatus,a.project_status as projectStatus,a.main,a.task_receiver as taskReceiver ,a.certificate_number as certificateNumber,
-  		d.name as contacts,d.contact_mobile as contactsMobile,c.cname
-  	 from t_order_task a left join business_project b on a.commodity_id=b.id
+  select a.id,e.contract_no contractNo,a.order_no as orderNo,h.nickname userName,f.name salesmanName,a.outsource_name outsourceName,
+  a.outsource_price outsourcePrice,g.name depName,e.order_status orderStatus,d.name as contacts,d.contact_mobile as contactsMobile,a.main, c.cname,
+  a.commodity_name as commodityName,a.commodity_quantity as commodityQuantity,i.price,a.certificate_number as certificateNumber,
+  a.commodity_id as commodityId,a.manager_id managerId,a.consultant_id consultantId,a.project_status as projectStatus,
+  a.task_comment as taskComment ,a.commodity_price as commodityPrice, a.task_status as taskStatus,  a.task_receiver as taskReceiver 
+  	 from t_order_task a left join business_project b on a.commodity_id=b.id left join t_order_new e on a.order_no=e.order_no
+  	 left join admin f on e.salesman_id=f.id left join department g on e.order_dep=g.id left join user h on e.buyer_id=h.id
+  	 left join business_project i on a.commodity_id=i.id
   	 left join business_category c on b.cid=c.id left join admin d on a.task_receiver=d.id
   	where a.super_id is null and  a.order_no= #{orderNo,jdbcType=VARCHAR}
   </select>
@@ -1027,23 +1029,23 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
   </select>
   
    <select id="selectTaskHoursListByPage" resultType="com.goafanti.order.bo.TOrderTaskListBo">
-  	select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,dep.name as depName,
+  	select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,dep.name as depName,a.project_status projectStatus,
     a.task_status as taskStatus,f.nickname as userName,ifnull(g.hours,0) as hours,a.commodity_quantity as commodityQuantity,
-    e.contract_no as contractNo,date_format(e.create_time,'%Y-%m-%d %H:%I:%S')as creteTime,date_format(e.sign_time,'%Y-%m-%d')as signTime
-  	from t_order_task a left join business_project b on a.commodity_id=b.id
-  	left join business_category c on b.cid=c.id
-    left join admin d on a.task_receiver=d.id
-    left join t_order_new e on a.order_no=e.order_no
-    left join department dep on e.order_dep=dep.id  
-    left join user f on e.buyer_id=f.id
-    left join (select task_id,sum(hours) as hours from t_task_hours group by task_id) g on a.id=g.task_id
+    e.contract_no as contractNo,date_format(e.create_time,'%Y-%m-%d %H:%i:%S')as creteTime,date_format(e.sign_time,'%Y-%m-%d')as signTime,
+    date_format(a.task_distribution_time,'%Y-%m-%d %H:%i:%S')taskDistributionTime, date_format(a.task_end_time,'%Y-%m-%d')taskEndTime
+  	from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id
+    left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join department dep on e.order_dep=dep.id  
+    left join user f on e.buyer_id=f.id left join (select task_id,sum(hours) as hours from t_task_hours group by task_id) g on a.id=g.task_id
     where e.delete_sign !=1 and a.super_id is null
     <if test="fid != null">
-  	and e.finance_id= #{fid,jdbcType=VARCHAR}
+  	and dep.finance_id= #{fid,jdbcType=VARCHAR}
   	</if>
     <if test="name != null">
   	and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
   	</if>
+  	<if test="orderNo != null">
+  	and e.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%')
+  	</if>
   	<if test="taskId != null">
   	and a.id= #{taskId,jdbcType=VARCHAR}
   	</if>
@@ -1057,12 +1059,9 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
   </select>
   
    <select id="selectTaskHoursListCount" resultType="java.lang.Integer">
-  		select  count(*)
-  	from t_order_task a left join business_project b on a.commodity_id=b.id
-  	left join business_category c on b.cid=c.id
-    left join admin d on a.task_receiver=d.id
-    left join t_order_new e on a.order_no=e.order_no
-    left join user f on e.buyer_id=f.id
+  	select  count(*) from t_order_task a left join business_project b on a.commodity_id=b.id
+  	left join business_category c on b.cid=c.id left join admin d on a.task_receiver=d.id
+    left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
     where e.delete_sign !=1 and a.super_id is null
     <if test="fid != null">
   	and e.finance_id= #{fid,jdbcType=VARCHAR}
@@ -1070,6 +1069,9 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
     <if test="name != null">
   	and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
   	</if>
+  	<if test="orderNo != null">
+  	and e.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%')
+  	</if>
   	<if test="taskId != null">
   	and a.id= #{taskId,jdbcType=VARCHAR}
   	</if>

+ 10 - 10
src/main/java/com/goafanti/common/mapper/TTaskHoursMapper.xml

@@ -321,17 +321,17 @@
     where b.super_id=#{id,jdbcType=VARCHAR}
   </select>
   <select id="getTaskHoursData" resultType="com.goafanti.order.bo.TOrderTaskListBo">
-  select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,dep.name as depName,
-    a.task_status as taskStatus,f.nickname as userName,ifnull(g.hours,0) as hours,a.commodity_quantity as commodityQuantity,
-    e.contract_no as contractNo,date_format(e.create_time,'%Y-%m-%d %H:%I:%S')as creteTime,date_format(e.sign_time,'%Y-%m-%d')as signTime
-  	from t_order_task a left join business_project b on a.commodity_id=b.id
-  	left join business_category c on b.cid=c.id
-    left join admin d on a.task_receiver=d.id
-    left join department dep on d.department_id=dep.id
-    left join t_order_new e on a.order_no=e.order_no
-    left join user f on e.buyer_id=f.id
-    left join (select task_id,sum(hours) as hours from t_task_hours group by task_id) g on a.id=g.task_id
+  select  a.id,e.contract_no contractNo,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,dep.name as depName,
+    a.task_status as taskStatus,f.nickname as userName,ifnull(g.hours,0) as hours,a.commodity_quantity as commodityQuantity,a.project_status projectStatus,
+    e.contract_no as contractNo,date_format(e.create_time,'%Y-%m-%d %H:%I:%S')as creteTime,date_format(e.sign_time,'%Y-%m-%d')as signTime,
+    date_format(a.task_distribution_time,'%Y-%m-%d %H:%I:%S')taskDistributionTime, date_format(a.task_end_time,'%Y-%m-%d %H:%I:%S')taskEndTime
+  	from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id
+    left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join department dep on e.order_dep=dep.id  
+    left join user f on e.buyer_id=f.id left join (select tid,aid,sum(hours) as hours from task_hours_count group by tid,aid) g on a.id=g.tid
     where e.delete_sign !=1 and a.super_id is null
+    <if test="orderNo != null and orderNo !=''">
+  	and e.order_no= #{orderNo,jdbcType=VARCHAR}
+  	</if>
     <if test="fid != null">
   	and e.finance_id= #{fid,jdbcType=VARCHAR}
   	</if>

+ 38 - 15
src/main/java/com/goafanti/common/model/TOrderLog.java

@@ -6,34 +6,39 @@ public class TOrderLog {
 
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.id
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	private Integer id;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.order_no
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	private String orderNo;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.process
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	private Integer process;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.create_time
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	private Date createTime;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.aid
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	private String aid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_order_log.remarks
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
+	 */
+	private String remarks;
 
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.id
 	 * @return  the value of t_order_log.id
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public Integer getId() {
 		return id;
@@ -42,7 +47,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.id
 	 * @param id  the value for t_order_log.id
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setId(Integer id) {
 		this.id = id;
@@ -51,7 +56,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.order_no
 	 * @return  the value of t_order_log.order_no
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public String getOrderNo() {
 		return orderNo;
@@ -60,7 +65,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.order_no
 	 * @param orderNo  the value for t_order_log.order_no
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setOrderNo(String orderNo) {
 		this.orderNo = orderNo;
@@ -69,7 +74,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.process
 	 * @return  the value of t_order_log.process
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public Integer getProcess() {
 		return process;
@@ -78,7 +83,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.process
 	 * @param process  the value for t_order_log.process
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setProcess(Integer process) {
 		this.process = process;
@@ -87,7 +92,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.create_time
 	 * @return  the value of t_order_log.create_time
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public Date getCreateTime() {
 		return createTime;
@@ -96,7 +101,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.create_time
 	 * @param createTime  the value for t_order_log.create_time
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setCreateTime(Date createTime) {
 		this.createTime = createTime;
@@ -105,7 +110,7 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.aid
 	 * @return  the value of t_order_log.aid
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public String getAid() {
 		return aid;
@@ -114,9 +119,27 @@ public class TOrderLog {
 	/**
 	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.aid
 	 * @param aid  the value for t_order_log.aid
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setAid(String aid) {
 		this.aid = aid;
 	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_order_log.remarks
+	 * @return  the value of t_order_log.remarks
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
+	 */
+	public String getRemarks() {
+		return remarks;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_order_log.remarks
+	 * @param remarks  the value for t_order_log.remarks
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
+	 */
+	public void setRemarks(String remarks) {
+		this.remarks = remarks;
+	}
 }

+ 86 - 16
src/main/java/com/goafanti/common/model/TOrderLogExample.java

@@ -7,23 +7,23 @@ import java.util.List;
 public class TOrderLogExample {
     /**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	protected String orderByClause;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	protected boolean distinct;
 	/**
 	 * This field was generated by MyBatis Generator. This field corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	protected List<Criteria> oredCriteria;
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public TOrderLogExample() {
 		oredCriteria = new ArrayList<Criteria>();
@@ -31,7 +31,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setOrderByClause(String orderByClause) {
 		this.orderByClause = orderByClause;
@@ -39,7 +39,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public String getOrderByClause() {
 		return orderByClause;
@@ -47,7 +47,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void setDistinct(boolean distinct) {
 		this.distinct = distinct;
@@ -55,7 +55,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public boolean isDistinct() {
 		return distinct;
@@ -63,7 +63,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public List<Criteria> getOredCriteria() {
 		return oredCriteria;
@@ -71,7 +71,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void or(Criteria criteria) {
 		oredCriteria.add(criteria);
@@ -79,7 +79,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public Criteria or() {
 		Criteria criteria = createCriteriaInternal();
@@ -89,7 +89,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public Criteria createCriteria() {
 		Criteria criteria = createCriteriaInternal();
@@ -101,7 +101,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	protected Criteria createCriteriaInternal() {
 		Criteria criteria = new Criteria();
@@ -110,7 +110,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public void clear() {
 		oredCriteria.clear();
@@ -120,7 +120,7 @@ public class TOrderLogExample {
 
 	/**
 	 * This class was generated by MyBatis Generator. This class corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	protected abstract static class GeneratedCriteria {
 		protected List<Criterion> criteria;
@@ -482,11 +482,81 @@ public class TOrderLogExample {
 			addCriterion("aid not between", value1, value2, "aid");
 			return (Criteria) this;
 		}
+
+		public Criteria andRemarksIsNull() {
+			addCriterion("remarks is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksIsNotNull() {
+			addCriterion("remarks is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksEqualTo(String value) {
+			addCriterion("remarks =", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksNotEqualTo(String value) {
+			addCriterion("remarks <>", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksGreaterThan(String value) {
+			addCriterion("remarks >", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksGreaterThanOrEqualTo(String value) {
+			addCriterion("remarks >=", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksLessThan(String value) {
+			addCriterion("remarks <", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksLessThanOrEqualTo(String value) {
+			addCriterion("remarks <=", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksLike(String value) {
+			addCriterion("remarks like", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksNotLike(String value) {
+			addCriterion("remarks not like", value, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksIn(List<String> values) {
+			addCriterion("remarks in", values, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksNotIn(List<String> values) {
+			addCriterion("remarks not in", values, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksBetween(String value1, String value2) {
+			addCriterion("remarks between", value1, value2, "remarks");
+			return (Criteria) this;
+		}
+
+		public Criteria andRemarksNotBetween(String value1, String value2) {
+			addCriterion("remarks not between", value1, value2, "remarks");
+			return (Criteria) this;
+		}
 	}
 
 	/**
 	 * This class was generated by MyBatis Generator. This class corresponds to the database table t_order_log
-	 * @mbg.generated  Fri Apr 12 15:30:47 CST 2019
+	 * @mbg.generated  Thu Nov 28 11:28:43 CST 2019
 	 */
 	public static class Criterion {
 		private String condition;

+ 29 - 1
src/main/java/com/goafanti/common/utils/ExportExcelUtil.java

@@ -452,7 +452,7 @@ public class ExportExcelUtil {
 		
 	}
 
-	private static String getDunSuBubject(String dunSubject) {
+	public static String getDunSuBubject(String dunSubject) {
 		if ("12".equals(dunSubject)) return "订单审核通过";
 		if ("20".equals(dunSubject)) return "项目待提交";
 		if ("21".equals(dunSubject)) return "项目已提交";
@@ -744,4 +744,32 @@ public class ExportExcelUtil {
 		if(s.equals("10"))return "其他个人";
 		return "";
 	}
+	
+	public static XSSFWorkbook exportTemplateInfoS(String[] comment,String fileName){
+		//map 数据 ,comment表头 (列名称)
+		//1,创建一个workbook,对应的是一个excel文件
+		XSSFWorkbook wb = new XSSFWorkbook();
+		//遍历map
+		XSSFSheet sheet = wb.createSheet(fileName);
+		//3。创建一个row
+		XSSFRow row = sheet.createRow(0);
+		//4.创建一个cell
+		XSSFCell cell = row.createCell(0);
+		cell.setCellValue(fileName);
+		XSSFCellStyle style1 = ExportExcelUtil.setCellStyle1(wb);//标题
+		XSSFCellStyle style2 = ExportExcelUtil.setCellStyle2(wb);//正文
+		cell.setCellStyle(style1);
+		//合并列
+		sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
+		//设置其他单位格式
+		//创建表头
+		XSSFRow row2 = sheet.createRow(1);
+		for(int i = 0; i < comment.length; i++){
+			sheet.setColumnWidth(i, 3000);//设置列宽
+			XSSFCell c = row2.createCell(i);
+			c.setCellValue(comment[i]);
+			c.setCellStyle(style2);
+		}
+		return wb;
+	}
 }

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

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

+ 8 - 0
src/main/java/com/goafanti/order/bo/OrderListBo.java

@@ -86,6 +86,8 @@ public class OrderListBo {
 	private String endFinalReceivablesTime;
 	/** 开始最后收款 时间*/
 	private String startFinalReceivablesTime;	
+	/** 外包金额*/
+	private String outsourceAmount;
 	
 	public String getFinalReceivables() {
 		return finalReceivables;
@@ -327,4 +329,10 @@ public class OrderListBo {
 	public void setStartFinalReceivablesTime(String startFinalReceivablesTime) {
 		this.startFinalReceivablesTime = startFinalReceivablesTime;
 	}
+	public String getOutsourceAmount() {
+		return outsourceAmount;
+	}
+	public void setOutsourceAmount(String outsourceAmount) {
+		this.outsourceAmount = outsourceAmount;
+	}
 }

+ 8 - 6
src/main/java/com/goafanti/order/bo/TOrderNewBo.java

@@ -1,5 +1,7 @@
 package com.goafanti.order.bo;
 
+import java.math.BigDecimal;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
@@ -25,8 +27,8 @@ public class TOrderNewBo extends TOrderNew{
 	private String uid;
 	private String email;
 	private String depName;
-	private String accountsReceivable;
-	private String uncollectedAmount;
+	private BigDecimal accountsReceivable;
+	private BigDecimal uncollectedAmount;
 	private Integer locationProvince;
 	private Integer locationCity;
 	private Integer locationArea;
@@ -229,19 +231,19 @@ public class TOrderNewBo extends TOrderNew{
 		this.depName = depName;
 	}
 
-	public String getAccountsReceivable() {
+	public BigDecimal getAccountsReceivable() {
 		return accountsReceivable;
 	}
 
-	public void setAccountsReceivable(String accountsReceivable) {
+	public void setAccountsReceivable(BigDecimal accountsReceivable) {
 		this.accountsReceivable = accountsReceivable;
 	}
 
-	public String getUncollectedAmount() {
+	public BigDecimal getUncollectedAmount() {
 		return uncollectedAmount;
 	}
 
-	public void setUncollectedAmount(String uncollectedAmount) {
+	public void setUncollectedAmount(BigDecimal uncollectedAmount) {
 		this.uncollectedAmount = uncollectedAmount;
 	}
 

+ 66 - 0
src/main/java/com/goafanti/order/bo/TOrderTaskBo.java

@@ -1,11 +1,65 @@
 package com.goafanti.order.bo;
 
+import java.math.BigDecimal;
+
 import com.goafanti.common.model.TOrderTask;
 
 public class TOrderTaskBo extends TOrderTask{
 	private String contacts;
 	private String contactsMobile;
 	private String cname;
+	private String contractNo;
+
+	private String salesmanName;
+
+	private String depName;
+
+	private String userName;
+	
+	private Integer orderStatus;
+	private BigDecimal price;
+	private String outsourceName;
+	
+	private BigDecimal outsourcePrice;
+	
+	
+	
+	public String getOutsourceName() {
+		return outsourceName;
+	}
+	public void setOutsourceName(String outsourceName) {
+		this.outsourceName = outsourceName;
+	}
+	public BigDecimal getOutsourcePrice() {
+		return outsourcePrice;
+	}
+	public void setOutsourcePrice(BigDecimal outsourcePrice) {
+		this.outsourcePrice = outsourcePrice;
+	}
+	public String getContractNo() {
+		return contractNo;
+	}
+	public void setContractNo(String contractNo) {
+		this.contractNo = contractNo;
+	}
+	public String getSalesmanName() {
+		return salesmanName;
+	}
+	public void setSalesmanName(String salesmanName) {
+		this.salesmanName = salesmanName;
+	}
+	public String getDepName() {
+		return depName;
+	}
+	public void setDepName(String depName) {
+		this.depName = depName;
+	}
+	public String getUserName() {
+		return userName;
+	}
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
 	public String getContacts() {
 		return contacts;
 	}
@@ -24,5 +78,17 @@ public class TOrderTaskBo extends TOrderTask{
 	public void setCname(String cname) {
 		this.cname = cname;
 	}
+	public Integer getOrderStatus() {
+		return orderStatus;
+	}
+	public void setOrderStatus(Integer orderStatus) {
+		this.orderStatus = orderStatus;
+	}
+	public BigDecimal getPrice() {
+		return price;
+	}
+	public void setPrice(BigDecimal price) {
+		this.price = price;
+	}
 	
 }

+ 14 - 0
src/main/java/com/goafanti/order/bo/TOrderTaskListBo.java

@@ -17,6 +17,8 @@ public class TOrderTaskListBo {
 	private String creteTime;
 	private String signTime;
 	private Integer alreadyNumber;
+	private String taskDistributionTime;
+	private String taskEndTime;
 	/** 外包部门 */
 	private String outsourceName;
 	public String getContractNo() {
@@ -121,5 +123,17 @@ public class TOrderTaskListBo {
 	public void setOutsourceName(String outsourceName) {
 		this.outsourceName = outsourceName;
 	}
+	public String getTaskDistributionTime() {
+		return taskDistributionTime;
+	}
+	public void setTaskDistributionTime(String taskDistributionTime) {
+		this.taskDistributionTime = taskDistributionTime;
+	}
+	public String getTaskEndTime() {
+		return taskEndTime;
+	}
+	public void setTaskEndTime(String taskEndTime) {
+		this.taskEndTime = taskEndTime;
+	}
 	
 }

+ 27 - 20
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -139,6 +139,7 @@ public class AdminNewOrderApiController extends CertifyApiController {
 			return res;
 		}
 		res.setData(orderNewService.selectOrderTask(orderNo));
+		
 		return res;
 	}
 	/**
@@ -479,28 +480,34 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "/exportOrderDunData", method = RequestMethod.GET)
-	public Result exportOrderDunData(String name,String orderNo,String adminName,String depId,String starTime,String endTime,HttpServletResponse response) throws IOException{
+	public Result exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,String depId,
+			Integer pageNo,Integer pageSize,HttpServletResponse response) throws IOException{
 		 Result res = new Result();
-		 XSSFWorkbook wb = orderNewService.exportOrderDunData( name, orderNo, adminName, depId, starTime, endTime);
-		 if(null == wb){
-			 res.getError().add(buildError("", "没有找到数据"));
-			 return res;
-		 }
-		 String fileName = "催款信息表  " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls";
-		 OutputStream out = response.getOutputStream();
-		 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
-         response.setContentType("application/octet-stream;charset=utf-8");  
-		try {
-			// 返回数据流
-			wb.write(out);
-			out.flush();
-			out.close();
-		} finally {
-			out.flush();
-			out.close();
+ 		try {
+ 			orderNewService.exportOrderDunData( name, orderNo, starTime, endTime, specially, adminName, depId, pageNo, pageSize, response);
+		} catch (Exception e) {
+			res.getError().add(buildError("格式不正确"));
+			e.printStackTrace();
+			return res;
 		}
-		
-		return res;
+ 		res.data(1); 
+ 		return res;
+	}
+	/**
+	 * 	项目列表下载 
+	 * @throws IOException 
+	 */
+	@RequestMapping(value = "/exportOrderTaskData", method = RequestMethod.GET)
+	public Result exportOrderTaskData(String orderNo,HttpServletResponse response) throws IOException{
+		 Result res = new Result();
+ 		try {
+ 			orderNewService.exportOrderTaskData(  orderNo,response);
+		} catch (Exception e) {
+			res.getError().add(buildError("格式不正确"));
+			e.printStackTrace();
+			return res;
+		}
+ 		return res;
 	}
 	
 }

+ 2 - 7
src/main/java/com/goafanti/order/controller/FundManagerOrderApiController.java

@@ -89,11 +89,6 @@ public class FundManagerOrderApiController extends CertifyApiController {
 	@RequestMapping(value="/financeList", method = RequestMethod.GET)
 	public Result financeList(OrderListBo order, Integer pageNo, Integer pageSize ){
 		Result res = new Result();
-		//财务专员自己的id
-		if(!TokenManager.hasRole(AFTConstants.SUPERADMIN) && !TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)
-				&& !TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)&& !TokenManager.hasRole(AFTConstants.VICE_CEO)) {
-			order.setFinanceId(TokenManager.getAdminId());
-		}
 		//order.setProcessStatus(3);//分配给自己 改为前端 传3未分配  4已分配
 		order.setOrderStatus(2);//营销管理员审核通过
 		res.setData(fundManageOrderServiceImpl.financeList(order, pageNo, pageSize));
@@ -168,12 +163,12 @@ public class FundManagerOrderApiController extends CertifyApiController {
 	 * 财务审核
 	 */
 	@RequestMapping(value="/financeApproval", method = RequestMethod.POST)
-	public Result financeApproval(String orderNo) {
+	public Result financeApproval(String orderNo,String remarks) {
 		Result res=new Result();
 		if (StringUtils.isBlank(orderNo)) {
 			res.getError().add(buildError("","订单必须指定。"));
 		}
-		res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo));
+		res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo,remarks));
 		return res;
 	}
 	

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

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

+ 15 - 28
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -123,11 +123,11 @@ public class OrderProjectApiController extends CertifyApiController {
 	 * 任务工时列表
 	 */
 	@RequestMapping(value="/taskHoursList" ,method = RequestMethod.GET)
-	public Result taskHoursList(String name, String taskId ,String starTime,String endTime ,Integer type,
+	public Result taskHoursList(String name,String orderNo, String taskId ,String starTime,String endTime ,Integer type,
 			Integer pageNo, Integer pageSize){
 		Result res=new Result();
-		//type 1 个人
-		res.setData(orderProjectService.taskHoursList(name,taskId,  starTime, endTime ,type,pageNo, pageSize));
+		//type 0所有 1个人
+		res.setData(orderProjectService.taskHoursList(name,orderNo,taskId,  starTime, endTime ,type,pageNo, pageSize));
 		return res;
 	}
 	/**
@@ -203,9 +203,9 @@ public class OrderProjectApiController extends CertifyApiController {
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "/exportTaskHoursListData", method = RequestMethod.GET)
-	public Result exportTaskHoursListData(String name, String taskId ,String starTime,String endTime ,Integer type,HttpServletResponse response) throws IOException{
+	public Result exportTaskHoursListData(String name, String taskId ,String orderNo,String starTime,String endTime ,Integer type,HttpServletResponse response) throws IOException{
 		 Result res = new Result();
-		 XSSFWorkbook wb = orderProjectService.exportTaskHoursListData( name, taskId, starTime, endTime,type);
+		 XSSFWorkbook wb = orderProjectService.exportTaskHoursListData( name, taskId,orderNo, starTime, endTime,type);
 		 if(null == wb){
 			 res.getError().add(buildError("", "没有找到数据"));
 			 return res;
@@ -232,31 +232,18 @@ public class OrderProjectApiController extends CertifyApiController {
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "/exportMyTaskList", method = RequestMethod.GET)
-	public Result exportMyTaskList(HttpServletResponse response) throws IOException{
-		 Result res = new Result();
-		 if(StringUtils.isBlank(TokenManager.getAdminId())){
-			 res.getError().add(buildError("", "没有找到数据"));
-			 return res;
-		 }
-		 XSSFWorkbook wb = orderProjectService.exportMyTaskList();//个人列表
-		 if(null == wb){
-			 res.getError().add(buildError("", "没有找到数据"));
-			 return res;
-		 }
-		 String fileName = "我的任务列表  " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls";
-		 OutputStream out = response.getOutputStream();
-		 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
-         response.setContentType("application/octet-stream;charset=utf-8");  
+	public Result exportMyTaskList(HttpServletResponse response,String name,String orderNo, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
+			Integer pageSize) throws IOException{
+		Result res=new Result();
 		try {
-			// 返回数据流
-			wb.write(out);
-			out.flush();
-			out.close();
-		} finally {
-			out.flush();
-			out.close();
+			orderProjectService.exportMyTaskList( response, name, orderNo,  taskId,  starTime, endTime , type,  pageNo, pageSize);
+		} catch (Exception e) {
+			res.getError().add(buildError("格式不正确"));
+			e.printStackTrace();
+			return res;
 		}
+     res.data(1); 
+	return res;
 		
-		return res;
 	}
 }

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

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

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

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

+ 2 - 1
src/main/java/com/goafanti/order/service/FundManageOrderService.java

@@ -96,8 +96,9 @@ public interface FundManageOrderService {
 	/**
 	 * 财务特批审核
 	 * @param orderNo
+	 * @param remarks 
 	 * @return
 	 */
-	int updateFinanceApproval(String orderNo);
+	int updateFinanceApproval(String orderNo, String remarks);
 	
 }

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

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

+ 6 - 1
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -1,12 +1,15 @@
 package com.goafanti.order.service;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.List;
 
 import javax.mail.MessagingException;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
+import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.TOrderOutsource;
@@ -157,7 +160,8 @@ public interface OrderNewService {
 	int deleteOrderNew(String orderNo);
 	boolean checkOderSettlementAmount(String orderNo);
 	boolean checkORderTask(String orderNo);
-	XSSFWorkbook exportOrderDunData(String name, String orderNo,String adminName,String depId, String starTime, String endTime);
+	void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
+			String depId,Integer pageNo,Integer pageSize,HttpServletResponse response) throws IOException ;
 	int updateOrderOver(String orderNo);
 	OrderRefundDetailBo orderRefundDetail(String id);
 	int updateOrderRefund(TOrderRefundWithBLOBs t);
@@ -171,6 +175,7 @@ public interface OrderNewService {
 	List<TOrderLogBo> selectOrderLog(String orderNo);
 
 	void pushGeneralSendNoticeAndEmail(List<String> alist, Integer type,String OrderNo,String adminId);
+	void exportOrderTaskData(String orderNo, HttpServletResponse response)throws IOException,BusinessException ;
 	
 	
 }

+ 7 - 3
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -1,7 +1,10 @@
 package com.goafanti.order.service;
 
+import java.io.IOException;
 import java.util.List;
 
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import com.goafanti.common.model.TTaskHours;
@@ -24,7 +27,7 @@ public interface OrderProjectService {
 
 	int addTaskHours(TTaskHours t);
 	
-	Pagination<TOrderTaskListBo> taskHoursList(String name, String taskId,String starTime,String endTime ,Integer type,
+	Pagination<TOrderTaskListBo> taskHoursList(String name,String orderNo, String taskId,String starTime,String endTime ,Integer type,
 			Integer pageNo, Integer pageSize);
 
 
@@ -39,10 +42,11 @@ public interface OrderProjectService {
 
 	List<TaskProgressBo> selectTaskProgress(Integer tid);
 
-	XSSFWorkbook exportMyTaskList();
 
-	XSSFWorkbook exportTaskHoursListData(String name, String taskId, String startTime, String endTime, Integer type);
+	XSSFWorkbook exportTaskHoursListData(String name, String taskId,String orderNo, String startTime, String endTime,  Integer type);
 
 	List<TTaskHours> taskHoursDetailsList(String taskId);
+
+	void exportMyTaskList(HttpServletResponse response, String name, String orderNo, String taskId, String starTime, String endTime, Integer type, Integer pageNo, Integer pageSize)throws IOException ;
 	
 }

+ 19 - 2
src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.bo.EmailBo;
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.NoticeMapper;
@@ -156,11 +157,19 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 			Integer pageNo, Integer pageSize) {
 		Map<String, Object> result = new HashMap<String, Object>();
 		Map<String, Object> params = new HashMap<String, Object>();
+		if(TokenManager.hasRole(AFTConstants.FINANCEADMIN)) {
+			order.setFinanceId(TokenManager.getAdminId());
+		}
+		List<String> fids=null;
+		if(TokenManager.hasRole(AFTConstants.FINANCEMANAGERADMIN)) {
+			fids =adminMapper.selectBySuperId(TokenManager.getAdminId());
+			params.put("fids", fids);
+		}
 		if (order.getOutsource()==null)order.setOutsource(0);//默认非外包 
 		params.put("o", order);
 		Pagination<OrderListBo> data = (Pagination<OrderListBo>)findPage("financeList", "financeCount", params, pageNo, pageSize);
 		result.put("pagination", data);
-		Map<String, Object> count = tOrderNewMapper.countTotalAndActually(order);
+		Map<String, Object> count = tOrderNewMapper.countTotalAndActually(order,fids);
 		result.put("count", count);
 		return result;
 	}
@@ -479,7 +488,7 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 	}
 
 	@Override
-	public int updateFinanceApproval(String orderNo) {
+	public int updateFinanceApproval(String orderNo,String remarks) {
 		TOrderNew new1 = tOrderNewMapper.selectByPrimaryKey(orderNo);
 		TOrderNew t=new TOrderNew();
 		checkDeleteSign(orderNo);
@@ -491,10 +500,18 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 		for (Admin admin : adminMapper.getAdminRoleList("咨询师管理员")) {
 			aids.add(admin.getId());
 		}
+		TOrderLog tl=new TOrderLog();
+		tl.setAid(TokenManager.getAdminId());
+		tl.setOrderNo(t.getOrderNo());
+		tl.setProcess(OrderLogProcess.CWPD.getCode());
+		tl.setRemarks(remarks);
+		tOrderLogMapper.insertSelective(tl);
 		orderNewService.pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_YES.getCode(),t.getOrderNo(), TokenManager.getAdminId());
 		return tOrderNewMapper.updateByPrimaryKeySelective(t);
 	}
 
+	
+
 }
 
 

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

@@ -1,6 +1,9 @@
 package com.goafanti.order.service.impl;
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -8,6 +11,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,6 +46,7 @@ import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.NewOrderChange;
+import com.goafanti.common.utils.ExportExcelUtil;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
@@ -42,10 +54,14 @@ import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.BillBo;
 import com.goafanti.order.bo.InvoiceBo;
+import com.goafanti.order.bo.NewOderCahngeListBo;
 import com.goafanti.order.bo.NewOrderChangeBo;
 import com.goafanti.order.bo.OrderChangeLogBo;
 import com.goafanti.order.bo.TOrderLogBo;
 import com.goafanti.order.bo.TOrderTaskBo;
+import com.goafanti.order.enums.OrderChangeType;
+import com.goafanti.order.enums.OrderNewState;
+import com.goafanti.order.enums.OrderType;
 import com.goafanti.order.service.OrderChangeService;
 import com.goafanti.order.service.OrderNewService;
 import com.goafanti.order.service.OrderService;
@@ -375,8 +391,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	}
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<NewOrderChangeBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
-			String depId,String salesmanName,Integer complete,Integer pageSize, Integer pageNo) {
+	public Pagination<NewOderCahngeListBo> selectOrderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
+			String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
 		Map<String, Object> parameter=new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
 		if(pageNo==null||pageNo<0)pageNo=1;
@@ -384,6 +400,9 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		parameter.put("complete", complete==null?0:complete);
 		if (StringUtils.isNotBlank(userName)) parameter.put("userName", userName);
 		if (null!=processState) parameter.put("processState", processState);
+		if (StringUtils.isNotBlank(orderNo)) parameter.put("orderNo", orderNo);
+		if (StringUtils.isNotBlank(contractNo)) parameter.put("contractNo", contractNo);
+		if (null!=type) parameter.put("type", type);
 		if (null!=timeType) parameter.put("timeType", timeType);
 		if (StringUtils.isNotBlank(startTime)) parameter.put("startTime", startTime);
 		if (StringUtils.isNotBlank(endTime)) parameter.put("endTime", endTime+" 23:59:59");
@@ -391,7 +410,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		if (StringUtils.isNotBlank(salesmanName)) parameter.put("salesmanName", salesmanName);
 		parameter.put("aid", TokenManager.getAdminId());
 		parameter.put("deps", orderService.selectMyDeps());
-		Pagination<NewOrderChangeBo> data = (Pagination<NewOrderChangeBo>)findPage("selectOrderChangeList", "selectOrderChangeCount", parameter, pageNo, pageSize);
+		Pagination<NewOderCahngeListBo> data = (Pagination<NewOderCahngeListBo>)findPage("selectOrderChangeList", "selectOrderChangeCount", parameter, pageNo, pageSize);
 		return data;
 	}
 	@Override
@@ -447,7 +466,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		TOrderNew o=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
 		alist.add(o.getSalesmanId());
 		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
-		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		orderNewService.pushGeneralSendNoticeAndEmail(alist,NoticeStatus.ORDER_CHANGE_END.getCode(), o.getOrderNo(), TokenManager.getAdminId());
 		return 1;
 	}
@@ -460,6 +478,111 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		map.put("invoice", list2);
 		return map;
 	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public void exportMyChange(HttpServletResponse response, String userName, Integer processState, Integer timeType,
+			String startTime, String endTime, String depId, String salesmanName, Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize,Integer pageNo) throws IOException {
+		OutputStream out = response.getOutputStream();
+		List<NewOderCahngeListBo>list=(List<NewOderCahngeListBo>) selectOrderChangeList( userName,  processState, timeType, startTime, endTime,
+				 depId, salesmanName, complete, orderNo,  contractNo, type, pageSize,  pageNo).getList();
+		try {
+    		//设计表头  String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"}
+    		String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"};
+    		String fileName ="开票变更记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"开票变更记录");
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (NewOderCahngeListBo ob : (List<NewOderCahngeListBo>)list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    				String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间",
+//    				"订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"};
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo().toString(); break;
+    				case "客户名称": o = ob.getNickname(); break;
+    				case "订单部门": o = ob.getDepName(); break;
+    				case "订单类型": o = OrderType.getValueByCode(ob.getOrderType()); break;
+    				case "下单时间": o = ob.getEstablishTimes(); break;
+    				case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus()); break;
+    				case "合同额(万元)": o = ob.getTotalAmount(); break;
+    				case "已付额(万元)": o = ob.getSettlementAmount(); break;
+    				case "欠款(万元)": o = ob.getArrears(); break;
+    				case "订单负责人": o = ob.getSalesmanName(); break;
+    				case "变更类型": o = OrderChangeType.getValueByCode(ob.getType()); break;
+    				case "变更审核状态": o = getProcessState(ob.getProcessState(),ob.getStatus()); break;
+    				case "变更提交时间": o = ob.getCreateTimes(); break;
+    				default: o = ""; break;
+    				}
+    				XSSFCell c = r.createCell(i);
+    				c.setCellValue(o);
+    			}
+    		}
+    		//返回名称及参数
+			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+			 response.setContentType("application/octet-stream;charset=utf-8");
+    		 // 返回数据流
+			 wb.write(out); 
+			 out.flush();
+			 out.close();
+		} catch (Exception e) {
+			throw new BusinessException(new Error("表格生成错误。"));
+		}finally {
+			out.flush(); 
+			 out.close(); 
+		}
+	}
+	
 	
+			public static String getProcessState(Integer processState,Integer status) {
+				String str="";
+				if (processState == 0) {
+				      str = "营销员";
+				    } else if (processState == 1) {
+				      str = "营销管理员";
+				    } else if (processState == 2) {
+				      str = "咨询师";
+				    } else if (processState == 3) {
+				      str = "咨询师经理";
+				    } else if (processState == 4) {
+				      str = "咨询师总监";
+				    } else if (processState == 5) {
+				      str = "财务专员";
+				    } else if (processState == 6) {
+				      str = "财务总监";
+				    } else if (processState == 7) {
+				      str = "总裁";
+				    } else if (processState == 8) {
+				      str = "董事长";
+				    }
+					String num = "";
+				    if (status == 0) {
+				      num = "发起";
+				    } else if (status == 1) {
+				      num = "审核中";
+				    } else if (status == 2) {
+				      num = "通过";
+				    } else if (status == 3) {
+				      num = "驳回";
+				      return num + "到" + str;
+				    } else if (status == 4) {
+				      num = "完成";
+				    }
+				    if (processState == 7 && status == 2) {
+				      return "订单变更退票中";
+				    } else if (processState == 8 && status == 2) {
+				      return "订单变更退票中";
+				    } else if (processState >= 7 && status == 4) {
+				      return "订单变更已完成";
+				    } else {
+				      return str + num;
+				    }
+			}
+		
 
 }

+ 152 - 22
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -1,6 +1,8 @@
 package com.goafanti.order.service.impl;
 
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -15,8 +17,12 @@ import java.util.Map;
 import java.util.UUID;
 
 import javax.mail.MessagingException;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -77,6 +83,7 @@ import com.goafanti.order.bo.TOrderLogBo;
 import com.goafanti.order.bo.TOrderNewBo;
 import com.goafanti.order.bo.TOrderRefundBo;
 import com.goafanti.order.bo.TOrderTaskBo;
+import com.goafanti.order.bo.TOrderTaskListBo;
 import com.goafanti.order.enums.ActiveState;
 import com.goafanti.order.enums.ApprovalNewState;
 import com.goafanti.order.enums.LiquidationNewState;
@@ -244,7 +251,11 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				t.setApproval(ApprovalNewState.DSH.getCode());
 			}
 			//生成流转
-			addOrderLog(t.getOrderNo(),OrderLogProcess.TJ.getCode());
+			TOrderLog tl=new TOrderLog();
+			tl.setOrderNo(t.getOrderNo());
+			tl.setProcess(OrderLogProcess.TJ.getCode());
+			tl.setAid(TokenManager.getAdminId());
+			addOrderLog(tl);
 			if (StringUtils.isBlank(t2.getContractNo())) {
 				//没有合同编号则生成
 				createContractNo(t);
@@ -358,11 +369,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	}
 	
 
-	public void addOrderLog(String orderNo, Integer code) {
-		TOrderLog tl=new TOrderLog();
-		tl.setOrderNo(orderNo);
-		tl.setProcess(code);
-		tl.setAid(TokenManager.getAdminId());
+	public void addOrderLog(TOrderLog tl) {
 		tOrderLogMapper.insertSelective(tl);
 		
 	}
@@ -456,6 +463,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		t.setOrderNo(orderNo);
 		List<String> aids = new ArrayList<>();
 		Integer type=null;
+		TOrderLog tl=new TOrderLog();
+		tl.setAid(TokenManager.getAdminId());
 		if (orderStatus==OrderNewState.QDSHTG.getCode()) {
 			t.setOutsource(outsource);
 			if (t2.getApproval()==ApprovalNewState.FTP.getCode()||
@@ -469,7 +478,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 						aids.add(admin.getId());
 					}
 					t.setProcessStatus(ProcessStatus.YPWBSH.getCode());
-					addOrderLog(orderNo, OrderLogProcess.FQWB.getCode());
+					tl.setOrderNo(orderNo);
+					tl.setProcess(OrderLogProcess.FQWB.getCode());
+					addOrderLog(tl);
 					//外包
 					o.setRefundStatus(0);
 					if(o.getId()==null) {
@@ -487,12 +498,16 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				}
 			}
 			type=NoticeStatus.ORDER_YES.getCode();
-			addOrderLog(orderNo, OrderLogProcess.SH.getCode());
+			tl.setOrderNo(orderNo);
+			tl.setProcess(OrderLogProcess.SH.getCode());
+			addOrderLog(tl);
 		}else if (orderStatus==OrderNewState.QDSHJJ.getCode()) {//如果不通过新增驳回
 				if (outsource==0) {//非外包
 				t.setProcessStatus(ProcessStatus.YPYXY.getCode());
 				addBackOrder(orderNo, reason);
-				addOrderLog(orderNo, OrderLogProcess.BH.getCode());
+				tl.setOrderNo(orderNo);
+				tl.setProcess(OrderLogProcess.SH.getCode());
+				addOrderLog(tl);
 			}
 				aids.add(t2.getSalesmanId());
 				type=NoticeStatus.ORDER_NO.getCode();
@@ -587,7 +602,10 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		tOrder.setOrderNo(t.getOrderNo());
 		tOrder.setOrderStatus(OrderNewState.TDZ.getCode());
 		tOrderNewMapper.updateByPrimaryKeySelective(tOrder);
-		addOrderLog(t.getOrderNo(), OrderLogProcess.FQTD.getCode());
+		TOrderLog tl=new TOrderLog();
+		tl.setOrderNo(t.getOrderNo());
+		tl.setProcess(OrderLogProcess.FQTD.getCode());
+		addOrderLog(tl);
 		return tOrderRefundMapper.insertSelective(t);
 	}
 
@@ -600,6 +618,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		t.setOrderNo(orderNo);
 		List<String> aids = new ArrayList<>();
 		Integer type=null;
+		TOrderLog tl=new TOrderLog();
+		tl.setOrderNo(orderNo);
 		if (confirm==2) {
 			t.setApproval(2);
 			if(t2.getOutsource()==0) {
@@ -612,16 +632,17 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				}
 			}
 			type=NoticeStatus.ORDER_APPROVA_YES.getCode();
-			addOrderLog(orderNo, OrderLogProcess.TP.getCode());
+			tl.setProcess(OrderLogProcess.TP.getCode());
 		} else {
 			t.setApproval(3);
 			t.setOrderStatus(OrderNewState.YBH.getCode());
 			t.setProcessStatus(ProcessStatus.YPYXY.getCode());
 			addBackOrder(orderNo, reason);
-			addOrderLog(orderNo, OrderLogProcess.BH.getCode());
+			tl.setProcess(OrderLogProcess.BH.getCode());
 			aids.add(t2.getSalesmanId());
 			type=NoticeStatus.ORDER_APPROVA_NO.getCode();
 		}
+		addOrderLog(tl);
 		pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
 		return tOrderNewMapper.updateByPrimaryKeySelective(t);
 	}
@@ -776,19 +797,65 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 	/**
 	 * 获取催款数据
+	 * @throws IOException 
 	 */
-	@SuppressWarnings("null")
 	@Override
-	public XSSFWorkbook exportOrderDunData(String name, String orderNo,String adminName,String depId, String starTime, String endTime) {
-		if(endTime!=null) endTime=endTime+" 23:59:59";
-		List<TOrderNewBo> list=tOrderDunMapper.getOrderDunData(name,orderNo, adminName, depId,starTime,endTime);
-		if (list==null && list.size()==0) {
-			return null;
+	public void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
+			String depId,Integer pageNo,Integer pageSize,HttpServletResponse response) throws IOException {
+		OutputStream out = response.getOutputStream();
+		try {
+			@SuppressWarnings("unchecked")
+			List<TOrderNewBo> list=(List<TOrderNewBo>) dunOrderNewList( name,  orderNo,  starTime,  endTime,
+					 specially,  adminName, depId, pageNo,  pageSize).getList();
+    		String[] comment = {"合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","签单金额","结算状态","应收款","已收款","未收款","项目状态","催收科目","催款启动时间","签单时间"};
+    		String fileName ="催款信息记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"催款信息");
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (TOrderNewBo ob : list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    "合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","项目负责人","签单金额","结算状态","已收款","应收款","项目状态","催收科目","催款启动时间"
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo().toString(); break;
+    				case "客户名称": o = ob.getUserName(); break;
+    				case "订单负责人": o = ob.getSalesmanName(); break;
+    				case "订单部门": o = ob.getDepName(); break;
+    				case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus());break;
+    				case "签单金额": o = ob.getTotalAmount().toString(); break;
+    				case "结算状态": o = LiquidationNewState.getValueByCode(ob.getLiquidationStatus()); break;
+    				case "应收款": o = ob.getAccountsReceivable().toString(); break;
+    				case "已收款": o = ob.getSettlementAmount().toString(); break;
+    				case "未收款": o = ob.getUncollectedAmount().toString(); break;
+    				case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
+    				case "催收科目": o = OrderDunSubject.getValueByCode(Integer.valueOf(ob.getDunSubject())); break;
+    				case "催款启动时间": o = ob.getStartDate(); break;
+    				case "签单时间": o = ob.getSignDate(); break;
+    				default: o = ""; break;
+    				}
+    				XSSFCell c = r.createCell(i);
+    				c.setCellValue(o);
+    			}
+    		}
+    		//返回名称及参数
+			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+			 response.setContentType("application/octet-stream;charset=utf-8");
+    		 // 返回数据流
+			 wb.write(out); 
+			 out.flush();
+			 out.close();
+		} catch (Exception e) {
+			throw new BusinessException(new Error("表格生成错误。"));
+		}finally {
+			out.flush(); 
+			 out.close(); 
 		}
-		String[] comment = {"订单编号","签单时间","客户名称","订单状态","签单金额(万元)","项目状态","结算状态","应收款(万元)","已收款(万元)","未收款(万元)","订单部门","订单负责人","催收科目","催款启动日期"};
-		String filePath = uploadPath + "/OrderDun";
-		XSSFWorkbook wb = ExportExcelUtil.exportOrderDunData(list, comment, filePath);
-		return wb;
+		
 	}
 
 
@@ -963,5 +1030,68 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		
 	}
 
+
+
+	@Override
+	public void exportOrderTaskData(String orderNo, HttpServletResponse response) throws IOException,BusinessException {
+		OutputStream out = response.getOutputStream();
+		try {
+			List<TOrderTaskBo> list=selectOrderTask(orderNo);
+    		String[] comment = {"合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","项目负责人","是否主项目","项目别类","项目名称","项目数量","服务市价","证书編号","项目状态","项目说明","外包(内部)公司","外包(内部)价格"};
+    		String fileName ="项目信息记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"项目信息");
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (TOrderTaskBo ob : list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    "合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","项目负责人","是否主项目","项目别类","项目名称","项目数量",
+//    				"服务市价","证书編号","项目状态","项目说明"
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo().toString(); break;
+    				case "客户名称": o = ob.getUserName(); break;
+    				case "订单负责人": o = ob.getSalesmanName(); break;
+    				case "订单部门": o = ob.getDepName(); break;
+    				case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus());break;
+    				case "项目负责人": o = ob.getSalesmanName(); break;
+    				case "是否主项目": o = ob.getMain()==0?"否":"是"; break;
+    				case "项目别类": o = ob.getCname(); break;
+    				case "项目名称": o = ob.getCommodityName(); break;
+    				case "项目数量": o = ob.getCommodityQuantity().toString(); break;
+    				case "服务市价": o = ob.getCommodityPrice()!=null?ob.getCommodityPrice().toString():""; break;
+    				case "证书編号": o = ob.getCertificateNumber(); break;
+    				case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
+    				case "项目说明": o = ob.getTaskComment(); break;
+    				case "外包(内部)公司": o = ob.getOutsourceName(); break;
+    				case "外包(内部)价格": o = ob.getOutsourcePrice()!=null?ob.getOutsourcePrice().toString():""; break;
+    				default: o = ""; break;
+    				}
+    				XSSFCell c = r.createCell(i);
+    				c.setCellValue(o);
+    			}
+    		}
+    		//返回名称及参数
+			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+			 response.setContentType("application/octet-stream;charset=utf-8");
+    		 // 返回数据流
+			 wb.write(out); 
+			 out.flush();
+			 out.close();
+		} catch (Exception e) {
+			throw new BusinessException(new Error("表格生成错误。"));
+		}finally {
+			out.flush(); 
+			 out.close(); 
+		}
+		
+	
+		
+	}
+
 	
 }

+ 69 - 12
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -1,5 +1,7 @@
 package com.goafanti.order.service.impl;
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -10,8 +12,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.record.EOFRecord;
+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.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -52,12 +59,16 @@ import com.goafanti.common.utils.ExportExcelUtil;
 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.NewOderCahngeListBo;
 import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.order.bo.TOrderTaskDetailBo;
 import com.goafanti.order.bo.TOrderTaskListBo;
 import com.goafanti.order.bo.TaskLogBo;
 import com.goafanti.order.bo.TaskProgressBo;
 import com.goafanti.order.enums.BonusSubject;
+import com.goafanti.order.enums.OrderChangeType;
+import com.goafanti.order.enums.OrderNewState;
+import com.goafanti.order.enums.OrderType;
 import com.goafanti.order.enums.ProcessStatus;
 import com.goafanti.order.enums.ProjectNewStage;
 import com.goafanti.order.service.OrderNewService;
@@ -379,12 +390,13 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<TOrderTaskListBo> taskHoursList(String name, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
+	public Pagination<TOrderTaskListBo> taskHoursList(String name,String orderNo, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
 			Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
 		if(pageNo==null||pageNo<0)pageNo=1;
 		if (StringUtils.isNotBlank(name)) params.put("name", name);
+		if (StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
 		if (StringUtils.isNotBlank(taskId)) params.put("taskId", taskId);
 		if (StringUtils.isNotBlank(starTime)) params.put("starTime", starTime);
 		if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
@@ -396,11 +408,11 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 
 	
 	@Override
-	public XSSFWorkbook exportTaskHoursListData(String name, String taskId, String startTime, String endTime,Integer type) {
+	public XSSFWorkbook exportTaskHoursListData(String name, String taskId, String orderNo,String startTime, String endTime,Integer type) {
 		if(StringUtils.isNoneBlank(endTime)) endTime=endTime+" 23:59:59";
 		String fid=null;
 		if(type!=null&&type==1)fid=TokenManager.getAdminId();
-		List<TOrderTaskListBo> list=tTaskHoursMapper.getTaskHoursData(name,taskId,startTime,endTime,fid);
+		List<TOrderTaskListBo> list=tTaskHoursMapper.getTaskHoursData(name,taskId,orderNo,startTime,endTime,fid);
 		if (list==null || list.size()==0) return null;
 		String[] comment = {"任务编号","任务名称","订单编号","业务别类","订单部门","客户名称","任务负责人","任务状态","工时","合同编号","签单日期","派单日期"};
 		String filePath = uploadPath + "/TaskHours";
@@ -462,20 +474,65 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		}
 		return l;
 	}
-	@Override
-	public XSSFWorkbook exportMyTaskList() {
-		List<TOrderTaskListBo> list=taskProgressMapper.selectMyTaskList(TokenManager.getAdminId());
-		if (list==null || list.size()==0) return null;
-		String[] comment = {"任务编号","任务名称","订单编号","业务别类","客户名称(软著数/下证数)","任务状态","项目状态","分配时间","订单部门"};
-		String filePath = uploadPath + "/MyTaskList";
-		XSSFWorkbook wb = ExportExcelUtil.exportSelectMyTaskList(list, comment, filePath);
-		return wb;
-	}
+	
 	@Override
 	public List<TTaskHours> taskHoursDetailsList(String taskId) {
 		String aid=TokenManager.getAdminId();
 		return tTaskHoursMapper.taskHoursDetailsList(taskId,aid);
 	}
+	@Override
+	public void exportMyTaskList(HttpServletResponse response,String name,String orderNo, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
+			Integer pageSize) throws IOException {
+		OutputStream out = response.getOutputStream();
+		try {
+			@SuppressWarnings("unchecked")
+			List<TOrderTaskListBo> list=(List<TOrderTaskListBo>) taskHoursList( name, orderNo,  taskId,  starTime, endTime , type,  pageNo, pageSize).getList();
+    		String[] comment = {"合同编号","订单编号","客户名称","项目负责人","项目别类","项目名称","项目状态","工时","分配时间","完成时间"};
+    		String fileName ="工时信息记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+    		//type 0 变更
+    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"工时信息");
+    		//根据列表编写文档
+    		XSSFSheet sheet =wb.getSheetAt(0);
+    		for (TOrderTaskListBo ob : (List<TOrderTaskListBo>)list) {
+    			//新增一行
+    			XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+    			for (int i = 0; i < comment.length; i++) {
+    				//当前列的只
+    				String o = "";
+    				switch (comment[i]) {
+//    String[] comment = {"合同编号 ","订单编号","客户名称","项目负责人 ","项目别类","项目名称","项目状态","工时","分配时间","完成时间"};
+    				case "合同编号": o = ob.getContractNo(); break;
+    				case "订单编号": o = ob.getOrderNo().toString(); break;
+    				case "客户名称": o = ob.getUserName(); break;
+    				case "订单部门": o = ob.getDepName(); break;
+    				case "项目负责人": o = ob.getReceiverName(); break;
+    				case "项目别类": o = ob.getCname(); break;
+    				case "项目名称": o = ob.getTaskName(); break;
+    				case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
+    				case "工时": o = ob.getHours().toString(); break;
+    				case "分配时间": o = ob.getTaskDistributionTime(); break;
+    				case "完成时间": o = ob.getTaskEndTime(); break;
+    				default: o = ""; break;
+    				}
+    				XSSFCell c = r.createCell(i);
+    				c.setCellValue(o);
+    			}
+    		}
+    		//返回名称及参数
+			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
+			 response.setContentType("application/octet-stream;charset=utf-8");
+    		 // 返回数据流
+			 wb.write(out); 
+			 out.flush();
+			 out.close();
+		} catch (Exception e) {
+			throw new BusinessException(new Error("表格生成错误。"));
+		}finally {
+			out.flush(); 
+			 out.close(); 
+		}
+		
+	}
 	
 	
 }

+ 2 - 2
src/main/resources/props/config_local.properties

@@ -60,12 +60,12 @@ template.cacheable=false
 portal.host=//sf.jishutao.com/portal/2.0.6
 avatar.upload.host=//sb.jishutao.com/upload
 #连接开发
-static.host=//sb.jishutao.com/1.1.25
+static.host=//sb.jishutao.com/1.1.26
 avatar.host=//sb.jishutao.com
 
 #连测试
 #avatar.host=//static.jishutao.com
-#static.host=//static.jishutao.com/1.1.25
+#static.host=//static.jishutao.com/1.1.26
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -54,7 +54,7 @@ session.validate.timespan=18000000
 app.name=AFT
 template.cacheable=false
 
-static.host=//static.jishutao.com/1.1.25
+static.host=//static.jishutao.com/1.1.26
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 avatar.upload.host=//static.jishutao.com/upload

+ 0 - 2
src/main/webapp/WEB-INF/views/common.html

@@ -368,7 +368,6 @@
 				uid : /*[[${adminData.id}]]*/'',
 				departmentId : /*[[${adminData.departmentId}]]*/'',
 				isSuperAdmin : /*[[${shiro.hasRole('999999')}]]*/false,
-				isFinanceAdmin : /*[[${shiro.hasRole('99997')}]]*/false,
 				isApprovalDecision : /*[[${shiro.hasRole('99999')}]]*/false
 			}
 			window.showUserManage = /*[[${shiro.hasRole('999999') || shiro.isPermitted('admin/userManage')}]]*/false;
@@ -382,7 +381,6 @@
 			window.showPermissionList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/permissionList')}]]*/false;
 			window.showRoleList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/roleList')}]]*/false;
 			window.showAuditStatus = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/auditStatus')}]]*/false;
-
 			window.showUserOrderList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('admin/userOrder')}]]*/false;
 			window.showSystem = /*[[${shiro.hasRole('999999') || shiro.isPermitted('admin/system')}]]*/false;
 			/*]]>*/