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
{
///
/// 处理菜单模块的业务数据
///
public class PartMasterGYDal : BaseApp
{
public PartMasterGYDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
#region 成员方法
///
/// 根据传入条件获得菜单列表数据
///
public DataTable getList(string strWhere, string filedOrder)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.sys_part ");
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());
}
}
///
/// 根据分页条件获取分页数据列表
///
public Hashtable getListByPage(String part_type,int PageSize, int PageIndex, string strWhere, string OrderBy)
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
List parameters = new List();
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", "sys_part a left join sys_model b on a.model_id=b.model_id left join sys_route c on a.route_id=c.route_id left join sys_locate d on a.locate_id=d.locate_id LEFT JOIN dbo.sys_enum AS e ON e.enum_value=a.part_location LEFT JOIN dbo.sys_emp f ON a.update_userid = f.emp_id LEFT JOIN dbo.sys_emp g ON a.create_userid = g.emp_id"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "a.*, b.model_name,c.route_name,d.locate_name,e.enum_desc,f.emp_name,g.emp_name as create_name"));
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 + " and a.part_type='" + part_type + "'"));
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;
}
}
/////
///// 获取下拉框菜单数据
/////
/////
//public DataTable getSelectPartMaster()
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("select PartMaster_id as [value],name as [key] from dbo.sys_web_PartMaster where parent_id = 0 AND enabled = 'Y' ");
// return _remotingProxy.GetDataTable(strSql.ToString());
//}
///
/// 插入菜单数据
///
///
///
public int savePartMaster(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part (part_spec ");
SqlStringBuilder.Append(" , part_no ");
SqlStringBuilder.Append(" ,part_type ");
SqlStringBuilder.Append(" ,part_location ");
SqlStringBuilder.Append(" ,model_id ");
SqlStringBuilder.Append(" ,version ");
SqlStringBuilder.Append(" ,cust_part_no ");
SqlStringBuilder.Append(" ,mfger_part_no ");
SqlStringBuilder.Append(" ,vendor_part_no ");
SqlStringBuilder.Append(" ,erp_part_no ");
SqlStringBuilder.Append(" ,uom ");
SqlStringBuilder.Append(" ,part_class ");
SqlStringBuilder.Append(" ,part_no_3c ");
SqlStringBuilder.Append(" ,label_file ");
SqlStringBuilder.Append(" ,label_type ");
SqlStringBuilder.Append(" ,locate_id ");
SqlStringBuilder.Append(" ,default_box_qty ");
SqlStringBuilder.Append(" ,default_reel_qty ");
SqlStringBuilder.Append(" ,default_set_qty ");
SqlStringBuilder.Append(" ,min_pack_qty ");
SqlStringBuilder.Append(" ,min_stock_qty ");
SqlStringBuilder.Append(" ,max_stock_qty ");
SqlStringBuilder.Append(" ,indate ");
//SqlStringBuilder.Append(" ,is_sort ");
//SqlStringBuilder.Append(" ,sort_qty ");
//SqlStringBuilder.Append(" ,sort_type ");
SqlStringBuilder.Append(" ,batch_control ");
SqlStringBuilder.Append(" ,split_flag ");
SqlStringBuilder.Append(" ,over_request ");
SqlStringBuilder.Append(" ,indate_flag ");
SqlStringBuilder.Append(" ,burnin_time ");
SqlStringBuilder.Append(" ,subboard_qty ");
SqlStringBuilder.Append(" ,upc_code ");
SqlStringBuilder.Append(" ,ucc_code ");
SqlStringBuilder.Append(" ,ean_code ");
SqlStringBuilder.Append(" ,create_userid ");
SqlStringBuilder.Append(" ,create_ymd ");
SqlStringBuilder.Append(" ,create_hms) ");
SqlStringBuilder.Append(" VALUES(@part_spec ");
SqlStringBuilder.Append(" ,@part_no ");
SqlStringBuilder.Append(" ,@part_type ");
SqlStringBuilder.Append(" ,@part_location ");
SqlStringBuilder.Append(" ,@model_id ");
SqlStringBuilder.Append(" ,@version ");
SqlStringBuilder.Append(" ,@cust_part_no ");
SqlStringBuilder.Append(" ,@mfger_part_no ");
SqlStringBuilder.Append(" ,@vendor_part_no ");
SqlStringBuilder.Append(" ,@erp_part_no ");
SqlStringBuilder.Append(" ,@uom ");
SqlStringBuilder.Append(" ,@part_class ");
SqlStringBuilder.Append(" ,@part_no_3c ");
SqlStringBuilder.Append(" ,@label_file ");
SqlStringBuilder.Append(" ,@label_type ");
SqlStringBuilder.Append(" ,@locate_id ");
SqlStringBuilder.Append(" ,@default_box_qty ");
SqlStringBuilder.Append(" ,@default_reel_qty ");
SqlStringBuilder.Append(" ,@default_set_qty ");
SqlStringBuilder.Append(" ,@min_pack_qty ");
SqlStringBuilder.Append(" ,@min_stock_qty ");
SqlStringBuilder.Append(" ,@max_stock_qty ");
SqlStringBuilder.Append(" ,@indate ");
//SqlStringBuilder.Append(" ,@is_sort ");
//SqlStringBuilder.Append(" ,@sort_qty ");
//SqlStringBuilder.Append(" ,@sort_type ");
SqlStringBuilder.Append(" ,@batch_control ");
SqlStringBuilder.Append(" ,@split_flag ");
SqlStringBuilder.Append(" ,@over_request ");
SqlStringBuilder.Append(" ,@indate_flag ");
SqlStringBuilder.Append(" ,@burnin_time ");
SqlStringBuilder.Append(" ,@subboard_qty ");
SqlStringBuilder.Append(" ,@upc_code ");
SqlStringBuilder.Append(" ,@ucc_code ");
SqlStringBuilder.Append(" ,@ean_code ");
SqlStringBuilder.Append(" ,@create_userid ");
SqlStringBuilder.Append(" , CONVERT(VARCHAR(10),GETDATE(),23) ");
SqlStringBuilder.Append(" , CONVERT(VARCHAR(10),GETDATE(),108)) ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 更新零件数据
///
///
///
public int updatePartMaster(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_part ");
SqlStringBuilder.Append("SET part_spec=@part_spec ");
SqlStringBuilder.Append(" , part_type=@part_type ");
SqlStringBuilder.Append(" , part_location=@part_location ");
SqlStringBuilder.Append(" , model_id=@model_id ");
SqlStringBuilder.Append(" , version=@version ");
SqlStringBuilder.Append(" , cust_part_no=@cust_part_no ");
SqlStringBuilder.Append(" , mfger_part_no=@mfger_part_no ");
SqlStringBuilder.Append(" , vendor_part_no=@vendor_part_no ");
SqlStringBuilder.Append(" , erp_part_no=@erp_part_no ");
SqlStringBuilder.Append(" , uom=@uom ");
SqlStringBuilder.Append(" , part_class=@part_class ");
SqlStringBuilder.Append(" , part_no_3c=@part_no_3c ");
SqlStringBuilder.Append(" , label_file=@label_file ");
SqlStringBuilder.Append(" , label_type=@label_type ");
SqlStringBuilder.Append(" , locate_id=@locate_id ");
SqlStringBuilder.Append(" , default_box_qty=@default_box_qty ");
SqlStringBuilder.Append(" , default_reel_qty=@default_reel_qty ");
SqlStringBuilder.Append(" , default_set_qty=@default_set_qty ");
SqlStringBuilder.Append(" , min_pack_qty=@min_pack_qty ");
SqlStringBuilder.Append(" , min_stock_qty=@min_stock_qty ");
SqlStringBuilder.Append(" , max_stock_qty=@max_stock_qty ");
SqlStringBuilder.Append(" , indate=@indate ");
//SqlStringBuilder.Append(" , is_sort=@is_sort ");
//SqlStringBuilder.Append(" , sort_qty=@sort_qty ");
//SqlStringBuilder.Append(" , sort_type=@sort_type ");
SqlStringBuilder.Append(" , batch_control=@batch_control ");
SqlStringBuilder.Append(" , split_flag=@split_flag ");
SqlStringBuilder.Append(" , over_request=@over_request ");
SqlStringBuilder.Append(" , indate_flag=@indate_flag ");
SqlStringBuilder.Append(" , burnin_time=@burnin_time ");
SqlStringBuilder.Append(" , subboard_qty=@subboard_qty ");
SqlStringBuilder.Append(" , upc_code=@upc_code ");
SqlStringBuilder.Append(" , ucc_code=@ucc_code ");
SqlStringBuilder.Append(" , ean_code=@ean_code ");
SqlStringBuilder.Append(" , update_userid=@update_userid ");
SqlStringBuilder.Append(" , update_ymd=CONVERT(VARCHAR(10),GETDATE(),23) ");
SqlStringBuilder.Append(" , update_hms=CONVERT(VARCHAR(10),GETDATE(),108) ");
SqlStringBuilder.Append("WHERE part_id=@part_id ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 删除菜单数据
///
///
///
public int deletePartMaster(String part_id)
{
lock (_remotingProxy)
{
Hashtable htparams = new Hashtable();
htparams.Add("@part_id", part_id);
String delStr = "delete from sys_part where part_id = @part_id";
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
}
}
///
/// 判断零件号是否存在
///
///
///
public DataTable ifPartNo(String partNo)
{
lock (_remotingProxy)
{
Hashtable htparams = new Hashtable();
htparams.Add("@partNo", partNo);
String delStr = "SELECT * FROM dbo.sys_part WHERE part_no=@partNo";
return _remotingProxy.GetDataTable(delStr, htparams);
}
}
///
///
///
///
public DataTable selectEnumValue(string enumDesc)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT TOP 1 * FROM dbo.sys_enum WHERE enum_desc='" + enumDesc + "' ");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
///
///
///
public DataTable selectRouteId(string routeName)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT TOP 1 * FROM dbo.sys_route WHERE route_name='" + routeName + "'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取下拉框菜单数据
///
///
public DataTable getSelectPartMaster()
{
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 DataTable getSelectPartMaster_Model_name()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select model_id as [value],model_name as [key] from dbo.sys_model where enabled='Y'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取车型数据
///
///
public DataTable getSelectPartLocation()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_value as [value], (enum_value+'-'+enum_desc) as [key] from dbo.sys_enum where enum_type='sys_part_location'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取单位数据
///
///
public DataTable getSelectPartMaster_Enum()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_id as [value],enum_value as [key] from dbo.sys_enum where enum_type='sys_part_uom'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取默认库位数据
///
///
public DataTable getSelectPartMaster_Locate()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select locate_id as [value],locate_name as [key] from dbo.sys_locate where enabled='Y'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取条码规则数据
///
///
public DataTable getSelectPartMaster_TMGZ()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_id as [value],enum_value as [key] from dbo.sys_enum where enum_type='sys_create_sn_proc' ");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取工艺流程数据
///
///
public DataTable getSelectPartMaster_Route()
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select route_id as [value],route_name as [key] from dbo.sys_route where enabled='Y'");
return _remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取分页数据列表
///
/// 一页显示多少条数据
/// 当前第几页
/// 条件
/// 排序字段
///
public DataTable getTableListByPage(String part_type, int PageSize, int PageIndex, string strWhere, string OrderBy)
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
List parameters = new List();
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", "sys_part a left join sys_model b on a.model_id=b.model_id left join sys_route c on a.route_id=c.route_id left join sys_locate d on a.locate_id=d.locate_id LEFT JOIN dbo.sys_enum AS e ON a.part_location=e.enum_value AND enum_type='sys_part_location'"));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "a.*, b.model_name,c.route_name,d.locate_name,e.enum_desc"));
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 + " and a.part_type='" + part_type + "'"));
Hashtable values = new Hashtable(2);
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
return dt;
}
}
///
///
///
///
///
///
public bool InsertData(List SqlStrings, List Parameters)
{
lock (_remotingProxy)
{
return _remotingProxy.ExecuteSqlTransaction(SqlStrings, Parameters);
}
}
#endregion 成员方法
}
}