using Dapper; using Estsh.Core.Base; using Estsh.Core.Dapper; using Estsh.Core.IRepositories; 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 SingleWarePrintDefineRepository : BaseRepository, ISingleWarePrintDefineRepository { public SingleWarePrintDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } #region 成员方法SS /// /// 获得菜单列表数据 /// public List getList(string strWhere, string filedOrder) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT a.*,c.part_no as sys_part_no ,c.part_spec from dbo.g_dps a left join sys_part c on a.part_id=c.part_id "); if (!strWhere.Trim().Equals("")) { strSql.Append(" where " + strWhere); } try { if (filedOrder != null && !filedOrder.Trim().Equals("")) { strSql.Append(" order by " + filedOrder); } } catch { } List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } /// /// 获取分页数据列表 /// public List GetOrderDetail(int PageSize, int PageIndex, string strWhere, string OrderBy) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters Params = new DynamicParameters(); Params.Add("@TotalCount", 100); Params.Add("@TotalPage", 100); Params.Add("@Table", " SAP_MISCO AS A INNER JOIN dbo.sys_part AS B ON a.MATNR = b.part_no LEFT JOIN dbo.sys_factory c ON a.WERKS = c.factory_code LEFT JOIN dbo.sys_enum e ON e.enum_value = a.ZACTION AND e.enum_type = 'sys_misco_type' "); Params.Add("@Column", " CEILING(( A.ERFMG / ISNULL(NULLIF(B.default_box_qty, 0), A.ERFMG) )) AS CTCNT, c.factory_name AS NAMES, *, e.enum_desc "); Params.Add("@PageSize", PageSize); Params.Add("@CurrentPage", PageIndex); Params.Add("@OrderColumn", " MATNR "); Params.Add("@Condition", strWhere); Params.Add("@GroupColumn", " "); Params.Add("@Group", 0); List result = dbConn.Query("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList(); return result; } } /// /// 获取分页记录总数 /// public int GetOrderCount(string strWhere) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT CEILING(( A.ERFMG / ISNULL(NULLIF(B.default_box_qty, 0), A.ERFMG) )) "); SqlStringBuilder.Append(" AS CTCNT, c.factory_name AS NAMES, *, e.enum_desc "); SqlStringBuilder.Append("FROM SAP_MISCO AS A "); SqlStringBuilder.Append(" INNER JOIN dbo.sys_part AS B ON a.MATNR = b.part_no "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory c ON a.WERKS = c.factory_code "); SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum e ON e.enum_value = a.ZACTION "); SqlStringBuilder.Append(" AND e.enum_type = 'sys_misco_type' "); SqlStringBuilder.Append("WHERE a.ZINSTNO = '" + strWhere + "' "); SqlStringBuilder.Append(" AND a.ACTFLG = 'N' "); SqlStringBuilder.Append("ORDER BY MATNR "); int i = 0; List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); if (result.Count > 0) { i = result.Count; } return i; } } /// /// 插入菜单数据 /// /// /// public int saveDPS(GDps htParams) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("insert into dbo.g_dps(mt_group,enabled,mt_area,control_id,addr_id,part_id,part_no,part_name,is_finish, create_userid,create_time,is_light,is_running )"); SqlStringBuilder.Append("values(@mtGroup,'Y',@mtArea,@controlId,@addrId,@partId,@partNo,@partName,@isFinish, @createUserid ,CONVERT(varchar(50), GETDATE(), 21),@isLight,@isRunning )"); int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams); return result; } } #endregion 成员方法 public String isExsitPart_no(String part_no) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string part_id = null; string SqlString = "select top 1 part_id from sys_part where enabled='Y' and part_no=@partNo"; DynamicParameters Params = new DynamicParameters(); Params.Add("@partNo", part_no); List dt = dbConn.Query(SqlString, Params).ToList(); if (dt.Count < 1) { return part_id; } else { part_id = dt[0].PartId.ToString(); return part_id; } } } /// /// 获取枚举值 /// /// 枚举类型 /// public List GetTaskList() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); //string Sqlstring = "SELECT ZINSTNO as [value] , '单号:'+ZINSTNO+',零件号:'+WERKS+',目标库存地:'+LGORT+',类型:'+case when ZACTION='C03' then 'NC拆解退料' when ZACTION='C01' then '零星入库' end as [value] FROM SAP_MISCO WHERE ACTFLG='N' and ZACTION in ('C01','C03') AND ZZLZT NOT IN (4 , 5) GROUP BY ZINSTNO,WERKS,LGORT,ZACTION "; string Sqlstring = "SELECT ZINSTNO as [value] , '单号:'+ZINSTNO+',零件号:'+WERKS+',目标库存地:'+LGORT+',类型:'+case when ZACTION='C03' then 'NC拆解退料' when ZACTION='C01' then '零星入库' end as [key] FROM SAP_MISCO WHERE ACTFLG='N' and ZACTION in ('C01','C03') AND ZZLZT NOT IN (4 , 5) GROUP BY ZINSTNO,WERKS,LGORT,ZACTION "; List result = dbConn.Query(Sqlstring).ToList(); return result; } } } }