JNBusinessTest/ruoyi-system/target/classes/mapper/customer/CustomerMapper.xml

265 lines
18 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.customer.mapper.CustomerMapper">
<resultMap type="Customer" id="CustomerResult">
<result property="cusId" column="cus_id" />
<result property="cusCode" column="cus_code" />
<result property="cusName" column="cus_name" />
<result property="cusSapCode" column="cus_sap_code" />
<result property="cusStreet" column="cus_street" />
<result property="cusQccStreet" column="cus_qcc_street" />
<result property="cusPaymentTerms" column="cus_payment_terms" />
<result property="cusPhoneNumber" column="cus_phone_number" />
<result property="cusIndustryCode" column="cus_industry_code" />
<result property="cusIndustryCodeQcc" column="cus_industry_code_qcc" />
<result property="cusGroup" column="cus_group" />
<result property="cusVatNo" column="cus_vat_no" />
<result property="cusType" column="cus_type" />
<result property="cusCountry" column="cus_country" />
<result property="cusLanguage" column="cus_language" />
<result property="cusLabel" column="cus_label" />
<result property="cusClassification" column="cus_classification" />
<result property="cusReceivingEmail" column="cus_receiving_email" />
<result property="cusRecipient" column="cus_recipient" />
<result property="cusRecipientPhone" column="cus_recipient_phone" />
<result property="cusRemark" column="cus_remark" />
<result property="cusReturnRemark" column="cus_return_remark" />
<result property="cusState" column="cus_state" />
<result property="cusApprovalStatus" column="cus_approval_status" />
<result property="cusSalesman" column="cus_salesman" />
<result property="createBy" column="create_by" />
<result property="createName" column="create_name" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="cusSalesOrganization" column="cus_sales_organization" />
<result property="cusDistributionChannel" column="cus_distribution_channel" />
<result property="cusSalesTerritory" column="cus_sales_territory" />
<result property="cusSaleOffice" column="cus_sale_office" />
<result property="cusCurrency" column="cus_currency" />
<result property="cusTax" column="cus_tax" />
<result property="cusReconciliationAccount" column="cus_reconciliation_account" />
<result property="cusAccountAllocationGroup" column="cus_account_allocation_group" />
</resultMap>
<resultMap id="CustomerBankResult" type="Customer" extends="CustomerResult">
<collection property="bankList" notNullColumn="sub_bank_id" javaType="java.util.List" resultMap="BankResult" />
</resultMap>
<resultMap type="Bank" id="BankResult">
<result property="bankId" column="sub_bank_id" />
<result property="bankName" column="sub_bank_name" />
<result property="bankAccount" column="sub_bank_account" />
<result property="bankCode" column="sub_bank_code" />
<result property="bankCountry" column="sub_bank_country" />
<result property="cusId" column="sub_cus_id" />
</resultMap>
<sql id="customerJoins">
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>
<sql id="selectCustomerVo">
select a.cus_id, a.cus_code, a.cus_name, a.cus_sap_code, a.cus_street, a.cus_qcc_street,a.cus_payment_terms, a.cus_phone_number,
a.cus_industry_code, a.cus_industry_code_qcc, a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label,
a.cus_classification, a.cus_receiving_email, a.cus_recipient, a.cus_recipient_phone, a.cus_remark,a.cus_return_remark,
a.cus_state, a.cus_approval_status,a.cus_salesman,a.create_time,u.nick_name create_name,
a.cus_sales_organization,a.cus_distribution_channel,a.cus_sales_territory,a.cus_sale_office,
a.cus_currency,a.cus_tax,a.cus_reconciliation_account,a.cus_account_allocation_group
from customer a
<include refid="customerJoins"/>
</sql>
<select id="selectCustomerList" parameterType="Customer" resultMap="CustomerResult">
<include refid="selectCustomerVo"/>
<where>
<if test="cusCode != null and cusCode != ''"> and cus_code like concat('%', #{cusCode}, '%')</if>
<if test="cusName != null and cusName != ''"> and cus_name like concat('%', #{cusName}, '%')</if>
<if test="cusSapCode != null and cusSapCode != ''"> and cus_sap_code like concat('%', #{cusSapCode}, '%')</if>
<if test="cusSalesman != null and cusSalesman != ''"> and cus_salesman like concat('%', #{cusSalesman}, '%')</if>
<if test="cusState != null and cusState != ''"> and cus_state = #{cusState}</if>
<if test="cusApprovalStatus != null and cusApprovalStatus != ''"> and cus_approval_status = #{cusApprovalStatus}</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
order by a.update_time desc
</select>
<select id="selectCustomerByCusId" parameterType="java.lang.String" resultMap="CustomerBankResult">
select a.cus_id, a.cus_code, a.cus_name, a.cus_sap_code, a.cus_street,a.cus_qcc_street, a.cus_payment_terms, a.cus_phone_number, a.cus_industry_code,
a.cus_industry_code_qcc,a.cus_group, a.cus_vat_no, a.cus_type, a.cus_country, a.cus_language, a.cus_label, a.cus_classification, a.cus_receiving_email,
a.cus_recipient, a.cus_recipient_phone, a.cus_remark,a.cus_return_remark, a.cus_state, a.cus_approval_status,a.cus_salesman,
a.cus_sales_organization,a.cus_distribution_channel,a.cus_sales_territory,a.cus_sale_office,
a.cus_currency,a.cus_tax,a.cus_reconciliation_account,a.cus_account_allocation_group,
b.bank_id as sub_bank_id, b.bank_name as sub_bank_name, b.bank_account as sub_bank_account, b.cus_id as sub_cus_id,
b.bank_code as sub_bank_code,b.bank_country as sub_bank_country
from customer a
left join bank b on b.cus_id = a.cus_id
where a.cus_id = #{cusId}
</select>
<insert id="insertCustomer" parameterType="Customer">
insert into customer
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="cusId != null">cus_id,</if>
<if test="cusCode != null and cusCode != ''">cus_code,</if>
<if test="cusName != null and cusName != ''">cus_name,</if>
<if test="cusSapCode != null and cusSapCode != ''">cus_sap_code,</if>
<if test="cusStreet != null and cusStreet != ''">cus_street,</if>
<if test="cusQccStreet != null and cusQccStreet != ''">cus_qcc_street,</if>
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">cus_payment_terms,</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">cus_phone_number,</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">cus_industry_code,</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">cus_industry_code_qcc,</if>
<if test="cusGroup != null and cusGroup != ''">cus_group,</if>
<if test="cusVatNo != null and cusVatNo != ''">cus_vat_no,</if>
<if test="cusType != null">cus_type,</if>
<if test="cusCountry != null and cusCountry != ''">cus_country,</if>
<if test="cusLanguage != null and cusLanguage != ''">cus_language,</if>
<if test="cusLabel != null">cus_label,</if>
<if test="cusClassification != null">cus_classification,</if>
<if test="cusReceivingEmail != null">cus_receiving_email,</if>
<if test="cusRecipient != null">cus_recipient,</if>
<if test="cusRecipientPhone != null">cus_recipient_phone,</if>
<if test="cusRemark != null">cus_remark,</if>
<if test="cusReturnRemark != null">cus_return_remark,</if>
<if test="cusState != null">cus_state,</if>
<if test="cusApprovalStatus != null">cus_approval_status,</if>
<if test="cusSalesman != null">cus_salesman,</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="cusSalesOrganization != null and cusSalesOrganization != ''">cus_sales_organization,</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">cus_distribution_channel,</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">cus_sales_territory,</if>
<if test="cusSaleOffice != null and cusSaleOffice != ''">cus_sale_office,</if>
<if test="cusCurrency != null and cusCurrency != ''">cus_currency,</if>
<if test="cusTax != null and cusTax != ''">cus_tax,</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">cus_reconciliation_account,</if>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">cus_account_allocation_group,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cusId != null">#{cusId},</if>
<if test="cusCode != null and cusCode != ''">#{cusCode},</if>
<if test="cusName != null and cusName != ''">#{cusName},</if>
<if test="cusSapCode != null and cusSapCode != ''">#{cusSapCode},</if>
<if test="cusStreet != null and cusStreet != ''">#{cusStreet},</if>
<if test="cusQccStreet != null and cusQccStreet != ''">#{cusQccStreet},</if>
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">#{cusPaymentTerms},</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">#{cusPhoneNumber},</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">#{cusIndustryCode},</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">#{cusIndustryCodeQcc},</if>
<if test="cusGroup != null and cusGroup != ''">#{cusGroup},</if>
<if test="cusVatNo != null and cusVatNo != ''">#{cusVatNo},</if>
<if test="cusType != null">#{cusType},</if>
<if test="cusCountry != null and cusCountry != ''">#{cusCountry},</if>
<if test="cusLanguage != null and cusLanguage != ''">#{cusLanguage},</if>
<if test="cusLabel != null">#{cusLabel},</if>
<if test="cusClassification != null">#{cusClassification},</if>
<if test="cusReceivingEmail != null">#{cusReceivingEmail},</if>
<if test="cusRecipient != null">#{cusRecipient},</if>
<if test="cusRecipientPhone != null">#{cusRecipientPhone},</if>
<if test="cusRemark != null">#{cusRemark},</if>
<if test="cusReturnRemark != null">#{cusReturnRemark},</if>
<if test="cusState != null">#{cusState},</if>
<if test="cusApprovalStatus != null">#{cusApprovalStatus},</if>
<if test="cusSalesman != null">#{cusSalesman},</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="cusSalesOrganization != null and cusSalesOrganization != ''">#{cusSalesOrganization},</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">#{cusDistributionChannel},</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">#{cusSalesTerritory},</if>
<if test="cusSaleOffice != null and cusSaleOffice != ''">#{cusSaleOffice},</if>
<if test="cusCurrency != null and cusCurrency != ''">#{cusCurrency},</if>
<if test="cusTax != null and cusTax != ''">#{cusTax},</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">#{cusReconciliationAccount},</if>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">#{cusAccountAllocationGroup},</if>
</trim>
</insert>
<update id="updateCustomer" parameterType="Customer">
update customer
<trim prefix="SET" suffixOverrides=",">
<if test="cusCode != null">cus_code = #{cusCode},</if>
<if test="cusName != null and cusName != ''">cus_name = #{cusName},</if>
<if test="cusSapCode != null">cus_sap_code = #{cusSapCode},</if>
<if test="cusStreet != null and cusStreet != ''">cus_street = #{cusStreet},</if>
<if test="cusQccStreet != null and cusQccStreet != ''">cus_qcc_street = #{cusQccStreet},</if>
<if test="cusPaymentTerms != null and cusPaymentTerms != ''">cus_payment_terms = #{cusPaymentTerms},</if>
<if test="cusPhoneNumber != null and cusPhoneNumber != ''">cus_phone_number = #{cusPhoneNumber},</if>
<if test="cusIndustryCode != null and cusIndustryCode != ''">cus_industry_code = #{cusIndustryCode},</if>
<if test="cusIndustryCodeQcc != null and cusIndustryCodeQcc != ''">cus_industry_code_qcc = #{cusIndustryCodeQcc},</if>
<if test="cusGroup != null and cusGroup != ''">cus_group = #{cusGroup},</if>
<if test="cusVatNo != null and cusVatNo != ''">cus_vat_no = #{cusVatNo},</if>
<if test="cusType != null">cus_type = #{cusType},</if>
<if test="cusCountry != null and cusCountry != ''">cus_country = #{cusCountry},</if>
<if test="cusLanguage != null and cusLanguage != ''">cus_language = #{cusLanguage},</if>
<if test="cusLabel != null">cus_label = #{cusLabel},</if>
<if test="cusClassification != null">cus_classification = #{cusClassification},</if>
<if test="cusReceivingEmail != null">cus_receiving_email = #{cusReceivingEmail},</if>
<if test="cusRecipient != null">cus_recipient = #{cusRecipient},</if>
<if test="cusRecipientPhone != null">cus_recipient_phone = #{cusRecipientPhone},</if>
<if test="cusRemark != null">cus_remark = #{cusRemark},</if>
<if test="cusReturnRemark != null">cus_return_remark = #{cusReturnRemark},</if>
<if test="cusState != null">cus_state = #{cusState},</if>
<if test="cusApprovalStatus != null">cus_approval_status = #{cusApprovalStatus},</if>
<if test="cusSalesman != null">cus_salesman = #{cusSalesman},</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>
<if test="cusSalesOrganization != null and cusSalesOrganization != ''">cus_sales_organization = #{cusSalesOrganization},</if>
<if test="cusDistributionChannel != null and cusDistributionChannel != ''">cus_distribution_channel = #{cusDistributionChannel},</if>
<if test="cusSalesTerritory != null and cusSalesTerritory != ''">cus_sales_territory = #{cusSalesTerritory},</if>
<if test="cusSaleOffice != null and cusSaleOffice != ''">cus_sale_office = #{cusSaleOffice},</if>
<if test="cusCurrency != null and cusCurrency != ''">cus_currency = #{cusCurrency},</if>
<if test="cusTax != null and cusTax != ''">cus_tax = #{cusTax},</if>
<if test="cusReconciliationAccount != null and cusReconciliationAccount != ''">cus_reconciliation_account = #{cusReconciliationAccount},</if>
<if test="cusAccountAllocationGroup != null and cusAccountAllocationGroup != ''">cus_account_allocation_group = #{cusAccountAllocationGroup},</if>
</trim>
where cus_id = #{cusId}
</update>
<delete id="deleteCustomerByCusId" parameterType="java.lang.String">
delete from customer where cus_id = #{cusId}
</delete>
<delete id="deleteCustomerByCusIds" parameterType="String">
delete from customer where cus_id in
<foreach item="cusId" collection="array" open="(" separator="," close=")">
#{cusId}
</foreach>
</delete>
<delete id="deleteBankByCusIds" parameterType="String">
delete from bank where cus_id in
<foreach item="cusId" collection="array" open="(" separator="," close=")">
#{cusId}
</foreach>
</delete>
<delete id="deleteBankByCusId" parameterType="java.lang.String">
delete from bank where cus_id = #{cusId}
</delete>
<insert id="batchBank">
insert into bank(bank_id, bank_name, bank_account, cus_id,bank_code,bank_country) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.bankId}, #{item.bankName}, #{item.bankAccount}, #{item.cusId}, #{item.bankCode}, #{item.bankCountry})
</foreach>
</insert>
<select id="getCode" resultType="String" statementType="CALLABLE">
{call GetSerialNo(#{type,mode=IN,jdbcType=VARCHAR})}
</select>
</mapper>