From 26d6e12e35808755a195214e204e7c30193f9b54 Mon Sep 17 00:00:00 2001 From: "DEVICE8\\12494" Date: Wed, 26 Apr 2023 09:58:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=B8=E5=85=B3=E7=B1=BB?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=EF=BC=8C=E5=8F=8A=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Consts/DictionaryConstants.cs | 2 +- .../Dto/PrdManage/EquipmentListOutput.cs | 2 +- .../Dto/PrdManage/MoCrInput.cs | 2 +- .../Dto/PrdManage/MoldListOutput.cs | 2 +- .../Dto/PrdManage/PrdTaskOperInput.cs | 2 +- .../Dto/PrdManage/PrdTaskOperOutput.cs | 2 +- .../Dto/PrdManage/PrdTaskReleaseUpInput.cs | 2 +- .../Dto/PrdManage/PrdTaskSortOutput.cs | 2 +- .../PrdManage/ProductionSchedulingCrInput.cs | 2 +- .../Dto/PrdManage/TaskOperRecordOutput.cs | 2 +- .../Dto/PrdManage/TransferPlatformUpInput.cs | 2 +- .../Mapper/Mapper.cs | 2 +- .../IPrdMoService.cs | 4 +- .../Tnb.ProductionMgr/PrdMoService.cs | 176 ++++++++++++------ .../WorkOrderSchedulingService.cs | 3 +- .../internals/BaseService.cs | 23 --- 16 files changed, 138 insertions(+), 92 deletions(-) delete mode 100644 ProductionMgr/Tnb.ProductionMgr/internals/BaseService.cs diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Consts/DictionaryConstants.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Consts/DictionaryConstants.cs index 33ee5dc5..30d11308 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Consts/DictionaryConstants.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Consts/DictionaryConstants.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionMgr.Entitys.新文件夹 +namespace Tnb.ProductionMgr.Entitys.Consts { public class DictionaryConstants { diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/EquipmentListOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/EquipmentListOutput.cs index de4f87f6..ddda31cc 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/EquipmentListOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/EquipmentListOutput.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 设备列表输出参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoCrInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoCrInput.cs index f6577dcc..e74235cf 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoCrInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoCrInput.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionPlanMgr.Entitys.Dto.WorkOrder +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产工单下发输入参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoldListOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoldListOutput.cs index ee6ab026..9ce0390f 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoldListOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/MoldListOutput.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionMgr.Entitys.Dto.WorkOrder +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 模具列表输出参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperInput.cs index 96e358aa..5113c8a4 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperInput.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产操作记录查询参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperOutput.cs index 63669644..45c532cf 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskOperOutput.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产操作记录输出类 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskReleaseUpInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskReleaseUpInput.cs index 339cb189..1fcca2bd 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskReleaseUpInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskReleaseUpInput.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产任务单下发输入参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskSortOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskSortOutput.cs index 64a64a40..afd15b1c 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskSortOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/PrdTaskSortOutput.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产任务重新排序输出参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/ProductionSchedulingCrInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/ProductionSchedulingCrInput.cs index 18a3b1cf..5b8e4ffb 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/ProductionSchedulingCrInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/ProductionSchedulingCrInput.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionMgr.Entitys.Dto.WorkOrder +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 生产工单排产输入参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TaskOperRecordOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TaskOperRecordOutput.cs index 7cd561cf..924cd320 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TaskOperRecordOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TaskOperRecordOutput.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { public class TaskOperRecordOutput { diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TransferPlatformUpInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TransferPlatformUpInput.cs index 4ae9808a..fad272ca 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TransferPlatformUpInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Dto/PrdManage/TransferPlatformUpInput.cs @@ -5,7 +5,7 @@ using System.Security.Principal; using System.Text; using System.Threading.Tasks; -namespace Tnb.ProductionMgr.Entitys.Dto.PrdManage +namespace Tnb.ProductionMgr.Entitys.Dto { /// /// 转移机台输入参数 diff --git a/ProductionMgr/Tnb.ProductionMgr.Entitys/Mapper/Mapper.cs b/ProductionMgr/Tnb.ProductionMgr.Entitys/Mapper/Mapper.cs index 74927245..fe07258d 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entitys/Mapper/Mapper.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entitys/Mapper/Mapper.cs @@ -1,5 +1,5 @@ using Mapster; -using Tnb.ProductionMgr.Entitys.Dto.WorkOrder; +using Tnb.ProductionMgr.Entitys.Dto; using Tnb.ProductionMgr.Entitys.Entity; namespace Tnb.ProductionMgr.Entitys.Mapper diff --git a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoService.cs b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoService.cs index fc9da814..9328f9cc 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoService.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IPrdMoService.cs @@ -1,6 +1,6 @@ -using Tnb.ProductionPlanMgr.Entitys.Dto.WorkOrder; +using Tnb.ProductionMgr.Entitys.Dto; -namespace Tnb.ProductionPlanMgr.Interfaces +namespace Tnb.ProductionMgr.Interfaces { /// /// 工单生成 diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs index ad1b76d0..003baf58 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs @@ -1,27 +1,17 @@ -using System.Dynamic; -using Aop.Api.Domain; -using JNPF.Common.Core.Manager; -using JNPF.Common.Extension; -using JNPF.Common.Filter; +using JNPF.Common.Core.Manager; using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; using JNPF.Logging; -using JNPF.Systems.Entitys.System; using JNPF.Systems.Interfaces.System; using Mapster; -using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -using NPOI.OpenXmlFormats.Shared; -using Senparc.Weixin.Work.AdvancedAPIs.OaDataOpen; using SqlSugar; -using Tnb.ProductionMgr.Entitys.Dto.PrdManage; -using Tnb.ProductionMgr.Entitys.Dto.WorkOrder; +using Tnb.ProductionMgr.Entitys.Consts; +using Tnb.ProductionMgr.Entitys.Dto; using Tnb.ProductionMgr.Entitys.Entity; -using Tnb.ProductionMgr.Entitys.新文件夹; -using Tnb.ProductionPlanMgr.Entitys.Dto.WorkOrder; -using Tnb.ProductionPlanMgr.Interfaces; +using Tnb.ProductionMgr.Interfaces; namespace Tnb.ProductionPlanMgr { @@ -71,7 +61,7 @@ namespace Tnb.ProductionPlanMgr ///
} ///
] /// - [HttpGet("moldlist/{itemId}")] + [HttpGet("{itemId}")] public async Task GetMoldListByItemId(string itemId) { var db = _repository.AsSugarClient(); @@ -95,7 +85,7 @@ namespace Tnb.ProductionPlanMgr ///
/// /// - [HttpGet("equipments/{moldId}")] + [HttpGet("{moldId}")] public async Task GetEquipmentListByMoldId(string moldId) { var items = await _repository.AsSugarClient().Queryable() @@ -132,7 +122,7 @@ namespace Tnb.ProductionPlanMgr ///
} ///
] /// - [HttpGet("sort/{eqpId}")] + [HttpGet("{eqpId}")] public async Task PrdTaskSort(string eqpId) { var taskStatusDic = await _dictionaryDataService.GetDicByTypeId(DictionaryConstants.PrdTaskStatusTypeId); @@ -158,7 +148,7 @@ namespace Tnb.ProductionPlanMgr ///
/// 任务ID /// - [HttpGet("record/{taskId}")] + [HttpGet("{taskId}")] public async Task GetMoOperRecord(string taskId) { var list = await _repository.AsSugarClient().Queryable().Where(it => it.id == taskId).ToListAsync(); @@ -177,7 +167,7 @@ namespace Tnb.ProductionPlanMgr ///
/// 生产工单下发输入参数 /// - [HttpPut("workorder-issue")] + [HttpPut] public async Task WorkOrderIssue(MoCrInput input) { if (input is null) @@ -205,7 +195,7 @@ namespace Tnb.ProductionPlanMgr ///
/// 关联同组工单输入参数 /// - [HttpPost("relevancy")] + [HttpPost] public async Task RelevancySameGroupMo(MoCrInput input) { (bool executeRes, string errMsg) multi = (true, ""); @@ -255,7 +245,7 @@ namespace Tnb.ProductionPlanMgr ///
/// 取消关联输入参数 /// - [HttpPost("CanelRelevancy")] + [HttpPost] public async Task CanelRelevancy(MoCrInput input) { return await _repository.AsSugarClient().Updateable() @@ -284,7 +274,7 @@ namespace Tnb.ProductionPlanMgr /// /// - [HttpPost("scheduling")] + [HttpPost] public async Task ProductionScheduling(ProductionSchedulingCrInput input) { var row = -1; @@ -292,51 +282,131 @@ namespace Tnb.ProductionPlanMgr { input.id ??= SnowflakeIdHelper.NextId(); var entity = input.Adapt(); - entity.status = "ToBeScheduled"; //任务单状态默认,待排产 + entity.status = DictionaryConstants.ToBeStartedEnCode; //任务单状态默认,待排产 entity.create_id = _userManager.UserId; entity.create_time = DateTime.Now; entity.prd_task_id = input.id; var db = _repository.AsSugarClient(); try { - await db.Ado.BeginTranAsync(); - - row = await db.Storageable(entity).ExecuteCommandAsync(); - var taskLogEntity = input.Adapt(); - taskLogEntity.id ??= SnowflakeIdHelper.NextId(); - taskLogEntity.task_id = input.id; - taskLogEntity.status ??= "ToBeStarted"; - taskLogEntity.create_id = _userManager.UserId; - taskLogEntity.create_time = DateTime.Now; - taskLogEntity.operator_name = _userManager.RealName; - - //任务状态变更时插入操作记录 - if (!db.Queryable().Where(it => it.task_id == input.id && it.status == taskLogEntity.status).Any()) + List entities = new(); + //根据工单Id查询同组工单号,进行同组工单排产处理 + var combineMoCodes = await db.Queryable().Where(it => it.id == input.mo_id).Select(it => it.combine_mo_code).Distinct().ToListAsync(); + if (combineMoCodes?.Count > 0) { - row = await db.Insertable(taskLogEntity).ExecuteCommandAsync(); + entities = await db.Queryable().Where(it => combineMoCodes.Contains(it.combine_mo_code)).ToListAsync(); } + await db.Ado.BeginTranAsync(); + //同组工单排产 + if (entities.Count > 0) + { + var icmoEntities = entities.Adapt>(); + icmoEntities.ForEach(x => + { + x.id = SnowflakeIdHelper.NextId(); + x.status = DictionaryConstants.ToBeStartedEnCode; //任务单状态默认,待排产 + x.create_id = _userManager.UserId; + x.create_time = DateTime.Now; + x.prd_task_id = input.id; + }); + row = await db.Storageable(entities).ExecuteCommandAsync(); + var icmoRecords = icmoEntities.Adapt>(); + icmoRecords.ForEach(x => + { + x.id ??= SnowflakeIdHelper.NextId(); + x.task_id = input.id; + x.status ??= "ToBeStarted"; + x.create_id = _userManager.UserId; + x.create_time = DateTime.Now; + x.operator_name = _userManager.RealName; + }); + var icmoIds = icmoRecords.Select(it => it.id).ToList(); + var statusMany = icmoRecords.Select(it => it.status).ToList(); + //任务状态变更时插入操作记录 + var logEntities = await db.Queryable().Where(it => !icmoIds.Contains(it.id) && !statusMany.Contains(it.status)).ToListAsync(); + row = await db.Insertable(logEntities).ExecuteCommandAsync(); + } + else + { + row = await db.Storageable(entity).ExecuteCommandAsync(); + var taskLogEntity = input.Adapt(); + taskLogEntity.id ??= SnowflakeIdHelper.NextId(); + taskLogEntity.task_id = input.id; + taskLogEntity.status ??= "ToBeStarted"; + taskLogEntity.create_id = _userManager.UserId; + taskLogEntity.create_time = DateTime.Now; + taskLogEntity.operator_name = _userManager.RealName; + + //任务状态变更时插入操作记录 + if (!db.Queryable().Where(it => it.task_id == input.id && it.status == taskLogEntity.status).Any()) + { + row = await db.Insertable(taskLogEntity).ExecuteCommandAsync(); + } + } + + if (row > 0) { - var obj = (await db.Queryable().FirstAsync(it => it.id == input.mo_id)); - obj.input_qty += entity.scheduled_qty; - var moStatus = ""; - //判断,已排产数量>=计划数量时将状态改为 已排产 - if (obj.input_qty >= obj.plan_qty) + if (combineMoCodes?.Count > 0) { - moStatus = MoStatus.AlreadyId; + var moList = await db.Queryable().Where(it => combineMoCodes.Contains(it.combine_mo_code)).ToListAsync(); + var icmoList = moList.Adapt>(); + var combinePlanQty = icmoList.Sum(x => x.plan_qty); //合并工单后的计划数量 + var combineScheduledQty = icmoList.Sum(x => x.scheduled_qty); //合并后的已排产数量 + if (combineScheduledQty < combinePlanQty) + { + icmoList.ForEach(x => + { + var item = moList.Find(xx => xx.id == x.mo_id); + if (item != null) + { + item.input_qty += x.scheduled_qty; + item.mo_status = MoStatus.WaitProductId; + } + }); + } + else + { + //如果已排产数量大于计划数量,修改工单状态为,待开工 + if (combineScheduledQty >= combinePlanQty) + { + icmoList.ForEach(x => + { + var item = moList.Find(xx => xx.id == x.mo_id); + if (item != null) + { + item.input_qty += x.scheduled_qty; + item.mo_status = MoStatus.AlreadyId; + } + }); + } + } + row = await db.Updateable(moList).ExecuteCommandAsync(); + } else { - //修改工单状态为待排产,同事修改已排产数量 - moStatus = MoStatus.WaitProductId; + var obj = (await db.Queryable().FirstAsync(it => it.id == input.mo_id)); + obj.input_qty += entity.scheduled_qty; + var moStatus = ""; + //判断,已排产数量>=计划数量时将状态改为 已排产 + if (obj.input_qty >= obj.plan_qty) + { + moStatus = MoStatus.AlreadyId; + } + else + { + //修改工单状态为待排产,同事修改已排产数量 + moStatus = MoStatus.WaitProductId; + } + row = await db.Updateable().SetColumns(it => new PrdMo + { + mo_status = moStatus, + input_qty = obj.input_qty + }) + .Where(it => it.id == entity.mo_id).ExecuteCommandAsync(); } - row = await db.Updateable().SetColumns(it => new PrdMo - { - mo_status = moStatus, - input_qty = obj.input_qty - }) - .Where(it => it.id == entity.mo_id).ExecuteCommandAsync(); } await db.Ado.CommitTranAsync(); @@ -353,7 +423,7 @@ namespace Tnb.ProductionPlanMgr /// 生产任务下发 ///
/// - [HttpPost("task-release")] + [HttpPost] public async Task PrdTaskRelease(PrdTaskReleaseUpInput input) { if (input is null) @@ -379,7 +449,7 @@ namespace Tnb.ProductionPlanMgr .SetColumns(it => new PrdTask { eqp_id = input.eqp_id }) .Where(it => it.id == input.icmo_id) .ExecuteCommandHasChangeAsync(); - } + } #endregion } diff --git a/ProductionMgr/Tnb.ProductionMgr/WorkOrderSchedulingService.cs b/ProductionMgr/Tnb.ProductionMgr/WorkOrderSchedulingService.cs index 1e4905c8..5f22f719 100644 --- a/ProductionMgr/Tnb.ProductionMgr/WorkOrderSchedulingService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/WorkOrderSchedulingService.cs @@ -12,11 +12,10 @@ using JNPF.DynamicApiController; using JNPF.Systems.Entitys.System; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -using NPOI.SS.UserModel; using SqlSugar; using Tnb.ProductionMgr.Entitys.Entity; -namespace Tnb.ProductionPlanMgr +namespace Tnb.ProductionMgr { /// /// 生产排产 diff --git a/ProductionMgr/Tnb.ProductionMgr/internals/BaseService.cs b/ProductionMgr/Tnb.ProductionMgr/internals/BaseService.cs deleted file mode 100644 index f3e6f073..00000000 --- a/ProductionMgr/Tnb.ProductionMgr/internals/BaseService.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using JNPF; -using JNPF.Common.Core.Manager; -using JNPF.DependencyInjection; -using JNPF.Systems.Entitys.System; -using SqlSugar; - -namespace Tnb.ProductionPlanMgr -{ - public class BaseService : ITransient - { - private readonly Dictionary _dbContextDic = new(StringComparer.OrdinalIgnoreCase); - static BaseService() - { - } - - - } -}