改字段名

This commit is contained in:
2023-04-24 16:57:53 +08:00
parent 83350bf3c1
commit ca15917996
9 changed files with 365 additions and 257 deletions

View File

@@ -1,4 +1,4 @@
namespace Tnb.BasicData.Entitys
namespace Tnb.BasicData.Entitys.Const
{
public static class DicTypeKey
{

View File

@@ -1,8 +0,0 @@
namespace Tnb.BasicData.Entitys
{
public static class DbName
{
public const string TIANYIMON = "tianyi_mom";
public const string TNBMON = "tnb_mom";
}
}

View File

@@ -0,0 +1,9 @@
namespace Tnb.BasicData.Entitys
{
public class ElementSelectDto
{
public string label { get; set; }
public string value { get; set; }
}
}

View File

@@ -9,7 +9,7 @@ namespace Tnb.BasicData.Entitys.Dto
/// <summary>
/// 规格描述
/// </summary>
public string material_id_extras { get; set; }
public string material_id_descrip { get; set; }
/// <summary>
/// 物料id
/// </summary>
@@ -25,7 +25,7 @@ namespace Tnb.BasicData.Entitys.Dto
/// <summary>
/// 单位
/// </summary>
public string material_id_unitid { get; set; }
public string material_id_unit_id { get; set; }
/// <summary>
/// 是否有下级
/// </summary>
@@ -64,14 +64,14 @@ namespace Tnb.BasicData.Entitys.Dto
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string substitute_material {get;set;}
public string substitute_material_id {get;set;}
/// <summary>
/// Desc:工艺路线
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string routing {get;set;}
public string route_name {get;set;}
/// <summary>
/// Desc:版本号

View File

@@ -9,113 +9,105 @@ namespace Tnb.BasicData.Entitys.Entity
[SugarTable("bas_ebom_d")]
public class BasEbomD : BaseEntity<string>
{
public BasEbomD(){
public BasEbomD(){
}
/// <summary>
/// Desc:主键
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public string Id {get;set;}
}
/// <summary>
/// Desc:主键
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public string id {get;set;}
/// <summary>
/// Desc:扩展字段
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="extras")]
public string Extras {get;set;}
/// <summary>
/// Desc:父件物料ID
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="ebom_id")]
public string EbomId {get;set;}
/// <summary>
/// Desc:物料编号/名称
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_id")]
public string MaterialId {get;set;}
/// <summary>
/// Desc:规格描述
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="descrip")]
public string Descrip {get;set;}
/// <summary>
/// Desc:单位
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="unit")]
public string Unit {get;set;}
/// <summary>
/// Desc:数量
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="quantity")]
public string Quantity {get;set;}
/// <summary>
/// Desc:损耗率
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="loss_rate")]
public string LossRate {get;set;}
/// <summary>
/// Desc:替代物料
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="substitute_material")]
public string SubstituteMaterial {get;set;}
/// <summary>
/// Desc:投料管控
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="feeding_control")]
public string FeedingControl {get;set;}
/// <summary>
/// Desc:需要称量
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="require_weight")]
public string RequireWeight {get;set;}
/// <summary>
/// Desc:版本号
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="version")]
public string Version {get;set;}
/// <summary>
/// Desc:工艺路线
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="routing")]
public string Routing {get;set;}
/// <summary>
/// Desc:父件物料ID
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="ebom_id")]
public string ebom_id {get;set;}
/// <summary>
/// Desc:物料编号/名称
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_id")]
public string material_id {get;set;}
/// <summary>
/// Desc:规格描述
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="descrip")]
public string descrip {get;set;}
/// <summary>
/// Desc:单位id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="unit_id")]
public string unit_id {get;set;}
/// <summary>
/// Desc:数量
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="quantity")]
public string quantity {get;set;}
/// <summary>
/// Desc:损耗率
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="loss_rate")]
public string loss_rate {get;set;}
/// <summary>
/// Desc:替代物料
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="substitute_material_id")]
public string substitute_material_id {get;set;}
/// <summary>
/// Desc:投料管控
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="feeding_control")]
public string feeding_control {get;set;}
/// <summary>
/// Desc:需要称量
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="require_weight")]
public string require_weight {get;set;}
/// <summary>
/// Desc:版本号
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="version")]
public string version {get;set;}
/// <summary>
/// Desc:工艺路线
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="route_id")]
public string route_id {get;set;}
}
}

View File

@@ -19,7 +19,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public string Id {get;set;}
public string id {get;set;}
/// <summary>
/// Desc:创建时间
@@ -27,7 +27,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_time")]
public DateTime? CreateTime {get;set;}
public DateTime? create_time {get;set;}
/// <summary>
/// Desc:修改时间
@@ -35,7 +35,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="modify_time")]
public DateTime? ModifyTime {get;set;}
public DateTime? modify_time {get;set;}
/// <summary>
/// Desc:扩展字段
@@ -43,7 +43,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="extras")]
public string Extras {get;set;}
public string extras {get;set;}
/// <summary>
/// Desc:所属组织
@@ -51,7 +51,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="org_id")]
public string OrgId {get;set;}
public string org_id {get;set;}
/// <summary>
/// Desc:成品物料编号/名称
@@ -59,7 +59,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_id")]
public string MaterialId {get;set;}
public string material_id {get;set;}
/// <summary>
/// Desc:规格描述
@@ -67,7 +67,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="descrip")]
public string Descrip {get;set;}
public string descrip {get;set;}
/// <summary>
/// Desc:数量
@@ -75,15 +75,15 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="quantity")]
public string Quantity {get;set;}
public string quantity {get;set;}
/// <summary>
/// Desc:单位
/// Desc:单位id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="unit")]
public string Unit {get;set;}
[SugarColumn(ColumnName="unit_id")]
public string unit_id {get;set;}
/// <summary>
/// Desc:状态
@@ -91,7 +91,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="status")]
public string Status {get;set;}
public string status {get;set;}
/// <summary>
/// Desc:版本号
@@ -99,15 +99,15 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="version")]
public string Version {get;set;}
public string version {get;set;}
/// <summary>
/// Desc:工艺路线
/// Desc:工艺路线id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="routing")]
public string Routing {get;set;}
[SugarColumn(ColumnName="route_id")]
public string route_id {get;set;}
/// <summary>
/// Desc:创建用户
@@ -115,7 +115,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_id")]
public string CreateId {get;set;}
public string create_id {get;set;}
/// <summary>
/// Desc:修改用户
@@ -123,7 +123,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="modify_id")]
public string ModifyId {get;set;}
public string modify_id {get;set;}
}
}

View File

@@ -18,47 +18,42 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
public string Id {get;set;}
public string id {get;set;}
/// <summary>
/// Desc:物料代码
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="material_code")]
public string MaterialCode {get;set;}
public string code {get;set;}
/// <summary>
/// Desc:物料名称
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="material_name")]
public string MaterialName {get;set;}
public string name {get;set;}
/// <summary>
/// Desc:物料分类ID
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="categoryid")]
public string Categoryid {get;set;}
public string category_id {get;set;}
/// <summary>
/// Desc:单位ID,BAS_UNIT.ID
/// Desc:单位ID
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="unitid")]
public string Unitid {get;set;}
public string unit_id {get;set;}
/// <summary>
/// Desc:选择单位ID,BAS_UNIT.ID
/// Desc:辅助单位id
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="pickunitid")]
public string Pickunitid {get;set;}
public string pickunit_id {get;set;}
/// <summary>
/// Desc:单价
@@ -66,7 +61,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="cost")]
public decimal? Cost {get;set;}
public decimal? cost {get;set;}
/// <summary>
/// Desc:毛重
@@ -74,7 +69,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="grossweight")]
public decimal? Grossweight {get;set;}
public decimal? grossweight {get;set;}
/// <summary>
/// Desc:净重
@@ -82,7 +77,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="netweight")]
public decimal? Netweight {get;set;}
public decimal? netweight {get;set;}
/// <summary>
/// Desc:长
@@ -90,7 +85,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="length")]
public decimal? Length {get;set;}
public decimal? length {get;set;}
/// <summary>
/// Desc:宽
@@ -98,7 +93,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="width")]
public decimal? Width {get;set;}
public decimal? width {get;set;}
/// <summary>
/// Desc:高
@@ -106,7 +101,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="high")]
public decimal? High {get;set;}
public decimal? high {get;set;}
/// <summary>
/// Desc:体积
@@ -114,7 +109,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="volumn")]
public decimal? Volumn {get;set;}
public decimal? volumn {get;set;}
/// <summary>
/// Desc:是否免检
@@ -122,7 +117,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="isexemption")]
public int? Isexemption {get;set;}
public int? isexemption {get;set;}
/// <summary>
/// Desc:安全库存
@@ -130,7 +125,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="safeqty")]
public decimal? Safeqty {get;set;}
public decimal? safeqty {get;set;}
/// <summary>
/// Desc:保质期
@@ -138,7 +133,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="qualityperiod")]
public int? Qualityperiod {get;set;}
public int? qualityperiod {get;set;}
/// <summary>
/// Desc:最小包装
@@ -146,15 +141,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="minpacking")]
public decimal? Minpacking {get;set;}
/// <summary>
/// Desc:是否先进先出管控
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="fifo")]
public int? Fifo {get;set;}
public decimal? minpacking {get;set;}
/// <summary>
/// Desc:先进先出间隔天数,批次间隔天数
@@ -162,31 +149,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="fifo_interval_days")]
public int? FifoIntervalDays {get;set;}
/// <summary>
/// Desc:所属组织ID
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="org_id")]
public string OrgId {get;set;}
/// <summary>
/// Desc:是否过期允许出库
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="expireout")]
public string Expireout {get;set;}
/// <summary>
/// Desc:物料规格型号
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_standard")]
public string MaterialStandard {get;set;}
public int? fifo_interval_days {get;set;}
/// <summary>
/// Desc:创建时间
@@ -194,7 +157,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_time")]
public DateTime? CreateTime {get;set;}
public DateTime? create_time {get;set;}
/// <summary>
/// Desc:最后修改时间
@@ -202,7 +165,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="modify_time")]
public DateTime? ModifyTime {get;set;}
public DateTime? modify_time {get;set;}
/// <summary>
/// Desc:扩展字段
@@ -210,7 +173,39 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="extras")]
public string Extras {get;set;}
public string extras {get;set;}
/// <summary>
/// Desc:所属组织ID
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="org_id")]
public string org_id {get;set;}
/// <summary>
/// Desc:是否过期允许出库
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="expireout")]
public string expireout {get;set;}
/// <summary>
/// Desc:是否先进先出管控
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="fifo")]
public string fifo {get;set;}
/// <summary>
/// Desc:物料规格型号
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_standard")]
public string material_standard {get;set;}
/// <summary>
/// Desc:海关编码
@@ -218,7 +213,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="fhscode")]
public string Fhscode {get;set;}
public string fhscode {get;set;}
/// <summary>
/// Desc:附属性
@@ -226,7 +221,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="attribute")]
public string Attribute {get;set;}
public string attribute {get;set;}
/// <summary>
/// Desc:管控类型: 批管控Lot 单管控KeyParts 非管控NoControl
@@ -234,7 +229,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="controltype")]
public string Controltype {get;set;}
public string controltype {get;set;}
/// <summary>
/// Desc:备注
@@ -242,7 +237,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="remark")]
public string Remark {get;set;}
public string remark {get;set;}
/// <summary>
/// Desc:创建人员ID
@@ -250,7 +245,7 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="create_id")]
public string CreateId {get;set;}
public string create_id {get;set;}
/// <summary>
/// Desc:最后修改人员ID
@@ -258,6 +253,38 @@ namespace Tnb.BasicData.Entitys.Entity
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="modify_id")]
public string ModifyId {get;set;}
public string modify_id {get;set;}
/// <summary>
/// Desc:状态
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="state")]
public string state {get;set;}
/// <summary>
/// Desc:物料属性
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="material_property")]
public string material_property {get;set;}
/// <summary>
/// Desc:标签
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="label")]
public string label {get;set;}
/// <summary>
/// Desc:描述
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string descrip {get;set;}
}
}

View File

@@ -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<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
if (momDbLink != null)
{
db = _dbManager.ChangeDataBase(momDbLink);
}
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null)
// {
// db = _dbManager.ChangeDataBase(momDbLink);
// }
if (string.IsNullOrEmpty(queryInput.materialId))
{
var data = await db.Queryable<BasEbomD>()
.LeftJoin<BasEbomH>((a,b)=>a.EbomId==b.Id)
.LeftJoin<BasMaterial>((a,b,c)=>a.MaterialId==c.Id)
.LeftJoin<BasEbomH>((a,b,c,d)=>a.MaterialId==d.MaterialId)
.Where((a,b,c)=>a.EbomId==queryInput.ebomId)
.Select((a,b,c,d)=>new EbomTreeOutput
.LeftJoin<BasEbomH>((a,b)=>a.ebom_id==b.Id)
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.Id)
.LeftJoin<BasEbomH>((a,b,c,d)=>a.material_id==d.material_id)
.LeftJoin<BasRoute>((a,b,c,d,e)=>d.route_id==e.Id)
.LeftJoin<BasMaterial>((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<BasEbomH>().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<BasEbomH>().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<BasEbomD>()
.LeftJoin<BasEbomH>((a,b)=>a.EbomId==b.Id)
.LeftJoin<BasMaterial>((a,b,c)=>a.MaterialId==c.Id)
.LeftJoin<BasEbomH>((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<BasEbomH>((a,b)=>a.ebom_id==b.Id)
.LeftJoin<BasMaterial>((a,b,c)=>a.material_id==c.Id)
.LeftJoin<BasEbomH>((a,b,c,d)=>a.material_id==d.material_id)
.LeftJoin<BasRoute>((a,b,c,d,e)=>d.route_id==e.Id)
.LeftJoin<BasMaterial>((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<BasEbomH>().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<BasEbomH>().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<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
if (momDbLink != null)
{
db = _dbManager.ChangeDataBase(momDbLink);
}
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null)
// {
// db = _dbManager.ChangeDataBase(momDbLink);
// }
var ebom = await db.Queryable<BasEbomH>()
.LeftJoin<BasRoute>((a,b)=>a.Routing==b.Id)
.Where((a,b) => a.MaterialId == materialId)
.LeftJoin<BasRoute>((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<string,string>()
{
["version"] = ebom?.Version,
["version"] = ebom?.version,
["routeName"] = ebom?.Name
,
};

View File

@@ -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
{
/// <summary>
/// 物料档案
/// </summary>
[ApiDescriptionSettings(Tag = "BasicData", Name = "Material", Order = 700)]
[Route("api/basic/[controller]")]
public class MaterialService : IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasMaterial> _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
public MaterialService(
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
{
_repository = repository;
_dbManager = dbManager;
_dictionaryDataService = dictionaryDataService;
}
[HttpPost("[action]")]
public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(string materialId)
{
var db = _repository.AsSugarClient();
var dic = await _dictionaryDataService.GetDicByKey(DicTypeKey.MeasurementUnit);
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// if (momDbLink != null)
// {
// db = _dbManager.ChangeDataBase(momDbLink);
// }
var ebom = await db.Queryable<BasEbomH>()
.LeftJoin<BasRoute>((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<string,string>()
{
["version"] = ebom?.version,
["routeName"] = ebom?.Name,
["routeId"] = ebom?.id
};
}
[HttpPost("[action]")]
public async Task<List<ElementSelectDto>> GetMaterialUnits(string materialId)
{
var db = _repository.AsSugarClient();
var type = await db.Queryable<DictionaryTypeEntity>().Where(x => x.EnCode == DicTypeKey.MeasurementUnit)
.SingleAsync();
string typeId = type?.Id;
var queryable1 = db.Queryable<BasMaterial>()
.LeftJoin<DictionaryDataEntity>((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<BasMaterial>()
.LeftJoin<DictionaryDataEntity>((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<ElementSelectDto> data = await db.Union(queryable1, queryable2).ToListAsync();
return data;
}
}
}