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.

358 lines
15 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
* 描述:库区零件管理,推荐逻辑表
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
public class ZonePartRepository : BaseRepository<SysZonePart>, IZonePartRepository
{
public ZonePartRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 获得菜单列表数据
/// </summary>
public List<SysZonePart> getList(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT ruid,zone_id,zone_name,vendor_id,vendor_code,part_id " +
" ,part_no,part_spec,priority,factory_id,factory_code,enabled,guid" +
" FROM dbo.sys_zone_part");
if (!string.IsNullOrEmpty(strWhere))
{
strSql.Append(" where " + strWhere);
}
List<SysZonePart> result = dbConn.Query<SysZonePart>(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", " sys_zone_part a left join sys_zone b on a.zone_id=b.zone_id left join sys_vendor c on c.vendor_id=a.vendor_id");
Params.Add("@Column", " a.ruid,a.zone_id,a.zone_name,b.zone_desc,a.vendor_id,a.vendor_code,c.vendor_name,a.part_id, a.part_no, a.part_spec, a.priority, a.factory_id, a.factory_code, a.enabled,a.guid");
Params.Add("@PageSize", PageSize);
Params.Add("@CurrentPage", PageIndex);
Params.Add("@Condition", strWhere);
Params.Add("@OrderColumn", OrderBy);
Params.Add("@Group", 0);
List<SysZonePart> dataList = dbConn.Query<SysZonePart>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", dataList);
result.Add("totalCount", Params.Get<int>("@TotalCount"));
return result;
}
}
public List<KeyValueResult> getSelectZone(string warehouseId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select zone_id as [value],zone_name as [key] from sys_zone where Enabled = 'Y' and warehouse_Id='" + warehouseId + "'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
public List<SysZone> getSelectZoneInfo(string zone_name)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_zone where zone_name='" + zone_name + "' and Enabled = 'Y'");
List<SysZone> result = dbConn.Query<SysZone>(strSql.ToString()).ToList();
return result;
}
}
public List<SysZone> GetZoneInfo(string zoneName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT zone_id,zone_name,zone_desc FROM sys_zone (NOLOCK) WHERE enabled='Y' AND zone_name LIKE '" + zoneName + "%' ORDER BY zone_name";
List<SysZone> result = dbConn.Query<SysZone>(sql).ToList();
return result;
}
}
public List<SysZonePart> getSelectZonePartInfo(string zone_name, string partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_zone_part where zone_name='" + zone_name + "' and part_no='"+partNo+"' and Enabled = 'Y'");
List<SysZonePart> result = dbConn.Query<SysZonePart>(strSql.ToString()).ToList();
return result;
}
}
public List<SysVendor> getSelectVendorInfo(string vendorCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_vendor where vendor_code='" + vendorCode + "' and Enabled = 'Y'");
List<SysVendor> result = dbConn.Query<SysVendor>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveZonePart(SysZonePart ht)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.sys_zone_part ");
SqlStringBuilder.Append(" (zone_id,zone_name,vendor_id,vendor_code,part_id ");
SqlStringBuilder.Append(" ,part_no,part_spec,priority,factory_id,factory_code ");
SqlStringBuilder.Append(" ,enabled,create_userid,create_time,guid) ");
SqlStringBuilder.Append(" VALUES(@zoneId,@zoneName,@vendorId,@vendorCode,@partId,@partNo ");
SqlStringBuilder.Append(" ,@partSpec,@priority,@factoryId,@factoryCode,@enabled ");
SqlStringBuilder.Append(" ,@createUserid,@createTime,@guid) ");
return dbConn.Execute(SqlStringBuilder.ToString(), ht);
}
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateZonePart(SysZonePart ht)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE dbo.sys_zone_part ");
SqlStringBuilder.Append(" SET zone_id = @zoneId,zone_name = @zoneName,vendor_id = @vendorId ");
SqlStringBuilder.Append(" ,vendor_code = @vendorCode,part_id = @partId,part_no = @partNo ");
SqlStringBuilder.Append(" ,part_spec = @partSpec,priority = @priority,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 deleteZonePart(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_zone_part 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<SysLocate> GetLocateInfo(string locateName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT locate_id,locate_name,locate_desc FROM sys_locate (NOLOCK) WHERE enabled='Y' AND locate_name LIKE '" + locateName + "%' ORDER BY locate_name";
List<SysLocate> result = dbConn.Query<SysLocate>(sql).ToList();
return result;
}
}
public List<SysVendor> GetVendorInfo(string vendorCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT vendor_id,vendor_code,vendor_name FROM sys_vendor (NOLOCK) WHERE enabled='Y' AND vendor_code LIKE '%" + vendorCode + "%' ORDER BY vendor_code";
List<SysVendor> result = dbConn.Query<SysVendor>(sql).ToList();
return result;
}
}
public SysVendor GetVendorInfoByvendorCode(string vendorCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT vendor_id,vendor_code,vendor_name FROM sys_vendor (NOLOCK) WHERE enabled='Y' AND vendor_code = '" + vendorCode + "'";
SysVendor result = dbConn.Query<SysVendor>(sql).FirstOrDefault();
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 EnableLocatePart(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_zone_part set Enabled='Y' WHERE ruid = @ruid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
//禁用
public int DisableLocatePart(String ruid)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_zone_part set Enabled='N' WHERE ruid = @ruid";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@ruid", ruid);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
public ZonePart ifExistsZonePart(string zoneName, string vendorCode, string partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT * FROM sys_zone_part (NOLOCK) WHERE zone_name = '" + zoneName + "' and vendor_code = '" + vendorCode + "' and part_no = '" + partNo + "'";
ZonePart result = dbConn.Query<ZonePart>(sql).FirstOrDefault();
return result;
}
}
public List<ZonePart> getExportList(string strwhere, string orderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sql = "SELECT * FROM sys_zone_part (NOLOCK) WHERE " + strwhere + orderBy;
List<ZonePart> result = dbConn.Query<ZonePart>(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 成员方法
}
}