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.

346 lines
17 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 成员方法
/// <summary>
/// 获得菜单列表数据
/// </summary>
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());
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
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());
//}
/// <summary>
/// 获取分页记录总数
/// </summary>
//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();
}
}
}
}