parent
61d4fed580
commit
e335e8de3a
|
|
@ -17,47 +17,53 @@ import java.math.BigDecimal;
|
||||||
|
|
||||||
public class FullAllocationService implements IBalanceService {
|
public class FullAllocationService implements IBalanceService {
|
||||||
private static final Log logger = LogFactory.getLog(FullAllocationService.class);
|
private static final Log logger = LogFactory.getLog(FullAllocationService.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param transferType 划拨类型 UP上划,DOWN 下拨
|
* @param transferType 划拨类型 UP上划,DOWN 下拨
|
||||||
* @param strategyId 划拨策略ID 2234204585302439936
|
* @param strategyId 划拨策略ID 2234204585302439936
|
||||||
* @param accountId 账户ID
|
* @param accountId 账户ID
|
||||||
* @param currencyId 币别ID
|
* @param currencyId 币别ID
|
||||||
* @return 即时余额
|
* @return 即时余额
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal getBalanceAmount(String transferType, Long strategyId, Long accountId, Long currencyId) {
|
public BigDecimal getBalanceAmount(String transferType, Long strategyId, Long accountId, Long currencyId) {
|
||||||
|
logger.info("进入 FullAllocationService → getBalanceAmount 调用参数 → transferType: {}, strategyId: {}, accountId: {}, currencyId: {}", transferType, strategyId, accountId, currencyId);
|
||||||
|
|
||||||
BigDecimal valibalance = null;
|
BigDecimal valibalance = null;
|
||||||
logger.info( "进入 FullAllocationService → getBalanceAmount 调用参数 → transferType: {}, strategyId: {}, accountId: {}, currencyId: {}", transferType, strategyId, accountId, currencyId);
|
DynamicObject[] fcaTranstrategys = BusinessDataServiceHelper.load("fca_transtrategy", "id,number,name,istransdown,downway", new QFilter("id", QCP.equals, strategyId).toArray());
|
||||||
//母账户:115871233966
|
if (fcaTranstrategys != null) {
|
||||||
//子账户:118587472156
|
DynamicObject fcaTranstrategy = fcaTranstrategys[0];
|
||||||
if ("DOWN".equals(transferType)) {
|
boolean istransdown = fcaTranstrategy.getBoolean("istransdown");
|
||||||
DynamicObject amAccountbanks = BusinessDataServiceHelper.loadSingle(accountId, "am_accountbank");
|
if (istransdown) {
|
||||||
// 申请公司
|
String downway = fcaTranstrategy.getString("downway");
|
||||||
DynamicObject company = amAccountbanks.getDynamicObject("company");
|
if ("isfpm1".equals(downway) && "DOWN".equals(transferType)) {
|
||||||
DynamicObject[] ifmInneraccts = BusinessDataServiceHelper.load("ifm_inneracct", "id,number,company,relationacc", new QFilter("company", QCP.equals, company.getLong("id")).toArray());
|
DynamicObject amAccountbanks = BusinessDataServiceHelper.loadSingle(accountId, "am_accountbank");
|
||||||
|
// 申请公司
|
||||||
|
DynamicObject company = amAccountbanks.getDynamicObject("company");
|
||||||
|
DynamicObject[] ifmInneraccts = BusinessDataServiceHelper.load("ifm_inneracct", "id,number,company,relationacc", new QFilter("company", QCP.equals, company.getLong("id")).toArray());
|
||||||
|
|
||||||
for (DynamicObject ifmInneracct : ifmInneraccts) {
|
for (DynamicObject ifmInneracct : ifmInneraccts) {
|
||||||
DynamicObjectCollection relationaccs = ifmInneracct.getDynamicObjectCollection("relationacc");
|
DynamicObjectCollection relationaccs = ifmInneracct.getDynamicObjectCollection("relationacc");
|
||||||
if (relationaccs.isEmpty()) {
|
if (relationaccs.isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
long relationaccId = relationaccs.get(0).getLong("fbasedataid_Id");//银行账户
|
long relationaccId = relationaccs.get(0).getLong("fbasedataid_Id");//银行账户
|
||||||
if (relationaccId == accountId) {
|
if (relationaccId == accountId) {
|
||||||
String number = ifmInneracct.getString("number");
|
String number = ifmInneracct.getString("number");
|
||||||
DynamicObject[] bdAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bankaccountnumber", new QFilter("bankaccountnumber", QCP.equals, number).toArray());
|
DynamicObject[] bdAccountbanks = BusinessDataServiceHelper.load("am_accountbank", "id,bankaccountnumber", new QFilter("bankaccountnumber", QCP.equals, number).toArray());
|
||||||
long bdAccountbankId = 0;
|
long bdAccountbankId = 0;
|
||||||
if (bdAccountbanks.length > 0) {
|
if (bdAccountbanks.length > 0) {
|
||||||
// 获取内部账户在银行账户里面的id
|
// 获取内部账户在银行账户里面的id
|
||||||
bdAccountbankId = bdAccountbanks[0].getLong("id");
|
bdAccountbankId = bdAccountbanks[0].getLong("id");
|
||||||
|
}
|
||||||
|
|
||||||
|
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "ifm_accountbalance",
|
||||||
|
"accountbank,valibalance,modifytime,company", new QFilter[]{(new QFilter("accountbank", QCP.equals, bdAccountbankId))},
|
||||||
|
null).orderBy(new String[]{"modifytime desc"});
|
||||||
|
DynamicObjectCollection dataRows = ORM.create().toPlainDynamicObjectCollection(dataSet);
|
||||||
|
valibalance = dataRows.get(0).getBigDecimal("valibalance");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "ifm_accountbalance",
|
|
||||||
"accountbank,valibalance,modifytime,company", new QFilter[]{(new QFilter("accountbank", QCP.equals, bdAccountbankId))},
|
|
||||||
null).orderBy(new String[]{"modifytime desc"});
|
|
||||||
DynamicObjectCollection dataRows = ORM.create().toPlainDynamicObjectCollection(dataSet);
|
|
||||||
|
|
||||||
DynamicObject[] ifmAccountbalances = BusinessDataServiceHelper.load("ifm_accountbalance", "id,accountbank,valibalance", new QFilter("accountbank", QCP.equals, relationaccId).toArray());
|
|
||||||
valibalance = dataRows.get(0).getBigDecimal("valibalance");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue