重新组织目录
This commit is contained in:
8
BasicData/Tnb.BasicData.Entitys/DbName.cs
Normal file
8
BasicData/Tnb.BasicData.Entitys/DbName.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Tnb.BasicData.Entitys
|
||||
{
|
||||
public static class DbName
|
||||
{
|
||||
public const string TIANYIMON = "tianyi_mom";
|
||||
public const string TNBMON = "tnb_mom";
|
||||
}
|
||||
}
|
||||
10
BasicData/Tnb.BasicData.Entitys/DicTypeKey.cs
Normal file
10
BasicData/Tnb.BasicData.Entitys/DicTypeKey.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Tnb.BasicData.Entitys
|
||||
{
|
||||
public static class DicTypeKey
|
||||
{
|
||||
/// <summary>
|
||||
/// 计量单位
|
||||
/// </summary>
|
||||
public const string MeasurementUnit = "MeasurementUnit";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
namespace Tnb.BasicData.Entitys.Dto
|
||||
{
|
||||
public class ParentMaterialTreeOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
public string material_id { get; set; }
|
||||
/// <summary>
|
||||
/// 规格描述
|
||||
/// </summary>
|
||||
public string material_id_extras { get; set; }
|
||||
/// <summary>
|
||||
/// 物料id
|
||||
/// </summary>
|
||||
public string material_id_id { get; set; }
|
||||
/// <summary>
|
||||
/// 最小包装
|
||||
/// </summary>
|
||||
public decimal? material_id_minpacking { get; set; }
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string material_id_remark { get; set; }
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string material_id_unitid { get; set; }
|
||||
/// <summary>
|
||||
/// 是否有下级
|
||||
/// </summary>
|
||||
public bool hasChildren { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace Tnb.BasicData.Entitys.Dto
|
||||
{
|
||||
public class ParentMaterialTreeQueryInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料清单id
|
||||
/// </summary>
|
||||
public string parentMaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 物料id
|
||||
/// </summary>
|
||||
public string materialId { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using JNPF.Common.Security;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Dto.ProcessManage
|
||||
{
|
||||
/// <summary>
|
||||
/// 工艺路线模版左侧树输出参数
|
||||
/// </summary>
|
||||
public class RouteLineTreeOutput : TreeModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 工艺路线类型
|
||||
/// </summary>
|
||||
public string RouteType { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线类型名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线名称
|
||||
/// </summary>
|
||||
public string RouteName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工艺路线代码
|
||||
/// </summary>
|
||||
public string RouteCode { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线版本
|
||||
/// </summary>
|
||||
public string Version { get; set; }
|
||||
}
|
||||
}
|
||||
263
BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs
Normal file
263
BasicData/Tnb.BasicData.Entitys/Entity/BasMaterial.cs
Normal file
@@ -0,0 +1,263 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
namespace Tnb.BasicData.Entitys.Entity
|
||||
{
|
||||
///<summary>
|
||||
///物料信息
|
||||
///</summary>
|
||||
[SugarTable("bas_material")]
|
||||
public class BasMaterial : BaseEntity<string>
|
||||
{
|
||||
public BasMaterial(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
|
||||
public string Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:物料代码
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="material_code")]
|
||||
public string MaterialCode {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:物料名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="material_name")]
|
||||
public string MaterialName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:物料分类ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="categoryid")]
|
||||
public string Categoryid {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:单位ID,BAS_UNIT.ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="unitid")]
|
||||
public string Unitid {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:选择单位ID,BAS_UNIT.ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="pickunitid")]
|
||||
public string Pickunitid {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:单价
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="cost")]
|
||||
public decimal? Cost {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:毛重
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="grossweight")]
|
||||
public decimal? Grossweight {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:净重
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="netweight")]
|
||||
public decimal? Netweight {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:长
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="length")]
|
||||
public decimal? Length {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:宽
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="width")]
|
||||
public decimal? Width {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:高
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="high")]
|
||||
public decimal? High {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:体积
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="volumn")]
|
||||
public decimal? Volumn {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否免检
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="isexemption")]
|
||||
public int? Isexemption {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:安全库存
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="safeqty")]
|
||||
public decimal? Safeqty {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:保质期
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="qualityperiod")]
|
||||
public int? Qualityperiod {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最小包装
|
||||
/// Default:
|
||||
/// 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;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:先进先出间隔天数,批次间隔天数
|
||||
/// Default:
|
||||
/// 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;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_time")]
|
||||
public DateTime? CreateTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最后修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_time")]
|
||||
public DateTime? ModifyTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:扩展字段
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="extras")]
|
||||
public string Extras {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:海关编码
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="fhscode")]
|
||||
public string Fhscode {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:附属性
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="attribute")]
|
||||
public string Attribute {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:管控类型: 批管控:Lot 单管控:KeyParts 非管控:NoControl
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="controltype")]
|
||||
public string Controltype {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:备注
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="remark")]
|
||||
public string Remark {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建人员ID
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_id")]
|
||||
public string CreateId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最后修改人员ID
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_id")]
|
||||
public string ModifyId {get;set;}
|
||||
}
|
||||
}
|
||||
113
BasicData/Tnb.BasicData.Entitys/Entity/BasMaterialUnit.cs
Normal file
113
BasicData/Tnb.BasicData.Entitys/Entity/BasMaterialUnit.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Entity
|
||||
{
|
||||
///<summary>
|
||||
///物料单位
|
||||
///</summary>
|
||||
[SugarTable("bas_material_unit")]
|
||||
public class BasMaterialUnit : BaseEntity<string>
|
||||
{
|
||||
public BasMaterialUnit(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
|
||||
public string Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:物料ID,BAS_MATERIAL.ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="material_id")]
|
||||
public string MaterialId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:单位ID,BAS_UNIT.ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="unit_id")]
|
||||
public string UnitId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:比例
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="relation_qty")]
|
||||
public decimal RelationQty {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_time")]
|
||||
public DateTime CreateTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_time")]
|
||||
public DateTime? ModifyTime {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="org_id")]
|
||||
public string OrgId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:条码
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="bar_code")]
|
||||
public string BarCode {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:时间戳(用于并发控制)
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="timestamp")]
|
||||
public string Timestamp {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_id")]
|
||||
public string CreateId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_id")]
|
||||
public string ModifyId {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
129
BasicData/Tnb.BasicData.Entitys/Entity/BasParentMaterial.cs
Normal file
129
BasicData/Tnb.BasicData.Entitys/Entity/BasParentMaterial.cs
Normal file
@@ -0,0 +1,129 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Entity
|
||||
{
|
||||
///<summary>
|
||||
///物料清单父表
|
||||
///</summary>
|
||||
[SugarTable("bas_parent_material")]
|
||||
public class BasParentMaterial : BaseEntity<string>
|
||||
{
|
||||
public BasParentMaterial(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,ColumnName="id")]
|
||||
public string Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_time")]
|
||||
public DateTime? CreateTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_time")]
|
||||
public DateTime? ModifyTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:扩展字段
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="extras")]
|
||||
public string Extras {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:所属组织
|
||||
/// 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="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="quantity")]
|
||||
public string Quantity {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="status")]
|
||||
public string Status {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:创建用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="create_id")]
|
||||
public string CreateId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改用户
|
||||
/// Default:NULL::character varying
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="modify_id")]
|
||||
public string ModifyId {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
121
BasicData/Tnb.BasicData.Entitys/Entity/BasParentMaterialItems.cs
Normal file
121
BasicData/Tnb.BasicData.Entitys/Entity/BasParentMaterialItems.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Entity
|
||||
{
|
||||
///<summary>
|
||||
///物料清单子表
|
||||
///</summary>
|
||||
[SugarTable("bas_parent_material_items")]
|
||||
public class BasParentMaterialItems : BaseEntity<string>
|
||||
{
|
||||
public BasParentMaterialItems(){
|
||||
|
||||
|
||||
}
|
||||
/// <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="parent_material_id")]
|
||||
public string ParentMaterialId {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;}
|
||||
|
||||
}
|
||||
}
|
||||
88
BasicData/Tnb.BasicData.Entitys/Entity/BasRoute.cs
Normal file
88
BasicData/Tnb.BasicData.Entitys/Entity/BasRoute.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using JNPF.Common.Contracts;
|
||||
using SqlSugar;
|
||||
using Tnb.Common.Contracts;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Entity
|
||||
{
|
||||
/// <summary>
|
||||
/// 工艺路线资料
|
||||
///</summary>
|
||||
[SugarTable("bas_route")]
|
||||
public class BasRoute : BaseEntity<string>
|
||||
{
|
||||
/// <summary>
|
||||
/// 工艺路线代码
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "route_code")]
|
||||
public string RouteCode { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "route_name")]
|
||||
public string RouteName { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线版本
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "version")]
|
||||
public string Version { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线类型: 标准途程:Standard 返工途程:Rework 试制途程:Trial 返修途程:RMA
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "route_type")]
|
||||
public string RouteType { get; set; }
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "create_time")]
|
||||
public DateTime CreateTime { get; set; }
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "modify_time")]
|
||||
public DateTime? ModifyTime { get; set; }
|
||||
/// <summary>
|
||||
/// 扩展字段
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "extras")]
|
||||
public string? Extras { get; set; }
|
||||
/// <summary>
|
||||
/// 租户ID
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "tenant_id")]
|
||||
public string? TenantId { get; set; }
|
||||
/// <summary>
|
||||
/// 所属组织ID
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "org_id")]
|
||||
public string? OrgId { get; set; }
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "remark")]
|
||||
public string? Remark { get; set; }
|
||||
/// <summary>
|
||||
/// 时间戳(用于并发控制)
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "timestamp")]
|
||||
public string? Timestamp { get; set; }
|
||||
/// <summary>
|
||||
/// 创建用户
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "create_id")]
|
||||
public string? CreateId { get; set; }
|
||||
/// <summary>
|
||||
/// 修改用户
|
||||
/// 默认值: NULL::character varying
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "modify_id")]
|
||||
public string? ModifyId { get; set; }
|
||||
}
|
||||
}
|
||||
15
BasicData/Tnb.BasicData.Entitys/Mapper/Mapper.cs
Normal file
15
BasicData/Tnb.BasicData.Entitys/Mapper/Mapper.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entitys.Dto.ProcessManage;
|
||||
using Tnb.BasicData.Entitys.Entity;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Mapper
|
||||
{
|
||||
public class Mapper : IRegister
|
||||
{
|
||||
public void Register(TypeAdapterConfig config)
|
||||
{
|
||||
config.ForType<BasRoute, RouteLineTreeOutput>();
|
||||
}
|
||||
}
|
||||
}
|
||||
33
BasicData/Tnb.BasicData.Entitys/Model/RouteModel.cs
Normal file
33
BasicData/Tnb.BasicData.Entitys/Model/RouteModel.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Tnb.BasicData.Entitys.Model
|
||||
{
|
||||
public class RouteTree
|
||||
{
|
||||
/// <summary>
|
||||
/// 工艺路线类型
|
||||
/// </summary>
|
||||
public string RouteType { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线名称
|
||||
/// </summary>
|
||||
public List<RouteName> RouteName { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class RouteName
|
||||
{
|
||||
public string Tag { get; set; }
|
||||
/// <summary>
|
||||
/// 工艺路线版本
|
||||
/// </summary>
|
||||
public List<string> RouteVersion { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
14
BasicData/Tnb.BasicData.Entitys/Tnb.BasicData.Entitys.csproj
Normal file
14
BasicData/Tnb.BasicData.Entitys/Tnb.BasicData.Entitys.csproj
Normal file
@@ -0,0 +1,14 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\common\Tnb.Common\Tnb.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Tnb.BasicData.Entitys\Tnb.BasicData.Entitys.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
96
BasicData/Tnb.BasicData/ParentMaterialService.cs
Normal file
96
BasicData/Tnb.BasicData/ParentMaterialService.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
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;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料清单
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Tag = "BasicData", Name = "ParentMaterial", Order = 701)]
|
||||
[Route("api/basic/[controller]")]
|
||||
public class ParentMaterialService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasMaterial> _repository;
|
||||
private readonly DataBaseManager _dbManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
|
||||
public ParentMaterialService(
|
||||
ISqlSugarRepository<BasMaterial> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
|
||||
{
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
_dictionaryDataService = dictionaryDataService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料清单树.
|
||||
/// </summary>
|
||||
/// <param name="input">获取物料清单树.</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("[action]")]
|
||||
public async Task<dynamic> GetTree(ParentMaterialTreeQueryInput queryInput)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(queryInput.materialId))
|
||||
{
|
||||
var data = await db.Queryable<BasParentMaterialItems>()
|
||||
.LeftJoin<BasParentMaterial>((a,b)=>a.ParentMaterialId==b.Id)
|
||||
.LeftJoin<BasMaterial>((a,b,c)=>a.MaterialId==c.Id)
|
||||
.Where((a,b,c)=>a.ParentMaterialId==queryInput.parentMaterialId)
|
||||
.Select((a,b,c)=>new ParentMaterialTreeOutput
|
||||
{
|
||||
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,
|
||||
hasChildren = SqlFunc.Subqueryable<BasParentMaterial>().Where(x=>x.MaterialId==a.MaterialId).Any(),
|
||||
}).Mapper(it =>
|
||||
{
|
||||
it.material_id_unitid = dic[it.material_id_unitid].ToString();
|
||||
}).ToListAsync();
|
||||
return data;
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = await db.Queryable<BasParentMaterialItems>()
|
||||
.LeftJoin<BasParentMaterial>((a,b)=>a.ParentMaterialId==b.Id)
|
||||
.LeftJoin<BasMaterial>((a,b,c)=>a.MaterialId==c.Id)
|
||||
.Where((a,b,c)=>b.MaterialId==queryInput.materialId && a.ParentMaterialId==b.Id)
|
||||
.Select((a,b,c)=>new ParentMaterialTreeOutput
|
||||
{
|
||||
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,
|
||||
hasChildren = SqlFunc.Subqueryable<BasParentMaterial>().Where(x=>x.MaterialId==a.MaterialId).Any(),
|
||||
}).Mapper(it =>
|
||||
{
|
||||
it.material_id_unitid = dic[it.material_id_unitid].ToString();
|
||||
}).ToListAsync();
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
142
BasicData/Tnb.BasicData/ProcessManageService.cs
Normal file
142
BasicData/Tnb.BasicData/ProcessManageService.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
using System.CodeDom;
|
||||
using Aop.Api.Domain;
|
||||
using Aop.Api.Request;
|
||||
using Aspose.Cells;
|
||||
using JNPF.Common.Core.Manager;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Spire.Presentation;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entitys.Dto.ProcessManage;
|
||||
using Tnb.BasicData.Entitys.Entity;
|
||||
using Tnb.BasicData.Entitys.Model;
|
||||
|
||||
namespace Tnb.BasicData
|
||||
{
|
||||
/// <summary>
|
||||
/// MOM基础数据-工艺管理
|
||||
/// </summary>
|
||||
|
||||
[ApiDescriptionSettings(Tag = "BasicData", Name = "ProcessManage", Order = 700)]
|
||||
[Route("api/basic/[controller]")]
|
||||
public class ProcessManageService : IOverideVisualDevService, IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<BasRoute> _repository;
|
||||
private readonly DataBaseManager _dbManager;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
private readonly string _dictionaryTypeId;
|
||||
|
||||
public ProcessManageService(
|
||||
IDictionaryDataService dictionaryDataService,
|
||||
ISqlSugarRepository<BasRoute> repository,
|
||||
DataBaseManager dbManager)
|
||||
{
|
||||
_dictionaryDataService = dictionaryDataService;
|
||||
_repository = repository;
|
||||
_dbManager = dbManager;
|
||||
_dictionaryTypeId = "24950639717653";
|
||||
}
|
||||
|
||||
public OverideVisualDevFunc OverideFuncs => new OverideVisualDevFunc();
|
||||
|
||||
/// <summary>
|
||||
/// 获取工艺路线树形结构
|
||||
/// </summary>
|
||||
/// <returns>工艺路线模版树形结构</returns>
|
||||
/// <remarks>
|
||||
///<br/> [{
|
||||
///<br/> "RouteType": 工艺路线类型,
|
||||
///<br/> "Name": 工艺路线类型名称,
|
||||
///<br/> "RouteName": 工艺路线名称,
|
||||
///<br/> "RouteCode": 工艺路线代码,
|
||||
///<br/> "Version": 工艺路线版本,
|
||||
///<br/> "id": "25325800913429",
|
||||
///<br/> "parentId": null,
|
||||
///<br/> "hasChildren": true,
|
||||
///<br/> "children": [{
|
||||
///<br/> "RouteType": 工艺路线类型,
|
||||
///<br/> "Name": 工艺路线名称|工艺路线版本,
|
||||
///<br/> "RouteName": "显示器集成",
|
||||
///<br/> "RouteCode": 工艺路线代码,
|
||||
///<br/> "Version": 工艺路线版本,
|
||||
///<br/> "id": 当前节点Id,不用可以忽略,
|
||||
///<br/> "parentId": "父节点Id,不用可以忽略",
|
||||
///<br/> "hasChildren": 是否包含子节点,true/false,
|
||||
///<br/> "children": [{
|
||||
///<br/> "Version": 工艺路线版本,
|
||||
///<br/> }
|
||||
///<br/> ],
|
||||
///<br/> "num": 子节点数量,不用可以忽略,
|
||||
///<br/> "isLeaf": 是否页节点,不用可以忽略 true/false
|
||||
///<br/> }
|
||||
///<br/> ]
|
||||
///<br/>}
|
||||
///<br/>]
|
||||
/// </remarks>
|
||||
[HttpGet("route-tree")]
|
||||
public async Task<dynamic> GetRouteTreeList()
|
||||
{
|
||||
var result = new List<RouteLineTreeOutput>();
|
||||
var dictaryDataList = await _dictionaryDataService.GetList(_dictionaryTypeId);
|
||||
var dictaryData = dictaryDataList.ToDictionary(x => x.EnCode, x => x.FullName);
|
||||
SqlSugarScope sugarClient = null!;
|
||||
var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == "tnb_mom");
|
||||
if (momDbLink != null)
|
||||
{
|
||||
sugarClient = _dbManager.ChangeDataBase(momDbLink);
|
||||
}
|
||||
var list = await sugarClient.Queryable<BasRoute>().ToListAsync();
|
||||
if (list?.Count > 0)
|
||||
{
|
||||
var routeGroups = list.GroupBy(g => g.RouteType);
|
||||
var dic1 = routeGroups.ToDictionary(x => x.Key, x => Tuple.Create(new RouteLineTreeOutput
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
RouteType = x.Key,
|
||||
Name = dictaryData.ContainsKey(x.Key) ? dictaryData[x.Key] : string.Empty
|
||||
}, x.GroupBy(g => new { g.RouteName, g.RouteCode })));
|
||||
result.AddRange(dic1.Values.Select(t => t.Item1));
|
||||
foreach (var routeGroup in routeGroups)
|
||||
{
|
||||
if (dic1.ContainsKey(routeGroup.Key))
|
||||
{
|
||||
var nodes = new List<RouteLineTreeOutput>();
|
||||
foreach (var item in dic1[routeGroup.Key].Item2)
|
||||
{
|
||||
var node = new RouteLineTreeOutput();
|
||||
node.id = SnowflakeIdHelper.NextId();
|
||||
node.parentId = dic1[routeGroup.Key].Item1.id;
|
||||
node.Name = $"{item.Key.RouteName}|{item.Key.RouteCode}";
|
||||
node.RouteName = item.Key.RouteName;
|
||||
node.RouteCode = item.Key.RouteCode;
|
||||
nodes.Add(node);
|
||||
}
|
||||
result.AddRange(nodes);
|
||||
var dic2 = nodes.ToDictionary(x => x.Name, x => x.id);
|
||||
foreach (var item in dic1[routeGroup.Key].Item2)
|
||||
{
|
||||
if (dic2.ContainsKey($"{item.Key.RouteName}|{item.Key.RouteCode}"))
|
||||
{
|
||||
result.AddRange(item.Select(x => new RouteLineTreeOutput
|
||||
{
|
||||
id = SnowflakeIdHelper.NextId(),
|
||||
parentId = dic2[$"{item.Key.RouteName}|{item.Key.RouteCode}"],
|
||||
Name = x.Version,
|
||||
Version = x.Version,
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return new { list = result.ToTree() };
|
||||
}
|
||||
}
|
||||
}
|
||||
16
BasicData/Tnb.BasicData/Tnb.BasicData.csproj
Normal file
16
BasicData/Tnb.BasicData/Tnb.BasicData.csproj
Normal file
@@ -0,0 +1,16 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$(SolutionDir)\common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\visualdev\Tnb.VisualDev.Engine\Tnb.VisualDev.Engine.csproj" />
|
||||
<ProjectReference Include="..\Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user