package com.dhcc.finance.constant;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * 功能描述：财务字典项
 * @author dml
 * @date 2019年6月4日 下午4:28:19
 * @修改日志：
 */
public interface FinanceDictConsts {
	//是否状态
	public static final class Syzt {
		public static final String INVALID = "0";//无效
		public static final String EFFECTIVE = "1";//有效
	}
	//凭证状态
	public static final class Cwpzzt {
		public static final String YZD = "1";//已制单
		public static final String YSH = "2";//已审核
		public static final String YJZ = "3";//已记账
	}
	//凭证类型
	public static final class Cwpzlx {
		public static final String QCPZ = "1";//期初
		public static final String JIZPZ = "2";//记账
		public static final String JIEZPZ = "3";//结转
		public static final String[] ALLPZLX = {"1","2","3"};//所有凭证类型
	}
	// 借贷方向
	public static final class Cwjdfx {
		public static final String JIE = "1";//借
		public static final String DAI = "2";//贷
	}
	//转账类型
	public static final class Cwzzlx {
		public static final String SYZZ = "1";//损益结转
		public static final String LRZJ = "2";//利润结转
	}
	//反向操作
	public static final class Cwfxcz {
		public static final String FSH = "1";//反审核
		public static final String FJIZ = "2";//反记账
		public static final String FJIEZ = "3";//反结转
		public static final String FJZHANG = "4";//反结账
	}
	//启用状态
	public static final class Cwqyzt {
		public static final String WQY = "0";//未启用
		public static final String YQY = "1";//已启用
		public static final String YTY = "2";//已停用
	}
	/**用于根据流水类型获取表名*/
	public static final class FLOWTYPE { 
	  public static final Map<String,String> map;
	  static {
		   Map<String,String> aMap = new HashMap<>();
		    aMap.put("1", "BUSI_BENLIST_INFO");// 募集流水表
		    aMap.put("2", "AS_FINSFLOW_INFO");// 资金运用流水表
		    aMap.put("3", "PM_COSTFLOW_INFO");// 费用流水表
		    aMap.put("4", "ACC_TRANSFER_PROCESS");// 划款申请详情表
		    aMap.put("5", "INT_ACCRUAL_FEE");// 每日计提费用
		    aMap.put("6", "INT_ACCRUAL_INSTETST"); // 每日计提利息、增值税
		    map = Collections.unmodifiableMap(aMap);
		  }
	}
	//是否
	public static final class SF{
		public static final String no = "0";//否
		public static final String yes = "1";//是
	}
	//状态
	public static final class STATE{
		public static final String fail = "0";//否
		public static final String success = "1";//是
		public static final String generate = "2";//生成中
	}
	// 财务业务主键生成规则
	public static final class PK{
		public static final String subjscheme = "cw_bd_subjscheme-PK_SUBJSCHEME";// 科目版本编号
		public static final String transfer   = "cw_gl_transfer-PK_TRANSFER";      // 结转方案编号
		public static final String accassitem = "cw_bd_accassitem-PK_ACCASSITEM";// 辅助项编号
		public static final String parametric = "cw_bd_parametric-PK_PARAMETRIC";// 参数化编号
	}
	//转账频度
	public static final class ZZPD{
			public static final String MONTH = "1";//月
			public static final String SEASON = "2";//季度
			public static final String HALFYEAR = "3";//半年
			public static final String YEAR = "4";//年
	}
	//结转属性
	public static final class JZSX{
			public static final String FSE = "1";//发生额
			public static final String YE = "2";//余额
	}
	//来源系统
	public static final class LYXT{
				public static final String YWXT = "01";//业务系统
				public static final String HSGZ = "02";//恒生估值系统
				public static final String YYNC = "03";//用友NC系统
				public static final String MRJT = "04";//每日计提
				public static final String XJXT = "05";//消金系统
				public static final String SGPZ = "09";//手工凭证
	}
	//报表类型
	public static final class REPORT_TYPE{
				public static final String ZCFZB = "01";//资产负债表
				public static final String LRB = "02";//利润表
	}
	//记账模式
	public static final class ACCOUNT_MODEL{
				public static final String ACCOUNT_MODEL_ONE = "1";// 正常模式
				public static final String ACCOUNT_MODEL_TWO = "2";// 受益权转让(已经和受益权级别调整合并)
				public static final String ACCOUNT_MODEL_THREE = "3";// 受益权级别调整
				public static final String ACCOUNT_MODEL_FOUR = "4";// 多条流水生成一个凭证且分录有不循环的
				public static final String ACCOUNT_MODEL_FIVE = "5";// 循环多条流水生成多条凭证
				public static final String ACCOUNT_MODEL_SIX = "6";// 财产权信托资产入账
				public static final String ACCOUNT_MODEL_EIGHT = "8";// 受益权转让-模板
				public static final String ACCOUNT_MODEL_NINE= "9";// 反交易
	}
	// 费用类型
	public static final class FYLX{
		public static final String GDBC = "FY0001";// 受托人固定报酬
		public static final String GLF = "FY0002";// 信托事务管理费
		public static final String FDBC = "FY0003";// 受托人浮动报酬
		public static final String TGF = "FY0004";// 托管费	
		
		public static final String GWF = "FY0005";// 财务顾问费
        public static final String XSFWF = "FY0006";// 销售服务费
        public static final String ZZS= "SF0002";// 增值税
        public static final String CXF = "FY0009";// 承销费
        public static final String LSF = "FY0007";// 律师费
        public static final String DKGLF = "FY0008";// 贷款管理费
        public static final String KJSF = "FY0010";// 会计师费
        public static final String DJFWF = "FY0011";// 发行登记服务费
        public static final String JDFWF = "FY0012";// 簿记建档服务费
        public static final String FXDFF = "FY0013";// 付息兑付费
        public static final String ZCFWF = "FY0014";// 资产服务费
        public static final String SJPZF = "FY0015";// 审计评级费
        public static final String GZF = "FY0016";// 公证费
        public static final String ZCPGF = "FY0017";// 资产评估费
        public static final String ZXF = "FY0018";// 咨询费
        public static final String YHZJF = "FY0019";// 银行结算费       
        public static final String XMGLF = "FY0020";// 项目监管费
        public static final String YHJGF = "FY0021";// 银行监管费
        public static final String JYSXF = "FY0022";// 债券交易手续费
        public static final String HGSXF = "FY0023";// 债券回购手续费
        public static final String JYFY = "FY0024";// 交易费用
        public static final String QTFY = "FY0025";// 其他费用
        public static final String ZCCZF = "FY0026";// 资产处置费    
        
		public static final String[] ALLFYLX = {"FY0001","FY0002","FY0003","FY0004","FY0005","FY0006","SF0002",
		        "FY0009","FY0007","FY0008","FY0010","FY0011","FY0012","FY0013","FY0014","FY0015","FY0016","FY0017",
		        "FY0018","FY0019","FY0020","FY0021","FY0022","FY0023","FY0024","FY0025","FY0026"};//所有费用类型
	}
	//报表查询方式
	public static final class SEARCH_TYPE{
				public static final String ZTCX = "1";//账套查询
				public static final String XMCX = "2";//项目查询
				public static final String CPDYCX = "3";//产品单元查询
	}
	//模板类型
		public static final class MBLX{
			public static final String GYDD = "SG0026";//固有代垫
		}
	
}
