修改命名空间

This commit is contained in:
2023-04-26 16:25:40 +08:00
parent 631bb0c0e8
commit a2eb375553
21 changed files with 805 additions and 198 deletions

View File

@@ -1,4 +1,4 @@
namespace Tnb.BasicData.Entitys;
namespace Tnb.BasicData;
public static class DictConst
{

View File

@@ -1,7 +1,7 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entitys.Entity
namespace Tnb.BasicData.Entities
{
///<summary>
///物料清单子表

View File

@@ -1,7 +1,7 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entitys.Entity
namespace Tnb.BasicData.Entities
{
///<summary>
///物料清单父表

View File

@@ -1,6 +1,6 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entitys.Entity
namespace Tnb.BasicData.Entities
{
///<summary>
///物料信息

View File

@@ -1,7 +1,7 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entitys.Entity
namespace Tnb.BasicData.Entities
{
///<summary>
///物料单位

View File

@@ -0,0 +1,129 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///生产bom
///</summary>
[SugarTable("bas_mbom")]
public class BasMbom : BaseEntity<string>
{
public BasMbom(){
}
/// <summary>
/// Desc:扩展字段
/// Default:
/// Nullable:True
/// </summary>
public string extras {get;set;}
/// <summary>
/// Desc:物料id
/// Default:
/// Nullable:False
/// </summary>
public string material_id {get;set;}
/// <summary>
/// Desc:数量
/// Default:
/// Nullable:False
/// </summary>
public int num {get;set;}
/// <summary>
/// Desc:有效结束时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? end_time {get;set;}
/// <summary>
/// Desc:所属组织id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id {get;set;}
/// <summary>
/// Desc:单位
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string unit_id {get;set;}
/// <summary>
/// Desc:备注
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string remark {get;set;}
/// <summary>
/// Desc:有效开始时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? start_time {get;set;}
/// <summary>
/// Desc:工艺路线id
/// Default:
/// Nullable:False
/// </summary>
public string route_id {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? create_time {get;set;}
/// <summary>
/// Desc:修改时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? modify_time {get;set;}
/// <summary>
/// Desc:版本号
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string version {get;set;}
/// <summary>
/// Desc:物料清单id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string ebom_id {get;set;}
/// <summary>
/// Desc:物料均在首道工序投产
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string is_first {get;set;}
/// <summary>
/// Desc:创建用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string create_id {get;set;}
/// <summary>
/// Desc:修改用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string modify_id {get;set;}
}
}

View File

@@ -0,0 +1,58 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///生产bom子表投入物料
///</summary>
[SugarTable("bas_mbom_input")]
public class BasMbomInput : BaseEntity<string>
{
public BasMbomInput()
{
}
/// <summary>
/// Desc:生产bomid
/// Default:
/// Nullable:False
/// </summary>
public string mbom_id { get; set; }
/// <summary>
/// Desc:生产bom子表id
/// Default:
/// Nullable:False
/// </summary>
public string mbom_process_id { get; set; }
/// <summary>
/// Desc:工序id
/// Default:
/// Nullable:False
/// </summary>
public string process_id { get; set; }
/// <summary>
/// Desc:物料id
/// Default:
/// Nullable:False
/// </summary>
public string material_id { get; set; }
/// <summary>
/// Desc:数量
/// Default:
/// Nullable:False
/// </summary>
public int num { get; set; }
/// <summary>
/// Desc:所属组织id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///生产bom子表产出物料
///</summary>
[SugarTable("bas_mbom_output")]
public class BasMbomOutput : BaseEntity<string>
{
public BasMbomOutput()
{
}
/// <summary>
/// Desc:生产bomid
/// Default:
/// Nullable:False
/// </summary>
public string mbom_id { get; set; }
/// <summary>
/// Desc:工序id
/// Default:
/// Nullable:False
/// </summary>
public string process_id { get; set; }
/// <summary>
/// Desc:物料id
/// Default:
/// Nullable:False
/// </summary>
public string material_id { get; set; }
/// <summary>
/// Desc:生产bom子表id
/// Default:
/// Nullable:False
/// </summary>
public string mbom_process_id { get; set; }
/// <summary>
/// Desc:产出数量(可小数分数)
/// Default:
/// Nullable:False
/// </summary>
public string num { get; set; }
/// <summary>
/// Desc:所属组织id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id { get; set; }
}
}

View File

@@ -0,0 +1,51 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///生产bom子表物料信息
///</summary>
[SugarTable("bas_mbom_output_ext")]
public class BasMbomOutputExt : BaseEntity<string>
{
public BasMbomOutputExt()
{
}
/// <summary>
/// Desc:工序id
/// Default:
/// Nullable:False
/// </summary>
public string process_id { get; set; }
/// <summary>
/// Desc:生产bomid
/// Default:
/// Nullable:False
/// </summary>
public string mbom_id { get; set; }
/// <summary>
/// Desc:生产bom子表id
/// Default:
/// Nullable:False
/// </summary>
public string mbom_process_id { get; set; }
/// <summary>
/// Desc:副产出管控 0 不启用 1 启用
/// Default:
/// Nullable:False
/// </summary>
public string byproduct_status { get; set; }
/// <summary>
/// Desc:所属组织id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id { get; set; }
}
}

View File

@@ -0,0 +1,51 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///生产bom子表
///</summary>
[SugarTable("bas_mbom_process")]
public class BasMbomProcess : BaseEntity<string>
{
public BasMbomProcess()
{
}
/// <summary>
/// Desc:所属组织id
/// Default:
/// Nullable:False
/// </summary>
public string org_id { get; set; }
/// <summary>
/// Desc:生产bomid
/// Default:
/// Nullable:False
/// </summary>
public string mbom_id { get; set; }
/// <summary>
/// Desc:工序id
/// Default:
/// Nullable:False
/// </summary>
public string process_id { get; set; }
/// <summary>
/// Desc:准备时间
/// Default:
/// Nullable:False
/// </summary>
public decimal preparation_time { get; set; }
/// <summary>
/// Desc:工位
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string station { get; set; }
}
}

View File

@@ -1,118 +0,0 @@
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>
{
public BasRoute(){
}
/// <summary>
/// Desc:编号
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="code")]
public string Code {get;set;}
/// <summary>
/// Desc:名称
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="name")]
public string Name {get;set;}
/// <summary>
/// Desc:有效开始时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="start_time")]
public DateTime? StartTime {get;set;}
/// <summary>
/// Desc:有效结束时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="end_time")]
public DateTime? EndTime {get;set;}
/// <summary>
/// Desc:0 未发布 1 已发布
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="status")]
public string Status {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:False
/// </summary>
[SugarColumn(ColumnName="is_always_valid")]
public int IsAlwaysValid {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="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;}
/// <summary>
/// Desc:备注
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="remark")]
public string Remark {get;set;}
}
}

View File

@@ -0,0 +1,156 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///工艺路线子表
///</summary>
[SugarTable("bas_route_d")]
public class BasRouteD : BaseEntity<string>
{
public BasRouteD()
{
}
/// <summary>
/// Desc:工艺路线ID
/// Default:
/// Nullable:False
/// </summary>
public string route_id { get; set; }
/// <summary>
/// Desc:工序id
/// Default:
/// Nullable:False
/// </summary>
public string process_id { get; set; }
/// <summary>
/// Desc:处理时间
/// Default:
/// Nullable:True
/// </summary>
public decimal? process_time { get; set; }
/// <summary>
/// Desc:排序码
/// Default:
/// Nullable:True
/// </summary>
public long? ordinal { get; set; }
/// <summary>
/// Desc:状态
/// Default:
/// Nullable:True
/// </summary>
public int? status { get; set; }
/// <summary>
/// Desc:准备时间(秒)
/// Default:
/// Nullable:True
/// </summary>
public decimal? preparation_time { get; set; }
/// <summary>
/// Desc:产出比
/// Default:
/// Nullable:True
/// </summary>
public decimal? output_ratio { get; set; }
/// <summary>
/// Desc:所属组织id
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id { get; set; }
/// <summary>
/// Desc:工序代码
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string process_code { get; set; }
/// <summary>
/// Desc:工序名称
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string process_name { get; set; }
/// <summary>
/// Desc:备注
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string remark { get; set; }
/// <summary>
/// Desc:单次扫码
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string single_scan_type { get; set; }
/// <summary>
/// Desc:工位
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string station { get; set; }
/// <summary>
/// Desc:一码到底
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string only_scan_type { get; set; }
/// <summary>
/// Desc:用料追溯关系
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string material_traced_back_relationship { get; set; }
/// <summary>
/// Desc:不合格产品投产
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string defective_products_put_into_production { get; set; }
/// <summary>
/// Desc:报告模板
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string report_template { get; set; }
/// <summary>
/// Desc:附件
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string attachment { get; set; }
/// <summary>
/// Desc:接续方式 1 前序结束之后可以开始 2 前序开始后可以开始
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string connection_method { get; set; }
/// <summary>
/// Desc:生产描述
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string descrip { get; set; }
}
}

View File

@@ -0,0 +1,107 @@
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entities
{
///<summary>
///工艺路线
///</summary>
[SugarTable("bas_route_h")]
public class BasRouteH : BaseEntity<string>
{
public BasRouteH()
{
}
/// <summary>
/// Desc:编号
/// Default:
/// Nullable:False
/// </summary>
public string code { get; set; }
/// <summary>
/// Desc:名称
/// Default:
/// Nullable:False
/// </summary>
public string name { get; set; }
/// <summary>
/// Desc:有效开始时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? start_time { get; set; }
/// <summary>
/// Desc:有效结束时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? end_time { get; set; }
/// <summary>
/// Desc:0 未发布 1 已发布
/// Default:
/// Nullable:False
/// </summary>
public string status { get; set; }
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? create_time { get; set; }
/// <summary>
/// Desc:修改时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? modify_time { get; set; }
/// <summary>
/// Desc:是否永远有效
/// Default:
/// Nullable:False
/// </summary>
public int is_always_valid { get; set; }
/// <summary>
/// Desc:扩展字段
/// Default:
/// Nullable:True
/// </summary>
public string extras { get; set; }
/// <summary>
/// Desc:所属组织ID
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string org_id { get; set; }
/// <summary>
/// Desc:创建用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string create_id { get; set; }
/// <summary>
/// Desc:修改用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string modify_id { get; set; }
/// <summary>
/// Desc:备注
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string remark { get; set; }
}
}

View File

@@ -1,15 +1,14 @@
using Mapster;
using SqlSugar;
using Tnb.BasicData.Entitys.Dto.ProcessManage;
using Tnb.BasicData.Entitys.Entity;
namespace Tnb.BasicData.Entitys.Mapper
namespace Tnb.BasicData.Entities
{
public class Mapper : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.ForType<BasRoute, RouteLineTreeOutput>();
config.ForType<BasRouteH, RouteLineTreeOutput>();
}
}
}

View File

@@ -4,10 +4,8 @@ using JNPF.DynamicApiController;
using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entitys.Entity;
using Tnb.BasicData.Entitys.Dto;
using Tnb.BasicData.Entitys;
using JNPF.Common.Const;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData
{
@@ -53,7 +51,7 @@ namespace Tnb.BasicData
.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<BasRouteH>((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
@@ -62,11 +60,12 @@ namespace Tnb.BasicData
material_id_descrip = c.descrip,
material_id_remark = c.remark,
material_id_unit_id = c.unit_id,
material_id_id = c.id,
feeding_control = a.feeding_control,
loss_rate = a.loss_rate,
quantity = a.quantity,
require_weight = a.require_weight,
route_name = e.Name,
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(),
@@ -82,7 +81,7 @@ namespace Tnb.BasicData
.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<BasRouteH>((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
@@ -91,11 +90,12 @@ namespace Tnb.BasicData
material_id_descrip = c.descrip,
material_id_remark = c.remark,
material_id_unit_id = c.unit_id,
material_id_id = c.id,
feeding_control = a.feeding_control,
loss_rate = a.loss_rate,
quantity = a.quantity,
require_weight = a.require_weight,
route_name = e.Name,
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(),
@@ -109,9 +109,15 @@ namespace Tnb.BasicData
}
/// <summary>
/// 根据物料ID获取版本号和工艺路线
/// </summary>
/// <param name="parameters">物料id materialId</param>
/// <returns></returns>
[HttpPost]
public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(string materialId)
public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(Dictionary<string,string> parameters)
{
string materialId = parameters["materialId"];
var db = _repository.AsSugarClient();
// var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
@@ -121,17 +127,20 @@ namespace Tnb.BasicData
// }
var ebom = await db.Queryable<BasEbomH>()
.LeftJoin<BasRoute>((a,b)=>a.route_id==b.id)
.LeftJoin<BasRouteH>((a,b)=>a.route_id==b.id)
.OrderByDescending((a,b)=>a.create_time)
.Where((a,b) => a.material_id == materialId)
.Select((a,b)=>new
{
a.id,
a.version,
b.Name,
}).SingleAsync();
b.name,
}).FirstAsync();
return new Dictionary<string,string>()
{
["version"] = ebom?.version,
["routeName"] = ebom?.Name
["routeName"] = ebom?.name,
["routeId"] = ebom?.id
,
};
}

View File

@@ -1,12 +1,10 @@
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.Entities;
namespace Tnb.BasicData
{
@@ -29,60 +27,62 @@ namespace Tnb.BasicData
_dictionaryDataService = dictionaryDataService;
}
[HttpPost]
public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(string materialId)
{
var db = _repository.AsSugarClient();
var dic = await _dictionaryDataService.GetDicByKey(DictConst.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]
// public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(Dictionary<string,string> parameters)
// {
// string materialId = parameters["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<BasRouteH>((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]
public async Task<List<ElementSelectDto>> GetMaterialUnits(string materialId)
{
var db = _repository.AsSugarClient();
var type = await db.Queryable<DictionaryTypeEntity>().Where(x => x.EnCode == DictConst.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;
}
// [HttpPost]
// public async Task<List<ElementSelectDto>> GetMaterialUnits(Dictionary<string,string> parameters)
// {
// string materialId = parameters["materialId"];
// var db = _repository.AsSugarClient();
//
// var type = await db.Queryable<DictionaryTypeEntity>().Where(x => x.EnCode == DictConst.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;
// }
}
}

View File

@@ -0,0 +1,31 @@
using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData
{
/// <summary>
/// 生产bom
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 1102)]
[Route("api/[area]/[controller]/[action]")]
public class MbomService : IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasMbom> _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
public MbomService(
ISqlSugarRepository<BasMbom> repository,DataBaseManager dbManager,IDictionaryDataService dictionaryDataService)
{
_repository = repository;
_dbManager = dbManager;
_dictionaryDataService = dictionaryDataService;
}
}
}

View File

@@ -0,0 +1,77 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData
{
/// <summary>
/// 物料清单
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)]
[Route("api/[area]/[controller]/[action]")]
public class RouteService : IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasRouteH> _repository;
private readonly UserManager _userManager;
public RouteService(
UserManager userManager,
ISqlSugarRepository<BasRouteH> repository)
{
_repository = repository;
_userManager = userManager;
}
/// <summary>
/// 发布工艺路线
/// </summary>
/// <param name="parameters">工艺路线id id</param>
[HttpPost]
public async Task Publish(Dictionary<string, string> parameters)
{
string id = parameters["id"];
await _repository.UpdateAsync(x => new BasRouteH()
{
status = "1",
}, x => x.id == id);
}
/// <summary>
/// 复制工艺路线
/// </summary>
/// <param name="parameters">工艺路线id id</param>
[HttpPost]
public async Task<string> Copy(Dictionary<string, string> parameters)
{
string id = parameters["id"];
BasRouteH basRouteH = await _repository.GetByIdAsync(id);
List<BasRouteD> basRouteDs = await _repository.AsSugarClient().Queryable<BasRouteD>().Where(x => x.route_id == id).ToListAsync();
string newId = SnowflakeIdHelper.NextId();
basRouteH.id = newId;
basRouteH.code += "_复制的请修改";
basRouteH.name += "_复制的请修改";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
await _repository.InsertAsync(basRouteH);
foreach (BasRouteD basRouteD in basRouteDs)
{
basRouteD.id = SnowflakeIdHelper.NextId();
basRouteD.route_id = newId;
}
await _repository.AsSugarClient().Insertable<BasRouteD>(basRouteDs).ExecuteCommandAsync();
});
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
}
}
}