yanjinhui
20 分钟以前 07b532a6a6adf0a9d965b037cf98c1f98accd138
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs
@@ -16,6 +16,171 @@
    public partial class Business
    {
        #region èŽ·å–ERP入库单
        //static string SearchInOrderDate = "2025-11-01 00:00:00";
        //public WebResponseContent GetInOrder()
        //{
        //    WebResponseContent content = new WebResponseContent();
        //    try
        //    {
        //        var url = "http://121.37.118.63:80/GYZ2/95fck/inOrder";
        //        string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        //        if (string.IsNullOrEmpty(SearchInOrderDate)) SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        //        var requestData = new { searchDate = SearchInOrderDate };
        //        //SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        //        var result = HttpHelper.Post(url, requestData.ToJsonString());
        //        var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
        //        if (response == null) return content;
        //        if (response.data.Count < 1)
        //        {
        //            SearchInOrderDate = GetOutOrderDate;
        //            return content;
        //        }
        //        var ordernos = response.data.Select(x => x.order_no).ToList();
        //        var existingOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no)).Select(x => x.Order_no).Distinct().ToList();
        //        var newOrders = response.data.Where(order => !existingOrderNos.Contains(order.order_no)).ToList();
        //        if (newOrders.Count < 1)
        //        {
        //            SearchInOrderDate = GetOutOrderDate;
        //            return content;
        //        }
        //        int messQty = 0;
        //        foreach (var order in newOrders)
        //        {
        //            try
        //            {
        //                if (order.order_type == "1")
        //                {
        //                    content = _cabinOrderServices.CreateInboundOrder(order);
        //                    if (!content.Status) messQty++;
        //                }
        //                else if (order.order_type == "3")//入库退料
        //                {
        //                    #region è½¬æ¢ä¸ºå‡ºåº“单
        //                    UpstramOutOrderInfo upstramOutOrderInfo = new UpstramOutOrderInfo()
        //                    {
        //                        order_no = order.order_no,
        //                        order_type = order.order_type,
        //                        warehouse_no = order.warehouse_no,
        //                        details = new List<UpstreamOutOrderDetail>()
        //                    };
        //                    foreach (var item in order.details)
        //                    {
        //                        UpstreamOutOrderDetail detail = new UpstreamOutOrderDetail()
        //                        {
        //                            batch_num = item.batch_num,
        //                            goods_no = item.goods_no,
        //                            order_qty = item.order_qty,
        //                            exp_date = item.exp_date,
        //                        };
        //                        upstramOutOrderInfo.details.Add(detail);
        //                    }
        //                    #endregion
        //                    content = _deliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo);
        //                    if (!content.Status) messQty++;
        //                }
        //                else if (order.order_type == "5")//报溢入库
        //                {
        //                    content = _cabinOrderServices.CreateCheckInOrder(order);
        //                    if (!content.Status) messQty++;
        //                }
        //            }
        //            catch (Exception ex)
        //            {
        //                continue;
        //            }
        //        }
        //        if (messQty == 0) SearchInOrderDate = GetOutOrderDate;
        //        return content.OK();
        //    }
        //    catch (Exception ex)
        //    {
        //        Console.WriteLine("获取ERP入库单信息异常:" + ex.Message);
        //        return content.Error(ex.Message);
        //    }
        //}
        #endregion
        #region èŽ·å–ERP出库单
        //static string SearchOutOrderDate = "2025-11-01 00:00:00";
        //public WebResponseContent GetOutOrder()
        //{
        //    WebResponseContent content = new WebResponseContent();
        //    try
        //    {
        //        //var url = "http://121.37.118.63:80/GYZ2/95fck/outOrder";
        //         var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/366751306?apifoxApiId=366751306";
        //        string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        //        if (string.IsNullOrEmpty(SearchOutOrderDate)) SearchOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        //        var requestData = new { searchDate = SearchOutOrderDate };
        //        var result = HttpHelper.Post(url, requestData.ToJsonString());
        //        var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstramOutOrderInfo>>(result);
        //        if (response == null) return content;
        //        if (response.data.Count < 1)
        //        {
        //            SearchOutOrderDate = GetOutOrderDate;
        //            return content;
        //        }
        //        var ordernos = response.data.Select(x => x.order_no).ToList();
        //        var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no)).Select(x => x.Out_no).Distinct().ToList();
        //        var newOutOrders = response.data.Where(outorder => !existingOutOrderNos.Contains(outorder.order_no)).ToList();
        //        if (newOutOrders.Count < 1)
        //        {
        //            SearchOutOrderDate = GetOutOrderDate;
        //            return content;
        //        }
        //        int messQty = 0;
        //        foreach (var outorder in newOutOrders)
        //        {
        //            if (outorder.order_type == "1")// æ­£å¸¸å‡ºåº“单
        //            {
        //                content = _deliveryOrderServices.CreateOutboundOrder(outorder);
        //                if (!content.Status) messQty++;
        //            }
        //            else if (outorder.order_type == "2")//出库退货
        //            {
        //                #region è½¬æ¢æˆå…¥åº“单
        //                UpstreamOrderInfo order = new UpstreamOrderInfo()
        //                {
        //                    order_no = outorder.order_no,
        //                    order_type = outorder.order_type,
        //                    warehouse_no = outorder.warehouse_no,
        //                    details = new List<UpstreamOrderDetail>()
        //                };
        //                foreach (var item in outorder.details)
        //                {
        //                    UpstreamOrderDetail detail = new UpstreamOrderDetail()
        //                    {
        //                        batch_num = item.batch_num,
        //                        goods_no = item.goods_no,
        //                        order_qty = item.order_qty,
        //                        exp_date = item.exp_date,
        //                    };
        //                    order.details.Add(detail);
        //                }
        //                #endregion
        //                content = _cabinOrderServices.CreateInboundOrder(order);
        //                if (!content.Status) messQty++;
        //            }
        //            else if (outorder.order_type == "6")//报损出库
        //            {
        //                content = _deliveryOrderServices.CreateCheckOutOrder(outorder);
        //                if (!content.Status) messQty++;
        //            }
        //        }
        //        if (messQty == 0) SearchOutOrderDate = GetOutOrderDate;
        //    }
        //    catch (Exception ex)
        //    {
        //        content.Error(ex.Message);
        //    }
        //    return content;
        //}
        #endregion
        #region èŽ·å–ERP入库单
        static string SearchInOrderDate = "2025-11-01 00:00:00";
        public WebResponseContent GetInOrder()
        {
@@ -26,7 +191,6 @@
                string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                if (string.IsNullOrEmpty(SearchInOrderDate)) SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var requestData = new { searchDate = SearchInOrderDate };
                //SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var result = HttpHelper.Post(url, requestData.ToJsonString());
                var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
                if (response == null) return content;
@@ -35,14 +199,33 @@
                    SearchInOrderDate = GetOutOrderDate;
                    return content;
                }
                var ordernos = response.data.Select(x => x.order_no).ToList();
                var existingOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no)).Select(x => x.Order_no).Distinct().ToList();
                var newOrders = response.data.Where(order => !existingOrderNos.Contains(order.order_no)).ToList();
                // å…³é”®ä¿®æ”¹ï¼šæŒ‰è®¢å•类型分别检查对应的表
                var inOrderTypes = new List<string> { "1", "5" }; // å…¥åº“类型
                var outOrderTypes = new List<string> { "3" };      // å‡ºåº“类型
                // æ£€æŸ¥å…¥åº“单表(只检查入库类型的订单)是否存在
                var existingInOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no))
                    .Select(x => x.Order_no).Distinct().ToList();
                // æ£€æŸ¥å‡ºåº“单表(只检查出库类型的订单)
                var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no))
                    .Select(x => x.Out_no).Distinct().ToList();
                // ç­›é€‰æ–°è®¢å•:入库类型检查入库表,出库类型检查出库表 é€‰å‡ºä¸åŒ…含已存在在
                var newOrders = response.data.Where(order =>
                    (inOrderTypes.Contains(order.order_type) && !existingInOrderNos.Contains(order.order_no)) ||
                    (outOrderTypes.Contains(order.order_type) && !existingOutOrderNos.Contains(order.order_no))
                ).ToList();
                if (newOrders.Count < 1)
                {
                    SearchInOrderDate = GetOutOrderDate;
                    return content;
                }
                int messQty = 0;
                foreach (var order in newOrders)
                {
@@ -60,6 +243,9 @@
                            {
                                order_no = order.order_no,
                                order_type = order.order_type,
                                client_no=order.supplier_no,
                                client_name=order.supplier_name,
                                account_time=order.account_time,
                                warehouse_no = order.warehouse_no,
                                details = new List<UpstreamOutOrderDetail>()
                            };
@@ -120,16 +306,35 @@
                    SearchOutOrderDate = GetOutOrderDate;
                    return content;
                }
                var ordernos = response.data.Select(x => x.order_no).ToList();
                var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no)).Select(x => x.Out_no).Distinct().ToList();
                var newOutOrders = response.data.Where(outorder => !existingOutOrderNos.Contains(outorder.order_no)).ToList();
                if (newOutOrders.Count < 1)
                // æŒ‰è®¢å•类型分别检查对应的表
                var outOrderTypes = new List<string> { "1", "6" }; // å‡ºåº“类型
                var inOrderTypes = new List<string> { "2" };       // å…¥åº“类型
                // æ£€æŸ¥å‡ºåº“单表(只检查出库类型的订单)
                var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no))
                    .Select(x => x.Out_no).Distinct().ToList();
                // æ£€æŸ¥å…¥åº“单表(只检查入库类型的订单)
                var existingInOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no))
                    .Select(x => x.Order_no).Distinct().ToList();
                // ç­›é€‰æ–°è®¢å•:出库类型检查出库表,入库类型检查入库表
                var newOrders = response.data.Where(order =>
                    (outOrderTypes.Contains(order.order_type) && !existingOutOrderNos.Contains(order.order_no)) ||
                    (inOrderTypes.Contains(order.order_type) && !existingInOrderNos.Contains(order.order_no))
                ).ToList();
                if (newOrders.Count < 1)
                {
                    SearchOutOrderDate = GetOutOrderDate;
                    return content;
                }
                int messQty = 0;
                foreach (var outorder in newOutOrders)
                foreach (var outorder in newOrders)
                {
                    if (outorder.order_type == "1")// æ­£å¸¸å‡ºåº“单
                    {
@@ -143,6 +348,9 @@
                        {
                            order_no = outorder.order_no,
                            order_type = outorder.order_type,
                            supplier_no=outorder.client_no,
                            supplier_name=outorder.client_name,
                            account_time=outorder.account_time,
                            warehouse_no = outorder.warehouse_no,
                            details = new List<UpstreamOrderDetail>()
                        };
@@ -167,6 +375,7 @@
                        if (!content.Status) messQty++;
                    }
                }
                if (messQty == 0) SearchOutOrderDate = GetOutOrderDate;
            }
            catch (Exception ex)
@@ -175,6 +384,8 @@
            }
            return content;
        }
        #endregion
        #endregion
    }
}