using System;
using System.Data;
using System.Text;
using System.Collections.Generic;
using System.Data.SqlClient;
using ApServerProvider;
using DbCommon;
using System.Collections;
namespace Estsh.Core.Repositories
{
/**
* 客户零件号关系管理
*
* Fred
*
*/
public class SysPartExtGroupDal : BaseApp
{
public SysPartExtGroupDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
#region 成员方法
///
/// 获得菜单列表数据
///
public DataTable getList(string strWhere,string filedOrder)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT a.ruid,a.part_id,b.part_no,b.part_spec,a.torque_job_no,a.torque_robot_no,a.robot_offline_no FROM dbo.sys_part_ext_group a LEFT JOIN dbo.sys_part b ON a.part_id =b.part_id");
if (!strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
return this._remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取分页数据列表
///
public DataTable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
lock (_remotingProxy)
{
if (strWhere.Trim() != "")
{
strWhere = strWhere.Remove(0, 6);//因为存储过程中已经有where,这里需要把之前加入的where去掉,这里截除前六个字符
}
if (OrderBy.Trim() != "")
{
OrderBy = " " + OrderBy; //排序
}
Hashtable Params = new Hashtable(6);
Params.Add("@TotalCount", 100);
Params.Add("@TotalPage", 100);
Params.Add("@GroupColumn", "");
Params.Add("@Table", "dbo.sys_part_ext_group a LEFT JOIN dbo.sys_part b ON a.part_id =b.part_id");
Params.Add("@Column", "a.ruid,a.part_id,b.part_no,b.part_spec,a.torque_job_no,a.torque_robot_no,a.robot_offline_no");
Params.Add("@PageSize", PageSize);
Params.Add("@CurrentPage", PageIndex);
Params.Add("@Condition", strWhere);
Params.Add("@OrderColumn", OrderBy);
Params.Add("@Group", 0);
String strProcedure = "EXEC Com_Pagination @TotalCount, @TotalPage, @Table, @Column,@OrderColumn,@GroupColumn,@PageSize, @CurrentPage,@Group,@Condition";
return _remotingProxy.GetDataTable(strProcedure, Params);
}
}
///
/// 获取分页记录总数
///
public int getCountWhere(string strWhere)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) as Total FROM dbo.sys_part_ext_group a LEFT JOIN dbo.sys_part b ON a.part_id =b.part_id");
if (strWhere.Trim() != "")
{
strSql.Append(" " + strWhere);
}
int i = 0;
DataTable dt = _remotingProxy.GetDataTable(strSql.ToString());
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["Total"].ToString() != "")
{
i = int.Parse(dt.Rows[0]["Total"].ToString());
}
}
return i;
}
}
///
/// 插入菜单数据
///
///
///
public int saveData(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part_ext_group(part_id,torque_job_no,torque_robot_no,robot_offline_no,create_userid) ");
SqlStringBuilder.Append("VALUES(@part_id,@torque_job_no,@torque_robot_no,@robot_offline_no,@create_userid) ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 更新菜单数据
///
///
///
public int updateData(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE dbo.sys_part_ext_group SET ");
SqlStringBuilder.Append("torque_job_no=@torque_job_no,torque_robot_no=@torque_robot_no,robot_offline_no=@robot_offline_no,update_userid=@update_userid,update_ymd=Convert(varchar(10),getdate(),23),update_hms=Convert(varchar(10),getdate(),108) ");
SqlStringBuilder.Append("WHERE part_id=@part_id ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 删除菜单数据
///
///
///
public int deleteData(String ruid)
{
lock (_remotingProxy)
{
String delStr = "DELETE FROM dbo.sys_part_ext_group WHERE ruid = @ruid";
Hashtable htparams = new Hashtable();
htparams.Add("@ruid", ruid);
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
}
}
#endregion 成员方法
///
/// 获取 站点 信息
/// BY NOAH
///
///
public DataTable getTerminalName()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT DISTINCT keydata_id as [value],terminal_name as [key] from sys_terminal WHERE keydata_id IN (SELECT keydata_id FROM dbo.sys_terminal EXCEPT SELECT keydata_id FROM dbo.sys_terminal_control) and enabled = 'Y'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取 看板 信息
/// BY NOAH
///
///
public DataTable getBoardName()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT DISTINCT view_board_id as [value],view_board_name as [key] from g_view_board WHERE enabled = 'Y'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 判断用户输入的零件号是否存在
/// BY NOAH
///
///
///
public String isExsitPart_no(String part_no)
{
lock (_remotingProxy)
{
string part_id = null;
string SqlString = "select top 1 part_id from sys_part where enabled='Y' and part_no=@part_no";
Hashtable Params = new Hashtable(1);
Params.Add("@part_no", part_no);
DataTable dt = _remotingProxy.GetDataTable(SqlString, Params);
if (dt.Rows.Count < 1)
{
return part_id;
}
else
{
part_id = dt.Rows[0][0].ToString();
return part_id;
}
}
}
///
/// 导入数据方法
///
/// 需要导入的数据表
/// true or false
public bool InsertData(DataTable dt)
{
lock (_remotingProxy)
{
List SqlStrings = new List(dt.Rows.Count);
List hs = new List(dt.Rows.Count);
for (int i = 0; i < dt.Rows.Count; i++)
{
string partNo = dt.Rows[i][0].ToString().Trim();
string torque_job_no = dt.Rows[i][2].ToString().Trim();
string torque_robot_no = dt.Rows[i][3].ToString().Trim();
string robot_offline_no = dt.Rows[i][4].ToString().Trim();
int partID = GetPartID(partNo);
StringBuilder SqlStringBuilder = new StringBuilder(1024);
DataTable existInfo = checkExist(partID);
if (existInfo.Rows.Count >= 1)
{
SqlStringBuilder.Append("UPDATE dbo.sys_part_ext_group SET torque_job_no=@torque_job_no ,torque_robot_no=@torque_robot_no, ");
SqlStringBuilder.Append("robot_offline_no=@robot_offline_no,update_userid=@emp_id, ");
SqlStringBuilder.Append("update_ymd=Convert(varchar(10),getdate(),23),update_hms=Convert(varchar(10),getdate(),108) ");
SqlStringBuilder.Append("WHERE part_id=@part_id");
}
else
{
SqlStringBuilder.Append("INSERT INTO sys_part_ext_group(part_id,torque_job_no,torque_robot_no,robot_offline_no,create_userid) ");
SqlStringBuilder.Append("VALUES(@part_id,@torque_job_no,@torque_robot_no,@robot_offline_no,@emp_id) ");
}
Hashtable values = new Hashtable(4);
values.Add("@emp_id", _remotingProxy.UserID);
values.Add("@part_id", partID);
values.Add("@torque_job_no", torque_job_no);
values.Add("@torque_robot_no", torque_robot_no);
values.Add("@robot_offline_no", robot_offline_no);
SqlStrings.Add(SqlStringBuilder.ToString());
hs.Add(values);
}
return _remotingProxy.ExecuteSqlTransaction(SqlStrings, hs);
}
}
///
/// 获取配置ID
///
///
///
public int GetModelID(string modelName)
{
lock (_remotingProxy)
{
string SqlString = "SELECT model_id FROM dbo.sys_model WHERE model_name=@modelName";
Hashtable Params = new Hashtable(1);
Params.Add("@modelName", modelName);
DataTable dt = _remotingProxy.GetDataTable(SqlString, Params);
if (dt == null)
return 0;
if (dt.Rows.Count == 0)
return 0;
return Convert.ToInt32(dt.Rows[0][0].ToString());
}
}
///
/// 获取总成零件ID
///
///
///
public int GetPartID(string partNo)
{
lock (_remotingProxy)
{
string SqlString = "SELECT part_id FROM sys_part WHERE part_no=@partNo";
Hashtable Params = new Hashtable(1);
Params.Add("@partNo", partNo);
DataTable dt = _remotingProxy.GetDataTable(SqlString, Params);
if (dt == null)
return 0;
if (dt.Rows.Count == 0)
return 0;
return Convert.ToInt32(dt.Rows[0][0].ToString());
}
}
///
/// 查看信息是否存在
///
///
///
///
///
public DataTable checkExist(int partID)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM sys_part_ext_group WHERE part_id=@partID");
Hashtable ht = new Hashtable(1);
ht.Add("@partID", partID);
return _remotingProxy.GetDataTable(strSql.ToString(),ht);
}
}
}
}