ProjectBaseInfoMapper.xml 3.01 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.order.erp.mapper.order.ProjectBaseInfoMapper">


    <select id="selectDistinctProjectNos" resultType="java.lang.String">
        SELECT DISTINCT project_no
        FROM order_base_info
        <where>
            enable_flag = 10
            <if test="queryVO.customerCode != null and queryVO.customerCode.size() > 0">
                AND customer_code IN
                <foreach collection="queryVO.customerCode" item="code" open="(" separator="," close=")">
                    #{code}
                </foreach>
            </if>
            <if test="queryVO.projectNo != null and queryVO.projectNo.size() > 0">
                AND project_no IN
                <foreach collection="queryVO.projectNo" item="proj" open="(" separator="," close=")">
                    #{proj}
                </foreach>
            </if>
            <if test="queryVO.projectNoPrefixSet != null and queryVO.projectNoPrefixSet.size() > 0">
                AND (
                <foreach collection="queryVO.projectNoPrefixSet" item="proj" separator="OR">
                    project_no LIKE CONCAT(#{proj}, '%')
                </foreach>
                )
            </if>
        </where>
    </select>

    <select id="pageProjectNos" resultType="com.order.erp.domain.dto.order.OrderBaseInfoDO">
        SELECT project_no
        FROM order_base_info
        <where>
            enable_flag = 10
            <if test="queryVO.customerCode != null and queryVO.customerCode.size() > 0">
                AND customer_code IN
                <foreach collection="queryVO.customerCode" item="code" open="(" separator="," close=")">
                    #{code}
                </foreach>
            </if>
            <if test="queryVO.projectNo != null and queryVO.projectNo.size() > 0">
                AND project_no IN
                <foreach collection="queryVO.projectNo" item="proj" open="(" separator="," close=")">
                    #{proj}
                </foreach>
            </if>
            <if test="queryVO.projectNoPrefixSet != null and queryVO.projectNoPrefixSet.size() > 0">
                AND  project_no IN
                <foreach collection="queryVO.projectNoPrefixSet" item="proj" open="(" separator="," close=")">
                    #{proj}
                </foreach>

            </if>
            <if test="queryVO.ProductionDepartment !=null and queryVO.ProductionDepartment.size() > 0">
                AND production_department
                IN
                <foreach collection="queryVO.ProductionDepartment" item="department" open="(" separator="," close=")">
                    #{department}
                </foreach>
            </if>
            <if test="queryVO.projectNoLikeRight != null and queryVO.projectNoLikeRight != ''">
                AND project_no LIKE #{queryVO.projectNoLikeRight}
            </if>
        </where>
        GROUP BY project_no
    </select>
</mapper>