180 lines
10 KiB
XML
180 lines
10 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.bonus.canteen.core.ims.mapper.QuoteMapper">
|
|
<resultMap type="com.bonus.canteen.core.ims.domain.Quote" id="QuoteResult">
|
|
<result property="quoteId" column="quote_id" />
|
|
<result property="inquirySupplierId" column="inquiry_supplier_id" />
|
|
<result property="inquiryDetailId" column="inquiry_detail_id" />
|
|
<result property="quoteNum" column="quote_num" />
|
|
<result property="totalPrice" column="total_price" />
|
|
<result property="singlePrice" column="single_price" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
</resultMap>
|
|
<resultMap type="com.bonus.canteen.core.ims.domain.InquiryDetail" id="InquiryDetailResult">
|
|
<result property="inquiryId" column="inquiry_id" />
|
|
<result property="areaId" column="area_id" />
|
|
<result property="inquiryCode" column="inquiry_code" />
|
|
<result property="area" column="area" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="materialId" column="material_id" />
|
|
<result property="areaId" column="area_id" />
|
|
<result property="materialName" column="material_name" />
|
|
<result property="materialCode" column="material_code" />
|
|
<result property="imgUrl" column="img_url" />
|
|
<result property="nutritionId" column="nutrition_id" />
|
|
<result property="materialTypeId" column="material_type_id" />
|
|
<result property="nutritionTypeId" column="nutrition_type_id" />
|
|
<result property="goodsType" column="goods_type" />
|
|
<result property="barCode" column="bar_code" />
|
|
<result property="unitId" column="unit_id" />
|
|
<result property="salePrice" column="sale_price" />
|
|
<result property="unitPrice" column="unit_price" />
|
|
<result property="salesMode" column="sales_mode" />
|
|
<result property="shelfLifeType" column="shelf_life_type" />
|
|
<result property="shelfLifeDays" column="shelf_life_days" />
|
|
<result property="purPriceCeiling" column="pur_price_ceiling" />
|
|
<result property="bigCategoryId" column="big_category_id" />
|
|
<result property="size" column="size" />
|
|
<result property="description" column="description" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="nutritionName" column="nutrition_name" />
|
|
<result property="materialTypeName" column="material_type_name" />
|
|
<result property="area" column="area_name" />
|
|
<result property="nutritionTypeName" column="nutrition_type_name" />
|
|
<result property="unitName" column="unit_name" />
|
|
<result property="materialTotalNum" column="material_total_num" />
|
|
<result property="purNum" column="purchase_num" />
|
|
<result property="notes" column="notes" />
|
|
<result property="quoteNum" column="quote_num" />
|
|
<result property="totalPrice" column="total_price" />
|
|
<result property="singlePrice" column="single_price" />
|
|
<result property="inquiryDetailId" column="inquiry_detail_id" />
|
|
<result property="arrivalTime" column="arrival_time" />
|
|
</resultMap>
|
|
|
|
<sql id="selectQuoteVo">
|
|
select quote_id, inquiry_supplier_id, inquiry_detail_id, quote_num, total_price, single_price, create_by, create_time, update_by, update_time from ims_quote
|
|
</sql>
|
|
|
|
<select id="selectQuoteList" parameterType="com.bonus.canteen.core.ims.domain.Quote" resultMap="QuoteResult">
|
|
<include refid="selectQuoteVo"/>
|
|
<where>
|
|
<if test="inquirySupplierId != null "> and inquiry_supplier_id = #{inquirySupplierId}</if>
|
|
<if test="inquiryDetailId != null "> and inquiry_detail_id = #{inquiryDetailId}</if>
|
|
<if test="quoteNum != null "> and quote_num = #{quoteNum}</if>
|
|
<if test="totalPrice != null "> and total_price = #{totalPrice}</if>
|
|
<if test="singlePrice != null "> and single_price = #{singlePrice}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectInquiryDetailByInquiryId" parameterType="com.bonus.canteen.core.ims.domain.Quote" resultMap="InquiryDetailResult">
|
|
SELECT aa.inquiry_id,aa.inquiry_detail_id,aa.purchase_num,aa.notes,aa.inquiry_code,bb.*,cc.quote_num,cc.total_price,cc.single_price,cc.arrival_time
|
|
FROM ims_inquiry_detail aa
|
|
LEFT JOIN (
|
|
select cm.material_id, material_name, material_code,cm.img_url,
|
|
cm.goods_type, bar_code,
|
|
sale_price, unit_price, sales_mode, shelf_life_type, shelf_life_days,
|
|
pur_price_ceiling, big_category_id, size, cm.description,cm.create_by,
|
|
cm.create_time, cm.update_by, cm.update_time,
|
|
cm.nutrition_id,cn.nutrition_name,
|
|
cmt.material_type_id, cmt.material_type_name,
|
|
a.area_id, a.area_name,
|
|
cm.nutrition_type_id, cnt.nutrition_type_name,
|
|
iu.unit_name,cm.unit_id,
|
|
ii.material_total_num
|
|
from cook_material cm
|
|
left join cook_material_type cmt on cm.material_type_id = cmt.material_type_id
|
|
left join cook_nutrition_type cnt on cm.nutrition_type_id = cnt.nutrition_type_id
|
|
left join cook_nutrition cn on cm.nutrition_id = cn.nutrition_id
|
|
left join ims_unit iu on cm.unit_id = iu.unit_id
|
|
left join basic_area a on cm.area_id = a.area_id
|
|
left join
|
|
(select material_id, sum(material_num) as material_total_num
|
|
from ims_inventory
|
|
group by material_id) ii on ii.material_id = cm.material_id
|
|
) bb on aa.material_id =bb.material_id
|
|
left join (
|
|
select bb.inquiry_id,aa.inquiry_detail_id,aa.quote_num,aa.total_price,aa.single_price,cc.arrival_time
|
|
from ims_quote aa
|
|
left join ims_inquiry_detail bb on aa.inquiry_detail_id=bb.inquiry_detail_id
|
|
left join ims_inquiry_supplier cc on bb.inquiry_id=cc.inquiry_id and aa.inquiry_supplier_id=cc.supplier_id
|
|
where aa.inquiry_supplier_id=#{supplierId}
|
|
) cc on aa.inquiry_detail_id=cc.inquiry_detail_id
|
|
left join ims_inquiry_supplier dd on aa.inquiry_id=dd.inquiry_id
|
|
where aa.inquiry_id = #{inquiryId} and dd.inquiry_supplier_id=#{supplierId}
|
|
</select>
|
|
|
|
<select id="selectQuoteByQuoteId" parameterType="Long" resultMap="QuoteResult">
|
|
<include refid="selectQuoteVo"/>
|
|
where quote_id = #{quoteId}
|
|
</select>
|
|
|
|
<insert id="insertQuote" parameterType="com.bonus.canteen.core.ims.domain.Quote" useGeneratedKeys="true" keyProperty="quoteId">
|
|
insert into ims_quote
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="inquirySupplierId != null">inquiry_supplier_id,</if>
|
|
<if test="inquiryDetailId != null">inquiry_detail_id,</if>
|
|
<if test="quoteNum != null">quote_num,</if>
|
|
<if test="totalPrice != null">total_price,</if>
|
|
<if test="singlePrice != null">single_price,</if>
|
|
<if test="createBy != null">create_by,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateBy != null">update_by,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
<if test="inquiryId != null">inquiry_id,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="inquirySupplierId != null">#{inquirySupplierId},</if>
|
|
<if test="inquiryDetailId != null">#{inquiryDetailId},</if>
|
|
<if test="quoteNum != null">#{quoteNum},</if>
|
|
<if test="totalPrice != null">#{totalPrice},</if>
|
|
<if test="singlePrice != null">#{singlePrice},</if>
|
|
<if test="createBy != null">#{createBy},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateBy != null">#{updateBy},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
<if test="inquiryId != null">#{inquiryId},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateQuote" parameterType="com.bonus.canteen.core.ims.domain.Quote">
|
|
update ims_quote
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="inquirySupplierId != null">inquiry_supplier_id = #{inquirySupplierId},</if>
|
|
<if test="inquiryDetailId != null">inquiry_detail_id = #{inquiryDetailId},</if>
|
|
<if test="quoteNum != null">quote_num = #{quoteNum},</if>
|
|
<if test="totalPrice != null">total_price = #{totalPrice},</if>
|
|
<if test="singlePrice != null">single_price = #{singlePrice},</if>
|
|
<if test="createBy != null">create_by = #{createBy},</if>
|
|
<if test="createTime != null">create_time = #{createTime},</if>
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
</trim>
|
|
where quote_id = #{quoteId}
|
|
</update>
|
|
|
|
<delete id="deleteQuoteByQuoteId" parameterType="Long">
|
|
delete from ims_quote where quote_id = #{quoteId}
|
|
</delete>
|
|
|
|
<delete id="deleteQuoteByQuoteIds" parameterType="String">
|
|
delete from ims_quote where quote_id in
|
|
<foreach item="quoteId" collection="array" open="(" separator="," close=")">
|
|
#{quoteId}
|
|
</foreach>
|
|
</delete>
|
|
<delete id="delQuote" >
|
|
delete from ims_quote where inquiry_id=#{inquiryId} and inquiry_supplier_id=#{supplierId}
|
|
</delete>
|
|
</mapper> |