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 { /*************************************************** * DPS管理 * * NOAH * ***************************************************/ public class CartonDetailQueryDal : BaseApp { public CartonDetailQueryDal(RemotingProxy remotingProxy) : base(remotingProxy) { } #region 成员方法 /// /// 获得菜单列表数据 /// public DataTable getList(string strWhere, string filedOrder) { lock (_remotingProxy) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT a.*,c.part_no as sys_part_no ,c.part_spec from dbo.g_dps a left join sys_part c on a.part_id=c.part_id "); if (!strWhere.Trim().Equals("")) { strSql.Append(" where " + strWhere); } try { if (filedOrder != null && !filedOrder.Trim().Equals("")) { strSql.Append(" order by " + filedOrder); } } catch { } 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(); Params.Add("@TotalCount", 100); Params.Add("@TotalPage", 100); StringBuilder SqlStringBuilderTable = new StringBuilder(1024); SqlStringBuilderTable.Append(" sys_stock s "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_part p ON s.part_id = p.part_id "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_locate l ON s.locate_id = l.locate_id "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_vendor v ON s.vendor_id = v.vendor_id "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_emp ce ON s.create_userid = ce.emp_id "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_emp e ON s.update_userid = e.emp_id "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_enum em1 ON s.type = em1.enum_value "); SqlStringBuilderTable.Append(" AND em1.enum_type = 'sys_stock_type' "); SqlStringBuilderTable.Append(" LEFT JOIN dbo.sys_enum ef ON s.enabled = ef.enum_value AND ef.enum_type = 'sys_stock_enabled' "); Params.Add("@Table", SqlStringBuilderTable.ToString()); StringBuilder SqlStringBuilderColumn = new StringBuilder(1024); SqlStringBuilderColumn.Append(" ef.enum_desc AS isenabled , "); SqlStringBuilderColumn.Append(" s.carton_no , "); SqlStringBuilderColumn.Append(" s.se_date , "); SqlStringBuilderColumn.Append(" s.se_time , "); SqlStringBuilderColumn.Append(" v.vendor_code + v.vendor_name AS vendor_name , "); SqlStringBuilderColumn.Append(" dbo.get_carton_status(s.carton_no) AS status , "); SqlStringBuilderColumn.Append(" em1.enum_desc type , "); SqlStringBuilderColumn.Append(" p.part_no , "); SqlStringBuilderColumn.Append(" p.part_spec , "); SqlStringBuilderColumn.Append(" p.option3 AS type_name , "); SqlStringBuilderColumn.Append(" s.buy_no , "); SqlStringBuilderColumn.Append(" l.locate_name , "); SqlStringBuilderColumn.Append(" e.emp_name , "); SqlStringBuilderColumn.Append(" s.update_ymd , "); SqlStringBuilderColumn.Append(" s.update_hms , "); SqlStringBuilderColumn.Append(" s.qty , "); SqlStringBuilderColumn.Append(" s.snp_qty , "); SqlStringBuilderColumn.Append(" s.plan_qty , "); SqlStringBuilderColumn.Append(" s.lot_no , "); SqlStringBuilderColumn.Append(" ce.emp_name AS emp_name1 , "); SqlStringBuilderColumn.Append(" s.create_ymd , "); SqlStringBuilderColumn.Append(" s.create_hms , "); SqlStringBuilderColumn.Append(" s.pick_no , s.date_code "); Params.Add("@Column", SqlStringBuilderColumn.ToString()); Params.Add("@PageSize", PageSize); Params.Add("@CurrentPage", PageIndex); string _strWhere = " "; //if (!string.IsNullOrEmpty(strWhere)) //{ // _strWhere = " where 1= 1 and " + strWhere; //} Params.Add("@OrderColumn", " p.part_no , s.lot_no ,s.update_ymd,s.update_hms "); Params.Add("@Condition", strWhere); Params.Add("@GroupColumn", " "); Params.Add("@Group", 0); //Params.Add("@Condition", ""); String strProcedure = "EXEC Com_Pagination @TotalCount, @TotalPage, @Table, @Column,@OrderColumn,@GroupColumn,@PageSize, @CurrentPage,@Group,@Condition"; return _remotingProxy.GetDataTable(strProcedure, Params); } } //public DataTable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) //{ // StringBuilder SqlStringBuilder = new StringBuilder(1024); // SqlStringBuilder.Append("SELECT top 10000 ef.enum_desc AS isenabled , "); // SqlStringBuilder.Append(" s.carton_no , "); // SqlStringBuilder.Append(" s.se_date , "); // SqlStringBuilder.Append(" s.se_time , "); // SqlStringBuilder.Append(" v.vendor_code + v.vendor_name AS vendor_name , "); // SqlStringBuilder.Append(" dbo.get_carton_status(s.carton_no) AS status , "); // SqlStringBuilder.Append(" em1.enum_desc type , "); // SqlStringBuilder.Append(" p.part_no , "); // SqlStringBuilder.Append(" p.part_spec , "); // SqlStringBuilder.Append(" p.option3 AS type_name , "); // SqlStringBuilder.Append(" s.buy_no , "); // SqlStringBuilder.Append(" l.locate_name , "); // SqlStringBuilder.Append(" e.emp_name , "); // SqlStringBuilder.Append(" s.update_ymd , "); // SqlStringBuilder.Append(" s.update_hms , "); // SqlStringBuilder.Append(" s.qty , "); // SqlStringBuilder.Append(" s.snp_qty , "); // SqlStringBuilder.Append(" s.plan_qty , "); // SqlStringBuilder.Append(" s.lot_no , "); // SqlStringBuilder.Append(" ce.emp_name AS emp_name1 , "); // SqlStringBuilder.Append(" s.create_ymd , "); // SqlStringBuilder.Append(" s.create_hms , "); // SqlStringBuilder.Append(" s.pick_no , s.date_code "); // SqlStringBuilder.Append("FROM sys_stock s "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part p ON s.part_id = p.part_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_locate l ON s.locate_id = l.locate_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor v ON s.vendor_id = v.vendor_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_emp ce ON s.create_userid = ce.emp_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_emp e ON s.update_userid = e.emp_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum em1 ON s.type = em1.enum_value "); // SqlStringBuilder.Append(" AND em1.enum_type = 'sys_stock_type' "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum ef ON s.enabled = ef.enum_value AND ef.enum_type = 'sys_stock_enabled' "); // SqlStringBuilder.Append("WHERE 1 = 1 "); // //if (!string.IsNullOrEmpty(strWhere)) // //{ // // SqlStringBuilder.Append(strWhere); // //} // SqlStringBuilder.Append(" ORDER BY p.part_no , s.lot_no ,s.update_ymd,s.update_hms "); // return _remotingProxy.GetDataTable(SqlStringBuilder.ToString()); //} /// /// 获取分页记录总数 /// //public int getCountWhere(string strWhere) //{ // StringBuilder SqlStringBuilder = new StringBuilder(1024); // SqlStringBuilder.Append("SELECT e.enum_desc AS warehouse_type, w.warehouse_name, w.warehouse_desc, "); // SqlStringBuilder.Append(" p.part_no,i.enum_desc as part_type, p.part_spec, ISNULL(p.option3,'') AS option3, SUM(s.qty) AS qty, "); // SqlStringBuilder.Append(" ed.enum_desc AS stock_type, w.erp_warehouse, s.unit,p.uom ,SUM(dbo.uom_convert(p.part_no,s.unit, s.qty,p.uom)) AS bzqty "); // SqlStringBuilder.Append("FROM dbo.sys_stock s "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_locate l ON s.locate_id = l.locate_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_warehouse w ON w.warehouse_id = l.warehouse_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part p ON s.part_id = p.part_id "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum e ON e.enum_value = w.warehouse_type "); // SqlStringBuilder.Append(" AND e.enum_type = 'sys_warehouse_type' "); // SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum ed ON s.enabled = ed.enum_value "); // SqlStringBuilder.Append(" AND ed.enum_type = 'sys_stock_enabled' "); // SqlStringBuilder.Append(" LEFT JOIN sys_enum i ON p.part_type = i.enum_value "); // SqlStringBuilder.Append(" AND i.enum_type = 'sys_part_type' "); // SqlStringBuilder.Append("WHERE w.enabled = 'Y' AND s.qty > 0 "); // SqlStringBuilder.Append(" AND ( s.status IN ( "); // SqlStringBuilder.Append(" SELECT ISNULL(col,'') "); // SqlStringBuilder.Append(" FROM dbo.f_split(( SELECT param_value "); // SqlStringBuilder.Append(" FROM dbo.sys_base "); // SqlStringBuilder.Append(" WHERE param_name = 'IsInventStatus' "); // SqlStringBuilder.Append(" ), ',') ) "); // SqlStringBuilder.Append(" OR ( s.status = 'F' "); // SqlStringBuilder.Append(" AND s.type = 'C' "); // SqlStringBuilder.Append(" ) "); // SqlStringBuilder.Append(" ) "); // SqlStringBuilder.Append(" AND ISNULL(l.locate_id, 0) <> 0 "); // SqlStringBuilder.Append(" AND w.erp_warehouse NOT IN ( "); // SqlStringBuilder.Append(" SELECT ISNULL(col,'') "); // SqlStringBuilder.Append(" FROM dbo.f_split(( SELECT param_value "); // SqlStringBuilder.Append(" FROM dbo.sys_base "); // SqlStringBuilder.Append(" WHERE param_name = 'NotInventLgort' "); // SqlStringBuilder.Append(" ), ',') ) "+strWhere); // SqlStringBuilder.Append("GROUP BY w.warehouse_name, w.warehouse_desc, p.part_no,i.enum_desc, p.part_spec, p.option3, "); // SqlStringBuilder.Append(" e.enum_desc, ed.enum_desc, w.erp_warehouse, s.unit,p.uom "); // SqlStringBuilder.Append("ORDER BY e.enum_desc, p.option3, w.warehouse_name, w.warehouse_desc, p.part_no, "); // SqlStringBuilder.Append(" p.part_spec, ed.enum_desc, s.unit,p.uom "); // //if (strWhere.Trim() != "") // //{ // // SqlStringBuilder.Append(" " + strWhere); // //} // int i = 0; // DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString()); // if (dt.Rows.Count > 0) // { // i = dt.Rows.Count; // } // return i; //} public int getCountWhere(string strWhere) { lock (_remotingProxy) { StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT p.part_no , s.lot_no ,s.update_ymd,s.update_hms "); SqlStringBuilder.Append(" FROM sys_stock s "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part p ON s.part_id = p.part_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_locate l ON s.locate_id = l.locate_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor v ON s.vendor_id = v.vendor_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_emp ce ON s.create_userid = ce.emp_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_emp e ON s.update_userid = e.emp_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum em1 ON s.type = em1.enum_value "); SqlStringBuilder.Append(" AND em1.enum_type = 'sys_stock_type' "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum ef ON s.enabled = ef.enum_value AND ef.enum_type = 'sys_stock_enabled' "); SqlStringBuilder.Append(" where 1=1 " + strWhere); SqlStringBuilder.Append(" ORDER BY p.part_no , s.lot_no ,s.update_ymd,s.update_hms "); DataTable dt = _remotingProxy.GetDataTable(SqlStringBuilder.ToString()); if (dt.Rows.Count > 0) { return dt.Rows.Count; } else { return 0; } } } #endregion 成员方法 #region 下拉框 public DataTable GetVendor() { lock (_remotingProxy) { string sql = "SELECT vendor_id as [value] ,vendor_name as [key] FROM dbo.sys_vendor ORDER BY vendor_name"; return _remotingProxy.GetDataTable(sql); } } public DataTable GetPart() { lock (_remotingProxy) { string sql = "SELECT part_id as [value] ,part_no as [key] FROM dbo.sys_part ORDER BY part_no"; return _remotingProxy.GetDataTable(sql); } } public DataTable GetModelType() { lock (_remotingProxy) { string sql = "SELECT type_id as [value] ,type_name as [key] FROM dbo.sys_model_type ORDER BY type_name"; return _remotingProxy.GetDataTable(sql); } } public DataTable GetStatus() { lock (_remotingProxy) { string sql = "SELECT enum_value as [value] ,enum_desc as [key] FROM dbo.sys_enum WHERE enum_type = 'sys_stock_status' ORDER BY enum_value"; return _remotingProxy.GetDataTable(sql); } } public DataTable GetEnabled() { lock (_remotingProxy) { string sql = "SELECT enum_value as [value] ,enum_desc as [key] FROM dbo.sys_enum WHERE enum_type = 'sys_stock_enabled'"; return _remotingProxy.GetDataTable(sql); } } public DataTable GetLocate() { lock (_remotingProxy) { string sql = "select locate_id as [value] , locate_name as [key] from sys_locate"; return _remotingProxy.GetDataTable(sql); } } #endregion 下拉框 public string GetServer() { lock (_remotingProxy) { string sql = "dbo.get_ymd()"; return _remotingProxy.GetScalar(sql).ToString(); } } } }