unis_sip/ruoyi-sip/src/main/resources/mapper/sip/OmsReceivableInvoiceDetailM...

185 lines
10 KiB
XML
Raw Normal View History

<?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.sip.mapper.OmsReceivableInvoiceDetailMapper">
<resultMap type="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail" id="OmsReceivableInvoiceDetailResult">
<result property="id" column="id" />
<result property="invoicePlanId" column="invoice_plan_id" />
<result property="receivableBillId" column="receivable_bill_id" />
<result property="invoiceTime" column="invoice_time" />
<result property="invoiceAmount" column="invoice_amount" />
<result property="invoiceAmountWithoutTax" column="invoice_amount_without_tax" />
<result property="invoiceAmountTax" column="invoice_amount_tax" />
<result property="invoiceRate" column="invoice_rate" />
<result property="invoiceBillCode" column="invoice_bill_code" />
<result property="remark" column="remark" />
<result property="receivableDetailType" column="receivable_detail_type" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectOmsReceivableInvoiceDetailVo">
select id, invoice_plan_id, receivable_bill_id, invoice_time, invoice_amount, invoice_amount_without_tax, invoice_amount_tax, invoice_rate, invoice_bill_code, remark, receivable_detail_type, create_time, create_by, update_time, update_by
from oms_receivable_invoice_detail
</sql>
<select id="selectOmsReceivableInvoiceDetailById" parameterType="Long" resultMap="OmsReceivableInvoiceDetailResult">
<include refid="selectOmsReceivableInvoiceDetailVo"/>
where id = #{id}
</select>
<select id="selectOmsReceivableInvoiceDetailList" parameterType="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail" resultMap="OmsReceivableInvoiceDetailResult">
<include refid="selectOmsReceivableInvoiceDetailVo"/>
<where>
<if test="invoicePlanId != null "> and invoice_plan_id = #{invoicePlanId}</if>
<if test="receivableBillId != null "> and receivable_bill_id = #{receivableBillId}</if>
<if test="invoiceTime != null "> and invoice_time = #{invoiceTime}</if>
<if test="invoiceAmount != null "> and invoice_amount = #{invoiceAmount}</if>
<if test="invoiceAmountWithoutTax != null "> and invoice_amount_without_tax = #{invoiceAmountWithoutTax}</if>
<if test="invoiceAmountTax != null "> and invoice_amount_tax = #{invoiceAmountTax}</if>
<if test="invoiceRate != null "> and invoice_rate = #{invoiceRate}</if>
<if test="invoiceBillCode != null and invoiceBillCode != ''"> and invoice_bill_code = #{invoiceBillCode}</if>
<if test="receivableDetailType != null and receivableDetailType != ''"> and receivable_detail_type = #{receivableDetailType}</if>
<if test="remark != null and remark != ''"> and remark like concat('%', #{remark}, '%')</if>
</where>
</select>
<select id="list" resultType="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail">
SELECT
t1.*,t2.invoice_bill_code,t2.actual_invoice_time,t2.invoice_status,t2.id as invoice_bill_id
FROM
oms_receivable_invoice_detail t1
LEFT JOIN oms_invoice_bill t2 ON t1.invoice_bill_code = t2.invoice_bill_code
<where>
<if test="receivableBillIdList != null and receivableBillIdList.size() > 0">
and t1.receivable_bill_id in
<foreach item="item" collection="receivableBillIdList" separator="," open="(" close=")" index="index">
#{item}
</foreach>
</if>
<if test="receivableBillId != null ">
and t1.receivable_bill_id =#{receivableBillId}
</if>
<if test="invoiceBillCode != null ">
and t1.invoice_bill_code =#{invoiceBillCode}
</if>
</where>
</select>
<select id="selectByInvoicePlanIds" resultType="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail">
<include refid="selectOmsReceivableInvoiceDetailVo"/>
<where>
<if test="list != null and list.size() > 0">
and invoice_plan_id in
<foreach item="item" collection="list" separator="," open="(" close=")" index="index">
#{item}
</foreach>
</if>
</where>
order by create_time desc
</select>
<select id="listReceivableByInvoiceBillCode" resultType="com.ruoyi.sip.domain.dto.ReceiptDetailDTO">
select t1.receipt_amount, t2.receivable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax
from (SELECT sum(invoice_amount) receipt_amount,
receivable_bill_id
FROM oms_receivable_invoice_detail
WHERE write_off_id is null and invoice_bill_code in
<foreach item="item" collection="list" separator="," open="(" close=")" index="">
#{item}
</foreach>
group by receivable_bill_id) t1
left join oms_receivable_bill t2 on t1.receivable_bill_id = t2.id
left join project_order_info t3 on t2.order_code = t3.order_code
left join project_info t4 on t3.project_id = t4.id
</select>
<insert id="insertOmsReceivableInvoiceDetail" parameterType="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail" useGeneratedKeys="true" keyProperty="id">
insert into oms_receivable_invoice_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="invoicePlanId != null">invoice_plan_id,</if>
<if test="receivableBillId != null">receivable_bill_id,</if>
<if test="invoiceTime != null">invoice_time,</if>
<if test="invoiceAmount != null">invoice_amount,</if>
<if test="invoiceAmountWithoutTax != null">invoice_amount_without_tax,</if>
<if test="invoiceAmountTax != null">invoice_amount_tax,</if>
<if test="invoiceRate != null">invoice_rate,</if>
<if test="invoiceBillCode != null and invoiceBillCode != ''">invoice_bill_code,</if>
<if test="receivableDetailType != null and receivableDetailType != ''">receivable_detail_type,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null and updateBy != ''">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="invoicePlanId != null">#{invoicePlanId},</if>
<if test="receivableBillId != null">#{receivableBillId},</if>
<if test="invoiceTime != null">#{invoiceTime},</if>
<if test="invoiceAmount != null">#{invoiceAmount},</if>
<if test="invoiceAmountWithoutTax != null">#{invoiceAmountWithoutTax},</if>
<if test="invoiceAmountTax != null">#{invoiceAmountTax},</if>
<if test="invoiceRate != null">#{invoiceRate},</if>
<if test="invoiceBillCode != null and invoiceBillCode != ''">#{invoiceBillCode},</if>
<if test="receivableDetailType != null and receivableDetailType != ''">#{receivableDetailType},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
</trim>
</insert>
<insert id="insertBatch">
insert into oms_receivable_invoice_detail(
invoice_plan_id,receivable_bill_id,invoice_time,invoice_amount,invoice_amount_without_tax,invoice_amount_tax,
invoice_rate,invoice_bill_code,receivable_detail_type,remark,create_time,create_by,update_time,update_by
)
values
<foreach item="item" collection="list" separator="," index="index">
(
#{item.invoicePlanId},#{item.receivableBillId},#{item.invoiceTime},#{item.invoiceAmount},#{item.invoiceAmountWithoutTax},#{item.invoiceAmountTax}
,#{item.invoiceRate},#{item.invoiceBillCode},#{item.receivableDetailType},#{item.remark},#{item.createTime},#{item.createBy},#{item.updateTime},#{item.updateBy}
)
</foreach>
</insert>
<update id="updateOmsReceivableInvoiceDetail" parameterType="com.ruoyi.sip.domain.OmsReceivableInvoiceDetail">
update oms_receivable_invoice_detail
<trim prefix="SET" suffixOverrides=",">
<if test="invoicePlanId != null">invoice_plan_id = #{invoicePlanId},</if>
<if test="receivableBillId != null">receivable_bill_id = #{receivableBillId},</if>
<if test="invoiceTime != null">invoice_time = #{invoiceTime},</if>
<if test="invoiceAmount != null">invoice_amount = #{invoiceAmount},</if>
<if test="invoiceAmountWithoutTax != null">invoice_amount_without_tax = #{invoiceAmountWithoutTax},</if>
<if test="invoiceAmountTax != null">invoice_amount_tax = #{invoiceAmountTax},</if>
<if test="invoiceRate != null">invoice_rate = #{invoiceRate},</if>
<if test="invoiceBillCode != null and invoiceBillCode != ''">invoice_bill_code = #{invoiceBillCode},</if>
<if test="receivableDetailType != null and receivableDetailType != ''">receivable_detail_type = #{receivableDetailType},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteOmsReceivableInvoiceDetailById" parameterType="Long">
delete from oms_receivable_invoice_detail where id = #{id}
</delete>
<delete id="deleteOmsReceivableInvoiceDetailByIds" parameterType="String">
delete from oms_receivable_invoice_detail where id in
<foreach item="id" collection="ids.split(',')" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>