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.
354 lines
15 KiB
C#
354 lines
15 KiB
C#
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;
|
|
|
|
/***************************************************************************************************
|
|
*
|
|
* 作者:王勇
|
|
*
|
|
* *************************************************************************************************/
|
|
namespace Estsh.Core.Repositories
|
|
{
|
|
/// <summary>
|
|
/// 处理菜单模块的业务数据
|
|
/// </summary>
|
|
public class YYAdjustOrderDal : BaseApp
|
|
{
|
|
public YYAdjustOrderDal(RemotingProxy remotingProxy)
|
|
: base(remotingProxy)
|
|
{
|
|
}
|
|
#region 成员方法
|
|
|
|
/// <summary>
|
|
/// 根据传入条件获得菜单列表数据
|
|
/// </summary>
|
|
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());
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据分页条件获取分页数据列表
|
|
/// </summary>
|
|
public Hashtable getListByPage(RemotingProxy.RecordStatus status, int PageSize, int PageIndex, string strWhere, string OrderBy)
|
|
{
|
|
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(" dbo.g_workorder_detail AS a");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder AS d ON a.workorder_id=d.ruid LEFT JOIN dbo.sys_part AS e ON d.part_id=e.part_id");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder_sn AS f ON a.ruid=f.wo_detail_id");
|
|
sb.Append(" LEFT JOIN dbo.g_sn_status AS g ON f.serial_number=g.serial_number");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder AS w ON w.ruid = a.workorder_id");
|
|
sb.Append(" LEFT JOIN dbo.g_pdline_relation AS r ON r.pdline_id = w.pdline_id");
|
|
sb.Append(" LEFT JOIN dbo.sys_cust_pdline AS p ON p.cust_pdline_id = r.cust_pdline_id");
|
|
sb.Append(" LEFT JOIN dbo.sys_part AS b ON a.part_id = b.part_id ");
|
|
sb.Append(" LEFT JOIN dbo.g_stock_order AS o ON g.workorder=o.order_no ");
|
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", sb.ToString()));
|
|
|
|
StringBuilder sbColumn = new StringBuilder();
|
|
sbColumn.Append(" ROW_NUMBER() OVER ( ORDER BY a.seq ) AS a ,");
|
|
sbColumn.Append(" a.ruid ,");
|
|
sbColumn.Append(" a.seq ,");
|
|
sbColumn.Append(" a.workorder_id ,");
|
|
sbColumn.Append(" e.part_no AS modelNo,");
|
|
sbColumn.Append(" b.part_no ,");
|
|
sbColumn.Append(" b.part_spec ,");
|
|
sbColumn.Append(" p.cust_pdline_desc ,");
|
|
sbColumn.Append(" a.type ,");
|
|
sbColumn.Append(" a.create_ymd ,");
|
|
sbColumn.Append(" a.create_hms ,");
|
|
sbColumn.Append(" g.serial_number ,");
|
|
sbColumn.Append(" f.serial_number AS car_no , ");
|
|
sbColumn.Append(" g.work_flag,o.edi_id, ");
|
|
sbColumn.Append(" b.cust_part_no");
|
|
|
|
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", sbColumn.ToString()));
|
|
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);
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("dataList", dataList);
|
|
result.Add("totalCount", values["@TotalCount"].ToString());
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入菜单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public int saveYYAdjustOrder(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)");
|
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新菜单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public int updateYYAdjustOrder(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);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除菜单数据
|
|
/// </summary>
|
|
/// <param name="ruid"></param>
|
|
/// <returns></returns>
|
|
public int deleteYYAdjustOrder(String part_id)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
Hashtable htparams = new Hashtable();
|
|
htparams.Add("@part_id", part_id);
|
|
String delStr = "delete from sys_part_cust_order where part_id = @part_id";
|
|
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上移
|
|
/// </summary>
|
|
public bool upRow(int seq, int ruid, int up_ruid, int up_seq)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
List<string> SqlStrings = new List<string>(3);
|
|
List<Hashtable> Parameters = new List<Hashtable>(3);
|
|
|
|
Hashtable Params = new Hashtable(4);
|
|
|
|
Params.Add("@seq", seq);
|
|
Params.Add("@ruid", ruid);
|
|
Params.Add("@up_ruid", up_ruid);
|
|
Params.Add("@up_seq", up_seq);
|
|
|
|
SqlStrings.Add("UPDATE dbo.g_workorder_detail SET seq=@up_seq WHERE ruid=@ruid");
|
|
Parameters.Add(Params);
|
|
|
|
SqlStrings.Add("UPDATE dbo.g_workorder_detail SET seq=@seq WHERE ruid=@up_ruid");
|
|
Parameters.Add(Params);
|
|
|
|
return _remotingProxy.ExecuteSqlTransaction(SqlStrings, Parameters);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上移
|
|
/// </summary>
|
|
public bool upAll(int ruid, int seq, int up_ruid, int up_seq)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
List<string> SqlStrings = new List<string>(3);
|
|
List<Hashtable> Parameters = new List<Hashtable>(3);
|
|
|
|
Hashtable Params = new Hashtable(4);
|
|
|
|
Params.Add("@ruid", ruid);
|
|
Params.Add("@seq", seq);
|
|
Params.Add("@up_ruid", up_ruid);
|
|
Params.Add("@up_seq", up_seq);
|
|
|
|
SqlStrings.Add("UPDATE dbo.g_workorder_detail SET seq=@up_seq WHERE ruid=@ruid");
|
|
Parameters.Add(Params);
|
|
|
|
SqlStrings.Add("UPDATE dbo.g_workorder_detail SET seq=@seq WHERE ruid=@up_ruid");
|
|
Parameters.Add(Params);
|
|
|
|
|
|
return _remotingProxy.ExecuteSqlTransaction(SqlStrings, Parameters);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取上一条数据
|
|
/// </summary>
|
|
/// <param name="ruid"></param>
|
|
/// <returns></returns>
|
|
public DataTable selectAll(string CustPDLine)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
Hashtable htparams = new Hashtable();
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append(" SELECT ROW_NUMBER() OVER ( ORDER BY a.seq ) AS a ,");
|
|
sb.Append(" a.ruid ,");
|
|
sb.Append(" a.seq ,");
|
|
sb.Append(" a.workorder_id ,");
|
|
sb.Append(" e.part_no AS modelNo ,");
|
|
sb.Append(" b.part_no ,");
|
|
sb.Append(" b.part_spec ,");
|
|
sb.Append(" p.cust_pdline_desc ,");
|
|
sb.Append(" a.type ,");
|
|
sb.Append(" a.create_ymd ,");
|
|
sb.Append(" a.create_hms ,");
|
|
sb.Append(" g.serial_number ,");
|
|
sb.Append(" w.car_no ,");
|
|
sb.Append(" g.work_flag");
|
|
sb.Append(" FROM dbo.g_workorder_detail AS a");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder AS d ON a.workorder_id = d.ruid");
|
|
sb.Append(" LEFT JOIN dbo.sys_part AS e ON d.part_id = e.part_id");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder_sn AS f ON a.ruid = f.wo_detail_id");
|
|
sb.Append(" LEFT JOIN dbo.g_sn_status AS g ON f.serial_number = g.serial_number");
|
|
sb.Append(" LEFT JOIN dbo.g_workorder AS w ON w.ruid = a.workorder_id");
|
|
sb.Append(" LEFT JOIN dbo.g_pdline_relation AS r ON r.pdline_id = w.pdline_id");
|
|
sb.Append(" LEFT JOIN dbo.sys_cust_pdline AS p ON p.cust_pdline_id = r.cust_pdline_id");
|
|
sb.Append(" LEFT JOIN dbo.sys_part AS b ON a.part_id = b.part_id ");
|
|
sb.Append(" WHERE p.cust_pdline_name='" + CustPDLine + "' and g.work_flag <0 and a.create_ymd>(SELECT CONVERT(VARCHAR(10), GETDATE()- 15, 120)) AND a.enabled='Y' ORDER BY a.seq ");
|
|
|
|
DataTable dt = _remotingProxy.GetDataTable(sb.ToString(), htparams);
|
|
|
|
return dt;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取下拉框菜单数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DataTable getSelectYYAdjustOrder()
|
|
{
|
|
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 int deleteOrder(String guid)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
if (guid == null)
|
|
return 0;
|
|
return _remotingProxy.ExecuteNonQuery("UPDATE dbo.g_workorder_detail SET enabled='N',update_ymd=dbo.get_ymd(),update_hms =dbo.get_hms() WHERE ruid IN (" + guid + ")");
|
|
}
|
|
}
|
|
|
|
public string getPartLocation(string ruid)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("SELECT part_location ");
|
|
SqlStringBuilder.Append("FROM dbo.g_workorder_sn a ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_part b ON a.part_id = b.part_id ");
|
|
SqlStringBuilder.Append("WHERE a.wo_detail_id = " + ruid + " ");
|
|
|
|
return _remotingProxy.GetScalar(SqlStringBuilder.ToString()).ToString();
|
|
}
|
|
}
|
|
|
|
public int deleteOrderInfo(String ruid, string custPdlineDesc, string partLocation)
|
|
{
|
|
lock (_remotingProxy)
|
|
{
|
|
if (ruid == null)
|
|
return 0;
|
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("UPDATE dbo.g_workorder_detail ");
|
|
SqlStringBuilder.Append("SET enabled = 'N', update_ymd=dbo.get_ymd(),update_hms =dbo.get_hms() ");
|
|
SqlStringBuilder.Append("WHERE ruid IN ( ");
|
|
SqlStringBuilder.Append(" SELECT a.ruid ");
|
|
SqlStringBuilder.Append(" FROM dbo.g_workorder_detail a ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.g_workorder b ON a.workorder_id = b.ruid ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.g_workorder_sn c ON a.ruid = c.wo_detail_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_pdline d ON b.pdline_id = d.pdline_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN sys_part e ON c.part_id = e.part_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.g_pdline_relation f ON d.pdline_id = f.pdline_id ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_cust_pdline g ON f.cust_pdline_id = g.cust_pdline_id ");
|
|
SqlStringBuilder.Append(" WHERE a.enabled = 'Y' ");
|
|
SqlStringBuilder.Append(" AND g.cust_pdline_name = @custPdlineDesc ");
|
|
SqlStringBuilder.Append(" AND a.ruid >= @ruid ");
|
|
if (partLocation != "01" && partLocation != "02")
|
|
{
|
|
|
|
SqlStringBuilder.Append(" AND e.part_location NOT IN ( '01', '02' ) ");
|
|
}
|
|
else
|
|
{
|
|
SqlStringBuilder.Append(" AND e.part_location IN ( '01', '02' ) ");
|
|
}
|
|
SqlStringBuilder.Append(" ) ");
|
|
|
|
|
|
Hashtable ht = new Hashtable(2);
|
|
ht.Add("@ruid", ruid);
|
|
ht.Add("@custPdlineDesc", custPdlineDesc);
|
|
|
|
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), ht);
|
|
}
|
|
}
|
|
|
|
#endregion 成员方法
|
|
}
|
|
}
|