using Dapper; using Estsh.Core.Dapper; using Estsh.Core.Model.ExcelModel; using Estsh.Core.Models; using Estsh.Core.Repository.IRepositories; using Estsh.Core.Util; using System.Collections; using System.Data; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:成品异常领用 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { public class ProdunctFinishedRepository : BaseRepository, IProdunctFinishedRepository { public ProdunctFinishedRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } /// /// 判断条码是否存在 /// /// /// public bool IsCartonNoExists(string carton_no) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); string strsql = "select count(1) from g_sn_status where serial_number=@serial_number "; DynamicParameters ht = new DynamicParameters(); ht.Add("@serial_number", carton_no); object obj = dbConn.ExecuteScalar(strsql, ht); int Result = Convert.ToInt32(obj); if (Result > 0) { return true; } else { return false; } } } /// /// 成品领用主要存储过程 /// /// /// /// /// public string ProductShipping(string serial_number, string remark, string finished, int UserID, string doorNO, string reason) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters Parameters = new DynamicParameters(); Parameters.Add( "@serial_number", serial_number); Parameters.Add( "@finished", finished); Parameters.Add( "@remark", remark); Parameters.Add( "@doorNO", doorNO); Parameters.Add( "@reason", reason); Parameters.Add("@UserID", UserID); Parameters.Add("@tres",null, DbType.String, ParameterDirection.Output, 255); List depts = dbConn.Query("ProductShipping", Parameters, commandType: CommandType.StoredProcedure).ToList(); if (!string.IsNullOrEmpty(Parameters.Get("@tres"))) { return Parameters.Get("@tres"); } else { return "Fail"; } } } public List GetAll(string where, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable ht = 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", @" ( dbo.g_sn_misc a JOIN dbo.g_sn_status b ON a.serial_number = b.serial_number AND b.work_flag IN( 1,3)) LEFT JOIN sys_part c ON b.part_id = c.part_id LEFT JOIN dbo.sys_emp d ON a.create_userid = d.emp_id LEFT JOIN dbo.sys_model e ON e.model_id = b.model_id LEFT JOIN dbo.sys_model_type f ON f.type_id = e.model_type_id "); parameters.Add( "@Column", @" '0' AS lsn , f.type_name ,e.model_name ,a.serial_number , c.part_no ,c.cust_part_no ,c.part_spec , a.create_time AS ctime , d.emp_name ,a.emp_name AS uname , a.reason ,a.out_going_no ,a.remark , 1 AS qty "); parameters.Add( "@orderColumn", @"a.create_time DESC "); parameters.Add( "@GroupColumn", @""); parameters.Add( "@PageSize", pager.pageSize); parameters.Add( "@CurrentPage", pager.pageNo); parameters.Add( "@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" 1=1 AND (LEN(a.reason) > 0 OR LEN(a.remark) > 0) " + where); parameters.Add("@Condition", SqlStringBuilder.ToString()); List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount= parameters.Get("@TotalCount"); return depts; } } public List getTableListByPage(string where, Pager pager, ref int totalCount) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable ht = 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", @" ( dbo.g_sn_misc a JOIN dbo.g_sn_status b ON a.serial_number = b.serial_number AND b.work_flag IN( 1,3)) LEFT JOIN sys_part c ON b.part_id = c.part_id LEFT JOIN dbo.sys_emp d ON a.create_userid = d.emp_id LEFT JOIN dbo.sys_model e ON e.model_id = b.model_id LEFT JOIN dbo.sys_model_type f ON f.type_id = e.model_type_id "); parameters.Add("@Column", @" '0' AS lsn , f.type_name ,e.model_name ,a.serial_number , c.part_no ,c.cust_part_no ,c.part_spec , a.create_time AS ctime , d.emp_name ,a.emp_name AS uname , a.reason ,a.out_going_no ,a.remark , 1 AS qty "); parameters.Add("@orderColumn", @"a.create_time DESC "); parameters.Add("@GroupColumn", @""); parameters.Add("@PageSize", pager.pageSize); parameters.Add("@CurrentPage", pager.pageNo); parameters.Add("@Group", 0); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append(" 1=1 AND (LEN(a.reason) > 0 OR LEN(a.remark) > 0) " + where); parameters.Add("@Condition", SqlStringBuilder.ToString()); List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); totalCount = parameters.Get("@TotalCount"); return depts; } } } }