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 * 描述:采购日程单维护DAL层 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { public class PurchaseScheduleSingleRepository : BaseRepository, IPurchaseScheduleSingleRepository { public PurchaseScheduleSingleRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } /// /// 根据查询条件得出日程单收货数据结果集 /// /// 查询条件 /// 符合条件的结果集 public Hashtable GetQuery(string aWhere) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable hs = new Hashtable(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT a.* , "); SqlStringBuilder.Append(" b.type_name , "); SqlStringBuilder.Append(" c.vendor_name , "); SqlStringBuilder.Append(" d.part_no , "); SqlStringBuilder.Append(" d.part_spec , "); SqlStringBuilder.Append(" e.factory_name , "); SqlStringBuilder.Append(" f.enum_desc AS day_status , "); SqlStringBuilder.Append(" g.enum_desc AS day_type "); SqlStringBuilder.Append("FROM dbo.g_buy_day_fact a "); SqlStringBuilder.Append(" LEFT JOIN sys_model_type b ON a.type_id = b.type_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor c ON a.vendor_id = c.vendor_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part d ON a.part_id = d.part_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory e ON a.factory_id = e.factory_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum f ON a.status = f.enum_value "); SqlStringBuilder.Append(" AND f.enum_type = 'g_buy_day_fact_status' "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum g ON a.type = g.enum_value "); SqlStringBuilder.Append(" AND g.enum_type = 'g_buy_day_fact_type' WHERE a.enabled = 'Y' "); if (!string.IsNullOrEmpty(aWhere)) { SqlStringBuilder.Append(aWhere); } List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); hs.Add("data", result); hs.Add("dataList", result); return hs; } } public List getTableListByPage(string aWhere) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable hs = new Hashtable(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT a.* , "); SqlStringBuilder.Append(" b.type_name , "); SqlStringBuilder.Append(" c.vendor_name , "); SqlStringBuilder.Append(" d.part_no , "); SqlStringBuilder.Append(" d.part_spec , "); SqlStringBuilder.Append(" e.factory_name , "); SqlStringBuilder.Append(" f.enum_desc AS day_status , "); SqlStringBuilder.Append(" g.enum_desc AS day_type "); SqlStringBuilder.Append("FROM dbo.g_buy_day_fact a "); SqlStringBuilder.Append(" LEFT JOIN sys_model_type b ON a.type_id = b.type_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor c ON a.vendor_id = c.vendor_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part d ON a.part_id = d.part_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory e ON a.factory_id = e.factory_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum f ON a.status = f.enum_value "); SqlStringBuilder.Append(" AND f.enum_type = 'g_buy_day_fact_status' "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum g ON a.type = g.enum_value "); SqlStringBuilder.Append(" AND g.enum_type = 'g_buy_day_fact_type' WHERE a.enabled = 'Y' "); if (!string.IsNullOrEmpty(aWhere)) { SqlStringBuilder.Append(aWhere); } List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); return result; } } /// /// 根据单号和车型查询库存明细 /// /// 单据号 /// 车型名称 /// public Hashtable GetStockDetail(string orderNo, string typeName) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable hs = new Hashtable(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELEC a.* , "); SqlStringBuilder.Append(" b.type_name , "); SqlStringBuilder.Append(" c.vendor_name , "); SqlStringBuilder.Append(" d.part_no as part_no1 , "); SqlStringBuilder.Append(" d.part_spec , "); SqlStringBuilder.Append(" e.factory_name , "); SqlStringBuilder.Append(" f.enum_desc AS stock_status , "); SqlStringBuilder.Append(" g.enum_desc AS stock_type , "); SqlStringBuilder.Append(" j.locate_name "); SqlStringBuilder.Append("FROM dbo.sys_stock a "); SqlStringBuilder.Append(" LEFT JOIN sys_model_type b ON a.type_id = b.type_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_vendor c ON a.vendor_id = c.vendor_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_part d ON a.part_id = d.part_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory e ON a.factory_id = e.factory_id "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum f ON a.status = f.enum_value "); SqlStringBuilder.Append(" AND f.enum_type = 'sys_stock_status' "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum g ON a.type = g.enum_value "); SqlStringBuilder.Append(" AND g.enum_type = 'g_buy_day_fact_type' "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_locate j ON a.locate_id = j.locate_id "); SqlStringBuilder.Append("WHERE a.enabled = 'Y' and a.order_no=@order_no and b.type_name=@type_name "); DynamicParameters values = new DynamicParameters(); values.Add("@order_no", orderNo); values.Add("@type_name", typeName); List result = dbConn.Query(SqlStringBuilder.ToString(), values).ToList(); hs.Add("data", result); hs.Add("dataList", result); return hs; } } /// /// 获取所有的零件号 /// /// public List GetPart(string part_no) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = "select part_no as [value],part_no as [key] from sys_part where enabled = 'Y' AND part_type=0 AND part_no LIKE '" + part_no + "%'"; List result = dbConn.Query(SqlString).ToList(); return result; } } /// /// 获取所有的供应商名称 /// /// public List GetVendor(string key) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = " select vendor_name as [value],vendor_name as [key] from sys_vendor where enabled = 'Y' and vendor_name LIKE '" + key + "%'"; List result = dbConn.Query(SqlString).ToList(); return result; } } /// /// 获取所有的厂区名称 /// /// public List GetFactory() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = " select factory_name as [value],factory_name as [key] from sys_factory where enabled = 'Y' "; List result = dbConn.Query(SqlString).ToList(); return result; } } /// /// 获取所有的车型名称 /// /// public List GetType() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = " select type_name as [value] ,type_name as [key] from sys_model_type where enabled='Y' "; List result = dbConn.Query(SqlString).ToList(); return result; ; } } /// /// 更新日程收获数据的is_close字段 /// /// 编号 /// public bool UpdateIsClose(string ruid) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = " update g_buy_day_fact set is_closed='Y' where ruid = @ruid"; DynamicParameters values = new DynamicParameters(); values.Add("@ruid", ruid); int result = dbConn.Execute(SqlString, values); return result > 0; } } /// ///更改可用状态 /// /// true or false /// 当前行 /// public bool ChangeDetailStatus(bool status, DataRow dr) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string guid = dr["cust_pdline_id"].ToString(); string enabled = string.Empty; //string partID = GetPartMessage(partNo).Rows[0][0].ToString(); string SqlString = "update dbo.sys_cust_pdline set enabled=@status where cust_pdline_id=@part_id"; if (status) { enabled = "Y"; } else { enabled = "N"; } DynamicParameters values = new DynamicParameters(); values.Add("@status", enabled); values.Add("@part_id", guid); int result = dbConn.Execute(SqlString, values); return result > 0; } } public bool DeleteDetail(DataRow dr) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); //string partID = GetPartMessage(dr[0].ToString()).Rows[0][0].ToString(); string guid = dr["cust_pdline_id"].ToString(); String delStr = "update sys_cust_pdline set Enabled='N' where cust_pdline_id = @guid"; DynamicParameters values = new DynamicParameters(); values.Add("@guid", guid); int result = dbConn.Execute(delStr, values); return result > 0; } } /// /// 获取采购订单关闭的密码 /// /// 密码 public string GetSysBase() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string SqlString = "select top 1 param_value from sys_base where param_name='CloseOrderPassWord' and enabled = 'Y' "; object obj = dbConn.ExecuteScalar(SqlString); if (obj==null) { return ""; } return obj.ToString(); } } } }