<?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.example.gajz.transferrelationship.dao.TransferRelationshipMapper"> <!--查询全部转账卡号方法(中心点)--> <select id="selectTransferCard" resultType="com.example.gajz.transferrelationship.bean.vo.TransferCardVo"> SELECT bank_card_no as bankCardNo,bank_account_name as name FROM abc_statement where bank_card_no is not null and bank_card_no != '' group by bank_card_no </select> <!--查询转账关系--> <select id="edge" resultType="com.example.gajz.transferrelationship.bean.param.data"> select bank_card_no as source,end_card_no as target,count(id) as transferTimes from abc_statement where end_card_no is not null group by source ,target </select> <!--查询被转账人全部信息--> <select id="transferRelationship" resultType="com.example.gajz.transferrelationship.bean.param.data"> select distinct end_account_name as name,end_card_no as target from abc_statement where bank_card_no=#{bankCardNo} HAVING end_card_no not in (select distinct bank_card_no from abc_statement where bank_card_no is not null and end_card_no is not null) </select> <!--关系图搜索接口 查询搜索人转账关系--> <select id="transferRecord" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select "转账" as relationship,end_account_name as name,end_card_no as cardNumber from abc_statement where 1=1 <if test="fullName!=null and fullName!=''"> and bank_account_name=#{fullName} </if> <if test="cardNumber!=null and cardNumber!=''"> and bank_card_no=#{cardNumber} </if> and end_account_name is not null and end_card_no is not null group by end_card_no </select> <!--查询搜索人被转账记录--> <select id="transferredRecord" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select "被转账" as relationship,bank_card_no as cardNumber,bank_account_name as name from abc_statement where 1=1 <if test="fullName!=null and fullName!=''"> and end_account_name=#{fullName} </if> <if test="cardNumber!=null and cardNumber!=''"> and end_card_no=#{cardNumber} </if> and bank_card_no is not null and bank_account_name is not null group by bank_card_no </select> <!--查询搜索人信息 转账人--> <select id="personalInformationTransferor" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select "个人" as relationship,bank_account_name as name,bank_card_no as cardNumber from abc_statement where bank_card_no=#{cardnumbe} and bank_card_no is not null and bank_account_name is not null group by bank_card_no </select> <!--查询搜索人信息 被转账人--> <select id="personalInformationTransferredPerson" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select distinct end_account_name as name,end_card_no as cardNumber from abc_statement where end_card_no=#{cardnumbe} HAVING end_card_no not in (select distinct bank_card_no from abc_statement where bank_card_no is not null and end_card_no is not null) </select> <!--清空关系图数据表--> <delete id="emptyTransferRelationship"> truncate table abc_statement </delete> <!--excel数据导入数据库--> <insert id="insertTransferRelationship" parameterType="java.util.List"> insert into abc_statement ( id_card,mobile,bank_account_name,bank_account_no,bank_card_no,temp_a,bank_name,is_capital_pool, trade_date,trade_time, payment_mark,temp_c,temp_d,pay_amount,balance,purpose,bonus,trade_nature,temp_f,temp_g,end_account_name, end_card_no,end_bank_name,remark,comment,treade_place) values <foreach collection="list" item="lists" index= "index" separator=","> ( #{lists.id_card},#{lists.mobile},#{lists.bank_account_name}, #{lists.bank_account_no},#{lists.bank_card_no},#{lists.temp_a}, #{lists.bank_name},#{lists.is_capital_pool}, #{lists.trade_date},#{lists.trade_time}, #{lists.payment_mark},#{lists.temp_c}, #{lists.temp_d},#{lists.pay_amount},#{lists.balance}, #{lists.purpose},#{lists.bonus},#{lists.trade_nature}, #{lists.temp_f},#{lists.temp_g},#{lists.end_account_name}, #{lists.end_card_no},#{lists.end_bank_name},#{lists.remark}, #{lists.comment},#{lists.treade_place} ) </foreach> </insert> <!--查询搜索人关联下一级数据--> <select id="querySubordinate" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select end_account_name as name,end_card_no as cardNumber,count(end_card_no) as transferTimes from abc_statement where end_account_name is not null and end_card_no is not null and bank_card_no=#{cardNumber} group by end_card_no </select> <!--查询转账人--> <select id="queryTransferor" resultType= "com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select "个人" as relationship,bank_account_name as name,bank_card_no as cardNumber from abc_statement where 1=1 <if test="fullName!=null and fullName!=''"> and bank_account_name=#{fullName} </if> <if test="cardNumber!=null and cardNumber!=''"> and bank_card_no=#{cardNumber} </if> and bank_card_no is not null and bank_account_name is not null group by bank_card_no </select> <!--查询被转账人--> <select id="queryTheTransferredPerson" resultType= "com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select "个人" as relationship,end_account_name as name,end_card_no as cardNumber from abc_statement where 1=1 <if test="fullName!=null and fullName!=''"> and end_account_name=#{fullName} </if> <if test="cardNumber!=null and cardNumber!=''"> and end_card_no=#{cardNumber} </if> and end_account_name is not null and end_card_no is not null group by end_card_no </select> <!--查询单人转账关系--> <select id="personalTransferRelationship" resultType="com.example.gajz.transferrelationship.bean.vo.personalTransferRelationshipVo"> select bank_card_no as source,end_card_no as target,count(id) as transferTimes from abc_statement where end_card_no is not null and bank_card_no=#{cardnumbe} group by source ,target </select> <!--查询上级转账人方法--> <select id="querySuperior" resultType="com.example.gajz.transferrelationship.bean.vo.SearchRelationshipVo"> select bank_account_name as name ,bank_card_no as cardNumber from abc_statement where end_card_no=#{cardNumbe} and bank_card_no is not null group by bank_card_no </select> <!--查询两人转账关系 关系 (关系图) 方法--> <select id="trBetweenTwoPersons" resultType="com.example.gajz.transferrelationship.bean.vo.personalTransferRelationshipVo"> select bank_card_no as source,end_card_no as target,count(id) as transferTimes from abc_statement where end_card_no=#{cardNumbe} and bank_card_no is not null group by bank_card_no </select> </mapper>