using Dapper; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using VueWebApi.Tools; namespace VueWebApi.DLL.DAL { public class SystemSettingDAL { public static DataTable dt; //定义全局变量dt public static bool res; //定义全局变量dt public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 public static string strProcName = ""; //定义全局sql变量 public static List listStr = new List(); //定义全局参数集合 public static SqlParameter[] parameters; //定义全局SqlParameter参数数组 #region[编码规则查询] public static ToMessage EncodingRules(string rightname, string prefix, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (rightname != "" && rightname != null) { search += "and A.right_name like '%'+@rightname+'%' "; dynamicParams.Add("@rightname", rightname); } if (prefix != "" && prefix != null) { search += "and B.prefix like '%'+@prefix+'%' "; dynamicParams.Add("@prefix", prefix); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.right_code,A.right_name,B.prefix,B.filingdate,B.incbit from TRight A left join T_CodeRules B on A.right_code=B.rightcode where "+search+" and A.Type='PC' and A.parent_id<>'0' order by A.right_code,A.right_seq "; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.Message = e.Message; } return mes; } #endregion #region[编码规则编辑保存] public static ToMessage SaveEncodingRules(string rightcode,string rightname, string prefix, string filingdate, string incbit, string lm_user) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select rightcode from T_CodeRules where rightcode=@rightcode"; dynamicParams.Add("@rightcode", rightcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { sql = @"update T_CodeRules set prefix=@prefix,filingdate=@filingdate,incbit=@incbit,lm_user=@lm_user,lm_date=@CreateDate where right_code=@rightcode"; dynamicParams.Add("@prefix", prefix); dynamicParams.Add("@filingdate", filingdate); dynamicParams.Add("@incbit", incbit); dynamicParams.Add("@lm_user", lm_user); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); dynamicParams.Add("@rightcode", rightcode); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.Message = "操作成功!"; } else { mes.code = "300"; mes.Message = "操作失败!"; } } else { //首次写入前按位数补充0 string value = ""; for (int i = 0; i < int.Parse(incbit); i++) { value = value + "0"; } //写入规则表 sql = @"insert into T_CodeRules(rightcode,rightname,prefix,filingdate,incbit,value,lm_user,lm_date) values(@rightcode,@rightname,@prefix,@filingdate,@incbit,@value,@lm_user,@lm_date)"; dynamicParams.Add("@rightcode", rightcode); dynamicParams.Add("@rightname", rightname); dynamicParams.Add("@prefix", prefix); dynamicParams.Add("@filingdate", filingdate); dynamicParams.Add("@incbit", incbit); dynamicParams.Add("@value", value); dynamicParams.Add("@lm_user", lm_user); dynamicParams.Add("@lm_date", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.Message = "操作成功!"; } else { mes.code = "300"; mes.Message = "操作失败!"; } } } catch (Exception e) { mes.code = "300"; mes.Message = e.Message; } return mes; } #endregion #region[获取规则生成的编码] public static ToMessage NewEncodingRules(string rightcode) { mes = SeachEncode.EncodingSeach(rightcode); return mes; } #endregion } }