/// <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()); }