账账相对
This commit is contained in:
		
							parent
							
								
									623b1f9a90
								
							
						
					
					
						commit
						7a0094e0e6
					
				|  | @ -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