emis-service/emis-biz/src/main/resources/mapper/EmisWriteoffApplyDetailMapper.xml
2025-09-18 11:48:35 +08:00

342 lines
25 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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.xdadan.erp.emis.mapper.EmisWriteoffApplyDetailMapper">
<resultMap type="EmisWriteoffApplyDetail" id="EmisWriteoffApplyDetailResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
<result property="id" column="id" />
<result property="applyId" column="apply_id" />
<result property="applyNo" column="apply_no" />
<result property="billCode" column="bill_code" />
<result property="applyMoney" column="apply_money" />
<result property="settleBillNo" column="settle_bill_no" />
<result property="expressType" column="express_type" />
<!-- 关联运单信息 -->
<association property="emisWaybill" javaType="EmisWaybill">
<result property="id" column="w_id"/>
<result property="orderSn" column="w_order_sn"/>
<result property="custOrderId" column="w_cust_order_id"/>
<result property="billCode" column="w_bill_code"/>
<result property="billCodeSub" column="w_bill_code_sub"/>
<result property="orderStatus" column="w_order_status"/>
<result property="waybillStatus" column="w_waybill_status"/>
<result property="orderType" column="w_order_type"/>
<result property="orderDate" column="w_order_date"/>
<result property="userId" column="w_user_id"/>
<result property="customerCode" column="w_customer_code"/>
<result property="customerName" column="w_customer_name"/>
<result property="openId" column="w_open_id"/>
<result property="receiveName" column="w_receive_name"/>
<result property="receiveCompany" column="w_receive_company"/>
<result property="receiveMobile" column="w_receive_mobile"/>
<result property="receiveTel" column="w_receive_tel"/>
<result property="receiveCountry" column="w_receive_country"/>
<result property="receiveProvince" column="w_receive_province"/>
<result property="receiveCity" column="w_receive_city"/>
<result property="receiveAddress" column="w_receive_address"/>
<result property="receiveZipcode" column="w_receive_zipcode"/>
<result property="sendName" column="w_send_name"/>
<result property="sendCompany" column="w_send_company"/>
<result property="sendMobile" column="w_send_mobile"/>
<result property="sendTel" column="w_send_tel"/>
<result property="sendCountry" column="w_send_country"/>
<result property="sendProvince" column="w_send_province"/>
<result property="sendCity" column="w_send_city"/>
<result property="sendAddress" column="w_send_address"/>
<result property="sendZipcode" column="w_send_zipcode"/>
<result property="freight" column="w_freight"/>
<result property="salesmen" column="w_salesmen"/>
<result property="payee" column="w_payee"/>
<result property="paymentType" column="w_payment_type"/>
<result property="productType" column="w_product_type"/>
<result property="productTypeName" column="w_product_type_name"/>
<result property="parcelQty" column="w_parcel_qty"/>
<result property="billWeight" column="w_bill_weight"/>
<result property="totalVolume" column="w_total_volume"/>
<result property="sendDate" column="w_send_date"/>
<result property="dispatchDate" column="w_dispatch_date"/>
<result property="signMan" column="w_sign_man"/>
<result property="signManCode" column="w_sign_man_code"/>
<result property="signSiteCode" column="w_sign_site_code"/>
<result property="signDate" column="w_sign_date"/>
<result property="timezoneOffset" column="w_timezone_offset"/>
<result property="paymentStatus" column="w_payment_status"/>
<result property="paymentDate" column="w_payment_date"/>
<result property="paymentRemark" column="w_payment_remark"/>
<result property="orderRemark" column="w_order_remark"/>
<result property="dataFrom" column="w_data_from"/>
<result property="blSpecialGoods" column="w_bl_special_goods"/>
<result property="extInfo" column="w_ext_info"/>
<result property="ladingBillCode" column="w_lading_bill_code"/>
<result property="companyCode" column="w_company_code"/>
<result property="departurePort" column="w_departure_port"/>
<result property="destinationPort" column="w_destination_port"/>
<result property="boxQuantity" column="w_box_quantity"/>
<result property="salesSupport" column="w_sales_support"/>
<result property="salesExecutive" column="w_sales_executive"/>
<result property="settlementWeight" column="w_settlement_weight" />
<result property="sendSiteCode" column="w_send_site_code"/>
<result property="sendSiteName" column="w_send_site_name"/>
<result property="dispatchUnderlingSiteCode" column="w_dispatch_underling_site_code"/>
<result property="dispatchUnderlingSiteName" column="w_dispatch_underling_site_name"/>
</association>
<!-- 关联结算账单信息 -->
<association property="emisSettleBill" javaType="EmisSettleBill">
<result property="id" column="sb_id"/>
<result property="settleBillNo" column="sb_settle_bill_no"/>
<result property="settleBillName" column="sb_settle_bill_name"/>
<result property="settleType" column="sb_settle_type"/>
<result property="settleStartDate" column="sb_settle_start_date"/>
<result property="settleEndDate" column="sb_settle_end_date"/>
<result property="billMonth" column="sb_bill_month"/>
<result property="recMoney" column="sb_rec_money"/>
<result property="recedMoney" column="sb_reced_money"/>
<result property="invoicedMoney" column="sb_invoiced_money"/>
<result property="custNo" column="sb_cust_no"/>
<result property="custName" column="sb_cust_name"/>
<result property="customerCode" column="sb_customer_code"/>
<result property="customerName" column="sb_customer_name"/>
<result property="siteCode" column="sb_site_code"/>
<result property="siteName" column="sb_site_name"/>
<result property="satisfyMoney" column="sb_satisfy_money"/>
<result property="allowanceMoney" column="sb_allowance_money"/>
<result property="deductionMoney" column="sb_deduction_money"/>
<result property="otherMoney" column="sb_other_money"/>
<result property="satisfyReason" column="sb_satisfy_reason"/>
<result property="allowanceReason" column="sb_allowance_reason"/>
<result property="deductionReason" column="sb_deduction_reason"/>
<result property="otherReason" column="sb_other_reason"/>
<result property="openBillStatus" column="sb_open_bill_status"/>
<result property="paymentStatus" column="sb_payment_status"/>
<result property="chargeStatus" column="sb_charge_status"/>
<result property="sendPieceSum" column="sb_send_piece_sum"/>
<result property="pieceNumber" column="sb_piece_number"/>
<result property="feeWeight" column="sb_fee_weight"/>
<result property="uncollectedAmount" column="sb_uncollected_amount"/>
<result property="sendMoneySum" column="sb_send_money_sum"/>
<result property="refundAmount" column="sb_refund_amount"/>
<result property="refundMoney" column="sb_refund_money"/>
<result property="payee" column="sb_payee"/>
<result property="salesmen" column="sb_salesmen"/>
<result property="creditPeriod" column="sb_credit_period"/>
<result property="creditPeriodType" column="sb_credit_period_type"/>
<result property="settleDay" column="sb_settle_day"/>
<result property="paymentDueDate" column="sb_payment_due_date"/>
<result property="blSendOms" column="sb_bl_send_oms"/>
<result property="blConfirmCenter" column="sb_bl_confirm_center"/>
<result property="confirmCenterDate" column="sb_confirm_center_date"/>
<result property="confirmCenterNote" column="sb_confirm_center_note"/>
<result property="confirmCenterManCode" column="sb_confirm_center_man_code"/>
<result property="confirmCenterCode" column="sb_confirm_center_code"/>
<result property="blConfirmSite" column="sb_bl_confirm_site"/>
<result property="confirmSiteDate" column="sb_confirm_site_date"/>
<result property="confirmSiteManCode" column="sb_confirm_site_man_code"/>
<result property="confirmSiteNote" column="sb_confirm_site_note"/>
<result property="confirmSiteCode" column="sb_confirm_site_code"/>
<result property="confirmCenterManName" column="sb_confirm_center_man_name"/>
<result property="confirmCenterName" column="sb_confirm_center_name"/>
<result property="confirmSiteManName" column="sb_confirm_site_man_name"/>
<result property="confirmSiteName" column="sb_confirm_site_name"/>
<result property="thisPayMoney" column="sb_this_pay_money"/>
<result property="qrCodePayPicUrl" column="sb_qr_code_pay_pic_url"/>
<result property="openId" column="sb_open_id"/>
<result property="appId" column="sb_app_id"/>
<result property="blLockOnlinePay" column="sb_bl_lock_online_pay"/>
<result property="lockOnlinePayReason" column="sb_lock_online_pay_reason"/>
</association>
<!-- 关联结算子账单信息 -->
<association property="emisSettleSubBill" javaType="EmisSettleSubBill">
<result property="id" column="ssb_id"/>
<result property="billNo" column="ssb_bill_no"/>
<result property="parentBillNo" column="ssb_parent_bill_no"/>
<result property="settleBillNo" column="ssb_settle_bill_no"/>
<result property="billCode" column="ssb_bill_code"/>
<result property="billDate" column="ssb_bill_date"/>
<result property="billFee" column="ssb_bill_fee"/>
<result property="currency" column="ssb_currency"/>
<result property="settleType" column="ssb_settle_type"/>
<result property="blSplit" column="ssb_bl_split"/>
<result property="blMerge" column="ssb_bl_merge"/>
<result property="billMonth" column="ssb_bill_month"/>
<result property="custNo" column="ssb_cust_no"/>
<result property="custName" column="ssb_cust_name"/>
<result property="customerCode" column="ssb_customer_code"/>
<result property="customerName" column="ssb_customer_name"/>
<result property="invoicedMoney" column="ssb_invoiced_money"/>
<result property="recedMoney" column="ssb_reced_money"/>
<result property="satisfyMoney" column="ssb_satisfy_money"/>
<result property="allowanceMoney" column="ssb_allowance_money"/>
<result property="deductionMoney" column="ssb_deduction_money"/>
<result property="otherMoney" column="ssb_other_money"/>
<result property="satisfyReason" column="ssb_satisfy_reason"/>
<result property="allowanceReason" column="ssb_allowance_reason"/>
<result property="deductionReason" column="ssb_deduction_reason"/>
<result property="otherReason" column="ssb_other_reason"/>
<result property="openBillStatus" column="ssb_open_bill_status"/>
<result property="paymentStatus" column="ssb_payment_status"/>
<result property="chargeStatus" column="ssb_charge_status"/>
<result property="payee" column="ssb_payee"/>
<result property="salesmen" column="ssb_salesmen"/>
<result property="blSpecialQuote" column="ssb_bl_special_quote"/>
<result property="blSensitive" column="ssb_bl_sensitive"/>
<result property="blConfirmCenter" column="ssb_bl_confirm_center"/>
<result property="confirmCenterDate" column="ssb_confirm_center_date"/>
<result property="confirmCenterNote" column="ssb_confirm_center_note"/>
<result property="confirmCenterManCode" column="ssb_confirm_center_man_code"/>
<result property="confirmCenterCode" column="ssb_confirm_center_code"/>
<result property="blConfirmSite" column="ssb_bl_confirm_site"/>
<result property="confirmSiteDate" column="ssb_confirm_site_date"/>
<result property="confirmSiteManCode" column="ssb_confirm_site_man_code"/>
<result property="confirmSiteNote" column="ssb_confirm_site_note"/>
<result property="confirmSiteCode" column="ssb_confirm_site_code"/>
</association>
</resultMap>
<sql id="selectEmisWriteoffApplyDetailVo">
select wad.id, wad.apply_id, wad.apply_no, wad.bill_code, wad.apply_money, wad.settle_bill_no, wad.del_flag,
CONCAT(IFNULL(send_site.site_name, ''), '-', IFNULL(dest_site.site_name, '')) as express_type,
w.id as w_id, w.order_sn as w_order_sn, w.cust_order_id as w_cust_order_id, w.bill_code as w_bill_code, w.bill_code_sub as w_bill_code_sub,
w.order_status as w_order_status, w.waybill_status as w_waybill_status, w.order_type as w_order_type, w.order_date as w_order_date,
w.user_id as w_user_id, w.customer_code as w_customer_code, w.customer_name as w_customer_name, w.open_id as w_open_id,
w.receive_name as w_receive_name, w.receive_company as w_receive_company, w.receive_mobile as w_receive_mobile, w.receive_tel as w_receive_tel,
w.receive_country as w_receive_country, w.receive_province as w_receive_province, w.receive_city as w_receive_city,
w.receive_county as w_receive_county, w.receive_town as w_receive_town, w.receive_address as w_receive_address, w.receive_postcode as w_receive_postcode,
w.send_name as w_send_name, w.send_company as w_send_company, w.send_mobile as w_send_mobile, w.send_tel as w_send_tel,
w.send_country as w_send_country, w.send_province as w_send_province, w.send_city as w_send_city,
w.send_county as w_send_county, w.send_town as w_send_town, w.send_address as w_send_address, w.send_postcode as w_send_postcode,
w.freight as w_freight, w.salesmen as w_salesmen, w.payee as w_payee, w.payment_type as w_payment_type, w.product_type as w_product_type,
tp.prod_name as w_product_type_name,
w.parcel_qty as w_parcel_qty, w.bill_weight as w_bill_weight, w.total_volume as w_total_volume, w.send_date as w_send_date,
w.dispatch_date as w_dispatch_date, w.sign_man as w_sign_man, w.sign_man_code as w_sign_man_code,
w.sign_site_code as w_sign_site_code, w.sign_date as w_sign_date, w.timezone_offset as w_timezone_offset, w.payment_status as w_payment_status,
w.payment_date as w_payment_date, w.payment_remark as w_payment_remark, w.order_remark as w_order_remark, w.data_from as w_data_from,
w.bl_special_goods as w_bl_special_goods, w.ext_info as w_ext_info, w.lading_bill_code as w_lading_bill_code, w.company_code as w_company_code,
w.departure_port as w_departure_port, w.destination_port as w_destination_port, w.box_quantity as w_box_quantity, w.settlement_weight as w_settlement_weight,
w.send_site_code as w_send_site_code, send_site.site_name as w_send_site_name, w.dispatch_underling_site_code as w_dispatch_underling_site_code, dest_site.site_name as w_dispatch_underling_site_name,
sb.id as sb_id, sb.settle_bill_no as sb_settle_bill_no, sb.settle_bill_name as sb_settle_bill_name, sb.settle_type as sb_settle_type,
sb.settle_start_date as sb_settle_start_date, sb.settle_end_date as sb_settle_end_date, sb.bill_month as sb_bill_month,
sb.rec_money as sb_rec_money, sb.reced_money as sb_reced_money, sb.invoiced_money as sb_invoiced_money, sb.cust_no as sb_cust_no,
sb.cust_name as sb_cust_name, sb.customer_code as sb_customer_code, sb.customer_name as sb_customer_name, sb.site_code as sb_site_code,
sb.site_name as sb_site_name, sb.satisfy_money as sb_satisfy_money, sb.allowance_money as sb_allowance_money, sb.deduction_money as sb_deduction_money,
sb.other_money as sb_other_money, sb.satisfy_reason as sb_satisfy_reason, sb.allowance_reason as sb_allowance_reason,
sb.deduction_reason as sb_deduction_reason, sb.other_reason as sb_other_reason, sb.open_bill_status as sb_open_bill_status,
sb.payment_status as sb_payment_status, sb.charge_status as sb_charge_status, sb.send_piece_sum as sb_send_piece_sum,
sb.piece_number as sb_piece_number, sb.fee_weight as sb_fee_weight, sb.uncollected_amount as sb_uncollected_amount,
sb.send_money_sum as sb_send_money_sum, sb.refund_amount as sb_refund_amount, sb.refund_money as sb_refund_money,
sb.payee as sb_payee, sb.salesmen as sb_salesmen, sb.credit_period as sb_credit_period, sb.credit_period_type as sb_credit_period_type,
sb.settle_day as sb_settle_day, sb.payment_due_date as sb_payment_due_date, sb.bl_send_oms as sb_bl_send_oms,
sb.bl_confirm_center as sb_bl_confirm_center, sb.confirm_center_date as sb_confirm_center_date, sb.confirm_center_note as sb_confirm_center_note,
sb.confirm_center_man_code as sb_confirm_center_man_code, sb.confirm_center_code as sb_confirm_center_code,
sb.bl_confirm_site as sb_bl_confirm_site, sb.confirm_site_date as sb_confirm_site_date, sb.confirm_site_man_code as sb_confirm_site_man_code,
sb.confirm_site_note as sb_confirm_site_note, sb.confirm_site_code as sb_confirm_site_code,
ssb.id as ssb_id, ssb.bill_no as ssb_bill_no, ssb.parent_bill_no as ssb_parent_bill_no, ssb.settle_bill_no as ssb_settle_bill_no,
ssb.bill_code as ssb_bill_code, ssb.bill_date as ssb_bill_date, ssb.bill_fee as ssb_bill_fee, ssb.currency as ssb_currency,
ssb.settle_type as ssb_settle_type, ssb.bl_split as ssb_bl_split, ssb.bl_merge as ssb_bl_merge, ssb.bill_month as ssb_bill_month,
ssb.cust_no as ssb_cust_no, ssb.cust_name as ssb_cust_name, ssb.customer_code as ssb_customer_code, ssb.customer_name as ssb_customer_name,
ssb.invoiced_money as ssb_invoiced_money, ssb.reced_money as ssb_reced_money, ssb.satisfy_money as ssb_satisfy_money,
ssb.allowance_money as ssb_allowance_money, ssb.deduction_money as ssb_deduction_money, ssb.other_money as ssb_other_money,
ssb.satisfy_reason as ssb_satisfy_reason, ssb.allowance_reason as ssb_allowance_reason, ssb.deduction_reason as ssb_deduction_reason,
ssb.other_reason as ssb_other_reason, ssb.open_bill_status as ssb_open_bill_status, ssb.payment_status as ssb_payment_status,
ssb.charge_status as ssb_charge_status, ssb.payee as ssb_payee, ssb.salesmen as ssb_salesmen, ssb.bl_special_quote as ssb_bl_special_quote,
ssb.bl_sensitive as ssb_bl_sensitive, ssb.bl_confirm_center as ssb_bl_confirm_center, ssb.confirm_center_date as ssb_confirm_center_date,
ssb.confirm_center_note as ssb_confirm_center_note, ssb.confirm_center_man_code as ssb_confirm_center_man_code,
ssb.confirm_center_code as ssb_confirm_center_code, ssb.bl_confirm_site as ssb_bl_confirm_site, ssb.confirm_site_date as ssb_confirm_site_date,
ssb.confirm_site_man_code as ssb_confirm_site_man_code, ssb.confirm_site_note as ssb_confirm_site_note, ssb.confirm_site_code as ssb_confirm_site_code
from emis_writeoff_apply_detail wad
left join emis_waybill w on wad.bill_code = w.bill_code and w.del_flag = '0'
left join emis_trans_product tp on w.product_type = tp.prod_code and tp.del_flag = '0'
left join emis_settle_bill sb on wad.settle_bill_no = sb.settle_bill_no and sb.del_flag = '0'
left join emis_settle_sub_bill ssb on wad.bill_code = ssb.bill_code and ssb.del_flag = '0'
left join emis_site send_site on w.send_site_code = send_site.site_code and send_site.del_flag = '0'
left join emis_site dest_site on w.dispatch_underling_site_code = dest_site.site_code and dest_site.del_flag = '0'
</sql>
<select id="selectEmisWriteoffApplyDetailList" parameterType="EmisWriteoffApplyDetail" resultMap="EmisWriteoffApplyDetailResult">
<include refid="selectEmisWriteoffApplyDetailVo"/>
<where>
wad.del_flag = '0'
<if test="applyId != null "> and wad.apply_id = #{applyId}</if>
<if test="applyNo != null and applyNo != ''"> and wad.apply_no = #{applyNo}</if>
<if test="billCode != null and billCode != ''"> and wad.bill_code = #{billCode}</if>
<if test="settleBillNo != null and settleBillNo != ''"> and wad.settle_bill_no = #{settleBillNo}</if>
<if test="applyMoney != null "> and wad.apply_money = #{applyMoney}</if>
</where>
order by wad.create_time desc
</select>
<select id="selectEmisWriteoffApplyDetailById" parameterType="Long" resultMap="EmisWriteoffApplyDetailResult">
<include refid="selectEmisWriteoffApplyDetailVo"/>
where wad.id = #{id} and wad.del_flag = '0'
</select>
<select id="selectEmisWriteoffApplyDetailListByApplyId" parameterType="Long" resultMap="EmisWriteoffApplyDetailResult">
<include refid="selectEmisWriteoffApplyDetailVo"/>
where wad.apply_id = #{applyId} and wad.del_flag = '0'
order by wad.create_time desc
</select>
<insert id="insertEmisWriteoffApplyDetail" parameterType="EmisWriteoffApplyDetail" useGeneratedKeys="true" keyProperty="id">
insert into emis_writeoff_apply_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyId != null">apply_id,</if>
<if test="applyNo != null and applyNo != ''">apply_no,</if>
<if test="billCode != null and billCode != ''">bill_code,</if>
<if test="applyMoney != null">apply_money,</if>
<if test="settleBillNo != null and settleBillNo != ''">settle_bill_no,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if>
<if test="applyNo != null and applyNo != ''">#{applyNo},</if>
<if test="billCode != null and billCode != ''">#{billCode},</if>
<if test="applyMoney != null">#{applyMoney},</if>
<if test="settleBillNo != null and settleBillNo != ''">#{settleBillNo},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
</trim>
</insert>
<insert id="insertEmisWriteoffApplyDetailBatch" parameterType="java.util.List">
insert into emis_writeoff_apply_detail (apply_id, apply_no, bill_code, apply_money, settle_bill_no, del_flag)
values
<foreach collection="list" item="item" separator=",">
(#{item.applyId}, #{item.applyNo}, #{item.billCode}, #{item.applyMoney}, #{item.settleBillNo}, '0')
</foreach>
</insert>
<update id="updateEmisWriteoffApplyDetail" parameterType="EmisWriteoffApplyDetail">
update emis_writeoff_apply_detail
<trim prefix="SET" suffixOverrides=",">
<if test="applyId != null">apply_id = #{applyId},</if>
<if test="applyNo != null and applyNo != ''">apply_no = #{applyNo},</if>
<if test="billCode != null and billCode != ''">bill_code = #{billCode},</if>
<if test="applyMoney != null">apply_money = #{applyMoney},</if>
<if test="settleBillNo != null and settleBillNo != ''">settle_bill_no = #{settleBillNo},</if>
</trim>
where id = #{id}
</update>
<update id="deleteEmisWriteoffApplyDetailById" parameterType="Long">
update emis_writeoff_apply_detail set del_flag = '2' where id = #{id}
</update>
<update id="deleteEmisWriteoffApplyDetailByApplyId" parameterType="Long">
update emis_writeoff_apply_detail set del_flag = '2' where apply_id = #{applyId}
</update>
<update id="deleteEmisWriteoffApplyDetailByIds" parameterType="String">
update emis_writeoff_apply_detail set del_flag = '2' where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 根据申请ID查询明细列表(只包含emisWaybill、emisSettleBill、emisSettleSubBill) -->
<select id="selectEmisWriteoffApplyDetailListByApplyIdWithDetails" parameterType="Long" resultMap="EmisWriteoffApplyDetailResult">
<include refid="selectEmisWriteoffApplyDetailVo"/>
where wad.apply_id = #{applyId} and wad.del_flag = '0'
order by wad.create_time desc
</select>
</mapper>