using Commom.Utility;
using Common;
using Model;
using Model.WcsModel;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace BLL.DAL
{
public class DAL_PlcPos
{
///
/// 根据ID获取流程字信息
///
///
public WCSPlcPos GetPlcPos(string Id)
{
try
{
StringBuilder strSql = new StringBuilder();
strSql.Append($"select * from WCSPlcPos where IsDel = 0 and Id = '{Id}' order by createTime;");
IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql);
var model = ModelConvertHelper.ReaderToModel(dt);
return model;
}
catch
{
throw new NotImplementedException();
}
}
///
/// 获取工位对应的流程字数据集合
///
/// 查询条件
/// 分页信息
///
public IList GetPlcPosList(AjaxPlcPosList Json, ref PageInfo pageInfo)
{
try
{
IList list = new List();
StringBuilder sqlString = new StringBuilder();
List para = new List();
sqlString.Append("select tb1.Id,tb1.PlcInfoId,tb1.StationNum,tb1.PlcPos, ");
sqlString.Append("tb1.PosType,tb1.LedIP,tb1.Name,tb1.CreateUser,tb2.RealName as CreateUserName,tb1.CreateTime ");
sqlString.Append("from WCSPlcPos as tb1 left join UserInfo as tb2 on tb1.CreateUser = tb2.ID ");
sqlString.Append("where tb1.IsDel = 0 ");
if (!string.IsNullOrWhiteSpace(Json.StationNum))
{
sqlString.Append($"and tb1.StationNum like '%{Json.StationNum}%' ");
}
if (!string.IsNullOrWhiteSpace(Json.PlcPos))
{
sqlString.Append($"and tb1.PlcPos like '%{Json.PlcPos}%' ");
}
DataTable dt = DataFactory.SqlDataBase().GetPageList(sqlString.ToString(), null, "CreateTime", "DESC", ref pageInfo);
list = ModelConvertHelper.DataTableToModel(dt);
return list;
}
catch
{
throw new NotImplementedException();
}
}
///
/// 删除工位对应的流程字信息
///
/// ID集合
///
public bool DeletePlcPos(string[] ID)
{
bool result = false;
try
{
int dt = DataFactory.SqlDataBase().IsExist("WCSPlcPos", "ID", ID);
if (dt >= ID.Length)
{
int i = 0;
while (i < ID.Length)
{
StringBuilder sql = new StringBuilder();
sql.Append("update WCSPlcPos set IsDel=1 where Id='" + ID[i] + "'");
int _ret = DataFactory.SqlDataBase().ExecuteBySql(sql);
if (_ret >= ID.Length) result = true;
i++;
}
}
return result;
}
catch
{
return result;
}
}
///
/// 新增编辑流程字信息
///
/// 流程字信息
/// true:保存成功 false:保存失败
public bool AddPlcPos(AjaxPlcPos model)
{
bool bl = false;
try
{
int rowCount = 0;
Hashtable ht = new Hashtable();
if (model.Operation == "Add")
{
string[] StationNumlist = model.StationNum.Split('-');
// add
ht["PlcInfoId"] = model.PlcInfoId;
ht["StationNum"] = StationNumlist[0].AddQuotes();
ht["PlcPos"] = model.PlcPos.AddQuotes();
ht["PosType"] = model.PosType.AddQuotes();
ht["LedIP"] = model.LedIP.AddQuotes();
ht["Name"] = model.Name.AddQuotes();
ht["CreateUser"] = model.CreateUser;
rowCount = DataFactory.SqlDataBase().InsertByHashtableNullParam("WCSPlcPos", ht);
}
else
{
// Edit
string[] StationNumlist = model.StationNum.Split('-');
ht["PlcInfoId"] = model.PlcInfoId;
ht["StationNum"] = StationNumlist[0].AddQuotes();
ht["PlcPos"] = model.PlcPos.AddQuotes();
ht["PosType"] = model.PosType.AddQuotes();
ht["LedIP"] = model.LedIP.AddQuotes();
ht["Name"] = model.Name.AddQuotes();
rowCount = DataFactory.SqlDataBase().UpdateByHashtable("WCSPlcPos", "id", model.Id.ToString(), ht);
}
if (rowCount == 1)
{
bl = true;
}
}
catch (Exception)
{
bl = false;
}
return bl;
}
///
/// 获取工位下拉框
///
/// 工位ID
///
public string GetPlcPosHtml(string PlcInfoId = "")
{
try
{
StringBuilder sb = new StringBuilder();
string resMenuTemplate = "";
sb.AppendFormat(resMenuTemplate, "", "", "选择");
StringBuilder sqlString = new StringBuilder();
sqlString.Append("select * from WCSPlcInfo where IsDel = 0 and Level ='2';");
DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(sqlString);
foreach (DataRow row in dt.Rows)
{
sb.AppendFormat(resMenuTemplate, row["Id"].ToString(), row["Id"].ToString() == PlcInfoId ? "selected='selected'" :
string.Empty, row["StationNum"].ToString()+"-"+ row["Text"].ToString());
}
return sb.ToString();
}
catch
{
return "";
}
}
///
/// 验证是否存在重复项
///
/// 查询条件
///
public bool IsExist(string sqlWhere)
{
return DataFactory.SqlDataBase().IsExist("WCSPlcPos", sqlWhere);
}
}
}