WorkflowServiceDaoImplMapper.xml 8.47 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="workflowServiceDaoImpl">

    <!-- 保存工作流信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessWorkflowInfo" parameterType="Map">
        insert into business_workflow(
        skip_level,operate,describle,b_id,community_id,store_id,flow_id,flow_name,flow_type,process_definition_key
        ) values (
        #{skipLevel},#{operate},#{describle},#{bId},#{communityId},#{storeId},#{flowId},#{flowName},#{flowType},#{processDefinitionKey}
        )
    </insert>


    <!-- 查询工作流信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessWorkflowInfo" parameterType="Map" resultType="Map">
        select t.skip_level,t.skip_level skipLevel,t.operate,t.describle,t.b_id,t.b_id bId,t.community_id,t.community_id
        communityId,t.store_id,t.store_id storeId,t.flow_id,t.flow_id flowId,t.flow_name,t.flow_name
        flowName,t.flow_type,t.flow_type flowType,t.process_definition_key,t.process_definition_key processDefinitionKey
        from business_workflow t
        where 1 =1
        <if test="skipLevel !=null and skipLevel != ''">
            and t.skip_level= #{skipLevel}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id in (#{communityId},'9999')
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>

    </select>


    <!-- 保存工作流信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveWorkflowInfoInstance" parameterType="Map">
        insert into workflow(
        skip_level,describle,status_cd,b_id,community_id,store_id,flow_id,flow_name,flow_type,process_definition_key
        ) select t.skip_level,t.describle,'0',t.b_id,t.community_id,t.store_id,t.flow_id,t.flow_name,t.flow_type ,t.process_definition_key
        from
        business_workflow t where 1=1
        <if test="skipLevel !=null and skipLevel != ''">
            and t.skip_level= #{skipLevel}
        </if>
        and t.operate= 'ADD'
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id in (#{communityId},'9999')
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>

    </insert>


    <!-- 查询工作流信息 add by wuxw 2018-07-03 -->
    <select id="getWorkflowInfo" parameterType="Map" resultType="Map">
        select t.skip_level,t.skip_level skipLevel,t.describle,t.status_cd,t.status_cd statusCd,t.b_id,t.b_id
        bId,t.community_id,t.community_id communityId,t.store_id,t.store_id storeId,t.flow_id,t.flow_id
        flowId,t.flow_name,t.flow_name flowName,t.flow_type,t.flow_type flowType,t.create_time createTime,d.name flowTypeName,
        t.process_definition_key,t.process_definition_key processDefinitionKey,t.start_node_finish startNodeFinish
        from workflow t
        left join t_dict d on t.flow_type = d.status_cd and d.table_name = 'workflow' and d.table_columns = 'flow_type'
        where 1 =1
        <if test="skipLevel !=null and skipLevel != ''">
            and t.skip_level= #{skipLevel}
        </if>
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="communityId != null and communityId != '' and operationType==null ">
            and t.community_id in (#{communityId},'9999')
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>
        <if test="flowTypes !=null">
            and t.flow_type in
            <foreach collection="flowTypes" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>

    </select>


    <!-- 修改工作流信息 add by wuxw 2018-07-03 -->
    <update id="updateWorkflowInfoInstance" parameterType="Map">
        update workflow t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="skipLevel !=null and skipLevel != ''">
            , t.skip_level= #{skipLevel}
        </if>
        <if test="describle !=null and describle != ''">
            , t.describle= #{describle}
        </if>
        <if test="communityId !=null and communityId != ''">
            , t.community_id= #{communityId}
        </if>
        <if test="storeId !=null and storeId != ''">
            , t.store_id= #{storeId}
        </if>
        <if test="flowName !=null and flowName != ''">
            , t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            , t.flow_type= #{flowType}
        </if>
        <if test="processDefinitionKey !=null and processDefinitionKey != '' and processDefinitionKey != '-1'">
            , t.process_definition_key= #{processDefinitionKey}
        </if>
        <if test="processDefinitionKey !=null and processDefinitionKey == '-1'">
            , t.process_definition_key= ''
        </if>
        where 1=1
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>

    </update>

    <!-- 查询工作流数量 add by wuxw 2018-07-03 -->
    <select id="queryWorkflowsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from workflow t
        where 1 =1
        <if test="skipLevel !=null and skipLevel != ''">
            and t.skip_level= #{skipLevel}
        </if>
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id in (#{communityId},'9999')
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>

        <if test="flowTypes !=null">
            and t.flow_type in
            <foreach collection="flowTypes" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>


    </select>

</mapper>