diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AppPrdMoTaskOneListOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AppPrdMoTaskOneListOutput.cs index bc60501a..e5bd8bee 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AppPrdMoTaskOneListOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AppPrdMoTaskOneListOutput.cs @@ -15,6 +15,11 @@ namespace Tnb.ProductionMgr.Entities public string eqp_id { get; set; } public string eqp_id_id { get; set; } public string equip_code { get; set; } + + public string process_id { get; set; } + public string process_id_id { get; set; } + public string process_code { get; set; } + public string mbom_process_id { get; set; } public int? scheduled_qty { get; set; } public int? reported_work_qty { get; set; } public int? scrap_qty { get; set; } diff --git a/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskOneService.cs b/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskOneService.cs index 8f6b2219..a10453fe 100644 --- a/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskOneService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskOneService.cs @@ -76,7 +76,7 @@ namespace Tnb.ProductionMgr.APP mo_task_code = a.mo_task_code, mo_task_status = e.FullName, material_id_id = a.material_id, - material_id = b.code, + material_id = b.code+"/"+b.name, material_code = b.code, material_name = b.name, mold_id_id = a.mold_id, diff --git a/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskTwoService.cs b/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskTwoService.cs new file mode 100644 index 00000000..87130e60 --- /dev/null +++ b/ProductionMgr/Tnb.ProductionMgr/APP/AppPrdMoTaskTwoService.cs @@ -0,0 +1,102 @@ +using COSXML.Model.Tag; +using JNPF.Common.Core.Manager; +using JNPF.Common.Filter; +using JNPF.DependencyInjection; +using JNPF.DynamicApiController; +using JNPF.Systems.Entitys.System; +using JNPF.Systems.Interfaces.System; +using JNPF.VisualDev; +using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; +using JNPF.VisualDev.Interfaces; +using Microsoft.AspNetCore.Mvc; +using SqlSugar; +using Tnb.ProductionMgr.Entities; +using Tnb.BasicData.Entities; +using Tnb.EquipMgr.Entities; +using Tnb.BasicData; + +namespace Tnb.ProductionMgr.APP +{ + /// + /// 移动端组装包装任务管理 + /// + [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 700)] + [Route("api/[area]/[controller]/[action]")] + [OverideVisualDev(ModuleId)] + public class AppPrdMoTaskTwoService : IOverideVisualDevService, IDynamicApiController, ITransient + { + private const string ModuleId = "28486997557781"; + private readonly ISqlSugarRepository _repository; + private readonly IUserManager _userManager; + private readonly IRunService _runService; + private readonly IVisualDevService _visualDevService; + private readonly ISqlSugarClient _db; + private readonly IBillRullService _billRuleService; + + public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); + public AppPrdMoTaskTwoService( + ISqlSugarRepository repository, + IUserManager userManager, + IDictionaryDataService dictionaryDataService, + IRunService runService, + IBillRullService billRullService, + IVisualDevService visualDevService + ) + { + _repository = repository; + _userManager = userManager; + _runService = runService; + _visualDevService = visualDevService; + _db = _repository.AsSugarClient(); + OverideFuncs.GetListAsync = GetList; + _billRuleService = billRullService; + } + + private async Task GetList(VisualDevModelListQueryInput input) + { + var db = _repository.AsSugarClient(); + Dictionary queryJson = !string.IsNullOrEmpty(input.queryJson) ? Newtonsoft.Json.JsonConvert.DeserializeObject>(input.queryJson) : new Dictionary(); + string mo_task_code = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : ""; + string material_code = queryJson.ContainsKey("material_id") ? queryJson["material_id"].ToString() : ""; + string equip_code = queryJson.ContainsKey("eqp_id") ? queryJson["eqp_id"].ToString() : ""; + var result = await db.Queryable() + .LeftJoin((a, b) => a.material_id == b.id) + .LeftJoin((a, b, c) => a.mold_id == c.id) + .LeftJoin((a, b, c, d) => a.eqp_id == d.id) + .LeftJoin((a, b, c, d, e) => e.EnCode == a.mo_task_status && e.DictionaryTypeId == DictConst.PrdTaskStatusTypeId) + .LeftJoin((a,b,c,d,e,f)=>a.process_id==f.id) + .WhereIF(!string.IsNullOrEmpty(mo_task_code), (a, b, c, d, e) => a.mo_task_code.Contains(mo_task_code)) + .WhereIF(!string.IsNullOrEmpty(material_code), (a, b, c, d, e) => b.code.Contains(material_code) || b.name.Contains(material_code)) + .WhereIF(!string.IsNullOrEmpty(equip_code), (a, b, c, d, e) => d.code.Contains(equip_code) || d.name.Contains(equip_code)) + .Where(a => a.schedule_type == 2) + .Where(a => (a.mo_task_status==DictConst.ToBeStartedEnCode || a.mo_task_status==DictConst.InProgressEnCode || a.mo_task_status==DictConst.MoStatusExceptionCode || a.mo_task_status==DictConst.MoStatusPauseCode || a.mo_task_status==DictConst.ComplatedEnCode)) + .OrderByDescending(a => a.create_time) + .Select((a, b, c, d, e,f) => new AppPrdMoTaskOneListOutput + { + id = a.id, + mo_task_code = a.mo_task_code, + mo_task_status = e.FullName, + material_id_id = a.material_id, + material_id = b.code+"/"+b.name, + material_code = b.code, + material_name = b.name, + mold_id_id = a.mold_id, + mold_id = c.mold_code, + mold_code = c.mold_code, + eqp_id_id = a.eqp_id, + eqp_id = d.code, + equip_code = d.code, + process_id_id = a.process_id, + process_id = f.process_name, + process_code = f.process_code, + mbom_process_id = a.mbom_process_id, + scheduled_qty = a.scheduled_qty, + reported_work_qty = a.reported_work_qty, + scrap_qty = a.scrap_qty, + plan_start_date = a.estimated_start_date==null ? "" : a.estimated_start_date.Value.ToString("yyyy-MM-dd"), + plan_end_date = a.plan_end_date==null ? "" : a.plan_end_date.Value.ToString("yyyy-MM-dd"), + }).ToPagedListAsync(input.currentPage, input.pageSize); + return PageResult.SqlSugarPageResult(result); + } + } +} \ No newline at end of file diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs index 53e42bfa..0f1244ad 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs @@ -2175,8 +2175,9 @@ namespace Tnb.ProductionMgr .LeftJoin((a, b, c) => a.mold_id == c.id) .LeftJoin((a, b, c, d) => a.eqp_id == d.id) .LeftJoin((a,b,c,d,e)=>e.EnCode==a.mo_task_status && e.DictionaryTypeId==DictConst.PrdTaskStatusTypeId) + .LeftJoin((a,b,c,d,e,f)=>a.process_id==f.id) .Where((a, b, c, d) => a.id == id) - .Select((a, b, c, d,e) => new + .Select((a, b, c, d,e,f) => new { id = a.id, mo_task_code = a.mo_task_code, @@ -2190,6 +2191,8 @@ namespace Tnb.ProductionMgr scheduled_qty = a.scheduled_qty, reported_work_qty = a.reported_work_qty, scrap_qty = a.scrap_qty, + process_id_id = a.process_id, + process_id = f.process_name, }).FirstAsync(); }