From 811f5ddd265f96a7128d2ed82c8d8eb45c8de25b Mon Sep 17 00:00:00 2001 From: zhoukeda <1315948824@qq.com> Date: Fri, 28 Apr 2023 17:13:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7bom=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BC=96=E8=BE=91=E4=BF=A1=E6=81=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dto/BasMbom/MbomDataOutput.cs | 122 ++++++++++++++++++ .../Dto/BasMbom/MbomSaveDataInput.cs | 7 + .../Entity/BasMbomProcess.cs | 7 + BasicData/Tnb.BasicData/BasMbomService.cs | 52 ++++++++ 4 files changed, 188 insertions(+) create mode 100644 BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomDataOutput.cs diff --git a/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomDataOutput.cs b/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomDataOutput.cs new file mode 100644 index 00000000..275c7e03 --- /dev/null +++ b/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomDataOutput.cs @@ -0,0 +1,122 @@ +using Tnb.BasicData.Entities; + +namespace Tnb.BasicData.Entities.Dto +{ + public class MbomDataOutput + { + /// + /// 生产bomid + /// + public string id { get; set; } + + /// + /// 物料id + /// + public string material_id { get; set; } + + /// + /// 数量 + /// + public int num { get; set; } + + /// + /// 单位id + /// + public string unit_id { get; set; } + + /// + /// 版本号 + /// + public string version { get; set; } + + /// + /// 有效开始时间 + /// + public DateTime? start_time { get; set; } + + /// + /// 有效结束时间 + /// + public DateTime? end_time { get; set; } + + /// + /// 物料清单id + /// + public string ebom_id { get; set; } + + /// + /// 工艺路线id + /// + public string route_id { get; set; } + + /// + /// 物料均再首道工序投产 + /// + public int is_first { get; set; } + + /// + /// 备注 + /// + public string remark { get; set; } + + /// + /// 工序 + /// + public List processes { get; set; } + } + + public class MbomProcessOutDto + { + /// + /// Desc:生产bomid + /// Default: + /// Nullable:False + /// + public string mbom_id { get; set; } + + /// + /// Desc:工序id + /// Default: + /// Nullable:False + /// + public string process_id { get; set; } + + /// + /// Desc:准备时间 + /// Default: + /// Nullable:False + /// + public decimal preparation_time { get; set; } + + /// + /// Desc:工位 + /// Default:NULL::character varying + /// Nullable:True + /// + public string station { get; set; } + + /// + /// Desc:副产出管控 0 不启用 1 启用 + /// Default: + /// Nullable:False + /// + public int byproduct_status { get; set; } + + /// + /// Desc:投产方式 + /// Default:NULL::character varying + /// Nullable:True + /// + public string production_method {get;set;} + + /// + /// 投入物料 + /// + public List inputs { get; set; } + + /// + /// 产出物料 + /// + public List outputs { get; set; } + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomSaveDataInput.cs b/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomSaveDataInput.cs index 82a4d303..647d6160 100644 --- a/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomSaveDataInput.cs +++ b/BasicData/Tnb.BasicData.Entitys/Dto/BasMbom/MbomSaveDataInput.cs @@ -102,6 +102,13 @@ namespace Tnb.BasicData.Entities.Dto /// public int byproduct_status { get; set; } + /// + /// Desc:投产方式 + /// Default:NULL::character varying + /// Nullable:True + /// + public string production_method {get;set;} + /// /// 投入物料 /// diff --git a/BasicData/Tnb.BasicData.Entitys/Entity/BasMbomProcess.cs b/BasicData/Tnb.BasicData.Entitys/Entity/BasMbomProcess.cs index 8b6d5c8f..0f6b67dd 100644 --- a/BasicData/Tnb.BasicData.Entitys/Entity/BasMbomProcess.cs +++ b/BasicData/Tnb.BasicData.Entitys/Entity/BasMbomProcess.cs @@ -54,5 +54,12 @@ namespace Tnb.BasicData.Entities /// Nullable:False /// public int byproduct_status { get; set; } + + /// + /// Desc:投产方式 + /// Default:NULL::character varying + /// Nullable:True + /// + public string production_method {get;set;} } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs index 4c979e4b..f606f40a 100644 --- a/BasicData/Tnb.BasicData/BasMbomService.cs +++ b/BasicData/Tnb.BasicData/BasMbomService.cs @@ -3,6 +3,7 @@ using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.Systems.Interfaces.System; +using JNPF.VisualDev; using Microsoft.AspNetCore.Mvc; using SqlSugar; using Tnb.BasicData.Entities; @@ -16,12 +17,15 @@ namespace Tnb.BasicData /// [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)] [Route("api/[area]/[controller]/[action]")] + [OverideVisualDev(ModelId)] public class BasMbomService : IBasMbomService,IDynamicApiController, ITransient { + public const string ModelId = "25574817510421"; private readonly ISqlSugarRepository _repository; private readonly DataBaseManager _dbManager; private readonly IDictionaryDataService _dictionaryDataService; private readonly IUserManager _userManager; + public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public BasMbomService( ISqlSugarRepository repository, @@ -33,6 +37,53 @@ namespace Tnb.BasicData _dbManager = dbManager; _userManager = userManager; _dictionaryDataService = dictionaryDataService; + OverideFuncs.GetAsync = GetInfo; + } + + /// + /// 获取编辑信息 + /// + /// + /// + public async Task GetInfo(string id) + { + var db = _repository.AsSugarClient(); + BasMbom mbom = await _repository.GetSingleAsync(x=>x.id==id); + List processes = await db.Queryable().Where(x => x.mbom_id == id).ToListAsync(); + List inputs = await db.Queryable().Where(x => x.mbom_id == id).ToListAsync(); + List outputs = await db.Queryable().Where(x => x.mbom_id == id).ToListAsync(); + MbomDataOutput mbomDataOutput = new MbomDataOutput(); + List mbomProcessOutDtos = new List(); + + mbomDataOutput.id = mbom.id; + mbomDataOutput.ebom_id = mbom.ebom_id; + mbomDataOutput.is_first = mbom.is_first; + mbomDataOutput.material_id = mbom.material_id; + mbomDataOutput.num = mbom.num; + mbomDataOutput.remark = mbom.remark; + mbomDataOutput.route_id = mbom.route_id; + mbomDataOutput.start_time = mbom.start_time; + mbomDataOutput.end_time = mbom.end_time; + mbomDataOutput.unit_id = mbom.unit_id; + mbomDataOutput.version = mbom.version; + + foreach (BasMbomProcess process in processes) + { + mbomProcessOutDtos.Add(new MbomProcessOutDto() + { + mbom_id = mbom.id, + process_id = process.process_id, + preparation_time = process.preparation_time, + station = process.station, + byproduct_status = process.byproduct_status, + production_method = process.production_method, + inputs = inputs.Where(x => x.process_id == process.process_id).ToList(), + outputs = outputs.Where(x => x.process_id == process.process_id).ToList(), + + }); + } + mbomDataOutput.processes = mbomProcessOutDtos; + return mbomDataOutput; } /// @@ -170,6 +221,7 @@ namespace Tnb.BasicData preparation_time = process.preparation_time, station = process.station, byproduct_status = process.byproduct_status, + production_method = process.production_method, });