소스 검색

1: 代码提交

171250443 1 년 전
부모
커밋
1e80444044

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

@@ -85,10 +85,10 @@ public class DataMatch {
     /**
      * 监管开户解除业务表导入
      */
-   /* @GetMapping("superviseRelieve")
+    @GetMapping("superviseRelieve")
     public void superviseRelieve(){
-        mySQLService.superviseRelieve();
-    }*/
+        //mySQLService.superviseRelieve();
+    }
 
     /**
      * 监管资金转托管业务表、明细表导入

+ 4 - 3
src/main/java/com/cool/bang/modules/mysql/domain/BuildingAccount.java

@@ -145,16 +145,17 @@ public class BuildingAccount {
         this.keepPercentage = aregItem.getLcbl();
         this.keepAmount = aregItem.getLcje();
         this.superviseAmount = aregItem.getJgzj();
-        this.inTransitFund = new BigDecimal("0");
+        //this.inTransitFund = new BigDecimal("0");
 
         this.accountType = project.getType();
         // 若为监管项目时,楼幢虚拟户中不记录账户余额和在途资金 默认为0
         if (accountType == 2) {
             this.accountBalance = BigDecimal.ZERO;
             this.inTransitFund = BigDecimal.ZERO;
-        } else {
+        }
+        if (accountType == 1) {
             this.accountBalance = aregItem.getTgye() == null?BigDecimal.ZERO:aregItem.getTgye();
-            this.inTransitFund = BigDecimal.ZERO;
+            this.inTransitFund = aregItem.getTgzt();
         }
 
         if (project.getType() == 1 && aregItem.getJazj().compareTo(2500) == 0) {

+ 135 - 38
src/main/java/com/cool/bang/modules/mysql/domain/Contract.java

@@ -7,6 +7,7 @@ import org.apache.ibatis.type.Alias;
 import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 public class Contract {
@@ -192,62 +193,129 @@ public class Contract {
      */
     private Integer isRescind;
 
+
+    private BigDecimal paidAmount;
+
+    private BigDecimal unpaidAmount;
+
     /**
      * 删除标识 1正常 0删除
      */
     private Integer delFlag;
 
+    private Date createTime;
+
     //是否逾期
     private Integer isOverdue;
 
     //交存状态 0 待缴存  1首期已交存  2交存完成或不需要交存
     private Integer paymentStatus;
 
-    public Contract(HtInfo htInfo, BuildingAccount buildingAccount, Org org, P_lpb_fw fw, ProjectAccount projectAccount, List<BhtTrade> bhtTrades) {
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public BigDecimal getPaidAmount() {
+        return paidAmount;
+    }
+
+    public void setPaidAmount(BigDecimal paidAmount) {
+        this.paidAmount = paidAmount;
+    }
+
+    public BigDecimal getUnpaidAmount() {
+        return unpaidAmount;
+    }
+
+    public void setUnpaidAmount(BigDecimal unpaidAmount) {
+        this.unpaidAmount = unpaidAmount;
+    }
+
+    public Contract() {}
+
+    public void initValueConfig(HtInfo htInfo,  P_lpb_fw fw,  List<BhtTrade> bhtTrades) {
         this.contractNumber = htInfo.getHTBH();
-        this.orgId = org.getId();
-        this.orgName = org.getOrgName();
-        this.projectId = projectAccount.getProjectId();
-        this.projectAccountId = projectAccount.getId();
-        this.projectName = projectAccount.getProjectName();
-        this.projectNumber = projectAccount.getProjectNumber();
-        this.buildingId = buildingAccount.getBuildingId();
-        this.buildingAccountId = buildingAccount.getId();
-        this.buildingNumber = buildingAccount.getBuildingNumber();
-        this.buildingName = buildingAccount.getBuildingName();
-        if (null != fw) {
-            this.houseAddress = fw.getXxdz();
-            this.houseArea = fw.getJzmj();
-            this.houseUse = fw.getYt();
-            this.houseId = fw.getId();
-        }
         this.buyer = htInfo.getBUYERNAME();
         this.idCard = htInfo.getBUYERCODE();
         this.payWay = getPayWat(htInfo.getPAYMODEL());
         this.contractPrice = htInfo.getHTZJ();
         this.signTime = null != htInfo.getHTDATE() ? DateUtil.dateToStr(htInfo.getHTDATE(), "yyyy-MM-dd HH:mm:ss") : null;
-        this.accountType = StringUtils.isEmpty(htInfo.getJGLX()) ? null : Integer.valueOf(htInfo.getJGLX());
-        this.accountId = null;
-        this.bankCode = null;
-        this.collectionOpenAddress = null;
-        this.collectionAccount = null;
-        this.collectionName = null;
-        this.collectionBank = null;
+        this.createTime = htInfo.getHTDATE();
+        this.accountType = Integer.parseInt(htInfo.getJGLX()) == 1 ? 1 : 2;
+        // 如果为空,这未抵押,如果是1则抵押
         this.isMortgage = (!StringUtils.isEmpty(htInfo.getSGSTATE()) && "1".equals(htInfo.getSGSTATE())) ? 1 : 0;
-        this.isRefund = (!StringUtils.isEmpty(htInfo.getTKSTATE()) && "1".equals(htInfo.getTKSTATE())) ? 1 : 0;
+        // 如果为0,这未退款 如果是1 则已退款
+        this.isRefund = "1".equals(htInfo.getTKSTATE()) ? 1 : 0;
+        //
         this.isEarnest = null != htInfo.getHTDJ() ? 1 : 0;
-        this.isRescind = (!StringUtils.isEmpty(htInfo.getCXSTATE()) && "1".equals(htInfo.getCXSTATE())) ? 1 : 0;
+        //  如果为0 这未撤销,如果是1 则已撤销
+        this.isRescind = "1".equals(htInfo.getCXSTATE()) ? 1 : 0;
         this.delFlag = 1;
-        this.isOverdue = (!StringUtils.isEmpty(htInfo.getYQFLAG()) && "1".equals(htInfo.getYQFLAG())) ? 1 : 0;
+        //  如果为0 这未逾期,如果是1 已逾期
+        this.isOverdue =  "1".equals(htInfo.getYQFLAG()) ? 1 : 0;
+
+        if (null != fw) {
+            this.houseAddress = fw.getXxdz();
+            this.houseArea = fw.getJzmj(); // 预测面积
+            this.houseUse = fw.getYt();
+            this.houseId = fw.getId();
+        }
+
+
+
+
         if (null != bhtTrades && !bhtTrades.isEmpty()) {
             //交易总金额
+            // 首期款
+            BigDecimal oneAmount = BigDecimal.ZERO;
+            // 分期款、商贷
+            BigDecimal twoAmount = BigDecimal.ZERO;
+            // 公积金
+            BigDecimal threeAmount = BigDecimal.ZERO;
             BigDecimal totalAmount = BigDecimal.ZERO;
-/*            BhtTrade sfkTrade = bhtTrades.stream().filter(t -> null != t.getPayType() && t.getPayType().equals(1)).findFirst().orElse(null);
-            BigDecimal sfk = null != sfkTrade ? sfkTrade.getJkje() : BigDecimal.ZERO;*/
             for (BhtTrade trade : bhtTrades) {
                 if (null != trade.getTradeId() && null != trade.getTradeAmount()) {
                     totalAmount = totalAmount.add(trade.getTradeAmount());
                 }
+                if (trade.getPayType().equals(1)) {
+                    oneAmount  = oneAmount.add(trade.getJkje());
+                } else if (trade.getPayType().equals(3)) {
+                    threeAmount = threeAmount.add(trade.getJkje());
+                } else {
+                    twoAmount = twoAmount.add(trade.getJkje());
+                }
+            }
+
+            this.paidAmount = totalAmount;
+            this.unpaidAmount = htInfo.getHTZJ().subtract(totalAmount);
+            // 一次性付款
+            if (this.payWay.equals(1)) {
+                paymentAmount1 = htInfo.getHTZJ();
+            }
+            // 分期
+            if (this.payWay.equals(2)) {
+                paymentAmount1 = oneAmount;
+                paymentAmount2 = twoAmount;
+            }
+            // 商贷
+            if (this.payWay.equals(3)) {
+                paymentAmount1 = oneAmount;
+                paymentAmount3 = twoAmount;
+            }
+            // 公积金贷款
+            if (this.payWay.equals(4)) {
+                paymentAmount1 = oneAmount;
+                paymentAmount4 = threeAmount;
+            }
+            // 组合贷款
+            if (this.payWay.equals(5)) {
+                paymentAmount1 = oneAmount;
+                paymentAmount3 = twoAmount;
+                paymentAmount4 = threeAmount;
             }
             //交易明细的总金额 大于等于 合同的总金额  则
             if (totalAmount.compareTo(htInfo.getHTZJ()) > -1) {
@@ -262,20 +330,49 @@ public class Contract {
         }
     }
 
+    /**
+     * 努力向前:
+     * 收到,兄弟
+     *
+     * 努力向前:
+     * paymodelMap.put("商业贷款", "01");
+     * 		paymodelMap.put("公积金贷款", "02");
+     * 		//paymodelMap.put("部队公积金", "06");
+     * 		paymodelMap.put("一次性付款", "03");
+     * 		paymodelMap.put("商贷+公积金贷款", "04");
+     * 		//paymodelMap.put("商贷+部队公积金", "07");
+     * 		paymodelMap.put("其他", "05");
+     * 		paymodelMap.put("分2期付款", "12");
+     * 		paymodelMap.put("分3期付款", "13");
+     * 		paymodelMap.put("分4期付款", "14");
+     * 		paymodelMap.put("分5期付款", "15");
+     * 	1一次性付款 2分期付款 3商业贷款 4公积金贷款 5组合贷款
+     *
+     * @param paymodel
+     * @return
+     */
     private Integer getPayWat(String paymodel) {
         switch (paymodel) {
-            case "1"://商业贷款
+            case "03": // 一次性付款
+                return 1;
+            case "12": //分期
+                return 2;
+            case "13": //分期
+                return 2;
+            case "14": //分期
+                return 2;
+            case "15": //分期
+                return 2;
+            case "01": // 商业贷款
                 return 3;
-            case "2"://公积金贷款
+            case "2": // 商业贷款
+                return 3;
+            case "02": // 公积金贷款
                 return 4;
-            case "3"://一次性付款
-                return 1;
-            case "4"://组合贷
+            case "04": // 组合贷
                 return 5;
-            case "5"://其他
-                return 6;
-            default://分期
-                return 2;
+            default:
+                return 0;
         }
     }
 

+ 12 - 0
src/main/java/com/cool/bang/modules/mysql/domain/Earnest.java

@@ -3,6 +3,7 @@ package com.cool.bang.modules.mysql.domain;
 import com.cool.bang.modules.oracle.domain.po.BDj;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 
 public class Earnest {
@@ -144,6 +145,8 @@ public class Earnest {
      */
     private Integer connectStatus;
 
+    private Date createTime;
+
     private String remark;
     /**
      * 删除标识 1正常 0删除
@@ -197,6 +200,7 @@ public class Earnest {
         }
         this.connectStatus = null != item.getHTID() ? 1 : 0;
         this.delFlag = 1;
+        this.createTime = item.getCreateTime();
     }
 
 
@@ -416,6 +420,14 @@ public class Earnest {
         this.connectStatus = connectStatus;
     }
 
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
     public Integer getDelFlag() {
         return delFlag;
     }

+ 4 - 4
src/main/java/com/cool/bang/modules/mysql/domain/ProjectAccount.java

@@ -126,8 +126,8 @@ public class ProjectAccount {
             if (aregItem != null && aregItem.getAregitemid() != null) {
                 BuildingAccount buildingAccount = new BuildingAccount(project,aregItem);
                 buildingAccountList.add(buildingAccount);
-                jgzt = jgzt.add(aregItem.getJgzt()==null?BigDecimal.ZERO:aregItem.getJgzt());
-                tgzt = tgzt.add(aregItem.getTgzt()==null?BigDecimal.ZERO:aregItem.getTgzt());
+                jgzt = jgzt.add(aregItem.getJgzt());
+                tgzt = tgzt.add(aregItem.getTgzt());
                 jgmj = jgmj.add(aregItem.getJzmj());
                 jgye = jgye.add(aregItem.getJgye());
                 tgye = tgye.add(aregItem.getTgye());
@@ -156,8 +156,8 @@ public class ProjectAccount {
         //this.keepAmount = areg.getLcje();//留存金额 (楼幢监管面积 * 楼幢建筑成本 * 楼幢留存比例) lcje
         this.trusteeshipBalance = tgye;//托管余额 checkbacnlce
         this.superviseBalance = jgye;//监管余额 checkjgbanlece
-        this.trusteeshipInTransitFund = new BigDecimal("0");//托管在途资金
-        this.superviseInTransitFund = new BigDecimal("0");//监管在途资金
+        this.trusteeshipInTransitFund = tgzt;//托管在途资金
+        this.superviseInTransitFund = jgzt;//监管在途资金
         this.buildCostId = project.getBuildCostId();
         this.buildCostName = project.getBuildCostName();
         this.createTime = areg.getXmrq();

+ 58 - 15
src/main/java/com/cool/bang/modules/mysql/service/MySQLService.java

@@ -9,6 +9,7 @@ import com.cool.bang.modules.mysql.mapper.*;
 import com.cool.bang.modules.oracle.domain.*;
 import com.cool.bang.modules.oracle.domain.po.*;
 import com.cool.bang.modules.oracle.mapper.*;
+import com.sun.org.apache.bcel.internal.generic.RETURN;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -180,6 +181,7 @@ public class MySQLService {
                     Building building = buildingMapper.selectByBuildingNumber(aregItem.getLzbh());
                     aregItem.setBuilding(building);
                     //查询楼幢虚拟户托管、监管在途资金
+                    System.out.println();
                     aregItem.setTgzt(aregMapper.selectLzTgzt(aregItem.getAregitemid()));
                     aregItem.setJgzt(aregMapper.selectLzJgzt(aregItem.getAregitemid()));
                 }
@@ -1128,22 +1130,63 @@ public class MySQLService {
         List<Contract> contracts = new ArrayList<>();
 
         int index = 0;
+
         for (HtInfo item : htInfoList) {
-            Integer qybh = StringUtils.isEmpty(item.getQYBH()) ? null : Integer.valueOf(item.getQYBH());
-            Org org = qyxxMapper.selectOrgByMisid(qybh);
-            if (org == null) { //测试用
-                org = new Org();
-                org.setId(3);
-                org.setOrgName("山东酷邦软件有限公司");
-            }
-            BuildingAccount buildingAccount = buildingAccountMapper.getInfoByLZBH(item.getLZBH());
-            Long projectAccountId = (null != buildingAccount && null != buildingAccount.getProjectAccountId()) ? buildingAccount.getProjectAccountId() : null;
-            ProjectAccount projectAccount = projectAccountMapper.getInfoById(projectAccountId);
+            Contract contract = new Contract();
+            // 查询企业
+            Org org = qyxxMapper.selectOrgByMisid(Integer.parseInt(item.getQYBH()));
+            contract.setOrgId(org.getId());
+            contract.setOrgName(org.getOrgName());
+
+            // 查询楼幢虚拟户
+            BuildingAccount building = buildingAccountMapper.getInfoByLZBH(item.getLZBH());
+            contract.setBuildingId(building.getBuildingId());
+            contract.setBuildingAccountId(building.getId());
+            contract.setBuildingNumber(building.getBuildingNumber());
+            contract.setBuildingName(building.getBuildingName());
+
+            // 查询项目虚拟户
+            ProjectAccount project = projectAccountMapper.getInfoById(building.getProjectAccountId());
+            contract.setProjectId(project.getProjectId());
+            contract.setProjectAccountId(project.getId());
+            contract.setProjectNumber(project.getProjectNumber());
+            contract.setProjectName(project.getProjectName());
+
+            // 查询房屋信息
             P_lpb_fw fw = fwMapper.getFwByMissid(item.getFWBH());
+
+            // 查询交易表
             List<BhtTrade> bhtTrades = oracleMapper.getBhtPayTradeByBHTID(item.getHTID());
 
-            Contract contract = new Contract(item, buildingAccount, org, fw, projectAccount, bhtTrades);
+            String bankAccount = "";
+            BigDecimal amount = new BigDecimal("0");
+            for (BhtTrade bhtTrade : bhtTrades) {
+                amount = amount.add(bhtTrade.getJkje());
+                if (bankAccount.equals("") && bhtTrade.getPayType().equals(1)) {
+                    bankAccount = bhtTrade.getBankAccount();
+                }
+            }
+
+            contract.initValueConfig(item, fw, bhtTrades);
+
+
+            // 银行
+            if (!StringUtils.isEmpty(bankAccount)) {
+                Account account = accountMapper.selectByAccountNO(bankAccount);
+                contract.setAccountId(account.getId());
+                contract.setAccountType(account.getType());
+                contract.setBankCode(account.getBankCode());
+                contract.setCollectionBank(account.getBankName());
+                contract.setCollectionName(account.getName());
+                contract.setCollectionAccount(account.getAccount());
+                contract.setCollectionOpenAddress(account.getOpenAddress());
+            } else {
+                System.out.println(" >>>>>>>> 快来看看,你的数据:"+ item.getHTID());
+            }
+
+
             contracts.add(contract);
+
             index++;
             //数据量达到200条时存一次 或 已到最后一条数据直接存
             if (index == 200 || item.getHTID().equals(lastHtInfo.getHTID())) { //200条数据为1组
@@ -1233,10 +1276,10 @@ public class MySQLService {
             if (!StringUtils.isEmpty(item.getACCOUNTNO())) {
                 account = accountMapper.selectByAccountNO(item.getACCOUNTNO());
             }
-            //BDJ TRADESTATE  是2但是TRADENUM 没有的  是退款的    BDJ 的TRADESTATE  应该是-2  退款
-            if (!StringUtils.isEmpty(item.getTRADESTATE()) && "2".equals(item.getTRADESTATE()) && StringUtils.isEmpty(item.getTRADENUM())) {
-                item.setTRADESTATE("-2");
-            }
+//            //BDJ TRADESTATE  是2但是TRADENUM 没有的  是退款的    BDJ 的TRADESTATE  应该是-2  退款
+//            if (!StringUtils.isEmpty(item.getTRADESTATE()) && "2".equals(item.getTRADESTATE()) && StringUtils.isEmpty(item.getTRADENUM())) {
+//                item.setTRADESTATE("-2");
+//            }
             Earnest earnest = new Earnest(item, buildingAccount, projectAccount, account, org);
             earnests.add(earnest);
             index++;

+ 11 - 0
src/main/java/com/cool/bang/modules/oracle/domain/po/BDj.java

@@ -1,6 +1,7 @@
 package com.cool.bang.modules.oracle.domain.po;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 public class BDj {
 
@@ -54,6 +55,8 @@ public class BDj {
 
     private String HTBH;
 
+    private Date createTime;
+
 
     public BigDecimal getTRADEAMOUNT() {
         return TRADEAMOUNT;
@@ -190,4 +193,12 @@ public class BDj {
     public void setHTBH(String HTBH) {
         this.HTBH = HTBH;
     }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
 }

+ 10 - 0
src/main/java/com/cool/bang/modules/oracle/domain/po/BhtTrade.java

@@ -7,6 +7,8 @@ public class BhtTrade {
     //交易明细id
     private Long tradeId;
 
+    private String bankAccount;
+
     //交易金额
     private BigDecimal tradeAmount;
 
@@ -31,6 +33,14 @@ public class BhtTrade {
     //资金监管标记  0历史监管 1当前监管
     private String ZJJGFLAG;
 
+    public String getBankAccount() {
+        return bankAccount;
+    }
+
+    public void setBankAccount(String bankAccount) {
+        this.bankAccount = bankAccount;
+    }
+
     public Long getTradeId() {
         return tradeId;
     }

+ 3 - 0
src/main/java/com/cool/bang/modules/oracle/mapper/BxmxyMapper.java

@@ -1,6 +1,7 @@
 package com.cool.bang.modules.oracle.mapper;
 
 import com.cool.bang.modules.oracle.domain.Bxmxy;
+import com.cool.bang.modules.oracle.domain.OracleApprovalRecord;
 import org.springframework.stereotype.Repository;
 
 import java.math.BigDecimal;
@@ -10,4 +11,6 @@ import java.util.Map;
 @Repository
 public interface BxmxyMapper {
     List<Bxmxy> selectFromBxmxy();
+
+    List<OracleApprovalRecord> selectApprovalRecord();
 }

+ 1 - 1
src/main/resources/mapper/mysql/FWMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.cool.bang.modules.mysql.mapper.FWMapper">
 
     <select id="getFwByMissid" resultType="com.cool.bang.modules.mysql.domain.P_lpb_fw">
-        select id,misid,xxdz,yt,jzmj
+        select id,misid,xxdz,yt,yjzmj as jzmj
         from p_lpb_fw
         where misid = #{fwbh} and state = 1
     </select>

+ 5 - 4
src/main/resources/mapper/mysql/MySQLMapper.xml

@@ -229,7 +229,8 @@
         house_use,
         buyer, id_card, pay_way, contract_price, payment_amount_1, payment_amount_2, payment_amount_3, payment_amount_4,
         sign_time, collection_bank, collection_name, collection_account, collection_open_address,
-        account_id, account_type, is_mortgage, is_refund, is_earnest, is_rescind, del_flag,is_overdue,payment_status)
+        account_id, account_type, is_mortgage, is_refund, is_earnest, is_rescind, del_flag,is_overdue,payment_status,create_time
+        ,paid_amount,unpaid_amount)
         values
         <foreach collection="list" item="item" separator=",">
             (#{item.contractNumber}, #{item.bankCode}, #{item.orgId}, #{item.orgName}, #{item.projectId},
@@ -243,7 +244,7 @@
             #{item.collectionBank}, #{item.collectionName}, #{item.collectionAccount},
             #{item.collectionOpenAddress}, #{item.accountId}, #{item.accountType}, #{item.isMortgage}, #{item.isRefund},
             #{item.isEarnest},
-            #{item.isRescind}, #{item.delFlag},#{item.isOverdue},#{item.paymentStatus})
+            #{item.isRescind}, #{item.delFlag},#{item.isOverdue},#{item.paymentStatus},#{item.createTime},#{item.paidAmount},#{item.unpaidAmount})
         </foreach>
     </insert>
 
@@ -279,7 +280,7 @@
         (business_number, bank_code, contract_number, org_id, org_name, project_id, project_account_id,
         project_number, project_name, building_account_id, building_number, building_name, buyer, id_card, phone,
         collection_bank, collection_name, collection_account, collection_open_address, account_id, account_type,
-        payable_amount, paid_amount, unpaid_amount, pdf_url, payment_status, connect_status, remark, del_flag)
+        payable_amount, paid_amount, unpaid_amount, pdf_url, payment_status, connect_status, create_time, remark, del_flag)
         values
         <foreach collection="list" item="item" separator=",">
             (#{item.businessNumber}, #{item.bankCode}, #{item.contractNumber}, #{item.orgId}, #{item.orgName},
@@ -290,7 +291,7 @@
             #{item.collectionAccount}, #{item.collectionOpenAddress}, #{item.accountId}, #{item.accountType},
             #{item.payableAmount},
             #{item.paidAmount}, #{item.unpaidAmount}, #{item.pdfUrl}, #{item.paymentStatus}, #{item.connectStatus},
-            #{item.remark}, #{item.delFlag})
+            #{item.createTime}, #{item.remark}, #{item.delFlag})
         </foreach>
     </insert>
 

+ 2 - 2
src/main/resources/mapper/oracle/AregMapper.xml

@@ -69,7 +69,7 @@
 
     <!--  查询楼幢虚拟户托管在途资金  -->
     <select id="selectLzTgzt" resultType="java.math.BigDecimal">
-        select sum(pl.money) from aregitem i,payitemlz pl, payitem p,apply a
+        select nvl(sum(pl.money), 0) from aregitem i,payitemlz pl, payitem p,apply a
         where a.appid =p.appid and p.payitemid =pl.payitemid and pl.aregitemid =i.aregitemid
         and a.state ='1' and p.state ='1' and pl.state ='1' and a.apptype in ('18','19') and p.paycode  not in (select t.tradenum from trade t where t.tradestate ='1' and t.tradenum is not null)
         and i.aregitemid = #{aregitemid}
@@ -77,7 +77,7 @@
 
     <!--  查询楼幢虚拟户监管在途资金  -->
     <select id="selectLzJgzt" resultType="java.math.BigDecimal">
-        select sum(pl.money) from aregitem i,payitemlz pl, payitem p,apply a
+        select nvl(sum(pl.money), 0) from aregitem i,payitemlz pl, payitem p,apply a
         where a.appid =p.appid and p.payitemid =pl.payitemid and pl.aregitemid =i.aregitemid
         and a.state ='1' and p.state ='1' and pl.state ='1' and a.apptype in ('6','7') and p.paycode  not in (select t.tradenum from trade t where t.tradestate ='1' and t.tradenum is not null)
         and i.aregitemid = #{aregitemid}

+ 13 - 0
src/main/resources/mapper/oracle/BxmxyMapper.xml

@@ -5,4 +5,17 @@
     <select id="selectFromBxmxy" resultType="com.cool.bang.modules.oracle.domain.Bxmxy">
         select t1.* from bxmxy t1 left join bxm t2 on t2.xmbh = t1.xmbh where t1.state = 1 and t1.bljd = 9 and t2.jgzt != 0
     </select>
+
+    <select id="selectApprovalRecord">
+        select
+            t5.flownodename as nodeName,
+            t5.operatedate as approvalTime,
+            t5.operator as approver,
+            t5.remark as remark,
+            t5.state as approvalStatus
+        from apply t
+            left join sflowlog t5 on t5.infoid = t.appid and t5.flowid = 18
+        where
+            t.apptype in (18, 19) and t.state = 1  and t.appid = #{appId}
+    </select>
 </mapper>

+ 28 - 10
src/main/resources/mapper/oracle/OracleMapper.xml

@@ -82,9 +82,10 @@
     <select id="getBhtPayTradeByBHTID" resultType="com.cool.bang.modules.oracle.domain.po.BhtTrade">
         SELECT
             t.ID AS tradeId,t.TRADEAMOUNT AS tradeAmount,p.PAYTYPE AS payType,p.ACCOUNTID AS AccountId,p.HTID AS htId,p.JKBH AS jkbh,p.JKJE AS jkje,
-               t.DJNUM AS djbh
+            t.DJNUM AS djbh,t2.ACCOUNTNO AS bankAccount
         FROM BHTPAY p
             LEFT JOIN TRADE t ON p.JKBH = t.TRADENUM AND t.TRADESTATE = 1 AND (t.PAYTYPE = 1 OR t.PAYTYPE = 9)
+            LEFT JOIN account t2 on t2.ACCOUNTID = p.ACCOUNTID
         WHERE p.HTID = #{htId} AND p.STATE = 1
     </select>
 
@@ -97,15 +98,32 @@
 
     <select id="selectBDJInfo" resultType="com.cool.bang.modules.oracle.domain.po.BDj">
         SELECT
-            tra.TRADEAMOUNT,dj.JKJE,ht.HTBH,
-            dj.DJID,hp.HTID,tra.TRADENUM,dj.GUAJIEPAYBH,dj.TRADESTATE,dj.DJBH,dj.ACCOUNTID,dj.BUYERCODE,
-            dj.BUYERNAME,dj.GUAJIEPAYBH,dj.QYBH,ht.LZBH,a.ACCOUNTNO
-        FROM BDJ dj
-            LEFT JOIN TRADE tra ON dj.DJBH = tra.DJNUM AND tra.PAYTYPE = 9 AND tra.TRADESTATE = 1
-            LEFT JOIN BHTPAY hp ON tra.TRADENUM = hp.JKBH AND hp.STATE = 1
-            LEFT JOIN ACCOUNT a ON dj.ACCOUNTID = a.ACCOUNTID
-            LEFT JOIN BHT ht ON ht.HTID = hp.HTID AND ht.STATE = 1
-        WHERE dj.STATE = 1 AND (dj.TRADESTATE = 0 OR dj.TRADESTATE = 1 OR dj.TRADESTATE = 2)
+            dj.JKJE,
+            tra.TRADEAMOUNT,
+            ht.HTBH,
+            dj.DJID,
+            hp.HTID,
+            tra.TRADENUM,
+            dj.GUAJIEPAYBH,
+            dj.TRADESTATE,
+            dj.DJBH,
+            dj.ACCOUNTID,
+            dj.BUYERCODE,
+            dj.BUYERNAME,
+            dj.GUAJIEPAYBH,
+            dj.QYBH,
+            ht.LZBH,
+            a.ACCOUNTNO,
+            to_date(to_char(tra.TRADEDATE,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as createTime
+        FROM
+            BDJ dj
+                LEFT JOIN TRADE tra ON dj.DJBH = tra.DJNUM AND tra.PAYTYPE = 9 AND tra.TRADESTATE = 1
+                LEFT JOIN BHTPAY hp ON tra.TRADENUM = hp.JKBH AND hp.STATE = 1
+                LEFT JOIN ACCOUNT a ON dj.ACCOUNTID = a.ACCOUNTID
+                LEFT JOIN BHT ht ON ht.HTID = hp.HTID
+                AND ht.STATE = 1
+        WHERE
+            dj.STATE = 1 AND dj.TRADESTATE in (1, 2) and tra.TRADENUM is not null
     </select>
 
     <!-- 查询企业用户 -->