Ejemplo n.º 1
0
        /// <summary>
        /// 获取特殊自增编码,根据Sys_DictModule中存在的配置为特殊编码
        /// </summary>
        /// <param name="CompanyCode">公司编码</param>
        /// <param name="Module">模块名称:MMType 为物料类别编码</param>
        /// <param name="GeneralType">如果有父级时,传入子级编码</param>
        /// <param name="Code">传出编码</param>
        /// <returns></returns>
        public static string GetTableKey(string CompanyCode, string Module, string GeneralType, string Code)
        {
            ADOSys_Config_Refer instance   = new ADOSys_Config_Refer();
            ADOSys_DictModule   DictModule = new ADOSys_DictModule();
            var DModuleList = DictModule.GetListByWhere(" AND ModuleCode='" + Module + "' ");

            SqlParameter x1 = new SqlParameter("@CompanyCode", SqlDbType.VarChar, 20);

            x1.Value = CompanyCode;

            SqlParameter x2 = new SqlParameter("@ModuleCode", SqlDbType.VarChar, 20);

            x2.Value = Module;

            SqlParameter x3 = new SqlParameter("@GeneralType", SqlDbType.VarChar, 20);

            x3.Value = GeneralType;

            SqlParameter x4 = new SqlParameter("@code", SqlDbType.VarChar, 20);

            x4.Direction = ParameterDirection.Output;

            SqlParameter x5 = new SqlParameter("@sTable", SqlDbType.NChar, 40);

            x5.Value = Module.Trim();

            DataTable dt = new DataTable();

            if (DModuleList.Count > 0)
            {
                SqlParameter[]     param   = new SqlParameter[] { x1, x2, x3, x4 };
                IDbDataParameter[] parames = param as IDbDataParameter[];
                dt = instance.idb.RunProcReturnDatatable("qx_sp_compcode", parames);
            }
            else
            {
                SqlParameter[]     param   = new SqlParameter[] { x5 };
                IDbDataParameter[] parames = param as IDbDataParameter[];
                dt = instance.idb.RunProcReturnDatatable("findnewid", parames);
            }

            return(dt.Rows[0][0].ToString());
        }