You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
5.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Runtime.CompilerServices;
using Mesnac.Action.ChemicalWeighing.LjMaterial;
namespace Mesnac.Action.ChemicalWeighing.LjMixFormula
{
public class MixDb:DBHelp
{
public static IList<MyNameValue> GetActionByDeviceUnit(int unitId)
{
IList<MyNameValue> myNameValues = new List<MyNameValue>();
string sql = $"select Id,ActionName from ActionCode where DeviceUnitId={unitId}";
var dataTable = GetTable(sql);
foreach (DataRow dataTableRow in dataTable.Rows)
{
myNameValues.Add(new MyNameValue()
{
Id = Convert.ToInt32(dataTableRow[0]),
Name = dataTableRow[1].ToString()
});
}
return myNameValues;
}
public static DataTable GetDetailByMId(string id)
{
string sql = $"select Id, MixId, ActionId, ActionName, SecondTime, Temperature, Speed, Weight, Difference, Remark from lj_mix_detail where MixId='{id}'";
return GetTable(sql);
}
//
public static IList<MyNameValue> GetDeviceUnit()
{
IList<MyNameValue> myNameValues = new List<MyNameValue>();
string sql = $"select Id,Name from DeviceUnit";
var dataTable = GetTable(sql);
foreach (DataRow dataTableRow in dataTable.Rows)
{
myNameValues.Add(new MyNameValue()
{
Id = Convert.ToInt32(dataTableRow[0]),
Name = dataTableRow[1].ToString()
});
}
return myNameValues;
}
public static void SoftDel(string id)
{
string sql = $"update lj_mix Set IsEnable=0 where id='{id}'";
ExecuteNonQuery(sql);
}
public static LjMixView GetById(string id)
{
string sql =
$"select Id, Name, CreateTime, UpdateTime, Remark, DeviceUnitId, DeviceUnitName from lj_mix where Id='{id}'";
var dataTable = GetTable(sql);
LjMixView view = new LjMixView();
view.Data = new List<LjMixDetailView>() ;
if (dataTable.Rows.Count == 1)
{
var datarow = dataTable.Rows[0];
view.Id = id;
view.DeviceUnitId = Convert.ToInt32(datarow["DeviceUnitId"]);
view.DeviceUnitName = datarow["DeviceUnitName"].ToString();
view.CreateTime = Convert.ToDateTime(datarow["CreateTime"]);
view.UpdateTime = Convert.ToDateTime(datarow["UpdateTime"]);
view.Name = datarow["Name"].ToString();
}
sql = $"select Id, MixId, ActionId, ActionName, SecondTime, Temperature, Speed, Weight, Difference, Remark from lj_mix_detail where MixId='{id}'";
dataTable = GetTable(sql);
foreach (DataRow dataTableRow in dataTable.Rows)
{
LjMixDetailView v = new LjMixDetailView()
{
Id = Convert.ToInt32(dataTableRow["Id"]),
MixId = id,
ActionId = Convert.ToInt32(dataTableRow["ActionId"]),
ActionName = dataTableRow["ActionName"].ToString(),
SecondTime = Convert.ToInt32(dataTableRow["SecondTime"]),
Temperature = Convert.ToSingle(dataTableRow["Temperature"]),
Speed = Convert.ToSingle(dataTableRow["Speed"]),
Weight = Convert.ToSingle(dataTableRow["Weight"]),
Difference = Convert.ToSingle(dataTableRow["Difference"]),
Remark = dataTableRow["Remark"].ToString()
};
view.Data.Add(v);
}
return view;
}
public static void Save(LjMixView view)
{
string mixId = view.Id;
string sql = $"select count(id) as a from lj_mix where Id='{mixId}'";
var dataTable = GetTable(sql);
var count = Convert.ToInt32(dataTable.Rows[0][0]);
if (count == 0)
{
//添加
sql = "insert into lj_mix (Id, Name, CreateTime, UpdateTime, Remark, DeviceUnitId, DeviceUnitName) " +
$" values ('{mixId}','{view.Name}',getdate(),getdate(),'',{view.DeviceUnitId},'{view.DeviceUnitName}');";
ExecuteNonQuery(sql);
}
else
{
sql = $"update lj_mix set Name='{view.Name}',UpdateTime=getdate(),DeviceUnitId={view.DeviceUnitId},DeviceUnitName='{view.DeviceUnitName}' where id='{view.Id}'";
ExecuteNonQuery(sql);
}
sql = $"delete from lj_mix_detail where MixId='{mixId}'";
ExecuteNonQuery(sql);
foreach (var ljMixDetailView in view.Data)
{
sql =
"insert into lj_mix_detail (MixId, ActionId, ActionName, SecondTime, Temperature, Speed, Weight, Difference, Remark)"
+ $" values ('{mixId}',{ljMixDetailView.ActionId},'{ljMixDetailView.ActionName}',{ljMixDetailView.SecondTime},{ljMixDetailView.Temperature},{ljMixDetailView.Speed},{ljMixDetailView.Weight},{ljMixDetailView.Difference},'');";
ExecuteNonQuery(sql);
}
}
}
}