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.

214 lines
8.8 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 System.Collections;
using DbCommon;
using Estsh.Web.Util;
/***************************************************************************************************
*
*作者:龚泽宇
* 创建时间2015.12.21
* 描述:发运管理
* 修改日志:龚泽宇
*
* *************************************************************************************************/
namespace Estsh.Core.Repositories
{
/// <summary>
/// 数据库访问类,用户管理
/// </summary>
public class ShipManagementDal : BaseApp
{
public ShipManagementDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
public int GetCustPdlineId(int partId)
{
lock (_remotingProxy)
{
string SqlString =
" SELECT top 1 d.cust_pdline_id FROM dbo.sys_part AS a "
+ " LEFT JOIN dbo.sys_model AS b ON a.model_id=b.model_id "
+ " LEFT JOIN dbo.sys_model_type AS c ON b.model_type_id=c.type_id"
+ " LEFT JOIN dbo.sys_cust_pdline AS d ON c.cust_pdline_id=d.cust_pdline_id"
+ " WHERE a.part_type=2 AND a.part_id=" + partId;
//" SELECT (CASE WHEN MAX(order_id) IS NULL THEN '0' ELSE '0' END) +1 as order_id FROM dbo.g_vw_order ";
Hashtable Params = new Hashtable(1);
object obj = _remotingProxy.GetScalar(SqlString, Params);
return obj == null ? 0 : Convert.ToInt32(obj);
}
}
/// <summary>
/// 根据分页条件获取分页数据列表
/// </summary>
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string cbCustPDLine, string txtStartTime, string txtEndTime, string txtStartSeq, string txtEndSeq)
{
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));
StringBuilder sb = new StringBuilder();
sb.Append(" ( SELECT DISTINCT TOP 1000 a.order_id,");
sb.Append(" c.model_name ,c.model_desc,f.on_line_time,order_seq,");
sb.Append(" car_no ,vin,d.cust_pdline_name,");
sb.Append(" (CASE count WHEN '0' THEN '未打印' ELSE '已打印' END ) AS count,");
sb.Append(" a.create_ymd ,a.create_hms FROM dbo.g_order AS a");
sb.Append(" LEFT JOIN dbo.sys_part AS b ON a.model_part_id=b.part_id");
sb.Append(" LEFT JOIN dbo.sys_model AS c ON b.model_id=c.model_id");
sb.Append(" LEFT JOIN dbo.sys_cust_pdline AS d ON d.cust_pdline_id=a.cust_pdline");
sb.Append(" LEFT JOIN dbo.g_order_items AS e ON a.order_id=e.order_id");
sb.Append(" LEFT JOIN dbo.g_order_detail AS f ON a.order_id=f.order_id");
sb.Append(" WHERE cust_pdline=" + cbCustPDLine);
if (!string.IsNullOrEmpty(txtStartSeq) && !string.IsNullOrEmpty(txtEndSeq))
{
sb.Append(" AND order_seq BETWEEN '" + txtStartSeq + "' AND '" + txtEndSeq + "'");
}
else
{
sb.Append(" AND a.create_ymd+' ' +a.create_hms BETWEEN '" + txtStartTime + "' AND '" + txtEndTime + "'");
}
sb.Append(" ) AS a");
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", sb.ToString()));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "*"));
if (cbCustPDLine == "1007")
{
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "on_line_time"));
}
else
{
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", "order_seq"));
}
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);
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
result.Add("dataList", dataList);
result.Add("totalCount", values["@TotalCount"].ToString());
return result;
}
}
/// <summary>
/// 获取状态变更
/// </summary>
/// <returns></returns>
public int stateChanges(string ids, string a)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE dbo.g_order SET count=" + a + " WHERE order_id IN (" + ids + ") ");
int count = _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString());
return count;
}
}
/// <summary>
/// 获取客户产线列表
/// </summary>
/// <returns></returns>
public DataTable GetCustPDLine()
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("SELECT cust_pdline_id as [value], ");
SqlStringBuilder.Append("cust_pdline_name as [key] ");
SqlStringBuilder.Append("FROM dbo.sys_cust_pdline ");
SqlStringBuilder.Append("WHERE enabled = 'Y' ");
SqlStringBuilder.Append("ORDER BY cust_pdline_name ");
return _remotingProxy.GetDataTable(SqlStringBuilder.ToString());
}
}
public bool ifOrderId(string order_seq, int part_id)
{
lock (_remotingProxy)
{
string SqlString =
"select * from g_vw_order where order_seq= @order_seq AND cust_pdline=(SELECT cust_pdline_id FROM sys_part AS A LEFT JOIN sys_model AS B ON A.model_id=B.model_id LEFT JOIN sys_model_type AS C ON B.model_type_id=C.type_id WHERE A.part_id=" + part_id + " ) ";
Hashtable Params = new Hashtable(1);
Params.Add("@order_seq", order_seq);
return _remotingProxy.Exists(SqlString, Params);
}
}
public bool ifOrderId(string order_seq, int part_id, string PackageUnitNumber)
{
lock (_remotingProxy)
{
string SqlString =
"select * from g_vw_order where package_unit_number+order_seq='" + PackageUnitNumber + order_seq + "' AND cust_pdline=(SELECT cust_pdline_id FROM sys_part AS A LEFT JOIN sys_model AS B ON A.model_id=B.model_id LEFT JOIN sys_model_type AS C ON B.model_type_id=C.type_id WHERE A.part_id=" + part_id + " ) ";
Hashtable Params = new Hashtable(1);
return _remotingProxy.Exists(SqlString, Params);
}
}
public bool selectRelationData(int part_id)
{
lock (_remotingProxy)
{
string SqlString =
"select top 1 * from g_part_relation as a left join sys_part as b on a.model_id=b.model_id where b.part_id= " + part_id + "";
Hashtable Params = new Hashtable(1);
return _remotingProxy.Exists(SqlString, Params);
}
}
public bool DeleteData(string order_id)
{
lock (_remotingProxy)
{
string SqlString =
" delete g_ve_order where order_id=@order_id ";
Hashtable Params = new Hashtable(1);
Params.Add("@order_id", order_id);
return _remotingProxy.Exists(SqlString, Params);
}
}
}
}