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

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){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){
this.getView().showErrorNotification("请选择所属组织!");
}
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
//this.getView().showErrorNotification("请选择所属组织!");
}else{
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<>();
for (DynamicObject custom : customs) {
Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = custom.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_customer");
map1.put("0001", customer.getString("number"));
li.add(map1);
}
accountAssgrp.put("1122", li);
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
groupBy.add("0001");
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;
BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor
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<>();
for (DynamicObject custom : customs) {
Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = custom.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_customer");
map1.put("0001", customer.getString("number"));
li.add(map1);
}
accountAssgrp.put("1122", li);
balanceQueryParamApi.setAccountAssgrp(accountAssgrp);
groupBy.add("0001");
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;
BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
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{
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObject dynamicObject = zcgjFinApprovedAmount.get(rowIndex);
@ -160,67 +162,68 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp
if(suppliers!=null){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){
this.getView().showErrorNotification("请选择所属组织!");
}
BalanceQueryParamApi balanceQueryParamApi = new BalanceQueryParamApi();
balanceQueryParamApi.setSelectors(Arrays.asList(selectorsArray));
balanceQueryParamApi.setOrgNumber(org.getString("number"));
balanceQueryParamApi.setBookTypeNumber("100002"); //账簿类型
balanceQueryParamApi.setAccountTableNumber("0003");//科目表
//this.getView().showErrorNotification("请选择所属组织!");
}else{
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<>();
for (DynamicObject supplier : suppliers) {
Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = supplier.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_supplier");
map1.put("0005", customer.getString("number"));
li.add(map1);
}
accountAssgrp.put("2202", 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;
BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
totalyearcreditfor = totalyearcreditfor.add(record.getYearcreditfor());//yearcreditfor
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<>();
for (DynamicObject supplier : suppliers) {
Map<String, String> map1 = new HashMap<>();
DynamicObject basedataObj = supplier.getDynamicObject("fbasedataid");
DynamicObject customer = BusinessDataServiceHelper.loadSingle( basedataObj.getPkValue(), "bd_supplier");
map1.put("0005", customer.getString("number"));
li.add(map1);
}
accountAssgrp.put("2202", 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;
BigDecimal totalendlocal = BigDecimal.ZERO;
BigDecimal totayeardebitfor = BigDecimal.ZERO;
BigDecimal totalyearcreditfor = BigDecimal.ZERO;
for (AccountRecord record : records) {
totalbeginlocal = totalbeginlocal.add(record.getBeginlocal());//期初本位币金额
totalendlocal = totalendlocal.add(record.getEndlocal());//期初本位币金额
totayeardebitfor = totayeardebitfor.add(record.getYeardebitfor());//yeardebitfor
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{
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_outfundproject_entry");
@ -243,172 +246,176 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp
public void fundplyentryXJ(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){
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");
//this.getView().showErrorNotification("请选择所属组织!");
}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");
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{
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(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){
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);//银行承兑
//this.getView().showErrorNotification("请选择所属组织!");
}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");
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{
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(){
DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org");
if(org == null){
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);//供应链
//this.getView().showErrorNotification("请选择所属组织!");
}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");
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{
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");
}
}
}
}