using DapperORMCore.Context.DataContext;
using DapperORMCore.Model.CoreModel;
using DapperORMCore.Repository.IRepositorys;
using Microsoft.Extensions.Configuration;
using NXWMS.IService.NXWMS.WcsBase;
using NXWMS.Model.AppModels.Result.WcsBase;
using NXWMS.Model.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WestDistance.DapperORM.Repository.Repositorys;
namespace NXWMS.Service.NXWMS.WcsBase
{
///
/// WCS基础相关服务
///
[AutoInject(typeof(IWcsBaseService), InjectType.Scope)]
public class WcsBaseService : ServiceBase, IWcsBaseService
{
#region 全局变量、构造注入
///
/// 系统操作仓储中转
///
private IDataRepositoryContext _dataContext;
///
/// SQL节点仓储
///
private ISQLNodeRepository _iSQLNodeRepository;
///
/// 配置
///
private IConfiguration _configuration;
///
/// 构造注入
///
///
///
///
public WcsBaseService(IDataRepositoryContext dataRepositoryContext, IConfiguration configuration, ISQLNodeRepository iSQLNodeRepository)
{
this._dataContext = dataRepositoryContext;
this._configuration = configuration;
this._iSQLNodeRepository = iSQLNodeRepository;
}
#endregion
///
/// 查询设备类型基础数据
///
///
public OperateResultInfo> GetDevTypeData()
{
try
{
string sql = $@"
SELECT
A.*,
CASE A.USED_FLAG
WHEN 0 THEN
'禁用'
ELSE
'启用'
END USED_FLAG_NAME,
CASE A.DEL_FLAG
WHEN 0 THEN
'未删除'
ELSE
'已删除'
END DEL_FLAG_NAME,
B.USER_NAME CREATE_NAME,
C.USER_NAME UPDATE_NAME
FROM
WCS_BAS_DEV_TYPE A
LEFT JOIN SYS_USER B ON A.CREATE_BY = B.USER_ID
LEFT JOIN SYS_USER C ON A.UPDATE_BY = C.USER_ID
";
List resultList = new DataRepository(_dataContext).Query(sql).ToList();
OperateResultInfo> retDataMsg = SuccessStatus(resultList);
return retDataMsg;
}
catch (Exception ex)
{
return FailMessageStatus>($"查询WCS设备类型数据发生异常,【{ex.Message}】", null);
}
}
///
/// 查询PLC配置基础数据
///
///
public OperateResultInfo> GetWcsPlcData()
{
try
{
string sql = $@"
SELECT
A.*,
CASE A.USED_FLAG
WHEN 0 THEN
'禁用'
ELSE
'启用'
END USED_FLAG_NAME,
CASE A.DEL_FLAG
WHEN 0 THEN
'未删除'
ELSE
'已删除'
END DEL_FLAG_NAME,
B.USER_NAME CREATE_NAME,
C.USER_NAME UPDATE_NAME
FROM
WCS_BAS_PLC A
LEFT JOIN SYS_USER B ON A.CREATE_BY = B.USER_ID
LEFT JOIN SYS_USER C ON A.UPDATE_BY = C.USER_ID
";
List resultList = new DataRepository(_dataContext).Query(sql).ToList();
OperateResultInfo> retDataMsg = SuccessStatus(resultList);
return retDataMsg;
}
catch (Exception ex)
{
return FailMessageStatus>($"查询WCS基础PLC配置数据发生异常,【{ex.Message}】", null);
}
}
}
}