提交人:邹江涛

提交时间:2026年01月08日
提交内容:上划下拨单据转换插件(归集生成)
This commit is contained in:
root 2026-01-08 11:20:56 +08:00
parent 06cc7a55c9
commit 217c71ec84
1 changed files with 79 additions and 79 deletions

View File

@ -34,22 +34,16 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
DynamicObjectCollection entrys;
// 账户名称
String accountbankName;
DynamicObject dynamicObject;
// 贷方
DynamicObject lendersAddNew;
// 借方
DynamicObject debitAddNew;
// 记账期间
DynamicObject[] bdPeriods;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
String yearMonth;
// 目标单据 记账日期
Date bookdate;
// 类凭证的分录
DynamicObjectCollection tallyentryentity;
@ -75,24 +69,23 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
tallyentryentity = tarData.getDynamicObjectCollection("tallyentryentity");
lendersAddNew = tallyentryentity.addNew();
debitAddNew = tallyentryentity.addNew();
switch (srcMainTypeName) {
case "fca_transupbill"://上划
case "fca_transdownbill"://下拨
// 币种
cuscurrency = souData.getDynamicObject("currency");
entrys = souData.getDynamicObjectCollection("entrys");
DynamicObject entry = entrys.get(0);
DynamicObject subacctCompany = entry.getDynamicObject("subacct_company");
String subacctCompanyName = subacctCompany.getString("name");
BigDecimal transamt = entry.getBigDecimal("transamt");
DynamicObject accountbank = souData.getDynamicObject("accountbank");
accountbankName = accountbank.getString("name");
BigDecimal amount = souData.getBigDecimal("amount");
for (DynamicObject entry : entrys) {
DynamicObject subacctCompany = entry.getDynamicObject("subacct_company");
String subacctCompanyName = subacctCompany.getString("name");
BigDecimal transamt = entry.getBigDecimal("transamt");
if ("fca_transupbill".equals(srcMainTypeName)) {
lendersAddNew = tallyentryentity.addNew();
// 摘要 字段赋值
lendersAddNew.set("tallyabstract", "归集:" + subacctCompanyName);
// 科目 字段赋值
@ -121,64 +114,10 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
lendersAddNew.set("exrate", 1);
// 汇率日期 字段赋值
lendersAddNew.set("ratedate", bookdate);
// 摘要 字段赋值
debitAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值
DynamicObject bank = accountbank.getDynamicObject("bank");
String bank_number = bank.getString("number");
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray());
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
String bankName = bank_cate.getString("name");//银行类别
DynamicObject[] bdAccountviews1 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.like, "1002.%")
.and("name", QCP.equals, bankName).toArray());
debitAddNew.set("account", bdAccountviews1[0]);
// 核算维度 字段赋值
String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber");
debitAddNew.set("shkd_hswd", yhhswd);
// 原币借方金额 字段赋值
debitAddNew.set("tallyamount", transamt);
// 借方金额 字段赋值
debitAddNew.set("standardamount", transamt);
// 原币金额 字段赋值
debitAddNew.set("oriamount", transamt);
// 币种 字段赋值
debitAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
debitAddNew.set("exrate", 1);
// 汇率日期 字段赋值
debitAddNew.set("ratedate", bookdate);
}
if ("fca_transdownbill".equals(srcMainTypeName)) {
// 摘要 字段赋值
lendersAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值
DynamicObject bank = accountbank.getDynamicObject("bank");
String bank_number = bank.getString("number");
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray());
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
String bankName = bank_cate.getString("name");//银行类别
DynamicObject[] bdAccountviews1 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.like, "1002.%")
.and("name", QCP.equals, bankName).toArray());
lendersAddNew.set("account", bdAccountviews1[0]);
// 核算维度 字段赋值
String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber");
lendersAddNew.set("shkd_hswd", yhhswd);
// 原币贷方金额 字段赋值
lendersAddNew.set("loanamount", transamt);
// 贷方金额 字段赋值
lendersAddNew.set("loanstanamount", transamt);
// 原币金额 字段赋值
lendersAddNew.set("oriamount", transamt);
// 币种 字段赋值
lendersAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
lendersAddNew.set("exrate", 1);
// 汇率日期 字段赋值
lendersAddNew.set("ratedate", bookdate);
debitAddNew = tallyentryentity.addNew();
// 摘要 字段赋值
debitAddNew.set("tallyabstract", "下拨:" + subacctCompanyName);
// 科目 字段赋值
@ -211,6 +150,67 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
debitAddNew.set("ratedate", bookdate);
}
}
if ("fca_transupbill".equals(srcMainTypeName)) {
debitAddNew = tallyentryentity.addNew();
// 摘要 字段赋值
debitAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值
DynamicObject bank = accountbank.getDynamicObject("bank");
String bank_number = bank.getString("number");
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray());
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
String bankName = bank_cate.getString("name");//银行类别
DynamicObject[] bdAccountviews1 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.like, "1002.%")
.and("name", QCP.equals, bankName).toArray());
debitAddNew.set("account", bdAccountviews1[0]);
// 核算维度 字段赋值
String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber");
debitAddNew.set("shkd_hswd", yhhswd);
// 原币借方金额 字段赋值
debitAddNew.set("tallyamount", amount);
// 借方金额 字段赋值
debitAddNew.set("standardamount", amount);
// 原币金额 字段赋值
debitAddNew.set("oriamount", amount);
// 币种 字段赋值
debitAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
debitAddNew.set("exrate", 1);
// 汇率日期 字段赋值
debitAddNew.set("ratedate", bookdate);
}
if ("fca_transdownbill".equals(srcMainTypeName)) {
lendersAddNew = tallyentryentity.addNew();
// 摘要 字段赋值
lendersAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值
DynamicObject bank = accountbank.getDynamicObject("bank");
String bank_number = bank.getString("number");
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray());
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
String bankName = bank_cate.getString("name");//银行类别
DynamicObject[] bdAccountviews1 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.like, "1002.%")
.and("name", QCP.equals, bankName).toArray());
lendersAddNew.set("account", bdAccountviews1[0]);
// 核算维度 字段赋值
String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber");
lendersAddNew.set("shkd_hswd", yhhswd);
// 原币贷方金额 字段赋值
lendersAddNew.set("loanamount", amount);
// 贷方金额 字段赋值
lendersAddNew.set("loanstanamount", amount);
// 原币金额 字段赋值
lendersAddNew.set("oriamount", amount);
// 币种 字段赋值
lendersAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
lendersAddNew.set("exrate", 1);
// 汇率日期 字段赋值
lendersAddNew.set("ratedate", bookdate);
}
}
}
}
}