From b4ad3d26e283b5b4a182ab149c0666fdd08e6061 Mon Sep 17 00:00:00 2001 From: zhoukeda <1315948824@qq.com> Date: Mon, 8 May 2023 17:42:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=A2=9E=E5=8A=A0=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=20=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=A2=9E=E5=8A=A0=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dto/BasRoute/VaildRouteOutput.cs | 15 ++++ .../Tnb.BasicData.Entities/Entity/BasEbomD.cs | 8 +++ .../Entity/BasMaterial.cs | 70 +++++++++++++++++++ .../BasMaterialIntoFactorySpecifications.cs | 39 +++++++++++ .../IBasRouteService.cs | 8 +++ BasicData/Tnb.BasicData/BasMaterialService.cs | 10 ++- BasicData/Tnb.BasicData/BasProcessService.cs | 2 +- BasicData/Tnb.BasicData/BasRouteService.cs | 27 +++++++ 8 files changed, 177 insertions(+), 2 deletions(-) create mode 100644 BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs create mode 100644 BasicData/Tnb.BasicData.Entities/Entity/BasMaterialIntoFactorySpecifications.cs diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs new file mode 100644 index 00000000..a8dcc418 --- /dev/null +++ b/BasicData/Tnb.BasicData.Entities/Dto/BasRoute/VaildRouteOutput.cs @@ -0,0 +1,15 @@ +namespace Tnb.BasicData.Entities.Dto +{ + public class VaildRouteOutput + { + public string id { get; set; } + + public string code { get; set; } + + public string name { get; set; } + + public DateTime? start_time { get; set; } + + public DateTime? end_time { get; set; } + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs index 31ca2af2..a759581f 100644 --- a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs +++ b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs @@ -101,6 +101,14 @@ namespace Tnb.BasicData.Entities /// [SugarColumn(ColumnName="route_id")] public string route_id {get;set;} + + /// + /// Desc:工艺路线名称 + /// Default:NULL::character varying + /// Nullable:True + /// + [SugarColumn(ColumnName="route_id")] + public string route_name {get;set;} } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs index 34df5803..397026ad 100644 --- a/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs +++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterial.cs @@ -34,6 +34,76 @@ namespace Tnb.BasicData.Entities /// public string attachment { get; set; } + /// + /// Desc:先进先出 0否 1是 + /// Default: + /// Nullable:True + /// + public int? first_in_out { get; set; } + + /// + /// Desc:存储有效期(天) + /// Default: + /// Nullable:True + /// + public int? storage_valid_day { get; set; } + + /// + /// Desc:预警提前期(天) + /// Default: + /// Nullable:True + /// + public int? early_warn_day { get; set; } + + /// + /// Desc:安全库存 + /// Default: + /// Nullable:True + /// + public int? safe_stock { get; set; } + + /// + /// Desc:发料仓库id + /// Default: + /// Nullable:True + /// + public string send_warehouse_id { get; set; } + + /// + /// Desc:入厂单位id + /// Default: + /// Nullable:True + /// + public string into_factory_unit_id { get; set; } + + /// + /// Desc:安全库存包含状态 + /// Default:NULL::character varying + /// Nullable:True + /// + public string safe_stock_stauts { get; set; } + + /// + /// Desc:投料单位 + /// Default: + /// Nullable:True + /// + public string material_in_unit_id { get; set; } + + /// + /// Desc:产出单位 + /// Default: + /// Nullable:True + /// + public string material_out_unit_id { get; set; } + + /// + /// Desc:请料方式 1按计划排程请料 2自行管控 + /// Default: + /// Nullable:True + /// + public string material_request_method { get; set; } + /// /// Desc:物料代码 /// Default: diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasMaterialIntoFactorySpecifications.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterialIntoFactorySpecifications.cs new file mode 100644 index 00000000..c3d03adb --- /dev/null +++ b/BasicData/Tnb.BasicData.Entities/Entity/BasMaterialIntoFactorySpecifications.cs @@ -0,0 +1,39 @@ +using SqlSugar; +using Tnb.Common.Contracts; + +namespace Tnb.BasicData.Entities +{ + /// + ///物料入场规格 + /// + [SugarTable("bas_material_into_factory_specifications")] + public class BasMaterialIntoFactorySpecifications : BaseEntity + { + public BasMaterialIntoFactorySpecifications(){ + + + } + + /// + /// Desc:物料id + /// Default: + /// Nullable:False + /// + public string material_id {get;set;} + + /// + /// Desc:单位id + /// Default: + /// Nullable:False + /// + public string unit_id {get;set;} + + /// + /// Desc:数量 + /// Default: + /// Nullable:False + /// + public decimal num {get;set;} + + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs index e986bd82..ae2ee1de 100644 --- a/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs +++ b/BasicData/Tnb.BasicData.Interfaces/IBasRouteService.cs @@ -1,3 +1,5 @@ +using JNPF.Common.Filter; + namespace Tnb.BasicData.Interfaces { public interface IBasRouteService @@ -13,5 +15,11 @@ namespace Tnb.BasicData.Interfaces /// /// 工艺路线id id public Task Copy(Dictionary parameters); + + /// + /// 获取有效的已发布的工艺路线 + /// + /// + public Task GetValidRouteList(PageInputBase pageInputBase); } } \ No newline at end of file diff --git a/BasicData/Tnb.BasicData/BasMaterialService.cs b/BasicData/Tnb.BasicData/BasMaterialService.cs index 35a78ab4..db96bd82 100644 --- a/BasicData/Tnb.BasicData/BasMaterialService.cs +++ b/BasicData/Tnb.BasicData/BasMaterialService.cs @@ -43,6 +43,7 @@ namespace Tnb.BasicData BasMaterial basMaterial = await _repository.GetByIdAsync(id); List materialUnits = await _repository.AsSugarClient().Queryable().Where(x => x.material_id == id).ToListAsync(); + List materialIntoFactorySpecifications = await _repository.AsSugarClient().Queryable().Where(x => x.material_id == id).ToListAsync(); string newId = SnowflakeIdHelper.NextId(); basMaterial.id = newId; @@ -57,15 +58,22 @@ namespace Tnb.BasicData basMaterialUnit.id = SnowflakeIdHelper.NextId(); basMaterialUnit.material_id = newId; } + + foreach (BasMaterialIntoFactorySpecifications basMaterialIntoFactorySpecification in materialIntoFactorySpecifications) + { + basMaterialIntoFactorySpecification.id = SnowflakeIdHelper.NextId(); + basMaterialIntoFactorySpecification.material_id = newId; + } await _repository.AsSugarClient().Insertable(materialUnits).ExecuteCommandAsync(); + await _repository.AsSugarClient().Insertable(materialIntoFactorySpecifications).ExecuteCommandAsync(); }); return result.IsSuccess ? "复制成功" : result.ErrorMessage; } /// - /// 获取物料清单所有自己物料信息 + /// 获取物料清单所有子集物料信息 /// /// /// diff --git a/BasicData/Tnb.BasicData/BasProcessService.cs b/BasicData/Tnb.BasicData/BasProcessService.cs index 0abbbe49..6dd4ac2a 100644 --- a/BasicData/Tnb.BasicData/BasProcessService.cs +++ b/BasicData/Tnb.BasicData/BasProcessService.cs @@ -51,7 +51,7 @@ namespace Tnb.BasicData _runService = runService; _visualDevService = visualDevService; OverideFuncs.CreateAsync = Create; - OverideFuncs.GetListAsync = GetList; + // OverideFuncs.GetListAsync = GetList; } /// diff --git a/BasicData/Tnb.BasicData/BasRouteService.cs b/BasicData/Tnb.BasicData/BasRouteService.cs index 1a1f37fb..d54c644c 100644 --- a/BasicData/Tnb.BasicData/BasRouteService.cs +++ b/BasicData/Tnb.BasicData/BasRouteService.cs @@ -1,4 +1,5 @@ using JNPF.Common.Core.Manager; +using JNPF.Common.Filter; using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; @@ -6,6 +7,7 @@ using Microsoft.AspNetCore.Mvc; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.BasicData.Interfaces; +using Tnb.BasicData.Entities.Dto; namespace Tnb.BasicData { @@ -72,5 +74,30 @@ namespace Tnb.BasicData return result.IsSuccess ? "复制成功" : result.ErrorMessage; } + + /// + /// 获取有效的已发布的工艺路线 + /// + /// + [HttpPost] + public async Task GetValidRouteList([FromBody]PageInputBase pageInputBase) + { + var db = _repository.AsSugarClient(); + var result = await db.Queryable() + .Where(x => x.status == "1" && ((x.start_time != null && x.start_time.Value <= DateTime.Now && x.end_time != null && x.end_time.Value>=DateTime.Now) + || (x.start_time==null && x.end_time>=DateTime.Now) + || (x.end_time==null && x.start_time<=DateTime.Now) + || (x.start_time == null && x.end_time == null) + )) + .Select(x=>new VaildRouteOutput() + { + id = x.id, + code = x.code, + name = x.name, + start_time = x.start_time, + end_time = x.end_time, + }).ToPagedListAsync(pageInputBase.currentPage, pageInputBase.pageSize); + return PageResult.SqlSugarPageResult(result); + } } } \ No newline at end of file