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 { /// /// 处理菜单模块的业务数据 /// public class ProcessOutputDal : BaseApp { public ProcessOutputDal(RemotingProxy remotingProxy) : base(remotingProxy) { } #region 成员方法 /// /// 根据传入条件获得菜单列表数据 /// 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()); } } /// /// 根据分页条件获取分页数据列表 /// public DataTable getListByPage(ref Pager pager, string strWhere) { lock (_remotingProxy) { Hashtable result = new Hashtable(); List parameters = new List(); 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; } } /// /// 插入菜单数据 /// /// /// 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); } } /// /// 更新菜单数据 /// /// /// 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); } } /// /// 删除菜单数据 /// /// /// 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); } } /// /// 获取下拉框菜单数据 /// /// 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()); } } /// /// 获取分页数据列表 /// /// 一页显示多少条数据 /// 当前第几页 /// 条件 /// 排序字段 /// public DataTable getTableListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { lock (_remotingProxy) { Hashtable result = new Hashtable(); List parameters = new List(); 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 /// /// 获得产线 /// /// 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; } } } /// /// 获得班别 /// /// 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; } } } /// /// 获得零件号 /// /// public DataTable GetPartNo() { lock (_remotingProxy) { string sqlStr = "select part_id as [value],part_no as [key] from sys_part"; return _remotingProxy.GetDataTable(sqlStr); } } #endregion } }