SupplychianStoreMapper.xml 7.17 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.lecuntao.ordering.customization.dal.SupplychianStoreMapper">

    <sql id="whereForFindList">
        <if test="request.id!=null"> AND `ID` =#{ request.id }</if>
        <if test="request.supplychainNetworkId!=null"> AND `SUPPLYCHAIN_NETWORK_ID` =#{ request.supplychainNetworkId }</if>
        <if test="request.supplyTenantId!=null"> AND `SUPPLY_TENANT_ID` =#{ request.supplyTenantId }</if>
        <if test="request.supplyStoreId!=null"> AND `SUPPLY_STORE_ID` =#{ request.supplyStoreId }</if>
        <if test="request.supplyStoreIdList!=null">
            AND `SUPPLY_STORE_ID` IN
            <foreach collection="request.supplyStoreIdList" index="index" close=")" separator="," open="(" item="supplyStoreId">
                #{ supplyStoreId }
            </foreach>
        </if>
        <if test="request.demandTenantId!=null"> AND `DEMAND_TENANT_ID` =#{ request.demandTenantId }</if>
        <if test="request.demandStoreId!=null"> AND `DEMAND_STORE_ID` =#{ request.demandStoreId }</if>
        <if test="request.demandOperatingUnitId!=null"> AND `DEMAND_OPERATING_UNIT_ID` =#{ request.demandOperatingUnitId }</if>
    </sql>

    <sql id="whereForSearchList">
           (
           )
    </sql>

    <select id="find" resultMap="supplychianStorePO">
        SELECT * FROM
        (
            SELECT
                <include refid="entityColumnList"/>
            FROM
                `ZH_SUPPLYCHIAN_STORE`
            WHERE
                `IS_DELETED`=0
                <include refid="whereForFindList" />
        ) AS T

        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>
    </select>

    <select id="findCount"   resultType="java.lang.Long">
        SELECT
            COUNT(*)
        FROM
            `ZH_SUPPLYCHIAN_STORE`
        WHERE
            `IS_DELETED`=0
            <include refid="whereForFindList" />
    </select>

    <select id="search" resultMap="supplychianStorePO">
        SELECT * FROM
        (
            SELECT
                <include refid="entityColumnList"/>
            FROM
                `ZH_SUPPLYCHIAN_STORE`
            WHERE
                `IS_DELETED`=0
                <if test="request.keyword !=null">
                      AND <include refid="whereForSearchList" />
                </if>

        ) AS T
        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>
    </select>

    <select id="searchCount"   resultType="java.lang.Long">
        SELECT
            COUNT(*)
        FROM
            `ZH_SUPPLYCHIAN_STORE`
        WHERE
            `IS_DELETED`=0
            AND <include refid="whereForSearchList" />
    </select>

    <select id="existByCode" resultType="java.lang.Long">
        SELECT
            COUNT(*)
        FROM
            `ZH_SUPPLYCHIAN_STORE`
        WHERE
            `IS_DELETED`=0
            AND  `ID` != #{id}
            AND `CODE` = #{code}
    </select>


    <update id="update">
        UPDATE
            `ZH_SUPPLYCHIAN_STORE`
        SET
        `SUPPLYCHAIN_NETWORK_ID`=#{ request.supplychainNetworkId },
        `SUPPLY_TENANT_ID`=#{ request.supplyTenantId },
        `SUPPLY_STORE_ID`=#{ request.supplyStoreId },
        `SUPPLY_STORE_NAME`=#{ request.supplyStoreName },
        `SUPPLY_OPERATING_UNIT_ID`=#{ request.supplyOperatingUnitId },
        `SUPPLY_OPERATING_UNIT_NAME`=#{ request.supplyOperatingUnitName },
        `SUPPLIER_ID`=#{ request.supplierId },
        `SUPPLIER_NAME`=#{ request.supplierName },
        `SUPPLY_IS_ACTIVE`=#{ request.supplyIsActive },
        `SUPPLY_ACTIVE_TIME`=#{ request.supplyActiveTime },
        `SUPPLY_ACTIVE_USER_ID`=#{ request.supplyActiveUserId },
        `SUPPLY_ACTIVE_USER_NAME`=#{ request.supplyActiveUserName },
        `DEMAND_TENANT_ID`=#{ request.demandTenantId },
        `DEMAND_STORE_ID`=#{ request.demandStoreId },
        `DEMAND_STORE_NAME`=#{ request.demandStoreName },
        `DEMAND_OPERATING_UNIT_ID`=#{ request.demandOperatingUnitId },
        `DEMAND_OPERATING_UNIT_NAME`=#{ request.demandOperatingUnitName },
        `CUSTOMER_ID`=#{ request.customerId },
        `CUSTOMER_NAME`=#{ request.customerName },
        `DEMAND_IS_ACTIVE`=#{ request.demandIsActive },
        `DEMAND_ACTIVE_TIME`=#{ request.demandActiveTime },
        `DEMAND_ACTIVE_USER_ID`=#{ request.demandActiveUserId },
        `DEMAND_ACTIVE_USER_NAME`=#{ request.demandActiveUserName },
        `LAST_UPDATED_BY`=#{ passport.userId }
        ,`LAST_UPDATE_TIME`=SYSDATE()
        ,`ROW_VERSION`=#{ request.rowVersion }+1
        WHERE
            `IS_DELETED`=0
            AND `ID` = #{ request.id }
            AND `ROW_VERSION` = #{ request.rowVersion }
    </update>


    <update id="batchUpdate">
        UPDATE
        `ZH_SUPPLYCHIAN_STORE`
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="`ROW_VERSION` = case" suffix="end,">
                <foreach collection="storeList" item="store" index="index">
                    WHEN (
                    `IS_DELETED`=0
                    AND `ID` = #{ store.id }
                    )
                    THEN `ROW_VERSION` + 1
                </foreach>
            </trim>
            <trim prefix="`SUPPLY_IS_ACTIVE` = case" suffix="end,">
                <foreach collection="storeList" item="store" index="index">
                    WHEN (
                    `IS_DELETED`=0
                    AND `ID` = #{ store.id }
                    )
                    THEN #{ store.supplyIsActive }
                </foreach>
            </trim>
        </trim>
        WHERE
        <foreach collection="storeList" separator="or" item="store" index="index">
            (
            `IS_DELETED`=0
            AND `ID` = #{ store.id }
            )
        </foreach>
    </update>


    <update id="updateByStoreId">
        UPDATE
        `ZH_SUPPLYCHIAN_STORE`
        SET

        `SUPPLY_STORE_NAME`=#{ request.supplyStoreName },
        `SUPPLY_OPERATING_UNIT_ID`=#{ request.supplyOperatingUnitId },
        `SUPPLY_OPERATING_UNIT_NAME`=#{ request.supplyOperatingUnitName },
        `SUPPLY_IS_ACTIVE`=#{ request.supplyIsActive },
        `LAST_UPDATED_BY`=#{ passport.userId }
        ,`LAST_UPDATE_TIME`=SYSDATE()
        ,`ROW_VERSION`=`row_version`+1
        WHERE
        `IS_DELETED`=0
        AND `SUPPLY_STORE_ID` = #{ request.supplyStoreId }
        AND    `SUPPLY_TENANT_ID`=#{ passport.tenantId }
    </update>


    <update id="updateDemandByStoreId">
        UPDATE
        `ZH_SUPPLYCHIAN_STORE`
        SET
        `DEMAND_STORE_NAME`=#{ request.demandStoreName },
        `DEMAND_OPERATING_UNIT_ID`=#{ request.demandOperatingUnitId },
        `DEMAND_OPERATING_UNIT_NAME`=#{ request.demandOperatingUnitName },
        <if test="request.demandIsActive  != null">
        `DEMAND_IS_ACTIVE`=#{ request.demandIsActive },
        </if>
        `LAST_UPDATED_BY`=#{ passport.userId }
        ,`LAST_UPDATE_TIME`=SYSDATE()
        ,`ROW_VERSION`=`row_version`+1
        WHERE
        `IS_DELETED`=0
        AND `DEMAND_STORE_ID` = #{ request.demandStoreId }
    </update>
</mapper>