This commit is contained in:
2026-02-06 18:34:35 +08:00
commit f7f4c94c00
3285 changed files with 563208 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolRepository : IDependency,IRepository<Tools_Tool>
{
}
}

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolTypeRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolTypeRepository : IDependency,IRepository<Tools_ToolType>
{
}
}

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolsReceiveListRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolsReceiveListRepository : IDependency,IRepository<Tools_ToolsReceiveList>
{
}
}

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolsReceiveRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolsReceiveRepository : IDependency,IRepository<Tools_ToolsReceive>
{
}
}

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolsReturnListRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolsReturnListRepository : IDependency,IRepository<Tools_ToolsReturnList>
{
}
}

View File

@@ -0,0 +1,18 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹ITools_ToolsReturnRepository编写接口
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Extensions.AutofacManager;
namespace iMES.Tools.IRepositories
{
public partial interface ITools_ToolsReturnRepository : IDependency,IRepository<Tools_ToolsReturn>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolService : IService<Tools_Tool>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolTypeService : IService<Tools_ToolType>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReceiveListService : IService<Tools_ToolsReceiveList>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReceiveService : IService<Tools_ToolsReceive>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReturnListService : IService<Tools_ToolsReturnList>
{
}
}

View File

@@ -0,0 +1,12 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReturnService : IService<Tools_ToolsReturn>
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_Tool类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolService
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_ToolType类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolTypeService
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_ToolsReceiveList类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReceiveListService
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_ToolsReceive类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReceiveService
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_ToolsReturnList类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReturnListService
{
}
}

View File

@@ -0,0 +1,13 @@
/*
*所有关于Tools_ToolsReturn类的业务代码接口应在此处编写
*/
using iMES.Core.BaseProvider;
using iMES.Entity.DomainModels;
using iMES.Core.Utilities;
using System.Linq.Expressions;
namespace iMES.Tools.IServices
{
public partial interface ITools_ToolsReturnService
{
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolRepository : RepositoryBase<Tools_Tool> , ITools_ToolRepository
{
public Tools_ToolRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolRepository>(); } }
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolTypeRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolTypeRepository : RepositoryBase<Tools_ToolType> , ITools_ToolTypeRepository
{
public Tools_ToolTypeRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolTypeRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolTypeRepository>(); } }
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolsReceiveListRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolsReceiveListRepository : RepositoryBase<Tools_ToolsReceiveList> , ITools_ToolsReceiveListRepository
{
public Tools_ToolsReceiveListRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolsReceiveListRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReceiveListRepository>(); } }
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolsReceiveRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolsReceiveRepository : RepositoryBase<Tools_ToolsReceive> , ITools_ToolsReceiveRepository
{
public Tools_ToolsReceiveRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolsReceiveRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReceiveRepository>(); } }
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolsReturnListRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolsReturnListRepository : RepositoryBase<Tools_ToolsReturnList> , ITools_ToolsReturnListRepository
{
public Tools_ToolsReturnListRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolsReturnListRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReturnListRepository>(); } }
}
}

View File

@@ -0,0 +1,24 @@
/*
*代码由框架生成,任何更改都可能导致被代码生成器覆盖
*Repository提供数据库操作如果要增加数据库操作请在当前目录下Partial文件夹Tools_ToolsReturnRepository编写代码
*/
using iMES.Tools.IRepositories;
using iMES.Core.BaseProvider;
using iMES.Core.EFDbContext;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Repositories
{
public partial class Tools_ToolsReturnRepository : RepositoryBase<Tools_ToolsReturn> , ITools_ToolsReturnRepository
{
public Tools_ToolsReturnRepository(SysDbContext dbContext)
: base(dbContext)
{
}
public static ITools_ToolsReturnRepository Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReturnRepository>(); } }
}
}

View File

@@ -0,0 +1,101 @@
/*
*所有关于Tools_Tool类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
using System;
using iMES.Custom.IRepositories;
namespace iMES.Tools.Services
{
public partial class Tools_ToolService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolRepository _repository;//访问数据库
private readonly IBase_NumberRuleRepository _numberRuleRepository;//自定义编码规则访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolService(
ITools_ToolRepository dbRepository,
IHttpContextAccessor httpContextAccessor,
IBase_NumberRuleRepository numberRuleRepository
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
_numberRuleRepository = numberRuleRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
WebResponseContent webResponse = new WebResponseContent();
/// <summary>
/// 新建
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override WebResponseContent Add(SaveModel saveDataModel)
{
//此处saveModel是从前台提交的原生数据可对数据进修改过滤
AddOnExecuting = (Tools_Tool tool, object list) =>
{
if (string.IsNullOrWhiteSpace(tool.ToolCode))
tool.ToolCode = GetToolCode();
//如果返回false,后面代码不会再执行
if (repository.Exists(x => x.ToolCode == tool.ToolCode))
{
return webResponse.Error("工装编码已存在");
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
/// <summary>
/// 自动生成设备编号
/// </summary>
/// <returns></returns>
public string GetToolCode()
{
DateTime dateNow = (DateTime)DateTime.Now.ToString("yyyy-MM-dd").GetDateTime();
//查询当天最新的订单号
string defectItemCode = repository.FindAsIQueryable(x => x.CreateDate > dateNow && x.ToolCode.Length>8)
.OrderByDescending(x => x.ToolCode)
.Select(s => s.ToolCode)
.FirstOrDefault();
Base_NumberRule numberRule = _numberRuleRepository.FindAsIQueryable(x => x.FormCode == "Tool")
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
if (numberRule != null)
{
string rule = numberRule.Prefix + DateTime.Now.ToString(numberRule.SubmitTime.Replace("hh", "HH"));
if (string.IsNullOrEmpty(defectItemCode))
{
rule += "1".PadLeft(numberRule.SerialNumber, '0');
}
else
{
rule += (defectItemCode.Substring(defectItemCode.Length - numberRule.SerialNumber).GetInt() + 1).ToString("0".PadLeft(numberRule.SerialNumber, '0'));
}
return rule;
}
else //如果自定义序号配置项不存在,则使用日期生成
{
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
}
}
}
}

View File

@@ -0,0 +1,101 @@
/*
*所有关于Tools_ToolType类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolTypeService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
using iMES.Custom.IRepositories;
using System;
namespace iMES.Tools.Services
{
public partial class Tools_ToolTypeService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolTypeRepository _repository;//访问数据库
private readonly IBase_NumberRuleRepository _numberRuleRepository;//自定义编码规则访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolTypeService(
ITools_ToolTypeRepository dbRepository,
IHttpContextAccessor httpContextAccessor,
IBase_NumberRuleRepository numberRuleRepository
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
_numberRuleRepository = numberRuleRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
WebResponseContent webResponse = new WebResponseContent();
/// <summary>
/// 新建
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override WebResponseContent Add(SaveModel saveDataModel)
{
//此处saveModel是从前台提交的原生数据可对数据进修改过滤
AddOnExecuting = (Tools_ToolType tool, object list) =>
{
if (string.IsNullOrWhiteSpace(tool.ToolTypeCode))
tool.ToolTypeCode = GetToolTypeCode();
//如果返回false,后面代码不会再执行
if (repository.Exists(x => x.ToolTypeCode == tool.ToolTypeCode))
{
return webResponse.Error("工装类型编码已存在");
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
/// <summary>
/// 自动生成设备编号
/// </summary>
/// <returns></returns>
public string GetToolTypeCode()
{
DateTime dateNow = (DateTime)DateTime.Now.ToString("yyyy-MM-dd").GetDateTime();
//查询当天最新的订单号
string defectItemCode = repository.FindAsIQueryable(x => x.CreateDate > dateNow && x.ToolTypeCode.Length>8)
.OrderByDescending(x => x.ToolTypeCode)
.Select(s => s.ToolTypeCode)
.FirstOrDefault();
Base_NumberRule numberRule = _numberRuleRepository.FindAsIQueryable(x => x.FormCode == "ToolType")
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
if (numberRule != null)
{
string rule = numberRule.Prefix + DateTime.Now.ToString(numberRule.SubmitTime.Replace("hh", "HH"));
if (string.IsNullOrEmpty(defectItemCode))
{
rule += "1".PadLeft(numberRule.SerialNumber, '0');
}
else
{
rule += (defectItemCode.Substring(defectItemCode.Length - numberRule.SerialNumber).GetInt() + 1).ToString("0".PadLeft(numberRule.SerialNumber, '0'));
}
return rule;
}
else //如果自定义序号配置项不存在,则使用日期生成
{
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
}
}
}
}

View File

@@ -0,0 +1,41 @@
/*
*所有关于Tools_ToolsReceiveList类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolsReceiveListService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReceiveListService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolsReceiveListRepository _repository;//访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolsReceiveListService(
ITools_ToolsReceiveListRepository dbRepository,
IHttpContextAccessor httpContextAccessor
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
}
}

View File

@@ -0,0 +1,119 @@
/*
*所有关于Tools_ToolsReceive类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolsReceiveService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
using iMES.Custom.IRepositories;
using System;
using System.Collections.Generic;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReceiveService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolsReceiveRepository _repository;//访问数据库
private readonly IBase_NumberRuleRepository _numberRuleRepository;//自定义编码规则访问数据库
private readonly ITools_ToolRepository _toolRepository;//自定义编码规则访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolsReceiveService(
ITools_ToolsReceiveRepository dbRepository,
IHttpContextAccessor httpContextAccessor,
IBase_NumberRuleRepository numberRuleRepository,
ITools_ToolRepository toolRepository
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
_numberRuleRepository = numberRuleRepository;
_toolRepository = toolRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
WebResponseContent webResponse = new WebResponseContent();
/// <summary>
/// 新建
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override WebResponseContent Add(SaveModel saveDataModel)
{
//此处saveModel是从前台提交的原生数据可对数据进修改过滤
AddOnExecuting = (Tools_ToolsReceive receive, object list) =>
{
if (string.IsNullOrWhiteSpace(receive.ToolsReceiveCode))
receive.ToolsReceiveCode = GetToolsReceiveCode();
//如果返回false,后面代码不会再执行
if (repository.Exists(x => x.ToolsReceiveCode == receive.ToolsReceiveCode))
{
return webResponse.Error("工具领用编码已存在");
}
List<Tools_ToolsReceiveList> toolList = list as List<Tools_ToolsReceiveList>;
List<Tools_ToolsReceiveList> checkList = toolList.Where(x => x.Qty == 0).ToList();
if (checkList.Count>0)
{
return webResponse.Error("数量不能为空或者0");
}
for (int i = 0; i < toolList.Count; i++)
{
var tool = _toolRepository.FindAsIQueryable(x => x.ToolId == toolList[i].ToolId)
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
tool.QuantityAvail = tool.QuantityAvail - toolList[i].Qty;
_toolRepository.Update(tool,true);
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
/// <summary>
/// 自动生成设备编号
/// </summary>
/// <returns></returns>
public string GetToolsReceiveCode()
{
DateTime dateNow = (DateTime)DateTime.Now.ToString("yyyy-MM-dd").GetDateTime();
//查询当天最新的订单号
string defectItemCode = repository.FindAsIQueryable(x => x.CreateDate > dateNow && x.ToolsReceiveCode.Length>8)
.OrderByDescending(x => x.ToolsReceiveCode)
.Select(s => s.ToolsReceiveCode)
.FirstOrDefault();
Base_NumberRule numberRule = _numberRuleRepository.FindAsIQueryable(x => x.FormCode == "ToolsReceive")
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
if (numberRule != null)
{
string rule = numberRule.Prefix + DateTime.Now.ToString(numberRule.SubmitTime.Replace("hh", "HH"));
if (string.IsNullOrEmpty(defectItemCode))
{
rule += "1".PadLeft(numberRule.SerialNumber, '0');
}
else
{
rule += (defectItemCode.Substring(defectItemCode.Length - numberRule.SerialNumber).GetInt() + 1).ToString("0".PadLeft(numberRule.SerialNumber, '0'));
}
return rule;
}
else //如果自定义序号配置项不存在,则使用日期生成
{
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
}
}
}
}

View File

@@ -0,0 +1,41 @@
/*
*所有关于Tools_ToolsReturnList类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolsReturnListService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReturnListService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolsReturnListRepository _repository;//访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolsReturnListService(
ITools_ToolsReturnListRepository dbRepository,
IHttpContextAccessor httpContextAccessor
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
}
}

View File

@@ -0,0 +1,119 @@
/*
*所有关于Tools_ToolsReturn类的业务代码应在此处编写
*可使用repository.调用常用方法获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*Tools_ToolsReturnService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
using System.Linq;
using iMES.Core.Utilities;
using System.Linq.Expressions;
using iMES.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using iMES.Tools.IRepositories;
using iMES.Custom.IRepositories;
using System.Collections.Generic;
using System;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReturnService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ITools_ToolsReturnRepository _repository;//访问数据库
private readonly IBase_NumberRuleRepository _numberRuleRepository;//自定义编码规则访问数据库
private readonly ITools_ToolRepository _toolRepository;//自定义编码规则访问数据库
[ActivatorUtilitiesConstructor]
public Tools_ToolsReturnService(
ITools_ToolsReturnRepository dbRepository,
IHttpContextAccessor httpContextAccessor,
IBase_NumberRuleRepository numberRuleRepository,
ITools_ToolRepository toolRepository
)
: base(dbRepository)
{
_httpContextAccessor = httpContextAccessor;
_repository = dbRepository;
_numberRuleRepository = numberRuleRepository;
_toolRepository = toolRepository;
//多租户会用到这init代码其他情况可以不用
//base.Init(dbRepository);
}
WebResponseContent webResponse = new WebResponseContent();
/// <summary>
/// 新建
/// </summary>
/// <param name="saveDataModel"></param>
/// <returns></returns>
public override WebResponseContent Add(SaveModel saveDataModel)
{
//此处saveModel是从前台提交的原生数据可对数据进修改过滤
AddOnExecuting = (Tools_ToolsReturn re, object list) =>
{
if (string.IsNullOrWhiteSpace(re.ToolsReturnCode))
re.ToolsReturnCode = GetToolsReturnCode();
//如果返回false,后面代码不会再执行
if (repository.Exists(x => x.ToolsReturnCode == re.ToolsReturnCode))
{
return webResponse.Error("工具归还编码已存在");
}
List<Tools_ToolsReturnList> toolList = list as List<Tools_ToolsReturnList>;
List<Tools_ToolsReturnList> checkList = toolList.Where(x => x.Qty == 0).ToList();
if (checkList.Count > 0)
{
return webResponse.Error("数量不能为空或者0");
}
for (int i = 0; i < toolList.Count; i++)
{
var tool = _toolRepository.FindAsIQueryable(x => x.ToolId == toolList[i].ToolId)
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
tool.QuantityAvail = tool.QuantityAvail + toolList[i].Qty;
_toolRepository.Update(tool, true);
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
/// <summary>
/// 自动生成设备编号
/// </summary>
/// <returns></returns>
public string GetToolsReturnCode()
{
DateTime dateNow = (DateTime)DateTime.Now.ToString("yyyy-MM-dd").GetDateTime();
//查询当天最新的订单号
string defectItemCode = repository.FindAsIQueryable(x => x.CreateDate > dateNow && x.ToolsReturnCode.Length>8)
.OrderByDescending(x => x.ToolsReturnCode)
.Select(s => s.ToolsReturnCode)
.FirstOrDefault();
Base_NumberRule numberRule = _numberRuleRepository.FindAsIQueryable(x => x.FormCode == "ToolsReturn")
.OrderByDescending(x => x.CreateDate)
.FirstOrDefault();
if (numberRule != null)
{
string rule = numberRule.Prefix + DateTime.Now.ToString(numberRule.SubmitTime.Replace("hh", "HH"));
if (string.IsNullOrEmpty(defectItemCode))
{
rule += "1".PadLeft(numberRule.SerialNumber, '0');
}
else
{
rule += (defectItemCode.Substring(defectItemCode.Length - numberRule.SerialNumber).GetInt() + 1).ToString("0".PadLeft(numberRule.SerialNumber, '0'));
}
return rule;
}
else //如果自定义序号配置项不存在,则使用日期生成
{
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
}
}
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolService与ITools_ToolService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolService : ServiceBase<Tools_Tool, ITools_ToolRepository>
, ITools_ToolService, IDependency
{
public Tools_ToolService(ITools_ToolRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolService>(); } }
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolTypeService与ITools_ToolTypeService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolTypeService : ServiceBase<Tools_ToolType, ITools_ToolTypeRepository>
, ITools_ToolTypeService, IDependency
{
public Tools_ToolTypeService(ITools_ToolTypeRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolTypeService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolTypeService>(); } }
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolsReceiveListService与ITools_ToolsReceiveListService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReceiveListService : ServiceBase<Tools_ToolsReceiveList, ITools_ToolsReceiveListRepository>
, ITools_ToolsReceiveListService, IDependency
{
public Tools_ToolsReceiveListService(ITools_ToolsReceiveListRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolsReceiveListService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReceiveListService>(); } }
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolsReceiveService与ITools_ToolsReceiveService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReceiveService : ServiceBase<Tools_ToolsReceive, ITools_ToolsReceiveRepository>
, ITools_ToolsReceiveService, IDependency
{
public Tools_ToolsReceiveService(ITools_ToolsReceiveRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolsReceiveService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReceiveService>(); } }
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolsReturnListService与ITools_ToolsReturnListService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReturnListService : ServiceBase<Tools_ToolsReturnList, ITools_ToolsReturnListRepository>
, ITools_ToolsReturnListService, IDependency
{
public Tools_ToolsReturnListService(ITools_ToolsReturnListRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolsReturnListService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReturnListService>(); } }
}
}

View File

@@ -0,0 +1,26 @@
/*
*AuthorCOCO
*代码由框架生成,此处任何更改都可能导致被代码生成器覆盖
*所有业务编写全部应在Partial文件夹下Tools_ToolsReturnService与ITools_ToolsReturnService中编写
*/
using iMES.Tools.IRepositories;
using iMES.Tools.IServices;
using iMES.Core.BaseProvider;
using iMES.Core.Extensions.AutofacManager;
using iMES.Entity.DomainModels;
namespace iMES.Tools.Services
{
public partial class Tools_ToolsReturnService : ServiceBase<Tools_ToolsReturn, ITools_ToolsReturnRepository>
, ITools_ToolsReturnService, IDependency
{
public Tools_ToolsReturnService(ITools_ToolsReturnRepository repository)
: base(repository)
{
Init(repository);
}
public static ITools_ToolsReturnService Instance
{
get { return AutofacContainerModule.GetService<ITools_ToolsReturnService>(); } }
}
}

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\iMES.Core\iMES.Core.csproj" />
<ProjectReference Include="..\iMES.Custom\iMES.Custom.csproj" />
<ProjectReference Include="..\iMES.Entity\iMES.Entity.csproj" />
</ItemGroup>
</Project>