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.

295 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;
using Estsh.Web.Util;
using Com.Estsh.MES.App;
/***************************************************************************************************
*
* 作者:王勇
*
* *************************************************************************************************/
namespace Estsh.Core.Repositories
{
/// <summary>
/// 处理菜单模块的业务数据
/// </summary>
public class ProcessOutputDal : BaseApp
{
public ProcessOutputDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
#region 成员方法
/// <summary>
/// 根据传入条件获得菜单列表数据
/// </summary>
public DataTable getList(string strWhere, string filedOrder)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.sys_part_cust_order ");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
return this._remotingProxy.GetDataTable(strSql.ToString());
}
}
/// <summary>
/// 根据分页条件获取分页数据列表
/// </summary>
public DataTable getListByPage(ref Pager pager, string strWhere)
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", "dbo.g_sn_count a LEFT JOIN dbo.sys_part b ON a.part_id = b.part_id LEFT JOIN dbo.sys_pdline c ON a.pdline_id = c.pdline_id LEFT JOIN dbo.sys_process e ON a.process_id = e.process_id LEFT JOIN dbo.sys_shift f ON a.shift_id = f.shift_id "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "a.workorder_no ,a.work_date ,SUM(a.output_qty) AS output_qty , b.part_no , b.part_spec , c.pdline_name ,e.process_name ,f.shift_name"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "c.pdline_name ,a.work_date ,f.shift_name ,b.part_no ,e.process_name"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", "a.workorder_no ,a.work_date ,b.part_no ,b.part_spec ,c.pdline_name ,e.process_name ,f.shift_name"));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", pager.pageSize));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", pager.pageNo));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 1));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere));
Hashtable values = new Hashtable(2);
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
//ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
//result.Add("dataList", dataList);
//result.Add("totalCount", values["@TotalCount"].ToString());
pager.totalRows = Convert.ToInt32(values["@TotalCount"]);
return dt;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveProcessOutput(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part_cust_order (part_id ");
SqlStringBuilder.Append(" , cust_order ");
SqlStringBuilder.Append(" ,ship_unit) ");
SqlStringBuilder.Append(" VALUES(@part_id ");
SqlStringBuilder.Append(" , @cust_order ");
SqlStringBuilder.Append(" ,@ship_unit)");
//SqlStringBuilder.Append(" , CONVERT(VARCHAR(10),GETDATE(),23) ");
//SqlStringBuilder.Append(" , CONVERT(VARCHAR(10),GETDATE(),108)) ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateProcessOutput(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_part_cust_order ");
SqlStringBuilder.Append("SET cust_order=@cust_order ");
SqlStringBuilder.Append(" , ship_unit=@ship_unit ");
SqlStringBuilder.Append("WHERE part_id=@part_id ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
/// <summary>
/// 删除菜单数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int deleteProcessOutput(String part_id)
{
lock (_remotingProxy)
{
Hashtable htparams = new Hashtable();
//String strQuery = "SELECT * FROM sys_part_cust_order WHERE part_id = @part_id";
htparams.Add("@part_id", part_id);
//bool exist = _remotingProxy.Exists(strQuery, htparams);
//if (exist)
//{
// return -2;
//}
String delStr = "delete from sys_part_cust_order where part_id = @part_id";
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
}
}
/// <summary>
/// 获取下拉框菜单数据
/// </summary>
/// <returns></returns>
public DataTable getSelectProcessOutput()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select part_id as [value] ,part_no as [key] from sys_part where part_type = '1' ");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
/// <param name="PageSize">一页显示多少条数据</param>
/// <param name="PageIndex">当前第几页</param>
/// <param name="strWhere">条件</param>
/// <param name="OrderBy">排序字段</param>
/// <returns></returns>
public DataTable getTableListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
List<StoreProcedureParameter> parameters = new List<StoreProcedureParameter>();
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", "dbo.sys_part_cust_order a LEFT JOIN sys_part b ON a.part_id = b.part_id "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "b.part_no,b.part_spec,a.*,a.part_id as part_id_a"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", OrderBy));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", PageSize));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", PageIndex));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere));
Hashtable values = new Hashtable(2);
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
return dt;
}
}
#endregion 成员方法
#region
/// <summary>
/// 获得产线
/// </summary>
/// <returns></returns>
public DataTable GetPdline(string pdName)
{
lock (_remotingProxy)
{
string SqlString = "SELECT pdline_id as [value],pdline_name as [key],pdline_desc FROM sys_pdline WHERE enabled='Y'";
if (pdName != null && string.IsNullOrEmpty(pdName.Trim()) == false)
{
string likeStr = string.Format(" and pdline_name like '%{0}%'", pdName);
SqlString += likeStr;
}
try
{
return _remotingProxy.GetDataTable(SqlString);
}
catch
{
return null;
}
}
}
/// <summary>
/// 获得班别
/// </summary>
/// <returns></returns>
public DataTable GetShiftData(string shift_name)
{
lock (_remotingProxy)
{
string sqlStr = "select shift_id as [value], shift_name as[key] from sys_shift";
if (shift_name != null && string.IsNullOrEmpty(shift_name.Trim()) == false)
{
string likeStr = string.Format(" where shift_name like '%{0}%'", shift_name);
sqlStr += likeStr;
}
try
{
return _remotingProxy.GetDataTable(sqlStr);
}
catch
{
return null;
}
}
}
public DataTable GetProcessData(string process_name)
{
lock (_remotingProxy)
{
string sqlStr = "select process_id as [value],process_name as [key] from sys_process";
if (process_name != null && string.IsNullOrEmpty(process_name.Trim()) == false)
{
string likeStr = string.Format(" where process_name like '%{0}%'", process_name);
sqlStr += likeStr;
}
try
{
return _remotingProxy.GetDataTable(sqlStr);
}
catch
{
return null;
}
}
}
/// <summary>
/// 获得零件号
/// </summary>
/// <returns></returns>
public DataTable GetPartNo()
{
lock (_remotingProxy)
{
string sqlStr = "select part_id as [value],part_no as [key] from sys_part";
return _remotingProxy.GetDataTable(sqlStr);
}
}
#endregion
}
}