Browse Source

调整装配追溯页面

user_zyx 11 months ago
parent
commit
f9fb52f6ba

+ 0 - 7
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/Controllers/OutStore/OutAssembleRecordController.cs

@@ -77,13 +77,6 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
             return SUCCESS(response);
         }
 
-        [HttpGet("stat")]
-        [ActionPermissionFilter(Permission = "bussiness:outassemblerecord:stat")]
-        public IActionResult StatOutAssembleRecord([FromQuery] OutAssembleRecordQueryDto parm)
-        {
-            var response = _OutAssembleRecordService.GetStat(parm);
-            return SUCCESS(response);
-        }
         /// <summary>
         /// 获取每日装配物料数
         /// </summary>

+ 7 - 1
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/Controllers/OutStore/SapBomRecordController.cs

@@ -50,7 +50,13 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
             var response = _SapBomRecordService.GetList(parm);
             return SUCCESS(response);
         }
-
+        [HttpGet("stat")]
+        [ActionPermissionFilter(Permission = "business:sapbomrecord:stat")]
+        public IActionResult StatSapBomRecord([FromQuery] SapBomRecordQueryDto parm)
+        {
+            var response = _SapBomRecordService.GetStat(parm);
+            return SUCCESS(response);
+        }
 
         /// <summary>
         /// 查询接口管理/SAP关键件清单记录表详情

+ 5 - 0
ZrAdminNetCore-net7.0/ZR.Model/Dto/OutStore/SapBomRecordDto.cs

@@ -21,6 +21,8 @@ namespace ZR.Model.Dto.OutStore
         public string MaterialSpec { get; set; }
         //关键件标识
         public bool? KeyFlag { get; set; }
+        //装配结果
+        public int? Result { get; set; }
         //生产令号
         public string BomNo { get; set; }
         //创建时间
@@ -78,6 +80,9 @@ namespace ZR.Model.Dto.OutStore
 
         [Required(ErrorMessage = "装配结果(0未装配,99装配完成)不能为空")]
         public int Result { get; set; }
+        public string AssBy { get; set; }
+
+        public DateTime? AssTime { get; set; }
 
         public string CreateBy { get; set; }
 

+ 0 - 1
ZrAdminNetCore-net7.0/ZR.Service/Business/IBusinessService/OutStore/IOutAssembleRecordService.cs

@@ -18,7 +18,6 @@ namespace ZR.Service.Business.IBusinessService.OutStore
     public interface IOutAssembleRecordService : IBaseService<OutAssembleRecord>
     {
         PagedInfo<OutAssembleRecordDto> GetList(OutAssembleRecordQueryDto parm, bool isPdaQuery = false);
-        PagedInfo<OutAssembleRecordStatisticDto> GetStat(OutAssembleRecordQueryDto parm);
         List<GroupByKey> GetDailyStatistics(DateTime BeginTime, DateTime EndTime);
 
         int AddOutAssembleRecord(OutAssembleRecord parm);

+ 2 - 0
ZrAdminNetCore-net7.0/ZR.Service/Business/IBusinessService/OutStore/ISapBomRecordService.cs

@@ -15,6 +15,8 @@ namespace ZR.Service.Business.IBusinessService.OutStore
     public interface ISapBomRecordService : IBaseService<SapBomRecord>
     {
         PagedInfo<SapBomRecordDto> GetList(SapBomRecordQueryDto parm);
+        PagedInfo<SapBomRecordDto> GetStat(SapBomRecordQueryDto parm);
+
 
         int AddSapBomRecord(SapBomRecord parm);
 

+ 0 - 21
ZrAdminNetCore-net7.0/ZR.Service/Business/OutStore/OutAssembleRecordService.cs

@@ -92,27 +92,6 @@ namespace ZR.Service.Business.OutStore
 
             return response;
         }
-        public PagedInfo<OutAssembleRecordStatisticDto> GetStat(OutAssembleRecordQueryDto parm)
-        {
-            //开始拼装查询条件
-            var predicate = Expressionable.Create<OutAssembleRecord>();
-            predicate.AndIF(!string.IsNullOrEmpty(parm.BomNo), it => it.BomNo.Contains(parm.BomNo));
-            //搜索条件查询语法参考Sqlsugar
-            var response = Queryable()
-                .GroupBy(it => new { it.BomNo })
-                .Where(predicate.ToExpression())
-                .Select(it => new OutAssembleRecord
-                {
-                    BomNo = it.BomNo,
-                    AssembleQty = SqlFunc.AggregateSumNoNull(it.AssembleQty),
-                    //计算当前生产令号下是否都是装配完成(99),如有未完成(0),则返回0。
-                    Result = SqlFunc.AggregateAvg(it.Result) < 99 ? 0 : SqlFunc.AggregateAvg(it.Result)
-                })
-                .HavingIF(parm.Result != null, it => it.Result == parm.Result)
-                .ToPage<OutAssembleRecord, OutAssembleRecordStatisticDto>(parm);
-
-            return response;
-        }
 
         public List<GroupByKey> GetDailyStatistics(DateTime BeginTime, DateTime EndTime)
         {

+ 46 - 1
ZrAdminNetCore-net7.0/ZR.Service/Business/OutStore/SapBomRecordService.cs

@@ -44,15 +44,59 @@ namespace ZR.Service.Business.OutStore
             predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
             predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
             predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
+            predicate.AndIF(parm.Result != null, d => d.Result == parm.Result);
             predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
             //搜索条件查询语法参考Sqlsugar
             var response = Queryable()
                 .Where(predicate.ToExpression())
-                .ToPage<SapBomRecord, SapBomRecordDto>(parm);
+                .Select(d => new SapBomRecordDto
+                {
+                    AssBy = SqlFunc.Subqueryable<OutAssembleRecord>().Where(a => a.BomNo == d.BomNo && a.MaterialCode == d.MaterialCode).Select(a => a.CreateBy),
+                    AssTime = SqlFunc.Subqueryable<OutAssembleRecord>().Where(a => a.BomNo == d.BomNo && a.MaterialCode == d.MaterialCode).Select(a => a.CreateTime)
+                },true)
+                .ToPage<SapBomRecordDto, SapBomRecordDto>(parm);
 
             return response;
         }
 
+        /// <summary>
+        /// 装配追溯统计
+        /// </summary>
+        /// <param name="parm"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public PagedInfo<SapBomRecordDto> GetStat(SapBomRecordQueryDto parm)
+        {
+            //开始拼装查询条件
+            var predicate = Expressionable.Create<SapBomRecord>();
+            //if (parm.BeginTime != null && parm.EndTime != null)
+            //{
+            //    parm.BeginTime = parm.BeginTime.Value.ToLocalTime();
+            //    parm.EndTime = parm.EndTime.Value.ToLocalTime();
+            //    predicate.And(d => d.CreateTime >= parm.BeginTime && d.CreateTime <= parm.EndTime);
+            //}
+            predicate.AndIF(!string.IsNullOrEmpty(parm.BomNo), d => d.BomNo.Contains(parm.BomNo));
+
+            //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), d => d.MaterialCode.Contains(parm.MaterialCode));
+            //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
+            //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
+            //predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
+            //predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
+            //搜索条件查询语法参考Sqlsugar
+            var response = Queryable()
+                .GroupBy(d => new { d.BomNo })
+                .Where(predicate.ToExpression())
+                .Select((d => new SapBomRecordDto
+                {
+                    BomNo = d.BomNo,
+                    AssembleQty = SqlFunc.AggregateSumNoNull(d.AssembleQty),
+                    Result = SqlFunc.AggregateAvg(d.Result) < 99 ? 0 : 99
+                }))
+                .HavingIF(parm.Result!=null,d=>d.Result == parm.Result)
+                .ToPage<SapBomRecordDto, SapBomRecordDto>(parm);
+
+            return response;
+        }
 
         /// <summary>
         /// 添加接口管理/SAP关键件清单记录表
@@ -164,6 +208,7 @@ namespace ZR.Service.Business.OutStore
 
             return response.Adapt<List<SapBomRecordDto>>();
         }
+
         #endregion
     }
 }