diff --git a/BasicData/Tnb.BasicData.Entitys/DicTypeKey.cs b/BasicData/Tnb.BasicData.Entitys/Const/DicTypeKey.cs similarity index 82% rename from BasicData/Tnb.BasicData.Entitys/DicTypeKey.cs rename to BasicData/Tnb.BasicData.Entitys/Const/DicTypeKey.cs index 8eb3d411..19b9aabb 100644 --- a/BasicData/Tnb.BasicData.Entitys/DicTypeKey.cs +++ b/BasicData/Tnb.BasicData.Entitys/Const/DicTypeKey.cs @@ -1,4 +1,4 @@ -namespace Tnb.BasicData.Entitys +namespace Tnb.BasicData.Entitys.Const { public static class DicTypeKey { diff --git a/BasicData/Tnb.BasicData.Entitys/DbName.cs b/BasicData/Tnb.BasicData.Entitys/DbName.cs deleted file mode 100644 index 69d41c44..00000000 --- a/BasicData/Tnb.BasicData.Entitys/DbName.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Tnb.BasicData.Entitys -{ - public static class DbName - { - public const string TIANYIMON = "tianyi_mom"; - public const string TNBMON = "tnb_mom"; - } -} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entitys/Dto/ElementSelectDto.cs b/BasicData/Tnb.BasicData.Entitys/Dto/ElementSelectDto.cs new file mode 100644 index 00000000..fe156e41 --- /dev/null +++ b/BasicData/Tnb.BasicData.Entitys/Dto/ElementSelectDto.cs @@ -0,0 +1,9 @@ +namespace Tnb.BasicData.Entitys +{ + public class ElementSelectDto + { + public string label { get; set; } + + public string value { get; set; } + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entitys/Dto/ParentMaterial/EbomTreeOutput.cs b/BasicData/Tnb.BasicData.Entitys/Dto/ParentMaterial/EbomTreeOutput.cs index 532f18c3..6f681b9b 100644 --- a/BasicData/Tnb.BasicData.Entitys/Dto/ParentMaterial/EbomTreeOutput.cs +++ b/BasicData/Tnb.BasicData.Entitys/Dto/ParentMaterial/EbomTreeOutput.cs @@ -9,7 +9,7 @@ namespace Tnb.BasicData.Entitys.Dto /// /// 规格描述 /// - public string material_id_extras { get; set; } + public string material_id_descrip { get; set; } /// /// 物料id /// @@ -25,7 +25,7 @@ namespace Tnb.BasicData.Entitys.Dto /// /// 单位 /// - public string material_id_unitid { get; set; } + public string material_id_unit_id { get; set; } /// /// 是否有下级 /// @@ -64,14 +64,14 @@ namespace Tnb.BasicData.Entitys.Dto /// Default:NULL::character varying /// Nullable:True /// - public string substitute_material {get;set;} + public string substitute_material_id {get;set;} /// /// Desc:工艺路线 /// Default:NULL::character varying /// Nullable:True /// - public string routing {get;set;} + public string route_name {get;set;} /// /// Desc:版本号 diff --git a/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomD.cs b/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomD.cs index f1f9510a..e78a1437 100644 --- a/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomD.cs +++ b/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomD.cs @@ -9,113 +9,105 @@ namespace Tnb.BasicData.Entitys.Entity [SugarTable("bas_ebom_d")] public class BasEbomD : BaseEntity { - public BasEbomD(){ + public BasEbomD(){ - } - /// - /// Desc:主键 - /// Default: - /// Nullable:False - /// - [SugarColumn(IsPrimaryKey=true,ColumnName="id")] - public string Id {get;set;} + } + /// + /// Desc:主键 + /// Default: + /// Nullable:False + /// + [SugarColumn(IsPrimaryKey=true,ColumnName="id")] + public string id {get;set;} - /// - /// Desc:扩展字段 - /// Default: - /// Nullable:True - /// - [SugarColumn(ColumnName="extras")] - public string Extras {get;set;} - - /// - /// Desc:父件物料ID - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="ebom_id")] - public string EbomId {get;set;} - - /// - /// Desc:物料编号/名称 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="material_id")] - public string MaterialId {get;set;} - - /// - /// Desc:规格描述 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="descrip")] - public string Descrip {get;set;} - - /// - /// Desc:单位 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="unit")] - public string Unit {get;set;} - - /// - /// Desc:数量 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="quantity")] - public string Quantity {get;set;} - - /// - /// Desc:损耗率 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="loss_rate")] - public string LossRate {get;set;} - - /// - /// Desc:替代物料 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="substitute_material")] - public string SubstituteMaterial {get;set;} - - /// - /// Desc:投料管控 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="feeding_control")] - public string FeedingControl {get;set;} - - /// - /// Desc:需要称量 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="require_weight")] - public string RequireWeight {get;set;} - - /// - /// Desc:版本号 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="version")] - public string Version {get;set;} - - /// - /// Desc:工艺路线 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="routing")] - public string Routing {get;set;} + /// + /// Desc:父件物料ID + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="ebom_id")] + public string ebom_id {get;set;} + + /// + /// Desc:物料编号/名称 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="material_id")] + public string material_id {get;set;} + + /// + /// Desc:规格描述 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="descrip")] + public string descrip {get;set;} + + /// + /// Desc:单位id + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="unit_id")] + public string unit_id {get;set;} + + /// + /// Desc:数量 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="quantity")] + public string quantity {get;set;} + + /// + /// Desc:损耗率 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="loss_rate")] + public string loss_rate {get;set;} + + /// + /// Desc:替代物料 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="substitute_material_id")] + public string substitute_material_id {get;set;} + + /// + /// Desc:投料管控 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="feeding_control")] + public string feeding_control {get;set;} + + /// + /// Desc:需要称量 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="require_weight")] + public string require_weight {get;set;} + + /// + /// Desc:版本号 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="version")] + public string version {get;set;} + + /// + /// Desc:工艺路线 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="route_id")] + public string route_id {get;set;} } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomH.cs b/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomH.cs index 92d97646..55996a93 100644 --- a/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomH.cs +++ b/BasicData/Tnb.BasicData.Entitys/Entity/BasEbomH.cs @@ -19,7 +19,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:False /// [SugarColumn(IsPrimaryKey=true,ColumnName="id")] - public string Id {get;set;} + public string id {get;set;} /// /// Desc:创建时间 @@ -27,7 +27,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="create_time")] - public DateTime? CreateTime {get;set;} + public DateTime? create_time {get;set;} /// /// Desc:修改时间 @@ -35,7 +35,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="modify_time")] - public DateTime? ModifyTime {get;set;} + public DateTime? modify_time {get;set;} /// /// Desc:扩展字段 @@ -43,7 +43,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="extras")] - public string Extras {get;set;} + public string extras {get;set;} /// /// Desc:所属组织 @@ -51,7 +51,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="org_id")] - public string OrgId {get;set;} + public string org_id {get;set;} /// /// Desc:成品物料编号/名称 @@ -59,7 +59,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="material_id")] - public string MaterialId {get;set;} + public string material_id {get;set;} /// /// Desc:规格描述 @@ -67,7 +67,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="descrip")] - public string Descrip {get;set;} + public string descrip {get;set;} /// /// Desc:数量 @@ -75,15 +75,15 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="quantity")] - public string Quantity {get;set;} + public string quantity {get;set;} /// - /// Desc:单位 + /// Desc:单位id /// Default:NULL::character varying /// Nullable:True /// - [SugarColumn(ColumnName="unit")] - public string Unit {get;set;} + [SugarColumn(ColumnName="unit_id")] + public string unit_id {get;set;} /// /// Desc:状态 @@ -91,7 +91,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="status")] - public string Status {get;set;} + public string status {get;set;} /// /// Desc:版本号 @@ -99,15 +99,15 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="version")] - public string Version {get;set;} + public string version {get;set;} /// - /// Desc:工艺路线 + /// Desc:工艺路线id /// Default:NULL::character varying /// Nullable:True /// - [SugarColumn(ColumnName="routing")] - public string Routing {get;set;} + [SugarColumn(ColumnName="route_id")] + public string route_id {get;set;} /// /// Desc:创建用户 @@ -115,7 +115,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="create_id")] - public string CreateId {get;set;} + public string create_id {get;set;} /// /// Desc:修改用户 @@ -123,7 +123,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="modify_id")] - public string ModifyId {get;set;} + public string modify_id {get;set;} } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs b/BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs index 3477b854..8f1e2913 100644 --- a/BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs +++ b/BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs @@ -18,47 +18,42 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:False /// [SugarColumn(IsPrimaryKey=true,ColumnName="id")] - public string Id {get;set;} + public string id {get;set;} /// /// Desc:物料代码 /// Default: /// Nullable:False /// - [SugarColumn(ColumnName="material_code")] - public string MaterialCode {get;set;} + public string code {get;set;} /// /// Desc:物料名称 /// Default: /// Nullable:False /// - [SugarColumn(ColumnName="material_name")] - public string MaterialName {get;set;} + public string name {get;set;} /// /// Desc:物料分类ID /// Default: /// Nullable:False /// - [SugarColumn(ColumnName="categoryid")] - public string Categoryid {get;set;} + public string category_id {get;set;} /// - /// Desc:单位ID,BAS_UNIT.ID + /// Desc:单位ID /// Default: /// Nullable:False /// - [SugarColumn(ColumnName="unitid")] - public string Unitid {get;set;} + public string unit_id {get;set;} /// - /// Desc:选择单位ID,BAS_UNIT.ID + /// Desc:辅助单位id /// Default: /// Nullable:False /// - [SugarColumn(ColumnName="pickunitid")] - public string Pickunitid {get;set;} + public string pickunit_id {get;set;} /// /// Desc:单价 @@ -66,7 +61,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="cost")] - public decimal? Cost {get;set;} + public decimal? cost {get;set;} /// /// Desc:毛重 @@ -74,7 +69,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="grossweight")] - public decimal? Grossweight {get;set;} + public decimal? grossweight {get;set;} /// /// Desc:净重 @@ -82,7 +77,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="netweight")] - public decimal? Netweight {get;set;} + public decimal? netweight {get;set;} /// /// Desc:长 @@ -90,7 +85,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="length")] - public decimal? Length {get;set;} + public decimal? length {get;set;} /// /// Desc:宽 @@ -98,7 +93,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="width")] - public decimal? Width {get;set;} + public decimal? width {get;set;} /// /// Desc:高 @@ -106,7 +101,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="high")] - public decimal? High {get;set;} + public decimal? high {get;set;} /// /// Desc:体积 @@ -114,7 +109,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="volumn")] - public decimal? Volumn {get;set;} + public decimal? volumn {get;set;} /// /// Desc:是否免检 @@ -122,7 +117,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="isexemption")] - public int? Isexemption {get;set;} + public int? isexemption {get;set;} /// /// Desc:安全库存 @@ -130,7 +125,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="safeqty")] - public decimal? Safeqty {get;set;} + public decimal? safeqty {get;set;} /// /// Desc:保质期 @@ -138,7 +133,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="qualityperiod")] - public int? Qualityperiod {get;set;} + public int? qualityperiod {get;set;} /// /// Desc:最小包装 @@ -146,15 +141,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="minpacking")] - public decimal? Minpacking {get;set;} - - /// - /// Desc:是否先进先出管控 - /// Default: - /// Nullable:True - /// - [SugarColumn(ColumnName="fifo")] - public int? Fifo {get;set;} + public decimal? minpacking {get;set;} /// /// Desc:先进先出间隔天数,批次间隔天数 @@ -162,31 +149,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="fifo_interval_days")] - public int? FifoIntervalDays {get;set;} - - /// - /// Desc:所属组织ID - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="org_id")] - public string OrgId {get;set;} - - /// - /// Desc:是否过期允许出库 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="expireout")] - public string Expireout {get;set;} - - /// - /// Desc:物料规格型号 - /// Default:NULL::character varying - /// Nullable:True - /// - [SugarColumn(ColumnName="material_standard")] - public string MaterialStandard {get;set;} + public int? fifo_interval_days {get;set;} /// /// Desc:创建时间 @@ -194,7 +157,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="create_time")] - public DateTime? CreateTime {get;set;} + public DateTime? create_time {get;set;} /// /// Desc:最后修改时间 @@ -202,7 +165,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="modify_time")] - public DateTime? ModifyTime {get;set;} + public DateTime? modify_time {get;set;} /// /// Desc:扩展字段 @@ -210,7 +173,39 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="extras")] - public string Extras {get;set;} + public string extras {get;set;} + + /// + /// Desc:所属组织ID + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="org_id")] + public string org_id {get;set;} + + /// + /// Desc:是否过期允许出库 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="expireout")] + public string expireout {get;set;} + + /// + /// Desc:是否先进先出管控 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="fifo")] + public string fifo {get;set;} + + /// + /// Desc:物料规格型号 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="material_standard")] + public string material_standard {get;set;} /// /// Desc:海关编码 @@ -218,7 +213,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="fhscode")] - public string Fhscode {get;set;} + public string fhscode {get;set;} /// /// Desc:附属性 @@ -226,7 +221,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="attribute")] - public string Attribute {get;set;} + public string attribute {get;set;} /// /// Desc:管控类型: 批管控:Lot 单管控:KeyParts 非管控:NoControl @@ -234,7 +229,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="controltype")] - public string Controltype {get;set;} + public string controltype {get;set;} /// /// Desc:备注 @@ -242,7 +237,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="remark")] - public string Remark {get;set;} + public string remark {get;set;} /// /// Desc:创建人员ID @@ -250,7 +245,7 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="create_id")] - public string CreateId {get;set;} + public string create_id {get;set;} /// /// Desc:最后修改人员ID @@ -258,6 +253,38 @@ namespace Tnb.BasicData.Entitys.Entity /// Nullable:True /// [SugarColumn(ColumnName="modify_id")] - public string ModifyId {get;set;} + public string modify_id {get;set;} + + /// + /// Desc:状态 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="state")] + public string state {get;set;} + + /// + /// Desc:物料属性 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="material_property")] + public string material_property {get;set;} + + /// + /// Desc:标签 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="label")] + public string label {get;set;} + + /// + /// Desc:描述 + /// Default:NULL::character varying + /// Nullable:True + /// + public string descrip {get;set;} + } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData/EbomService.cs b/BasicData/Tnb.BasicData/EbomService.cs index 8ec1efd0..fc3cc7e2 100644 --- a/BasicData/Tnb.BasicData/EbomService.cs +++ b/BasicData/Tnb.BasicData/EbomService.cs @@ -1,13 +1,12 @@ using JNPF.Common.Core.Manager; using JNPF.DependencyInjection; using JNPF.DynamicApiController; -using JNPF.Systems.Entitys.System; using JNPF.Systems.Interfaces.System; using Microsoft.AspNetCore.Mvc; using SqlSugar; -using Tnb.BasicData.Entitys; using Tnb.BasicData.Entitys.Entity; using Tnb.BasicData.Entitys.Dto; +using Tnb.BasicData.Entitys.Const; namespace Tnb.BasicData { @@ -41,67 +40,67 @@ namespace Tnb.BasicData var db = _repository.AsSugarClient(); var dic = await _dictionaryDataService.GetDicByKey(DicTypeKey.MeasurementUnit); - var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON); - if (momDbLink != null) - { - db = _dbManager.ChangeDataBase(momDbLink); - } + // var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON); + // if (momDbLink != null) + // { + // db = _dbManager.ChangeDataBase(momDbLink); + // } if (string.IsNullOrEmpty(queryInput.materialId)) { var data = await db.Queryable() - .LeftJoin((a,b)=>a.EbomId==b.Id) - .LeftJoin((a,b,c)=>a.MaterialId==c.Id) - .LeftJoin((a,b,c,d)=>a.MaterialId==d.MaterialId) - .Where((a,b,c)=>a.EbomId==queryInput.ebomId) - .Select((a,b,c,d)=>new EbomTreeOutput + .LeftJoin((a,b)=>a.ebom_id==b.Id) + .LeftJoin((a,b,c)=>a.material_id==c.Id) + .LeftJoin((a,b,c,d)=>a.material_id==d.material_id) + .LeftJoin((a,b,c,d,e)=>d.route_id==e.Id) + .LeftJoin((a,b,c,d,e,f)=>a.substitute_material_id==f.id) + .Where((a,b,c)=>a.ebom_id==queryInput.ebomId) + .Select((a,b,c,d,e,f)=>new EbomTreeOutput { - material_id = c.MaterialName, - material_id_extras = c.Extras, - material_id_id=c.Id, - material_id_minpacking = c.Minpacking, - material_id_remark = c.Remark, - material_id_unitid = c.Unitid, - feeding_control = a.FeedingControl, - loss_rate = a.LossRate, - quantity = a.Quantity, - require_weight = a.RequireWeight, - substitute_material = a.SubstituteMaterial, - routing = d.Routing, - version = d.Version, - hasChildren = SqlFunc.Subqueryable().Where(x=>x.MaterialId==a.MaterialId).Any(), + material_id = c.name, + material_id_descrip = c.descrip, + material_id_remark = c.remark, + material_id_unit_id = c.unit_id, + feeding_control = a.feeding_control, + loss_rate = a.loss_rate, + quantity = a.quantity, + require_weight = a.require_weight, + route_name = e.Name, + version = d.version, + substitute_material_id = f.name, + hasChildren = SqlFunc.Subqueryable().Where(x=>x.material_id==a.material_id).Any(), }).Mapper(it => { - it.material_id_unitid = dic[it.material_id_unitid].ToString(); + it.material_id_unit_id = dic[it.material_id_unit_id].ToString(); }).ToListAsync(); return data; } else { var data = await db.Queryable() - .LeftJoin((a,b)=>a.EbomId==b.Id) - .LeftJoin((a,b,c)=>a.MaterialId==c.Id) - .LeftJoin((a,b,c,d)=>a.MaterialId==d.MaterialId) - .Where((a,b,c)=>b.MaterialId==queryInput.materialId && a.EbomId==b.Id) - .Select((a,b,c,d)=>new EbomTreeOutput + .LeftJoin((a,b)=>a.ebom_id==b.Id) + .LeftJoin((a,b,c)=>a.material_id==c.Id) + .LeftJoin((a,b,c,d)=>a.material_id==d.material_id) + .LeftJoin((a,b,c,d,e)=>d.route_id==e.Id) + .LeftJoin((a,b,c,d,e,f)=>a.substitute_material_id==f.id) + .Where((a,b,c)=>b.material_id==queryInput.materialId && a.ebom_id==b.Id) + .Select((a,b,c,d,e,f)=>new EbomTreeOutput { - material_id = c.MaterialName, - material_id_extras = c.Extras, - material_id_id=c.Id, - material_id_minpacking = c.Minpacking, - material_id_remark = c.Remark, - material_id_unitid = c.Unitid, - feeding_control = a.FeedingControl, - loss_rate = a.LossRate, - quantity = a.Quantity, - require_weight = a.RequireWeight, - substitute_material = a.SubstituteMaterial, - routing = d.Routing, - version = d.Version, - hasChildren = SqlFunc.Subqueryable().Where(x=>x.MaterialId==a.MaterialId).Any(), + material_id = c.name, + material_id_descrip = c.descrip, + material_id_remark = c.remark, + material_id_unit_id = c.unit_id, + feeding_control = a.feeding_control, + loss_rate = a.loss_rate, + quantity = a.quantity, + require_weight = a.require_weight, + route_name = e.Name, + version = d.version, + substitute_material_id = f.name, + hasChildren = SqlFunc.Subqueryable().Where(x=>x.material_id==a.material_id).Any(), }).Mapper(it => { - it.material_id_unitid = dic[it.material_id_unitid].ToString(); + it.material_id_unit_id = dic[it.material_id_unit_id].ToString(); }).ToListAsync(); return data; } @@ -114,23 +113,23 @@ namespace Tnb.BasicData { var db = _repository.AsSugarClient(); - var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON); - if (momDbLink != null) - { - db = _dbManager.ChangeDataBase(momDbLink); - } + // var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON); + // if (momDbLink != null) + // { + // db = _dbManager.ChangeDataBase(momDbLink); + // } var ebom = await db.Queryable() - .LeftJoin((a,b)=>a.Routing==b.Id) - .Where((a,b) => a.MaterialId == materialId) + .LeftJoin((a,b)=>a.route_id==b.Id) + .Where((a,b) => a.material_id == materialId) .Select((a,b)=>new { - a.Version, + a.version, b.Name, }).SingleAsync(); return new Dictionary() { - ["version"] = ebom?.Version, + ["version"] = ebom?.version, ["routeName"] = ebom?.Name , }; diff --git a/BasicData/Tnb.BasicData/MaterialService.cs b/BasicData/Tnb.BasicData/MaterialService.cs new file mode 100644 index 00000000..6a2bf5b9 --- /dev/null +++ b/BasicData/Tnb.BasicData/MaterialService.cs @@ -0,0 +1,89 @@ +using JNPF.Common.Core.Manager; +using JNPF.DependencyInjection; +using JNPF.DynamicApiController; +using JNPF.Systems.Entitys.System; +using JNPF.Systems.Interfaces.System; +using Microsoft.AspNetCore.Mvc; +using SqlSugar; +using Tnb.BasicData.Entitys; +using Tnb.BasicData.Entitys.Entity; +using Tnb.BasicData.Entitys.Const; + +namespace Tnb.BasicData +{ + /// + /// 物料档案 + /// + [ApiDescriptionSettings(Tag = "BasicData", Name = "Material", Order = 700)] + [Route("api/basic/[controller]")] + public class MaterialService : IDynamicApiController, ITransient + { + private readonly ISqlSugarRepository _repository; + private readonly DataBaseManager _dbManager; + private readonly IDictionaryDataService _dictionaryDataService; + + public MaterialService( + ISqlSugarRepository repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService) + { + _repository = repository; + _dbManager = dbManager; + _dictionaryDataService = dictionaryDataService; + } + + [HttpPost("[action]")] + public async Task> GetEbomVersionAndRouteName(string materialId) + { + var db = _repository.AsSugarClient(); + var dic = await _dictionaryDataService.GetDicByKey(DicTypeKey.MeasurementUnit); + // var momDbLink = await _repository.AsSugarClient().Queryable().FirstAsync(x => x.FullName == DbName.TNBMON); + // if (momDbLink != null) + // { + // db = _dbManager.ChangeDataBase(momDbLink); + // } + + var ebom = await db.Queryable() + .LeftJoin((a,b)=>a.route_id==b.Id) + .Where((a,b) => a.material_id == materialId) + .Select((a,b)=>new + { + a.id, + a.version, + b.Name, + }).SingleAsync(); + return new Dictionary() + { + ["version"] = ebom?.version, + ["routeName"] = ebom?.Name, + ["routeId"] = ebom?.id + }; + } + + [HttpPost("[action]")] + public async Task> GetMaterialUnits(string materialId) + { + var db = _repository.AsSugarClient(); + + var type = await db.Queryable().Where(x => x.EnCode == DicTypeKey.MeasurementUnit) + .SingleAsync(); + string typeId = type?.Id; + var queryable1 = db.Queryable() + .LeftJoin((a,b)=>a.unit_id==b.EnCode && b.DictionaryTypeId==typeId) + .Where((a,b) => a.Id == materialId) + .Select((a,b)=> new ElementSelectDto + { + value = b.EnCode, + label = b.FullName, + }); + var queryable2 = db.Queryable() + .LeftJoin((a,b)=>a.pickunit_id==b.EnCode && b.DictionaryTypeId==typeId) + .Where((a,b) => a.Id == materialId) + .Select((a,b)=> new ElementSelectDto + { + value = b.EnCode, + label = b.FullName, + }); + List data = await db.Union(queryable1, queryable2).ToListAsync(); + return data; + } + } +} \ No newline at end of file