提交人:邹江涛

提交时间: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; DynamicObjectCollection entrys;
// 账户名称 // 账户名称
String accountbankName; String accountbankName;
DynamicObject dynamicObject;
// 贷方 // 贷方
DynamicObject lendersAddNew; DynamicObject lendersAddNew;
// 借方 // 借方
DynamicObject debitAddNew; DynamicObject debitAddNew;
// 记账期间 // 记账期间
DynamicObject[] bdPeriods; DynamicObject[] bdPeriods;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
String yearMonth; String yearMonth;
// 目标单据 记账日期 // 目标单据 记账日期
Date bookdate; Date bookdate;
// 类凭证的分录 // 类凭证的分录
DynamicObjectCollection tallyentryentity; DynamicObjectCollection tallyentryentity;
@ -75,53 +69,89 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
tallyentryentity = tarData.getDynamicObjectCollection("tallyentryentity"); tallyentryentity = tarData.getDynamicObjectCollection("tallyentryentity");
lendersAddNew = tallyentryentity.addNew();
debitAddNew = tallyentryentity.addNew();
switch (srcMainTypeName) { switch (srcMainTypeName) {
case "fca_transupbill"://上划 case "fca_transupbill"://上划
case "fca_transdownbill"://下拨 case "fca_transdownbill"://下拨
// 币种 // 币种
cuscurrency = souData.getDynamicObject("currency"); cuscurrency = souData.getDynamicObject("currency");
entrys = souData.getDynamicObjectCollection("entrys"); 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"); DynamicObject accountbank = souData.getDynamicObject("accountbank");
accountbankName = accountbank.getString("name"); accountbankName = accountbank.getString("name");
if ("fca_transupbill".equals(srcMainTypeName)) { BigDecimal amount = souData.getBigDecimal("amount");
// 摘要 字段赋值 for (DynamicObject entry : entrys) {
lendersAddNew.set("tallyabstract", "归集:" + subacctCompanyName); DynamicObject subacctCompany = entry.getDynamicObject("subacct_company");
// 科目 字段赋值 String subacctCompanyName = subacctCompany.getString("name");
DynamicObject[] bdAccountviews2 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.equals, "2241.02.01.01").toArray()); BigDecimal transamt = entry.getBigDecimal("transamt");
lendersAddNew.set("account", bdAccountviews2[0]); if ("fca_transupbill".equals(srcMainTypeName)) {
// 核算维度 字段赋值 lendersAddNew = tallyentryentity.addNew();
String gyshswd = "供应商:" + subacctCompanyName; // 摘要 字段赋值
lendersAddNew.set("shkd_hswd", gyshswd); lendersAddNew.set("tallyabstract", "归集:" + subacctCompanyName);
// 原币贷方金额 字段赋值 // 科目 字段赋值
lendersAddNew.set("loanamount", transamt); DynamicObject[] bdAccountviews2 = BusinessDataServiceHelper.load("bd_accountview", "id,number,name", new QFilter("number", QCP.equals, "2241.02.01.01").toArray());
// 贷方金额 字段赋值 lendersAddNew.set("account", bdAccountviews2[0]);
lendersAddNew.set("loanstanamount", transamt); // 核算维度 字段赋值
// 原币金额 字段赋值 String gyshswd = "供应商:" + subacctCompanyName;
lendersAddNew.set("oriamount", transamt); lendersAddNew.set("shkd_hswd", gyshswd);
// 主表项目 字段赋值 // 原币贷方金额 字段赋值
DynamicObject[] glCashflowitems = BusinessDataServiceHelper.load("gl_cashflowitem", "id.number,name", new QFilter("number", QCP.equals, "CI01.01.03").toArray()); lendersAddNew.set("loanamount", transamt);
lendersAddNew.set("maincfitem", glCashflowitems[0]); // 贷方金额 字段赋值
// 主表核算维度 字段赋值 lendersAddNew.set("loanstanamount", transamt);
String zbhswd = "组织机构:" + subacctCompanyName; // 原币金额 字段赋值
lendersAddNew.set("shkd_zbhswd", zbhswd); lendersAddNew.set("oriamount", transamt);
// 主表项目金额 字段赋值 // 主表项目 字段赋值
lendersAddNew.set("maincfamount", transamt); DynamicObject[] glCashflowitems = BusinessDataServiceHelper.load("gl_cashflowitem", "id.number,name", new QFilter("number", QCP.equals, "CI01.01.03").toArray());
// 币种 字段赋值 lendersAddNew.set("maincfitem", glCashflowitems[0]);
lendersAddNew.set("cuscurrency", cuscurrency); // 主表核算维度 字段赋值
// 汇率 字段赋值 String zbhswd = "组织机构:" + subacctCompanyName;
lendersAddNew.set("exrate", 1); lendersAddNew.set("shkd_zbhswd", zbhswd);
// 汇率日期 字段赋值 // 主表项目金额 字段赋值
lendersAddNew.set("ratedate", bookdate); lendersAddNew.set("maincfamount", transamt);
// 币种 字段赋值
lendersAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
lendersAddNew.set("exrate", 1);
// 汇率日期 字段赋值
lendersAddNew.set("ratedate", bookdate);
}
if ("fca_transdownbill".equals(srcMainTypeName)) {
debitAddNew = tallyentryentity.addNew();
// 摘要 字段赋值
debitAddNew.set("tallyabstract", "下拨:" + subacctCompanyName);
// 科目 字段赋值
DynamicObject[] bdAccountviews2 = BusinessDataServiceHelper.load("bd_accountview",
"id,number,name", new QFilter("number", QCP.equals, "2241.02.01.01").toArray());
debitAddNew.set("account", bdAccountviews2[0]);
// 核算维度 字段赋值
String gyshswd = "供应商:" + subacctCompanyName;
debitAddNew.set("shkd_hswd", gyshswd);
// 原币借方金额 字段赋值
debitAddNew.set("tallyamount", transamt);
// 借方金额 字段赋值
debitAddNew.set("standardamount", transamt);
// 原币金额 字段赋值
debitAddNew.set("oriamount", transamt);
// 主表项目 字段赋值
DynamicObject[] glCashflowitems = BusinessDataServiceHelper.load("gl_cashflowitem",
"id.number,name", new QFilter("number", QCP.equals, "CI01.02.04").toArray());
debitAddNew.set("maincfitem", glCashflowitems[0]);
// 主表核算维度 字段赋值
String zbhswd = "组织机构:" + subacctCompanyName;
debitAddNew.set("shkd_zbhswd", zbhswd);
// 主表项目金额 字段赋值
debitAddNew.set("maincfamount", transamt);
// 币种 字段赋值
debitAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
debitAddNew.set("exrate", 1);
// 汇率日期 字段赋值
debitAddNew.set("ratedate", bookdate);
}
}
if ("fca_transupbill".equals(srcMainTypeName)) {
debitAddNew = tallyentryentity.addNew();
// 摘要 字段赋值 // 摘要 字段赋值
debitAddNew.set("tallyabstract", accountbankName + "账户资金明细"); debitAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值 // 科目 字段赋值
@ -137,11 +167,11 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber"); String yhhswd = "银行账户:" + accountbank.getString("bankaccountnumber");
debitAddNew.set("shkd_hswd", yhhswd); debitAddNew.set("shkd_hswd", yhhswd);
// 原币借方金额 字段赋值 // 原币借方金额 字段赋值
debitAddNew.set("tallyamount", transamt); debitAddNew.set("tallyamount", amount);
// 借方金额 字段赋值 // 借方金额 字段赋值
debitAddNew.set("standardamount", transamt); debitAddNew.set("standardamount", amount);
// 原币金额 字段赋值 // 原币金额 字段赋值
debitAddNew.set("oriamount", transamt); debitAddNew.set("oriamount", amount);
// 币种 字段赋值 // 币种 字段赋值
debitAddNew.set("cuscurrency", cuscurrency); debitAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值 // 汇率 字段赋值
@ -151,6 +181,7 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
} }
if ("fca_transdownbill".equals(srcMainTypeName)) { if ("fca_transdownbill".equals(srcMainTypeName)) {
lendersAddNew = tallyentryentity.addNew();
// 摘要 字段赋值 // 摘要 字段赋值
lendersAddNew.set("tallyabstract", accountbankName + "账户资金明细"); lendersAddNew.set("tallyabstract", accountbankName + "账户资金明细");
// 科目 字段赋值 // 科目 字段赋值
@ -167,48 +198,17 @@ public class LpzConverPlugin extends AbstractConvertPlugIn implements Plugin {
lendersAddNew.set("shkd_hswd", yhhswd); lendersAddNew.set("shkd_hswd", yhhswd);
// 原币贷方金额 字段赋值 // 原币贷方金额 字段赋值
lendersAddNew.set("loanamount", transamt); lendersAddNew.set("loanamount", amount);
// 贷方金额 字段赋值 // 贷方金额 字段赋值
lendersAddNew.set("loanstanamount", transamt); lendersAddNew.set("loanstanamount", amount);
// 原币金额 字段赋值 // 原币金额 字段赋值
lendersAddNew.set("oriamount", transamt); lendersAddNew.set("oriamount", amount);
// 币种 字段赋值 // 币种 字段赋值
lendersAddNew.set("cuscurrency", cuscurrency); lendersAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值 // 汇率 字段赋值
lendersAddNew.set("exrate", 1); lendersAddNew.set("exrate", 1);
// 汇率日期 字段赋值 // 汇率日期 字段赋值
lendersAddNew.set("ratedate", bookdate); lendersAddNew.set("ratedate", bookdate);
// 摘要 字段赋值
debitAddNew.set("tallyabstract", "下拨:" + subacctCompanyName);
// 科目 字段赋值
DynamicObject[] bdAccountviews2 = BusinessDataServiceHelper.load("bd_accountview",
"id,number,name", new QFilter("number", QCP.equals, "2241.02.01.01").toArray());
debitAddNew.set("account", bdAccountviews2[0]);
// 核算维度 字段赋值
String gyshswd = "供应商:" + subacctCompanyName;
debitAddNew.set("shkd_hswd", gyshswd);
// 原币借方金额 字段赋值
debitAddNew.set("tallyamount", transamt);
// 借方金额 字段赋值
debitAddNew.set("standardamount", transamt);
// 原币金额 字段赋值
debitAddNew.set("oriamount", transamt);
// 主表项目 字段赋值
DynamicObject[] glCashflowitems = BusinessDataServiceHelper.load("gl_cashflowitem",
"id.number,name", new QFilter("number", QCP.equals, "CI01.02.04").toArray());
debitAddNew.set("maincfitem", glCashflowitems[0]);
// 主表核算维度 字段赋值
String zbhswd = "组织机构:" + subacctCompanyName;
debitAddNew.set("shkd_zbhswd", zbhswd);
// 主表项目金额 字段赋值
debitAddNew.set("maincfamount", transamt);
// 币种 字段赋值
debitAddNew.set("cuscurrency", cuscurrency);
// 汇率 字段赋值
debitAddNew.set("exrate", 1);
// 汇率日期 字段赋值
debitAddNew.set("ratedate", bookdate);
} }
} }
} }