using DyeingComputer.View ;
using DyeingComputer.ViewModel ;
using ScottPlot.Colormaps ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using System.Windows.Documents ;
using System.Xml.Linq ;
using static DyeingComputer . UserClass . SqliteHelper ;
namespace DyeingComputer.UserClass
{
public class SQLDATA
{
private static SQLiteHelper SQLiteHelpers = null ; //定义数据库
private readonly static string DBAddress = Environment . CurrentDirectory + "\\DataBase\\800COMPUTER.db" ; //数据库路径
//WorkOrder表检查写入
public static bool WorkOrder ( string WorkOrder , string ProcessName , string StartTime , string EndTime , string Time , string Remark , string lock_ , string state , string ProcessID )
{
SQLiteHelpers = new SQLiteHelper ( DBAddress ) ; //数据库连接路径
SQLiteHelpers . Open ( ) ; //打开数据库
object i = SQLiteHelpers . ExecuteScalar ( "select * from WorkOrder where WorkOrder = " + WorkOrder , null ) ;
if ( i ! = null )
{
SQLiteHelpers . Close ( ) ;
return false ;
}
Dictionary < string , object > WorkOrder_new = new Dictionary < string , object > ( ) ; //缓存函数
WorkOrder_new . Add ( "WorkOrder" , WorkOrder ) ;
WorkOrder_new . Add ( "ProcessName" , ProcessName ) ;
WorkOrder_new . Add ( "StartTime" , StartTime ) ;
WorkOrder_new . Add ( "EndTime" , EndTime ) ;
WorkOrder_new . Add ( "Time" , Time ) ;
WorkOrder_new . Add ( "Remark" , Remark ) ;
WorkOrder_new . Add ( "lock" , Convert . ToInt16 ( lock_ ) ) ;
WorkOrder_new . Add ( "state" , Convert . ToInt16 ( state ) ) ;
WorkOrder_new . Add ( "ProcessID" , ProcessID ) ;
SQLiteHelpers . InsertData ( "WorkOrder" , WorkOrder_new ) ;
SQLiteHelpers . Close ( ) ;
return true ;
}
public static bool WorkOderStep ( DataTable WorkOrderStep_ )
{
SQLiteHelpers = new SQLiteHelper ( DBAddress ) ; //数据库连接路径
SQLiteHelpers . Open ( ) ; //打开数据库
DataTable data_t = WorkOrderStep_ . Clone ( ) ;
int a = WorkOrderStep_ . Rows . Count ;
if ( a < 1 )
{
SQLiteHelpers . Close ( ) ;
return false ;
}
string Program = WorkOrderStep_ . Rows [ 0 ] [ 0 ] . ToString ( ) ;
object n = SQLiteHelpers . ExecuteScalar ( "select * from WorkorderSteps where Program = " + Program , null ) ;
if ( n ! = null ) //如id存在着返回错误状态
{
SQLiteHelpers . Close ( ) ;
return false ;
}
for ( int i = 0 ; i < a ; i + + )
{
data_t . Clear ( ) ; //清空
DataRow dr = data_t . NewRow ( ) ;
dr . ItemArray = WorkOrderStep_ . Rows [ i ] . ItemArray ;
data_t . Rows . InsertAt ( dr , 0 ) ;
SQLiteHelpers . InsertData ( "WorkorderSteps" , SQLiteHelpers . DataTableToDictionary ( data_t ) ) ; //行插入
}
SQLiteHelpers . Close ( ) ; //关闭连接
return true ;
}
public static void TechnologicalProcess_START ( string workName )
{
SQLiteHelpers = new SQLiteHelper ( DBAddress ) ; //数据库连接路径
SQLiteHelpers . Open ( ) ; //打开数据库
int r = 0 ;
string sql_script = "select * from WorkorderSteps where ProgramID = '" + workName + "'" ;
if ( TechnologicalProcessView . sql ! = null ) TechnologicalProcessView . sql . Clear ( ) ; //清空缓存
TechnologicalProcessView . sql = SQLiteHelpers . ExecuteDataSet ( sql_script , null ) ; //读取表写入缓存
TechnologicalProcessView . Program_Name = SQLiteHelpers . ExecuteScalar ( "select ProgramName from Workorder where ProgramID = '" + workName + "'" , null ) . ToString ( ) ;
SQLiteHelpers . Delete ( "RUN" , null , null ) ; //删除run信息
DataTable data_t = new DataTable ( ) ;
data_t = TechnologicalProcessView . sql . Tables [ 0 ] . Clone ( ) ;
data_t . Columns . Add ( "DYELOT" , typeof ( string ) ) ; //添加列
int a = TechnologicalProcessView . sql . Tables [ 0 ] . Rows . Count ;
for ( int i = 0 ; i < a ; i + + )
{
data_t . Clear ( ) ; //清空
DataRow dt = TechnologicalProcessView . sql . Tables [ 0 ] . Rows [ i ] ; //行转
DataRow dr = data_t . NewRow ( ) ;
dr . ItemArray = dt . ItemArray ;
dr . BeginEdit ( ) ; //添加订单号
dr [ "DYELOT" ] = MainWindowViewModel . WorkNumder ;
dr . EndEdit ( ) ;
data_t . Rows . InsertAt ( dr , 0 ) ; //行转换
r = SQLiteHelpers . InsertData ( "RUN" , SQLiteHelpers . DataTableToDictionary ( data_t ) ) ; //行插入
}
//数据插入
MainWindowViewModel . WorkNumder = SQLiteHelpers . ExecuteDataSet ( "select WorkOrder from Workorder where ProgramID = '" + workName + "'" , null ) ; ;
TechnologicalProcessView . workName = workName ;
MainWindowViewModel . SYS_REDYE = 0 ;
MainWindowViewModel . ViewID = 1 ;
SQLiteHelpers . Close ( ) ; //关闭连接
}
}
}