Просмотр исходного кода

新增项目任务日志表,制定项目任务日志触发规则

anderx лет назад: 7
Родитель
Сommit
cf334b533a

+ 3 - 3
GeneratorConfig.xml

@@ -2,14 +2,14 @@
 <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 <generatorConfiguration>
 
-  <!-- <classPathEntry location="C:/Users/Administrator/.dbeaver-drivers/maven/maven-central/mysql/mysql-connector-java-5.1.44.jar" /> -->
-   <classPathEntry location="E:/mysql-connector-java-5.1.40.jar" />
+  <classPathEntry location="C:/Users/Administrator/.dbeaver-drivers/maven/maven-central/mysql/mysql-connector-java-5.1.44.jar" />
+   <!-- <classPathEntry location="E:/mysql-connector-java-5.1.40.jar" /> -->
   <context id="context1">	
     <jdbcConnection connectionURL="jdbc:mysql://192.168.1.213:3306/aft" 
     	driverClass="com.mysql.jdbc.Driver" password="123456" userId="dev" />
     <javaModelGenerator targetPackage="com.goafanti.common.model" targetProject="AFT" />
     <sqlMapGenerator targetPackage="com.goafanti.common.mapper" targetProject="AFT" />
     <javaClientGenerator targetPackage="com.goafanti.common.dao" targetProject="AFT" type="XMLMAPPER" />
-    <table schema="aft" tableName="user_lock_release"/> 
+    <table schema="aft" tableName="contract_task_log"/> 
   </context>
 </generatorConfiguration>

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

@@ -113,5 +113,7 @@ public interface AdminMapper {
 	 * @return
 	 */
 	List<AdminListBo> selectDepartmentStaff(String departmentId, String name);
+	
+	Admin selectAdminName(@Param("name")String name);
 
 }

+ 76 - 0
src/main/java/com/goafanti/common/dao/ContractTaskLogMapper.java

@@ -0,0 +1,76 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.ContractTaskLog;
+import com.goafanti.common.model.ContractTaskLogExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface ContractTaskLogMapper {
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	long countByExample(ContractTaskLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int deleteByExample(ContractTaskLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int deleteByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int insert(ContractTaskLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int insertSelective(ContractTaskLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	List<ContractTaskLog> selectByExample(ContractTaskLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	ContractTaskLog selectByPrimaryKey(String id);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int updateByExampleSelective(@Param("record") ContractTaskLog record,
+			@Param("example") ContractTaskLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int updateByExample(@Param("record") ContractTaskLog record, @Param("example") ContractTaskLogExample example);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int updateByPrimaryKeySelective(ContractTaskLog record);
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	int updateByPrimaryKey(ContractTaskLog record);
+}

+ 3 - 0
src/main/java/com/goafanti/common/dao/ContractTaskMapper.java

@@ -94,4 +94,7 @@ public interface ContractTaskMapper {
 	int updateByPrimaryKey(ContractTask record);
 
 	TaskDetailBo selectProjectTaskDetail(String taskId);
+	
+	
+	List<ContractTask> selectlistContractTask();
 }

+ 6 - 1
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -616,5 +616,10 @@
    		and a.name like  concat('%',#{name,jdbcType=VARCHAR},'%')
     </if>
 		
-  </select>
+  </select>
+  <select id="selectAdminName" parameterType="java.lang.String" resultMap="BaseResultMap">
+		select id, name from admin where name = #{name,jdbcType=VARCHAR}
+  </select>
+  
+  
 </mapper>

+ 286 - 0
src/main/java/com/goafanti/common/mapper/ContractTaskLogMapper.xml

@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.goafanti.common.dao.ContractTaskLogMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.ContractTaskLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="contract_task_id" jdbcType="VARCHAR" property="contractTaskId" />
+    <result column="task_allocator" jdbcType="VARCHAR" property="taskAllocator" />
+    <result column="task_receiver" jdbcType="VARCHAR" property="taskReceiver" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+  </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 Tue May 29 18:21:25 CST 2018.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    id, contract_task_id, task_allocator, task_receiver, create_time
+  </sql>
+  <select id="selectByExample" parameterType="com.goafanti.common.model.ContractTaskLogExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from contract_task_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from contract_task_log
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    delete from contract_task_log
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.goafanti.common.model.ContractTaskLogExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    delete from contract_task_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.ContractTaskLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    insert into contract_task_log (id, contract_task_id, task_allocator, 
+      task_receiver, create_time)
+    values (#{id,jdbcType=VARCHAR}, #{contractTaskId,jdbcType=VARCHAR}, #{taskAllocator,jdbcType=VARCHAR}, 
+      #{taskReceiver,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.ContractTaskLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    insert into contract_task_log
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="contractTaskId != null">
+        contract_task_id,
+      </if>
+      <if test="taskAllocator != null">
+        task_allocator,
+      </if>
+      <if test="taskReceiver != null">
+        task_receiver,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="contractTaskId != null">
+        #{contractTaskId,jdbcType=VARCHAR},
+      </if>
+      <if test="taskAllocator != null">
+        #{taskAllocator,jdbcType=VARCHAR},
+      </if>
+      <if test="taskReceiver != null">
+        #{taskReceiver,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.goafanti.common.model.ContractTaskLogExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    select count(*) from contract_task_log
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    update contract_task_log
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.contractTaskId != null">
+        contract_task_id = #{record.contractTaskId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.taskAllocator != null">
+        task_allocator = #{record.taskAllocator,jdbcType=VARCHAR},
+      </if>
+      <if test="record.taskReceiver != null">
+        task_receiver = #{record.taskReceiver,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    update contract_task_log
+    set id = #{record.id,jdbcType=VARCHAR},
+      contract_task_id = #{record.contractTaskId,jdbcType=VARCHAR},
+      task_allocator = #{record.taskAllocator,jdbcType=VARCHAR},
+      task_receiver = #{record.taskReceiver,jdbcType=VARCHAR},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.ContractTaskLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    update contract_task_log
+    <set>
+      <if test="contractTaskId != null">
+        contract_task_id = #{contractTaskId,jdbcType=VARCHAR},
+      </if>
+      <if test="taskAllocator != null">
+        task_allocator = #{taskAllocator,jdbcType=VARCHAR},
+      </if>
+      <if test="taskReceiver != null">
+        task_receiver = #{taskReceiver,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.ContractTaskLog">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue May 29 18:21:25 CST 2018.
+    -->
+    update contract_task_log
+    set contract_task_id = #{contractTaskId,jdbcType=VARCHAR},
+      task_allocator = #{taskAllocator,jdbcType=VARCHAR},
+      task_receiver = #{taskReceiver,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 4 - 0
src/main/java/com/goafanti/common/mapper/ContractTaskMapper.xml

@@ -586,4 +586,8 @@
 			where 1=1
 			and a.id = #{taskId,jdbcType=VARCHAR}
   </select>
+  <select id="selectlistContractTask" resultType="com.goafanti.common.model.ContractTask">
+ 	select id,task_receiver as taskReceiver
+		from contract_task
+  </select>
 </mapper>

+ 122 - 0
src/main/java/com/goafanti/common/model/ContractTaskLog.java

@@ -0,0 +1,122 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+public class ContractTaskLog {
+
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column contract_task_log.id
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	private String id;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column contract_task_log.contract_task_id
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	private String contractTaskId;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column contract_task_log.task_allocator
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	private String taskAllocator;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column contract_task_log.task_receiver
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	private String taskReceiver;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database column contract_task_log.create_time
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	private Date createTime;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column contract_task_log.id
+	 * @return  the value of contract_task_log.id
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column contract_task_log.id
+	 * @param id  the value for contract_task_log.id
+	 * @mbg.generated  Tue May 29 18:21:25 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 contract_task_log.contract_task_id
+	 * @return  the value of contract_task_log.contract_task_id
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public String getContractTaskId() {
+		return contractTaskId;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column contract_task_log.contract_task_id
+	 * @param contractTaskId  the value for contract_task_log.contract_task_id
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setContractTaskId(String contractTaskId) {
+		this.contractTaskId = contractTaskId;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column contract_task_log.task_allocator
+	 * @return  the value of contract_task_log.task_allocator
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public String getTaskAllocator() {
+		return taskAllocator;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column contract_task_log.task_allocator
+	 * @param taskAllocator  the value for contract_task_log.task_allocator
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setTaskAllocator(String taskAllocator) {
+		this.taskAllocator = taskAllocator;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column contract_task_log.task_receiver
+	 * @return  the value of contract_task_log.task_receiver
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public String getTaskReceiver() {
+		return taskReceiver;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column contract_task_log.task_receiver
+	 * @param taskReceiver  the value for contract_task_log.task_receiver
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setTaskReceiver(String taskReceiver) {
+		this.taskReceiver = taskReceiver;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method returns the value of the database column contract_task_log.create_time
+	 * @return  the value of contract_task_log.create_time
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method sets the value of the database column contract_task_log.create_time
+	 * @param createTime  the value for contract_task_log.create_time
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+}

+ 602 - 0
src/main/java/com/goafanti/common/model/ContractTaskLogExample.java

@@ -0,0 +1,602 @@
+package com.goafanti.common.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ContractTaskLogExample {
+    /**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	protected String orderByClause;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	protected boolean distinct;
+	/**
+	 * This field was generated by MyBatis Generator. This field corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	protected List<Criteria> oredCriteria;
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public ContractTaskLogExample() {
+		oredCriteria = new ArrayList<Criteria>();
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setOrderByClause(String orderByClause) {
+		this.orderByClause = orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public String getOrderByClause() {
+		return orderByClause;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void setDistinct(boolean distinct) {
+		this.distinct = distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public boolean isDistinct() {
+		return distinct;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public List<Criteria> getOredCriteria() {
+		return oredCriteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void or(Criteria criteria) {
+		oredCriteria.add(criteria);
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public Criteria or() {
+		Criteria criteria = createCriteriaInternal();
+		oredCriteria.add(criteria);
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public Criteria createCriteria() {
+		Criteria criteria = createCriteriaInternal();
+		if (oredCriteria.size() == 0) {
+			oredCriteria.add(criteria);
+		}
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	protected Criteria createCriteriaInternal() {
+		Criteria criteria = new Criteria();
+		return criteria;
+	}
+
+	/**
+	 * This method was generated by MyBatis Generator. This method corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public void clear() {
+		oredCriteria.clear();
+		orderByClause = null;
+		distinct = false;
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	protected abstract static class GeneratedCriteria {
+		protected List<Criterion> criteria;
+
+		protected GeneratedCriteria() {
+			super();
+			criteria = new ArrayList<Criterion>();
+		}
+
+		public boolean isValid() {
+			return criteria.size() > 0;
+		}
+
+		public List<Criterion> getAllCriteria() {
+			return criteria;
+		}
+
+		public List<Criterion> getCriteria() {
+			return criteria;
+		}
+
+		protected void addCriterion(String condition) {
+			if (condition == null) {
+				throw new RuntimeException("Value for condition cannot be null");
+			}
+			criteria.add(new Criterion(condition));
+		}
+
+		protected void addCriterion(String condition, Object value, String property) {
+			if (value == null) {
+				throw new RuntimeException("Value for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value));
+		}
+
+		protected void addCriterion(String condition, Object value1, Object value2, String property) {
+			if (value1 == null || value2 == null) {
+				throw new RuntimeException("Between values for " + property + " cannot be null");
+			}
+			criteria.add(new Criterion(condition, value1, value2));
+		}
+
+		public Criteria andIdIsNull() {
+			addCriterion("id is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIsNotNull() {
+			addCriterion("id is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdEqualTo(String value) {
+			addCriterion("id =", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotEqualTo(String value) {
+			addCriterion("id <>", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThan(String value) {
+			addCriterion("id >", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdGreaterThanOrEqualTo(String value) {
+			addCriterion("id >=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThan(String value) {
+			addCriterion("id <", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLessThanOrEqualTo(String value) {
+			addCriterion("id <=", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdLike(String value) {
+			addCriterion("id like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotLike(String value) {
+			addCriterion("id not like", value, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdIn(List<String> values) {
+			addCriterion("id in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotIn(List<String> values) {
+			addCriterion("id not in", values, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdBetween(String value1, String value2) {
+			addCriterion("id between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andIdNotBetween(String value1, String value2) {
+			addCriterion("id not between", value1, value2, "id");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdIsNull() {
+			addCriterion("contract_task_id is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdIsNotNull() {
+			addCriterion("contract_task_id is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdEqualTo(String value) {
+			addCriterion("contract_task_id =", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdNotEqualTo(String value) {
+			addCriterion("contract_task_id <>", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdGreaterThan(String value) {
+			addCriterion("contract_task_id >", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdGreaterThanOrEqualTo(String value) {
+			addCriterion("contract_task_id >=", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdLessThan(String value) {
+			addCriterion("contract_task_id <", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdLessThanOrEqualTo(String value) {
+			addCriterion("contract_task_id <=", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdLike(String value) {
+			addCriterion("contract_task_id like", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdNotLike(String value) {
+			addCriterion("contract_task_id not like", value, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdIn(List<String> values) {
+			addCriterion("contract_task_id in", values, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdNotIn(List<String> values) {
+			addCriterion("contract_task_id not in", values, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdBetween(String value1, String value2) {
+			addCriterion("contract_task_id between", value1, value2, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andContractTaskIdNotBetween(String value1, String value2) {
+			addCriterion("contract_task_id not between", value1, value2, "contractTaskId");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorIsNull() {
+			addCriterion("task_allocator is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorIsNotNull() {
+			addCriterion("task_allocator is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorEqualTo(String value) {
+			addCriterion("task_allocator =", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorNotEqualTo(String value) {
+			addCriterion("task_allocator <>", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorGreaterThan(String value) {
+			addCriterion("task_allocator >", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorGreaterThanOrEqualTo(String value) {
+			addCriterion("task_allocator >=", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorLessThan(String value) {
+			addCriterion("task_allocator <", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorLessThanOrEqualTo(String value) {
+			addCriterion("task_allocator <=", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorLike(String value) {
+			addCriterion("task_allocator like", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorNotLike(String value) {
+			addCriterion("task_allocator not like", value, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorIn(List<String> values) {
+			addCriterion("task_allocator in", values, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorNotIn(List<String> values) {
+			addCriterion("task_allocator not in", values, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorBetween(String value1, String value2) {
+			addCriterion("task_allocator between", value1, value2, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskAllocatorNotBetween(String value1, String value2) {
+			addCriterion("task_allocator not between", value1, value2, "taskAllocator");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverIsNull() {
+			addCriterion("task_receiver is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverIsNotNull() {
+			addCriterion("task_receiver is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverEqualTo(String value) {
+			addCriterion("task_receiver =", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverNotEqualTo(String value) {
+			addCriterion("task_receiver <>", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverGreaterThan(String value) {
+			addCriterion("task_receiver >", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverGreaterThanOrEqualTo(String value) {
+			addCriterion("task_receiver >=", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverLessThan(String value) {
+			addCriterion("task_receiver <", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverLessThanOrEqualTo(String value) {
+			addCriterion("task_receiver <=", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverLike(String value) {
+			addCriterion("task_receiver like", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverNotLike(String value) {
+			addCriterion("task_receiver not like", value, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverIn(List<String> values) {
+			addCriterion("task_receiver in", values, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverNotIn(List<String> values) {
+			addCriterion("task_receiver not in", values, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverBetween(String value1, String value2) {
+			addCriterion("task_receiver between", value1, value2, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andTaskReceiverNotBetween(String value1, String value2) {
+			addCriterion("task_receiver not between", value1, value2, "taskReceiver");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeIsNull() {
+			addCriterion("create_time is null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeIsNotNull() {
+			addCriterion("create_time is not null");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeEqualTo(Date value) {
+			addCriterion("create_time =", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeNotEqualTo(Date value) {
+			addCriterion("create_time <>", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeGreaterThan(Date value) {
+			addCriterion("create_time >", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+			addCriterion("create_time >=", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeLessThan(Date value) {
+			addCriterion("create_time <", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+			addCriterion("create_time <=", value, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeIn(List<Date> values) {
+			addCriterion("create_time in", values, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeNotIn(List<Date> values) {
+			addCriterion("create_time not in", values, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeBetween(Date value1, Date value2) {
+			addCriterion("create_time between", value1, value2, "createTime");
+			return (Criteria) this;
+		}
+
+		public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+			addCriterion("create_time not between", value1, value2, "createTime");
+			return (Criteria) this;
+		}
+	}
+
+	/**
+	 * This class was generated by MyBatis Generator. This class corresponds to the database table contract_task_log
+	 * @mbg.generated  Tue May 29 18:21:25 CST 2018
+	 */
+	public static class Criterion {
+		private String condition;
+		private Object value;
+		private Object secondValue;
+		private boolean noValue;
+		private boolean singleValue;
+		private boolean betweenValue;
+		private boolean listValue;
+		private String typeHandler;
+
+		public String getCondition() {
+			return condition;
+		}
+
+		public Object getValue() {
+			return value;
+		}
+
+		public Object getSecondValue() {
+			return secondValue;
+		}
+
+		public boolean isNoValue() {
+			return noValue;
+		}
+
+		public boolean isSingleValue() {
+			return singleValue;
+		}
+
+		public boolean isBetweenValue() {
+			return betweenValue;
+		}
+
+		public boolean isListValue() {
+			return listValue;
+		}
+
+		public String getTypeHandler() {
+			return typeHandler;
+		}
+
+		protected Criterion(String condition) {
+			super();
+			this.condition = condition;
+			this.typeHandler = null;
+			this.noValue = true;
+		}
+
+		protected Criterion(String condition, Object value, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.typeHandler = typeHandler;
+			if (value instanceof List<?>) {
+				this.listValue = true;
+			} else {
+				this.singleValue = true;
+			}
+		}
+
+		protected Criterion(String condition, Object value) {
+			this(condition, value, null);
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+			super();
+			this.condition = condition;
+			this.value = value;
+			this.secondValue = secondValue;
+			this.typeHandler = typeHandler;
+			this.betweenValue = true;
+		}
+
+		protected Criterion(String condition, Object value, Object secondValue) {
+			this(condition, value, secondValue, null);
+		}
+	}
+
+	/**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table contract_task_log
+     *
+     * @mbg.generated do_not_delete_during_merge Tue May 29 17:10:49 CST 2018
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+}

+ 9 - 0
src/main/java/com/goafanti/order/controller/AdminOrderApiController.java

@@ -713,4 +713,13 @@ public class AdminOrderApiController extends CertifyApiController {
 		orderServiceImpl.updateRepairData();
 		return res;
 	}
+	/**
+	 * 处理旧项目任务
+	 */
+	@RequestMapping(value="/addContractTaskLog",method = RequestMethod.GET)
+	public Result addContractTaskLog(){
+		Result res = new Result();
+		orderServiceImpl.addContractTaskLog();
+		return res;
+	}
 }

+ 2 - 0
src/main/java/com/goafanti/order/service/OrderService.java

@@ -484,5 +484,7 @@ public interface OrderService {
 	 */
 	int updateRepairData();
 
+	void addContractTaskLog();
+
 	
 }

+ 44 - 0
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -25,6 +25,7 @@ import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.BusinessProjectMapper;
 import com.goafanti.common.dao.ContractMapper;
+import com.goafanti.common.dao.ContractTaskLogMapper;
 import com.goafanti.common.dao.ContractTaskMapper;
 import com.goafanti.common.dao.NoticeMapper;
 import com.goafanti.common.dao.OrganizationManagementMapper;
@@ -43,6 +44,7 @@ import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Contract;
 import com.goafanti.common.model.ContractTask;
+import com.goafanti.common.model.ContractTaskLog;
 import com.goafanti.common.model.Notice;
 import com.goafanti.common.model.OrganizationManagement;
 import com.goafanti.common.model.TOrder;
@@ -113,6 +115,8 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 	private AdminMapper adminMapper;
 	@Autowired
 	private NoticeMapper noticeMapper;
+	@Autowired
+	private ContractTaskLogMapper contractTaskLogMapper;
 	@Resource
 	private BusinessProjectMapper businessProjectMapper;
 	@Resource
@@ -1578,6 +1582,10 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		contract.setTaskDistribution(TaskDistributionState.NOT_DISTRIBUTION.getCode());
 		contractMapper.insert(contract);
 		for(TOrderDetail orderDetail: detailList){
+			
+			Admin aa=adminMapper.selectAdminName("管理员");
+			Admin ab=adminMapper.selectAdminName("刘扶桑");
+			
 			for(int i=0; i<orderDetail.getCommodityQuantity();i++){
 				task = new ContractTask();
 				task.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -1592,6 +1600,14 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				task.setPublishStatus(PublicStatus.WGS.getCode());
 				task.setTaskStatus(TaskState.UN_DISTRIBUTION.getCode());
 				task.setDeletedSign(DeleteStatus.UNDELETE.getCode());
+				//将项目任务日志分配给管理员
+				ContractTaskLog c=new ContractTaskLog();
+				c.setId(UUID.randomUUID().toString());
+				c.setTaskAllocator(aa.getId());
+				c.setTaskReceiver(ab.getId());
+				c.setContractTaskId(task.getId());
+				c.setCreateTime(new Date());
+				contractTaskLogMapper.insert(c);
 				taskList.add(task);
 			}
 		}
@@ -1907,4 +1923,32 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		}
 	
 	}
+
+	@Override
+	public void addContractTaskLog() {
+		List<ContractTask> list=contractTaskMapper.selectlistContractTask();
+		Admin aa=adminMapper.selectAdminName("管理员");
+		Admin ab=adminMapper.selectAdminName("刘扶桑");
+		for (ContractTask ct : list) {
+			ContractTaskLog c=new ContractTaskLog();
+			c.setId(UUID.randomUUID().toString());
+			c.setContractTaskId(ct.getId());
+			c.setTaskReceiver(ab.getId());
+			c.setTaskAllocator(aa.getId());
+			c.setCreateTime(new Date());
+			contractTaskLogMapper.insert(c);
+			if (StringUtils.isNotBlank(ct.getTaskReceiver())&&!ct.getTaskReceiver().equals(ab.getId())) {
+				 c=new ContractTaskLog();
+				c.setId(UUID.randomUUID().toString());
+				c.setContractTaskId(ct.getId());
+				c.setTaskReceiver(ct.getTaskReceiver());
+				c.setTaskAllocator(ab.getId());
+				c.setCreateTime(new Date());
+				contractTaskLogMapper.insert(c);
+			}
+				
+		}
+		
+		
+	}
 }

+ 22 - 0
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -15,7 +15,9 @@ import org.springframework.stereotype.Service;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
+import com.goafanti.common.dao.ContractLogMapper;
 import com.goafanti.common.dao.ContractMapper;
+import com.goafanti.common.dao.ContractTaskLogMapper;
 import com.goafanti.common.dao.ContractTaskMapper;
 import com.goafanti.common.dao.NoticeMapper;
 import com.goafanti.common.dao.TechProjectLogMapper;
@@ -29,6 +31,7 @@ import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Contract;
 import com.goafanti.common.model.ContractTask;
+import com.goafanti.common.model.ContractTaskLog;
 import com.goafanti.common.model.Notice;
 import com.goafanti.common.model.TechProject;
 import com.goafanti.common.model.TechProjectLog;
@@ -54,6 +57,8 @@ import com.goafanti.techproject.enums.TaskState;
 import com.goafanti.techproject.service.TechProjectService;
 import com.goafanti.user.bo.OrgUnitNames;
 
+import jdk.nashorn.internal.parser.TokenKind;
+
 @Service
 public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> implements TechProjectService {
 	@Autowired
@@ -68,6 +73,8 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 	private ContractMapper 			contractMapper;
 	@Autowired
 	private ContractTaskMapper 		contractTaskMapper;
+	@Autowired
+	private ContractTaskLogMapper	contractTaskLogMapper;
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<TechProjectClientListBo> listClientTechProject(String uid, Integer pageNo, Integer pageSize) {
@@ -392,6 +399,14 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 
 	@Override
 	public int updateProjectTask(ContractTask task) {
+		ContractTaskLog c=new ContractTaskLog();
+		c.setId(UUID.randomUUID().toString());
+		c.setContractTaskId(task.getId());
+		c.setTaskReceiver(task.getTaskReceiver());
+		c.setTaskAllocator(TokenManager.getAdminId());
+		c.setCreateTime(new Date());
+		contractTaskLogMapper.insert(c);
+		contractTaskMapper.updateByPrimaryKeySelective(task);
 		return contractTaskMapper.updateByPrimaryKeySelective(task);
 	}
 
@@ -508,6 +523,13 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 			task.setTaskAllocator(TokenManager.getAdminId());
 			task.setTaskDistributionTime(new Date());
 			task.setTaskStatus(TaskState.DISTRIBUTION.getCode());
+			ContractTaskLog c=new ContractTaskLog();
+			c.setId(UUID.randomUUID().toString());
+			c.setContractTaskId(taskId);
+			c.setTaskReceiver(taskReceiverId);
+			c.setTaskAllocator(TokenManager.getAdminId());
+			c.setCreateTime(new Date());
+			contractTaskLogMapper.insert(c);
 			contractTaskMapper.updateByPrimaryKeySelective(task);
 			return setTaskDistribution(task.getContractId());
 		}