Browse Source

任务模块开发与下载文件开发

anderx 7 years ago
parent
commit
ea418fef75
20 changed files with 1314 additions and 890 deletions
  1. 4 0
      src/main/java/com/goafanti/common/dao/TOrderDunMapper.java
  2. 58 77
      src/main/java/com/goafanti/common/dao/TTaskHoursMapper.java
  3. 21 0
      src/main/java/com/goafanti/common/mapper/TOrderDunMapper.xml
  4. 9 2
      src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml
  5. 44 0
      src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml
  6. 64 27
      src/main/java/com/goafanti/common/mapper/TTaskHoursMapper.xml
  7. 162 164
      src/main/java/com/goafanti/common/model/TTaskHours.java
  8. 702 613
      src/main/java/com/goafanti/common/model/TTaskHoursExample.java
  9. 63 0
      src/main/java/com/goafanti/common/utils/ExportExcelUtil.java
  10. 2 1
      src/main/java/com/goafanti/common/utils/FileUtils.java
  11. 9 0
      src/main/java/com/goafanti/order/bo/TOrderNewBo.java
  12. 7 0
      src/main/java/com/goafanti/order/bo/TOrderTaskListBo.java
  13. 39 1
      src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java
  14. 41 3
      src/main/java/com/goafanti/order/controller/OrderProjectApiController.java
  15. 8 0
      src/main/java/com/goafanti/order/enums/LiquidationNewState.java
  16. 19 0
      src/main/java/com/goafanti/order/enums/ProjectNewStage.java
  17. 3 0
      src/main/java/com/goafanti/order/service/OrderNewService.java
  18. 3 0
      src/main/java/com/goafanti/order/service/OrderProjectService.java
  19. 21 0
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  20. 35 2
      src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

+ 4 - 0
src/main/java/com/goafanti/common/dao/TOrderDunMapper.java

@@ -2,6 +2,8 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderDunExample;
+import com.goafanti.order.bo.TOrderNewBo;
+
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
@@ -98,4 +100,6 @@ public interface TOrderDunMapper {
     
 
 	List<TOrderDun> selectByOrderNoDunSubject(String orderNo);
+
+	List<TOrderNewBo> getOrderDunData(@Param("name")String name,@Param("orderNo") String orderNo, @Param("starTime")String starTime, @Param("endTime")String endTime);
 }

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

@@ -6,91 +6,72 @@ import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
 public interface TTaskHoursMapper {
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    long countByExample(TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int deleteByExample(TTaskHoursExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	long countByExample(TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int deleteByPrimaryKey(String id);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int deleteByExample(TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int insert(TTaskHours record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int deleteByPrimaryKey(String id);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int insertSelective(TTaskHours record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int insert(TTaskHours record);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    List<TTaskHours> selectByExample(TTaskHoursExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int insertSelective(TTaskHours record);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    TTaskHours selectByPrimaryKey(String id);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	List<TTaskHours> selectByExample(TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int updateByExampleSelective(@Param("record") TTaskHours record, @Param("example") TTaskHoursExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	TTaskHours selectByPrimaryKey(String id);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int updateByExample(@Param("record") TTaskHours record, @Param("example") TTaskHoursExample example);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int updateByExampleSelective(@Param("record") TTaskHours record, @Param("example") TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int updateByPrimaryKeySelective(TTaskHours record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int updateByExample(@Param("record") TTaskHours record, @Param("example") TTaskHoursExample example);
 
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method corresponds to the database table t_task_hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    int updateByPrimaryKey(TTaskHours record);
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int updateByPrimaryKeySelective(TTaskHours record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table t_task_hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	int updateByPrimaryKey(TTaskHours record);
+
+	String getTaskSuperHours(String id);
 }

+ 21 - 0
src/main/java/com/goafanti/common/mapper/TOrderDunMapper.xml

@@ -368,4 +368,25 @@
   <select id="selectByOrderNoDunSubject" resultType="com.goafanti.common.model.TOrderDun">
   	select id,dun_subject as dunSubject,money,order_no as orderNo from t_order_dun where order_no= #{orderNo,jdbcType=VARCHAR}
   </select>
+  <select id="getOrderDunData" 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
+    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=c.id
+    where a.start_time is not null and b.delete_sign = 0
+    <if test="name != null">
+  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
+  	</if>
+  	<if test="orderNo != null">
+  	and a.order_no = #{orderNo,jdbcType=VARCHAR}
+  	</if>
+  	<if test="starTime !=null and endTime !=null">
+  	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
+  	</if>
+  	order by b.sign_time desc
+  </select>
 </mapper>

+ 9 - 2
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1032,14 +1032,21 @@
   <select id="selectOrderNewListByPage" resultType="com.goafanti.order.bo.TOrderNewBo">
   	select 
   		a.order_no as orderNo,a.create_time as createTime, date_format(a.sign_time,'%Y-%m-%d' ) as signDate,
-  		b.nickname as userName ,a.process_status as processStatus,a.total_amount as totalAmount,
+  		b.nickname as userName ,a.process_status as processStatus,a.total_amount as totalAmount,a.order_status as orderStatus,
   		a.liquidation_status as liquidationStatus,a.approval,c.name as salesmanName,d.name as financeName
+  	<if test="specially == 2">
+  	,f.name as initiateName ,e.reason ,date_format(e.create_time,'%Y-%m-%d' ) as backDate,e.id as backId
+  	</if>
   	<if test="specially == 4">
   	,f.name as consultantName
   	</if>
   	from t_order_new a  left join `user` b on a.buyer_id=b.id 
   	left join admin c on a.salesman_id=c.id
   	left join admin d on a.finance_id=d.id
+  	<if test="specially == 2">
+	left join (select * from t_order_back a where back_status=0) e on a.order_no=e.order_no
+  	left join admin f on e.initiate=f.id
+  	</if>
   	<if test="specially == 4">
   	left join (select * from t_order_task where main=1) e on e.order_no=a.order_no
   	left join admin f on e.task_receiver=f.id
@@ -1163,7 +1170,7 @@
   
   <select id="getOrderNewDetail" parameterType="java.lang.String" resultType="com.goafanti.order.bo.TOrderNewBo">
      select 
-    a.order_no as orderNo, a.order_type as ordertType, a.creater, a.create_time as createTime,a.update_time as updateTime, a.buyer_id as buyerId, a.first_amount as firstAmount, 
+    a.order_no as orderNo, a.order_type as orderType, a.creater, a.create_time as createTime,a.update_time as updateTime, a.buyer_id as buyerId, a.first_amount as firstAmount, 
     a.total_amount as totalAmount, a.settlement_amount as settlementAmount, order_status as orderStatus, a.liquidation_status as liquidationStatus, a.process_status as processStatus, 
     a.project_status as projectStatus, a.approval, a.order_remarks as orderRemarks, a.delete_sign as deleteSign, a.salesman_id as salesmanId, finance_id as financeId, technician_id as technicianId, 
     a.sign_time as signTime, a.settlement_time as settlementTime, a.contract_no as contractNo, a.contract_type as contractType, a.contacts, a.contact_mobile as contactMobile, 

+ 44 - 0
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -753,4 +753,48 @@ from t_order_task a left join business_project b on a.commodity_id=b.id
      select super_id as superId,min(task_status) as taskStatus,min(project_status) as projectStatus  from t_order_task
     where super_id = #{superId,jdbcType=VARCHAR} group by super_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,
+    a.task_status as taskStatus,f.nickname as userName,ifnull(g.hours,0) as hours,a.commodity_quantity as commodityQuantity
+  	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
+    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=0 and a.super_id is null
+    <if test="name != null">
+  	and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
+  	</if>
+  	<if test="taskId != null">
+  	and a.id= #{taskId,jdbcType=VARCHAR}
+  	</if>
+  	<if test="starTime !=null and endTime !=null">
+  	and a.task_start_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
+  	</if>
+  	order by  a.task_start_time desc
+  	<if test="page_sql!=null">
+			${page_sql}
+	</if>
+  </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
+    where e.delete_sign=0 and a.super_id is null
+    <if test="name != null">
+  	and f.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
+  	</if>
+  	<if test="taskId != null">
+  	and a.id= #{taskId,jdbcType=VARCHAR}
+  	</if>
+  	<if test="starTime !=null and endTime !=null">
+  	and a.task_start_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
+  	</if>
+  </select>
 </mapper>

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

@@ -5,19 +5,21 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     <id column="id" jdbcType="VARCHAR" property="id" />
     <result column="task_id" jdbcType="VARCHAR" property="taskId" />
-    <result column="hours" jdbcType="INTEGER" property="hours" />
+    <result column="hours" jdbcType="DOUBLE" property="hours" />
     <result column="aid" jdbcType="VARCHAR" property="aid" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="task_day" jdbcType="TIMESTAMP" property="taskDay" />
   </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 Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     <where>
       <foreach collection="oredCriteria" item="criteria" separator="or">
@@ -51,7 +53,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     <where>
       <foreach collection="example.oredCriteria" item="criteria" separator="or">
@@ -85,15 +87,15 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
-    id, task_id, hours, aid, create_time
+    id, task_id, hours, aid, create_time, remarks, task_day
   </sql>
   <select id="selectByExample" parameterType="com.goafanti.common.model.TTaskHoursExample" resultMap="BaseResultMap">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     select
     <if test="distinct">
@@ -112,7 +114,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     select 
     <include refid="Base_Column_List" />
@@ -123,7 +125,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     delete from t_task_hours
     where id = #{id,jdbcType=VARCHAR}
@@ -132,7 +134,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     delete from t_task_hours
     <if test="_parameter != null">
@@ -143,18 +145,20 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     insert into t_task_hours (id, task_id, hours, 
-      aid, create_time)
-    values (#{id,jdbcType=VARCHAR}, #{taskId,jdbcType=VARCHAR}, #{hours,jdbcType=INTEGER}, 
-      #{aid,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
+      aid, create_time, remarks, 
+      task_day)
+    values (#{id,jdbcType=VARCHAR}, #{taskId,jdbcType=VARCHAR}, #{hours,jdbcType=DOUBLE}, 
+      #{aid,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}, 
+      #{taskDay,jdbcType=TIMESTAMP})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.TTaskHours">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     insert into t_task_hours
     <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -173,6 +177,12 @@
       <if test="createTime != null">
         create_time,
       </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
+      <if test="taskDay != null">
+        task_day,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -182,7 +192,7 @@
         #{taskId,jdbcType=VARCHAR},
       </if>
       <if test="hours != null">
-        #{hours,jdbcType=INTEGER},
+        #{hours,jdbcType=DOUBLE},
       </if>
       <if test="aid != null">
         #{aid,jdbcType=VARCHAR},
@@ -190,13 +200,19 @@
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="taskDay != null">
+        #{taskDay,jdbcType=TIMESTAMP},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.goafanti.common.model.TTaskHoursExample" resultType="java.lang.Long">
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     select count(*) from t_task_hours
     <if test="_parameter != null">
@@ -207,7 +223,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     update t_task_hours
     <set>
@@ -218,7 +234,7 @@
         task_id = #{record.taskId,jdbcType=VARCHAR},
       </if>
       <if test="record.hours != null">
-        hours = #{record.hours,jdbcType=INTEGER},
+        hours = #{record.hours,jdbcType=DOUBLE},
       </if>
       <if test="record.aid != null">
         aid = #{record.aid,jdbcType=VARCHAR},
@@ -226,6 +242,12 @@
       <if test="record.createTime != null">
         create_time = #{record.createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="record.remarks != null">
+        remarks = #{record.remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="record.taskDay != null">
+        task_day = #{record.taskDay,jdbcType=TIMESTAMP},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -235,14 +257,16 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     update t_task_hours
     set id = #{record.id,jdbcType=VARCHAR},
       task_id = #{record.taskId,jdbcType=VARCHAR},
-      hours = #{record.hours,jdbcType=INTEGER},
+      hours = #{record.hours,jdbcType=DOUBLE},
       aid = #{record.aid,jdbcType=VARCHAR},
-      create_time = #{record.createTime,jdbcType=TIMESTAMP}
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      remarks = #{record.remarks,jdbcType=VARCHAR},
+      task_day = #{record.taskDay,jdbcType=TIMESTAMP}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -251,7 +275,7 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     update t_task_hours
     <set>
@@ -259,7 +283,7 @@
         task_id = #{taskId,jdbcType=VARCHAR},
       </if>
       <if test="hours != null">
-        hours = #{hours,jdbcType=INTEGER},
+        hours = #{hours,jdbcType=DOUBLE},
       </if>
       <if test="aid != null">
         aid = #{aid,jdbcType=VARCHAR},
@@ -267,6 +291,12 @@
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="taskDay != null">
+        task_day = #{taskDay,jdbcType=TIMESTAMP},
+      </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
   </update>
@@ -274,13 +304,20 @@
     <!--
       WARNING - @mbg.generated
       This element is automatically generated by MyBatis Generator, do not modify.
-      This element was generated on Mon Nov 26 09:04:15 CST 2018.
+      This element was generated on Mon Nov 26 10:26:19 CST 2018.
     -->
     update t_task_hours
     set task_id = #{taskId,jdbcType=VARCHAR},
-      hours = #{hours,jdbcType=INTEGER},
+      hours = #{hours,jdbcType=DOUBLE},
       aid = #{aid,jdbcType=VARCHAR},
-      create_time = #{createTime,jdbcType=TIMESTAMP}
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      remarks = #{remarks,jdbcType=VARCHAR},
+      task_day = #{taskDay,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=VARCHAR}
   </update>
+  <select id="getTaskSuperHours" resultType="java.lang.String">
+  select ifnull(sum(hours),0)as hours from t_task_hours a
+    left join t_order_task b on a.task_id=b.id
+    where b.super_id=#{id,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 162 - 164
src/main/java/com/goafanti/common/model/TTaskHours.java

@@ -3,168 +3,166 @@ package com.goafanti.common.model;
 import java.util.Date;
 
 public class TTaskHours {
-    /**
-     *
-     * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column t_task_hours.id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    private String id;
-
-    /**
-     *
-     * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column t_task_hours.task_id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    private String taskId;
-
-    /**
-     *
-     * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column t_task_hours.hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    private Integer hours;
-
-    /**
-     *
-     * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column t_task_hours.aid
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    private String aid;
-
-    /**
-     *
-     * This field was generated by MyBatis Generator.
-     * This field corresponds to the database column t_task_hours.create_time
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    private Date createTime;
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method returns the value of the database column t_task_hours.id
-     *
-     * @return the value of t_task_hours.id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method sets the value of the database column t_task_hours.id
-     *
-     * @param id the value for t_task_hours.id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method returns the value of the database column t_task_hours.task_id
-     *
-     * @return the value of t_task_hours.task_id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public String getTaskId() {
-        return taskId;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method sets the value of the database column t_task_hours.task_id
-     *
-     * @param taskId the value for t_task_hours.task_id
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method returns the value of the database column t_task_hours.hours
-     *
-     * @return the value of t_task_hours.hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public Integer getHours() {
-        return hours;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method sets the value of the database column t_task_hours.hours
-     *
-     * @param hours the value for t_task_hours.hours
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public void setHours(Integer hours) {
-        this.hours = hours;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method returns the value of the database column t_task_hours.aid
-     *
-     * @return the value of t_task_hours.aid
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public String getAid() {
-        return aid;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method sets the value of the database column t_task_hours.aid
-     *
-     * @param aid the value for t_task_hours.aid
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    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_task_hours.create_time
-     *
-     * @return the value of t_task_hours.create_time
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    /**
-     * This method was generated by MyBatis Generator.
-     * This method sets the value of the database column t_task_hours.create_time
-     *
-     * @param createTime the value for t_task_hours.create_time
-     *
-     * @mbg.generated Mon Nov 26 09:04:15 CST 2018
-     */
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.task_id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private String taskId;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private Double hours;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.aid
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private String aid;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.create_time
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private Date createTime;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.remarks
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private String remarks;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column t_task_hours.task_day
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	private Date taskDay;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.id
+	 * @return  the value of t_task_hours.id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.id
+	 * @param id  the value for t_task_hours.id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.task_id
+	 * @return  the value of t_task_hours.task_id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public String getTaskId() {
+		return taskId;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.task_id
+	 * @param taskId  the value for t_task_hours.task_id
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setTaskId(String taskId) {
+		this.taskId = taskId;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.hours
+	 * @return  the value of t_task_hours.hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public Double getHours() {
+		return hours;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.hours
+	 * @param hours  the value for t_task_hours.hours
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setHours(Double hours) {
+		this.hours = hours;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.aid
+	 * @return  the value of t_task_hours.aid
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public String getAid() {
+		return aid;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.aid
+	 * @param aid  the value for t_task_hours.aid
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	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_task_hours.create_time
+	 * @return  the value of t_task_hours.create_time
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.create_time
+	 * @param createTime  the value for t_task_hours.create_time
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.remarks
+	 * @return  the value of t_task_hours.remarks
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public String getRemarks() {
+		return remarks;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.remarks
+	 * @param remarks  the value for t_task_hours.remarks
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setRemarks(String remarks) {
+		this.remarks = remarks;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column t_task_hours.task_day
+	 * @return  the value of t_task_hours.task_day
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public Date getTaskDay() {
+		return taskDay;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column t_task_hours.task_day
+	 * @param taskDay  the value for t_task_hours.task_day
+	 * @mbg.generated  Mon Nov 26 10:26:19 CST 2018
+	 */
+	public void setTaskDay(Date taskDay) {
+		this.taskDay = taskDay;
+	}
 }

File diff suppressed because it is too large
+ 702 - 613
src/main/java/com/goafanti/common/model/TTaskHoursExample.java


+ 63 - 0
src/main/java/com/goafanti/common/utils/ExportExcelUtil.java

@@ -22,6 +22,10 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 
 import com.goafanti.common.model.TOrderBillNew;
+import com.goafanti.order.bo.TOrderNewBo;
+import com.goafanti.order.enums.LiquidationNewState;
+import com.goafanti.order.enums.OrderNewState;
+import com.goafanti.order.enums.ProjectNewStage;
 
 public class ExportExcelUtil {
 	
@@ -207,4 +211,63 @@ public class ExportExcelUtil {
 	}
 	
 	
+	public static HSSFWorkbook exportOrderDunData(List<TOrderNewBo> list,String[] comment,String filePath){
+		//map 数据 comment表头 (列名称)
+ 		//1,创建一个workbook,对应的是一个excel文件
+		HSSFWorkbook wb = new HSSFWorkbook();
+		//2.创建一个sheet
+			HSSFSheet sheet = wb.createSheet();
+			//创建表头
+			HSSFCellStyle style1 = setCellStyle1(wb);
+			HSSFRow row = sheet.createRow(0);
+			for(int i = 0; i < comment.length; i++){
+				sheet.setColumnWidth(i, 3000);//设置列宽
+				HSSFCell c = row.createCell(i);
+				c.setCellValue(comment[i]);
+				c.setCellStyle(style1);
+			}
+			for (TOrderNewBo ob : list) {
+				//新增一行
+				HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
+				for (int i = 0; i < comment.length; i++) {
+					//当前列的只
+					String o ;
+					switch (comment[i]) {
+					//"订单编号","签单时间","客户名称","订单状态","签单金额","项目状态","结算状态","已收款","订单负责人","催收科目","催款启动日期"
+					case "订单编号": o = ob.getOrderNo(); break;
+					case "签单时间": o = ob.getSignDate(); break;
+					case "客户名称": o = ob.getUserName(); break;
+					case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus());break;
+					case "签单金额": o = ob.getTotalAmount().toString(); break;
+					case "项目状态": o = ProjectNewStage.getValueByCode(ob.getProjectStatus()); break;
+					case "结算状态": o = LiquidationNewState.getValueByCode(ob.getLiquidationStatus()); break;
+					case "已收款": o = ob.getSettlementAmount().toString(); break;
+					case "催收科目": o = getDunSuBubject(ob.getDunSubject()); break;
+					case "催款启动日期": o = ob.getStartDate(); break;
+					default: o = ""; break;
+					}
+					HSSFCell c = r.createCell(i);
+					c.setCellValue(o);
+				}
+			}
+		return wb;
+		
+	}
+
+	private static String getDunSuBubject(String dunSubject) {
+		if ("12".equals(dunSubject)) return "订单审核通过";
+		if ("20".equals(dunSubject)) return "项目待提交";
+		if ("21".equals(dunSubject)) return "项目已提交";
+		if ("22".equals(dunSubject)) return "项目评审";
+		if ("23".equals(dunSubject)) return "项目立项";
+		if ("24".equals(dunSubject)) return "项目公示";
+		if ("25".equals(dunSubject)) return "项目抽查";
+		if ("26".equals(dunSubject)) return "项目备案";
+		if ("27".equals(dunSubject)) return "项目下证";
+		if ("28".equals(dunSubject)) return "项目验收";
+		if ("29".equals(dunSubject)) return "项目拨款";
+		return "";
+	}
+	
+	
 }

+ 2 - 1
src/main/java/com/goafanti/common/utils/FileUtils.java

@@ -108,7 +108,8 @@ public class FileUtils {
 				|| sign.indexOf("lecture_picture") != -1|| sign.indexOf("cover_picture") != -1 
 				|| sign.indexOf("news") != -1||sign.indexOf("customer_sys_file") != -1 || sign.indexOf("order_refund_file") != -1
 				||sign.indexOf("business_project_max_picture") != -1||sign.indexOf("business_project_min_picture") != -1
-				||sign.indexOf("varieties_picture") != -1  || sign.indexOf("organization_application") != -1) {
+				||sign.indexOf("varieties_picture") != -1  || sign.indexOf("organization_application") != -1
+				||sign.indexOf("order_task_file") != -1) {
 			uniq = true;
 		}
 		String fileName = "";

+ 9 - 0
src/main/java/com/goafanti/order/bo/TOrderNewBo.java

@@ -21,6 +21,7 @@ public class TOrderNewBo extends TOrderNew{
 	private String initiateName;
 	private String reason;
 	private String backDate;
+	private String backId;
 	private String uid;
 	private String email;
 	
@@ -169,5 +170,13 @@ public class TOrderNewBo extends TOrderNew{
 	public void setConsultantName(String consultantName) {
 		this.consultantName = consultantName;
 	}
+
+	public String getBackId() {
+		return backId;
+	}
+
+	public void setBackId(String backId) {
+		this.backId = backId;
+	}
 	
 }

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

@@ -11,6 +11,7 @@ public class TOrderTaskListBo {
 	private Integer taskStatus;
 	private String taskDate;
 	private Integer commodityQuantity;
+	private String hours;
 	public String getId() {
 		return id;
 	}
@@ -71,5 +72,11 @@ public class TOrderTaskListBo {
 	public void setUserName(String userName) {
 		this.userName = userName;
 	}
+	public String getHours() {
+		return hours;
+	}
+	public void setHours(String hours) {
+		this.hours = hours;
+	}
 	
 }

+ 39 - 1
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -2,12 +2,17 @@ package com.goafanti.order.controller;
 
 
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Date;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -23,7 +28,7 @@ import com.goafanti.order.enums.OrderNewState;
 import com.goafanti.order.service.OrderNewService;
 
 @RestController
-@RequestMapping(value = "/open/api/admin/newOrder")
+@RequestMapping(value = "/api/admin/newOrder")
 public class AdminNewOrderApiController extends CertifyApiController {
 	
 	@Autowired
@@ -154,6 +159,10 @@ public class AdminNewOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "合同图片"));
 			return res;
 		}
+		if(null==isSubmit){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "提条状态"));
+			return res;
+		}
 		if (isSubmit==1&&orderNewService.checkORderTask(t.getOrderNo())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "主项目"));
 			return res;
@@ -346,4 +355,33 @@ public class AdminNewOrderApiController extends CertifyApiController {
 		res.setData(handleFile(res, "/order_refund_file/", false, req, sign));
 		return res;
 	}
+	/**
+	 * 催款列表下载
+	 * @throws IOException 
+	 */
+	@RequestMapping(value = "/exportOrderDunData", method = RequestMethod.POST)
+	public Result exportOrderDunData(String name,String orderNo,String starTime,String endTime,HttpServletResponse response) throws IOException{
+		 Result res = new Result();
+		 HSSFWorkbook wb = orderNewService.exportOrderDunData( name, orderNo, 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();
+		}
+		
+		return res;
+	}
+	
 }

+ 41 - 3
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -1,6 +1,11 @@
 package com.goafanti.order.controller;
 
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -66,15 +71,48 @@ public class OrderProjectApiController extends CertifyApiController {
 	/**
 	 * 添加工时
 	 */
-	@RequestMapping(value="/updateOrderTask" ,method = RequestMethod.POST)
-	public Result addTaskHours(TTaskHours t){
+	@RequestMapping(value="/addTaskHours" ,method = RequestMethod.POST)
+	public Result addTaskHours(TTaskHours t,String taskDate){
 		Result res=new Result();
 		if (t.getHours()==null) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "任务时间"));
 			return res;
 		}
-		
+		if (StringUtils.isBlank(taskDate)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "工作日期"));
+			return res;
+		}
+		if (StringUtils.isBlank(t.getRemarks())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "工作内容"));
+			return res;
+		}
+		if (StringUtils.isNotBlank(taskDate)) {
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			try {
+				t.setTaskDay(sdf.parse(taskDate));
+			} catch (ParseException e) {
+				e.printStackTrace();
+			}
+		}
 		res.setData(orderProjectService.addTaskHours(t));
 		return res;
 	}
+	/**
+	 * 任务工时列表
+	 */
+	@RequestMapping(value="/taskHoursList" ,method = RequestMethod.GET)
+	public Result taskHoursList(String name, String taskId ,String starTime,String endTime ,
+			Integer pageNo, Integer pageSize){
+		Result res=new Result();
+		res.setData(orderProjectService.taskHoursList(name,taskId,  starTime, endTime ,pageNo, pageSize));
+		return res;
+	}
+	/** 任务文件上传 **/
+	@RequestMapping(value = "/uploadOrderTaskFile", method = RequestMethod.POST)
+	public Result uploadOrderTaskFile(HttpServletRequest req,String sign){
+		Result res = new Result();
+		//order_refund_file
+		res.setData(handleFile(res, "/order_task_file/", false, req, sign));
+		return res;
+	}
 }

+ 8 - 0
src/main/java/com/goafanti/order/enums/LiquidationNewState.java

@@ -34,6 +34,14 @@ public enum LiquidationNewState {
 		}
 		return INVALID;
 	}
+	public static String getValueByCode(Integer code){
+        for(LiquidationNewState liquidationNewState:LiquidationNewState.values()){
+            if(code.equals(liquidationNewState.getCode())){
+                return liquidationNewState.getDesc();
+            }
+        }
+        return  null;
+    }
 	public static boolean containsType(Integer code) {
 		return status.containsKey(code);
 	}

+ 19 - 0
src/main/java/com/goafanti/order/enums/ProjectNewStage.java

@@ -9,15 +9,25 @@ import java.util.Map;
  *
  */
 public enum ProjectNewStage {
+	/** 项目待提交 **/
 	DTJ(0,"项目待提交"),
+	/** 项目已提交 **/
 	YTJ(1,"项目已提交"),
+	/** 项目评审 **/
 	PS(2,"项目评审"),
+	/** 项目待公示 **/
 	DGS(3,"项目待公示"),
+	/** 项目公示 **/
 	GS(4,"项目公示"),
+	/** 项目抽查 **/
 	CC(5,"项目抽查"),
+	/** 项目备案 **/
 	BA(6,"项目备案"),
+	/** 项目下证 **/
 	XZ(7,"项目下证"),
+	/** 项目验收 **/
 	YS(8,"项目验收"),
+	/** 项目拨款 **/
 	BK(9,"项目拨款"),
 	/** 无效 **/
 	INVALID(10, "INVALID");
@@ -40,6 +50,15 @@ public enum ProjectNewStage {
 		}
 		return INVALID;
 	}
+	
+	public static String getValueByCode(Integer code){
+        for(ProjectNewStage projectNewStage:ProjectNewStage.values()){
+            if(code.equals(projectNewStage.getCode())){
+                return projectNewStage.getDesc();
+            }
+        }
+        return  null;
+    }
 	public static boolean containsType(Integer code) {
 		return status.containsKey(code);
 	}

+ 3 - 0
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -2,6 +2,8 @@ package com.goafanti.order.service;
 
 import java.util.List;
 
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+
 import com.goafanti.common.model.TDunLog;
 import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
@@ -149,6 +151,7 @@ public interface OrderNewService {
 	int deleteOrderNew(String orderNo);
 	boolean checkOderSettlementAmount(String orderNo);
 	boolean checkORderTask(String orderNo);
+	HSSFWorkbook exportOrderDunData(String name, String orderNo, String starTime, String endTime);
 	
 
 	

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

@@ -19,4 +19,7 @@ public interface OrderProjectService {
 
 	int addTaskHours(TTaskHours t);
 	
+	Pagination<TOrderTaskListBo> taskHoursList(String name, String taskId,String starTime,String endTime ,
+			Integer pageNo, Integer pageSize);
+	
 }

+ 21 - 0
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -11,6 +11,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -34,6 +35,7 @@ import com.goafanti.common.model.TOrderDun;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.TOrderRefundWithBLOBs;
 import com.goafanti.common.model.TOrderTask;
+import com.goafanti.common.utils.ExportExcelUtil;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -75,6 +77,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	private UserLockReleaseMapper	userLockReleaseMapper;
 	@Value(value = "${mobileRemindCodeTemplate}")
 	private String					mobileRemindCodeTemplate	= null;
+	@Value(value = "${uploadPath}")
+	private String 					uploadPath 			= null;
 	
 	@Value(value = "${accessKey}")
 	private String					accessKey			= null;
@@ -460,6 +464,23 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		}
 		return true;
 	}
+
+
+	/**
+	 * 获取催款数据
+	 */
+	@Override
+	public HSSFWorkbook exportOrderDunData(String name, String orderNo, String starTime, String endTime) {
+		if(endTime!=null) endTime=endTime+" 23:59:59";
+		List<TOrderNewBo> list=tOrderDunMapper.getOrderDunData( name,  orderNo,  starTime,  endTime);
+		if (list==null && list.size()==0) {
+			return null;
+		}
+		String[] comment = {"订单编号","签单时间","客户名称","订单状态","签单金额","项目状态","结算状态","已收款","订单负责人","催收科目","催款启动日期"};
+		String filePath = uploadPath + "/OrderDun";
+		HSSFWorkbook wb = ExportExcelUtil.exportOrderDunData(list, comment, filePath);
+		return wb;
+	}
 	
 	
 	

+ 35 - 2
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -7,6 +7,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.beanutils.ConvertUtils;
@@ -14,9 +15,11 @@ import org.apache.commons.beanutils.converters.DateConverter;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.goafanti.common.dao.TOrderNewMapper;
 import com.goafanti.common.dao.TOrderTaskMapper;
+import com.goafanti.common.dao.TTaskHoursMapper;
 import com.goafanti.common.model.TOrderNew;
 import com.goafanti.common.model.TOrderTask;
 import com.goafanti.common.model.TTaskHours;
@@ -29,6 +32,7 @@ import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.order.bo.TOrderTaskDetailBo;
 import com.goafanti.order.bo.TOrderTaskListBo;
 import com.goafanti.order.enums.ProcessStatus;
+import com.goafanti.order.enums.ProjectNewStage;
 import com.goafanti.order.service.OrderProjectService;
 import com.goafanti.techproject.enums.TaskState;
 @Service
@@ -37,6 +41,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	private TOrderTaskMapper tOrderTaskMapper;
 	@Autowired
 	private TOrderNewMapper	tOrderNewMapper;
+	@Autowired
+	private TTaskHoursMapper	tTaskHoursMapper;
 	
 	@Override
 	public int updateProjectDistribution(Integer taskId, String taskReceiverId,Integer specially) {
@@ -105,6 +111,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	}
 
 	@Override
+	@Transactional
 	public int updateOrderTask(TOrderTaskDetailBo t) {
 		TOrderTask task=new TOrderTask();
 		task.setAttachmentUrl(t.getAttachmentUrl());
@@ -123,6 +130,9 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		} catch (ParseException e) {
 			e.printStackTrace();
 		}
+		if (true) {
+		//处理奖金	
+		}
 		tOrderTaskMapper.updateByPrimaryKeySelective(task);
 		TOrderTask task2=tOrderTaskMapper.selectByPrimaryKey(task.getId());//查询出项目信息
 		if (task2.getSuperId()!=null) {//是否有父项目
@@ -147,8 +157,31 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 
 	@Override
 	public int addTaskHours(TTaskHours t) {
-		
-		return 0;
+		t.setAid(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
+		t.setId(UUID.randomUUID().toString());
+		t.setCreateTime(new Date());
+		return tTaskHoursMapper.insertSelective(t);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<TOrderTaskListBo> taskHoursList(String name, String taskId, String starTime,String endTime , 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(taskId)) params.put("taskId", taskId);
+		if (StringUtils.isNotBlank(starTime)) params.put("starTime", starTime);
+		if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
+		Pagination<TOrderTaskListBo> p = (Pagination<TOrderTaskListBo>)findPage("selectTaskHoursListByPage", "selectTaskHoursListCount", params, pageNo, pageSize);
+		List<TOrderTaskListBo> list=(List<TOrderTaskListBo>) p.getList();
+		for (TOrderTaskListBo t : list) {
+			if (t.getCommodityQuantity()!=null&&t.getCommodityQuantity()>1) {
+				t.setHours(tTaskHoursMapper.getTaskSuperHours(t.getId()));
+			}
+		}
+		return p;
 	}