OracleMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.cool.bang.modules.oracle.mapper.OracleMapper">
  4. <select id="selectFromBxm" resultType="java.util.Map">
  5. select t1.*, t2.qymc, t3.SQSJ, t3.SPJSSJ from BXM t1
  6. left join BQY t2 on t1.qybh = t2.qybh
  7. left join (select t.* from (
  8. select t.XMBH, to_date(to_char(t2.SQSJ,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as SQSJ,
  9. to_date(to_char(t2.SPJSSJ,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as SPJSSJ, ROW_NUMBER() OVER (PARTITION BY t.XMBH ORDER BY t.XMBH DESC) rn from AREG t left join APPLY t2 on t2.AREGID = t.AREGID and t2.APPTYPE = 0 and T2.STATE = 1) t where t.rn = 1) t3 on t3.XMBH = t1.XMBH
  10. where t1.xmbh in (select XMBH from areg group by XMBH)
  11. </select>
  12. <select id="selectAregByXmbh" resultType="java.util.Map">
  13. select XMBH, JGSTATE from AREG where XMBH = #{xmbh}
  14. </select>
  15. <select id="selectFromAreg" resultType="java.util.Map">
  16. select t1.*,t3.name as BANKNAME,t3.code as BANKCODE
  17. from
  18. AREG t1
  19. left join
  20. ACCOUNT t2 on t1.aregid = t2.aregid
  21. left join
  22. BANK t3 on t2.bankcode = t3.code
  23. </select>
  24. <select id="selectFromAccount" resultType="java.util.Map">
  25. SELECT t1.ACCOUNTID, t4.QYBH,t1.ACCOUNTNAME,t1.ACCOUNTNO,t1.BANKCODE,t2.NAME as BANKNAME,t3.NAME as OPENADDRESS,t4.XMMC,t4.XMBH,
  26. t1.JGSTATE,t1.BALANCE as ACCOUNTBALANCE,t1.BALANCE as BOOKBALANCE ,t1.STATE,
  27. t1.ACCOUNTTYPE as TYPE,t1.FREEZE,to_date(to_char(t5.SPJSSJ,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as KHRQ
  28. FROM ACCOUNT t1
  29. LEFT JOIN BANK t2 on t1.BANKCODE = t2.code
  30. LEFT JOIN BRANCH t3 on t1.BRANCHCODE = t3.code
  31. LEFT JOIN AREG t4 on t1.AREGID = t4.AREGID
  32. LEFT JOIN APPLY t5 on t1.APPID = t5.APPID AND t5.APPTYPE = 0
  33. WHERE ACCOUNTNAME IS NOT NULL AND t1.JGSTATE != 0
  34. </select>
  35. <!-- 查询账户(托管户/监管户)在途资金 -->
  36. <select id="selectAccountInTransitFund" resultType="java.math.BigDecimal">
  37. select sum(p.money) zhztzj from apply a,payitem p where a.appid =p.appid and p.state ='1' and a.state ='1'
  38. and p.paycode not in (select t.tradenum from trade t where t.tradestate ='1' and tradenum is not null) and p.accountid = #{accountid}
  39. </select>
  40. <!-- 查询工程进度申请信息 -->
  41. <resultMap id="GcjdsqMap" type="com.cool.bang.modules.oracle.domain.po.Gcjdsq">
  42. <result property="id" column="progressid" jdbcType="VARCHAR"/>
  43. <result property="xmbh" column="xmbh" jdbcType="VARCHAR"/>
  44. <result property="qybh" column="qybh" jdbcType="VARCHAR"/>
  45. <result property="jdmc" column="name" jdbcType="VARCHAR"/>
  46. <result property="lzbh" column="lzbh" jdbcType="VARCHAR"/>
  47. <result property="sqjd" column="percent" jdbcType="DECIMAL"/>
  48. <result property="aregid" column="regid" jdbcType="INTEGER"/>
  49. <result property="shzt" column="taskstate" jdbcType="INTEGER"/>
  50. <result property="bz" column="taskopinion" jdbcType="VARCHAR"/>
  51. <result property="sqr" column="sqr" jdbcType="VARCHAR"/>
  52. <result property="sqsj" column="sqsj" jdbcType="TIMESTAMP"/>
  53. <result property="shsj" column="shsj" jdbcType="TIMESTAMP"/>
  54. </resultMap>
  55. <select id="selectPromProgress" resultMap="GcjdsqMap">
  56. select * from progress where state = 1 and taskstate is not null
  57. </select>
  58. <!-- 查询BHT-->
  59. <select id="selectHtInfo" resultType="com.cool.bang.modules.oracle.domain.po.HtInfo">
  60. select t1.*, t2.FWID, t3.FWBH
  61. from BHT t1
  62. left join BHTFW t2 ON t1.HTID = t2.HTID and t2.STATE = 1
  63. left join BFW t3 ON t3.FWID = t2.FWID and t3.STATE = 1
  64. where t1.STATE = 1
  65. </select>
  66. <select id="selectYqHtInfo" resultType="com.cool.bang.modules.oracle.domain.po.HtInfo">
  67. SELECT
  68. NVL(SUM(tra.TRADEAMOUNT),0) AS tradeAmount,
  69. h.HTBH,
  70. MAX(h.HTZJ) AS HTZJ,
  71. NVL(MAX(h.COUNT),0) AS count,
  72. MAX(h.sdyqdate) AS sdyqdate,
  73. MAX(h.gjjyqdate) AS gjjyqdate
  74. FROM
  75. BHT h
  76. LEFT JOIN BHTPAY hp ON h.HTID = hp.HTID
  77. LEFT JOIN TRADE tra ON tra.TRADENUM = hp.JKBH AND hp.STATE = 1
  78. WHERE
  79. h.STATE = 1
  80. AND h.yqflag = 1
  81. GROUP BY h.HTBH
  82. </select>
  83. <select id="selectHtPayInfo" resultType="com.cool.bang.modules.oracle.domain.po.HtPay">
  84. SELECT
  85. a.ACCOUNTNO,h.HTBH,hp.*
  86. FROM BHTPAY hp
  87. LEFT JOIN ACCOUNT a ON hp.ACCOUNTID = a.ACCOUNTID
  88. LEFT JOIN BHT h ON hp.HTID = h.HTID
  89. WHERE hp.STATE = 1
  90. </select>
  91. <select id="getBhtPayTradeByBHTID" resultType="com.cool.bang.modules.oracle.domain.po.BhtTrade">
  92. SELECT
  93. 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,
  94. t.DJNUM AS djbh,t2.ACCOUNTNO AS bankAccount
  95. FROM BHTPAY p
  96. LEFT JOIN TRADE t ON p.JKBH = t.TRADENUM AND t.TRADESTATE = 1 AND (t.PAYTYPE = 1 OR t.PAYTYPE = 9)
  97. LEFT JOIN account t2 on t2.ACCOUNTID = p.ACCOUNTID
  98. WHERE p.HTID = #{htId} AND p.STATE = 1
  99. </select>
  100. <select id="getTradeByBHTPayJKBH" resultType="com.cool.bang.modules.oracle.domain.po.BhtTrade">
  101. SELECT
  102. t.ID AS tradeId,t.TRADEAMOUNT AS tradeAmount,t.DJNUM AS djbh,t.ZJJGFLAG,t.PAYTYPE AS payType
  103. FROM TRADE t
  104. WHERE t.TRADENUM = #{jkbh} AND t.TRADESTATE = 1 AND (t.PAYTYPE = 1 OR t.PAYTYPE = 9)
  105. </select>
  106. <select id="selectBDJInfo" resultType="com.cool.bang.modules.oracle.domain.po.BDj">
  107. SELECT
  108. dj.JKJE,
  109. tra.TRADEAMOUNT,
  110. ht.HTBH,
  111. dj.DJID,
  112. hp.HTID,
  113. tra.TRADENUM,
  114. dj.GUAJIEPAYBH,
  115. dj.TRADESTATE,
  116. dj.DJBH,
  117. dj.ACCOUNTID,
  118. dj.BUYERCODE,
  119. dj.BUYERNAME,
  120. dj.GUAJIEPAYBH,
  121. dj.QYBH,
  122. ht.LZBH,
  123. a.ACCOUNTNO,
  124. to_date(to_char(tra.TRADEDATE,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as createTime
  125. FROM
  126. BDJ dj
  127. LEFT JOIN TRADE tra ON dj.DJBH = tra.DJNUM AND tra.PAYTYPE = 9 AND tra.TRADESTATE = 1
  128. LEFT JOIN BHTPAY hp ON tra.TRADENUM = hp.JKBH AND hp.STATE = 1
  129. LEFT JOIN ACCOUNT a ON dj.ACCOUNTID = a.ACCOUNTID
  130. LEFT JOIN BHT ht ON ht.HTID = hp.HTID
  131. AND ht.STATE = 1
  132. WHERE
  133. dj.STATE = 1 AND dj.TRADESTATE in (1, 2) and tra.TRADENUM is not null
  134. </select>
  135. <!-- 查询企业用户 -->
  136. <select id="selectByUser" resultType="com.cool.bang.modules.oracle.domain.OracleUser">
  137. select t.loginname, t.sex, t.state, t.tel, t.typecode, t.username, t.usertype, t2.qybh, t2.qymc
  138. from SUSER t left join BQY t2 on t2.qybh = t.TYPECODE where t.state = 1
  139. </select>
  140. <select id="selectHtTk" resultType="com.cool.bang.modules.oracle.domain.po.TkInfo">
  141. SELECT
  142. a.APPBH,
  143. it.PAYCODE,
  144. tr.TRADEAMOUNT AS money,
  145. it.PAYCODE AS businessNumber,
  146. ht.LZBH AS lzbh,
  147. ht.QYBH AS qybh,
  148. ht.HTBH AS htBh,
  149. a.APPID,
  150. tr.ACCOUNTNO AS accountNo,
  151. <!--收款账户 collection_name 收款户名-->
  152. it.PAYACCOUNTNAME AS collectionName,
  153. <!--收款银行名称 collection_bank 收款银行 -->
  154. it.PAYEEBANKNAME AS collectionBank,
  155. it.PAYEE,
  156. <!-- 收款账号 -->
  157. it.PAYACCOUNTNO AS collectionAccount,
  158. ht.BUYERNAME AS buyer,
  159. ht.BUYERCODE AS idCard,
  160. ht.HTBH AS htBh,
  161. it.PAYUSE AS remark,
  162. t3.FWBH,
  163. a.SQSJ AS sqsj,
  164. a.FLOWID,
  165. a.FLOWNODEID,
  166. a.FLOWNODENAME,
  167. a.FLOWSTATE
  168. FROM
  169. PAYITEM it
  170. LEFT JOIN APPLY a ON it.APPID = a.APPID AND a.STATE = 1 AND a.APPTYPE = 8
  171. LEFT JOIN BHT ht ON ht.HTID = a.HTID
  172. left join BHTFW t2 ON ht.HTID = t2.HTID and t2.STATE = 1
  173. left join BFW t3 ON t3.FWID = t2.FWID and t3.STATE = 1
  174. LEFT JOIN TRADE tr ON tr.TRADENUM = it.PAYCODE AND tr.TRADESTATE = 1
  175. WHERE
  176. it.STATE = 1
  177. AND it.PAYTYPE = 8
  178. AND a.APPBH IS NOT NULL
  179. </select>
  180. <select id="selectDDZ" resultType="com.cool.bang.modules.mysql.domain.TradeInfo">
  181. SELECT
  182. ID AS id,ACCOUNTNO AS accountNo,BANKSER AS serialNumber,OLDBANKSER AS flushSerialNumber,
  183. TRADENUM AS businessNumber,BANKFLAG AS channelType,TRADEAMOUNT AS amount,TRADECODE AS code,PAYTYPE AS payType,
  184. 0 AS checkStatus,CHECKDATE AS checkDate, 1 AS transactionMode,TRADEDATE AS transactionTime,LZBH AS lzbh,
  185. UNDOEDATE AS undoeDate,REMARK AS remark,TRADEDATE AS createTime
  186. from TRADE
  187. WHERE CHECKFLAG =1
  188. </select>
  189. <select id="selectTG" resultType="com.cool.bang.modules.mysql.domain.TradeInfo">
  190. SELECT
  191. t.ID AS id,
  192. t.ACCOUNTNO AS accountNo,
  193. t.BANKSER AS serialNumber,
  194. t.OLDBANKSER AS flushSerialNumber,
  195. t.TRADENUM AS businessNumber,
  196. t.BANKFLAG AS channelType,
  197. t.TRADEAMOUNT AS amount,
  198. t.TRADECODE AS code,
  199. t.PAYTYPE AS payType,
  200. 1 AS checkStatus,
  201. t.CHECKDATE AS checkDate,
  202. 1 AS transactionMode,
  203. t.TRADEDATE AS transactionTime,
  204. t.LZBH AS lzbh,
  205. t.UNDOEDATE AS undoeDate,
  206. t.REMARK AS remark,
  207. t.TRADEDATE AS createTime,
  208. t.AREGID AS aregId,
  209. t2.xmbh as projectNumber,
  210. t.TELLERNO AS tellErno
  211. FROM
  212. trade t
  213. left join areg t2 on t2.AREGID = t.aregid
  214. WHERE
  215. t.accountno IN ( SELECT accountno FROM account WHERE accountid &lt;= 8 )
  216. AND t.CHECKFLAG = 2
  217. AND t.TRADESTATE = 1
  218. AND t.ZJJGFLAG = 1
  219. </select>
  220. <select id="selectTGTsDz" resultType="com.cool.bang.modules.mysql.domain.TradeInfo">
  221. SELECT
  222. ID AS id,ACCOUNTNO AS accountNo,BANKSER AS serialNumber,OLDBANKSER AS flushSerialNumber,
  223. TRADENUM AS businessNumber,BANKFLAG AS channelType,TRADEAMOUNT AS amount,TRADECODE AS code, PAYTYPE AS payType,
  224. CHECKFLAG AS checkStatus,CHECKDATE AS checkDate, 1 AS transactionMode,TRADEDATE AS transactionTime,LZBH AS lzbh
  225. FROM
  226. trade
  227. WHERE
  228. ID IN
  229. <foreach item="item" index="index" collection="ids"
  230. open="(" close=")" separator=",">
  231. #{item}
  232. </foreach>
  233. </select>
  234. <select id="sumByZgToTg" resultType="decimal">
  235. SELECT NVL(SUM(t3.money),0)
  236. FROM TRADE t
  237. left join PAYITEM t2 on t2.PAYCODE = t.TRADENUM
  238. left join PAYITEMLZ t3 on t3.PAYITEMID = t2.PAYITEMID
  239. left join AREGITEM t4 on t4.AREGITEMID = t3.AREGITEMID
  240. WHERE t.ACCOUNTNO IN (SELECT ACCOUNTNO FROM ACCOUNT WHERE accountid &lt;= 8) AND t.PAYTYPE in (16)
  241. AND t4.lzbh = #{buildingNumber}
  242. </select>
  243. <select id="sumByJc" resultType="decimal">
  244. SELECT NVL(SUM(TRADEAMOUNT),0)
  245. FROM TRADE
  246. WHERE ACCOUNTNO IN (SELECT ACCOUNTNO FROM ACCOUNT WHERE accountid &lt;= 8)
  247. and CHECKFLAG IN(1,2) AND ZJJGFLAG = 1 AND TRADESTATE = 1 AND PAYTYPE in (01) and LZBH = #{buildingNumber}
  248. </select>
  249. <select id="sumByBf" resultType="decimal">
  250. SELECT NVL(SUM(t3.money),0)
  251. FROM TRADE t
  252. left join PAYITEM t2 on t2.PAYCODE = t.TRADENUM
  253. left join PAYITEMLZ t3 on t3.PAYITEMID = t2.PAYITEMID
  254. left join AREGITEM t4 on t4.AREGITEMID = t3.AREGITEMID
  255. WHERE t.ACCOUNTNO IN (SELECT ACCOUNTNO FROM ACCOUNT WHERE accountid &lt;= 8) AND t.PAYTYPE in (18,19,20)
  256. AND t4.lzbh = #{buildingNumber}
  257. </select>
  258. <select id="getWdzJc" resultType="com.cool.bang.modules.mysql.domain.Account">
  259. SELECT SUM(t.TRADEAMOUNT) AS balance,a.BANKCODE AS bankCode
  260. FROM TRADE t
  261. LEFT JOIN ACCOUNT a ON t.ACCOUNTNO = a.ACCOUNTNO
  262. WHERE a.ACCOUNTTYPE =1 and t.CHECKFLAG = 1 AND t.TRADESTATE = 1 AND t.PAYTYPE in (01)
  263. GROUP BY a.BANKCODE
  264. </select>
  265. <select id="getWdzBf" resultType="com.cool.bang.modules.mysql.domain.Account">
  266. SELECT a.BANKCODE AS bankCode,SUM(t3.money) AS balance
  267. FROM TRADE t
  268. left join PAYITEM t2 on t2.PAYCODE = t.TRADENUM
  269. left join PAYITEMLZ t3 on t3.PAYITEMID = t2.PAYITEMID
  270. left join AREGITEM t4 on t4.AREGITEMID = t3.AREGITEMID
  271. LEFT JOIN ACCOUNT a ON t.ACCOUNTNO = a.ACCOUNTNO
  272. WHERE a.ACCOUNTTYPE =1 and t.CHECKFLAG = 1 AND t.TRADESTATE = 1 AND t.PAYTYPE in (18,19,20)
  273. GROUP BY a.BANKCODE
  274. </select>
  275. <select id="selectRefundInfo" resultType="com.cool.bang.modules.oracle.domain.Refund">
  276. SELECT
  277. t.HTID as htid,
  278. t.APPID AS appId,
  279. t.APPBH AS businessNumber,
  280. t.ALLMONEY AS refundAmount,
  281. t.AREGID AS aregId,
  282. t.FLOWID AS flowId,
  283. t.FLOWNODENAME AS flowNodeName,
  284. to_number(t.FLOWSTATE) AS flowState,
  285. t.GFR AS buyer,
  286. t.HTBH AS contractNumber,
  287. t.SQSJ AS createTime,
  288. t3.QYBH AS misId,
  289. t2.LZBH AS buildingNumber,
  290. t4.PAYACCOUNTNAME AS collectionName,
  291. t4.PAYEEBANKNAME AS collectionBank,
  292. t4.PAYACCOUNTNO AS collectionAccount,
  293. t5.BANKCODE AS bankCode,
  294. t5.ACCOUNTNAME AS appropriationBank,
  295. t5.ACCOUNTNO AS appropriationAccount,
  296. NVL2(t6.TRADEAMOUNT, 1, 0) AS isRefund,
  297. t4.PAYUSE AS remark
  298. FROM
  299. APPLY t
  300. LEFT JOIN BHT t2 ON t2.HTID = t.HTID
  301. LEFT JOIN AREG t3 ON t3.AREGID = t.AREGID
  302. LEFT JOIN PAYITEM t4 ON t4.APPID = t.APPID
  303. LEFT JOIN ACCOUNT t5 ON t5.ACCOUNTID = t4.ACCOUNTID
  304. LEFT JOIN TRADE t6 ON t6.TRADENUM = t4.PAYCODE AND t6.TRADESTATE = 1
  305. WHERE
  306. t.state = 1 AND t.APPTYPE = 8
  307. </select>
  308. <select id="getJgBalanceByXmbh" resultType="decimal">
  309. SELECT NVL(SUM(ai.checkjgbalance),0) AS jgBalance
  310. FROM AREG a
  311. LEFT JOIN AREGITEM ai ON a.AREGID = ai.AREGID AND ai.STATE = 1
  312. WHERE a.XMBH =#{xmbh} AND a.STATE = 1
  313. </select>
  314. </mapper>