diff --git a/BasicData/Tnb.BasicData.Entities/Dto/MbomMaterialOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/MbomMaterialOutput.cs new file mode 100644 index 00000000..b0035eac --- /dev/null +++ b/BasicData/Tnb.BasicData.Entities/Dto/MbomMaterialOutput.cs @@ -0,0 +1,40 @@ +namespace Tnb.BasicData.Entities.Dto +{ + public class MbomMaterialOutput + { + public string id { get; set; } + public string code { get; set; } + public string name { get; set; } + /// + /// 物料规格 + /// + public string? material_specification { get; set; } + + /// + /// 物料型号(箱号) + /// + public string? material_standard { get; set; } + public string unit_id { get; set; } = string.Empty; + public string category_id { get; set; } = string.Empty; + public List tablefield183 { get; set; } = new List(); + + } + + public class MbomMaterialDetailOutput + { + /// + /// 主单位数量 + /// + public string? number_of_primary_unit { get; set; } + + /// + /// 辅助单位数量 + /// + public string? number_of_auxiliary_unit { get; set; } + + /// + /// 辅助单位 + /// + public string auxiliary_unit_id { get; set; } = string.Empty; + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs index b4f8c260..3f865293 100644 --- a/BasicData/Tnb.BasicData/BasMbomService.cs +++ b/BasicData/Tnb.BasicData/BasMbomService.cs @@ -6,6 +6,7 @@ using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; +using JNPF.Systems.Entitys.System; using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; @@ -589,7 +590,6 @@ namespace Tnb.BasicData /// /// [HttpPost] - [AllowAnonymous] public async Task SaveDataNew(MbomSaveDataInput mbomSaveDataInput) { ErrorCode errorCode = ErrorCode.COM1008; @@ -776,7 +776,7 @@ namespace Tnb.BasicData .SetColumns(x => x.station == process!.station) .SetColumns(x => x.byproduct_status == process!.byproduct_status) .SetColumns(x => x.production_method == process!.production_method) - .SetColumns(x => x.process_id == process!.id) + .SetColumns(x => x.process_id == process!.process_id) .Where(x => x.id == process!.id).ExecuteCommandAsync(); if (process!.inputs != null) @@ -876,6 +876,36 @@ namespace Tnb.BasicData } return result.IsSuccess ? "保存成功" : result.ErrorMessage; } + + [HttpGet] + public async Task GetMaterialInfo(string id) + { + ISqlSugarClient db = _repository.AsSugarClient(); + MbomMaterialOutput basMaterial = await db.Queryable() + .Select((a) => new MbomMaterialOutput + { + id = a.id, + code = a.code, + name = a.name, + material_specification = a.material_specification, + material_standard = a.material_standard, + tablefield183 = SqlFunc.Subqueryable() + .LeftJoin((x,y)=>y.EnCode==DictConst.MeasurementUnit) + .LeftJoin((x,y,z)=>y.Id==z.DictionaryTypeId) + .Where(x=>x.material_id==a.id) + .ToList((x,y,z)=>new MbomMaterialDetailOutput + { + number_of_primary_unit = x.number_of_primary_unit, + number_of_auxiliary_unit = x.number_of_primary_unit, + auxiliary_unit_id = z.FullName + }), + + }).FirstAsync(); + Dictionary result = new Dictionary(); + result.Add("id",id); + result.Add("data",basMaterial); + return basMaterial; + } } } \ No newline at end of file