CustomerCreditMapper.xml 8.92 KB
<?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.lframework.xingyun.sc.mappers.CustomerCreditMapper">

    <resultMap id="CustomerCredit" type="com.lframework.xingyun.sc.entity.CustomerCredit">
        <id column="id" property="id"/>
        <result column="serial_number" property="serialNumber"/>
        <result column="region" property="region"/>
        <result column="register_date" property="registerDate"/>
        <result column="customer_short_name" property="customerShortName"/>
        <result column="enterprise_type" property="enterpriseType"/>
        <result column="company_id" property="companyId"/>
        <result column="company_name" property="companyName"/>
        <result column="company_nature" property="companyNature"/>
        <result column="company_address" property="companyAddress"/>
        <result column="registered_capital" property="registeredCapital"/>
        <result column="bank_account" property="bankAccount"/>
        <result column="bank_name" property="bankName"/>
        <result column="tax_number" property="taxNumber"/>
        <result column="registration_time" property="registrationTime"/>
        <result column="business_years" property="businessYears"/>
        <result column="business_scope" property="businessScope"/>
        <result column="business_property" property="businessProperty"/>
        <result column="land_area" property="landArea"/>
        <result column="storage_conditions" property="storageConditions"/>
        <result column="employee_count" property="employeeCount"/>
        <result column="equipment_attributes" property="equipmentAttributes"/>
        <result column="asset_evaluation" property="assetEvaluation"/>
        <result column="last_year_sales" property="lastYearSales"/>
        <result column="monthly_avg_sales" property="monthlyAvgSales"/>
        <result column="invoice_item_unit" property="invoiceItemUnit"/>
        <result column="certification_certificate" property="certificationCertificate"/>
        <result column="product_match" property="productMatch"/>
        <result column="major_customers" property="majorCustomers"/>
        <result column="main_projects" property="mainProjects"/>
        <result column="industry_involved" property="industryInvolved"/>
        <result column="industry_experience" property="industryExperience"/>
        <result column="has_dispute" property="hasDispute"/>
        <result column="cooperation_start_date" property="cooperationStartDate"/>
        <result column="monthly_avg_volume" property="monthlyAvgVolume"/>
        <result column="is_verbal_agreement" property="isVerbalAgreement"/>
        <result column="other_agreements" property="otherAgreements"/>
        <result column="has_long_term_contract" property="hasLongTermContract"/>
        <result column="contract_type" property="contractType"/>
        <result column="has_interruption" property="hasInterruption"/>
        <result column="settlement_period" property="settlementPeriod"/>
        <result column="material_supply_plan" property="materialSupplyPlan"/>
        <result column="suggested_category" property="suggestedCategory"/>
        <result column="credit_limit" property="creditLimit"/>
        <result column="investigator" property="investigator"/>
        <result column="supervisor_review" property="supervisorReview"/>
        <result column="annual_total_sales" property="annualTotalSales"/>
        <result column="main_industry" property="mainIndustry"/>
        <result column="annual_material_overview" property="annualMaterialOverview"/>
        <result column="company_settlement_period" property="companySettlementPeriod"/>
        <result column="company_credit_limit" property="companyCreditLimit"/>
        <result column="company_material_supply_plan" property="companyMaterialSupplyPlan"/>
        <result column="company_suggested_category" property="companySuggestedCategory"/>
        <result column="business_file_name" property="businessFileName"/>
        <result column="business_file_id" property="businessFileId"/>
        <result column="shareholder_file_name" property="shareholderFileName"/>
        <result column="shareholder_file_id" property="shareholderFileId"/>
        <result column="marketing_department_management" property="marketingDepartmentManagement"/>
        <result column="marketing_department_supervisor" property="marketingDepartmentSupervisor"/>
        <result column="marketing_center_supervisor" property="marketingCenterSupervisor"/>
        <result column="status" property="status"/>
        <result column="create_by_id" property="createById"/>
        <result column="create_by" property="createBy"/>
        <result column="update_by_id" property="updateById"/>
        <result column="update_by" property="updateBy"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <sql id="CustomerCredit_sql">
        SELECT
            tb.id,
            tb.serial_number,
            tb.region,
            tb.register_date,
            tb.customer_short_name,
            tb.enterprise_type,
            tb.company_id,
            cu.name AS company_name,
            tb.company_nature,
            tb.company_address,
            tb.registered_capital,
            tb.bank_account,
            tb.bank_name,
            tb.tax_number,
            tb.registration_time,
            tb.business_years,
            tb.business_scope,
            tb.business_property,
            tb.land_area,
            tb.storage_conditions,
            tb.employee_count,
            tb.equipment_attributes,
            tb.asset_evaluation,
            tb.last_year_sales,
            tb.monthly_avg_sales,
            tb.invoice_item_unit,
            tb.certification_certificate,
            tb.product_match,
            tb.major_customers,
            tb.main_projects,
            tb.industry_involved,
            tb.industry_experience,
            tb.has_dispute,
            tb.cooperation_start_date,
            tb.monthly_avg_volume,
            tb.is_verbal_agreement,
            tb.other_agreements,
            tb.has_long_term_contract,
            tb.contract_type,
            tb.has_interruption,
            tb.settlement_period,
            tb.material_supply_plan,
            tb.suggested_category,
            tb.credit_limit,
            tb.investigator,
            tb.supervisor_review,
            tb.annual_total_sales,
            tb.main_industry,
            tb.annual_material_overview,
            tb.company_settlement_period,
            tb.company_credit_limit,
            tb.company_material_supply_plan,
            tb.company_suggested_category,
            tb.status,
            tb.business_file_name,
            tb.business_file_id,
            tb.shareholder_file_name,
            tb.marketing_department_management,
            tb.marketing_department_supervisor,
            tb.marketing_center_supervisor,
            tb.shareholder_file_id,
            tb.create_by_id,
            tb.create_by,
            tb.update_by_id,
            tb.update_by,
            tb.create_time,
            tb.update_time
        FROM customer_credit AS tb
        left join base_data_customer as cu on cu.id = tb.company_id
    </sql>

    <select id="query" resultMap="CustomerCredit">
        <include refid="CustomerCredit_sql"/>
        <where>
            <if test="vo.registerDateStart != null">
                AND tb.register_date >= #{vo.registerDateStart}
            </if>
            <if test="vo.registerDateEnd != null">
                <![CDATA[
               AND tb.register_date <= #{vo.registerDateEnd}
                ]]>
            </if>
            <if test="vo.customerShortName != null and vo.customerShortName != ''">
                AND tb.customer_short_name LIKE CONCAT('%', #{vo.customerShortName},'%')
            </if>
            <if test="vo.enterpriseType != null and vo.enterpriseType != ''">
                AND tb.enterprise_type = #{vo.enterpriseType}
            </if>
            <if test="vo.status != null and vo.status != ''">
                AND tb.status = #{vo.status}
            </if>
            <if test="vo.serialNumber != null and vo.serialNumber != ''">
                AND tb.serial_number = #{vo.serialNumber}
            </if>
        </where>
    </select>

    <select id="findById" resultType="com.lframework.xingyun.sc.entity.CustomerCredit">
        <include refid="CustomerCredit_sql"/>
        <where>
            <if test="id != null">
                AND tb.id = #{id}
            </if>
        </where>
    </select>

    <select id="getGenerateCode" resultType="String">
        SELECT DISTINCT
        tb.serial_number
        FROM customer_credit AS tb
        <where>
            <if test="code != null">
                AND tb.serial_number LIKE CONCAT('%', #{code}, '%')
            </if>
        </where>
    </select>
</mapper>