chengsc
2025-05-13 6167bf4c8fe617d9f9861585042149d48ad15dbb
Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
@@ -536,109 +536,6 @@
            }
        }
        /// <summary>
        /// 向Limes发送请验信息
        /// </summary>
        /// <param name="model">model.Id:请验单主键;model.Code:出库口 </param>
        /// <param name="userId">操作用户</param>
        /// <param name="url">Wcs地址</param>
        /// <returns></returns>
        public bool SendInspectionRequest(IdVm model, int userId, string url, string userName)
        {
            try
            {
                // 判断请验单状态
                var data = Db.Queryable<BllQualityInspectionRequest>()
                    .Where(m => m.QcNo == model.Code && m.IsDel == "0" && m.Status == "0").ToList().FirstOrDefault();
                if (data == null)
                {
                    throw new Exception("操作失败!请验单状态变更.");
                }
                // 记录任务日志
                var taskNo = new Common().GetMaxNo("TK");
                var exTask = new LogTask()
                {
                     TaskNo = taskNo,
                     Sender = "WMS",
                     Receiver = "Limes",
                     IsSuccess = 0,                  //是否下发成功 0失败 1成功
                     StartLocat = "",               //起始位置
                     PalletNo = "",                 //托盘码
                     IsSend = 1,                    //是否可再次下发
                     IsCancel = 1,                  //是否可取消
                     IsFinish = 1,                  //是否可完成
                     Status = "0",                  //任务状态0:等待执行1正在执行2执行完成
                     OrderType = "5",               //0 入库单 1 出库单  2 盘点单  3 移库单 4 取样出库单 5 其他
                     EndLocat = "",          //目标位置
                     Type = "3",                     //任务类型 0 入库任务 1 出库任务  2 移库任务
                     Msg = "请验任务"
                };
                // 插入任务日志
                Db.Insertable(exTask).ExecuteCommand();
                // 调用Limes接口发起请验
                var sendModel = new SendLimesModel()
                {
                    QcNo = data.QcNo,
                    SkuNo = data.SkuNo,
                    Qty = data.Qty.ToString(),
                    LotNo = data.LotNo,
                    SupplierLot = data.SupplierLot,
                    RequestUser = userName,                       // 请验人
                };
                var jsonData = JsonConvert.SerializeObject(sendModel);
                string response = "";
                try
                {
                    var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    //response = HttpHelper.DoPost(url, jsonData, "上传Limes系统发起请验", "Limes");
                    var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    ////解析返回数据
                    //var limesModel = JsonConvert.DeserializeObject<LimesModel>(response);
                    List<string> list1 = new List<string>();
                    list1.Add(taskNo);
                    //if (limesModel.Success == 0)
                    //{
                        //更改任务的发送返回时间//
                        new TaskServer().EditTaskIssueOk(list1, time1, time2);
                        // 更新请验单信息
                        data.Status = "1";
                        data.SamplingQty = 10;//decimal.Parse(limesModel.SamplingQty);
                        data.RequestUser = userId;
                        data.RequestTime = DateTime.Now;
                        data.UpdateTime = DateTime.Now;
                        data.UpdateUser = userId;
                        Db.Updateable(data).ExecuteCommand();
                    //}
                    //if (limesModel.Success == -1)
                    //{
                    //    new TaskServer().EditTaskIssueNo(list1, time1, time2,limesModel.Message);
                    //    throw new Exception(limesModel.Message);
                    //}
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                //添加操作日志记录
                var k = new OperationCrServer()
                    .AddLogOperationCr("质量管理", "质检请验", model.Code, "请验", $"向质量部分发起请验!", userId);
                return true;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        #endregion
    }
}