diff --git a/hai-service/src/main/java/com/hai/dao/HighApproveMapper.java b/hai-service/src/main/java/com/hai/dao/HighApproveMapper.java
index 1af2b2d2..660382e9 100644
--- a/hai-service/src/main/java/com/hai/dao/HighApproveMapper.java
+++ b/hai-service/src/main/java/com/hai/dao/HighApproveMapper.java
@@ -45,14 +45,16 @@ public interface HighApproveMapper extends HighApproveMapperExt {
         "create_time, update_time, ",
         "submit_operator_id, submit_operator_name, ",
         "approve_operator_id, approve_operator_name, ",
-        "ext_1, ext_2, ext_3)",
+        "ext_1, ext_2, ext_3, ",
+        "approve_object)",
         "values (#{objectType,jdbcType=INTEGER}, #{objectId,jdbcType=BIGINT}, ",
         "#{objectName,jdbcType=VARCHAR}, #{approveSerialNo,jdbcType=VARCHAR}, ",
         "#{remarks,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ",
-        "#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
+        "#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=DATE}, ",
         "#{submitOperatorId,jdbcType=BIGINT}, #{submitOperatorName,jdbcType=VARCHAR}, ",
         "#{approveOperatorId,jdbcType=BIGINT}, #{approveOperatorName,jdbcType=VARCHAR}, ",
-        "#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
+        "#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR}, ",
+        "#{approveObject,jdbcType=LONGVARCHAR})"
     })
     @Options(useGeneratedKeys=true,keyProperty="id")
     int insert(HighApprove record);
@@ -61,6 +63,28 @@ public interface HighApproveMapper extends HighApproveMapperExt {
     @Options(useGeneratedKeys=true,keyProperty="id")
     int insertSelective(HighApprove record);
 
+    @SelectProvider(type=HighApproveSqlProvider.class, method="selectByExampleWithBLOBs")
+    @Results({
+        @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
+        @Result(column="object_type", property="objectType", jdbcType=JdbcType.INTEGER),
+        @Result(column="object_id", property="objectId", jdbcType=JdbcType.BIGINT),
+        @Result(column="object_name", property="objectName", jdbcType=JdbcType.VARCHAR),
+        @Result(column="approve_serial_no", property="approveSerialNo", jdbcType=JdbcType.VARCHAR),
+        @Result(column="remarks", property="remarks", jdbcType=JdbcType.VARCHAR),
+        @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
+        @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.DATE),
+        @Result(column="submit_operator_id", property="submitOperatorId", jdbcType=JdbcType.BIGINT),
+        @Result(column="submit_operator_name", property="submitOperatorName", jdbcType=JdbcType.VARCHAR),
+        @Result(column="approve_operator_id", property="approveOperatorId", jdbcType=JdbcType.BIGINT),
+        @Result(column="approve_operator_name", property="approveOperatorName", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR),
+        @Result(column="approve_object", property="approveObject", jdbcType=JdbcType.LONGVARCHAR)
+    })
+    List<HighApprove> selectByExampleWithBLOBs(HighApproveExample example);
+
     @SelectProvider(type=HighApproveSqlProvider.class, method="selectByExample")
     @Results({
         @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@@ -71,7 +95,7 @@ public interface HighApproveMapper extends HighApproveMapperExt {
         @Result(column="remarks", property="remarks", jdbcType=JdbcType.VARCHAR),
         @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
         @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
-        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.DATE),
         @Result(column="submit_operator_id", property="submitOperatorId", jdbcType=JdbcType.BIGINT),
         @Result(column="submit_operator_name", property="submitOperatorName", jdbcType=JdbcType.VARCHAR),
         @Result(column="approve_operator_id", property="approveOperatorId", jdbcType=JdbcType.BIGINT),
@@ -86,7 +110,7 @@ public interface HighApproveMapper extends HighApproveMapperExt {
         "select",
         "id, object_type, object_id, object_name, approve_serial_no, remarks, `status`, ",
         "create_time, update_time, submit_operator_id, submit_operator_name, approve_operator_id, ",
-        "approve_operator_name, ext_1, ext_2, ext_3",
+        "approve_operator_name, ext_1, ext_2, ext_3, approve_object",
         "from high_approve",
         "where id = #{id,jdbcType=BIGINT}"
     })
@@ -99,20 +123,24 @@ public interface HighApproveMapper extends HighApproveMapperExt {
         @Result(column="remarks", property="remarks", jdbcType=JdbcType.VARCHAR),
         @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
         @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
-        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
+        @Result(column="update_time", property="updateTime", jdbcType=JdbcType.DATE),
         @Result(column="submit_operator_id", property="submitOperatorId", jdbcType=JdbcType.BIGINT),
         @Result(column="submit_operator_name", property="submitOperatorName", jdbcType=JdbcType.VARCHAR),
         @Result(column="approve_operator_id", property="approveOperatorId", jdbcType=JdbcType.BIGINT),
         @Result(column="approve_operator_name", property="approveOperatorName", jdbcType=JdbcType.VARCHAR),
         @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
         @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
-        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
+        @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR),
+        @Result(column="approve_object", property="approveObject", jdbcType=JdbcType.LONGVARCHAR)
     })
     HighApprove selectByPrimaryKey(Long id);
 
     @UpdateProvider(type=HighApproveSqlProvider.class, method="updateByExampleSelective")
     int updateByExampleSelective(@Param("record") HighApprove record, @Param("example") HighApproveExample example);
 
+    @UpdateProvider(type=HighApproveSqlProvider.class, method="updateByExampleWithBLOBs")
+    int updateByExampleWithBLOBs(@Param("record") HighApprove record, @Param("example") HighApproveExample example);
+
     @UpdateProvider(type=HighApproveSqlProvider.class, method="updateByExample")
     int updateByExample(@Param("record") HighApprove record, @Param("example") HighApproveExample example);
 
@@ -128,7 +156,29 @@ public interface HighApproveMapper extends HighApproveMapperExt {
           "remarks = #{remarks,jdbcType=VARCHAR},",
           "`status` = #{status,jdbcType=INTEGER},",
           "create_time = #{createTime,jdbcType=TIMESTAMP},",
-          "update_time = #{updateTime,jdbcType=TIMESTAMP},",
+          "update_time = #{updateTime,jdbcType=DATE},",
+          "submit_operator_id = #{submitOperatorId,jdbcType=BIGINT},",
+          "submit_operator_name = #{submitOperatorName,jdbcType=VARCHAR},",
+          "approve_operator_id = #{approveOperatorId,jdbcType=BIGINT},",
+          "approve_operator_name = #{approveOperatorName,jdbcType=VARCHAR},",
+          "ext_1 = #{ext1,jdbcType=VARCHAR},",
+          "ext_2 = #{ext2,jdbcType=VARCHAR},",
+          "ext_3 = #{ext3,jdbcType=VARCHAR},",
+          "approve_object = #{approveObject,jdbcType=LONGVARCHAR}",
+        "where id = #{id,jdbcType=BIGINT}"
+    })
+    int updateByPrimaryKeyWithBLOBs(HighApprove record);
+
+    @Update({
+        "update high_approve",
+        "set object_type = #{objectType,jdbcType=INTEGER},",
+          "object_id = #{objectId,jdbcType=BIGINT},",
+          "object_name = #{objectName,jdbcType=VARCHAR},",
+          "approve_serial_no = #{approveSerialNo,jdbcType=VARCHAR},",
+          "remarks = #{remarks,jdbcType=VARCHAR},",
+          "`status` = #{status,jdbcType=INTEGER},",
+          "create_time = #{createTime,jdbcType=TIMESTAMP},",
+          "update_time = #{updateTime,jdbcType=DATE},",
           "submit_operator_id = #{submitOperatorId,jdbcType=BIGINT},",
           "submit_operator_name = #{submitOperatorName,jdbcType=VARCHAR},",
           "approve_operator_id = #{approveOperatorId,jdbcType=BIGINT},",
diff --git a/hai-service/src/main/java/com/hai/dao/HighApproveSqlProvider.java b/hai-service/src/main/java/com/hai/dao/HighApproveSqlProvider.java
index 1ad8c3ea..9ff5161d 100644
--- a/hai-service/src/main/java/com/hai/dao/HighApproveSqlProvider.java
+++ b/hai-service/src/main/java/com/hai/dao/HighApproveSqlProvider.java
@@ -57,7 +57,7 @@ public class HighApproveSqlProvider {
         }
         
         if (record.getUpdateTime() != null) {
-            sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
+            sql.VALUES("update_time", "#{updateTime,jdbcType=DATE}");
         }
         
         if (record.getSubmitOperatorId() != null) {
@@ -88,6 +88,43 @@ public class HighApproveSqlProvider {
             sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}");
         }
         
+        if (record.getApproveObject() != null) {
+            sql.VALUES("approve_object", "#{approveObject,jdbcType=LONGVARCHAR}");
+        }
+        
+        return sql.toString();
+    }
+
+    public String selectByExampleWithBLOBs(HighApproveExample example) {
+        SQL sql = new SQL();
+        if (example != null && example.isDistinct()) {
+            sql.SELECT_DISTINCT("id");
+        } else {
+            sql.SELECT("id");
+        }
+        sql.SELECT("object_type");
+        sql.SELECT("object_id");
+        sql.SELECT("object_name");
+        sql.SELECT("approve_serial_no");
+        sql.SELECT("remarks");
+        sql.SELECT("`status`");
+        sql.SELECT("create_time");
+        sql.SELECT("update_time");
+        sql.SELECT("submit_operator_id");
+        sql.SELECT("submit_operator_name");
+        sql.SELECT("approve_operator_id");
+        sql.SELECT("approve_operator_name");
+        sql.SELECT("ext_1");
+        sql.SELECT("ext_2");
+        sql.SELECT("ext_3");
+        sql.SELECT("approve_object");
+        sql.FROM("high_approve");
+        applyWhere(sql, example, false);
+        
+        if (example != null && example.getOrderByClause() != null) {
+            sql.ORDER_BY(example.getOrderByClause());
+        }
+        
         return sql.toString();
     }
 
@@ -163,7 +200,7 @@ public class HighApproveSqlProvider {
         }
         
         if (record.getUpdateTime() != null) {
-            sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+            sql.SET("update_time = #{record.updateTime,jdbcType=DATE}");
         }
         
         if (record.getSubmitOperatorId() != null) {
@@ -194,6 +231,37 @@ public class HighApproveSqlProvider {
             sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
         }
         
+        if (record.getApproveObject() != null) {
+            sql.SET("approve_object = #{record.approveObject,jdbcType=LONGVARCHAR}");
+        }
+        
+        applyWhere(sql, example, true);
+        return sql.toString();
+    }
+
+    public String updateByExampleWithBLOBs(Map<String, Object> parameter) {
+        SQL sql = new SQL();
+        sql.UPDATE("high_approve");
+        
+        sql.SET("id = #{record.id,jdbcType=BIGINT}");
+        sql.SET("object_type = #{record.objectType,jdbcType=INTEGER}");
+        sql.SET("object_id = #{record.objectId,jdbcType=BIGINT}");
+        sql.SET("object_name = #{record.objectName,jdbcType=VARCHAR}");
+        sql.SET("approve_serial_no = #{record.approveSerialNo,jdbcType=VARCHAR}");
+        sql.SET("remarks = #{record.remarks,jdbcType=VARCHAR}");
+        sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
+        sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
+        sql.SET("update_time = #{record.updateTime,jdbcType=DATE}");
+        sql.SET("submit_operator_id = #{record.submitOperatorId,jdbcType=BIGINT}");
+        sql.SET("submit_operator_name = #{record.submitOperatorName,jdbcType=VARCHAR}");
+        sql.SET("approve_operator_id = #{record.approveOperatorId,jdbcType=BIGINT}");
+        sql.SET("approve_operator_name = #{record.approveOperatorName,jdbcType=VARCHAR}");
+        sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
+        sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
+        sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
+        sql.SET("approve_object = #{record.approveObject,jdbcType=LONGVARCHAR}");
+        
+        HighApproveExample example = (HighApproveExample) parameter.get("example");
         applyWhere(sql, example, true);
         return sql.toString();
     }
@@ -210,7 +278,7 @@ public class HighApproveSqlProvider {
         sql.SET("remarks = #{record.remarks,jdbcType=VARCHAR}");
         sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
         sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
-        sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
+        sql.SET("update_time = #{record.updateTime,jdbcType=DATE}");
         sql.SET("submit_operator_id = #{record.submitOperatorId,jdbcType=BIGINT}");
         sql.SET("submit_operator_name = #{record.submitOperatorName,jdbcType=VARCHAR}");
         sql.SET("approve_operator_id = #{record.approveOperatorId,jdbcType=BIGINT}");
@@ -257,7 +325,7 @@ public class HighApproveSqlProvider {
         }
         
         if (record.getUpdateTime() != null) {
-            sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
+            sql.SET("update_time = #{updateTime,jdbcType=DATE}");
         }
         
         if (record.getSubmitOperatorId() != null) {
@@ -288,6 +356,10 @@ public class HighApproveSqlProvider {
             sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}");
         }
         
+        if (record.getApproveObject() != null) {
+            sql.SET("approve_object = #{approveObject,jdbcType=LONGVARCHAR}");
+        }
+        
         sql.WHERE("id = #{id,jdbcType=BIGINT}");
         
         return sql.toString();
diff --git a/hai-service/src/main/java/com/hai/entity/HighApprove.java b/hai-service/src/main/java/com/hai/entity/HighApprove.java
index daa7334e..faef4315 100644
--- a/hai-service/src/main/java/com/hai/entity/HighApprove.java
+++ b/hai-service/src/main/java/com/hai/entity/HighApprove.java
@@ -84,6 +84,11 @@ public class HighApprove implements Serializable {
 
     private String ext3;
 
+    /**
+     * 审批对象
+     */
+    private String approveObject;
+
     private static final long serialVersionUID = 1L;
 
     public Long getId() {
@@ -214,6 +219,14 @@ public class HighApprove implements Serializable {
         this.ext3 = ext3;
     }
 
+    public String getApproveObject() {
+        return approveObject;
+    }
+
+    public void setApproveObject(String approveObject) {
+        this.approveObject = approveObject;
+    }
+
     @Override
     public boolean equals(Object that) {
         if (this == that) {
@@ -241,7 +254,8 @@ public class HighApprove implements Serializable {
             && (this.getApproveOperatorName() == null ? other.getApproveOperatorName() == null : this.getApproveOperatorName().equals(other.getApproveOperatorName()))
             && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
             && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
-            && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
+            && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()))
+            && (this.getApproveObject() == null ? other.getApproveObject() == null : this.getApproveObject().equals(other.getApproveObject()));
     }
 
     @Override
@@ -264,6 +278,7 @@ public class HighApprove implements Serializable {
         result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
         result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
         result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
+        result = prime * result + ((getApproveObject() == null) ? 0 : getApproveObject().hashCode());
         return result;
     }
 
@@ -289,6 +304,7 @@ public class HighApprove implements Serializable {
         sb.append(", ext1=").append(ext1);
         sb.append(", ext2=").append(ext2);
         sb.append(", ext3=").append(ext3);
+        sb.append(", approveObject=").append(approveObject);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();
diff --git a/hai-service/src/main/java/com/hai/entity/HighApproveExample.java b/hai-service/src/main/java/com/hai/entity/HighApproveExample.java
index 8bdb2317..f0fa0e3b 100644
--- a/hai-service/src/main/java/com/hai/entity/HighApproveExample.java
+++ b/hai-service/src/main/java/com/hai/entity/HighApproveExample.java
@@ -2,6 +2,7 @@ package com.hai.entity;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 public class HighApproveExample {
@@ -125,6 +126,32 @@ public class HighApproveExample {
             criteria.add(new Criterion(condition, value1, value2));
         }
 
+        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value.getTime()), property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
+            if (values == null || values.size() == 0) {
+                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
+            }
+            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
+            Iterator<Date> iter = values.iterator();
+            while (iter.hasNext()) {
+                dateList.add(new java.sql.Date(iter.next().getTime()));
+            }
+            addCriterion(condition, dateList, property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
+        }
+
         public Criteria andIdIsNull() {
             addCriterion("id is null");
             return (Criteria) this;
@@ -646,52 +673,52 @@ public class HighApproveExample {
         }
 
         public Criteria andUpdateTimeEqualTo(Date value) {
-            addCriterion("update_time =", value, "updateTime");
+            addCriterionForJDBCDate("update_time =", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeNotEqualTo(Date value) {
-            addCriterion("update_time <>", value, "updateTime");
+            addCriterionForJDBCDate("update_time <>", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeGreaterThan(Date value) {
-            addCriterion("update_time >", value, "updateTime");
+            addCriterionForJDBCDate("update_time >", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
-            addCriterion("update_time >=", value, "updateTime");
+            addCriterionForJDBCDate("update_time >=", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeLessThan(Date value) {
-            addCriterion("update_time <", value, "updateTime");
+            addCriterionForJDBCDate("update_time <", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
-            addCriterion("update_time <=", value, "updateTime");
+            addCriterionForJDBCDate("update_time <=", value, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeIn(List<Date> values) {
-            addCriterion("update_time in", values, "updateTime");
+            addCriterionForJDBCDate("update_time in", values, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeNotIn(List<Date> values) {
-            addCriterion("update_time not in", values, "updateTime");
+            addCriterionForJDBCDate("update_time not in", values, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeBetween(Date value1, Date value2) {
-            addCriterion("update_time between", value1, value2, "updateTime");
+            addCriterionForJDBCDate("update_time between", value1, value2, "updateTime");
             return (Criteria) this;
         }
 
         public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
-            addCriterion("update_time not between", value1, value2, "updateTime");
+            addCriterionForJDBCDate("update_time not between", value1, value2, "updateTime");
             return (Criteria) this;
         }