|
|
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 成员方法
|
|
|
}
|
|
|
}
|