288 lines
14 KiB
XML
288 lines
14 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.redBook.mapper.OARedBookMapper">
|
||
|
<select id="productModelList" parameterType="Product" resultType="Product">
|
||
|
select uid_0,name_0,isnull(example_0,'') example_0
|
||
|
from rb_productType
|
||
|
where web_show_0=1
|
||
|
<if test="uid_0 != null and uid_0 != ''">
|
||
|
and puid_0 = #{uid_0}
|
||
|
</if>
|
||
|
<if test="uid_0 == null or uid_0 == ''">
|
||
|
and puid_0 = 0
|
||
|
</if>
|
||
|
order by order_0
|
||
|
</select>
|
||
|
|
||
|
<select id="productRemarkList" parameterType="Product" resultType="Product">
|
||
|
select type_uid_0,remark_0 from [rb_productRemark] where type_uid_0 = #{uid_0}
|
||
|
</select>
|
||
|
|
||
|
<select id="productExtList" parameterType="Product" resultType="Product">
|
||
|
select model_ext_0 as name_0 from rb_productType A
|
||
|
inner join [rb_material_redbook_ext] B on A.name_0=B.model_0
|
||
|
where A.uid_0 = #{uid_0} and B.show_0=1
|
||
|
</select>
|
||
|
|
||
|
<select id="productYsxhList" parameterType="Product" resultType="Product">
|
||
|
select #{uid_0} uid_0,name_0 from (
|
||
|
select name_0,1 order_0 from rb_productType where uid_0 = #{uid_0}
|
||
|
union all
|
||
|
select model_ext_0 as name_0,B.order_0
|
||
|
from rb_productType A
|
||
|
inner join [rb_material_redbook_ext] B on A.name_0=B.model_0
|
||
|
where A.uid_0 = #{uid_0} and B.show_0=1 and isnull(B.type_uid_0,0)=0
|
||
|
union all
|
||
|
select model_ext_0 as name_0,B.order_0
|
||
|
from rb_productType A
|
||
|
inner join [rb_material_redbook_ext] B on A.uid_0=B.type_uid_0
|
||
|
where A.uid_0 = #{uid_0} and B.show_0=1
|
||
|
) A order by order_0
|
||
|
</select>
|
||
|
|
||
|
<select id="judgesection" parameterType="Product" resultType="Product">
|
||
|
select A.uid_0,A.name_0,cast(cast(B.截面 as float) as nvarchar(20)) 截面
|
||
|
from rb_productType A
|
||
|
left join p_section B on A.uid_0=B.type_uid_0
|
||
|
where A.uid_0 = #{uid_0} and 截面 is not null order by A.name_0,B.截面
|
||
|
</select>
|
||
|
|
||
|
<select id="productJmList" parameterType="Product" resultType="Product">
|
||
|
select A.uid_0,A.name_0,cast(cast(B.截面 as float) as nvarchar(20)) section
|
||
|
from rb_productType A
|
||
|
left join p_section B on A.uid_0=B.type_uid_0
|
||
|
where A.uid_0 = #{uid_0} and B.model_0 = #{name_0} and 截面 is not null order by A.name_0,B.截面
|
||
|
</select>
|
||
|
|
||
|
<select id="searchData" parameterType="Product" resultType="Product">
|
||
|
select B.uid_0,A.namevoltage name_0,isnull(A.电压等级,N' - ') voltage ,A.单位 stu,A.型号 model,isnull(A.规格,'') spec ,
|
||
|
convert(decimal,convert(float,A.红本价格)) price,convert(varchar(10),B.date_0,23) pricedate
|
||
|
from [rb_product_price] A
|
||
|
left join rb_productVersion B on A.version_uid_0=B.uid_0
|
||
|
where B.sta_0=1 and A.type_uid_0 = #{uid_0}
|
||
|
<if test="section != null and section != ''">
|
||
|
and A.截面 = #{section}
|
||
|
</if>
|
||
|
and A.型号 = #{name_0} order by A.order_0
|
||
|
</select>
|
||
|
|
||
|
<select id="handleSearchData" resultType="Product" parameterType="String">
|
||
|
select B.uid_0,A.namevoltage name_0,isnull(A.电压等级,N' - ') voltage ,A.单位 stu,A.型号 model,isnull(A.规格,'') spec ,
|
||
|
convert(decimal,convert(float,A.红本价格)) price,convert(varchar(10),B.date_0,23) pricedate
|
||
|
from [rb_product_price] A
|
||
|
left join rb_productVersion B on A.version_uid_0=B.uid_0
|
||
|
where B.sta_0=1
|
||
|
<if test="name_0 != null and name_0 != ''">
|
||
|
and A.型号 like '%${name_0}%'
|
||
|
</if>
|
||
|
<if test="model != null and model != ''">
|
||
|
and A.规格 = #{model}
|
||
|
</if>
|
||
|
order by len(A.namevoltage)
|
||
|
</select>
|
||
|
|
||
|
|
||
|
<insert id="insertOAQuot" parameterType="OAQuot">
|
||
|
insert into OAQuot
|
||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||
|
<if test="quot_id != null">quot_id,</if>
|
||
|
<if test="quotCode != null and quotCode != ''">quotCode,</if>
|
||
|
<if test="quotCustomer != null and quotCustomer != ''">quotCustomer,</if>
|
||
|
<if test="quotProject != null and quotProject != ''">quotProject,</if>
|
||
|
<if test="quotLxr != null and quotLxr != ''">quotLxr,</if>
|
||
|
<if test="quotLxrdh != null and quotLxrdh != ''">quotLxrdh,</if>
|
||
|
<if test="totalPrice != null and totalPrice != ''">totalPrice,</if>
|
||
|
<if test="rbDateUid != null and rbDateUid != ''">rbDateUid,</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>
|
||
|
</trim>
|
||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||
|
<if test="quot_id != null">#{quot_id},</if>
|
||
|
<if test="quotCode != null and quotCode != ''">#{quotCode},</if>
|
||
|
<if test="quotCustomer != null and quotCustomer != ''">#{quotCustomer},</if>
|
||
|
<if test="quotProject != null and quotProject != ''">#{quotProject},</if>
|
||
|
<if test="quotLxr != null and quotLxr != ''">#{quotLxr},</if>
|
||
|
<if test="quotLxrdh != null and quotLxrdh != ''">#{quotLxrdh},</if>
|
||
|
<if test="totalPrice != null and totalPrice != ''">#{totalPrice},</if>
|
||
|
<if test="rbDateUid != null and rbDateUid != ''">#{rbDateUid},</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>
|
||
|
</trim>
|
||
|
</insert>
|
||
|
|
||
|
<update id="updateOAQuot" parameterType="OAQuot">
|
||
|
update OAQuot
|
||
|
<trim prefix="SET" suffixOverrides=",">
|
||
|
<if test="quotCode != null">quotCode = #{quotCode},</if>
|
||
|
<if test="quotCustomer != null and quotCustomer != ''">quotCustomer = #{quotCustomer},</if>
|
||
|
<if test="quotProject != null and quotProject != ''">quotProject = #{quotProject},</if>
|
||
|
<if test="quotLxr != null and quotLxr != ''">quotLxr = #{quotLxr},</if>
|
||
|
<if test="quotLxrdh != null and quotLxrdh != ''">quotLxrdh = #{quotLxrdh},</if>
|
||
|
<if test="totalPrice != null and totalPrice != ''">totalPrice = #{totalPrice},</if>
|
||
|
<if test="rbDateUid != null and rbDateUid != ''">rbDateUid = #{rbDateUid},</if>
|
||
|
<if test="quotApprovalStatus != null and quotApprovalStatus != ''">quotApprovalStatus = #{quotApprovalStatus},</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 quot_id = #{quot_id}
|
||
|
</update>
|
||
|
|
||
|
<insert id="batchOAQuotProduct">
|
||
|
insert into OAQuotProduct(quot_product_id, name_0, name_1, spec, voltage,stu,price,setPrice,count,allPrice,per,per2,quot_id,number) values
|
||
|
<foreach item="item" index="index" collection="list" separator=",">
|
||
|
( #{item.quot_product_id}, #{item.name_0}, #{item.name_1}, #{item.spec}, #{item.voltage}, #{item.stu},cast(#{item.price,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.setPrice,jdbcType=DECIMAL} as decimal(18,2)), cast(#{item.count,jdbcType=DECIMAL} as decimal(18,3)), cast(#{item.allPrice,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per,jdbcType=DECIMAL} as decimal(18,2)),cast(#{item.per2,jdbcType=DECIMAL} as decimal(18,2)), #{item.quot_id}, #{item.index})
|
||
|
</foreach>
|
||
|
</insert>
|
||
|
|
||
|
<select id="versionList" resultType="RbVersionDateResult">
|
||
|
select uid_0 value,
|
||
|
convert(varchar(10),[date_0],23)+' 铜:'+convert(varchar(10),[tong_price_0])+' 铝:'+convert(varchar(10),[lv_price_0]) label
|
||
|
from [rb_productVersion] A
|
||
|
inner join (select max(uid_0) muid from rb_productVersion
|
||
|
where sta_0=1 or sta_0=0 group by date_0 )B on A.uid_0=B.muid
|
||
|
order by sta_0 desc,uid_0 desc
|
||
|
</select>
|
||
|
|
||
|
<select id="queryRedBPriceByParams" resultType="OAQuotProduct">
|
||
|
SELECT a.红本价格 AS setPrice, a.namevoltage AS name_0, a.规格 AS spec, a.电压等级 AS voltage
|
||
|
FROM rb_product_price a
|
||
|
JOIN (VALUES
|
||
|
<foreach collection="params" item="param" open="(" separator="),(" close=")">
|
||
|
#{param.uid_0}, #{param.name_0}, #{param.spec}, #{param.voltage}
|
||
|
</foreach>
|
||
|
) AS v(version_uid_0,产品型号, 规格, 电压等级)
|
||
|
ON a.version_uid_0 = v.version_uid_0
|
||
|
AND a.namevoltage = v.产品型号
|
||
|
AND a.规格 = v.规格
|
||
|
AND a.电压等级 = v.电压等级
|
||
|
</select>
|
||
|
|
||
|
<select id="getFixDatePrice" resultType="String">
|
||
|
select top 1 红本价格 from rb_product_price A
|
||
|
inner join [rb_productVersion] B on A.version_uid_0=B.uid_0
|
||
|
where A.[namevoltage] = #{name_0} and A.规格 = #{spec}
|
||
|
and A.电压等级 = #{voltage} and B.uid_0 = #{uid_0}
|
||
|
and (B.sta_0=1 or sta_0=0)
|
||
|
</select>
|
||
|
|
||
|
<select id="getFixDatePrice2" resultType="OAQuotProduct">
|
||
|
select top 1 B.uid_0,A.namevoltage name_0,isnull(A.电压等级,N' - ') voltage ,A.单位 stu,
|
||
|
convert(decimal,convert(float,A.红本价格)) price,convert(varchar(10),B.date_0,23) pricedate
|
||
|
from [rb_product_price] A
|
||
|
left join rb_productVersion B on A.version_uid_0=B.uid_0
|
||
|
where A.型号 = #{name_1} and A.规格 = #{spec} and UPPER(A.电压等级) = #{voltage}
|
||
|
and B.uid_0 = #{uid_0}
|
||
|
and (B.sta_0=1 or sta_0=0)
|
||
|
</select>
|
||
|
|
||
|
<select id="getFixDatePrice3" resultType="OAQuotProduct">
|
||
|
select top 1 B.uid_0,A.namevoltage name_0,isnull(A.电压等级,N' - ') voltage,A.单位 stu,
|
||
|
A.型号 name_1,isnull(A.规格,'') spec
|
||
|
,convert(decimal,convert(float,A.红本价格)) price,convert(varchar(10),B.date_0,23) pricedate
|
||
|
from [rb_product_price] A
|
||
|
left join rb_productVersion B on A.version_uid_0=B.uid_0
|
||
|
where (B.sta_0=1 or sta_0=0) and A.namevoltage=#{name_0}
|
||
|
and B.uid_0 = #{uid_0}
|
||
|
</select>
|
||
|
|
||
|
<sql id="quotsJoins">
|
||
|
LEFT JOIN sys_user u on u.user_name=a.create_by
|
||
|
LEFT JOIN sys_dept d on u.dept_id = d.dept_id
|
||
|
</sql>
|
||
|
<select id="listQuots" parameterType="OAQuot" resultType="OAQuot">
|
||
|
select a.quot_id,a.quotCode,a.quotCustomer,a.quotProject,a.quotLxr,a.quotLxrdh,a.totalPrice,a.quotApprovalStatus,
|
||
|
a.create_by,u.nick_name createName,a.create_time createTime,
|
||
|
a.update_by,a.update_time updateTime
|
||
|
from OAQuot a
|
||
|
<include refid="quotsJoins"/>
|
||
|
<where>
|
||
|
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||
|
and datediff(d, a.create_time, #{params.beginTime}) <![CDATA[<=]]> 0
|
||
|
</if>
|
||
|
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||
|
and datediff(d, a.create_time, #{params.endTime}) <![CDATA[>=]]> 0
|
||
|
</if>
|
||
|
<if test="quotCustomer != null and quotCustomer != ''"><!-- 客户检索 -->
|
||
|
and a.quotCustomer like '%${quotCustomer}%'
|
||
|
</if>
|
||
|
<if test="quotApprovalStatus != null and quotApprovalStatus != ''"><!-- 提交状态 -->
|
||
|
and a.quotApprovalStatus = #{quotApprovalStatus}
|
||
|
</if>
|
||
|
<!-- 数据范围过滤 -->
|
||
|
${params.dataScope}
|
||
|
</where>
|
||
|
order by a.quotCode desc
|
||
|
</select>
|
||
|
|
||
|
<resultMap type="OAQuot" id="QuotResult">
|
||
|
<result property="quot_id" column="quot_id" />
|
||
|
<result property="quotCode" column="quotCode" />
|
||
|
<result property="quotCustomer" column="quotCustomer" />
|
||
|
<result property="quotProject" column="quotProject" />
|
||
|
<result property="quotLxr" column="quotLxr" />
|
||
|
<result property="quotLxrdh" column="quotLxrdh" />
|
||
|
<result property="totalPrice" column="totalPrice" />
|
||
|
<result property="rbDateUid" column="rbDateUid" />
|
||
|
<result property="quotApprovalStatus" column="quotApprovalStatus" />
|
||
|
</resultMap>
|
||
|
|
||
|
<resultMap id="QuotQuotMaterialResult" type="OAQuot" extends="QuotResult">
|
||
|
<collection property="selectedResultData" notNullColumn="quot_product_id" javaType="java.util.List" resultMap="QuotMaterialResult" />
|
||
|
</resultMap>
|
||
|
|
||
|
<resultMap type="OAQuotProduct" id="QuotMaterialResult">
|
||
|
<result property="quot_product_id" column="quot_product_id" />
|
||
|
<result property="name_0" column="name_0" />
|
||
|
<result property="name_1" column="name_1" />
|
||
|
<result property="spec" column="spec" />
|
||
|
<result property="voltage" column="voltage" />
|
||
|
<result property="stu" column="stu" />
|
||
|
<result property="per" column="per" />
|
||
|
<result property="per2" column="per2" />
|
||
|
<result property="price" column="price" />
|
||
|
<result property="setPrice" column="setPrice" />
|
||
|
<result property="count" column="count" />
|
||
|
<result property="allPrice" column="allPrice" />
|
||
|
</resultMap>
|
||
|
|
||
|
<select id="selectQuotByQuotId" parameterType="String" resultMap="QuotQuotMaterialResult">
|
||
|
select a.quot_id, a.quotCode, a.quotCustomer, a.quotProject, a.quotLxr,
|
||
|
a.quotLxrdh, a.totalPrice,a.rbDateUid,a.quotApprovalStatus,
|
||
|
|
||
|
b.quot_product_id, b.name_0, b.name_1,
|
||
|
b.spec, b.voltage, b.stu,
|
||
|
b.per,b.per2,b.price,b.setPrice,b.count,b.allPrice,b.quot_id
|
||
|
from OAQuot a
|
||
|
left join OAQuotProduct b on b.quot_id = a.quot_id
|
||
|
where a.quot_id = #{quotId} order by b.number
|
||
|
</select>
|
||
|
|
||
|
<delete id="deleteQuotsByQuotId" parameterType="java.lang.String">
|
||
|
delete from OAQuot where quot_id = #{quotId}
|
||
|
</delete>
|
||
|
<delete id="deleteQuotProductsByCusId" parameterType="java.lang.String">
|
||
|
delete from OAQuotProduct where quot_id = #{quotId}
|
||
|
</delete>
|
||
|
|
||
|
<select id="rb_price_version" resultType="String">
|
||
|
select top 1 muid from
|
||
|
(
|
||
|
select max(uid_0) muid,date_0 from rb_productVersion
|
||
|
where sta_0=1 or sta_0=0 group by date_0
|
||
|
)a order by date_0 desc
|
||
|
</select>
|
||
|
|
||
|
<select id="getCode" resultType="String" statementType="CALLABLE">
|
||
|
{call GetSerialNo(#{type,mode=IN,jdbcType=VARCHAR})}
|
||
|
</select>
|
||
|
|
||
|
</mapper>
|