using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:出货单维护
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
///
/// 处理菜单模块的业务数据
///
public class MESOD10Repository : BaseRepository, IMESOD10Repository
{
public MESOD10Repository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
///
/// 根据传入条件获得菜单列表数据
///
public List getList(string strWhere, string filedOrder)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
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);
}
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 根据分页条件获取分页数据列表
///
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
//parameters.Add("@Table", " ( SELECT a.Number , a.cust_order ,a.order_no , a.part_id , e.start_car_no ,e.end_car_no , b.part_no , b.part_spec , a.qty , c.ship_unit , ship_emp , (SELECT * FROM dbo.sys_base WHERE param_name='SendOrderField' AND enabled='Y') AS xinhao , e.bs_car_no , e.be_car_no , g.model_id , g.model_desc ,e.memo , g.model_type_id , e.create_time , e.order_ymd ,a.page_no AS PAGE,e.print_type, e.pack_type ,s.shift_name,e.ship_address FROM g_ship_order AS e INNER JOIN g_ship_order_detail AS a ON e.order_no = a.order_no INNER JOIN sys_part AS b ON a.part_id = b.part_id INNER JOIN sys_part_cust_order AS c ON c.part_id = b.part_id INNER JOIN dbo.sys_enum AS d ON d.enum_value = b.part_location AND d.enum_type = 'sys_part_location' INNER JOIN dbo.sys_model AS g ON g.model_id = b.model_id left join dbo.sys_shift as s on s.shift_id=e.shift_id ) AS a ");
//parameters.Add("@Column", " Number , cust_order , order_no ,part_id ,start_car_no ,end_car_no ,part_no , part_spec , SUM(qty) AS qty ,ship_unit ,ship_emp ,xinhao ,bs_car_no ,be_car_no ,model_id ,model_desc , memo ,model_type_id ,create_time ,order_ymd ,page, print_type, pack_type,shift_name,ship_address ");
parameters.Add("@Table", " ( SELECT a.Number , a.cust_order ,a.order_no , a.part_id , e.start_car_no ,e.end_car_no , b.part_no , b.part_spec , a.qty , c.ship_unit , ship_emp , e.bs_car_no , e.be_car_no , g.model_id , g.model_desc ,e.memo , g.model_type_id , e.create_time , e.order_ymd ,a.page_no AS PAGE,e.print_type, e.pack_type ,s.shift_name,e.ship_address FROM g_ship_order AS e INNER JOIN g_ship_order_detail AS a ON e.order_no = a.order_no INNER JOIN sys_part AS b ON a.part_id = b.part_id INNER JOIN sys_part_cust_order AS c ON c.part_id = b.part_id INNER JOIN dbo.sys_enum AS d ON d.enum_value = b.part_location AND d.enum_type = 'sys_part_location' INNER JOIN dbo.sys_model AS g ON g.model_id = b.model_id left join dbo.sys_shift as s on s.shift_id=e.shift_id ) AS a ");
parameters.Add("@Column", " Number , cust_order , order_no ,part_id ,start_car_no ,end_car_no ,part_no , part_spec , SUM(qty) AS qty ,ship_unit ,ship_emp ,bs_car_no ,be_car_no ,model_id ,model_desc , memo ,model_type_id ,create_time ,order_ymd ,page, print_type, pack_type,shift_name,ship_address ");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
//parameters.Add("@Condition", strWhere + " GROUP BY Number , cust_order , order_no , part_id , start_car_no , end_car_no , part_no , part_spec , ship_unit , ship_emp , xinhao , bs_car_no , be_car_no , model_id , model_desc , memo , model_type_id , create_time , order_ymd , page, print_type, pack_type, shift_name ,ship_address ");
parameters.Add("@Condition", strWhere + " GROUP BY Number , cust_order , order_no , part_id , start_car_no , end_car_no , part_no , part_spec , ship_unit , ship_emp , bs_car_no , be_car_no , model_id , model_desc , memo , model_type_id , create_time , order_ymd , page, print_type, pack_type, shift_name ,ship_address ");
List orderList = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", orderList);
// result.Add("totalCount", parameters.Get("@TotalCount"));
result.Add("totalCount", orderList.Count);
return result;
}
}
///
/// 插入菜单数据
///
///
///
public int saveMESOD10(SysPartCustOrder htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part_cust_order (part_id ");
SqlStringBuilder.Append(" , cust_order ");
SqlStringBuilder.Append(" , create_userid ");
SqlStringBuilder.Append(" , create_time ");
SqlStringBuilder.Append(" , enabled ");
SqlStringBuilder.Append(" ,ship_unit) ");
SqlStringBuilder.Append(" VALUES(@partId ");
SqlStringBuilder.Append(" , @custOrder ");
SqlStringBuilder.Append(" , @createUserid ");
SqlStringBuilder.Append(" , CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" , 'Y' ");
SqlStringBuilder.Append(" ,@shipUnit)");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 更新菜单数据
///
///
///
public int updateMESOD10(SysPartCustOrder htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_part_custOrder ");
SqlStringBuilder.Append("SET cust_order=@custOrder ");
SqlStringBuilder.Append(" , ship_unit=@shipUnit ");
SqlStringBuilder.Append(",update_userid = @updateUserId ");
SqlStringBuilder.Append(",update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append("WHERE part_id=@partId ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
///
/// 删除菜单数据
///
///
///
public int deleteMESOD10(String part_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@part_id", part_id);
String delStr = "update sys_part_cust_order set Enabled='N' where part_id = @part_id";
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
///
/// 获取下拉框菜单数据
///
///
public List GetTerminalName()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECt DISTINCT terminal_name as [value] ,terminal_name as [key] FROM dbo.sys_terminal WHERE enabled='Y' ");
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 获取分页数据列表
///
/// 一页显示多少条数据
/// 当前第几页
/// 条件
/// 排序字段
///
public List getTableListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", " dbo.g_user_unlock a LEFT JOIN dbo.sys_emp b ON a.create_userid = b.emp_id LEFT JOIN dbo.sys_terminal c ON a.terminal_id=c.terminal_id ");
parameters.Add("@Column", " a.* , b.emp_name, c.terminal_name ");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere + " and a.enabled='Y' ");
List result = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
return result;
}
}
#endregion 成员方法
}
}