/// <summary>
        /// 获取单据配置信息
        /// </summary>
        /// <param name="fTranType">FTranType</param>
        /// <param name="userId">用户ID</param>
        public static List <ModelSqlInfo> GetModelSqlInfo(int fTranType, int userId = 0)
        {
            var tranInfo = tranDAL.Get(fTranType);

            if (tranInfo == null)
            {
                throw new Exception("没有FTranType:" + fTranType + "配置信息!");
            }

            //主表
            var mTable = tranInfo.Tables.Find(x => x.bSlave == false);

            List <ModelSqlInfo> mSqlList = new List <ModelSqlInfo>();


            var hasMoneyAuth = new Auth_DataDAL().Exist(fTranType, userId);

            tranInfo.Tables.ForEach(x =>
            {
                var fields = ICTableFieldDAL.GetTableFields(fTranType, x.FTableName);

                //====================是否有金额权限===================
                if (mTable.bMoneyAuth && !hasMoneyAuth)
                {
                    fields.ForEach(f =>
                    {
                        if (f.FFieldName.ToLower().Contains("amount") || f.FFieldName.ToLower().Contains("price"))
                        {
                            fields.Remove(f);
                        }
                    });
                }
                //======================================================

                var minfo = new ModelSqlInfo()
                {
                    TableInfo  = x,
                    SQL_Select = GetSelectSql(x, fields),
                    SQL_Insert = GetInsertSql(x, fields),
                    SQL_Update = GetUpdateSql(x, fields),
                    SQL_Delete = GetDeleteSql(tranInfo, x.FTableName),
                    SQL_List   = tranInfo.FListSQL
                };
                mSqlList.Add(minfo);
            });

            return(mSqlList);
        }
Beispiel #2
0
 public VoucherDAL(ModelSqlInfo _mInfo, ModelSqlInfo _dInfo)
 {
     this.mInfo = _mInfo;
     this.dInfo = _dInfo;
 }