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.

208 lines
11 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 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
{
/// <summary>
/// 处理菜单模块的业务数据
/// </summary>
public class MESOD10Repository : BaseRepository<SysPartCustOrder>, IMESOD10Repository
{
public MESOD10Repository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 根据传入条件获得菜单列表数据
/// </summary>
public List<SysPartCustOrder> 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<SysPartCustOrder> result = dbConn.Query<SysPartCustOrder>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 根据分页条件获取分页数据列表
/// </summary>
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<GShipOrder> orderList = dbConn.Query<GShipOrder>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", orderList);
// result.Add("totalCount", parameters.Get<int>("@TotalCount"));
result.Add("totalCount", orderList.Count);
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 删除菜单数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
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;
}
}
/// <summary>
/// 获取下拉框菜单数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> 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<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
/// <param name="PageSize">一页显示多少条数据</param>
/// <param name="PageIndex">当前第几页</param>
/// <param name="strWhere">条件</param>
/// <param name="OrderBy">排序字段</param>
/// <returns></returns>
public List<MESOD> 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<MESOD> result = dbConn.Query<MESOD>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
return result;
}
}
#endregion 成员方法
}
}