<?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.dhcc.finance.main.dao.FinanceForThirdMapper">
    <resultMap id="BaseResultMap" type="com.dhcc.finance.main.model.FundsFlowInfo">
        <result column="ID" jdbcType="VARCHAR" property="id"/>
        <result column="PCH" jdbcType="VARCHAR" property="pch"/>
        <result column="JYLSBH" jdbcType="VARCHAR" property="jylsbh"/>
        <result column="JYSJ" jdbcType="DATE" property="jysj"/>
        <result column="XTYWBH" jdbcType="VARCHAR" property="xtywbh"/>
        <result column="ZJFX" jdbcType="VARCHAR" property="zjfx"/>
        <result column="XTXMBH" jdbcType="VARCHAR" property="xtxmbh"/>
        <result column="XTZXMBH" jdbcType="VARCHAR" property="xtzxmbh"/>
        <result column="FQCPBH" jdbcType="VARCHAR" property="fqcpbh"/>
        <result column="SYQFJ" jdbcType="VARCHAR" property="syqfj"/>
        <result column="SYQBH" jdbcType="VARCHAR" property="syqbh"/>
        <result column="HTID" jdbcType="VARCHAR" property="htid"/>
        <result column="DXBH" jdbcType="VARCHAR" property="dxbh"/>
        <result column="WTRBH" jdbcType="VARCHAR" property="wtrbh"/>
        <result column="ZRSYFS" jdbcType="VARCHAR" property="zrsyfs"/>
        <result column="SYRLX" jdbcType="VARCHAR" property="syrlx"/>
        <result column="SYRBH" jdbcType="VARCHAR" property="syrbh"/>
        <result column="DFSYQBH" jdbcType="VARCHAR" property="dfsyqbh"/>
        <result column="DFSYRBH" jdbcType="VARCHAR" property="dfsyrbh"/>
        <result column="PZCLBZ" jdbcType="VARCHAR" property="pzclbz"/>
        <result column="PZBH" jdbcType="VARCHAR" property="pzbh"/>
        <result column="JZRQ" jdbcType="DATE" property="jzrq"/>
        <result column="FHFS" jdbcType="VARCHAR" property="fhfs"/>
        <result column="BZDM" jdbcType="VARCHAR" property="bzdm"/>
        <result column="DWJZ" jdbcType="DECIMAL" property="dwjz"/>
        <result column="JYJE" jdbcType="DECIMAL" property="jyje"/>
        <result column="JYFE" jdbcType="DECIMAL" property="jyfe"/>
        <result column="JYFY" jdbcType="DECIMAL" property="jyfy"/>
        <result column="SYJE" jdbcType="DECIMAL" property="syje"/>
        <result column="BFYHZHBH" jdbcType="VARCHAR" property="bfyhzhbh"/>
        <result column="DFYHZHBH" jdbcType="VARCHAR" property="dfyhzhbh"/>
        <result column="CBMBZ" jdbcType="VARCHAR" property="cbmbz"/>
        <result column="JYM" jdbcType="VARCHAR" property="jym"/>
        <result column="HSKJBH" jdbcType="VARCHAR" property="hskjbh"/>
        <result column="YXFS" jdbcType="VARCHAR" property="yxfs"/>
        <result column="SGLX" jdbcType="VARCHAR" property="sglx"/>
        <result column="CCLB" jdbcType="VARCHAR" property="cclb"/>
        <result column="XMZHBH" jdbcType="VARCHAR" property="xmzhbh"/>
        <result column="XTCCLX" jdbcType="VARCHAR" property="xtcclx"/>
        <result column="DYJHBZ" jdbcType="VARCHAR" property="dyjhbz"/>
        <result column="SFQS" jdbcType="VARCHAR" property="sfqs"/>
        <result column="SYFE" jdbcType="DECIMAL" property="syfe"/>
        <result column="SYRQ" jdbcType="DATE" property="syrq"/>
        <result column="CQR" jdbcType="DATE" property="cqr"/>
        <result column="WHSXRQ" jdbcType="DATE" property="whsxrq"/>
        <result column="FEQRRQ" jdbcType="DATE" property="feqrrq"/>
        <result column="FGR" jdbcType="DATE" property="fgr"/>
        <result column="HSR" jdbcType="DATE" property="hsr"/>
        <result column="SSBM" jdbcType="VARCHAR" property="ssbm"/>
        <result column="SSJG" jdbcType="VARCHAR" property="ssjg"/>
        <result column="SJLY" jdbcType="CHAR" property="sjly"/>
        <result column="SYZT" jdbcType="VARCHAR" property="syzt"/>
        <result column="LRRY" jdbcType="VARCHAR" property="lrry"/>
        <result column="LRSJ" jdbcType="TIMESTAMP" property="lrsj"/>
        <result column="ZHXGRY" jdbcType="VARCHAR" property="zhxgry"/>
        <result column="ZHXGSJ" jdbcType="TIMESTAMP" property="zhxgsj"/>
        <result column="DZJFKM" jdbcType="VARCHAR" property="dzjfkm"/>
        <result column="ZRDJBH" jdbcType="VARCHAR" property="zrdjbh"/>
        <result column="NBHTBH" jdbcType="VARCHAR" property="nbhtbh"/>
        <result column="SYPJBH" jdbcType="VARCHAR" property="sypjbh"/>
        <result column="SYRBBH" jdbcType="INTEGER" property="syrbbh"/>
        <result column="CLZT" jdbcType="VARCHAR" property="clzt"/>
        <result column="FEJSFS" jdbcType="VARCHAR" property="fejsfs"/>
        <result column="DFSYRBBH" jdbcType="INTEGER" property="dfsyrbbh"/>
        <result column="DXSQBH" jdbcType="VARCHAR" property="dxsqbh"/>
        <result column="JJBH" jdbcType="VARCHAR" property="jjbh"/>
        <result column="TZYWBS" jdbcType="VARCHAR" property="tzywbs"/>
        <result column="DSFBH" jdbcType="VARCHAR" property="dsfbh"/>
        <result column="BZ" jdbcType="VARCHAR" property="bz"/>
        <result column="BJ" jdbcType="DECIMAL" property="bj"/>
        <result column="SY" jdbcType="DECIMAL" property="sy"/>
        <result column="FY" jdbcType="DECIMAL" property="fy"/>
        <result column="BFZHID" jdbcType="VARCHAR" property="bfzhid"/>
        <result column="DFZH" jdbcType="VARCHAR" property="dfzh"/>
        <result column="LRRBH" jdbcType="VARCHAR" property="lrrbh"/>
        <result column="JYLX" jdbcType="VARCHAR" property="jylx"/>
        <result column="YYHTBH" jdbcType="VARCHAR" property="yyhtbh"/>
        <result column="FQMJBH" jdbcType="VARCHAR" property="fqmjbh"/>
        <result column="SFHG" jdbcType="VARCHAR" property="sfhg"/>
        <result column="SFZSZZS" jdbcType="VARCHAR" property="sfzszzs"/>
        <result column="HTFL" jdbcType="VARCHAR" property="htfl"/>
        <result column="TZLB" jdbcType="VARCHAR" property="tzlb"/>
        <result column="IRI_ID" jdbcType="VARCHAR" property="iriId"/>
        <result column="IBI_ID" jdbcType="VARCHAR" property="ibiId"/>
        <result column="IP_ID" jdbcType="VARCHAR" property="ipId"/>
        <result column="PROJECT_ID" jdbcType="VARCHAR" property="projectId"/>
        <result column="SUB_PROJECT_ID" jdbcType="VARCHAR" property="subProjectId"/>
        <result column="PRODUCT_ID" jdbcType="VARCHAR" property="productId"/>
        <result column="SETTLEMENT_ID" jdbcType="VARCHAR" property="settlementId"/>
        <result column="SETTLEMENT_NAME" jdbcType="VARCHAR" property="settlementName"/>
        <result column="SETTLEMENT_TYPE" jdbcType="VARCHAR" property="settlementType"/>
        <result column="FEE_TYPE" jdbcType="VARCHAR" property="feeType"/>
        <result column="CONTRACT_ID" jdbcType="VARCHAR" property="contractId"/>
        <result column="BENEFIT_ID" jdbcType="VARCHAR" property="benefitId"/>
        <result column="ARREARS_INTEREST_AMOUNT" jdbcType="DECIMAL" property="arrearsInterestAmount"/>
        <result column="DEDUCT_INTEREST_AMOUNT" jdbcType="DECIMAL" property="deductInterestAmount"/>
        <result column="BEFORE_VAT_AMOUNT" jdbcType="DECIMAL" property="beforeVatAmount"/>
        <result column="TOTAL_BEFORE_VAT_AMOUNT" jdbcType="DECIMAL" property="totalBeforeVatAmount"/>
        <result column="ARREARS_PRINCIPAL_AMOUNT" jdbcType="DECIMAL" property="arrearsPrincipalAmount"/>
        <result column="PRINCIPAL_AMOUNT" jdbcType="DECIMAL" property="principalAmount"/>
        <result column="TOTAL_PRINCIPAL_AMOUNT" jdbcType="DECIMAL" property="totalPrincipalAmount"/>
        <result column="FINAL_BEFORE_VAT_AMOUNT" jdbcType="DECIMAL" property="finalBeforeVatAmount"/>
        <result column="FINAL_AFTER_VAT_AMOUNT" jdbcType="DECIMAL" property="finalAfterVatAmount"/>
        <result column="FINAL_VAT_AMOUNT" jdbcType="DECIMAL" property="finalVatAmount"/>
        <result column="FINAL_PRINCIPAL_AMOUNT" jdbcType="DECIMAL" property="finalPrincipalAmount"/>
        <result column="FINAL_ADD_TAX_AMOUNT" jdbcType="DECIMAL" property="finalAddTaxAmount"/>
        <result column="LAST_PAY_DATE" jdbcType="DATE" property="lastPayDate"/>
        <result column="PAY_DATE" jdbcType="DATE" property="payDate"/>
        <result column="CASH_DATE" jdbcType="DATE" property="cashDate"/>
        <result column="CUST_NAME" jdbcType="VARCHAR" property="custName"/>
        <result column="ACC_NAME" jdbcType="VARCHAR" property="accName"/>
        <result column="ACC_ID" jdbcType="VARCHAR" property="accId"/>
        <result column="BANK_NAME" jdbcType="VARCHAR" property="bankName"/>
        <result column="SUB_BANK_NAME" jdbcType="VARCHAR" property="subBankName"/>
        <result column="BANK_ADDRESS" jdbcType="VARCHAR" property="bankAddress"/>
        <result column="BEG_AMOUNT" jdbcType="DECIMAL" property="begAmount"/>
        <result column="END_AMOUNT" jdbcType="DECIMAL" property="endAmount"/>
        <result column="DAYS" jdbcType="INTEGER" property="days"/>
        <result column="RATE" jdbcType="DECIMAL" property="rate"/>
        <result column="DAY_COUNT_BASIS" jdbcType="VARCHAR" property="dayCountBasis"/>
        <result column="FLOAT_INCOME" jdbcType="DECIMAL" property="floatIncome"/>
        <result column="INCREASE_AMOUNT" jdbcType="DECIMAL" property="increaseAmount"/>
        <result column="INCREASE_SHARE" jdbcType="DECIMAL" property="increaseShare"/>
        <result column="CALC_VAL" jdbcType="VARCHAR" property="calcVal"/>
        <result column="REMARKS" jdbcType="VARCHAR" property="remarks"/>
        <result column="SETL_DATA_TYPE" jdbcType="VARCHAR" property="setlDataType"/>
        <result column="UP_ID" jdbcType="VARCHAR" property="upId"/>
        <result column="IS_MOAI" jdbcType="VARCHAR" property="isMoai"/>
        <result column="IS_JOIN_ALLOCATE" jdbcType="VARCHAR" property="isJoinAllocate"/>
        <result column="ACCRUAL_STATE" jdbcType="VARCHAR" property="accrualState"/>
        <result column="ACCRUAL_CERTIFICATE_STATE" jdbcType="VARCHAR" property="accrualCertificateState"/>
        <result column="CASH_STATE" jdbcType="VARCHAR" property="cashState"/>
        <result column="CASH_CERTIFICATE_STATE" jdbcType="VARCHAR" property="cashCertificateState"/>
        <result column="SEAL_STATE" jdbcType="VARCHAR" property="sealState"/>
        <result column="SOURCE_ID" jdbcType="VARCHAR" property="sourceId"/>
        <result column="CREATE_USER" jdbcType="VARCHAR" property="createUser"/>
        <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime"/>
        <result column="UPDATE_USER" jdbcType="VARCHAR" property="updateUser"/>
        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/>
        <result column="SERIAL_NO" jdbcType="VARCHAR" property="serialNo"/>
        <result column="BATCH_ID" jdbcType="VARCHAR" property="batchId"/>
        <result column="OBJ_ID" jdbcType="VARCHAR" property="objId"/>
        <result column="SINGLE_SET_SIGN" jdbcType="VARCHAR" property="singleSetSign"/>
        <result column="PROPERTY_TYPE" jdbcType="VARCHAR" property="propertyType"/>
        <result column="OPERATION_MODE" jdbcType="VARCHAR" property="operationMode"/>
        <result column="STAGES_ID" jdbcType="VARCHAR" property="stagesId"/>
        <result column="SPECIAL_ACCOUNT" jdbcType="VARCHAR" property="specialAccount"/>
        <result column="TRADECODE" jdbcType="VARCHAR" property="tradecode"/>
        <result column="COST_PARTNER" jdbcType="VARCHAR" property="costPartner"/>
        <result column="SUB_COST_TYPE" jdbcType="VARCHAR" property="subCostType"/>
        <result column="COST_TYPE" jdbcType="VARCHAR" property="costType"/>
        <result column="TRANS_AMOUNT" jdbcType="DECIMAL" property="transAmount"/>
        <result column="TRANS_TIME" jdbcType="TIMESTAMP" property="transTime"/>
        <result column="REMARKS" jdbcType="VARCHAR" property="remarks"/>
        <result column="ORG_ID" jdbcType="VARCHAR" property="orgId"/>
        <result column="DEPT_ID" jdbcType="VARCHAR" property="deptId"/>
        <result column="DATA_SOURCE" jdbcType="VARCHAR" property="dataSource"/>
        <result column="USE_STATE" jdbcType="VARCHAR" property="useState"/>
        <result column="FJS" jdbcType="DECIMAL" property="fjs"/>
        <result column="ZZS" jdbcType="DECIMAL" property="zzs"/>
        <result column="JGLX" jdbcType="VARCHAR" property="jglx"/>
        <result column="ADDED_TAX" jdbcType="DECIMAL" property="addedTax"/>
        <result column="HKPCH" jdbcType="VARCHAR" property="hkpch"/>
        <result column="HKSQBH" jdbcType="VARCHAR" property="hksqbh"/>
        <result column="HKSX" jdbcType="VARCHAR" property="hksx"/>
        <result column="HKYHBH" jdbcType="VARCHAR" property="hkyhbh"/>
        <result column="HKYHZH" jdbcType="VARCHAR" property="hkyhzh"/>
        <result column="HKYT" jdbcType="VARCHAR" property="hkyt"/>
        <result column="HKRQ" jdbcType="DATE" property="hkrq"/>
        <result column="HKJE" jdbcType="DECIMAL" property="hkje"/>
        <result column="HKFS" jdbcType="VARCHAR" property="hkfs"/>
        <result column="SKDW" jdbcType="VARCHAR" property="skdw"/>
        <result column="SKYHZH" jdbcType="VARCHAR" property="skyhzh"/>
        <result column="SKYHBH" jdbcType="VARCHAR" property="skyhbh"/>
        <result column="SHYHZHBH" jdbcType="VARCHAR" property="shyhzhbh"/>
        <result column="SFHWSKH" jdbcType="VARCHAR" property="sfhwskh"/>
        <result column="KHHSF" jdbcType="VARCHAR" property="khhsf"/>
        <result column="KHHCS" jdbcType="VARCHAR" property="khhcs"/>
        <result column="SKLX" jdbcType="VARCHAR" property="sklx"/>
        <result column="SEQ_NO" jdbcType="VARCHAR" property="seqNo"/>
        <result column="ISCOMPLETE" jdbcType="VARCHAR" property="iscomplete"/>
        <result column="SELECTED" jdbcType="VARCHAR" property="selected"/>
        <result column="ZLZXZT" jdbcType="VARCHAR" property="zlzxzt"/>
        <result column="YYZXZT" jdbcType="VARCHAR" property="yyzxzt"/>
        <result column="MSHKZT" jdbcType="VARCHAR" property="mshkzt"/>
        <result column="CWPCH" jdbcType="VARCHAR" property="cwpch"/>
        <result column="EJHKLX" jdbcType="VARCHAR" property="ejhklx"/>
        <result column="PZCLZT" jdbcType="VARCHAR" property="pzclzt"/>
        <result column="WYCLZT" jdbcType="VARCHAR" property="wyclzt"/>
        <result column="ACCOUNTING_ID" jdbcType="VARCHAR" property="accountingId"/>
        <result column="accrual_fee_id" jdbcType="VARCHAR" property="accrualFeeId"/>
        <result column="SUB_PROJECT_NAME" jdbcType="VARCHAR" property="subProjectName"/>
        <result column="com_iid" jdbcType="VARCHAR" property="comIid"/>
        <result column="SPECIAL_ACCOUN" jdbcType="VARCHAR" property="specialAccoun"/>
        <result column="fee_extends_obj" jdbcType="VARCHAR" property="feeExtendsObj"/>
        <result column="fee_extends_type" jdbcType="VARCHAR" property="feeExtendsType"/>
        <result column="fee_id" jdbcType="VARCHAR" property="feeId"/>
        <result column="fee_name" jdbcType="VARCHAR" property="feeName"/>
        <result column="voucher_id" jdbcType="VARCHAR" property="voucherId"/>
        <result column="batch_state" jdbcType="VARCHAR" property="batchState"/>
        <result column="account_state" jdbcType="VARCHAR" property="accountState"/>
        <result column="accrual_instetst_id" jdbcType="VARCHAR" property="accrualInstetstId"/><!-- 表2 -->
        <result column="accrual_proj_id" jdbcType="BIGINT" property="accrualProjId"/>
        <result column="proj_child_name" jdbcType="VARCHAR" property="projChildName"/>
        <result column="contract_id" jdbcType="VARCHAR" property="contractId"/>
        <result column="loan_id" jdbcType="VARCHAR" property="loanId"/>
        <result column="contract_type" jdbcType="VARCHAR" property="contractType"/>
        <result column="invest_type" jdbcType="VARCHAR" property="investType"/>
        <result column="is_buyback" jdbcType="VARCHAR" property="isBuyback"/>
        <result column="hava_tax" jdbcType="VARCHAR" property="havaTax"/>
        <result column="start_date" jdbcType="DATE" property="startDate"/>
        <result column="end_date" jdbcType="DATE" property="endDate"/>
        <result column="coin_type" jdbcType="VARCHAR" property="coinType"/>
        <result column="instetst_amount" jdbcType="DECIMAL" property="instetstAmount"/>
        <result column="tax_amount" jdbcType="DECIMAL" property="taxAmount"/>
        <result column="batch_desc" jdbcType="VARCHAR" property="batchDesc"/>
        <result column="account_desc" jdbcType="VARCHAR" property="accountDesc"/>
        <result column="IS_APPRAISE" jdbcType="VARCHAR" property="isAppraise"/>
        <result column="SFGZ" jdbcType="VARCHAR" property="sfgz"/>
        <result column="ZZJE" jdbcType="DECIMAL" property="zzje"/>
        <result column="ZZFE" jdbcType="DECIMAL" property="zzfe"/>
        <result column="WORK_ID" jdbcType="VARCHAR" property="workId"/>
        <result column="REIMB_NAME" jdbcType="VARCHAR" property="reimbName"/>
        <result column="YPCH" jdbcType="VARCHAR" property="ypch"/>
        <result column="YJYLSBH" jdbcType="VARCHAR" property="yjylsbh"/>
        <result column="REVERSE_BATCH_ID" jdbcType="VARCHAR" property="reverseBatchId"/>
        <result column="REVERSE_SERIAL_NO" jdbcType="VARCHAR" property="reverseSerialNo"/>
        <result column="DFSYK" jdbcType="DECIMAL" property="dfsyk"/>
        <result column="YSLX" jdbcType="DECIMAL" property="yslx"/>
        <result column="IFI_ID" jdbcType="VARCHAR" property="ifiId"/>
        <result column="JYXJJE" jdbcType="DECIMAL" property="jyxjje"/>
        <result column="JYXJFE" jdbcType="DECIMAL" property="jyxjfe"/>
        <result column="JYFXJJE" jdbcType="DECIMAL" property="jyfxjje"/>
        <result column="JYFXJFE" jdbcType="DECIMAL" property="jyfxjfe"/>
        <result column="JZXTLX" jdbcType="VARCHAR" property="jzxtlx"/>
        <result column="BFRZJE" jdbcType="DECIMAL" property="bfrzje"/>

    </resultMap>
    <resultMap id="BaseResultMap2" type="com.dhcc.finance.main.model.XmlxAndBalance">
        <result column="XMLX" jdbcType="DECIMAL" property="xmlx"/>
        <result column="BALANCE" jdbcType="VARCHAR" property="balance"/>
    </resultMap>
    <resultMap id="BaseResultMapGydd" type="com.dhcc.finance.main.model.FundProjectInfoGydd">
        <result column="userId" jdbcType="VARCHAR" property="userId"/>
        <result column="PK_GLORGBOOK" jdbcType="VARCHAR" property="pkGlorgbook"/>
        <result column="CODE" jdbcType="VARCHAR" property="code"/>
        <result column="PK_CURRPERIOD" jdbcType="VARCHAR" property="pkCurrperiod"/>
        <result column="balance" jdbcType="DECIMAL" property="balance"/>
        <result column="gdbc" jdbcType="DECIMAL" property="gdbc"/>
        <result column="fdbc" jdbcType="DECIMAL" property="fdbc"/>
        <result column="XTZXMBH" jdbcType="VARCHAR" property="xtzxmbh"/>
    </resultMap>
    <!-- 查询流水信息 -->
    <select id="selectFundsFlowInfo" parameterType="java.lang.String" resultMap="BaseResultMap"
            statementType="STATEMENT">
   	<![CDATA[
        ${sql}
        ]]>
   </select>
    <!-- 查询实收信托 -->
    <select id="searchPaidInTrust" parameterType="java.lang.String" resultMap="BaseResultMap2">
        select c.XMLX, round(sum(a.balance) / 100000000, 2) as balance
        from (
                 SELECT PK_GLORGBOOK, ifnull(sum(LOCALCREDITAMOUNT), 0) - ifnull(sum(LOCALDEBITAMOUNT), 0) as balance
                 FROM CW_GL_DETAIL
                 WHERE SUBJCODE LIKE '4001%'
                   and USE_STATE = '1'
                 group by PK_GLORGBOOK
             ) a,
             cw_bd_glorgbook b,
             (select XTZXMBH, XTZXMQC, case when xtcclx = '1' then dyjhbz else '3' end as XMLX from pm_project_child) c
        where a.PK_GLORGBOOK = b.PK_GLORGBOOK
          and b.XTZXMBH = c.XTZXMBH
        group by c.XMLX
    </select>
    <!-- 查询资产端规模 -->
    <select id="searchAssetScale" parameterType="java.lang.String" resultMap="BaseResultMap2">
        select c.XMLX, round(sum(a.balance) / 100000000, 2) as balance
        from (
                 SELECT PK_GLORGBOOK, ifnull(sum(LOCALDEBITAMOUNT), 0) - ifnull(sum(LOCALCREDITAMOUNT), 0) as balance
                 FROM CW_GL_DETAIL
                 WHERE LEFT(SUBJCODE, 4) in
                       ('1012', '1101', '1111', '1303', '1461', '1501', '1503', '1511', '1521', '1821', '1802')
                   and USE_STATE = '1'
                 group by PK_GLORGBOOK
             ) a,
             cw_bd_glorgbook b,
             (select XTZXMBH, XTZXMQC, case when xtcclx = '1' then dyjhbz else '3' end as XMLX from pm_project_child) c
        where a.PK_GLORGBOOK = b.PK_GLORGBOOK
          and b.XTZXMBH = c.XTZXMBH
        group by c.XMLX
    </select>

    <select id="selectAdvanceByXtxmbh" parameterType="java.lang.String" resultMap="BaseResultMapGydd">
   <![CDATA[
        select b.PK_GLORGBOOK,
               b.CODE,
               b.XTZXMBH,
               b.PK_CURRPERIOD,
               getUserIdFromWguRef(b.XTZXMBH, '5')           as userId,
               sum(a.LOCALCREDITAMOUNT - a.LOCALDEBITAMOUNT) as balance
        from cw_gl_detail a
                 left join cw_bd_glorgbook b on a.PK_GLORGBOOK = b.PK_GLORGBOOK
        where 1 = 1
          and b.XTXMBH = #{xtxmbh,jdbcType=VARCHAR}
          and a.SUBJCODE like '224102%'
          and a.use_state = '1'
        GROUP BY b.PK_GLORGBOOK
        having sum(a.LOCALCREDITAMOUNT - a.LOCALDEBITAMOUNT) <> 0
        ]]>
  </select>
<select id="selectAdvanceAndRemuneration" parameterType="java.lang.String" resultMap="BaseResultMapGydd">
<![CDATA[
SELECT
	t.PK_GLORGBOOK,t.CODE,t.XTZXMBH, t.PK_CURRPERIOD,t.userId,t.balance,c.gdbc,c.fdbc 
FROM
	(
SELECT
	b.PK_GLORGBOOK,b.CODE,b.XTZXMBH,b.PK_CURRPERIOD,getUserIdFromWguRef ( b.XTZXMBH, '5' ) AS userId,
	sum( a.LOCALCREDITAMOUNT - a.LOCALDEBITAMOUNT ) AS balance 
FROM
	cw_gl_detail a
	LEFT JOIN cw_bd_glorgbook b ON a.PK_GLORGBOOK = b.PK_GLORGBOOK 
WHERE
	a.SUBJCODE LIKE '224102%' 
	and b.xtxmbh = #{xtxmbh,jdbcType=VARCHAR}
	AND a.use_state = '1' 
GROUP BY
	b.PK_GLORGBOOK 
HAVING
	sum( a.LOCALCREDITAMOUNT - a.LOCALDEBITAMOUNT ) <> 0 
	) AS t
	JOIN (
	SELECT
	PK_GLORGBOOK,CODE,XTZXMBH,PK_CURRPERIOD,userId,sum(gdbc) as gdbc ,sum(fdbc) as fdbc
FROM
	(
	SELECT
	b.PK_GLORGBOOK,b.CODE,b.XTZXMBH,b.PK_CURRPERIOD,getUserIdFromWguRef ( b.XTZXMBH, '5' ) AS userId,
	sum( a.LOCALDEBITAMOUNT - a.LOCALCREDITAMOUNT ) AS gdbc,null as fdbc
FROM
	cw_gl_detail a
	LEFT JOIN cw_bd_glorgbook b ON a.PK_GLORGBOOK = b.PK_GLORGBOOK 
WHERE
	a.SUBJCODE LIKE '640801%' 
	and b.xtxmbh = #{xtxmbh,jdbcType=VARCHAR}
	AND a.use_state = '1' 
GROUP BY
	b.PK_GLORGBOOK 
	HAVING
	gdbc <> 0 
	union all
	SELECT
	b.PK_GLORGBOOK,b.CODE,b.XTZXMBH,b.PK_CURRPERIOD,getUserIdFromWguRef ( b.XTZXMBH, '5' ) AS userId,
	null as gdbc,sum( a.LOCALDEBITAMOUNT - a.LOCALCREDITAMOUNT ) AS fdbc 
FROM
	cw_gl_detail a
	LEFT JOIN cw_bd_glorgbook b ON a.PK_GLORGBOOK = b.PK_GLORGBOOK 
WHERE
	a.SUBJCODE LIKE '640802%' 
  and b.xtxmbh = #{xtxmbh,jdbcType=VARCHAR}
	AND a.use_state = '1' 
GROUP BY
	b.PK_GLORGBOOK 
	HAVING
	fdbc <> 0 
	) as t GROUP BY  PK_GLORGBOOK 
	) AS c ON t.XTZXMBH = c.XTZXMBH
	  ]]>
</select>
<select id="selectRemunerationByXtxmbh" parameterType="java.lang.String" resultMap="BaseResultMapGydd">
<![CDATA[
	SELECT
	PK_GLORGBOOK,CODE,XTZXMBH,PK_CURRPERIOD,userId,sum(gdbc) as gdbc,sum(fdbc) as fdbc
FROM
	(
	SELECT
	b.PK_GLORGBOOK,b.CODE,b.XTZXMBH,b.PK_CURRPERIOD,getUserIdFromWguRef ( b.XTZXMBH, '5' ) AS userId,
	sum( a.LOCALDEBITAMOUNT - a.LOCALCREDITAMOUNT ) AS gdbc,null as fdbc
FROM
	cw_gl_detail a
	LEFT JOIN cw_bd_glorgbook b ON a.PK_GLORGBOOK = b.PK_GLORGBOOK 
WHERE
	a.SUBJCODE LIKE '640801%' 
	and b.xtxmbh = #{xtxmbh,jdbcType=VARCHAR}
	AND a.use_state = '1' 
GROUP BY
	b.PK_GLORGBOOK 
	HAVING
	gdbc <> 0 
	union all
	SELECT
	b.PK_GLORGBOOK,b.CODE,b.XTZXMBH,b.PK_CURRPERIOD,getUserIdFromWguRef ( b.XTZXMBH, '5' ) AS userId,
	null as gdbc,sum( a.LOCALDEBITAMOUNT - a.LOCALCREDITAMOUNT ) AS fdbc 
FROM
	cw_gl_detail a
	LEFT JOIN cw_bd_glorgbook b ON a.PK_GLORGBOOK = b.PK_GLORGBOOK 
WHERE
	a.SUBJCODE LIKE '640802%' 
	and b.xtxmbh = #{xtxmbh,jdbcType=VARCHAR}
	AND a.use_state = '1' 
GROUP BY
	b.PK_GLORGBOOK 
	HAVING
	fdbc <> 0 
	) as t GROUP BY PK_GLORGBOOK ;
	]]>
</select>

</mapper>