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