Quellcode durchsuchen

Merge branch 'master' of http://120.77.11.229:3000/zuolinhao/ZT-FJ-WMS

xu.lu vor 1 Jahr
Ursprung
Commit
81c97f39ab

+ 11 - 0
wms.api/Controllers/FjController.cs

@@ -409,6 +409,17 @@ namespace wms.api.Controllers
             return _fjService.AllocatedSpoolFlow(reqDto);
         }
 
+        /// <summary>
+        ///  MES获取流向异常信息
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public SRes GetFlowExceptionResults(GetFlowExceptionResultsRequest reqDto)
+        {
+            return _fjService.GetFlowExceptionResults(reqDto);
+        }
+
         private SRes ComPushData(SRes resbody, List<long> ids)
         {
             var res = new SRes();

+ 18 - 7
wms.dto/request/fj/AllocatedSpoolFlowRequest.cs

@@ -1,15 +1,26 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace wms.dto.request.fj
+namespace wms.dto.request.fj
 {
-    public class AllocatedSpoolFlowRequest:BaseRequest
+    public class AllocatedSpoolFlowRequest : BaseRequest
     {
         /// <summary>
         /// 工字轮条码
         /// </summary>
         public string SpoolBarCode { get; set; }
+    }
 
+    /// <summary>
+    ///  获取分流结果异常信息请求
+    /// </summary>
+    public class GetFlowExceptionResultsRequest : BaseRequest
+    {
+        /// <summary>
+        /// 工字轮条码
+        /// </summary>
+        public string qrCode { get; set; }
+
+        /// <summary>
+        /// 生产日期
+        /// </summary>
+        public string ProductDate { get; set; }
     }
-}
+}

+ 12 - 0
wms.service/IService/IFJService.cs

@@ -52,8 +52,20 @@ namespace wms.service.IService
 
         public SRes ManualBuildStockTrans(ManualBuildStockTransRequest reqDto);
 
+        /// <summary>
+        ///  江景获取流向
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
         public SRes<string> AllocatedSpoolFlow(AllocatedSpoolFlowRequest reqDto);
 
+        /// <summary>
+        ///  MES获取流向异常信息
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes GetFlowExceptionResults(GetFlowExceptionResultsRequest reqDto);
+
         public SRes ManualBuildEmptyStock(ManualBuildEmptyStockRequest reqDto);
 
         public AgvCallbackResponse AgvCallback(AgvCallbackRequest reqDto);

+ 130 - 10
wms.service/Service/FJService.cs

@@ -95,6 +95,9 @@ namespace wms.service.Service
         /// </summary>
         private Repository<BillSpoolTrans> _billSpoolTransrepository => new Repository<BillSpoolTrans>();
 
+        /// <summary>
+        ///  异常信息
+        /// </summary>
         private RepositoryTask<BaseErrorInfo> _baseErrorInfoRepository => new RepositoryTask<BaseErrorInfo>();
 
         private Repository<BillBominfo> _billBominfoRepository => new Repository<BillBominfo>();
@@ -838,6 +841,50 @@ namespace wms.service.Service
             };
         }
 
+        /// <summary>
+        ///  取分流异常的结果
+        /// </summary>
+        /// <param name="reqDto"></param>
+        /// <returns></returns>
+        public SRes GetFlowExceptionResults(GetFlowExceptionResultsRequest reqDto)
+        {
+            var res = new SRes();
+
+            //时间处理
+            var prodate = DateTime.Now;
+            if (!string.IsNullOrEmpty(reqDto.ProductDate) && DateTime.TryParse(reqDto.ProductDate, out prodate))
+            {
+                prodate = DateTime.Parse(reqDto.ProductDate);
+            }
+            else
+            {
+                _logger.LogInformation("生产日期格式不对,系统默认使用当前时间");
+            }
+
+            //是否有异常
+            if (_baseErrorInfoRepository.AsQueryable().With(SqlWith.NoLock).Any(x=> x.Message.Contains(reqDto.qrCode) && x.AddTime > prodate))
+            {
+                var regInfo= _baseErrorInfoRepository.AsQueryable().With(SqlWith.NoLock).First(x => x.BusName== "湿拉下盘注册" && x.Message.Contains(reqDto.qrCode) && x.AddTime > prodate);
+                if (regInfo!=null) //表示此工字轮注册时失败
+                {
+                    res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+                    res.ResMsg = regInfo.Message;
+                    return res;
+                }
+                var flow= _baseErrorInfoRepository.AsQueryable().With(SqlWith.NoLock).First(x => x.BusName == "江景获取流向" && x.Message.Contains(reqDto.qrCode) && x.AddTime > prodate);
+
+                if (flow != null) //表示此工字轮获取流向时出现的错误结果
+                {
+                    res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+                    res.ResMsg = flow.Message;
+                    return res;
+                }
+            }
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            res.ResMsg = ResponseStatusCodeEnum.Sucess.GetDescription();
+            return res;
+        }
+
         /// <summary>
         ///  人工创建满托入库任务
         /// </summary>
@@ -1026,6 +1073,10 @@ namespace wms.service.Service
                          Status = TaskStatus.Cancel,
                          ManualRemarks = "人工满托入库,清除信息"
                      }, x => taskIdList.Contains(x.Id));
+
+                     //TODO:入库算法
+                     //TODO:出库算法
+                     //TODO:最优验证算法
                  }
 
                 //创建入库记录
@@ -1297,6 +1348,36 @@ namespace wms.service.Service
         {
             var res = new SRes();
             var dateTime = DateTime.Now.AddHours(-12);
+            #region 超时判断
+            //获取时间
+            var prodate = DateTime.Now;
+            if (!string.IsNullOrEmpty(reqDto.ProductDate) && DateTime.TryParse(reqDto.ProductDate, out prodate))
+            {
+                prodate = DateTime.Parse(reqDto.ProductDate);
+            }
+            else
+            {
+                _logger.LogInformation("生产日期格式不对,系统默认使用当前时间");
+            }
+
+            if (prodate<dateTime)
+            {
+                res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
+                res.ResMsg = $"工字轮注册时间为{reqDto.ProductDate},已超过12小时不允许创建自动化上线任务!!!";
+                var error = new BaseErrorInfo()
+                {
+                    BusName = "湿拉下盘注册",
+                    Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                    Count = 1,
+                    Memo = "WCS"
+                };
+                error.UpdataErrorinfo(_baseErrorInfoRepository);
+                return res;
+            }
+
+            #endregion
+
+           
             //清除十二小时小时前的新建数据
             if (_taskrepository.AsQueryable().With(SqlWith.NoLock).Any(x => x.Status == TaskStatus.NewBuild && x.Type == TaskType.SetPlate && x.AddTime < dateTime))
             {
@@ -1339,6 +1420,14 @@ namespace wms.service.Service
                 {
                     res.ResCode = ResponseStatusCodeEnum.ErrParam.GetHashCode();
                     res.ResMsg = "工字轮载具初始化失败";
+                    var error = new BaseErrorInfo()
+                    {
+                        BusName = "湿拉下盘注册",
+                        Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                        Count = 1,
+                        Memo = "WCS"
+                    };
+                    error.UpdataErrorinfo(_baseErrorInfoRepository);
                     return res;
                 }
             }
@@ -1348,6 +1437,14 @@ namespace wms.service.Service
             {
                 res.ResCode = ResponseStatusCodeEnum.MaterInfoNotExist.GetHashCode();
                 res.ResMsg = ResponseStatusCodeEnum.MaterInfoNotExist.GetDescription();
+                var error = new BaseErrorInfo()
+                {
+                    BusName = "湿拉下盘注册",
+                    Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                    Count = 1,
+                    Memo = "WCS"
+                };
+                error.UpdataErrorinfo(_baseErrorInfoRepository);
                 return res;
             }
 
@@ -1379,6 +1476,14 @@ namespace wms.service.Service
             {
                 res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
                 res.ResMsg = "该工字轮条码号存在出库中任务,请检查上一个任务是否已经完成";
+                var error = new BaseErrorInfo()
+                {
+                    BusName = "湿拉下盘注册",
+                    Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                    Count = 1,
+                    Memo = "WCS"
+                };
+                error.UpdataErrorinfo(_baseErrorInfoRepository);
                 return res;
             }
 
@@ -1388,16 +1493,7 @@ namespace wms.service.Service
             {
                 fJPalletType = FJPalletType.PalletNo09;
             }
-            var prodate = DateTime.Now;
-            if (!string.IsNullOrEmpty(reqDto.ProductDate) && DateTime.TryParse(reqDto.ProductDate, out prodate))
-            {
-                prodate = DateTime.Parse(reqDto.ProductDate);
-            }
-            else
-            {
-                _logger.LogInformation("生产日期格式不对,系统默认使用当前时间");
-            }
-
+            
             //通过订单找到对应的机台信息
             //通过投入物料找到垛型编码
             var stackdetail = _billBomsetinfoRepository.GetFirst(p => p.MatCode == reqDto.MatCode && p.IsStop == 0);
@@ -1565,6 +1661,14 @@ namespace wms.service.Service
                         _db.RollbackTran();
                         res.ResCode = taskRes.ResCode;
                         res.ResMsg = taskRes.ResMsg;
+                        var error = new BaseErrorInfo()
+                        {
+                            BusName = "湿拉下盘注册",
+                            Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                            Count = 1,
+                            Memo = "WCS"
+                        };
+                        error.UpdataErrorinfo(_baseErrorInfoRepository);
                         return res;
                     }
                     _db.CommitTran();
@@ -1637,6 +1741,14 @@ namespace wms.service.Service
                         _db.RollbackTran();
                         res.ResCode = taskRes.ResCode;
                         res.ResMsg = taskRes.ResMsg;
+                        var error = new BaseErrorInfo()
+                        {
+                            BusName = "湿拉下盘注册",
+                            Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                            Count = 1,
+                            Memo = "WCS"
+                        };
+                        error.UpdataErrorinfo(_baseErrorInfoRepository);
                         return res;
                     }
 
@@ -1663,6 +1775,14 @@ namespace wms.service.Service
                     _db.RollbackTran();
                     res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
                     res.ResMsg = ex.StackTrace;
+                    var error = new BaseErrorInfo()
+                    {
+                        BusName = "湿拉下盘注册",
+                        Message = $"{res.ResMsg},{DateTime.Now:yyyyMMddHH}",
+                        Count = 1,
+                        Memo = "WCS"
+                    };
+                    error.UpdataErrorinfo(_baseErrorInfoRepository);
                 }
             }
 

+ 1 - 1
wms.sqlsugar/model/fj/BillSpoolTrans.cs

@@ -78,7 +78,7 @@ namespace wms.sqlsugar.model.fj
     }
 
     /// <summary>
-    ///  码垛工字轮信息
+    ///  异常信息
     /// </summary>
     [Tenant("fj")]
     [SugarTable("Base_ErrorInfo")]