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.

157 lines
7.4 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.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<GSnMisc>, IProdunctFinishedRepository
{
public ProdunctFinishedRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
/// <summary>
/// 判断条码是否存在
/// </summary>
/// <param name="carton_no"></param>
/// <returns></returns>
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;
}
}
}
/// <summary>
/// 成品领用主要存储过程
/// </summary>
/// <param name="serial_number"></param>
/// <param name="remark"></param>
/// <param name="UserID"></param>
/// <returns></returns>
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<dynamic> depts = dbConn.Query<dynamic>("ProductShipping", Parameters, commandType: CommandType.StoredProcedure).ToList();
if (!string.IsNullOrEmpty(Parameters.Get<string>("@tres")))
{
return Parameters.Get<string>("@tres");
}
else
{
return "Fail";
}
}
}
public List<GSnMisc> 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<GSnMisc> depts = dbConn.Query<GSnMisc>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
totalCount= parameters.Get<int>("@TotalCount");
return depts;
}
}
public List<ProdunctFinished> 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<ProdunctFinished> depts = dbConn.Query<ProdunctFinished>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
totalCount = parameters.Get<int>("@TotalCount");
return depts;
}
}
}
}