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.
313 lines
12 KiB
C#
313 lines
12 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 数据访问类SysWebWorkorderInfo。
|
|
/// </summary>
|
|
public class WorkOrderDefineDal : BaseApp
|
|
{
|
|
public WorkOrderDefineDal(RemotingProxy remotingProxy)
|
|
: base(remotingProxy)
|
|
{
|
|
}
|
|
#region 成员方法
|
|
/// <summary>
|
|
/// 获得菜单列表数据
|
|
/// </summary>
|
|
public DataTable getList(string strWhere,string filedOrder)
|
|
{
|
|
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("SELECT a.* , ");
|
|
SqlStringBuilder.Append(" b.part_no , ");
|
|
SqlStringBuilder.Append(" b.part_spec , ");
|
|
SqlStringBuilder.Append(" c.route_name , ");
|
|
SqlStringBuilder.Append(" d.customer_code ,g.ruid, ");
|
|
SqlStringBuilder.Append(" d.customer_name , ");
|
|
SqlStringBuilder.Append(" e.process_name , ");
|
|
SqlStringBuilder.Append(" f.process_name ,h.model_id, ");
|
|
SqlStringBuilder.Append(" g.spec_name , ");
|
|
SqlStringBuilder.Append(" h.model_name , ");
|
|
SqlStringBuilder.Append(" i.factory_code , ");
|
|
SqlStringBuilder.Append(" i.factory_name ");
|
|
SqlStringBuilder.Append("FROM g_workorder_base a ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_part b ON a.part_id = b.part_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_route c ON a.route_id = c.route_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_customer d ON a.customer_id = d.customer_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_process e ON a.start_process_id = e.process_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_process f ON a.end_process_id = f.process_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_pdline g ON a.default_ruid = g.ruid ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_model h ON a.model_id = h.model_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_factory i ON a.ruid = i.ruid ");
|
|
|
|
if (!strWhere.Trim().Equals(""))
|
|
{
|
|
SqlStringBuilder.Append(" where a." + strWhere);
|
|
}
|
|
if (filedOrder != null && !filedOrder.Trim().Equals(""))
|
|
{
|
|
SqlStringBuilder.Append(" order by " + filedOrder);
|
|
}
|
|
return this._remotingProxy.GetDataTable(SqlStringBuilder.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页数据列表
|
|
/// </summary>
|
|
public DataTable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
if (strWhere.Trim() != "")
|
|
{
|
|
strWhere = " a." + strWhere; //查询条件
|
|
}
|
|
if (OrderBy.Trim() != "")
|
|
{
|
|
OrderBy = " " + OrderBy; //排序
|
|
}
|
|
Hashtable Params = new Hashtable(6);
|
|
|
|
Params.Add("@TotalCount", 100);
|
|
Params.Add("@TotalPage", 100);
|
|
Params.Add("@GroupColumn", "");
|
|
Params.Add("@Table", "g_workorder_base a left join sys_part b on a.part_id=b.part_id left join sys_route c on a.route_id=c.route_id left join sys_customer d on a.customer_id=d.customer_id left join sys_process e on a.start_process_id=e.process_id left join sys_process f on a.end_process_id=f.process_id left join sys_pdline g on a.default_ruid=g.ruid left join sys_model h on a.model_id=h.model_id left join sys_factory i on a.ruid=i.ruid");
|
|
Params.Add("@Column", "a.*,g.ruid,h.model_id,b.part_no,b.part_spec,c.route_name,d.customer_code, d.customer_name,e.process_name,f.process_name,g.spec_name, h.model_name,i.factory_code,i.factory_name");
|
|
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);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页记录总数
|
|
/// </summary>
|
|
public int getCountWhere(string strWhere)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select count(*) as Total from g_workorder_base a left join sys_part b on a.part_id=b.part_id left join sys_route c on a.route_id=c.route_id left join sys_customer d on a.customer_id=d.customer_id left join sys_process e on a.start_process_id=e.process_id left join sys_process f on a.end_process_id=f.process_id left join sys_pdline g on a.default_ruid=g.ruid left join sys_model h on a.model_id=h.model_id left join sys_factory i on a.ruid=i.ruid");
|
|
if (strWhere.Trim() != "")
|
|
{
|
|
strSql.Append(" where a." + 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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取 工单状态getSelectPart_no
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectWO_status()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT wo_status as [key], ruid as [value] from g_workorder_base");
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取 零件号
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectPart_no()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT DISTINCT part_no as [key], part_id as [value] FROM dbo.sys_part WHERE enabled = 'Y'");
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取 产线信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectPackSpec()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT DISTINCT spec_name as [key], ruid as [value] FROM dbo.sys_pdline");
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取 流程信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectRoute()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT route_name as [key], route_id as [value] FROM sys_route WHERE enabled = 'Y'");
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取 流程信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectModel()
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("SELECT model_name as [key], model_id as [value] FROM sys_model WHERE enabled = 'Y'");
|
|
return _remotingProxy.GetDataTable(strSql.ToString());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入菜单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public int saveWorkorder(Hashtable htParams)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("INSERT INTO dbo.g_workorder_base( workorder_no ,part_id ,wo_status ,target_qty,default_ruid,route_id,model_id,remark,enabled )VALUES ");
|
|
SqlStringBuilder.Append("(@workorder_no,@part_id,@wo_status,@target_qty,@ruid,@route_id,@model_id,@remark,@enabled) ");
|
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新菜单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public int updateWorkorder(Hashtable htParams)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("UPDATE sys_pdline SET ");
|
|
SqlStringBuilder.Append("workorder_no=@workorder_no,pdline_desc=@pdline_desc,ruid=@ruid,enabled=@enabled ");
|
|
SqlStringBuilder.Append("WHERE ruid=@ruid ");
|
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除菜单数据
|
|
/// </summary>
|
|
/// <param name="ruid"></param>
|
|
/// <returns></returns>
|
|
public int deleteWorkorder(String ruid )
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
String delStr = "DELETE FROM g_workorder_base WHERE ruid = @ruid";
|
|
Hashtable htparams = new Hashtable();
|
|
htparams.Add("@ruid", ruid);
|
|
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
|
|
}
|
|
}
|
|
|
|
#endregion 成员方法
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 获取下拉框菜单数据 查询出工单条码详细信息
|
|
/// BY NOAH
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getWorkOrder_sn_meaage(String workorder_no)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("select a.workorder,a.serial_number,b.process_name ");
|
|
SqlStringBuilder.Append("from g_sn_status a ");
|
|
SqlStringBuilder.Append(" left join sys_process b on a.process_id=b.process_id ");
|
|
SqlStringBuilder.Append("where a.workorder=@workorder ");
|
|
|
|
Hashtable Params = new Hashtable(1);
|
|
|
|
Params.Add("@workorder", workorder_no);
|
|
|
|
return _remotingProxy.GetDataTable(SqlStringBuilder.ToString(), Params);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 判断工单是否已经存在
|
|
/// </summary>
|
|
/// <param name="workorder">工单号码</param>
|
|
/// <returns>是否存在</returns>
|
|
public bool ExistsWorkOrder(string workorder)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
string SqlString =
|
|
"select top 1 1 from g_workorder_base where workorder_no=@workorder_no";
|
|
|
|
Hashtable Params = new Hashtable(1);
|
|
Params.Add("@workorder_no", workorder);
|
|
|
|
return _remotingProxy.GetScalar(SqlString, Params) != null;
|
|
}
|
|
}
|
|
}
|
|
}
|