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.

261 lines
10 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.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
* 描述委外BOM
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
public class OutsourceBomRepository : BaseRepository<WmsOutsourceBom>, IOutsourceBomRepository
{
public OutsourceBomRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 获得菜单列表数据
/// </summary>
public List<WmsOutsourceBom> getList(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM dbo.wms_outsource_bom ");
if (!string.IsNullOrEmpty(strWhere))
{
strSql.Append(" where " + strWhere);
}
List<WmsOutsourceBom> result = dbConn.Query<WmsOutsourceBom>(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 Params = new DynamicParameters();
Params.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
Params.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
Params.Add("@GroupColumn", "");
Params.Add("@Table", " wms_outsource_bom a left join sys_part b on a.part_no=b.part_no left join sys_part c on a.part_no=c.part_no ");
Params.Add("@Column", " a.*,b.part_spec,c.part_spec as item_part_spec ");
Params.Add("@PageSize", PageSize);
Params.Add("@CurrentPage", PageIndex);
Params.Add("@Condition", strWhere);
Params.Add("@OrderColumn", OrderBy);
Params.Add("@Group", 0);
List<WmsOutsourceBom> dataList = dbConn.Query<WmsOutsourceBom>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", Params.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveOutsourceBom(WmsOutsourceBom ht)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.wms_outsource_bom ");
SqlStringBuilder.Append(" (part_no,item_part_no,factory_id,factory_code ");
SqlStringBuilder.Append(" ,enabled,create_userid,create_time,guid) ");
SqlStringBuilder.Append(" VALUES(@partNo,@itemPartNo,@factoryId,@factoryCode,@enabled ");
SqlStringBuilder.Append(" ,@createUserid,@createTime,@guid) ");
return dbConn.Execute(SqlStringBuilder.ToString(), ht);
}
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateOutsourceBom(WmsOutsourceBom ht)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE dbo.wms_outsource_bom ");
SqlStringBuilder.Append(" SET part_no = @partNo,item_part_no = @itemPartNo ");
SqlStringBuilder.Append(" ,factory_id = @factoryId ");
SqlStringBuilder.Append(" ,factory_code = @factoryCode,enabled = @enabled,update_userid = @updateUserid ");
SqlStringBuilder.Append(" ,update_time = @updateTime ");
SqlStringBuilder.Append(" WHERE ruid = @ruid ");
return dbConn.Execute(SqlStringBuilder.ToString(), ht);
}
}
/// <summary>
/// 删除菜单数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int deleteOutsourceBom(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update wms_outsource_bom set Enabled='N' where ruid = @ruid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
return dbConn.Execute(delStr, htparams);
}
}
/// <summary>
/// 获得零件信息
/// </summary>
/// <param name="type">零件类型</param>
/// <returns></returns>
public List<SysPart> GetPartInfo(string part_no)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT part_id,part_no,part_spec,default_box_qty FROM sys_part (NOLOCK) WHERE enabled='Y' AND part_no LIKE '" + part_no + "%' ORDER BY part_no";
List<SysPart> result = dbConn.Query<SysPart>(sql).ToList();
return result;
}
}
public List<KeyValueResult> GetpartInfo()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select part_id as [value],part_no as [key] from sys_part where part_type = 0 and enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
//启用
public int EnableOutsourceBom(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update wms_outsource_bom set Enabled='Y' WHERE ruid = @ruid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
//禁用
public int DisableOutsourceBom(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update wms_outsource_bom set Enabled='N' WHERE ruid = @ruid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
public WmsOutsourceBom ifExistsOutsourceBom(string zoneName, string vendorCode, string partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT * FROM wms_outsource_bom (NOLOCK) WHERE zone_name = '" + zoneName + "' and vendor_code = '" + vendorCode + "' and part_no = '" + partNo + "'";
WmsOutsourceBom result = dbConn.Query<WmsOutsourceBom>(sql).FirstOrDefault();
return result;
}
}
public List<WmsOutsourceBom> getExportList(string strwhere, string orderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT * FROM wms_outsource_bom (NOLOCK) WHERE " + strwhere + orderBy;
List<WmsOutsourceBom> result = dbConn.Query<WmsOutsourceBom>(sql).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 成员方法
}
}