JNBusinessTest/ruoyi-system/target/classes/mapper/redBook/OARedBookMapper.xml

294 lines
15 KiB
XML
Raw Normal View History

2024-08-05 17:16:54 +08:00
<?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
2024-08-16 15:26:08 +08:00
where B.sta_0=1 and
<foreach item="item" collection="list" open="(" separator=" and " close=")">
A.namevoltage like '%${item}%'
</foreach>
2024-08-05 17:16:54 +08:00
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="perc != null and perc != ''">perc,</if>
<if test="perc2 != null and perc2 != ''">perc2,</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="perc != null and perc != ''">#{perc},</if>
<if test="perc2 != null and perc2 != ''">#{perc2},</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="perc != null and perc != ''">perc = #{perc},</if>
<if test="perc2 != null and perc2 != ''">perc2 = #{perc2},</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(uid_0,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.uid_0}, #{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 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="perc" column="perc" />
<result property="perc2" column="perc2" />
<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="uid_0" column="uid_0" />
<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.perc,a.perc2,a.rbDateUid,a.quotApprovalStatus,
b.uid_0,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>