瀏覽代碼

逾期合同数据迁移

shenziyin-gh 1 年之前
父節點
當前提交
32a22e94c5

+ 15 - 7
src/main/java/com/cool/bang/api/DataMatch.java

@@ -33,7 +33,7 @@ public class DataMatch {
     }
 
     /**
-     * 项目表导入
+     * 1项目表导入
      */
     @GetMapping("project")
     public void project(){
@@ -41,7 +41,7 @@ public class DataMatch {
     }
 
     /**
-     * 账户表导入
+     * 2账户表导入
      */
     @GetMapping("account")
     public void account(){
@@ -49,7 +49,7 @@ public class DataMatch {
     }
 
     /**
-     * 项目虚拟户、楼幢虚拟户表导入
+     * 3项目虚拟户、楼幢虚拟户表导入
      */
     @GetMapping("projectAccount")
     public void projectAccount(){
@@ -57,7 +57,7 @@ public class DataMatch {
     }
 
     /**
-     * 托管申请业务 托管协议导入
+     * 4 托管申请业务 托管协议导入
      */
     @GetMapping("trusteeshipBusiness")
     public void trusteeshipBusiness(){
@@ -65,7 +65,7 @@ public class DataMatch {
     }
 
     /**
-     * 监管开户申请业务表导入
+     * 7 监管开户申请业务表导入
      */
     @GetMapping("superviseBusiness")
     public void superviseBusiness(){
@@ -73,7 +73,7 @@ public class DataMatch {
     }
 
     /**
-     * 项目解除业务信息导入
+     * 6项目解除业务信息导入
      */
     @GetMapping("relieve")
     public void relieve(){
@@ -97,7 +97,7 @@ public class DataMatch {
     }
 
     /**
-     * 工程形象进度业务表、明细表导入
+     * 5 工程形象进度业务表、明细表导入
      */
     @GetMapping("progressBusiness")
     public void progressBusiness() {
@@ -122,6 +122,14 @@ public class DataMatch {
         mySQLService.htTo();
     }
 
+    /**
+     * 合同逾期
+     */
+    @GetMapping("contractOverdueTo")
+    public void contractOverdueTo(){
+        mySQLService.contractOverdueTo();
+    }
+
 
     /**
      *交存

+ 116 - 0
src/main/java/com/cool/bang/modules/mysql/domain/ContractOverdue.java

@@ -0,0 +1,116 @@
+package com.cool.bang.modules.mysql.domain;
+
+import java.util.Date;
+
+public class ContractOverdue {
+
+    private Long contractId;
+
+    private Long orgId;
+
+    private String OrgName;
+
+    private Long projectId;
+
+    private String projectName;
+
+    private String contractNumber;
+
+    private Date loanValidity;
+
+    private Date accumulationFundValidity;
+
+    private Integer payWay;
+
+    private Integer overdueCount;
+
+    private Integer isOverdue;
+
+    public Long getContractId() {
+        return contractId;
+    }
+
+    public void setContractId(Long contractId) {
+        this.contractId = contractId;
+    }
+
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
+    public String getOrgName() {
+        return OrgName;
+    }
+
+    public void setOrgName(String orgName) {
+        OrgName = orgName;
+    }
+
+    public Long getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(Long projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getContractNumber() {
+        return contractNumber;
+    }
+
+    public void setContractNumber(String contractNumber) {
+        this.contractNumber = contractNumber;
+    }
+
+    public Date getLoanValidity() {
+        return loanValidity;
+    }
+
+    public void setLoanValidity(Date loanValidity) {
+        this.loanValidity = loanValidity;
+    }
+
+    public Date getAccumulationFundValidity() {
+        return accumulationFundValidity;
+    }
+
+    public void setAccumulationFundValidity(Date accumulationFundValidity) {
+        this.accumulationFundValidity = accumulationFundValidity;
+    }
+
+    public Integer getPayWay() {
+        return payWay;
+    }
+
+    public void setPayWay(Integer payWay) {
+        this.payWay = payWay;
+    }
+
+    public Integer getOverdueCount() {
+        return overdueCount;
+    }
+
+    public void setOverdueCount(Integer overdueCount) {
+        this.overdueCount = overdueCount;
+    }
+
+    public Integer getIsOverdue() {
+        return isOverdue;
+    }
+
+    public void setIsOverdue(Integer isOverdue) {
+        this.isOverdue = isOverdue;
+    }
+}

+ 26 - 6
src/main/java/com/cool/bang/modules/mysql/mapper/MySqlMapper.java

@@ -14,6 +14,7 @@ public interface MySqlMapper {
 
     /**
      * 插入监管开户申请业务表数据
+     *
      * @param superviseBusinessList
      * @return
      */
@@ -23,19 +24,21 @@ public interface MySqlMapper {
 
     int insertSuperviseTo(SuperviseTo superviseTo);
 
-    int insertSuperviseToDetail(@Param("list")List<SuperviseToDetail> superviseToDetailList);
+    int insertSuperviseToDetail(@Param("list") List<SuperviseToDetail> superviseToDetailList);
 
-    int insertSuperviseToPosting(@Param("list")List<SuperviseToPosting> superviseToPostingList);
+    int insertSuperviseToPosting(@Param("list") List<SuperviseToPosting> superviseToPostingList);
 
-    int insertSuperviseToOutgoing(@Param("list")List<SuperviseToOutgoing> superviseToOutgoingList);
+    int insertSuperviseToOutgoing(@Param("list") List<SuperviseToOutgoing> superviseToOutgoingList);
 
     int insertProgress(Progress progress);
 
     int insertProgressDetail(@Param("list") List<ProgressDetail> progressDetailList);
 
+    int insertBatchContractOverdue(@Param("list") List<ContractOverdue> list);
+
     int insertAppropriation(Appropriation appropriation);
 
-    int insertAppropriationDetail(@Param("list")List<AppropriationDetail> appropriationDetails);
+    int insertAppropriationDetail(@Param("list") List<AppropriationDetail> appropriationDetails);
 
     int insertAppropriationOutgoing(AppropriationOutgoing outgoing);
 
@@ -67,38 +70,43 @@ public interface MySqlMapper {
 
     /**
      * 查询正常的 托管项目
+     *
      * @return
      */
     List<Map<String, Object>> selectTgXm();
 
     /**
      * 根据项目id 查询项目虚拟户
+     *
      * @param
      * @return
      */
     List<Map<String, Object>> selectXmAccountByProjectId(@Param("projectId") Long projectId);
 
-    List<Map<String, Object>> selectBuildingBy(@Param("projectId") Long id,@Param("projectAccountId") Long projectAccountId);
+    List<Map<String, Object>> selectBuildingBy(@Param("projectId") Long id, @Param("projectAccountId") Long projectAccountId);
 
     BigDecimal getAccountBalanceByNumber(@Param("buildingNumber") String buildingNumber);
 
     /**
      * 更新 building_account
+     *
      * @param lzbh
      * @param
      * @param
      * @return
      */
-    int updateBuildingAccountByLZBH(@Param("lzbh") String lzbh,@Param("name") String name,@Param("id") int id);
+    int updateBuildingAccountByLZBH(@Param("lzbh") String lzbh, @Param("name") String name, @Param("id") int id);
 
     /**
      * 查询八个托管账户的信息
+     *
      * @return
      */
     List<Account> selectTgAccountInfo();
 
     /**
      * 查询每个托管账户下的项目
+     *
      * @return
      */
     List<ProjectAccount> selectTgProjectAccountInfo(String bankCode);
@@ -115,6 +123,7 @@ public interface MySqlMapper {
 
     /**
      * 银行流水编号
+     *
      * @param serialNumbers
      * @return
      */
@@ -122,12 +131,14 @@ public interface MySqlMapper {
 
     /**
      * 获取托管账户的交存
+     *
      * @return
      */
     List<FundInfo> getTgFund();
 
     /**
      * 根据业务编号查询 交易 金额
+     *
      * @param businessNumber
      * @return
      */
@@ -135,6 +146,7 @@ public interface MySqlMapper {
 
     /**
      * 获取projectAccountId
+     *
      * @param aregId
      * @return
      */
@@ -165,4 +177,12 @@ public interface MySqlMapper {
 
     // 更新p_lpb_xmxx 状态
     int updateProjectStatus();
+
+    /**
+     * 获取逾期合同
+     *
+     * @return
+     */
+    ContractOverdue getOverdueContract(@Param("contractNumber") String contractNumber);
+
 }

+ 64 - 35
src/main/java/com/cool/bang/modules/mysql/service/MySQLService.java

@@ -336,7 +336,7 @@ public class MySQLService {
 
                 //需要判断 什么时候插入的签章信息
                 if (bxmxy.getCadocid() != null && bxmxy.getCaxyid() != null) {
-                    Signatory signatory = new Signatory(bxmxy,trusteeshipAgreement);
+                    Signatory signatory = new Signatory(bxmxy, trusteeshipAgreement);
                     List<Signatory> signatoryList = new ArrayList<>();
                     signatoryList.add(signatory.getSignatory());
                     signatoryList.add(signatory.getSignatory2());
@@ -450,8 +450,8 @@ public class MySQLService {
 
             List<RelieveDetail> relieveDetails = new ArrayList<>();
             List<OracleRelieveDetail> oracleRelieveDetails = applyMapper.selectRelieveDetails(oracleRelieve.getAppId());
-            if (oracleRelieveDetails != null  && oracleRelieveDetails.size() > 0
-                    && oracleRelieveDetails.get(0) != null  && !StringUtils.isEmpty(oracleRelieveDetails.get(0).getBuildingNumber())) {
+            if (oracleRelieveDetails != null && oracleRelieveDetails.size() > 0
+                    && oracleRelieveDetails.get(0) != null && !StringUtils.isEmpty(oracleRelieveDetails.get(0).getBuildingNumber())) {
                 StringBuilder relieveBuilding = new StringBuilder();
                 for (OracleRelieveDetail detail : oracleRelieveDetails) {
                     BuildingAccount building = buildingAccountMapper.selectByBuildingNumber(detail.getBuildingNumber());
@@ -460,7 +460,7 @@ public class MySQLService {
                     relieveDetails.add(relieveDetail);
                     relieveBuilding.append(building.getBuildingName()).append(",");
                 }
-                String buildingNames = relieveBuilding.toString().substring(0, relieveBuilding.length() -1);
+                String buildingNames = relieveBuilding.toString().substring(0, relieveBuilding.length() - 1);
                 mySqlMapper.updateRelieveBuilding(relieve.getId(), buildingNames);
                 mySqlMapper.insertRelieveDetail(relieveDetails);
                 buildingAccountMapper.updateRelieve(relieveDetails, relieve.getUpdateTime());
@@ -470,7 +470,7 @@ public class MySQLService {
             // ------------------------------ 项目解除审批记录 ----------------------------------
 
             List<ApprovalRecord> approvalRecords = new ArrayList<>();
-            List<OracleApprovalRecord> oracleApprovalRecords =  applyMapper.selectRelieveRecord(oracleRelieve.getAppId());
+            List<OracleApprovalRecord> oracleApprovalRecords = applyMapper.selectRelieveRecord(oracleRelieve.getAppId());
             for (OracleApprovalRecord approval : oracleApprovalRecords) {
                 ApprovalRecord record = new ApprovalRecord();
                 record.setBusinessNumber(relieve.getBusinessNumber());
@@ -794,7 +794,7 @@ public class MySQLService {
 
     /**
      * 拨付业务信息导入
-     *
+     * <p>
      * 监管拨付
      * 额度内拨付(apptype=6 flowid=4)
      * 业务表只存一条数据 监管出账通知书插入一条数据
@@ -808,22 +808,22 @@ public class MySQLService {
      * 业务表只存一条数据 托管出账通知书插入一条数据
      * -----------------------------------------------------------------------------
      * 正常拨付:
-     *  gdaccountid不为空时,即 托管户 -> 监管户 -> 一般户
-     *  业务表插入两条数据 1.托管户->监管户 2.监管户->一般户
-     *  托管出账通知书 监管入账通知书 监管出账通知书
-     *
-     *  gdaccountid为空时, 即 托管户 -> 账户(这里填入的可能为监管户也可能为一般户,但是统一视为一般户处理)
-     *  业务表插入一条数据
-     *  托管出账通知书插入一条数据
+     * gdaccountid不为空时,即 托管户 -> 监管户 -> 一般户
+     * 业务表插入两条数据 1.托管户->监管户 2.监管户->一般户
+     * 托管出账通知书 监管入账通知书 监管出账通知书
+     * <p>
+     * gdaccountid为空时, 即 托管户 -> 账户(这里填入的可能为监管户也可能为一般户,但是统一视为一般户处理)
+     * 业务表插入一条数据
+     * 托管出账通知书插入一条数据
      * -----------------------------------------------------------------------------
      * 额度外拨付(apptype=19 flowid=19)
-     *  gdaccountid不为空时,即 托管户 -> 监管户 -> 一般户
-     *  业务表插入两条数据 1托管户->监管户 2监管户->一般户
-     *  托管出账通知书 监管入账通知书 监管出账通知书
-     *
-     *  gdaccountid为空时, 即 托管户 -> 账户(这里填入的可能为监管户也可能为一般户,但是统一视为一般户处理)
-     *  业务表插入一条数据
-     *  托管出账通知书插入一条数据
+     * gdaccountid不为空时,即 托管户 -> 监管户 -> 一般户
+     * 业务表插入两条数据 1托管户->监管户 2监管户->一般户
+     * 托管出账通知书 监管入账通知书 监管出账通知书
+     * <p>
+     * gdaccountid为空时, 即 托管户 -> 账户(这里填入的可能为监管户也可能为一般户,但是统一视为一般户处理)
+     * 业务表插入一条数据
+     * 托管出账通知书插入一条数据
      */
     @Transactional
     public void trusteeshipAppropriation() {
@@ -926,14 +926,11 @@ public class MySQLService {
             // 如果是流程结束
             if (oracleAppropriation.getFlowState().equals(0)) {
                 appropriation.setBusinessState(3);
-            }
-            else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("保存")) {
+            } else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("保存")) {
                 appropriation.setBusinessState(0);
-            }
-            else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("托管额度内资金申请上报")) {
+            } else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("托管额度内资金申请上报")) {
                 appropriation.setBusinessState(1);
-            }
-            else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("托管额度内资金申请初审不通过")) {
+            } else if (oracleAppropriation.getFlowState().equals(1) && oracleAppropriation.getFlowNodeName().equals("托管额度内资金申请初审不通过")) {
                 appropriation.setBusinessState(4);
             }
 
@@ -1058,7 +1055,7 @@ public class MySQLService {
             appropriation.setAppropriationType(2);
             appropriation.setCollectionType(2);
             if (oracleAppropriationDetails != null && oracleAppropriationDetails.size() != 0) {
-                appropriation.setCollectionBank(oracleAppropriationDetails.get(0) == null ? "":oracleAppropriationDetails.get(0).getCollectionBank());
+                appropriation.setCollectionBank(oracleAppropriationDetails.get(0) == null ? "" : oracleAppropriationDetails.get(0).getCollectionBank());
                 appropriation.setCollectionName(oracleAppropriationDetails.get(0).getCollectionName());
                 appropriation.setCollectionAccount(oracleAppropriationDetails.get(0).getCollectionAccount());
                 appropriation.setApplicationState(oracleAppropriationDetails.get(0).getPayFlag());
@@ -1212,7 +1209,7 @@ public class MySQLService {
             contract.setProjectName(project.getProjectName());
 
             // 查询房屋信息
-            P_lpb_fw fw = fwMapper.getFwByMissid(item.getFWBH(),1);
+            P_lpb_fw fw = fwMapper.getFwByMissid(item.getFWBH(), 1);
 
             // 查询交易表
             List<BhtTrade> bhtTrades = oracleMapper.getBhtPayTradeByBHTID(item.getHTID());
@@ -1239,7 +1236,7 @@ public class MySQLService {
                 contract.setCollectionAccount(account.getAccount());
                 contract.setCollectionOpenAddress(account.getOpenAddress());
             } else {
-                System.out.println(" >>>>>>>> 快来看看,你的数据:"+ item.getHTID());
+                System.out.println(" >>>>>>>> 快来看看,你的数据:" + item.getHTID());
             }
 
             contracts.add(contract);
@@ -1358,14 +1355,14 @@ public class MySQLService {
             StringBuilder str = new StringBuilder();
             str.append(item.getBusinessNumber())
                     .append(";" + item.getAccount())
-                    .append(";" + (item.getType().equals(1)?item.getAmount():0))
-                    .append(";" + (item.getType().equals(1)?0:item.getAmount()))
+                    .append(";" + (item.getType().equals(1) ? item.getAmount() : 0))
+                    .append(";" + (item.getType().equals(1) ? 0 : item.getAmount()))
                     .append(";" + item.getTransactionTime())
-                    .append(";" + (item.getType().equals(1)?"收入":"支出"));
+                    .append(";" + (item.getType().equals(1) ? "收入" : "支出"));
             strs.add(str.toString());
         }
         strs.forEach(System.out::println);
-        System.out.println("总计:"+ strs.size());
+        System.out.println("总计:" + strs.size());
     }
 
     public void selectOrgAccount() {
@@ -1379,13 +1376,13 @@ public class MySQLService {
                     .append(";" + item.getProjectName())
                     .append(";" + item.getName())
                     .append(";" + item.getAccount())
-                    ;
+            ;
             strs.add(str.toString());
         });
         strs.forEach(System.out::println);
     }
 
-    public void projectAccount2 () {
+    public void projectAccount2() {
         List<ProjectAccountTrade> payments = mySqlMapper.selectPaymentTrade();
 
         BigDecimal ba = new BigDecimal("0");
@@ -1441,4 +1438,36 @@ public class MySQLService {
 
         strs.forEach(System.out::println);
     }
+
+    /**
+     * 处理合同逾期
+     */
+    @Transactional
+    public void contractOverdueTo() {
+        List<HtInfo> htInfoList = oracleMapper.selectYqHtInfo();
+        List<ContractOverdue> list = new ArrayList<>();
+        for (HtInfo yqht : htInfoList) {
+            //获取逾期合同
+            ContractOverdue overdue = mySqlMapper.getOverdueContract(yqht.getHTBH());
+            if (null == overdue) {
+                continue;
+            }
+            //延期次数大于6次的设置成0次
+            overdue.setOverdueCount(yqht.getCount() > 6 ? 0 : yqht.getCount());
+            overdue.setLoanValidity(yqht.getSdyqdate());
+            overdue.setAccumulationFundValidity(yqht.getGjjyqdate());
+            //查看是否已经交完款  交完款的 逾期设置为
+            if (yqht.getTradeAmount().compareTo(yqht.getHTZJ()) > -1) {
+                overdue.setIsOverdue(1);//正常
+            } else {
+                overdue.setIsOverdue(0);//逾期
+            }
+            list.add(overdue);
+        }
+
+        if(!list.isEmpty()){
+            mySqlMapper.insertBatchContractOverdue(list);
+        }
+
+    }
 }

+ 43 - 0
src/main/java/com/cool/bang/modules/oracle/domain/po/HtInfo.java

@@ -67,6 +67,17 @@ public class HtInfo {
     //逾期
     private String YQFLAG;
 
+    //商贷逾期时间
+    private Date sdyqdate;
+
+    //公积金逾期时间
+    private Date gjjyqdate;
+
+    //逾期次数
+    private Integer count;
+
+    //实际交款
+    private BigDecimal tradeAmount;
 
 
     public String getHTBH() {
@@ -228,4 +239,36 @@ public class HtInfo {
     public void setYQFLAG(String YQFLAG) {
         this.YQFLAG = YQFLAG;
     }
+
+    public Date getSdyqdate() {
+        return sdyqdate;
+    }
+
+    public void setSdyqdate(Date sdyqdate) {
+        this.sdyqdate = sdyqdate;
+    }
+
+    public Date getGjjyqdate() {
+        return gjjyqdate;
+    }
+
+    public void setGjjyqdate(Date gjjyqdate) {
+        this.gjjyqdate = gjjyqdate;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public BigDecimal getTradeAmount() {
+        return tradeAmount;
+    }
+
+    public void setTradeAmount(BigDecimal tradeAmount) {
+        this.tradeAmount = tradeAmount;
+    }
 }

+ 13 - 0
src/main/java/com/cool/bang/modules/oracle/mapper/OracleMapper.java

@@ -106,4 +106,17 @@ public interface OracleMapper {
      * Return
      */
     List<Refund> selectRefundInfo();
+
+    /**
+     * 根据项目编号查询监管余额
+     * @param xmbh
+     * @return
+     */
+    BigDecimal getJgBalanceByXmbh(@Param("xmbh") String xmbh);
+
+    /**
+     * 获取逾期合同
+     * @return
+     */
+    List<HtInfo> selectYqHtInfo();
 }

+ 21 - 2
src/main/resources/mapper/mysql/MySQLMapper.xml

@@ -127,6 +127,17 @@
         </foreach>
     </insert>
 
+    <insert id="insertBatchContractOverdue">
+        insert into
+        fc_contract_overdue (org_id,org_name,project_id,project_name,contract_id,contract_number,loan_validity,accumulation_fund_validity,
+                             pay_way,overdue_count,is_overdue,del_flag)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.orgId},#{item.orgName},#{item.projectId},#{item.projectName},#{item.contractId},#{item.contractNumber},#{item.loanValidity},
+             #{item.accumulationFundValidity},#{item.payWay},#{item.overdueCount},#{item.isOverdue},1)
+        </foreach>
+    </insert>
+
     <!--  插入拨付申请业务数据  -->
     <insert id="insertAppropriation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         insert into fc_appropriation (id, business_number, bank_code, org_id, org_name, project_id, project_account_id,
@@ -304,7 +315,7 @@
         (business_number,bank_code,contract_number,contract_id,contract_price,org_id,org_name,project_account_id,project_name,project_number,
         buyer,id_card,account_id,account_type,appropriation_bank,appropriation_account,collection_bank,collection_name,collection_account,
         refund_amount,signer,signer_phone,flow_number,flow_node_id,flow_node_name,business_state,appropriation_status,del_flag,
-        building_account_id,building_name,house_address,create_time,remark)
+        building_account_id,building_name,house_address,create_time)
         values
             (#{businessNumber},#{bankCode},#{contractNumber},#{contractId},#{contractPrice},#{orgId},
             #{orgName},#{projectAccountId},#{projectName},#{projectNumber},#{buyer},#{idCard},
@@ -312,7 +323,7 @@
             #{collectionName},#{collectionAccount},#{refundAmount},
             #{signer},#{signerPhone},#{flowNumber},#{flowNodeId},#{flowNodeName},#{businessState},
             #{appropriationStatus},#{delFlag},#{buildingAccountId},#{buildingName},#{houseAddress},
-            #{createTime},#{remark})
+            #{createTime})
     </insert>
 
     <select id="getInfoByNumber" resultType="com.cool.bang.modules.mysql.domain.ContractInfo">
@@ -461,4 +472,12 @@
     <update id="updateProjectStatus">
         update fc_project t, p_lpb_xmxx t2 set t2.tgzt = 1 where t2.xmbh = t.project_number;
     </update>
+
+    <select id="getOverdueContract" resultType="com.cool.bang.modules.mysql.domain.ContractOverdue">
+        select
+            id AS contractId,contract_number AS contractNumber,org_id AS orgId,org_name AS orgName,project_id AS projectId,project_name AS projectName,
+            pay_way AS payWay
+        from fc_contract
+        where contract_number = #{contractNumber} and is_refund = 0
+    </select>
 </mapper>

+ 24 - 0
src/main/resources/mapper/oracle/OracleMapper.xml

@@ -71,6 +71,23 @@
         where t1.STATE = 1
     </select>
 
+    <select id="selectYqHtInfo" resultType="com.cool.bang.modules.oracle.domain.po.HtInfo">
+        SELECT
+            NVL(SUM(tra.TRADEAMOUNT),0) AS tradeAmount,
+            h.HTBH,
+            MAX(h.HTZJ) AS HTZJ,
+            NVL(MAX(h.COUNT),0) AS count,
+            MAX(h.sdyqdate) AS sdyqdate,
+            MAX(h.gjjyqdate) AS gjjyqdate
+        FROM
+            BHT h
+                LEFT JOIN BHTPAY hp ON h.HTID = hp.HTID
+                LEFT JOIN TRADE tra ON tra.TRADENUM = hp.JKBH AND hp.STATE = 1
+        WHERE
+            h.STATE = 1
+          AND h.yqflag = 1
+        GROUP BY h.HTBH
+    </select>
 
     <select id="selectHtPayInfo" resultType="com.cool.bang.modules.oracle.domain.po.HtPay">
         SELECT
@@ -311,4 +328,11 @@
         WHERE
             t.state = 1 AND t.APPTYPE = 8
     </select>
+
+    <select id="getJgBalanceByXmbh" resultType="decimal">
+        SELECT NVL(SUM(ai.checkjgbalance),0) AS jgBalance
+            FROM AREG a
+            LEFT JOIN AREGITEM  ai ON a.AREGID = ai.AREGID AND ai.STATE = 1
+        WHERE a.XMBH =#{xmbh} AND a.STATE = 1
+    </select>
 </mapper>