Demo
2024-07-17 3a9b5dcd5dd6ed033f80f1696b07135635b3e9f8
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -139,8 +139,8 @@
                        }
                        else
                        {
                            stocks = stockList.Where(m=> m.SkuNo == d.SkuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList();
                            stocks = stockList.Where(m => m.SkuNo == d.SkuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList();
                            foreach (var demo in stocks)
                            {
                                if (q1 >= d.Qty)
@@ -148,7 +148,7 @@
                                    continue;
                                }
                                var q2 = demo.Qty - demo.LockQty - demo.FrozenQty;
                                if (q2 > d.Qty - q1)
                                {
                                    q1 += d.Qty - q1;
@@ -157,9 +157,9 @@
                                else
                                {
                                    q1 += q2;
                                    dic.Add(demo.Id,q2);
                                    dic.Add(demo.Id, q2);
                                }
                            }
                            if (d.Qty >= q1)
                            {
@@ -185,7 +185,7 @@
                                throw new Exception($"总库存中出库物料信息:{d.SkuNo} 库存数量不足");
                            }
                        }
                        foreach (var s in dic)
                        {
                            var st = stockList.First(a => a.Id == s.Key);
@@ -214,12 +214,12 @@
                                CreateUser = 0,
                            };
                            list.Add(item);
                            st.LockQty += s.Value;//锁定数量
                            var i = Db.Updateable(st).UpdateColumns(it => new { it.LockQty })
                                .ExecuteCommand();
                        }
                    }
                    var notice = new BllExportNotice()
                    {
@@ -462,7 +462,7 @@
                    throw new Exception("未查到对应出库类型的物料");
                }
                if (type!="8")
                if (type != "8")
                {
                    skuList = skuList.Where(m => m != "100088").ToList();
                }
@@ -645,7 +645,7 @@
                            //}
                            //if (d.Qty >= q1)
                            //{
                                stocks = stockList.Where(s => s.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList();
                            stocks = stockList.Where(s => s.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList();
                            //    if (stocks.Count == 0)
                            //    {
                            //        throw new Exception($"总库存中出库物料信息:{d.SkuNo}库存数量不足");
@@ -667,7 +667,7 @@
                            //    throw new Exception($"总库存中出库物料信息:{d.SkuNo} 库存数量不足");
                            //}
                        }
                        var item = new BllExportNoticeDetail()
                        {
                            SONo = billNo,
@@ -694,7 +694,7 @@
                        };
                        list.Add(item);
                        stocks.First().LockQty += d.Qty;//锁定数量
                        var i = Db.Updateable(stocks.First()).UpdateColumns(it => new { it.LockQty })
                            .ExecuteCommand();
@@ -2177,7 +2177,7 @@
                            //var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                            //////解析返回数据 
                            //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                            var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                            //if (wcsModel.StatusCode == 0)
                            //{
                            //    //更改任务的发送返回时间//
@@ -2455,7 +2455,7 @@
        //重新下发出库任务
        public OutCommandDto AgainSendSoTask(string taskNo, int userId, string url)
        public OutCommandDto AgainSendSoTask(string taskNo, string Receiver, int userId, string url)
        {
            try
            {
@@ -2506,22 +2506,42 @@
                {
                    //程序正式发布后放开
                    var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    var response = HttpHelper.DoPost(url, jsonData, "下发给WCS出库命令", "WCS");
                    var response = HttpHelper.DoPost(url, jsonData, Receiver == "WCS" ? "下发给WCS出库命令" : "下发给AGV出库命令", "WCS");
                    var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss")
                    ////解析返回数据
                    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                    if (wcsModel.StatusCode == 0)
                    if (Receiver == "WCS")
                    {
                        //更改任务的发送返回时间//
                        new TaskServer().EditTaskIssueOk(list, time1, time2);
                        ////解析返回数据
                        var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                        if (wcsModel.StatusCode == 0)
                        {
                            //更改任务的发送返回时间//
                            new TaskServer().EditTaskIssueOk(list, time1, time2);
                        }
                        if (wcsModel.StatusCode == -1)
                        {
                            new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
                            throw new Exception($"wcs返回状态异常:{wcsModel.Msg}");
                        }
                    }
                    if (wcsModel.StatusCode == -1)
                    else if (Receiver == "AGV")
                    {
                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
                        throw new Exception($"wcs返回状态异常:{wcsModel.Msg}");
                        ////解析返回数据
                        var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
                        if (agvModel.Code == "0")
                        {
                            //更改任务的发送返回时间//
                            new TaskServer().EditTaskIssueOk(list, time1, time2);
                        }
                        if (agvModel.Code == "1")
                        {
                            new TaskServer().EditTaskIssueNo(list, time1, time2, agvModel.Message);
                            throw new Exception($"agv返回状态异常:{agvModel.Message}");
                        }
                    }
                }
                catch (Exception ex)
                {
@@ -2854,11 +2874,11 @@
                            throw new Exception("库存不足,无可出库库存");
                        }
                        //0:成品出库、1:领料出库、2:抽检出库、3:物料取样出库、4:不合格品出库、5:中间品出库、6:代储出库、7:其他出库、8:寄存出库
                        if (notice.Type == "0" || notice.Type == "1" )//成品、原辅料出库
                        if (notice.Type == "0" || notice.Type == "1")//成品、原辅料出库
                        {
                            stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList();
                        }
                        else if (notice.Type == "3" )//取样出库
                        else if (notice.Type == "3")//取样出库
                        {
                            stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList();
                        }
@@ -2869,7 +2889,7 @@
                        else if (notice.Type == "4")//不合格出库
                        {
                            stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList();
                        }
                        }
                        #region 包装信息
@@ -2905,8 +2925,8 @@
                                bNum = Convert.ToInt32(pack.L1Num);
                            }
                        }
                        //if (pNum == 0)
                        //{
                        //    throw new Exception("未查询到物料包装托箱关系信息");
@@ -3125,7 +3145,7 @@
                        //    {
                        //        d.LotNo = "";
                        //    }
                        //}
                    }
                    notice.Status = "0";
@@ -3345,7 +3365,7 @@
                        bl.Qty += st.Qty;
                        Db.Updateable(bl).ExecuteCommand();
                    }
                    //库存明细
                    stock.LockQty += st.Qty;
                    stock.Status = stock.LockQty == stock.Qty ? "2" : "1";