using System; using System.Text; using System.Data; using System.Data.Common; using CSFramework.DB; using CSFrameworkV5.Models; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.DataAccess; using CSFrameworkV5.Core.CodeGenerator; using CSFrameworkV5.Interfaces; /*=================================================================== * 程序说明: MES_Order的数据访问层源码 * 作者资料: 孙中吕 * 创建日期: 2024/05/21 03:13:43 * 最后修改: 2024/05/21 03:13:43 * * 注: 本文件由代码生成器(Code Generator)自动生成。 * (此源码文件请放置在 YourProject.DataAccess 模块) * 版权所有 Copyright 2006~2024, C/S框架网(www.cscode.net) *===================================================================*/ namespace CSFrameworkV5.DataAccess { /// /// DAL数据层:dalWorkOrder /// public class dalWorkOrder : dalBaseBusiness { /// /// 构造器 /// /// 当前登录用户 public dalWorkOrder(Loginer loginer) : base(loginer) { _SummaryKeyName = MES_Order.__KeyName; //主表的主键字段 _SummaryTableName = MES_Order.__TableName; //主表表名 _UpdateSummaryKeyMode = UpdateKeyMode.None; _ReplaceString = false; } /// /// 根据表名获取该表的SQL命令生成器 /// /// 表名 /// protected override IGenerateSqlCommand CreateSqlGenerator( DataTable table) { Type ORM = null; if (table.TableName == MES_Order.__TableName) ORM = typeof(MES_Order); //主表ORM对应关系 if (table.TableName == DA01IMAGE.__TableName) ORM = typeof(DA01IMAGE); //明细表ORM对应关系 if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型,请生成此表的Model类!"); return new GenerateSqlCmdByTableFields(ORM, table, GeneratorFactory); } /// /// 查询功能,获取主表数据。此方法的参数仅供参考 /// public DataTable Query(QueryMES_Order P) { var sp = _Database.CreateSqlProc("usp_MES_Order_Query"); sp.AddParam("daa001", DbType.String, P.daa001); sp.AddParam("create_by", DbType.String, P.create_by); return _Database.GetTable(sp.Command, MES_Order.__TableName); } /// /// 获取报表数据 /// /// public DataSet QueryReportData(QueryMES_Order P) { throw new NotImplementedException("QueryReportData"); } //实现接口提供的基础查询方法 public DataTable Query(QueryBusinessBase P) { return Query(P as QueryMES_Order); } //实现接口提供的基础查询方法 public DataSet QueryReportData(QueryBusinessBase P) { return QueryReportData(P as QueryMES_Order); } /// /// 获取一张业务单据的数据,包括一条主表记录及(多张)明细表 /// /// 单据号码 /// public DataSet GetDataByKey(string docNo) { var cmd = _Database.CreateSqlProc("usp_MES_Order_GetDataByKey"); cmd.AddParam("DocNo", DbType.String, docNo.Trim()); var ds = _Database.GetDataSet(cmd.Command); ds.Tables[0].TableName = MES_Order.__TableName; //明细表 ds.Tables[1].TableName = DA01IMAGE.__TableName; return ds; } /// ///删除一张单据,包括删除主表及明细表 /// public bool Delete(string docNo) { var cmd = _Database.CreateSqlProc("usp_MES_Order_Delete"); cmd.AddParam("DocNo", DbType.String, docNo.Trim()); var i = _Database.ExecuteCommand(cmd.Command); return i != 0; } /// //保存数据 /// public override SaveResult Update(DataSet data) { // //在这里,可以在保存数据前针对参数data做处理,比如:设置默认值。 //在这里,可以手工启动事务关联更新其它表的数据,参考:dalPO.Update方法。 // //调用基类的方法保存数据 return base.Update(data); } /// //获取单据流水号码 /// protected override string GetNumber(DbTransaction tran) { //1.格式:字头+年年月月+当月4位序号,如:PO15010001, 与GetDocNo方法相同 //string docNo = DocNoTool.GetNumber(_Database,tran, "");//注意修改流水号字头! //2.格式:字头+年年月月+当月4位序号,如:PO15010001 var docNo = DocNoTool.GetDocNo(_Database, ""); //注意修改流水号字头! //3.格式:XX0000001~N //string docNo = DocNoTool.GetDataSN(_Database,tran, "", true, 6); return docNo; //业务单据号码,默认格式2 } } //public class } //namespace