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.

174 lines
7.8 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.Base;
using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
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 SingleWarePrintDefineRepository : BaseRepository<BaseEntity>, ISingleWarePrintDefineRepository
{
public SingleWarePrintDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法SS
/// <summary>
/// 获得菜单列表数据
/// </summary>
public List<GDps> getList(string strWhere, string filedOrder)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT a.*,c.part_no as sys_part_no ,c.part_spec from dbo.g_dps a left join sys_part c on a.part_id=c.part_id ");
if (!strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
try
{
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
}
catch { }
List<GDps> result = dbConn.Query<GDps>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取分页数据列表
/// </summary>
public List<SapMisco> GetOrderDetail(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters Params = new DynamicParameters();
Params.Add("@TotalCount", 100);
Params.Add("@TotalPage", 100);
Params.Add("@Table", " SAP_MISCO AS A INNER JOIN dbo.sys_part AS B ON a.MATNR = b.part_no LEFT JOIN dbo.sys_factory c ON a.WERKS = c.factory_code LEFT JOIN dbo.sys_enum e ON e.enum_value = a.ZACTION AND e.enum_type = 'sys_misco_type' ");
Params.Add("@Column", " CEILING(( A.ERFMG / ISNULL(NULLIF(B.default_box_qty, 0), A.ERFMG) )) AS CTCNT, c.factory_name AS NAMES, *, e.enum_desc ");
Params.Add("@PageSize", PageSize);
Params.Add("@CurrentPage", PageIndex);
Params.Add("@OrderColumn", " MATNR ");
Params.Add("@Condition", strWhere);
Params.Add("@GroupColumn", " ");
Params.Add("@Group", 0);
List<SapMisco> result = dbConn.Query<SapMisco>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
return result;
}
}
/// <summary>
/// 获取分页记录总数
/// </summary>
public int GetOrderCount(string strWhere)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("SELECT CEILING(( A.ERFMG / ISNULL(NULLIF(B.default_box_qty, 0), A.ERFMG) )) ");
SqlStringBuilder.Append(" AS CTCNT, c.factory_name AS NAMES, *, e.enum_desc ");
SqlStringBuilder.Append("FROM SAP_MISCO AS A ");
SqlStringBuilder.Append(" INNER JOIN dbo.sys_part AS B ON a.MATNR = b.part_no ");
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_factory c ON a.WERKS = c.factory_code ");
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_enum e ON e.enum_value = a.ZACTION ");
SqlStringBuilder.Append(" AND e.enum_type = 'sys_misco_type' ");
SqlStringBuilder.Append("WHERE a.ZINSTNO = '" + strWhere + "' ");
SqlStringBuilder.Append(" AND a.ACTFLG = 'N' ");
SqlStringBuilder.Append("ORDER BY MATNR ");
int i = 0;
List<SapMisco> result = dbConn.Query<SapMisco>(SqlStringBuilder.ToString()).ToList();
if (result.Count > 0)
{
i = result.Count;
}
return i;
}
}
/// <summary>
/// 插入菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveDPS(GDps htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("insert into dbo.g_dps(mt_group,enabled,mt_area,control_id,addr_id,part_id,part_no,part_name,is_finish, create_userid,create_time,is_light,is_running )");
SqlStringBuilder.Append("values(@mtGroup,'Y',@mtArea,@controlId,@addrId,@partId,@partNo,@partName,@isFinish, @createUserid ,CONVERT(varchar(50), GETDATE(), 21),@isLight,@isRunning )");
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
#endregion 成员方法
public String isExsitPart_no(String part_no)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string part_id = null;
string SqlString = "select top 1 part_id from sys_part where enabled='Y' and part_no=@partNo";
DynamicParameters Params = new DynamicParameters();
Params.Add("@partNo", part_no);
List<SysPart> dt = dbConn.Query<SysPart>(SqlString, Params).ToList();
if (dt.Count < 1)
{
return part_id;
}
else
{
part_id = dt[0].PartId.ToString();
return part_id;
}
}
}
/// <summary>
/// 获取枚举值
/// </summary>
/// <param name="enumtype">枚举类型</param>
/// <returns></returns>
public List<KeyValueResult> GetTaskList()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
//string Sqlstring = "SELECT ZINSTNO as [value] , '单号:'+ZINSTNO+',零件号:'+WERKS+',目标库存地:'+LGORT+',类型:'+case when ZACTION='C03' then 'NC拆解退料' when ZACTION='C01' then '零星入库' end as [value] FROM SAP_MISCO WHERE ACTFLG='N' and ZACTION in ('C01','C03') AND ZZLZT NOT IN (4 , 5) GROUP BY ZINSTNO,WERKS,LGORT,ZACTION ";
string Sqlstring = "SELECT ZINSTNO as [value] , '单号:'+ZINSTNO+',零件号:'+WERKS+',目标库存地:'+LGORT+',类型:'+case when ZACTION='C03' then 'NC拆解退料' when ZACTION='C01' then '零星入库' end as [key] FROM SAP_MISCO WHERE ACTFLG='N' and ZACTION in ('C01','C03') AND ZZLZT NOT IN (4 , 5) GROUP BY ZINSTNO,WERKS,LGORT,ZACTION ";
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(Sqlstring).ToList();
return result;
}
}
}
}