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, });