zwc
2025-01-15 2920728d7908da2ee196f3af8b3d1c635696e9a1
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -410,6 +410,20 @@
                    if (model.Type == "0")//成品入库单下发WCS信息
                    {
                        //计算出总箱数
                        var packmodel = Db.Queryable<SysPackag>().First(w=>w.PackagNo == detailModel.SkuNo);
                        int xqty = 0;
                        if (packmodel.L1Name == "箱") {
                            xqty = (int)detailModel.Qty;
                        }
                        if (packmodel.L2Name == "箱")
                        {
                            xqty = (int)(detailModel.Qty / packmodel.L2Num);
                        }
                        if (packmodel.L3Name == "箱")
                        {
                            xqty = (int)(detailModel.Qty/ packmodel.L2Num / packmodel.L3Num);
                        }
                        addOder.Add(new ResponseOrderTaskModel()
                        {
                            OrderNo = model.ASNNo,
@@ -417,7 +431,7 @@
                            SkuNo = detailModel.SkuNo,
                            SkuName = detailModel.SkuName,
                            BoxType = detailModel.Standard,
                            Qty = (int)detailModel.Qty,
                            Qty = xqty,
                            TaskType = 0
                        });
                    }
@@ -1009,10 +1023,11 @@
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public HttpReturnModel HttpCreateAsn(AsnInfo model)
        public HttpReturnModel HttpCreateAsn(AsnInfo model, string url)
        {
            try
            {
                var addOder = new List<ResponseOrderTaskModel>();
                var resultModel = new HttpReturnModel() { Success = "-1", Message = "" };
                if (string.IsNullOrEmpty(model.AsnType))
                {
@@ -1105,7 +1120,37 @@
                    };
                    detailModels.Add(detailModel);
                    if (model.AsnType == "0")//成品入库单下发WCS信息
                    {
                        //计算出总箱数
                        var packmodel = Db.Queryable<SysPackag>().First(w => w.PackagNo == detailModel.SkuNo);
                        int xqty = 0;
                        if (packmodel.L1Name == "箱")
                        {
                            xqty = (int)detailModel.Qty;
                        }
                        if (packmodel.L2Name == "箱")
                        {
                            xqty = (int)(detailModel.Qty / packmodel.L2Num);
                        }
                        if (packmodel.L3Name == "箱")
                        {
                            xqty = (int)(detailModel.Qty / packmodel.L2Num / packmodel.L3Num);
                        }
                        addOder.Add(new ResponseOrderTaskModel()
                        {
                            OrderNo = asnNo,
                            LotNo = asnDetailModel.LotNo,
                            SkuNo = asnDetailModel.SkuNo,
                            SkuName = skuModel.SkuName,
                            BoxType = skuModel.Standard,
                            Qty = (int)asnDetailModel.Qty,
                            TaskType = 0
                        });
                    }
                }
                Db.BeginTran();
                // 插入入库单总表
@@ -1115,6 +1160,36 @@
                Db.Insertable(detailModels).ExecuteCommand();
                Db.CommitTran();
                if (addOder.Count > 0)
                {
                    // 正式运行程序放开
                    var jsonData = JsonConvert.SerializeObject(addOder);
                    string response = "";
                    try
                    {
                        var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss")
                                                 //给WCS下发入库单信息
                        response = HttpHelper.DoPost(url, jsonData, "下发给WCS入库命令", "WCS");
                        //解析返回数据
                        var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                        if (wcsModel.StatusCode == 0)
                        {
                        }
                        if (wcsModel.StatusCode == -1)
                        {
                            throw new Exception($"下发WCS失败:{wcsModel.Msg}");
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
                resultModel.Success = "0";
                resultModel.Message = "成功";
                return resultModel;