ProcurementForeignTradeCreditMapper.xml 9.31 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.procurement.mappers.credit.ProcurementForeignTradeCreditMapper">

    <resultMap id="ProcurementForeignTradeCredit"
               type="com.lframework.xingyun.sc.procurement.entity.ProcurementForeignTradeCredit">
        <id column="id" property="id"/>
        <result column="unit_name" property="unitName"/>
        <result column="company_nature" property="companyNature"/>
        <result column="legal_representative" property="legalRepresentative"/>
        <result column="phone_and_fax" property="phoneAndFax"/>
        <result column="registration_certificate_no" property="registrationCertificateNo"/>
        <result column="address" property="address"/>
        <result column="domestic_business_principal" property="domesticBusinessPrincipal"/>
        <result column="principal_certificate_no" property="principalCertificateNo"/>
        <result column="established_time_and_yard_scale" property="establishedTimeAndYardScale"/>
        <result column="overall_business_varieties_scale" property="overallBusinessVarietiesScale"/>
        <result column="export_to_domestic_time" property="exportToDomesticTime"/>
        <result column="export_to_domestic_scale_varieties" property="exportToDomesticScaleVarieties"/>
        <result column="cooperating_domestic_companies" property="cooperatingDomesticCompanies"/>
        <result column="cooperation_effect" property="cooperationEffect"/>
        <result column="supplier_inspection" property="supplierInspection"/>
        <result column="domestic_sales_office_inspection" property="domesticSalesOfficeInspection"/>
        <result column="guarantee_letter" property="guaranteeLetter"/>
        <result column="contract_dispute" property="contractDispute"/>
        <result column="insurance_transport_mode" property="insuranceTransportMode"/>
        <result column="detention_demurrage_fee" property="detentionDemurrageFee"/>
        <result column="operation_variety" property="operationVariety"/>
        <result column="operation_scale" property="operationScale"/>
        <result column="pricing_mode" property="pricingMode"/>
        <result column="settlement_method" property="settlementMethod"/>
        <result column="weight_difference_agreement" property="weightDifferenceAgreement"/>
        <result column="quality_standard" property="qualityStandard"/>
        <result column="supplier_category" property="supplierCategory"/>
        <result column="scheme_operation_time" property="schemeOperationTime"/>
        <result column="scheme_operation_mode" property="schemeOperationMode"/>
        <result column="scheme_operation_variety" property="schemeOperationVariety"/>
        <result column="scheme_operation_quantity" property="schemeOperationQuantity"/>
        <result column="shipping_requirement" property="shippingRequirement"/>
        <result column="payment_method" property="paymentMethod"/>
        <result column="next_review_time" property="nextReviewTime"/>
        <result column="review_department" property="reviewDepartment"/>
        <result column="investigator_id" property="investigatorId"/>
        <result column="investigator_name" property="investigatorName"/>
        <result column="purchase_department" property="purchaseDepartment"/>
        <result column="purchase_department_name" property="purchaseDepartmentName"/>
        <result column="purchase_department_code" property="purchaseDepartmentCode"/>
        <result column="region" property="region"/>
        <result column="region_name" property="regionName"/>
        <result column="status" property="status"/>
        <result column="freeze" property="freeze"/>
        <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="ProcurementForeignTradeCreditSql">
        SELECT
            tb.id,
            tb.unit_name,
            tb.company_nature,
            tb.legal_representative,
            tb.phone_and_fax,
            tb.registration_certificate_no,
            tb.address,
            tb.domestic_business_principal,
            tb.principal_certificate_no,
            tb.established_time_and_yard_scale,
            tb.overall_business_varieties_scale,
            tb.export_to_domestic_time,
            tb.export_to_domestic_scale_varieties,
            tb.cooperating_domestic_companies,
            tb.cooperation_effect,
            tb.supplier_inspection,
            tb.domestic_sales_office_inspection,
            tb.guarantee_letter,
            tb.contract_dispute,
            tb.insurance_transport_mode,
            tb.detention_demurrage_fee,
            tb.operation_variety,
            tb.operation_scale,
            tb.pricing_mode,
            tb.settlement_method,
            tb.weight_difference_agreement,
            tb.quality_standard,
            tb.supplier_category,
            tb.scheme_operation_time,
            tb.scheme_operation_mode,
            tb.scheme_operation_variety,
            tb.scheme_operation_quantity,
            tb.shipping_requirement,
            tb.payment_method,
            tb.next_review_time,
            tb.review_department,
            tb.investigator_id,
            tb.investigator_name,
            tb.purchase_department,
            sd.name AS purchase_department_name,
            sd.code AS purchase_department_code,
            tb.region,
            sd1.name AS region_name,
            tb.status,
            tb.freeze,
            tb.create_by_id,
            tb.create_by,
            tb.update_by_id,
            tb.update_by,
            tb.create_time,
            tb.update_time
        FROM procurement_foreign_trade_credit tb
        LEFT JOIN sys_dept AS sd ON sd.id = tb.purchase_department
        LEFT JOIN sys_dept as sd1 on sd1.id = tb.region
    </sql>

    <select id="query" resultMap="ProcurementForeignTradeCredit">
        <include refid="ProcurementForeignTradeCreditSql"/>
        <where>
            <if test="vo.unitName != null and vo.unitName != ''">
                AND tb.unit_name LIKE CONCAT('%', #{vo.unitName}, '%')
            </if>
            <if test="vo.companyNature != null and vo.companyNature != ''">
                AND tb.company_nature LIKE CONCAT('%', #{vo.companyNature}, '%')
            </if>
            <if test="vo.supplierCategory != null and vo.supplierCategory != ''">
                AND tb.supplier_category = #{vo.supplierCategory}
            </if>
            <if test="vo.investigatorId != null and vo.investigatorId != ''">
                AND tb.investigator_id = #{vo.investigatorId}
            </if>
            <if test="vo.investigatorName != null and vo.investigatorName != ''">
                AND tb.investigator_name LIKE CONCAT('%', #{vo.investigatorName}, '%')
            </if>
            <if test="vo.purchaseDepartment != null and vo.purchaseDepartment != ''">
                AND tb.purchase_department = #{vo.purchaseDepartment}
            </if>
            <if test="vo.region != null and vo.region != ''">
                AND tb.region = #{vo.region}
            </if>
            <if test="vo.status != null and vo.status != ''">
                AND tb.status = #{vo.status}
            </if>
            <if test="vo.nextReviewTimeStart != null">
                AND DATE(tb.next_review_time) <![CDATA[ >= ]]> #{vo.nextReviewTimeStart}
            </if>
            <if test="vo.nextReviewTimeEnd != null">
                AND DATE(tb.next_review_time) <![CDATA[ <= ]]> #{vo.nextReviewTimeEnd}
            </if>
            <if test="vo.createDateStart != null">
                AND DATE(tb.create_time) <![CDATA[ >= ]]> #{vo.createDateStart}
            </if>
            <if test="vo.createDateEnd != null">
                AND DATE(tb.create_time) <![CDATA[ <= ]]> #{vo.createDateEnd}
            </if>
        </where>
        ORDER BY tb.create_time DESC
    </select>

    <select id="findById" resultMap="ProcurementForeignTradeCredit">
        <include refid="ProcurementForeignTradeCreditSql"/>
        WHERE tb.id = #{id}
    </select>

    <select id="getReviewerById" resultType="com.lframework.xingyun.sc.procurement.dto.ForeignTradeReviewerDto">
        SELECT business_id,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[1].extMap.handleInfos[0].createBy')) AS foreignTradeBusinessDepartment,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[3].extMap.handleInfos[0].createBy')) AS legalAffairs,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[4].extMap.handleInfos[0].createBy')) AS supplyManagementSection,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[5].extMap.handleInfos[0].createBy')) AS supplyDepartment,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[6].extMap.handleInfos[0].createBy')) AS marketingManagement,
               JSON_UNQUOTE(JSON_EXTRACT(def_json, '$.nodeList[7].extMap.handleInfos[0].createBy')) AS generalManager
        FROM flow_instance
        WHERE business_id = #{id}
        ORDER BY create_time DESC LIMIT 1
    </select>
</mapper>