RuoYi-Vue/xkt/src/main/resources/mapper/StoreProductDemandDetailMap...

59 lines
3.3 KiB
XML

<?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.ruoyi.xkt.mapper.StoreProductDemandDetailMapper">
<select id="selectDemandPage" parameterType="com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandPageDTO"
resultType="com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandPageResDTO">
SELECT spdd.store_id, spdd.id AS storeProdDemandDetailId, spdd.store_prod_demand_id AS storeProdDemandId, sf.fac_name AS storeFactoryName, spdd.create_time, spd.`code`,
spdd.prod_art_num, spdd.color_name, spdd.quantity, spd.remark, spdd.detail_status, spdd.emergency, spdd.store_prod_id AS storeProdId,
spdd.store_prod_color_id AS storeProdColorId, spdd.store_color_id AS storeColorId,
spdd.size_30 AS size30, spdd.size_31 AS size31, spdd.size_32 AS size32, spdd.size_33 AS size33, spdd.size_34 AS size34, spdd.size_35 AS size35, spdd.size_36 AS size36,
spdd.size_37 AS size37, spdd.size_38 AS size38, spdd.size_39 AS size39, spdd.size_40 AS size40, spdd.size_41 AS size41, spdd.size_42 AS size42, spdd.size_43 AS size43
FROM
store_product_demand_detail spdd
JOIN store_product_demand spd ON spdd.store_prod_demand_id = spd.id
LEFT JOIN store_factory sf ON spd.store_factory_id = sf.id
WHERE
spdd.del_flag = 0 AND spdd.store_id = #{storeId}
<if test="prodArtNum != null and prodArtNum != ''"> and spdd.prod_art_num like concat('%', #{remark}, '%')</if>
<if test="storeFactoryId != null "> and sf.id = #{storeFactoryId}</if>
<if test="remark != null and remark != ''"> and sf.remark like concat('%', #{remark}, '%')</if>
<if test="emergency != null "> and spdd.emergency = #{emergency}</if>
<if test="demandStatus != null "> and spd.demand_status = #{demandStatus}</if>
ORDER BY
spdd.create_time DESC
</select>
<select id="selectDemandCodeList" resultType="com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandSimpleDTO">
SELECT
spdd.id AS storeProdDemandDetailId,
spd.`code`
FROM
store_product_demand_detail spdd JOIN store_product_demand spd ON spdd.store_prod_demand_id = spd.id
WHERE
spdd.del_flag = 0
<if test="detailIdList != null and detailIdList.size > 0">
AND spdd.id IN
<foreach item="id" collection="detailIdList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
<select id="getStatusNum" resultType="com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandStatusCountResDTO">
SELECT
COALESCE ( SUM( CASE WHEN spdd.detail_status = 1 THEN 1 ELSE 0 END ), 0 ) AS unProductionNum,
COALESCE ( SUM( CASE WHEN spdd.detail_status = 2 THEN 1 ELSE 0 END ), 0 ) AS inProductionNum,
COALESCE ( SUM( CASE WHEN spdd.detail_status = 3 THEN 1 ELSE 0 END ), 0 ) AS productionCompleteNum
FROM
store_product_demand_detail spdd
WHERE
spdd.del_flag = 0 AND spdd.store_id = #{storeId}
AND spdd.create_time between #{sixMonthAgo} AND #{now}
</select>
</mapper>