PDF解析
2024-04-29 17:33:50 0 举报
PDF解析
作者其他创作
大纲/内容
截取长度>=3
长度>=4且截取第一个,split[0]包含(总数)
getStartAndEndIdxManyTopic:多币种计算多份开始和结束索引
判度该行是否包含(金融产品信息)同时索引 financialProductInformationIdx为空
不空
代扣税入参: 1:tradeStr \"代扣税\" 2: businessType:其他 3:endStrFrist:\"(总数\\\\s+.*)(在)\"
成交股数:split[6]取绝对值
下面两个索引是否有空 tradeIdx:交易索引 financialProductInformationIdx:金融产品信息索引
否
实际费用汇总/佣金:split[9]取绝对值加split[10]绝对值
开始和结束索引是否有空的
赋值交易索引tradeIdx
非交易pdf解析
循环遍历交易索引和金融产品信息索引中间数据
generateFlow封装流水数据
每次不同币种计算开始坐标1:当索引0的时候开始坐标取值开始 2:索引非0,开始坐标取值上一个结束坐标+1
开始索引空且该行包含\"HKD\"/\"USD\"
开始和结束是否有空
组装数据到DTO,方法generatePdfDTO
非空
true
开始索引不空且该行包含(总数)并并且该行索引大于开始索引
把split[2]赋值给流水interactiveBrokersPdfVO交易流水时间
保存港股数据
长度小于12列
是
币种赋值上面的结果split[0]
interactiveBrokersPdfVO不为空且时间split[2]大于交易时间
跳出单次循环
generateInteractiveBrokersDTO构建pdf实体
(单币种场景)上面循环结束后判断financialProductInformationIdx空且tradeIdx不空且tradeIdx>0
币种赋值split[0],跳出单次循环
getIdxVO计算下面两个索引 tradeIdx:交易索引 financialProductInformationIdx:金融产品信息索引
费用入参: 1:tradeStr \"费用\" 2: businessType:其他 3:endStrFrist:\"(总数\\\\s+.*)(在)\"
循环遍历交易索引和金融产品信息索引范围内每条数据
循环遍历每个币种每行数据(开始和结束索引范围内数据)
股票code按照split[1]通过市场类型来区分加.hk/.us后缀
循环遍历开始和结束索引范围内数据,每条数据按照两个空格去截取成数组
交易时间/流水时间:split[0]
赋值流水数据,添加到流水集合中
赋值结束索引,同时结束索引list增加该行
循环遍历tradeIdx到pdf最后一行
false
空
股息入参: 1:tradeStr \"股息\" 2: businessType:股息 3:endStrFrist:\"(总数\\\\s+.*)(在)\"
赋值financialProductInformationIdx,跳出单次循环
开始索引不为空并且结束索引空,同时该行包含(总数)
是否包含(交易)同时交易索引为空
generateInteractiveBrokersDTO构建pdf实体,传参美股
跳出该方法
市场类型/币种类型按照市场取值
存款和取款入参: 1:tradeStr \"存款和取款\" 2: businessType:转账 3:endStrFrist:\"(总数\\\\s+.*)(在)\"
该行中是否能匹配上 (总数*在)同时financialProductInformationIdx空
先判断有没有多币种汇总的数据(tradeIdx不为空且该行索引>tradeIdx)
循环遍历每个币种
判断入参中endStrFrist不为空
赋值financialProductInformationIdx
解析非交易pdf(calFlow方法)
截取长度小于2
盈透PDF解析
该行是否包含入参中tradeStr且tradeIdx为空
找到交易之后,往下找一直找到HKD或者或者USD找到开始和结束坐标
解析港股数据
市场写死港股
这两个split[0]不一样,非同一行数据,币种是单独一行只有币种
1:描述:split[1] 2: 资金进出:split[2] 3: 成交金额:资金进出绝对值 4: 业务类型:通过入参businessType赋值
循环遍历结束索引
generatePdfIndexVO组装数组下标
给交易索引tradeIdx赋值,跳出单次循环
循环遍历整个PDF所有内容
pdf类型 1 == pdfType
new InteractiveBrokersPdfVO()赋值每个属性
计算开始和结束索引(有多币种场景,开始和结束索引都有多份)getStartAndEndIdxManyTopic
按照三个空格截取每行数据
利息入参: 1:tradeStr \"利息\" 2: businessType:其他 3:endStrFrist:\"(总数\\\\s+.*)(在)\"
成交金额:split[8]取绝对值
赋值开始索引
判度!split[4].equals(\"-\")
保存美股数据
赋值结束索引
循环遍历整个pdf内容,找到开始和结束索引
该行>tradeIdx且该行包含(\"总数\")且financialProductInformationIdx空
交易时间/流水时间:split[2]港股需要转成东八区时间
成交均价:split[7]取绝对值
资金进出:成交金额-实际费用汇总
赋值financialProductInformationIdx,跳出循环
开始索引空且该行包含HKD或USD
generateInteractiveBrokersDTO构建pdf实体,传参港股
有空
获取交易索引和金融产品信息索引
业务类型:split[5]区分
获取时间split[2],通过市场判断港股需要转成东八区时间
交易pdf解析
0 条评论
下一页