You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
305 lines
14 KiB
305 lines
14 KiB
using GummingCommon;
|
|
using GummingControl;
|
|
using GummingEntity;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SQLite;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace GummingBusiness
|
|
{
|
|
public class HardUnitFlowStepDA
|
|
{
|
|
public static int ReadTotalCount(PagerEntity se)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "SELECT count(*) FROM Hard_Unit_Flow_Step WHERE 1=1 " + se.Conditions;
|
|
SQLiteDataReader sr = cmd.ExecuteReader();
|
|
sr.Read();
|
|
int count = sr.GetInt32(0);
|
|
sr.Close();
|
|
conn.Close();
|
|
return count;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public static HardUnitFlowStepEntity Load(string recId)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
DataTable dt = SQLiteHelper.ExecuteDataTable(conn, "SELECT * FROM Hard_Unit_Flow_Step WHERE RecId ='" + recId + "' limit 1");
|
|
List<HardUnitFlowStepEntity> rows = SQLiteHelper.DataTableToIList<HardUnitFlowStepEntity>(dt) as List<HardUnitFlowStepEntity>;
|
|
conn.Close();
|
|
if (rows.Count > 0)
|
|
{
|
|
return rows[0];
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static RecordEntity Load(PagerEntity se)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
int count = ReadTotalCount(se);
|
|
//se.OrderBy, se.SortOrder, se.PageIndex, se.Rows
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
DataTable dt = SQLiteHelper.ExecuteDataTable(conn, "SELECT * FROM Hard_Unit_Flow_Step WHERE 1=1 " + se.Conditions + " order by ModifyTime desc limit " +
|
|
Convert.ToString(se.Rows) + " offset " + Convert.ToString((se.PageIndex - 1) * se.Rows));
|
|
List<HardUnitFlowStepEntity> rows = SQLiteHelper.DataTableToIList<HardUnitFlowStepEntity>(dt) as List<HardUnitFlowStepEntity>;
|
|
conn.Close();
|
|
RecordEntity result = new RecordEntity();
|
|
result.total = (int)Math.Ceiling(count * 1.0 / se.Rows);
|
|
result.page = se.PageIndex;
|
|
result.records = count;
|
|
result.rows = rows;
|
|
return result;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static void Save(HardUnitFlowStepEntity segment)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
using (SQLiteTransaction tran = conn.BeginTransaction())
|
|
{
|
|
Save(conn, segment);
|
|
tran.Commit();
|
|
}
|
|
conn.Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
}
|
|
|
|
public static void Save(SQLiteConnection conn, HardUnitFlowStepEntity segment)
|
|
{
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "INSERT INTO Hard_Unit_Flow_Step (RecId,StepIndex,Unit2,Unit3,Unit4,Unit5,Unit6,Unit7,Unit8,Unit9,StepCode,StepName,FlowId,Unit1,OrderBy,CreateBy,CreateTime,ModifyBy,ModifyTime,IsActive) values(@RecId,@StepIndex,@Unit2,@Unit3,@Unit4,@Unit5,@Unit6,@Unit7,@Unit8,@Unit9,@StepCode,@StepName,@FlowId,@Unit1,@OrderBy,@CreateBy,@CreateTime,@ModifyBy,@ModifyTime,@IsActive)";
|
|
cmd.Parameters.AddWithValue("@RecId", Guid.NewGuid().ToString());
|
|
cmd.Parameters.AddWithValue("@StepIndex", segment.StepIndex);
|
|
cmd.Parameters.AddWithValue("@Unit2", segment.Unit2Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit3", segment.Unit3Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit4", segment.Unit4Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit5", segment.Unit5Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit6", segment.Unit6Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit7", segment.Unit7Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit8", segment.Unit8Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@Unit9", segment.Unit9Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@StepCode", segment.StepCode);
|
|
cmd.Parameters.AddWithValue("@StepName", segment.StepName);
|
|
cmd.Parameters.AddWithValue("@FlowId", segment.FlowId);
|
|
cmd.Parameters.AddWithValue("@Unit1", segment.Unit1Tag?.FormulaId);
|
|
cmd.Parameters.AddWithValue("@OrderBy", segment.OrderBy);
|
|
cmd.Parameters.AddWithValue("@CreateBy", Global.CurrentUserCode);
|
|
cmd.Parameters.AddWithValue("@CreateTime", DateTime.Now);
|
|
cmd.Parameters.AddWithValue("@ModifyBy", Global.CurrentUserCode);
|
|
cmd.Parameters.AddWithValue("@ModifyTime", DateTime.Now);
|
|
cmd.Parameters.AddWithValue("@IsActive", 1);
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
public static void SaveAs(SQLiteConnection conn, HardUnitFlowStepEntity segment)
|
|
{
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "INSERT INTO Hard_Unit_Flow_Step (RecId,StepIndex,Unit2,Unit3,Unit4,Unit5,Unit6,Unit7,Unit8,Unit9,StepCode,StepName,FlowId,Unit1,OrderBy,CreateBy,CreateTime,ModifyBy,ModifyTime,IsActive) values(@RecId,@StepIndex,@Unit2,@Unit3,@Unit4,@Unit5,@Unit6,@Unit7,@Unit8,@Unit9,@StepCode,@StepName,@FlowId,@Unit1,@OrderBy,@CreateBy,@CreateTime,@ModifyBy,@ModifyTime,@IsActive)";
|
|
cmd.Parameters.AddWithValue("@RecId", Guid.NewGuid().ToString());
|
|
cmd.Parameters.AddWithValue("@StepIndex", segment.StepIndex);
|
|
cmd.Parameters.AddWithValue("@Unit2", segment.Unit2);
|
|
cmd.Parameters.AddWithValue("@Unit3", segment.Unit3);
|
|
cmd.Parameters.AddWithValue("@Unit4", segment.Unit4);
|
|
cmd.Parameters.AddWithValue("@Unit5", segment.Unit5);
|
|
cmd.Parameters.AddWithValue("@Unit6", segment.Unit6);
|
|
cmd.Parameters.AddWithValue("@Unit7", segment.Unit7);
|
|
cmd.Parameters.AddWithValue("@Unit8", segment.Unit8);
|
|
cmd.Parameters.AddWithValue("@Unit9", segment.Unit9);
|
|
cmd.Parameters.AddWithValue("@StepCode", segment.StepCode);
|
|
cmd.Parameters.AddWithValue("@StepName", segment.StepName);
|
|
cmd.Parameters.AddWithValue("@FlowId", segment.FlowId);
|
|
cmd.Parameters.AddWithValue("@Unit1", segment.Unit1);
|
|
cmd.Parameters.AddWithValue("@OrderBy", segment.OrderBy);
|
|
cmd.Parameters.AddWithValue("@CreateBy", Global.CurrentUserCode);
|
|
cmd.Parameters.AddWithValue("@CreateTime", DateTime.Now);
|
|
cmd.Parameters.AddWithValue("@ModifyBy", Global.CurrentUserCode);
|
|
cmd.Parameters.AddWithValue("@ModifyTime", DateTime.Now);
|
|
cmd.Parameters.AddWithValue("@IsActive", 1);
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
public static void Update(HardUnitFlowStepEntity segment)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
using (SQLiteTransaction tran = conn.BeginTransaction())
|
|
{
|
|
Update(conn, segment);
|
|
tran.Commit();
|
|
}
|
|
conn.Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
}
|
|
|
|
public static void Update(SQLiteConnection conn, HardUnitFlowStepEntity segment)
|
|
{
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "UPDATE Hard_Unit_Flow_Step SET StepIndex = @StepIndex, Unit2 = @Unit2, Unit3 = @Unit3, Unit4 = @Unit4, Unit5 = @Unit5, Unit6 = @Unit6, Unit7 = @Unit7, Unit8 = @Unit8, Unit9 = @Unit9, StepCode = @StepCode, StepName = @StepName, FlowId = @FlowId, Unit1 = @Unit1, OrderBy = @OrderBy, ModifyBy = @ModifyBy, ModifyTime = @ModifyTime, IsActive = @IsActive WHERE RecId = @RecId";
|
|
cmd.Parameters.AddWithValue("@RecId", segment.RecId);
|
|
cmd.Parameters.AddWithValue("@StepIndex", segment.StepIndex);
|
|
cmd.Parameters.AddWithValue("@Unit2", segment.Unit2);
|
|
cmd.Parameters.AddWithValue("@Unit3", segment.Unit3);
|
|
cmd.Parameters.AddWithValue("@Unit4", segment.Unit4);
|
|
cmd.Parameters.AddWithValue("@Unit5", segment.Unit5);
|
|
cmd.Parameters.AddWithValue("@Unit6", segment.Unit6);
|
|
cmd.Parameters.AddWithValue("@Unit7", segment.Unit7);
|
|
cmd.Parameters.AddWithValue("@Unit8", segment.Unit8);
|
|
cmd.Parameters.AddWithValue("@Unit9", segment.Unit9);
|
|
cmd.Parameters.AddWithValue("@StepCode", segment.StepCode);
|
|
cmd.Parameters.AddWithValue("@StepName", segment.StepName);
|
|
cmd.Parameters.AddWithValue("@FlowId", segment.FlowId);
|
|
cmd.Parameters.AddWithValue("@Unit1", segment.Unit1);
|
|
cmd.Parameters.AddWithValue("@OrderBy", segment.OrderBy);
|
|
cmd.Parameters.AddWithValue("@ModifyBy", Global.CurrentUserCode);
|
|
cmd.Parameters.AddWithValue("@ModifyTime", DateTime.Now);
|
|
cmd.Parameters.AddWithValue("@IsActive", 1);
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
public static void Delete(string flowid)
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
Delete(conn, flowid);
|
|
conn.Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
}
|
|
|
|
public static void Delete(SQLiteConnection conn, string flowid)
|
|
{
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "delete from Hard_Unit_Flow_Step where FlowId ='" + flowid + "'";
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
public static void Clear()
|
|
{
|
|
string dbPath = FilesDirectory.DatabasePath;
|
|
if (!File.Exists(dbPath))
|
|
{
|
|
throw new Exception("database missing!");
|
|
}
|
|
try
|
|
{
|
|
SQLiteConnection conn = SQLiteHelper.CreateConnection();
|
|
if (conn.State != System.Data.ConnectionState.Open)
|
|
{
|
|
conn.Open();
|
|
SQLiteCommand cmd = new SQLiteCommand();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = "delete from Hard_Unit_Flow_Step";
|
|
cmd.ExecuteNonQuery();
|
|
conn.Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|