|
@@ -27,6 +27,49 @@
|
|
|
from dc_product
|
|
|
</sql>
|
|
|
|
|
|
+
|
|
|
+ <!-- 先查询所有规格参数名称 -->
|
|
|
+ <select id="selectAllParamNames" resultType="string">
|
|
|
+ SELECT DISTINCT ps_name
|
|
|
+ FROM dc_ps_param
|
|
|
+ ORDER BY ps_name
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 动态构建SQL的查询 -->
|
|
|
+ <select id="selectProductBaseList" parameterType="map" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ p.dcp_oa_code,
|
|
|
+ p.dcp_p_no,
|
|
|
+ p.dcp_name,
|
|
|
+ p.dcp_model,
|
|
|
+ <foreach item="paramName" collection="paramNames" separator=",">
|
|
|
+ MAX(CASE WHEN param.ps_name = #{paramName} THEN spec.ps_value END) as "${paramName}"
|
|
|
+ </foreach>
|
|
|
+ FROM
|
|
|
+ dc_product p
|
|
|
+ LEFT JOIN dc_p_spec spec ON p.dcp_id = spec.ps_p_id
|
|
|
+ LEFT JOIN dc_ps_param param ON spec.ps_no = param.ps_no
|
|
|
+ <where>
|
|
|
+ <if test="dcp_oa_code != null and dcp_oa_code != ''">
|
|
|
+ AND p.dcp_oa_code like concat('%', #{dcp_oa_code}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="dcp_p_no != null and dcp_p_no != ''">
|
|
|
+ AND p.dcp_p_no like concat('%', #{dcp_p_no}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="dcp_name != null and dcp_name != ''">
|
|
|
+ AND p.dcp_name like concat('%', #{dcp_name}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="dcp_model != null and dcp_model != ''">
|
|
|
+ AND p.dcp_model like concat('%', #{dcp_model}, '%')
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ GROUP BY
|
|
|
+ p.dcp_id, p.dcp_oa_code, p.dcp_p_no, p.dcp_name, p.dcp_model
|
|
|
+ ORDER BY
|
|
|
+ p.create_time DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
<select id="selectDcProductList" parameterType="DcProduct" resultMap="DcProductResult">
|
|
|
<include refid="selectDcProductVo"/>
|
|
|
<where>
|