账账相对
This commit is contained in:
parent
82dfdeb313
commit
cded94d5d7
|
@ -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<String, Object> 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<String, Object> paraMap) throws BusinessException {
|
||||
|
||||
// 科目余额表数据
|
||||
Map<String, Object> result = ((IAccountReportWebService) ServiceLocator.find(IAccountReportWebService.class)).queryAccBalance((Map<String, Object>) paraMap.get("second"));
|
||||
// 科目辅助余额表数据
|
||||
Map<String, Object> result1 = ((IAccountReportWebService) ServiceLocator.find(IAccountReportWebService.class)).querySubjAssBalanceBooks((Map<String, Object>) paraMap.get("first"));
|
||||
List<Map<String, Object>> data = (List<Map<String, Object>>) result.get("data");
|
||||
List<Map<String, Object>> data1 = (List<Map<String, Object>>) 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<String, Map<String, Object>> dataMap = data.stream()
|
||||
.collect(Collectors.toMap(item -> (String) item.get("acccode"), item -> item));
|
||||
for (Map<String, Object> 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<String, BigDecimal> sumMap = new HashMap<>();
|
||||
|
||||
// 构造新的列表
|
||||
List<Map<String, Object>> mergedList = new ArrayList<>();
|
||||
DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");
|
||||
List<BigDecimal> bigDecimals = new ArrayList<>();
|
||||
for (Map<String, Object> item : data1) {
|
||||
Map<String, Object> linkMap = (Map<String, Object>) item.get("link");
|
||||
String acccode = (String) linkMap.get("acccode");
|
||||
|
||||
String accname = (String) item.get("accname");
|
||||
String parentAcccode = acccode;
|
||||
Map<String, Object> 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<String, Object> 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<Map<String, Object>> toBeRemoved = new ArrayList<>();
|
||||
// 计算每个父级科目的 endlocamount 和所有关联 data1 中 endlocamount 的差值
|
||||
for (Map<String, Object> 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<String, Object> 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<String,Object> getParaMap(Map<String, Object> params) {
|
||||
// 获取传入的参数
|
||||
List<String> pkAccountingBook = (List<String>) params.get("pk_accountingbook");
|
||||
//1001A1100000000017TP
|
||||
List<String> pkAccasoa = (List<String>) 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<String, Object> firstBusiParamJson = new HashMap<>();
|
||||
firstBusiParamJson.put("pk_accountingbook", pkAccountingBook);
|
||||
firstBusiParamJson.put("pk_unit", new ArrayList<String>(){});
|
||||
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<String>(){});
|
||||
firstBusiParamJson.put("pk_accasoa", pkAccasoa);
|
||||
if(pkAccasoa.isEmpty() || pkAccasoa.get(0).equals("")){
|
||||
firstBusiParamJson.put("isleave", "N");
|
||||
firstBusiParamJson.put("pk_accasoa", new ArrayList<String>(){});
|
||||
}else{
|
||||
firstBusiParamJson.put("isleave", null);
|
||||
|
||||
}
|
||||
// firstBusiParamJson.put("pk_accasoa", pkAccasoa);//1001A1100000000017SV
|
||||
|
||||
Map<String, Object> 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<String, Object> secondBusiParamJson = new HashMap<>();
|
||||
secondBusiParamJson.put("pk_accountingbook", pkAccountingBook);
|
||||
secondBusiParamJson.put("pk_unit",new ArrayList<String>());
|
||||
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<String>(){});
|
||||
}else{
|
||||
secondBusiParamJson.put("isleave", null);
|
||||
|
||||
}
|
||||
secondBusiParamJson.put("appcode", "20023005");
|
||||
Map<String, Object> 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<String, Object> paraMap = new HashMap<>();
|
||||
Map<String, Object> first = new HashMap<>();
|
||||
first.put("busiParamJson", firstBusiParamJson);
|
||||
first.put("sysParamJson", firstSysParamJson);
|
||||
Map<String, Object> 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<String, Object> 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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,404 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<actions>
|
||||
<action>
|
||||
<name>gl.accountrep.accbalquery</name>
|
||||
<label>科目余额表查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AccountBalanceQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.triaccquery</name>
|
||||
<label>三栏式总账</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.TriAccbooksQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.detailbookquery</name>
|
||||
<label>三栏式明细账</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DetailBookQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.subjassemblequery</name>
|
||||
<label>科目汇总表</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssembleQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.summarylistquery</name>
|
||||
<label>摘要汇总表</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SummaryListQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.multibookformatquery</name>
|
||||
<label>多栏账定义查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookFormatQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookformatcopy</name>
|
||||
<label>多栏账定义复制</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookFormatCopyAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookformatsave</name>
|
||||
<label>多栏账定义保存</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookFormatSaveAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookformatdelete</name>
|
||||
<label>多栏账定义删除</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookFormatDeleteAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookformatpreview</name>
|
||||
<label>多栏账表格预览</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookFormatPreviewAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookquery</name>
|
||||
<label>多栏账查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookpage</name>
|
||||
<label>多栏账分页信息</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookPageAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assanalysisreportquery</name>
|
||||
<label>辅助分析设置查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAnalysisReportQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assanalysisreportsave</name>
|
||||
<label>辅助分析设置保存</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAnalysisReportSaveAction</clazz>
|
||||
<btncode>add,edit,alter</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assanalysisreportdelete</name>
|
||||
<label>辅助分析设置删除</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAnalysisReportDeleteAction</clazz>
|
||||
<btncode>delete</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assanalysisquery</name>
|
||||
<label>辅助分析查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAnalysisQueryAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.diarybookspage</name>
|
||||
<label>日记账分页信息</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DiaryBooksPageAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.diarybooksquery</name>
|
||||
<label>日记账查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DiaryBooksQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.dailyreportquery</name>
|
||||
<label>日报表查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DailyReportQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.assattqueryobject</name>
|
||||
<label>辅助属性查询对象</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAttrQueryObjectAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assattquerybalance</name>
|
||||
<label>辅助属性余额查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssAttBalanceQueryAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.multianalysisqueryobject</name>
|
||||
<label>多维分析表查询对象</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiAnalysisQueryObjectAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multianalysisquerybook</name>
|
||||
<label>多维分析表查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiAnalysisBookQueryAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.subjassbalancebooksquery</name>
|
||||
<label>科目辅助余额表</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssBalanceBooksQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assbalancequery</name>
|
||||
<label>辅助余额表</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssBalanceQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.cashdiaryquery</name>
|
||||
<label>现金日记账和银行日记账</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.CashDiaryQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.sequencebooksquery</name>
|
||||
<label>序时账</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SequenceBooksQueryAction</clazz>
|
||||
</action>
|
||||
|
||||
<action>
|
||||
<name>gl.accountrep.balancebookprint</name>
|
||||
<label>科目余额表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BalanceBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.balancebookoutput</name>
|
||||
<label>科目余额表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BalanceBookOutputAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assbalanceprint</name>
|
||||
<label>辅助余额表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssBalancePrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assbalanceoutput</name>
|
||||
<label>辅助余额表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssBalanceOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assdetailprint</name>
|
||||
<label>辅助明细账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssDetailPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assdetailoutput</name>
|
||||
<label>辅助明细账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssDetailOutputAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assdetailoutput</name>
|
||||
<label>辅助明细账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssDetailOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.triaccbookprint</name>
|
||||
<label>三栏式总账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.TriAccBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.triaccbookoutput</name>
|
||||
<label>三栏式总账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.TriAccBookOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.triaccdetailprint</name>
|
||||
<label>三栏式明细账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DetailBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.triaccdetailoutput</name>
|
||||
<label>三栏式明细账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DetailBookOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.sequencebookprint</name>
|
||||
<label>序时账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SequenceBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.sequencebookoutput</name>
|
||||
<label>序时账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SequenceBookOutputAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookprint</name>
|
||||
<label>多栏账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.multibookoutput</name>
|
||||
<label>多栏账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.MultiBookOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.subjassbalanceprint</name>
|
||||
<label>科目辅助余额表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssBalanceBookPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.subjassbalanceoutput</name>
|
||||
<label>科目辅助余额表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssBalanceBookOutputAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.diarybooksprint</name>
|
||||
<label>日记账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DiaryBooksPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.diarybooksoutput</name>
|
||||
<label>日记账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DiaryBooksOutputAction</clazz>
|
||||
<btncode>printexcel,printoutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.cashdiaryprint</name>
|
||||
<label>现金日记账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BankDiaryPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.cashdiaryoutput</name>
|
||||
<label>现金日记账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BankDiaryOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.bankdiaryprint</name>
|
||||
<label>银行日记账打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BankDiaryPrintAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.bankdiaryoutput</name>
|
||||
<label>银行日记账输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.BankDiaryOutputAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.subjassembleprint</name>
|
||||
<label>科目汇总表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssemblePrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.subjassembleoutput</name>
|
||||
<label>科目汇总表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SubjAssembleOutputAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.summarylistprint</name>
|
||||
<label>摘要汇总表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SummaryListPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.summarylistoutput</name>
|
||||
<label>摘要汇总表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SummaryListOutputAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.dailyreportprint</name>
|
||||
<label>日报表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DailyReportPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.dailyreportoutput</name>
|
||||
<label>日报表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DailyReportOutputAction</clazz>
|
||||
<btncode>directprint,templateOutput</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.capitalreportprint</name>
|
||||
<label>资金日报表打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DailyReportPrintAction</clazz>
|
||||
<btncode>print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.capitalreportoutput</name>
|
||||
<label>资金日报表输出</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DailyReportOutputAction</clazz>
|
||||
<btncode>directprint</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assbalancequeryobject</name>
|
||||
<label>辅助余额查询对象</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssBalanceQueryObjectAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.assdetailquery</name>
|
||||
<label>辅助明细账</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AssDetailQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.budgetlink</name>
|
||||
<label>预算联查报表</label>
|
||||
<clazz>nccloud.web.gl.accountreplink.action.BudgetLinkAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.voucherlinksequence</name>
|
||||
<label>凭证联查序时账</label>
|
||||
<clazz>nccloud.web.gl.accountreplink.action.VoucherLinkSequenceAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.directprint</name>
|
||||
<label>直接打印</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.DirectPrintAction</clazz>
|
||||
<btncode>directprint,print</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.queryaccount</name>
|
||||
<label>查询科目</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AccountQueryAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.queryassitembyaccountpk</name>
|
||||
<label>查询科目及下级的辅助项(科目余额表联查辅助)</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.QueryAssItemByAccountPKAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.summarylistqueryassitem</name>
|
||||
<label>查询科目及下级的辅助项(摘要汇总表)</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.SummaryListQueryAssItemAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.ufolink</name>
|
||||
<label>企业报表联查</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.UFOLinkAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.expandfun</name>
|
||||
<label>多主体公式展开</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.ExpendFunAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.checkparam</name>
|
||||
<label>账表查询的参数校验</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.CheckParamAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.glproviderdesign</name>
|
||||
<label>语义模型业务数据</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.GLProviderDesignAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.AdaptAccountRepLinkParam</name>
|
||||
<label>联查报表获取参数值</label>
|
||||
<clazz>nccloud.web.gl.accountreplink.action.AdaptAccountRepLinkParamAction</clazz>
|
||||
</action>
|
||||
<action>
|
||||
<name>gl.accountrep.accountbalancetotal</name>
|
||||
<label>账账相对查询</label>
|
||||
<clazz>nccloud.web.gl.accountrep.action.AccountBalanceTotalQueryAction</clazz>
|
||||
</action>
|
||||
</actions>
|
|
@ -0,0 +1,44 @@
|
|||
<authorizes>
|
||||
<authorize>
|
||||
<!--期末处理关结账-->
|
||||
<appcode>20020BATCL,20020RECON,20020RECOQ,20020TRYBL,2002BATCHRECON,2002CLACC,101006,101007</appcode>
|
||||
<actions>
|
||||
<!--结账刷新期间-->
|
||||
<action>gl.reckoning.refreshperiod</action>
|
||||
<!--结账报告-->
|
||||
<action>gl.reckoning.reckoningreport</action>
|
||||
<!--结账-->
|
||||
<action>gl.reckoning.reckoning</action>
|
||||
<!--反结账-->
|
||||
<action>gl.reckoning.unreckoning</action>
|
||||
<!--关账报告-->
|
||||
<action>gl.reckoning.closereport</action>
|
||||
<!--结账状态查询-->
|
||||
<action>gl.reckoning.reckoningstatus</action>
|
||||
<!--批量结账查询-->
|
||||
<action>gl.reckoning.batchreckoningquery</action>
|
||||
<!--批量结账-->
|
||||
<action>gl.reckoning.batchreckoning</action>
|
||||
<!--批量反结账-->
|
||||
<action>gl.reckoning.batchunreckoning</action>
|
||||
<!--关账报告打印-->
|
||||
<action>gl.settled.closereportprint</action>
|
||||
<!--关账报告输出-->
|
||||
<action>gl.accountrep.closereportoutput</action>
|
||||
<!--结账报告打印-->
|
||||
<action>gl.accountrep.reckoningreportprint</action>
|
||||
<!--结账报告输出-->
|
||||
<action>gl.accountrep.reckoningreportoutput</action>
|
||||
<!--试算-->
|
||||
<action>gl.voucher.calculation</action>
|
||||
<!--试算平衡打印-->
|
||||
<action>gl.voucher.checkbalanceprint</action>
|
||||
<!--税务云-上传-->
|
||||
<action>gl.pfxx.taxcloudupload</action>
|
||||
<!--税务云-请求配置-->
|
||||
<action>gl.pfxx.taxcloudconfig</action>
|
||||
<action>gl.accountrep.accountbalancetotal</action>
|
||||
|
||||
</actions>
|
||||
</authorize>
|
||||
</authorizes>
|
Loading…
Reference in New Issue