diff --git a/DOAN.Admin.WebApi/Controllers/MES/mm/MmPreparantTaskController.cs b/DOAN.Admin.WebApi/Controllers/MES/mm/MmPreparantTaskController.cs
index 5bfc655..ed3d13a 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/mm/MmPreparantTaskController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/mm/MmPreparantTaskController.cs
@@ -110,6 +110,16 @@ namespace DOAN.WebApi.Controllers.MES.mm
}
+ //TODO 表格形式查询工单 任务及其详情
+ [HttpPost("table_task")]
+ public IActionResult TableQuerytaskInfo([FromBody] FormsWorkoderAndTaskQuery parm)
+ {
+ if (parm == null) { return SUCCESS(null); };
+
+ var response = preparantTaskService.TableQuerytaskInfo(parm);
+ return SUCCESS(response);
+ }
+
}
diff --git a/DOAN.Model/MES/mm/Dto/MmPreparationTaskDto.cs b/DOAN.Model/MES/mm/Dto/MmPreparationTaskDto.cs
index 56e072c..0a67c03 100644
--- a/DOAN.Model/MES/mm/Dto/MmPreparationTaskDto.cs
+++ b/DOAN.Model/MES/mm/Dto/MmPreparationTaskDto.cs
@@ -78,4 +78,81 @@ namespace DOAN.Model.MES.mm.Dto
}
+ ///
+ /// 表格形式查看搜索查询
+ ///
+ public class FormsWorkoderAndTaskQuery : PagerInfo
+ {
+ public string Workorder { get; set; }
+ public DateTime[] searchDate { get; set; }
+
+ public string route_code { get; set; }
+ }
+
+
+
+ ///
+ /// Forms show work orders and tasks
+ ///
+ public class FormsWorkoderAndTaskInfo
+ {
+
+ public string Id { get; set; }
+
+ public int SerialNum { get; set; }
+
+ public string TaskCode { get; set; }
+
+ public string FkWorkorder { get; set; }
+
+ public int? PreparationStatus { get; set; }
+
+ public string CreatedBy { get; set; }
+
+ public DateTime? CreatedTime { get; set; }
+
+ public string UpdatedBy { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+
+
+
+ ///
+ /// task_info
+ ///
+ public string SubId { get; set; }
+
+
+ public string FkTaskCode { get; set; }
+
+ public string MaterialCode { get; set; }
+
+ public string MaterialName { get; set; }
+
+ public string Specification { get; set; }
+
+ public decimal Quantity { get; set; }
+
+ public string Unit { get; set; }
+ ///
+ /// task_info
+ ///
+ public string SubCreatedBy { get; set; }
+ ///
+ /// task_info
+ ///
+ public DateTime? SubCreatedTime { get; set; }
+ ///
+ /// task_info
+ ///
+ public string SubUpdatedBy { get; set; }
+ ///
+ /// task_info
+ ///
+ public DateTime? SubUpdatedTime { get; set; }
+
+ }
+
+
+
}
\ No newline at end of file
diff --git a/DOAN.Service/MES/mm/IService/IMmPreparantTaskService.cs b/DOAN.Service/MES/mm/IService/IMmPreparantTaskService.cs
index 9e97e54..b3bef38 100644
--- a/DOAN.Service/MES/mm/IService/IMmPreparantTaskService.cs
+++ b/DOAN.Service/MES/mm/IService/IMmPreparantTaskService.cs
@@ -1,4 +1,5 @@
-using DOAN.Model.MES.base_;
+using DOAN.Model;
+using DOAN.Model.MES.base_;
using DOAN.Model.MES.mm.Dto;
using DOAN.Model.MES.product;
using Microsoft.AspNetCore.Mvc;
@@ -30,6 +31,8 @@ namespace DOAN.Service.MES.mm.IService
int ModifyTaskNum(MmTaskMaterialInfoDto2 parm, string name);
+ PagedInfo TableQuerytaskInfo(FormsWorkoderAndTaskQuery parm);
+
}
}
diff --git a/DOAN.Service/MES/mm/MmPreparantTaskService.cs b/DOAN.Service/MES/mm/MmPreparantTaskService.cs
index b1060ce..b578fba 100644
--- a/DOAN.Service/MES/mm/MmPreparantTaskService.cs
+++ b/DOAN.Service/MES/mm/MmPreparantTaskService.cs
@@ -1,13 +1,16 @@
-using DOAN.Model.MES.base_;
+using DOAN.Model;
+using DOAN.Model.MES.base_;
using DOAN.Model.MES.base_.Dto;
using DOAN.Model.MES.mm;
using DOAN.Model.MES.mm.Dto;
using DOAN.Model.MES.product;
+using DOAN.Repository;
using DOAN.Service.group.IService;
using DOAN.Service.MES.mm.IService;
using Infrastructure.Attribute;
using Mapster;
using Microsoft.AspNetCore.Http.HttpResults;
+using Microsoft.IdentityModel.Tokens;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections;
@@ -50,7 +53,7 @@ namespace DOAN.Service.MES.mm
List subMaterialReq = Context.Queryable()
.Where(it => it.InvCode == workorder1.ProductionCode).ToList();
- float MaterialRequire_totals = workorder1.DeliveryNum.Value*subMaterialReq.Sum(it => float.Parse(it.Iusequantity));
+ float MaterialRequire_totals = workorder1.DeliveryNum.Value * subMaterialReq.Sum(it => float.Parse(it.Iusequantity));
float sum = 0;
foreach (var item in MmPreparationTaskList)
{
@@ -241,8 +244,6 @@ namespace DOAN.Service.MES.mm
if (parm.MaterialCode != null)
{
material = Context.Queryable().Where(it => it.Code == parm.MaterialCode).First();
-
-
}
info.MaterialName = material?.Name;
info.Specification = material?.Specification;
@@ -266,5 +267,60 @@ namespace DOAN.Service.MES.mm
+
+
+ ///
+ /// 表格形式查询工单 任务及其详情
+ ///
+ ///
+ ///
+ public PagedInfo TableQuerytaskInfo(FormsWorkoderAndTaskQuery parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(parm.searchDate != null && parm.searchDate.Length >= 2 && parm.searchDate[0] > DateTime.MinValue, it => it.WorkorderDate >= parm.searchDate[0].ToLocalTime().Date)
+ .AndIF(parm.searchDate != null && parm.searchDate.Length >= 2 && parm.searchDate[1] > DateTime.MinValue, it => it.WorkorderDate >= parm.searchDate[1].ToLocalTime().Date)
+ .AndIF(!string.IsNullOrEmpty(parm.route_code), it => it.FkRouteCode == parm.route_code)
+ .AndIF(!string.IsNullOrEmpty(parm.Workorder), it => it.Workorder.Contains(parm.Workorder));
+
+
+
+
+ var query1 = Context.Queryable().Where(predicate.ToExpression());
+ //查询工单绑定的任务
+ return Context.Queryable(query1).LeftJoin((q, t) => q.Workorder == t.FkWorkorder)
+ .LeftJoin((q, t, i) => t.Id == i.FkTaskCode)
+ .Select((q, t, i) => new FormsWorkoderAndTaskInfo()
+ {
+ Id = t.Id,
+ SerialNum = t.SerialNum,
+ TaskCode = t.TaskCode,
+ FkWorkorder = t.FkWorkorder,
+ PreparationStatus = t.PreparationStatus,
+ CreatedBy = t.CreatedBy,
+ CreatedTime = t.CreatedTime,
+ UpdatedTime = t.UpdatedTime,
+ UpdatedBy = t.UpdatedBy,
+ SubId = i.Id,
+ FkTaskCode = i.FkTaskCode,
+ MaterialCode = i.MaterialCode,
+ MaterialName = i.MaterialName,
+ Specification = i.Specification,
+ Quantity = i.Quantity,
+ Unit = i.Unit,
+ SubCreatedBy = i.CreatedBy,
+ SubCreatedTime = i.CreatedTime,
+ SubUpdatedBy = i.UpdatedBy,
+ SubUpdatedTime = i.UpdatedTime,
+
+
+ }).ToPage(parm);
+
+
+
+
+
+
+ }
+
}
}