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();
}
}
}
}