using System; using System.Collections.Generic; using System.Linq; using System.Text; using QWPlatform.DataIntface; using QWPlatform.IService; using PMS.EntityModels.BaseCode; using System.Data; namespace PMS.DBService.BaseCode { public class Basecodeservice : DataServiceBase { /// /// 重写数据工厂 /// /// protected override void DBFctory(string conName) { base.DBFctory(conName); } #region 编码分类 //p_编码分类_Select(Resultlist Out Sys_Refcursor) public DataTable codeClassSelect() { var codemodel = this.ProcedureBuilder .Procedure("b_基础管理_基础编码.p_编码分类树形_Select") .ParamterOut("ResultList", true); codemodel.Execute(); var dt = codemodel.ParameterValue("ResultList"); return dt; } #endregion /// /// 增加数据记录 /// /// /// public int Add(BaseCodeModel model) { model.SetDataFactory(this.DataFactoryObject); return model.Insert(); } /// /// 增加数据记录 /// /// /// public int Add(BaseCodeModel model, ITransaction trans) { model.SetDataFactory(this.DataFactoryObject); if (trans == null) { return model.Insert(); } else { return model.Insert(trans); } } /// /// 更新数据库记录 /// /// /// public int Update(BaseCodeModel model) { model.SetDataFactory(this.DataFactoryObject); List where = new List(); where.Add("ID"); return model.Update(where, string.Empty); } public DataTable GetBaseCodeId(string id) { // Procedure p_基础编码_Select //( // 分类id_In In 基础编码.分类id % Type, // Resultlist Out Sys_Refcursor // ) var dt = this.ProcedureBuilder.Procedure("b_基础管理_基础编码.p_基础编码_Select") .Paramter("分类id_In", id) .ParamterOut("Resultlist",true); dt.Execute(); return dt.ParameterValue("Resultlist"); } /// /// 通过id查询当前的记录 /// /// /// public DataTable GetBaseCodeIds(string id) { string sql = "select * from 基础编码 where ID =:id"; var dt = this.SqlBuilder.SqlText(sql).Parameters("ID", id).Select(); return dt; } /// /// 删除基础编码 /// /// /// public string DelBaseCode(string id) { var dt = this.ProcedureBuilder.Procedure("b_基础管理_基础编码.p_基础编码_Delete") .Paramter("Id_In", id) .ParamterOut("Resultstr_Out", DbType.String, 400); dt.Execute(); return dt.ParameterValue("Resultstr_Out"); } /// /// 更新数据库记录 /// /// /// public int Update(BaseCodeModel model, ITransaction trans) { model.SetDataFactory(this.DataFactoryObject); List where = new List(); where.Add("ID"); if (trans == null) { return model.Update(where, string.Empty); } else { return model.Update(trans, where, string.Empty); } } /// /// 新增修改基础编码 /// /// /// /// public string basicCodeadd(BaseCodeModel basecodemodel, int editType) { var exeResult = this.ProcedureBuilder.Procedure("b_基础管理_基础编码.p_基础编码_Edit") .Paramter("Id_In", basecodemodel.ID) .Paramter("分类id_In", basecodemodel.FLID) .Paramter("代码_In", basecodemodel.DM) .Paramter("显示名_In", basecodemodel.XSM) .Paramter("是否启用_In",basecodemodel.QY) .Paramter("是否默认_In", basecodemodel.SFMR) .Paramter("扩展_In", basecodemodel.KZ) .Paramter("说明_In", basecodemodel.SM) .Paramter("编辑类型_In", editType) .ParamterOut("Resultstr_Out", DbType.String, 400); exeResult.Execute(); return exeResult.ParameterValue("Resultstr_Out"); } /// /// 删除数据记录 /// /// /// public int Delete(BaseCodeModel model) { model.SetDataFactory(this.DataFactoryObject); return model.Delete("ID"); } /// /// 删除数据记录 /// /// /// public int Delete(BaseCodeModel model, ITransaction trans) { model.SetDataFactory(this.DataFactoryObject); if (trans == null) { return model.Delete("ID"); } else { return model.Delete(trans, "ID"); } } /// /// 查询数据对象并进行赋值 /// /// public BaseCodeModel Select(BaseCodeModel model) { model.SetDataFactory(this.DataFactoryObject); model.Select(); return model; } /// /// 列表查询 /// /// public List SelectList(BaseCodeModel model) { model.SetDataFactory(this.DataFactoryObject); return model.SelectList(); } /// /// 调用存储过程 /// /// public void CallProcedure(BaseCodeModel model) { this.ProcedureBuilder .Procedure("p_PT_基础编码_INSERT") .Paramter("ID_IN", model.ID) .Paramter("上级ID_IN", model.SJID) .Paramter("分类ID_IN", model.FLID) .Paramter("代码_IN", model.DM) .Paramter("显示名_IN", model.XSM) .Paramter("是否默认_IN", model.SFMR) .Paramter("扩展_IN", model.KZ) .Paramter("说明_IN", model.SM) .Execute(); } public DataTable GetCodeCombobox(string ClassificationID) { return this.SelectBuilder.Columns("ID", "显示名") .From("基础编码") .Where("分类ID", ClassificationID) .Where("启用",1) .OrderBy("代码 asc") .Select(); } public DataTable GetCodeComboboxs(string ClassificationID) { return this.SelectBuilder.Columns("代码", "显示名") .From("基础编码") .Where("分类ID", ClassificationID) .Where("启用", 1) .OrderBy("代码 asc") .Select(); } #region 编码分类下的基础编码查询 /// /// 基础编码 /// /// 编码分类id /// public DataTable GetBaseCode(string queryParamsID) { var dt = this.ProcedureBuilder .Procedure("b_基础管理_基础编码.p_基础编码_Select") .Paramter("分类id_In", queryParamsID) .ParamterOut("Resultlist", true); dt.Execute(); var dts = dt.ParameterValue("Resultlist"); return dts; } #endregion /// /// 根据ID查询序号 /// /// /// public string GetXh(string CodeClassId) { var result = this.ProcedureBuilder .Procedure("b_基础管理_基础编码.p_基础编码序号_select") .Paramter("分类ID_In", CodeClassId) .ParamterOut("ResultList", DbType.String, 400); result.Execute(); return result.ParameterValue("ResultList"); } public DataTable GetComboboxByCode(string code) { return this.SelectBuilder .Columns("b.代码,b.显示名") .From("编码分类 a,基础编码 b") .Where("a.ID=b.分类ID") .Where("a.分类编码", code) .OrderBy("b.代码 asc") .Select(); } } }