wxw
2024-12-11 0651efda1f08d417c82994887c68dfea2c9b4235
Wms/WMS.BLL/BllTransServer/NoticeServer.cs
@@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utility.Tools;
using WMS.BLL.LogServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
@@ -15,6 +16,7 @@
using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllTransServer;
using static Model.InterFaceModel.RCSModel;
namespace WMS.BLL.BllTransServer
{
@@ -296,95 +298,95 @@
                        //更新储位状态
                        Db.Updateable(locatInfo).ExecuteCommand();
                        #region 质检请验
                        var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == noticeDetail.SkuNo && m.LotNo == noticeDetail.LotNo && m.SupplierLot == noticeDetail.SupplierLot);
                        if (qualityRequest == null)
                        {
                            //质检请验单信息
                            string qcNo = new Common().GetMaxNo("QC");
                            qualityRequest = new BllQualityInspectionRequest();
                            qualityRequest.QcNo = qcNo;
                            qualityRequest.Status = "0";
                            qualityRequest.SkuNo = noticeDetail.SkuNo;
                            qualityRequest.SkuName = noticeDetail.SkuName;
                            qualityRequest.LotNo = noticeDetail.LotNo;
                            qualityRequest.SupplierLot = noticeDetail.SupplierLot;
                            qualityRequest.Qty = noticeDetail.Qty;
                            qualityRequest.SamplingQty = 0;
                            qualityRequest.ASNNo = noticeDetail.ASNNo;
                            qualityRequest.CreateUser = 0;
                            qualityRequest.CreateTime = comTime;
                        #region 质检请验,去掉MES
                        //var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == noticeDetail.SkuNo && m.LotNo == noticeDetail.LotNo && m.SupplierLot == noticeDetail.SupplierLot);
                        //if (qualityRequest == null)
                        //{
                        //    //质检请验单信息
                        //    string qcNo = new Common().GetMaxNo("QC");
                        //    qualityRequest = new BllQualityInspectionRequest();
                        //    qualityRequest.QcNo = qcNo;
                        //    qualityRequest.Status = "0";
                        //    qualityRequest.SkuNo = noticeDetail.SkuNo;
                        //    qualityRequest.SkuName = noticeDetail.SkuName;
                        //    qualityRequest.LotNo = noticeDetail.LotNo;
                        //    qualityRequest.SupplierLot = noticeDetail.SupplierLot;
                        //    qualityRequest.Qty = noticeDetail.Qty;
                        //    qualityRequest.SamplingQty = 0;
                        //    qualityRequest.ASNNo = noticeDetail.ASNNo;
                        //    qualityRequest.CreateUser = 0;
                        //    qualityRequest.CreateTime = comTime;
                            // 记录任务日志
                            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();
                        //    // 记录任务日志
                        //    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 = qualityRequest.QcNo,
                                SkuNo = qualityRequest.SkuNo,
                                Qty = qualityRequest.Qty.ToString(),
                                LotNo = qualityRequest.LotNo,
                                SupplierLot = qualityRequest.SupplierLot,
                                RequestUser = "",                       // 请验人
                            };
                            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")
                        //    // 调用Limes接口发起请验
                        //    var sendModel = new SendLimesModel()
                        //    {
                        //        QcNo = qualityRequest.QcNo,
                        //        SkuNo = qualityRequest.SkuNo,
                        //        Qty = qualityRequest.Qty.ToString(),
                        //        LotNo = qualityRequest.LotNo,
                        //        SupplierLot = qualityRequest.SupplierLot,
                        //        RequestUser = "",                       // 请验人
                        //    };
                        //    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);
                        //        ////解析返回数据
                        //        //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);
                                // 更新请验单信息
                                qualityRequest.Status = "1";
                                qualityRequest.SamplingQty = 10;//decimal.Parse(limesModel.SamplingQty);
                                qualityRequest.RequestUser = 0;
                                qualityRequest.RequestTime = DateTime.Now;
                                qualityRequest.UpdateTime = DateTime.Now;
                                qualityRequest.UpdateUser = 0;
                                //添加质检请验单
                                Db.Insertable(qualityRequest).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);
                            }
                        }
                        //        // 更新请验单信息
                        //        qualityRequest.Status = "1";
                        //        qualityRequest.SamplingQty = 10;//decimal.Parse(limesModel.SamplingQty);
                        //        qualityRequest.RequestUser = 0;
                        //        qualityRequest.RequestTime = DateTime.Now;
                        //        qualityRequest.UpdateTime = DateTime.Now;
                        //        qualityRequest.UpdateUser = 0;
                        //        //添加质检请验单
                        //        Db.Insertable(qualityRequest).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);
                        //    }
                        //}
                        #endregion
                        break;
@@ -492,7 +494,7 @@
                            sd3.LocatNo = endLocatInfo2.LocatNo;//储位地址
                            if (endLocatInfo2.AreaNo.Contains("01"))//洁净区
                            {
                                sd3.PalletStatus = "0";
                                sd3.PalletStatus = "0";
                            }
                            else if (endLocatInfo2.AreaNo.Contains("02"))//预混区
                            {
@@ -509,7 +511,7 @@
                                sd3.SkuNo = "";
                                sd3.SkuName = "";
                                sd3.InspectStatus = "0";//待检验
                            }
                            }
                        }
                        else if (taskInfo.Type == "1")//出库任务
                        {
@@ -583,6 +585,11 @@
                        //修改库存明细
                        Db.Updateable(sd3).ExecuteCommand();
                        #region 去掉MES
                        //回传桶状态给MES
                        //BackPalletStatus(taskInfo.PalletNo, sd3.PalletStatus);
                        #endregion
                        break;    
                    #endregion
                }
@@ -606,6 +613,31 @@
        }
        /// <summary>
        /// 回传桶状态给MES
        /// </summary>
        /// <param name="PalletNo">桶号</param>
        /// <param name="Status">0:净桶 1:预混 2:半成品 3:脏桶</param>
        /// <param name="url"></param>
        public void BackPalletStatus(string PalletNo, string Status,string url="")
        {
            try
            {
                var obj = new
                {
                    PalletNo = PalletNo,
                    Status = Status
                };
                string jsonReq = JsonConvert.SerializeObject(obj);
                var response = HttpHelper.DoPost(url, jsonReq, "回传MES桶状态", "MES").ToString();
                var result = JsonConvert.DeserializeObject<ReMes>(response);//解析返回数据
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 下发出库单
        /// </summary>
        /// <param name="model"></param>