TaskMapperAuto.xml 12.6 KB
<?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.xiniunet.task.dal.TaskMapper">

    <resultMap  id="taskPO" type="com.xiniunet.task.po.TaskPO">
        <id column="ID" jdbcType="NUMERIC" property="id" />
        <result column="TENANT_ID"  jdbcType="NUMERIC" property="tenantId"></result>
        <result column="OBJECT_TYPE"  jdbcType="VARCHAR" property="objectType"></result>
        <result column="OBJECT_ID"  jdbcType="NUMERIC" property="objectId"></result>
        <result column="OBJECT_CATEGORY"  jdbcType="VARCHAR" property="objectCategory"></result>
        <result column="OBJECT_NAME"  jdbcType="VARCHAR" property="objectName"></result>
        <result column="OBJECT_NAME_PINYIN"  jdbcType="VARCHAR" property="objectNamePinyin"></result>
        <result column="OBJECT_NAME_PY"  jdbcType="VARCHAR" property="objectNamePy"></result>
        <result column="OBJECT_DESCRIPTION"  jdbcType="VARCHAR" property="objectDescription"></result>
        <result column="OBJECT_URL"  jdbcType="VARCHAR" property="objectUrl"></result>
        <result column="OWNER_USER_ID"  jdbcType="NUMERIC" property="ownerUserId"></result>
        <result column="OWNER_USER_NAME"  jdbcType="VARCHAR" property="ownerUserName"></result>
        <result column="IS_STAR"  jdbcType="TINYINT" property="isStar"></result>
        <result column="PRIOITY"  jdbcType="VARCHAR" property="prioity"></result>
        <result column="HAS_DEADLINE"  jdbcType="TINYINT" property="hasDeadline"></result>
        <result column="DEADLINE_DATE"  jdbcType="DATE" property="deadlineDate"></result>
        <result column="NEED_REMINDING"  jdbcType="TINYINT" property="needReminding"></result>
        <result column="REMNDING_TIME"  jdbcType="TIMESTAMP" property="remindingTime"></result>
        <result column="BEGIN_TIME"  jdbcType="TIMESTAMP" property="beginTime"></result>
        <result column="END_TIME"  jdbcType="TIMESTAMP" property="endTime"></result>
        <result column="COMPLETE"  jdbcType="NUMERIC" property="complete"></result>
        <result column="PRODUCT_ID"  jdbcType="NUMERIC" property="productId"></result>
        <result column="APPLICATION_ID"  jdbcType="NUMERIC" property="applicationId"></result>
        <result column="PROJECT_ID"  jdbcType="NUMERIC" property="projectId"></result>
        <result column="HAS_SUBTASK"  jdbcType="TINYINT" property="hasSubtask"></result>
        <result column="SUBTASK_COUNT"  jdbcType="NUMERIC" property="subtaskCount"></result>
        <result column="SUBTASK_DONE_COUNT"  jdbcType="NUMERIC" property="subtaskDoneCount"></result>
        <result column="LIST_ID"  jdbcType="NUMERIC" property="listId"></result>
        <result column="IS_DONE"  jdbcType="TINYINT" property="isDone"></result>
        <result column="DO_USER_ID"  jdbcType="NUMERIC" property="doUserId"></result>
        <result column="DO_USER_NAME"  jdbcType="VARCHAR" property="doUserName"></result>
        <result column="DO_TIME"  jdbcType="TIMESTAMP" property="doTime"></result>
        <result column="DONE_MESSAGE"  jdbcType="VARCHAR" property="doneMessage"></result>
        <result column="IS_ABORT" jdbcType="TINYINT" property="isAbort"/>
        <result column="ABORT_USER_ID" jdbcType="NUMERIC" property="abortUserId"/>
        <result column="ABORT_USER_NAME" jdbcType="VARCHAR" property="abortUserName"/>
        <result column="ABORT_TIME" jdbcType="TIMESTAMP" property="abortTime"/>
        <result column="ABORT_REASON" jdbcType="VARCHAR" property="abortReason"/>
        <result column="IS_DELAY" jdbcType="TINYINT" property="isDelay"/>
        <result column="IS_OVER_DUE" jdbcType="TINYINT" property="isOverdue"/>
        <result column="DELAY_USER_ID" jdbcType="NUMERIC" property="delayUserId"/>
        <result column="DELAY_USER_NAME" jdbcType="VARCHAR" property="delayUserName"/>
        <result column="DELAY_TIME" jdbcType="TIMESTAMP" property="delayTime"/>
        <result column="DELAY_REASON" jdbcType="VARCHAR" property="delayReason"/>
        <result column="ROW_VERSION"  jdbcType="NUMERIC" property="rowVersion"></result>
        <result column="IS_DELETED"  jdbcType="TINYINT" property="isDeleted"></result>
        <result column="CREATED_BY"  jdbcType="NUMERIC" property="createdBy"></result>
        <result column="CREATION_TIME"  jdbcType="TIMESTAMP" property="creationTime"></result>
        <result column="LAST_UPDATED_BY"  jdbcType="NUMERIC" property="lastUpdatedBy"></result>
        <result column="LAST_UPDATE_TIME"  jdbcType="TIMESTAMP" property="lastUpdateTime"></result>
    </resultMap>
    <resultMap  id="taskObjectPO" type="com.xiniunet.task.po.TaskPO">
        <id column="ID" jdbcType="NUMERIC" property="id" />
        <result column="TENANT_ID"  jdbcType="NUMERIC" property="tenantId"></result>
        <result column="IS_TOP"  jdbcType="TINYINT" property="isTop"></result>
        <result column="TOP_INDEX"  jdbcType="INTEGER" property="topIndex"></result>
        <result column="BEGIN_TIME"  jdbcType="TIMESTAMP" property="beginTime"></result>
        <result column="END_TIME"  jdbcType="TIMESTAMP" property="endTime"></result>
        <result column="UN_READ_COUNT"  jdbcType="INTEGER" property="unReadCount"></result>
        <result column="OBJECT_TYPE"  jdbcType="VARCHAR" property="objectType"></result>
        <result column="OBJECT_ID"  jdbcType="NUMERIC" property="objectId"></result>
        <result column="OWNER_USER_ID"  jdbcType="NUMERIC" property="ownerUserId"></result>
        <result column="OBJECT_NAME"  jdbcType="VARCHAR" property="objectName"></result>
        <result column="OBJECT_DESCRIPTION"  jdbcType="VARCHAR" property="objectDescription"></result>
        <result column="ROW_VERSION"  jdbcType="NUMERIC" property="rowVersion"></result>
        <result column="CREATION_TIME"  jdbcType="TIMESTAMP" property="creationTime"></result>
        <result column="LAST_UPDATE_TIME"  jdbcType="TIMESTAMP" property="lastUpdateTime"></result>
        <result column="LAST_DYNAMIC_TIME"  jdbcType="TIMESTAMP" property="lastDynamicTime"></result>
    </resultMap>


    <sql id="entityColumnList">
    `ID`,`TENANT_ID`,`OBJECT_TYPE`,`OBJECT_ID`,`OBJECT_CATEGORY`,`OBJECT_NAME`,`OBJECT_NAME_PINYIN`,`OBJECT_NAME_PY`,`OBJECT_DESCRIPTION`,`OBJECT_URL`,`OWNER_USER_ID`,`OWNER_USER_NAME`,`IS_STAR`,`PRIOITY`,`HAS_DEADLINE`,`DEADLINE_DATE`,`NEED_REMINDING`,BEGIN_TIME,END_TIME,`REMNDING_TIME`,
    `COMPLETE`,`PRODUCT_ID`,`APPLICATION_ID`,`PROJECT_ID`,`HAS_SUBTASK`,`SUBTASK_COUNT`,`SUBTASK_DONE_COUNT`,`LIST_ID`,`IS_DONE`,`DO_USER_ID`,`DO_USER_NAME`,`DO_TIME`,DONE_MESSAGE,
    `IS_ABORT`, `ABORT_USER_ID`, `ABORT_USER_NAME`, `ABORT_TIME`, `ABORT_REASON`, `IS_DELAY`,IS_OVER_DUE, `DELAY_USER_ID`, `DELAY_USER_NAME`, `DELAY_TIME`, `DELAY_REASON`,  `ROW_VERSION`,`IS_DELETED`,`CREATED_BY`,`CREATION_TIME`,`LAST_UPDATED_BY`,`LAST_UPDATE_TIME`
    </sql>

    <insert id="insert">
        INSERT INTO
            `TSK_TASK`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        (
        #{ task.id },
         #{ passport.tenantId },
        
        #{ task.objectType },
        #{ task.objectId },
        #{ task.objectCategory },
        #{ task.objectName },
        #{ task.objectNamePinyin },
        #{ task.objectNamePy },
        #{ task.objectDescription },
        #{ task.objectUrl },
        #{ task.ownerUserId },
        #{ task.ownerUserName },
        #{ task.isStar },
        #{ task.prioity },
        #{ task.hasDeadline },
        #{ task.deadlineDate },
        #{ task.needReminding },
        #{ task.beginTime },
        #{ task.endTime },
        #{ task.remindingTime },
        #{ task.complete },
        #{ task.productId },
        #{ task.applicationId },
        #{ task.projectId },
        #{ task.hasSubtask },
        #{ task.subtaskCount },
        #{ task.subtaskDoneCount },
        #{ task.listId },
        #{ task.isDone },
        #{ task.doUserId },
        #{ task.doUserName },
        #{ task.doTime },
        #{ task.doneMessage },
        #{ task.isAbort },
        #{ task.abortUserId },
        #{ task.abortUserName },
        #{ task.abortTime },
        #{ task.abortReason },
        #{ task.isDelay },
        #{ task.isOverdue },
        #{ task.delayUserId },
        #{ task.delayUserName },
        #{ task.delayTime },
        #{ task.delayReason },
        0,0,#{ passport.userId },sysdate(),null,null
        )
    </insert>

    <insert id="insertBatch">
        INSERT INTO
            `TSK_TASK`
            (
            <include refid="entityColumnList" />
            )
        VALUES
        <foreach collection="list" item= "task" index ="index" separator=",">
            (
            #{ task.id },
            #{ passport.tenantId },
            
            #{ task.objectType },
            #{ task.objectId },
            #{ task.objectCategory },
            #{ task.objectName },
            #{ task.objectNamePinyin },
            #{ task.objectNamePy },
            #{ task.objectDescription },
            #{ task.objectUrl },
            #{ task.ownerUserId },
            #{ task.ownerUserName },
            #{ task.isStar },
            #{ task.prioity },
            #{ task.hasDeadline },
            #{ task.deadlineDate },
            #{ task.needReminding },
            #{ task.beginTime },
            #{ task.endTime },
            #{ task.remindingTime },
            #{ task.complete },
            #{ task.productId },
            #{ task.applicationId },
            #{ task.projectId },
            #{ task.hasSubtask },
            #{ task.subtaskCount },
            #{ task.subtaskDoneCount },
            #{ task.listId },
            #{ task.isDone },
            #{ task.doUserId },
            #{ task.doUserName },
            #{ task.doTime },
            #{ task.doneMessage },
            #{ task.isAbort },
            #{ task.abortUserId },
            #{ task.abortUserName },
            #{ task.abortTime },
            #{ task.abortReason },
            #{ task.isDelay },
            #{ task.isOverdue },
            #{ task.delayUserId },
            #{ task.delayUserName },
            #{ task.delayTime },
            #{ task.delayReason },
            0,0,#{ passport.userId },sysdate(),null,null
            )
        </foreach >
    </insert>


    <update id="delete">
        UPDATE
            `TSK_TASK`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` = #{id}
    </update>

    <update id= "deleteBatch">
        UPDATE
            `TSK_TASK`
        SET
            `IS_DELETED` = 1
            ,`LAST_UPDATED_BY`=#{ passport.userId }
            ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
            AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
    </update >


    <select id="getById" resultMap="taskPO">
        SELECT
        <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED` = 0
            AND `ID` = #{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getListByIds" resultMap="taskPO">
        SELECT
            <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
        `IS_DELETED` = 0
        AND `ID` in
        <foreach collection="list" item= "id" index ="index" open= "(" close =")" separator=",">
            #{id}
        </foreach >
        
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="getAllList" resultMap="taskPO">
        SELECT
        <include refid="entityColumnList" />
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED`=0
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>

    <select id="existById"  resultType="java.lang.Long">
        SELECT
            COUNT(1)
        FROM
            `TSK_TASK`
        WHERE
            `IS_DELETED`=0
            AND `ID`=#{id}
            AND `TENANT_ID`=#{ passport.tenantId }
    </select>


    <update id="deleteByListId">
        UPDATE
        `TSK_TASK`
        SET
        `IS_DELETED` = 1
        ,`LAST_UPDATED_BY`=#{ passport.userId }
        ,`LAST_UPDATE_TIME`=SYSDATE()
        WHERE
        `IS_DELETED`=0
        AND `TENANT_ID`=#{ passport.tenantId }
        AND `LIST_ID` IN
        <foreach collection="listIds" item= "listId" index ="index" open= "(" close =")" separator=",">
            #{listId}
        </foreach >
    </update>
</mapper>