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.

289 lines
12 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.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 SupportingPartDefineRepository : BaseRepository<WmsCustomerToStock>, ISupportingPartDefineRepository
{
public SupportingPartDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 根据传入条件获得支给件列表数据
/// </summary>
public List<SysPart> GetListFromPart(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.sys_part ");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
List<SysPart> result = dbConn.Query<SysPart>(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", " wms_customer_to_stock ");
parameters.Add("@Column", " * ");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere);
List<WmsCustomerToStock> depts = dbConn.Query<WmsCustomerToStock>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", depts);
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 判断零件号是否存在
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public List<SysPart> ifPartNo(String partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@partNo", partNo);
String delStr = "SELECT * FROM dbo.sys_part WHERE part_no=@partNo and enabled='Y' ";
List<SysPart> result = dbConn.Query<SysPart>(delStr, htparams).ToList();
return result;
}
}
/// <summary>
/// 判断零件号是否存在
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public List<WmsCustomerToStock> ifExemptionList(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
String delStr = "SELECT * FROM dbo.wms_customer_to_stock WHERE ruid=@ruid ";
List<WmsCustomerToStock> result = dbConn.Query<WmsCustomerToStock>(delStr, htparams).ToList();
return result;
}
}
public List<WmsCustomerToStock> ifExemptionList(String customerPart, String partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@customerPart", customerPart);
htparams.Add("@partNo", partNo);
String delStr = "SELECT * FROM dbo.wms_customer_to_stock WHERE customer_part=@customerPart and part_no=@partNo ";
List<WmsCustomerToStock> result = dbConn.Query<WmsCustomerToStock>(delStr, htparams).ToList();
return result;
}
}
/// <summary>
/// 获取下拉框支给件数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetSelect()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select part_type as [value],part_type as [key] from sys_part where len(part_type)>0 and enabled='Y' group by part_type ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 插入支给件数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int Insert(WmsCustomerToStock htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO wms_customer_to_stock (customer_part,part_id,part_no,part_spec,part_spec2,Enabled, create_userid, create_time,factory_id,factory_code) ");
SqlStringBuilder.Append(" VALUES(@customerPart,@partId,@partNo,@partSpec,@partSpec2,'Y', @createUserid, CONVERT(varchar(50), GETDATE(), 21),@factoryId,@factoryCode) ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 更新支给件数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int Update(WmsCustomerToStock htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update wms_customer_to_stock ");
SqlStringBuilder.Append("SET part_id=@partId ");
SqlStringBuilder.Append(" ,customer_part=@customerPart ");
SqlStringBuilder.Append(" ,part_no=@partNo ");
SqlStringBuilder.Append(" ,part_spec=@partSpec ");
SqlStringBuilder.Append(" ,part_spec2=@partSpec2 ");
SqlStringBuilder.Append(" ,factory_id=@factoryId ");
SqlStringBuilder.Append(" ,factory_code=@factoryCode ");
SqlStringBuilder.Append(" ,update_userid = @updateUserId ");
SqlStringBuilder.Append(" ,update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" WHERE ruid=@ruid ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 删除所有支给件数据,用于导入数据清空
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int DeleteAll()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "delete from wms_customer_to_stock ";
int result = dbConn.Execute(delStr);
return result;
}
}
//启用
public int EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update wms_customer_to_stock set Enabled='Y' WHERE ruid in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
//禁用
public int DisableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update wms_customer_to_stock set Enabled='N' WHERE ruid in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
public List<SupportingPartDefine> getExportList(String strwhere, String orderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "SELECT * FROM dbo.wms_customer_to_stock WHERE " + strwhere + orderBy;
List<SupportingPartDefine> result = dbConn.Query<SupportingPartDefine>(delStr).ToList();
return result;
}
}
//事务批量执行添加、修改
public bool InsertData(List<string> sqlStrings, List<DynamicParameters> parameterList)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
if (dbConn.State == ConnectionState.Closed)
{
dbConn.Open();
}
//执行事务
IDbTransaction transaction = dbConn.BeginTransaction();
if (parameterList == null || parameterList.Count == 0)
{
try
{
for (int i = 0; i < sqlStrings.Count; i++)
{
dbConn.Execute(sqlStrings[i], null, transaction);
}
transaction.Commit();
return true;
}
catch (Exception exception)
{
transaction.Rollback();
return false;
}
}
else
{
try
{
for (int i = 0; i < sqlStrings.Count; i++)
{
dbConn.Execute(sqlStrings[i], parameterList[i], transaction);
}
transaction.Commit();
return true;
}
catch (Exception exception)
{
transaction.Rollback();
return false;
}
}
}
}
#endregion 成员方法
}
}