123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- using DapperORMCore.Context.DataContext;
- using DapperORMCore.Context.Extend;
- using DapperORMCore.Model.BaseModel;
- using DapperORMCore.Model.CoreModel;
- using DapperORMCore.Repository.IRepositorys;
- using DapperORMCore.String.Consts;
- using DapperORMCore.String.Enums;
- using Microsoft.Extensions.Configuration;
- using NXWMS.Code;
- using NXWMS.DataAccess.Entity;
- using NXWMS.IService.NXWMS;
- using NXWMS.Model.AppModels.Condition;
- using NXWMS.Model.AppModels.Result;
- using NXWMS.Model.AppModels.Result.SysSettings;
- using NXWMS.Model.Common;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WestDistance.DapperORM.Repository.Repositorys;
- namespace NXWMS.Service.NXWMS
- {
- /// <summary>
- /// 主键接口
- /// </summary>
- [AutoInject(typeof(ISequenceService), InjectType.Scope)]
- public class SequenceService : ServiceBase, ISequenceService
- {
- /// <summary>
- /// 系统操作仓储中转
- /// </summary>
- private IDataRepositoryContext _dataContext;
- /// <summary>
- /// 配置
- /// </summary>
- private IConfiguration _configuration;
- /// <summary>
- /// SQL节点仓储
- /// </summary>
- private ISQLNodeRepository _iSQLNodeRepository;
- public SequenceService(IDataRepositoryContext dataRepositoryContext, IConfiguration configuration, ISQLNodeRepository iSQLNodeRepository)
- {
- this._dataContext = dataRepositoryContext;
- this._configuration = configuration;
- this._iSQLNodeRepository = iSQLNodeRepository;
- }
- /// <summary>
- /// 获取单一主键当前配置
- /// </summary>
- /// <param name="info"></param>
- /// <returns></returns>
- public OperateResultInfo<SequenceResult> Get(SequenceCondition info)
- {
- var whereList = GetFieldKeyList(info);
- var result = new DataRepository<SequenceResult>(_dataContext).Query("SYS_SEQUENCE", whereList).FirstOrDefault();
- if (result != null)
- {
- return SuccessStatus(result);
- }
- return FailStatus<SequenceResult>();
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="info"></param>
- /// <returns></returns>
- public OperateResultInfo<string> GetNext(SequenceCondition info)
- {
- return null;
- }
- /// <summary>
- /// 获取主键配置列表
- /// </summary>
- /// <param name="info"></param>
- /// <returns></returns>
- public OperateResultInfo<List<SequenceResult>> GetList(SequenceSearchCondition info)
- {
- var sqlAndBuilder = new StringBuilder();
- var sqlOrBuilder = new StringBuilder();
- var sql = @"SELECT
- CreateName = (SELECT USER_NAME FROM SYS_USER A WHERE A.USER_ID=CREATE_BY),
- UpdateName = (SELECT USER_NAME FROM SYS_USER B WHERE B.USER_ID=UPDATE_BY),
- * FROM SYS_SEQUENCE WHERE 1=1 AND DEL_FLAG = 0 ";
- if (info.IsUsed != null)
- {
- sqlAndBuilder.Append(_iSQLNodeRepository.GetAddCondition("USED_FLAG", info.IsUsed, DBOperationString._Equal));
- }
- if (info.SQId != null)
- {
- if (info.SQId > 0)
- {
- sqlAndBuilder.Append(_iSQLNodeRepository.GetAddCondition("SQ_ID", info.SQId, DBOperationString._Equal));
- }
- }
- if (!string.IsNullOrWhiteSpace(info.SQCode))
- {
- sqlAndBuilder.Append(_iSQLNodeRepository.GetAddCondition("SQ_CODE", info.SQCode, DBOperationString._ContainIn));
- }
- if (info.SQType != null)
- {
- sqlAndBuilder.Append(_iSQLNodeRepository.GetAddCondition("SQ_TYPE", info.SQType, DBOperationString._Equal));
- }
- if (!string.IsNullOrWhiteSpace(info.SQIds))
- {
- sqlAndBuilder.Append(_iSQLNodeRepository.GetAddCondition("SQ_ID", info.SQIds, DBOperationString._In));
- }
- var result = new DataRepository<SequenceResult>(_dataContext).Query(sql);
- return SuccessStatus(result.ToList());
- }
- #region Private
- /// <summary>
- /// 条件统一下,用统一筛选
- /// </summary>
- /// <param name="userCondition"></param>
- /// <returns></returns>
- private List<FieldKeyInfo> GetFieldKeyList(SequenceCondition info)
- {
- var whereList = new List<FieldKeyInfo>();
- whereList = info.NewId != null ? whereList.AddFieldKeyInfo(nameof(SYS_SEQUENCE.NEWID), info.NewId, EnumCSharpPropertyType.STRING, DBOperationString._Equal) : whereList;
- whereList = !string.IsNullOrWhiteSpace(info.SQCode) ? whereList.AddFieldKeyInfo(nameof(SYS_SEQUENCE.SQ_CODE), info.SQCode, EnumCSharpPropertyType.STRING, DBOperationString._In) : whereList;
- whereList = info.SQId != null ? whereList.AddFieldKeyInfo(nameof(SYS_SEQUENCE.SQ_ID), info.SQId, EnumCSharpPropertyType.STRING, DBOperationString._Equal) : whereList;
- return whereList;
- }
- #endregion
- }
- }
|