using CSFramework.DB;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.DataAccess;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
using CSFrameworkV5.Order.womdaa;
using System;
using System.Data;
/*===================================================================
* 程序说明: MES_LINE的业务逻辑层源码
* 作者资料: 孙中吕
* 创建日期: 2024/05/30 04:02:30
* 最后修改: 2024/05/30 04:02:30
*
* 注: 本文件由代码生成器(Code Generator)自动生成。
* (此源码文件请放置在 YourProject.Business 模块)
* 版权所有 Copyright 2006~2024, C/S框架网(www.cscode.net)
*===================================================================*/
namespace CSFrameworkV5.Business
{
///
/// 业务逻辑层:bllMES_LINE
///
public class bllMES_LINE : bllBaseBusiness
{
private dalMES_LINE _DAL = null;
///
/// 构造器
///
public bllMES_LINE()
{
_KeyFieldName = MES_LINE.__KeyName; //主键字段
_SummaryTableName = MES_LINE.__TableName; //表名
_WriteDataLog = false; //保存数据修改日志
_CurrentAppNAME = "产线维护";
_DAL = new dalMES_LINE(Loginer.CurrentUser); //实例化DAL层
}
///
///根据单据号码取业务数据
///
public override DataSet GetDataByKey(string keyValue, bool resetCurrent)
{
var ds = _DAL.GetDataByKey(keyValue);
SetNumericDefaultValue(ds); //设置预设值
if (resetCurrent) _CurrentBusiness = ds; //保存当前业务数据的对象引用
return ds;
}
///
///删除单据
///
public override bool Delete(string keyValue)
{
return _DAL.Delete(keyValue);
}
///
///检查单号是否存在
///
public bool CheckNoExists(string keyValue)
{
return _DAL.CheckNoExists(keyValue);
}
///
///保存数据
///
public override SaveResult Update(DataSet saveData)
{
return _DAL.Update(saveData); //交给数据层处理
}
///
///审核单据
///
public override bool ApprovalBusiness(DataRow summaryRow)
{
var key = ConvertEx.ToString(summaryRow[_KeyFieldName]);
var P = new QueryApproval
{
DBID = Loginer.CurrentUser.DBID,
TableName = _SummaryTableName,
KeyFieldName = _KeyFieldName,
KeyValue = key,
AppDate = DateTime.Now,
AppUser = Loginer.CurrentUser.Account,
FlagApp = "Y",
AppNAME = _CurrentAppNAME
};
if (_DAL.ApprovalBusiness(P))
{
summaryRow[CommonFields.AppDate] = DateTime.Now;
summaryRow[CommonFields.AppUser] = Loginer.CurrentUser.Account;
summaryRow[CommonFields.FlagApp] = "Y";
summaryRow[CommonFields.AppNAME] = _CurrentAppNAME;
return true;
}
else
{
return false;
}
}
///
///反审核单据。
///
public override bool ApprovalBusinessUndo(DataRow summaryRow)
{
var key = ConvertEx.ToString(summaryRow[_KeyFieldName]);
var P = new QueryApproval
{
DBID = Loginer.CurrentUser.DBID,
TableName = _SummaryTableName,
KeyFieldName = _KeyFieldName,
KeyValue = key,
AppDate = DateTime.Now,
AppUser = Loginer.CurrentUser.Account,
FlagApp = "N",
AppNAME = _CurrentAppNAME
};
if (_DAL.ApprovalBusiness(P))
{
summaryRow[CommonFields.AppDate] = DateTime.Now;
summaryRow[CommonFields.AppUser] = Loginer.CurrentUser.Account;
summaryRow[CommonFields.FlagApp] = "N";
return true;
}
else
{
return false;
}
}
///
///新增一张业务单据
///
public override void NewBusiness()
{
var summaryTable =
_CurrentBusiness.Tables[MES_LINE.__TableName];
var row = summaryTable.Rows.Add();
//新增状态:主表记录设置初始值
row[MES_LINE.__KeyName] = Guid.NewGuid();
}
///
///创建用于保存的临时数据
///
public override DataSet CreateSaveData(DataSet sourceData)
{
DataBindRow.EndEdit();
//创建用于保存的临时数据,包含主表或明细表
var save = new DataSet();
save.Tables.Add(DataBinder.Copy()); //将<主表>添加到数据集
var row = save.Tables[0].Rows[0];
var lineNo = row["LINE_NO"].ToString();
var lineName = row["LINE_NAME"].ToString();
if (string.IsNullOrEmpty(lineNo))
{
Msg.Warning("线体编号不能为空!");
return null;
}
if (string.IsNullOrEmpty(lineName))
{
Msg.Warning("线体名称不能为空!");
return null;
}
var db = SqlSugarHelper.GetInstance();
//如果是新增状态下就校验工单是否重复
if (row.RowState == DataRowState.Added)
{
var count = db.Queryable()
.Where(a => a.LineNo == lineNo || a.LineName == lineName)
.Count();
if (count > 0)
{
Msg.Warning("产线编号或机台已存在,不允许重复!");
return null;
}
}
UpdateCommonFieldsValue(save.Tables[0]); //更新公共字段数据
return save;
}
///
///查询数据
///
public DataTable Query(QueryMES_LINE P)
{
return _DAL.Query(P);
}
///
///获取报表数据
///
public DataSet QueryReportData(QueryMES_LINE P)
{
return _DAL.QueryReportData(P);
}
public DataTable GETDAT(string sql)
{
return _DAL.GetDataTable(sql);
}
}
}