资金计划申请科目余额取数插件

This commit is contained in:
zhangzhiguo 2025-10-21 09:39:43 +08:00
parent 3198e70193
commit 69598c46fa
1 changed files with 276 additions and 269 deletions

View File

@ -83,68 +83,70 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp
if(customs!=null){ if(customs!=null){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){ if(org == null){
this.getView().showErrorNotification("请选择所属组织!"); //this.getView().showErrorNotification("请选择所属组织!");
} }else{
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi(); BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray)); balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number")); balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型 balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表 balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period"); DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){ if(period == null){
//this.getView().showErrMessage("请选择期间!"); //this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!"); this.getView().showErrorNotification("请选择期间!");
} }
balanceQueryParamApi.setPeriodNumber(period.getString("number")); // balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>(); List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>(); Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>(); List<Map<String, String>> li = new ArrayList<>();
for (DynamicObject custom : customs) { for (DynamicObject custom : customs) {
Map<String, String> map1 = new HashMap<>(); Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = custom.getDynamicObject("fbasedataid"); DynamicObject basedataObj = custom.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_customer"); DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_customer");
map1.put("0001", customer.getString("number")); map1.put("0001", customer.getString("number"));
li.add(map1); li.add(map1);
} }
accountAssgrp.put("1122", li); accountAssgrp.put("1122", li);
balanceQueryParamApi.setAccountAssgrp(accountAssgrp); balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
groupBy.add("0001"); groupBy.add("0001");
groupBy.add("account"); groupBy.add("account");
Gson gson = new Gson(); Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi); String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json, Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() { new TypeToken<Map<String, Object>>() {
}.getType()); }.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params); OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) { if (balanceData.isStatus()) {
String data = (String) balanceData.getData(); String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() { Type listType = new TypeToken<List<AccountRecord>>() {
}.getType(); }.getType();
List<AccountRecord> records = gson.fromJson(data, listType); List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO; BigDecimal totalbeginlocal = BigDecimal.ZERO;
BigDecimal totalendlocal = BigDecimal.ZERO; BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO; BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO; BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) { for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额 totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额 totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor
}
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
//年初余额 = 期末余额-本年累计借方+本年累计贷方
BigDecimal beginningbalanceofyear =totalendlocal.subtract(totayeardebitfor).add(totalyearcreditfor);
dynamicObject.set("zcgj_iinitialreceivable",beginningbalanceofyear);//年初余额取科目余额表年初数
dynamicObject.set("zcgj_monthbeginreceivable",totalbeginlocal);//月初应收余额
dynamicObject.set("zcgj_ytdoutputvalue",totayeardebitfor);//本年累计结算-借方
dynamicObject.set("zcgj_ytdpaymentreceived",totalyearcreditfor);//本年累计回款-贷方
this.getView().updateView("zcgj_infundproject_entry");
} }
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
//年初余额 = 期末余额-本年累计借方+本年累计贷方
BigDecimal beginningbalanceofyear =totalendlocal.subtract(totayeardebitfor).add(totalyearcreditfor);
dynamicObject.set("zcgj_iinitialreceivable",beginningbalanceofyear);//年初余额取科目余额表年初数
dynamicObject.set("zcgj_monthbeginreceivable",totalbeginlocal);//月初应收余额
dynamicObject.set("zcgj_ytdoutputvalue",totayeardebitfor);//本年累计结算-借方
dynamicObject.set("zcgj_ytdpaymentreceived",totalyearcreditfor);//本年累计回款-贷方
this.getView().updateView("zcgj_infundproject_entry");
} }
}else{ }else{
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry"); DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex); DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
@ -160,67 +162,68 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp
if(suppliers!=null){ if(suppliers!=null){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){ if(org == null){
this.getView().showErrorNotification("请选择所属组织!"); //this.getView().showErrorNotification("请选择所属组织!");
} }else{
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi(); BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray)); balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number")); balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型 balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表 balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period"); DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){ if(period == null){
//this.getView().showErrMessage("请选择期间!"); //this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!"); this.getView().showErrorNotification("请选择期间!");
} }
balanceQueryParamApi.setPeriodNumber(period.getString("number")); // balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>(); List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>(); Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>(); List<Map<String, String>> li = new ArrayList<>();
for (DynamicObject supplier : suppliers) { for (DynamicObject supplier : suppliers) {
Map<String, String> map1 = new HashMap<>(); Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = supplier.getDynamicObject("fbasedataid"); DynamicObject basedataObj = supplier.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_supplier"); DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_supplier");
map1.put("0005", customer.getString("number")); map1.put("0005", customer.getString("number"));
li.add(map1); li.add(map1);
} }
accountAssgrp.put("2202", li); accountAssgrp.put("2202", li);
balanceQueryParamApi.setAccountAssgrp(accountAssgrp); balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
groupBy.add("0005"); groupBy.add("0005");
groupBy.add("account"); groupBy.add("account");
Gson gson = new Gson(); Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi); String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json, Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() { new TypeToken<Map<String, Object>>() {
}.getType()); }.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params); OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) { if (balanceData.isStatus()) {
String data = (String) balanceData.getData(); String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() { Type listType = new TypeToken<List<AccountRecord>>() {
}.getType(); }.getType();
List<AccountRecord> records = gson.fromJson(data, listType); List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO; BigDecimal totalbeginlocal = BigDecimal.ZERO;
BigDecimal totalendlocal = BigDecimal.ZERO; BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO; BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO; BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) { for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额 totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额 totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor
}
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_outfundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
//年初余额 = 期末余额-本年累计借方+本年累计贷方
BigDecimal beginningbalanceofyear =totalendlocal.subtract(totalyearcreditfor).add(totayeardebitfor);
dynamicObject.set("zcgj_openingpayable",beginningbalanceofyear);//年初余额取科目余额表年初数
dynamicObject.set("zcgj_monthbeginpayable",totalbeginlocal);//月初应付余额
dynamicObject.set("zcgj_ytdtotalpayment",totayeardebitfor);//本年累计付款-借方
dynamicObject.set("zcgj_ytdnetsettlement",totalyearcreditfor);//本年累计结算-贷方
this.getView().updateView("zcgj_outfundproject_entry");
} }
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_outfundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
//年初余额 = 期末余额-本年累计借方+本年累计贷方
BigDecimal beginningbalanceofyear =totalendlocal.subtract(totalyearcreditfor).add(totayeardebitfor);
dynamicObject.set("zcgj_openingpayable",beginningbalanceofyear);//年初余额取科目余额表年初数
dynamicObject.set("zcgj_monthbeginpayable",totalbeginlocal);//月初应付余额
dynamicObject.set("zcgj_ytdtotalpayment",totayeardebitfor);//本年累计付款-借方
dynamicObject.set("zcgj_ytdnetsettlement",totalyearcreditfor);//本年累计结算-贷方
this.getView().updateView("zcgj_outfundproject_entry");
} }
}else{ }else{
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_outfundproject_entry"); DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_outfundproject_entry");
@ -243,172 +246,176 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp
public void fundplyentryXJ(){ public void fundplyentryXJ(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){ if(org == null){
this.getView().showErrorNotification("请选择所属组织!"); //this.getView().showErrorNotification("请选择所属组织!");
}
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
accountAssgrp.put("1001", li); //现金
accountAssgrp.put("1002", li); //现金
// accountAssgrp.put("11260101", li); //银行承兑
//accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_cashamt",totalbeginlocal);//现金
this.getView().updateView("zcgj_fundplyentry");
}else{ }else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
DynamicObject dynamicObject = fundplyentry.get(0); balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
dynamicObject.set("zcgj_cashamt",BigDecimal.ZERO);//现金 balanceQueryParamApi.setOrgNumber(org.getString("number"));
this.getView().updateView("zcgj_fundplyentry"); balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
accountAssgrp.put("1001", li); //现金
accountAssgrp.put("1002", li); //现金
// accountAssgrp.put("11260101", li); //银行承兑
//accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_cashamt",totalbeginlocal);//现金
this.getView().updateView("zcgj_fundplyentry");
}else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_cashamt",BigDecimal.ZERO);//现金
this.getView().updateView("zcgj_fundplyentry");
}
} }
} }
public void fundplyentryYHCD(){ public void fundplyentryYHCD(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){ if(org == null){
this.getView().showErrorNotification("请选择所属组织!"); //this.getView().showErrorNotification("请选择所属组织!");
}
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
//accountAssgrp.put("1001", li); //现金
//accountAssgrp.put("1002", li); //现金
accountAssgrp.put("11260101", li); //银行承兑
//accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_bankamt",totalbeginlocal);//银行承兑
}else{ }else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
DynamicObject dynamicObject = fundplyentry.get(0); balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
dynamicObject.set("zcgj_bankamt",BigDecimal.ZERO);//银行承兑 balanceQueryParamApi.setOrgNumber(org.getString("number"));
this.getView().updateView("zcgj_fundplyentry"); balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
//accountAssgrp.put("1001", li); //现金
//accountAssgrp.put("1002", li); //现金
accountAssgrp.put("11260101", li); //银行承兑
//accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_bankamt",totalbeginlocal);//银行承兑
}else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_bankamt",BigDecimal.ZERO);//银行承兑
this.getView().updateView("zcgj_fundplyentry");
}
} }
} }
public void fundplyentryGYL(){ public void fundplyentryGYL(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){ if(org == null){
this.getView().showErrorNotification("请选择所属组织!"); //this.getView().showErrorNotification("请选择所属组织!");
}
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
//accountAssgrp.put("1001", li); //现金
//accountAssgrp.put("1002", li); //现金
//accountAssgrp.put("11260101", li); //银行承兑
accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_supplyamt",totalbeginlocal);//供应链
}else{ }else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
DynamicObject dynamicObject = fundplyentry.get(0); balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
dynamicObject.set("zcgj_supplyamt",BigDecimal.ZERO);//供应链 balanceQueryParamApi.setOrgNumber(org.getString("number"));
this.getView().updateView("zcgj_fundplyentry"); balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period");
if(period == null){
//this.getView().showErrMessage("请选择期间!");
this.getView().showErrorNotification("请选择期间!");
}
balanceQueryParamApi.setPeriodNumber(period.getString("number")); //
List<String> groupBy = new ArrayList<>();
Map<String, List<Map<String, String>>> accountAssgrp = new HashMap<>();
List<Map<String, String>> li = new ArrayList<>();
//accountAssgrp.put("1001", li); //现金
//accountAssgrp.put("1002", li); //现金
//accountAssgrp.put("11260101", li); //银行承兑
accountAssgrp.put("11260301", li); //供应链
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
//groupBy.add("0005");
groupBy.add("account");
Gson gson = new Gson();
String json = gson.toJson(balanceQueryParamApi);
Map<String, Object> params = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getBalanceApi", params);
if (balanceData.isStatus()) {
String data = (String) balanceData.getData();
Type listType = new TypeToken<List<AccountRecord>>() {
}.getType();
List<AccountRecord> records = gson.fromJson(data, listType);
BigDecimal totalbeginlocal = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
}
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_supplyamt",totalbeginlocal);//供应链
}else{
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
DynamicObject dynamicObject = fundplyentry.get(0);
dynamicObject.set("zcgj_supplyamt",BigDecimal.ZERO);//供应链
this.getView().updateView("zcgj_fundplyentry");
}
} }
} }
} }