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.

482 lines
20 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
{
/// <summary>
/// 处理菜单模块的业务数据
/// </summary>
public class PartMasterRepository : BaseRepository<SysPart>, IPartMasterRepository
{
public PartMasterRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 根据传入条件获得菜单列表数据
/// </summary>
public List<SysPart> getList(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(String part_type, 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", "sys_part a ");
parameters.Add("@Column", "a.*");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere + " and a.part_type like '%" + part_type + "%'");
List<SysPart> menus = dbConn.Query<SysPart>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", menus);
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int savePartMaster(SysPart htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_part ( part_spec ");
SqlStringBuilder.Append(" , part_no ");
SqlStringBuilder.Append(" , part_spec2 ");
SqlStringBuilder.Append(" ,part_type ");
SqlStringBuilder.Append(" ,unit ");
SqlStringBuilder.Append(" ,default_box_qty ");
SqlStringBuilder.Append(" ,min_stock_qty ");
SqlStringBuilder.Append(" ,max_stock_qty ");
SqlStringBuilder.Append(" ,factory_id ");
SqlStringBuilder.Append(" , factory_code ");
SqlStringBuilder.Append(" ,enabled ");
SqlStringBuilder.Append(" ,create_userid ");
SqlStringBuilder.Append(" ,create_time ");
SqlStringBuilder.Append(" ) ");
SqlStringBuilder.Append(" VALUES(@partSpec ");
SqlStringBuilder.Append(" ,@partNo ");
SqlStringBuilder.Append(" ,@partSpec2 ");
SqlStringBuilder.Append(" ,@partType ");
SqlStringBuilder.Append(" ,@unit ");
SqlStringBuilder.Append(" ,@defaultBoxQty ");
SqlStringBuilder.Append(" ,@minStockQty ");
SqlStringBuilder.Append(" ,@maxStockQty ");
SqlStringBuilder.Append(" ,@factoryId ");
SqlStringBuilder.Append(" ,@factoryCode ");
SqlStringBuilder.Append(" ,'Y' ");
SqlStringBuilder.Append(" ,@createUserid ");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" ) ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 更新零件数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updatePartMaster(SysPart htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_part ");
SqlStringBuilder.Append("SET part_spec=@partSpec ");
SqlStringBuilder.Append(" , part_no=@partNo ");
SqlStringBuilder.Append(" , part_type=@partType ");
SqlStringBuilder.Append(" , part_spec2=@partSpec2 ");
SqlStringBuilder.Append(" , unit=@unit ");
SqlStringBuilder.Append(" , enabled=@enabled ");
SqlStringBuilder.Append(" , default_box_qty=@defaultBoxQty ");
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 part_id=@partId ");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 删除菜单数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int deletePartMaster(String part_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@part_id", part_id);
String delStr = "update sys_part set Enabled='N' where part_id = @part_id";
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
public SysPart getPartByExistName(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' ";
SysPart result = dbConn.Query<SysPart>(delStr, htparams).FirstOrDefault();
return result;
}
}
public SysPart getPartByExistSpec(String partSpec)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@partSpec", partSpec);
String delStr = "SELECT * FROM dbo.sys_part WHERE part_spec=@partSpec and enabled='Y' ";
SysPart result = dbConn.Query<SysPart>(delStr, htparams).FirstOrDefault();
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>
/// <returns></returns>
public List<SysEnum> selectEnumValue(string enumDesc)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT TOP 1 * FROM dbo.sys_enum WHERE enabled='Y' and enum_desc='" + enumDesc + "' ");
List<SysEnum> result = dbConn.Query<SysEnum>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public List<SysRoute> selectRouteId(string routeName)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT TOP 1 * FROM dbo.sys_route WHERE enabled='Y' and route_name='" + routeName + "'");
List<SysRoute> result = dbConn.Query<SysRoute>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取下拉框菜单数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster()
{
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 enabled='Y' and part_type = '1' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取配置数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster_Model_name()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select model_id as [value],model_name as [key] from dbo.sys_model where enabled='Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取车型数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartLocation()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_value as [value], (enum_value+'-'+enum_desc) as [key] from dbo.sys_enum where enum_type='sys_part_location' and enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取单位数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster_Enum()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_value as [value],enum_value as [key] from dbo.sys_enum where enum_type='sys_part_uom' and enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取默认库位数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster_Locate()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select locate_id as [value],locate_name as [key] from dbo.sys_locate where enabled='Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取条码规则数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster_TMGZ()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select enum_id as [value],enum_value as [key] from dbo.sys_enum where enum_type='sys_create_sn_proc' and enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取工艺流程数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectPartMaster_Route()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select route_id as [value],route_name as [key] from dbo.sys_route where enabled='Y'");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
/// <param name="PageSize">一页显示多少条数据</param>
/// <param name="PageIndex">当前第几页</param>
/// <param name="strWhere">条件</param>
/// <param name="OrderBy">排序字段</param>
/// <returns></returns>
public List<PartMaster> getTableListByPage(String part_type, int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@Table", "sys_part a");
parameters.Add("@Column", "a.*");
parameters.Add("@OrderColumn", OrderBy);
parameters.Add("@GroupColumn", "");
parameters.Add("@PageSize", PageSize);
parameters.Add("@CurrentPage", PageIndex);
parameters.Add("@Group", 0);
parameters.Add("@Condition", strWhere + " and a.part_type='" + part_type + "'");
List<PartMaster> result = dbConn.Query<PartMaster>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
return result;
}
}
//事务批量执行添加、修改
public bool InsertData(List<string> sqlStrings, List<SysPart> 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;
}
}
}
}
//启用
public int EnablePartMaster(String part_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_part set Enabled='Y' WHERE part_id = @part_id";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@part_id", part_id);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
//禁用
public int DisablePartMaster(String part_id)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_part set Enabled='N' WHERE part_id = @part_id";
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@part_id", part_id);
int result = dbConn.Execute(delStr, htparams);
return result;
}
}
public List<PartMaster> getExportList(string strWhere, string orderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from sys_part a where " + strWhere + orderBy);
List<PartMaster> result = dbConn.Query<PartMaster>(strSql.ToString()).ToList();
return result;
}
}
#endregion 成员方法
}
}