216 lines
13 KiB
XML
216 lines
13 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.mhd.bms.domain.settlementCustomers.repository.mapper.SettlementCustomersMapper">
|
|
|
|
<resultMap type="com.mhd.bms.domain.settlementCustomers.repository.po.SettlementCustomersPO" id="SettlementCustomersResult">
|
|
<result property="settlementCustomersId" column="settlement_customers_id" />
|
|
<result property="topOrganizationId" column="top_organization_id" />
|
|
<result property="organizationId" column="organization_id" />
|
|
<result property="organizationName" column="organization_name" />
|
|
<result property="settlementCustomersCode" column="settlement_customers_code" />
|
|
<result property="settlementEntityId" column="settlement_entity_id" />
|
|
<result property="settlementEntity" column="settlement_entity" />
|
|
<result property="settlementMethod" column="settlement_method" />
|
|
<result property="settlementMethodCode" column="settlement_method_code" />
|
|
<result property="bankName" column="bank_name" />
|
|
<result property="bankCardNumber" column="bank_card_number" />
|
|
<result property="bankBindingName" column="bank_binding_name" />
|
|
<result property="remark" column="remark" />
|
|
<result property="mainRole" column="main_role" />
|
|
<result property="customerType" column="customer_type" />
|
|
<result property="customerTypeCode" column="customer_type_code" />
|
|
<result property="projectCode" column="project_code" />
|
|
<result property="projectName" column="project_name" />
|
|
<result property="ncCode" column="nc_code" />
|
|
<result property="settlementObject" column="settlement_object" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createByName" column="create_by_name" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateByName" column="update_by_name" />
|
|
<result property="delFlag" column="del_flag" />
|
|
<result property="settlementCurrency" column="settlement_currency" />
|
|
<result property="businessDocumentId" column="business_document_id" />
|
|
<result property="businessFlow" column="business_flow" />
|
|
<result property="originalBusinessNum" column="original_business_num" />
|
|
<result property="serviceItemsName" column="service_items_name" />
|
|
<result property="firstSubjectName" column="first_subject_name" />
|
|
<result property="secondSubjectName" column="second_subject_name" />
|
|
<result property="businessState" column="business_state" />
|
|
<result property="documentType" column="document_type" />
|
|
<result property="documentTypeCode" column="document_type_code" />
|
|
<result property="businessCreateTime" column="business_create_time" />
|
|
</resultMap>
|
|
|
|
<sql id="business_document_where">
|
|
<if test="settlementCustomersDO.businessFlow != null and settlementCustomersDO.businessFlow != ''">
|
|
and bd.business_flow like concat('%', #{settlementCustomersDO.businessFlow}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.originalBusinessNum != null and settlementCustomersDO.originalBusinessNum != ''">
|
|
and bd.original_business_num like concat('%', #{settlementCustomersDO.originalBusinessNum}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.serviceItemsName != null and settlementCustomersDO.serviceItemsName != ''">
|
|
and bd.service_items_name like concat('%', #{settlementCustomersDO.serviceItemsName}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.firstSubjectName != null and settlementCustomersDO.firstSubjectName != ''">
|
|
and bd.first_subject_name like concat('%', #{settlementCustomersDO.firstSubjectName}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.secondSubjectName != null and settlementCustomersDO.secondSubjectName != ''">
|
|
and bd.second_subject_name like concat('%', #{settlementCustomersDO.secondSubjectName}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.businessState != null">
|
|
and bd.business_state = #{settlementCustomersDO.businessState}
|
|
</if>
|
|
<if test="settlementCustomersDO.documentType != null and settlementCustomersDO.documentType != ''">
|
|
and bd.document_type like concat('%', #{settlementCustomersDO.documentType}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.documentTypeCode != null and settlementCustomersDO.documentTypeCode != ''">
|
|
and bd.document_type_code = #{settlementCustomersDO.documentTypeCode}
|
|
</if>
|
|
</sql>
|
|
|
|
<sql id="settlement_customers_columns">
|
|
a.settlement_customers_id,
|
|
a.top_organization_id,
|
|
a.organization_id,
|
|
a.organization_name,
|
|
a.settlement_customers_code,
|
|
a.settlement_entity_id,
|
|
a.settlement_entity,
|
|
a.settlement_method,
|
|
a.settlement_method_code,
|
|
a.bank_name,
|
|
a.bank_card_number,
|
|
a.bank_binding_name,
|
|
a.remark,
|
|
a.main_role,
|
|
a.customer_type,
|
|
a.customer_type_code,
|
|
a.project_code,
|
|
a.project_name,
|
|
a.nc_code,
|
|
a.create_time,
|
|
a.create_by,
|
|
a.create_by_name,
|
|
a.update_time,
|
|
a.update_by,
|
|
a.update_by_name,
|
|
a.del_flag
|
|
</sql>
|
|
|
|
<select id="queryList" parameterType="com.mhd.bms.domain.settlementCustomers.repository.todo.SettlementCustomersDO"
|
|
resultMap="SettlementCustomersResult">
|
|
select
|
|
<include refid="settlement_customers_columns"/>,
|
|
COALESCE(a.settlement_currency, b.SETTLEMENT_CURRENCY) as settlement_currency,
|
|
bd.business_document_id,
|
|
bd.business_flow,
|
|
bd.original_business_num,
|
|
bd.service_items_name,
|
|
bd.first_subject_name,
|
|
bd.second_subject_name,
|
|
bd.business_state,
|
|
bd.document_type,
|
|
bd.document_type_code,
|
|
bd.create_time as business_create_time
|
|
from settlement_customers a
|
|
left join "NGWL_TEST_USER"."USER_SHIPPER" b on a.settlement_entity_id = b.user_id
|
|
<choose>
|
|
<when test="(settlementCustomersDO.businessFlow != null and settlementCustomersDO.businessFlow != '')
|
|
or (settlementCustomersDO.originalBusinessNum != null and settlementCustomersDO.originalBusinessNum != '')
|
|
or (settlementCustomersDO.serviceItemsName != null and settlementCustomersDO.serviceItemsName != '')
|
|
or (settlementCustomersDO.firstSubjectName != null and settlementCustomersDO.firstSubjectName != '')
|
|
or (settlementCustomersDO.secondSubjectName != null and settlementCustomersDO.secondSubjectName != '')
|
|
or settlementCustomersDO.businessState != null
|
|
or (settlementCustomersDO.documentType != null and settlementCustomersDO.documentType != '')
|
|
or (settlementCustomersDO.documentTypeCode != null and settlementCustomersDO.documentTypeCode != '')">
|
|
inner join business_document bd on bd.settlement_customers_code = a.settlement_customers_code and bd.del_flag = 1
|
|
</when>
|
|
<otherwise>
|
|
left join business_document bd on bd.business_document_id = (
|
|
select max(business_document_id) from business_document
|
|
where settlement_customers_code = a.settlement_customers_code and del_flag = 1
|
|
)
|
|
</otherwise>
|
|
</choose>
|
|
where a.del_flag = 1
|
|
<include refid="common_where"/>
|
|
ORDER BY a.create_time IS NULL, a.create_time DESC, bd.create_time DESC
|
|
</select>
|
|
|
|
<select id="querySettlementObjects"
|
|
resultType="com.mhd.bms.domain.settlementCustomers.repository.po.SettlementCustomersPO">
|
|
select
|
|
settlement_customers_code,settlement_entity,CONCAT(settlement_customers_code,settlement_entity) settlement_object
|
|
from settlement_customers
|
|
where del_flag = 1
|
|
</select>
|
|
|
|
<sql id="common_where">
|
|
<if test="settlementCustomersDO.settlementEntity != null and settlementCustomersDO.settlementEntity != ''">
|
|
and a.settlement_entity like concat('%', #{settlementCustomersDO.settlementEntity}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.settlementCustomersCode != null and settlementCustomersDO.settlementCustomersCode != ''">
|
|
and a.settlement_customers_code like concat('%', #{settlementCustomersDO.settlementCustomersCode}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.settlementMethod != null and settlementCustomersDO.settlementMethod != ''">
|
|
and a.settlement_method like concat('%', #{settlementCustomersDO.settlementMethod}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.settlementMethodCode != null and settlementCustomersDO.settlementMethodCode != ''">
|
|
and a.settlement_method_code = #{settlementCustomersDO.settlementMethodCode}
|
|
</if>
|
|
<if test="settlementCustomersDO.remark != null and settlementCustomersDO.remark != ''">
|
|
and a.remark like concat('%', #{settlementCustomersDO.remark}, '%')
|
|
</if>
|
|
<choose>
|
|
<when test="(settlementCustomersDO.businessFlow != null and settlementCustomersDO.businessFlow != '')
|
|
or (settlementCustomersDO.originalBusinessNum != null and settlementCustomersDO.originalBusinessNum != '')
|
|
or (settlementCustomersDO.serviceItemsName != null and settlementCustomersDO.serviceItemsName != '')
|
|
or (settlementCustomersDO.firstSubjectName != null and settlementCustomersDO.firstSubjectName != '')
|
|
or (settlementCustomersDO.secondSubjectName != null and settlementCustomersDO.secondSubjectName != '')
|
|
or settlementCustomersDO.businessState != null
|
|
or (settlementCustomersDO.documentType != null and settlementCustomersDO.documentType != '')
|
|
or (settlementCustomersDO.documentTypeCode != null and settlementCustomersDO.documentTypeCode != '')">
|
|
<include refid="business_document_where"/>
|
|
<if test="settlementCustomersDO.createTimeStart != null and settlementCustomersDO.createTimeStart != ''">
|
|
and date_format(bd.create_time,'%Y-%m-%d') <![CDATA[>=]]> #{settlementCustomersDO.createTimeStart}
|
|
</if>
|
|
<if test="settlementCustomersDO.createTimeEnd != null and settlementCustomersDO.createTimeEnd != ''">
|
|
and date_format(bd.create_time,'%Y-%m-%d') <![CDATA[<=]]> #{settlementCustomersDO.createTimeEnd}
|
|
</if>
|
|
</when>
|
|
<otherwise>
|
|
<if test="settlementCustomersDO.createTimeStart != null and settlementCustomersDO.createTimeStart != ''">
|
|
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[>=]]> #{settlementCustomersDO.createTimeStart}
|
|
</if>
|
|
<if test="settlementCustomersDO.createTimeEnd != null and settlementCustomersDO.createTimeEnd != ''">
|
|
AND date_format(a.create_time,'%Y-%m-%d') <![CDATA[<=]]> #{settlementCustomersDO.createTimeEnd}
|
|
</if>
|
|
</otherwise>
|
|
</choose>
|
|
<if test="settlementCustomersDO.createByName != null and settlementCustomersDO.createByName != ''">
|
|
and a.create_by_name like concat('%', #{settlementCustomersDO.createByName}, '%')
|
|
</if>
|
|
<if test="settlementCustomersDO.mainRole != null and settlementCustomersDO.mainRole != ''">
|
|
and a.main_role = #{settlementCustomersDO.mainRole}
|
|
</if>
|
|
<if test="settlementCustomersDO.organizationId != null">
|
|
AND (
|
|
a.organization_id = #{settlementCustomersDO.organizationId}
|
|
OR b.org_code LIKE concat('%', #{settlementCustomersDO.organizationId}, '%')
|
|
)
|
|
</if>
|
|
<if test="settlementCustomersDO.topOrganizationId != null and settlementCustomersDO.topOrganizationId != ''">
|
|
and a.top_organization_id = #{settlementCustomersDO.topOrganizationId}
|
|
</if>
|
|
<if test="settlementCustomersDO.customerType != null and settlementCustomersDO.customerType != ''">
|
|
and a.customer_type = #{settlementCustomersDO.customerType}
|
|
</if>
|
|
<if test="settlementCustomersDO.customerTypeCode != null and settlementCustomersDO.customerTypeCode != ''">
|
|
and a.customer_type_code = #{settlementCustomersDO.customerTypeCode}
|
|
</if>
|
|
</sql>
|
|
</mapper> |