From cded94d5d72cb450a7b195fa5af6b0e2bb23d0b7 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 9 Apr 2025 14:01:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E8=B4=A6=E7=9B=B8=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccountBalanceTotalQueryAction.java | 306 +++++++++++++ .../gl/accountrep/config/action/action.xml | 404 ++++++++++++++++++ .../gl/app/config/authorize/reckon.xml | 44 ++ 3 files changed, 754 insertions(+) create mode 100644 gl/src/client/nccloud/web/gl/accountrep/action/AccountBalanceTotalQueryAction.java create mode 100644 gl/src/client/yyconfig/modules/gl/accountrep/config/action/action.xml create mode 100644 gl/src/client/yyconfig/modules/gl/app/config/authorize/reckon.xml diff --git a/gl/src/client/nccloud/web/gl/accountrep/action/AccountBalanceTotalQueryAction.java b/gl/src/client/nccloud/web/gl/accountrep/action/AccountBalanceTotalQueryAction.java new file mode 100644 index 0000000..202009d --- /dev/null +++ b/gl/src/client/nccloud/web/gl/accountrep/action/AccountBalanceTotalQueryAction.java @@ -0,0 +1,306 @@ +package nccloud.web.gl.accountrep.action; + +import nc.bs.logging.Logger; +import nc.vo.pub.BusinessException; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.container.SessionContext; +import nccloud.framework.web.json.JsonFactory; +import nccloud.pubitf.gl.account.IAccountReportWebService; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class AccountBalanceTotalQueryAction implements ICommonAction { + public AccountBalanceTotalQueryAction() { + } + public Object doAction(IRequest request) { + String json = request.read(); + Logger.info("busiParam:" + json); + Map paraMap = (Map) JsonFactory.create().fromJson(json, Map.class); + this.setAppcode(paraMap); + + try { + return this.doQuery(getParaMap(paraMap)); + } catch (BusinessException e) { + ExceptionUtils.wrapException(e); + return null; + } + } + public Object doQuery(Map paraMap) throws BusinessException { + + // 科目余额表数据 + Map result = ((IAccountReportWebService) ServiceLocator.find(IAccountReportWebService.class)).queryAccBalance((Map) paraMap.get("second")); + // 科目辅助余额表数据 + Map result1 = ((IAccountReportWebService) ServiceLocator.find(IAccountReportWebService.class)).querySubjAssBalanceBooks((Map) paraMap.get("first")); + List> data = (List>) result.get("data"); + List> data1 = (List>) result1.get("data"); + + // 过滤掉 data1 中 assname 为空的数据 + data1 = data1.stream() + .filter(item -> item.get("assname") != null && !item.get("assname").toString().trim().isEmpty()) + .collect(Collectors.toList()); + + // 创建一个映射,根据 acccode 快速查找 data 中的元素 + Map> dataMap = data.stream() + .collect(Collectors.toMap(item -> (String) item.get("acccode"), item -> item)); + for (Map item : data) { + String endorint = (String) item.get("endorint"); + BigDecimal endlocamount = parseEndlocamount((String) item.get("endlocamount")) ; + if ("贷".equals(endorint)) { + item.put("endlocamount", endlocamount.negate()); + } + } + // 构造新的 Map,存储每个父级科目的期末余额之和 + Map sumMap = new HashMap<>(); + + // 构造新的列表 + List> mergedList = new ArrayList<>(); + DecimalFormat decimalFormat = new DecimalFormat("#,##0.00"); + List bigDecimals = new ArrayList<>(); + for (Map item : data1) { + Map linkMap = (Map) item.get("link"); + String acccode = (String) linkMap.get("acccode"); + + String accname = (String) item.get("accname"); + String parentAcccode = acccode; + Map parentItem = dataMap.get(parentAcccode); + + if (parentItem != null) { + String endlocamountStr = (String) item.get("endlocamount"); + String endorint = (String) item.get("endorint"); + BigDecimal endlocamount = parseEndlocamount(endlocamountStr); + // 构造新的 Map + Map newItem = new HashMap<>(); + newItem.put("endlocamount", decimalFormat.format(endlocamount)); + + // 根据 endorint 调整 endlocamount 的符号 + if ("贷".equals(endorint)) { + endlocamount = endlocamount.negate(); + } + bigDecimals.add(endlocamount); + // 更新 sumMap + sumMap.put(parentAcccode, sumMap.getOrDefault(parentAcccode, BigDecimal.ZERO).add(endlocamount)); + + newItem.put("pacccode", parentAcccode); + newItem.put("pendorint", parentItem.get("endorint")); + newItem.put("paccname", parentItem.get("accname")); + newItem.put("pendlocamount", parentItem.get("endlocamount")); + newItem.put("acccode", acccode); + newItem.put("accname", accname); // 假设 data1 中没有 accname,使用父级的 accname + newItem.put("assname", item.get("assname")); + newItem.put("endorint", item.get("endorint")); +// newItem.put("endlocamount", decimalFormat.format(endlocamount)); + mergedList.add(newItem); + } + } + BigDecimal sum=BigDecimal.valueOf(0); + for (BigDecimal bigDecimal : bigDecimals){ + sum=sum.add(bigDecimal); + } + List> toBeRemoved = new ArrayList<>(); +// 计算每个父级科目的 endlocamount 和所有关联 data1 中 endlocamount 的差值 + for (Map item : mergedList) { + String parentAcccode = (String) item.get("pacccode"); + BigDecimal endlocamount =BigDecimal.ZERO; + if( item.get("pendlocamount") instanceof String){ + String endlocamountStr = (String) item.get("pendlocamount"); + endlocamount = parseEndlocamount(endlocamountStr); + }else if( item.get("pendlocamount") instanceof BigDecimal){ + endlocamount = (BigDecimal) item.get("pendlocamount"); + } + +// BigDecimal endlocamount = (BigDecimal) item.get("pendlocamount"); + BigDecimal sumEndlocamount = sumMap.get(parentAcccode); + BigDecimal difference = sumEndlocamount.subtract(endlocamount); + if (difference.compareTo(BigDecimal.ZERO) == 0) { + toBeRemoved.add(item); + } else { + if(endlocamount.compareTo(BigDecimal.ZERO) < 0){ + item.put("pendlocamount",decimalFormat.format(endlocamount.negate()) ); + }else{ + item.put("pendlocamount",decimalFormat.format(endlocamount) ); + } + item.put("difference", decimalFormat.format(difference)); + } + } + mergedList.removeAll(toBeRemoved); +// for (int i = 1; i < mergedList.size(); i++) { +// mergedList.get(i).put("pacccode", ""); +// mergedList.get(i).put("paccname", ""); +// mergedList.get(i).put("pendlocamount", ""); +// mergedList.get(i).put("difference", ""); +// } + //{"busiParamJson":"{\"pk_accountingbook\":[\"1001A110000000001PFH\"],\"pk_unit\":[],\"multbusi\":false,\"usesubjversion\":\"N\",\"versiondate\":\"2025-01-02\",\"startlvl\":\"1\",\"endlvl\":\"1\",\"isleave\":true,\"isoutacc\":\"N\",\"startyear\":\"2024\",\"endyear\":\"2024\",\"startperiod\":\"12\",\"endperiod\":\"12\",\"startdate\":\"2024-12-01\",\"endtdate\":\"2024-12-31\",\"includeuntally\":\"N\",\"includeerror\":\"N\",\"includeplcf\":\"Y\",\"includerc\":\"N\",\"pk_currtype\":\"本币\",\"returncurr\":\"1\",\"mutibook\":\"N\",\"showzerooccur\":\"N\",\"showzerobalanceoccur\":\"Y\",\"sumbysubjtype\":\"N\",\"showupsubj\":\"N\",\"currplusacc\":\"Y\",\"balanceori\":\"-1\",\"twowaybalance\":\"N\",\"istree\":\"Y\",\"qryObjs\":[],\"pk_accasoa\":[\"1001A1100000000017SV\"]}","sysParamJson":{"busiaction":"科目辅助余额表-查询","appcode":"20028003","tabid":"","ts":1735815136860,"from":"","pagecs":1735804016325}} + + // 输出合并后的列表 + for (Map item : mergedList) { + System.out.println(item); + } + return mergedList; + } + + // 解析 endlocamount 字符串为 double 类型 + private static BigDecimal parseEndlocamount(String endlocamountStr) { + if (endlocamountStr == null || endlocamountStr.isEmpty()) { + return BigDecimal.ZERO; + } + // 去除逗号 + endlocamountStr = endlocamountStr.replace(",", ""); + try { + return BigDecimal.valueOf(Double.parseDouble(endlocamountStr)); + } catch (NumberFormatException e) { + return BigDecimal.ZERO; + } + } + private Map getParaMap(Map params) { + // 获取传入的参数 + List pkAccountingBook = (List) params.get("pk_accountingbook"); +//1001A1100000000017TP + List pkAccasoa = (List) params.get("pk_accasoa"); +// pkAccasoa.add("1001A1100000000017TP"); + String startYear = (String) params.get("startyear"); + String endYear = (String) params.get("endyear"); + String startPeriod = (String) params.get("startperiod"); + String endPeriod = (String) params.get("endperiod"); + String startDate = (String) params.get("startdate"); + String endDate = (String) params.get("enddate"); + String isleave = (String) params.get("isleave"); + + // 创建第一个 Map 对象 + Map firstBusiParamJson = new HashMap<>(); + firstBusiParamJson.put("pk_accountingbook", pkAccountingBook); + firstBusiParamJson.put("pk_unit", new ArrayList(){}); + firstBusiParamJson.put("multbusi", false); + firstBusiParamJson.put("usesubjversion", "N"); + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); +// 格式化日期为 "yyyy-MM-dd" 格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedDate = currentDate.format(formatter); + +// 设置 versiondate 为当前日期 + firstBusiParamJson.put("versiondate", formattedDate); + firstBusiParamJson.put("startlvl", "1"); + firstBusiParamJson.put("endlvl", "1"); + firstBusiParamJson.put("isleave", isleave); + firstBusiParamJson.put("isoutacc", "N"); + firstBusiParamJson.put("startyear", startYear); + firstBusiParamJson.put("endyear", endYear); + firstBusiParamJson.put("startperiod", startPeriod); + firstBusiParamJson.put("endperiod", endPeriod); + firstBusiParamJson.put("startdate", startDate); + firstBusiParamJson.put("enddate", endDate); + firstBusiParamJson.put("includeuntally", "N"); + firstBusiParamJson.put("includeerror", "N"); + firstBusiParamJson.put("includeplcf", "Y"); + firstBusiParamJson.put("includerc", "N"); + firstBusiParamJson.put("pk_currtype", "本币"); + firstBusiParamJson.put("returncurr", "1"); + firstBusiParamJson.put("mutibook", "N"); + firstBusiParamJson.put("showzerooccur", "N"); + firstBusiParamJson.put("showzerobalanceoccur", "Y"); + firstBusiParamJson.put("sumbysubjtype", "N"); + firstBusiParamJson.put("showupsubj", "N"); + firstBusiParamJson.put("currplusacc", "Y"); + firstBusiParamJson.put("balanceori", "-1"); + firstBusiParamJson.put("twowaybalance", "N"); + firstBusiParamJson.put("istree", "Y"); + firstBusiParamJson.put("qryObjs", new ArrayList(){}); + firstBusiParamJson.put("pk_accasoa", pkAccasoa); + if(pkAccasoa.isEmpty() || pkAccasoa.get(0).equals("")){ + firstBusiParamJson.put("isleave", "N"); + firstBusiParamJson.put("pk_accasoa", new ArrayList(){}); + }else{ + firstBusiParamJson.put("isleave", null); + + } +// firstBusiParamJson.put("pk_accasoa", pkAccasoa);//1001A1100000000017SV + + Map firstSysParamJson = new HashMap<>(); + firstSysParamJson.put("busiaction", "科目辅助余额表-查询"); + firstSysParamJson.put("appcode", "20028003"); + firstSysParamJson.put("tabid", ""); + firstSysParamJson.put("ts", System.currentTimeMillis()); + firstSysParamJson.put("from", ""); + firstSysParamJson.put("pagecs", System.currentTimeMillis()); + + // 创建第二个 Map 对象 + Map secondBusiParamJson = new HashMap<>(); + secondBusiParamJson.put("pk_accountingbook", pkAccountingBook); + secondBusiParamJson.put("pk_unit",new ArrayList()); + secondBusiParamJson.put("multbusi", false); + secondBusiParamJson.put("usesubjversion", "N"); + secondBusiParamJson.put("versiondate", null); + secondBusiParamJson.put("startlvl", "1"); + secondBusiParamJson.put("endlvl", "1"); + secondBusiParamJson.put("isleave", isleave); + secondBusiParamJson.put("isoutacc", "N"); + secondBusiParamJson.put("startyear", startYear); + secondBusiParamJson.put("endyear", endYear); + secondBusiParamJson.put("startperiod", startPeriod); + secondBusiParamJson.put("endperiod", endPeriod); + secondBusiParamJson.put("startdate", startDate); +// secondBusiParamJson.put("endtdate", endDate); + secondBusiParamJson.put("enddate", endDate); + secondBusiParamJson.put("includeuntally", "N"); + secondBusiParamJson.put("includeerror", "N"); + secondBusiParamJson.put("includeplcf", "Y"); + secondBusiParamJson.put("includerc", "N"); + secondBusiParamJson.put("pk_currtype", "本币"); + secondBusiParamJson.put("returncurr", "1"); + secondBusiParamJson.put("mutibook", "N"); + secondBusiParamJson.put("showzerooccur", "N"); + secondBusiParamJson.put("showzerobalanceoccur", "Y"); + secondBusiParamJson.put("currplusacc", "Y"); + secondBusiParamJson.put("sumbysubjtype", "N"); + secondBusiParamJson.put("balanceori", "-1"); + secondBusiParamJson.put("twowaybalance", "N"); + secondBusiParamJson.put("querybyperiod", true); + secondBusiParamJson.put("pk_accasoa", pkAccasoa);//1001A1100000000017SV + if(pkAccasoa.isEmpty() || pkAccasoa.get(0).equals("")){ + secondBusiParamJson.put("isleave", "N"); + secondBusiParamJson.put("pk_accasoa", new ArrayList(){}); + }else{ + secondBusiParamJson.put("isleave", null); + + } + secondBusiParamJson.put("appcode", "20023005"); + Map secondSysParamJson = new HashMap<>(); + secondSysParamJson.put("busiaction", "科目余额表-查询"); + secondSysParamJson.put("appcode", "20023005"); + secondSysParamJson.put("tabid", ""); + secondSysParamJson.put("ts", System.currentTimeMillis()); + secondSysParamJson.put("from", ""); + secondSysParamJson.put("pagecs", System.currentTimeMillis()); + Map paraMap = new HashMap<>(); + Map first = new HashMap<>(); + first.put("busiParamJson", firstBusiParamJson); + first.put("sysParamJson", firstSysParamJson); + Map second = new HashMap<>(); + second.put("busiParamJson2", secondBusiParamJson); + second.put("sysParamJson2", secondSysParamJson); + paraMap.put("first",firstBusiParamJson); + paraMap.put("second",secondBusiParamJson); + return paraMap; + } + private void setAppcode(Map paraMap) { + String appcode = SessionContext.getInstance().getAppcode(); + if (appcode.startsWith("2002305010")) { + appcode = (String)paraMap.get("pk_multicol"); + } else if (appcode.startsWith("2002308010")) { + appcode = (String)paraMap.get("pk_report"); + } + + paraMap.put("appcode", appcode); + } +} diff --git a/gl/src/client/yyconfig/modules/gl/accountrep/config/action/action.xml b/gl/src/client/yyconfig/modules/gl/accountrep/config/action/action.xml new file mode 100644 index 0000000..c346217 --- /dev/null +++ b/gl/src/client/yyconfig/modules/gl/accountrep/config/action/action.xml @@ -0,0 +1,404 @@ + + + + gl.accountrep.accbalquery + + nccloud.web.gl.accountrep.action.AccountBalanceQueryAction + + + + gl.accountrep.triaccquery + + nccloud.web.gl.accountrep.action.TriAccbooksQueryAction + + + + gl.accountrep.detailbookquery + + nccloud.web.gl.accountrep.action.DetailBookQueryAction + + + + gl.accountrep.subjassemblequery + + nccloud.web.gl.accountrep.action.SubjAssembleQueryAction + + + + gl.accountrep.summarylistquery + + nccloud.web.gl.accountrep.action.SummaryListQueryAction + + + + gl.accountrep.multibookformatquery + + nccloud.web.gl.accountrep.action.MultiBookFormatQueryAction + + + gl.accountrep.multibookformatcopy + + nccloud.web.gl.accountrep.action.MultiBookFormatCopyAction + + + gl.accountrep.multibookformatsave + + nccloud.web.gl.accountrep.action.MultiBookFormatSaveAction + + + gl.accountrep.multibookformatdelete + + nccloud.web.gl.accountrep.action.MultiBookFormatDeleteAction + + + gl.accountrep.multibookformatpreview + + nccloud.web.gl.accountrep.action.MultiBookFormatPreviewAction + + + gl.accountrep.multibookquery + + nccloud.web.gl.accountrep.action.MultiBookQueryAction + + + gl.accountrep.multibookpage + + nccloud.web.gl.accountrep.action.MultiBookPageAction + + + gl.accountrep.assanalysisreportquery + + nccloud.web.gl.accountrep.action.AssAnalysisReportQueryAction + + + gl.accountrep.assanalysisreportsave + + nccloud.web.gl.accountrep.action.AssAnalysisReportSaveAction + add,edit,alter + + + gl.accountrep.assanalysisreportdelete + + nccloud.web.gl.accountrep.action.AssAnalysisReportDeleteAction + delete + + + gl.accountrep.assanalysisquery + + nccloud.web.gl.accountrep.action.AssAnalysisQueryAction + directprint + + + gl.accountrep.diarybookspage + + nccloud.web.gl.accountrep.action.DiaryBooksPageAction + + + gl.accountrep.diarybooksquery + + nccloud.web.gl.accountrep.action.DiaryBooksQueryAction + + + + gl.accountrep.dailyreportquery + + nccloud.web.gl.accountrep.action.DailyReportQueryAction + + + + gl.accountrep.assattqueryobject + + nccloud.web.gl.accountrep.action.AssAttrQueryObjectAction + + + gl.accountrep.assattquerybalance + + nccloud.web.gl.accountrep.action.AssAttBalanceQueryAction + directprint + + + + gl.accountrep.multianalysisqueryobject + + nccloud.web.gl.accountrep.action.MultiAnalysisQueryObjectAction + + + gl.accountrep.multianalysisquerybook + + nccloud.web.gl.accountrep.action.MultiAnalysisBookQueryAction + directprint + + + gl.accountrep.subjassbalancebooksquery + + nccloud.web.gl.accountrep.action.SubjAssBalanceBooksQueryAction + + + gl.accountrep.assbalancequery + + nccloud.web.gl.accountrep.action.AssBalanceQueryAction + + + gl.accountrep.cashdiaryquery + + nccloud.web.gl.accountrep.action.CashDiaryQueryAction + + + gl.accountrep.sequencebooksquery + + nccloud.web.gl.accountrep.action.SequenceBooksQueryAction + + + + gl.accountrep.balancebookprint + + nccloud.web.gl.accountrep.action.BalanceBookPrintAction + print + + + gl.accountrep.balancebookoutput + + nccloud.web.gl.accountrep.action.BalanceBookOutputAction + directprint + + + gl.accountrep.assbalanceprint + + nccloud.web.gl.accountrep.action.AssBalancePrintAction + print + + + gl.accountrep.assbalanceoutput + + nccloud.web.gl.accountrep.action.AssBalanceOutputAction + directprint,templateOutput + + + gl.accountrep.assdetailprint + + nccloud.web.gl.accountrep.action.AssDetailPrintAction + print + + + gl.accountrep.assdetailoutput + + nccloud.web.gl.accountrep.action.AssDetailOutputAction + + + gl.accountrep.assdetailoutput + + nccloud.web.gl.accountrep.action.AssDetailOutputAction + directprint,templateOutput + + + gl.accountrep.triaccbookprint + + nccloud.web.gl.accountrep.action.TriAccBookPrintAction + print + + + gl.accountrep.triaccbookoutput + + nccloud.web.gl.accountrep.action.TriAccBookOutputAction + directprint,templateOutput + + + gl.accountrep.triaccdetailprint + + nccloud.web.gl.accountrep.action.DetailBookPrintAction + print + + + gl.accountrep.triaccdetailoutput + + nccloud.web.gl.accountrep.action.DetailBookOutputAction + directprint,templateOutput + + + gl.accountrep.sequencebookprint + + nccloud.web.gl.accountrep.action.SequenceBookPrintAction + print + + + gl.accountrep.sequencebookoutput + + nccloud.web.gl.accountrep.action.SequenceBookOutputAction + + + gl.accountrep.multibookprint + + nccloud.web.gl.accountrep.action.MultiBookPrintAction + print + + + gl.accountrep.multibookoutput + + nccloud.web.gl.accountrep.action.MultiBookOutputAction + directprint,templateOutput + + + gl.accountrep.subjassbalanceprint + + nccloud.web.gl.accountrep.action.SubjAssBalanceBookPrintAction + print + + + gl.accountrep.subjassbalanceoutput + + nccloud.web.gl.accountrep.action.SubjAssBalanceBookOutputAction + directprint + + + gl.accountrep.diarybooksprint + + nccloud.web.gl.accountrep.action.DiaryBooksPrintAction + print + + + gl.accountrep.diarybooksoutput + + nccloud.web.gl.accountrep.action.DiaryBooksOutputAction + printexcel,printoutput + + + gl.accountrep.cashdiaryprint + + nccloud.web.gl.accountrep.action.BankDiaryPrintAction + print + + + gl.accountrep.cashdiaryoutput + + nccloud.web.gl.accountrep.action.BankDiaryOutputAction + directprint,templateOutput + + + gl.accountrep.bankdiaryprint + + nccloud.web.gl.accountrep.action.BankDiaryPrintAction + + + gl.accountrep.bankdiaryoutput + + nccloud.web.gl.accountrep.action.BankDiaryOutputAction + + + gl.accountrep.subjassembleprint + + nccloud.web.gl.accountrep.action.SubjAssemblePrintAction + print + + + gl.accountrep.subjassembleoutput + + nccloud.web.gl.accountrep.action.SubjAssembleOutputAction + directprint + + + gl.accountrep.summarylistprint + + nccloud.web.gl.accountrep.action.SummaryListPrintAction + print + + + gl.accountrep.summarylistoutput + + nccloud.web.gl.accountrep.action.SummaryListOutputAction + + + gl.accountrep.dailyreportprint + + nccloud.web.gl.accountrep.action.DailyReportPrintAction + print + + + gl.accountrep.dailyreportoutput + + nccloud.web.gl.accountrep.action.DailyReportOutputAction + directprint,templateOutput + + + gl.accountrep.capitalreportprint + + nccloud.web.gl.accountrep.action.DailyReportPrintAction + print + + + gl.accountrep.capitalreportoutput + + nccloud.web.gl.accountrep.action.DailyReportOutputAction + directprint + + + gl.accountrep.assbalancequeryobject + + nccloud.web.gl.accountrep.action.AssBalanceQueryObjectAction + + + gl.accountrep.assdetailquery + + nccloud.web.gl.accountrep.action.AssDetailQueryAction + + + gl.accountrep.budgetlink + + nccloud.web.gl.accountreplink.action.BudgetLinkAction + + + gl.accountrep.voucherlinksequence + + nccloud.web.gl.accountreplink.action.VoucherLinkSequenceAction + + + gl.accountrep.directprint + + nccloud.web.gl.accountrep.action.DirectPrintAction + directprint,print + + + gl.accountrep.queryaccount + + nccloud.web.gl.accountrep.action.AccountQueryAction + + + gl.accountrep.queryassitembyaccountpk + + nccloud.web.gl.accountrep.action.QueryAssItemByAccountPKAction + + + gl.accountrep.summarylistqueryassitem + + nccloud.web.gl.accountrep.action.SummaryListQueryAssItemAction + + + gl.accountrep.ufolink + + nccloud.web.gl.accountrep.action.UFOLinkAction + + + gl.accountrep.expandfun + + nccloud.web.gl.accountrep.action.ExpendFunAction + + + gl.accountrep.checkparam + + nccloud.web.gl.accountrep.action.CheckParamAction + + + gl.accountrep.glproviderdesign + + nccloud.web.gl.accountrep.action.GLProviderDesignAction + + + gl.accountrep.AdaptAccountRepLinkParam + + nccloud.web.gl.accountreplink.action.AdaptAccountRepLinkParamAction + + + gl.accountrep.accountbalancetotal + + nccloud.web.gl.accountrep.action.AccountBalanceTotalQueryAction + + diff --git a/gl/src/client/yyconfig/modules/gl/app/config/authorize/reckon.xml b/gl/src/client/yyconfig/modules/gl/app/config/authorize/reckon.xml new file mode 100644 index 0000000..e3d4916 --- /dev/null +++ b/gl/src/client/yyconfig/modules/gl/app/config/authorize/reckon.xml @@ -0,0 +1,44 @@ + + + + 20020BATCL,20020RECON,20020RECOQ,20020TRYBL,2002BATCHRECON,2002CLACC,101006,101007 + + + gl.reckoning.refreshperiod + + gl.reckoning.reckoningreport + + gl.reckoning.reckoning + + gl.reckoning.unreckoning + + gl.reckoning.closereport + + gl.reckoning.reckoningstatus + + gl.reckoning.batchreckoningquery + + gl.reckoning.batchreckoning + + gl.reckoning.batchunreckoning + + gl.settled.closereportprint + + gl.accountrep.closereportoutput + + gl.accountrep.reckoningreportprint + + gl.accountrep.reckoningreportoutput + + gl.voucher.calculation + + gl.voucher.checkbalanceprint + + gl.pfxx.taxcloudupload + + gl.pfxx.taxcloudconfig + gl.accountrep.accountbalancetotal + + + +