From a356468e8421332d47fb1006b4dbdac5d639bde3 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期三, 29 十月 2025 11:50:24 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/FangCangZhiNeng

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs |  346 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 339 insertions(+), 7 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index f35bfb2..e78cd75 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -43,9 +43,10 @@
         private readonly ICabinOrderDetailServices _cabinOrderDetailServices;
         private readonly ISupplyTaskService _supplyTaskService;
         private readonly ISupplyTaskHtyService _supplyTaskHtyService;
+        private readonly IMessageInfoService _messageInfoService;
         public IRepository<Dt_CabinOrder> Repository => BaseDal;
 
-        public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService) : base(BaseDal)
+        public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService, IMedicineGoodsServices medicineGoodsServices, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, ICabinOrderDetailServices cabinOrderDetailServices, ICabinOrderHtyServices cabinOrderHtyServices, ICabinOrderDetailHtyServices cabinOrderDetailHtyServices, ISupplyTaskService supplyTaskService, ISupplyTaskHtyService supplyTaskHtyService, IMessageInfoService messageInfoService) : base(BaseDal)
         {
             _basicService = basicService;
             _medicineGoodsServices = medicineGoodsServices;
@@ -55,12 +56,13 @@
             _cabinOrderDetailServices = cabinOrderDetailServices;
             _supplyTaskService = supplyTaskService;
             _supplyTaskHtyService = supplyTaskHtyService;
+            _messageInfoService = messageInfoService;
         }
 
 
 
         /// <summary>
-        /// pda鏌ヨ鍑哄簱鍗曚俊鎭�
+        /// pda鏌ヨ鍏ュ簱鍗曚俊鎭�
         /// </summary>
         /// <param name="saveModel"></param>
         /// <returns></returns>
@@ -232,7 +234,7 @@
                     MaterielName = inventoryInfo.MaterielName,
                     MaterielCode = inventoryInfo.MaterielCode,
                     MaterielSpec = inventoryInfo.MaterielSpec,
-                    TaskType = TaskTypeEnum.InPick.ObjToInt(),
+                    TaskType = cabinOrder.Order_type == "1" ? TaskTypeEnum.In.ObjToInt() : TaskTypeEnum.OutReturn.ObjToInt(),
                     CreateDate = DateTime.Now,
                     Creater = App.User.UserName,
                     LocationCode = location.LocationCode,
@@ -268,7 +270,7 @@
                         Status = false,
                         StockQuantity = inventoryInfo.StockQuantity,
                         AvailableQuantity = inventoryInfo.StockQuantity,
-                        ValidityPeriod = inventoryInfo.ValidityPeriod,
+                        ValidityPeriod = inventoryInfo.ValidityPeriod.ObjToDate(),
                         SupplyQuantity = inventoryInfo.SupplyQuantity,
                     };
                     _inventory_BatchServices.AddData(inventory_Batch);
@@ -297,9 +299,11 @@
             WebResponseContent webResponseContent = new WebResponseContent();
             try
             {
+                string WareCodeMJ = WarehouseEnum.楹荤簿搴�.ObjToInt().ToString("000");
+                string WareCodeLD = WarehouseEnum.鍐峰喕搴�.ObjToInt().ToString("000");
                 List<Dt_CabinOrder> dt_CabinOrders = new List<Dt_CabinOrder>();
                 #region 鐗规畩鑽搧鍏ョ壒娈婂簱鎴�
-                if (order.warehouse_no == WarehouseEnum.楹荤簿搴�.ObjToInt().ToString("000") || order.warehouse_no == WarehouseEnum.鍐峰喕搴�.ObjToInt().ToString("000"))
+                if (order.warehouse_no == WareCodeMJ || order.warehouse_no == WareCodeLD)
                 {
                     var entityOrder = new Dt_CabinOrder
                     {
@@ -312,6 +316,7 @@
                         Warehouse_no = order.warehouse_no,
                         Details = order.details.Select(d => new Dt_CabinOrderDetail
                         {
+                            Reservoirarea = order.warehouse_no,
                             Goods_no = d.goods_no,
                             Order_qty = Math.Abs(d.order_qty),
                             Batch_num = d.batch_num,
@@ -357,8 +362,6 @@
                         if (materielInfo == null) throw new Exception($"鏈壘鍒拌嵂鍝佺紪鐮併�恵item.goods_no}銆戠殑淇℃伅");
                         if (!Enum.IsDefined(typeof(MaterielSourceTypeEnum), materielInfo.MaterielSourceType))
                             throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵item.goods_no}銆戠殑灞炴�у垎绫�");
-                        if (materielInfo.BoxQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵item.goods_no}銆戠殑绠辫鏁伴噺");
-                        if (materielInfo.MinQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵item.goods_no}銆戠殑绔嬪簱鏈�浣庡簱瀛樻暟");
                         #endregion
                         #region 澶т欢
                         if (materielInfo.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart)//濡傛灉鐗╂枡鏄ぇ浠�
@@ -378,6 +381,8 @@
                         #endregion
                         else
                         {
+                            if (materielInfo.BoxQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵item.goods_no}銆戠殑绠辫鏁伴噺");
+                            if (materielInfo.MinQty < 1) throw new Exception($"璇疯缃嵂鍝佺紪鍙枫�恵item.goods_no}銆戠殑绔嬪簱鏈�浣庡簱瀛樻暟");
                             Dt_CabinOrderDetail orderDetail = null;
                             var ys = item.order_qty % materielInfo.BoxQty; //涓嶈兘鏁撮櫎绠辫鐨勬暎浠舵暟 
                             var xs = (int)(item.order_qty / materielInfo.BoxQty);//淇濈暀鏁存暟
@@ -457,5 +462,332 @@
             return webResponseContent;
         }
         #endregion
+
+        #region 鍒涘缓鐩樼泩鍏ュ簱鍗�
+        public WebResponseContent CreateCheckInOrder(UpstreamOrderInfo order)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string WareCodeMJ = WarehouseEnum.楹荤簿搴�.ObjToInt().ToString("000");
+                string WareCodeLD = WarehouseEnum.鍐峰喕搴�.ObjToInt().ToString("000");
+                #region 鐗规畩搴撴埧
+                if (order.warehouse_no == WareCodeMJ || order.warehouse_no == WareCodeLD)
+                {
+                    #region 搴撳瓨銆佸簱瀛樻壒娆″钩璐�
+                    foreach (var item in order.details)
+                    {
+                        //鎵惧簱瀛樻壒娆′俊鎭�
+                        Dt_Inventory_Batch inventory_Batch = _inventory_BatchServices.Repository.QueryFirst(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num);
+                        var Qty = Math.Abs(inventory_Batch.StockQuantity - inventory_Batch.SupplyQuantity);
+                        if (Qty != item.order_qty) throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
+                        //鎵炬墍鏈夊簱瀛�
+                        List<Dt_InventoryInfo> inventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo);
+                        foreach (var inventoryInfo in inventoryInfos)
+                        {
+                            #region 娣诲姞鐩樼泩鍏ュ簱浠诲姟
+                            if (inventoryInfo.StockQuantity != inventoryInfo.SupplyQuantity)
+                            {
+                                Dt_SupplyTask_Hty supplyTask_Hty = new Dt_SupplyTask_Hty()
+                                {
+                                    WarehouseCode = inventoryInfo.WarehouseCode,
+                                    OperateType = OperateTypeEnum.鑷姩瀹屾垚.ToString(),
+                                    InsertTime = DateTime.Now,
+                                    TaskStatus = SupplyStatusEnum.InFinish.ObjToInt(),
+                                    BatchNo = inventoryInfo.BatchNo,
+                                    MaterielName = inventoryInfo.MaterielName,
+                                    MaterielCode = inventoryInfo.MaterielCode,
+                                    MaterielSpec = inventoryInfo.MaterielSpec,
+                                    TaskType = TaskTypeEnum.ChenckIn.ObjToInt(),
+                                    CreateDate = DateTime.Now,
+                                    Creater = App.User.UserName,
+                                    LocationCode = inventoryInfo.LocationCode,
+                                    OrderNo = order.order_no,
+                                    StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                    SupplyQuantity = 0,
+                                    Remark = "鐩樼泩鍏ュ簱"
+                                };
+                                _supplyTaskHtyService.AddData(supplyTask_Hty);
+                            }
+                            #endregion
+                            inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                            inventoryInfo.SupplyQuantity = 0;
+                            inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
+                        }
+                        inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                        inventory_Batch.SupplyQuantity = 0;
+                        _inventoryInfoService.UpdateData(inventoryInfos);
+                        _inventory_BatchServices.UpdateData(inventory_Batch);
+                    }
+                    #endregion
+
+                    #region 鍒涘缓鐩樼偣鍗�
+                    var entityOrder = new Dt_CabinOrder
+                    {
+                        Order_no = order.order_no,
+                        Order_type = order.order_type,
+                        Supplier_no = order.supplier_no,
+                        Account_tiem = order.account_time,
+                        OdrderStatus = "宸插畬鎴�",
+                        Supplier_name = order.supplier_name,
+                        Warehouse_no = order.warehouse_no,
+                        Details = order.details.Select(d => new Dt_CabinOrderDetail
+                        {
+                            Goods_no = d.goods_no,
+                            Order_qty = Math.Abs(d.order_qty),
+                            Order_Inqty = Math.Abs(d.order_qty),
+                            Batch_num = d.batch_num,
+                            Exp_date = d.exp_date,
+                            Reservoirarea = order.warehouse_no,
+                            OrderDetailStatus = "宸插畬鎴�",
+                            Status = 2,
+                        }).ToList()
+                    };
+                    Db.InsertNav(entityOrder).Include(it => it.Details).ExecuteCommand();
+                    //Repository.AddData(entityOrder);
+                    #endregion
+                }
+                #endregion
+                else
+                {
+                    string WareCodeLK = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
+                    string WareCodeDJ = WarehouseEnum.澶т欢搴�.ObjToInt().ToString("000");
+
+                    foreach (var item in order.details)
+                    {
+                        //鎵惧簱瀛樻壒娆′俊鎭�
+                        Dt_Inventory_Batch inventory_Batch = _inventory_BatchServices.Repository.QueryFirst(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num);
+                        var Qty = Math.Abs(inventory_Batch.StockQuantity - inventory_Batch.SupplyQuantity);
+                        if (Qty != item.order_qty) throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
+                        //鎵炬墍鏈夊簱瀛�
+                        List<Dt_InventoryInfo> inventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo);
+                        //鑾峰彇绔嬪簱鐩樼偣宸紓鏁�
+                        var inventoryLK = inventoryInfos.Where(x => x.WarehouseCode == WareCodeLK).First();
+                        var LkQty = Math.Abs(inventoryLK.StockQuantity - inventoryLK.SupplyQuantity);
+                        //鑾峰彇澶т欢搴撶洏鐐瑰樊寮傛暟
+                        var inventoryDJ = inventoryInfos.Where(x => x.WarehouseCode == WareCodeDJ).ToList();
+                        var DJQty = Math.Abs(inventoryDJ.Sum(x => x.StockQuantity) - inventoryDJ.Sum(x => x.SupplyQuantity));
+                        if (LkQty + DJQty != Qty) throw new Exception($"銆恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐗╂枡淇℃伅涓庣墿鏂欐壒娆′俊鎭洏鐩堟暟閲忎笉绗�");
+                        if (LkQty == 0)//绔嬪簱鏃犲樊寮�
+                        {
+                            #region 搴撳瓨銆佸簱瀛樻壒娆″钩璐�
+                            foreach (var inventoryInfo in inventoryInfos)
+                            {
+                                #region 娣诲姞鐩樼泩鍏ュ簱浠诲姟
+                                if (inventoryInfo.StockQuantity != inventoryInfo.SupplyQuantity)
+                                {
+                                    Dt_SupplyTask_Hty supplyTask_Hty = new Dt_SupplyTask_Hty()
+                                    {
+                                        WarehouseCode = inventoryInfo.WarehouseCode,
+                                        OperateType = OperateTypeEnum.鑷姩瀹屾垚.ToString(),
+                                        InsertTime = DateTime.Now,
+                                        TaskStatus = SupplyStatusEnum.InFinish.ObjToInt(),
+                                        BatchNo = inventoryInfo.BatchNo,
+                                        MaterielName = inventoryInfo.MaterielName,
+                                        MaterielCode = inventoryInfo.MaterielCode,
+                                        MaterielSpec = inventoryInfo.MaterielSpec,
+                                        TaskType = TaskTypeEnum.ChenckIn.ObjToInt(),
+                                        CreateDate = DateTime.Now,
+                                        Creater = App.User.UserName,
+                                        LocationCode = inventoryInfo.LocationCode,
+                                        OrderNo = order.order_no,
+                                        StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                        SupplyQuantity = 0,
+                                        Remark = "鐩樼泩鍏ュ簱"
+                                    };
+                                    _supplyTaskHtyService.AddData(supplyTask_Hty);
+                                }
+                                #endregion
+                                inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.SupplyQuantity = 0;
+                                inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
+                            }
+                            _inventoryInfoService.UpdateData(inventoryInfos);
+                            inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                            inventory_Batch.SupplyQuantity = 0;
+                            _inventory_BatchServices.UpdateData(inventory_Batch);
+                            #endregion
+
+                            #region 鍒涘缓澶т欢搴撶洏鐐瑰崟
+                            var entityOrder = new Dt_CabinOrder
+                            {
+                                Order_no = order.order_no,
+                                Order_type = order.order_type,
+                                Supplier_no = order.supplier_no,
+                                Account_tiem = order.account_time,
+                                OdrderStatus = "宸插畬鎴�",
+                                Supplier_name = order.supplier_name,
+                                Warehouse_no = WareCodeDJ,
+                                Details = order.details.Select(d => new Dt_CabinOrderDetail
+                                {
+                                    Goods_no = d.goods_no,
+                                    Order_qty = Math.Abs(d.order_qty),
+                                    Order_Inqty = Math.Abs(d.order_qty),
+                                    Batch_num = d.batch_num,
+                                    Exp_date = d.exp_date,
+                                    Reservoirarea = WareCodeDJ,
+                                    OrderDetailStatus = "宸插畬鎴�",
+                                    Status = 2,
+                                }).ToList()
+                            };
+                            //Repository.AddData(entityOrder);
+                            Db.InsertNav(entityOrder).Include(it => it.Details).ExecuteCommand();
+
+                            #endregion
+                        }
+                        else
+                        {
+                            #region 澶т欢搴撳簱瀛樺钩璐�
+                            inventoryInfos = inventoryInfos.Where(x => x.WarehouseCode == WareCodeDJ).ToList();
+                            foreach (var inventoryInfo in inventoryInfos)
+                            {
+                                #region 娣诲姞鐩樼泩鍏ュ簱浠诲姟
+                                if (inventoryInfo.StockQuantity != inventoryInfo.SupplyQuantity)
+                                {
+                                    Dt_SupplyTask_Hty supplyTask_Hty = new Dt_SupplyTask_Hty()
+                                    {
+                                        WarehouseCode = inventoryInfo.WarehouseCode,
+                                        OperateType = OperateTypeEnum.鑷姩瀹屾垚.ToString(),
+                                        InsertTime = DateTime.Now,
+                                        TaskStatus = SupplyStatusEnum.InFinish.ObjToInt(),
+                                        BatchNo = inventoryInfo.BatchNo,
+                                        MaterielName = inventoryInfo.MaterielName,
+                                        MaterielCode = inventoryInfo.MaterielCode,
+                                        MaterielSpec = inventoryInfo.MaterielSpec,
+                                        TaskType = TaskTypeEnum.ChenckIn.ObjToInt(),
+                                        CreateDate = DateTime.Now,
+                                        Creater = App.User.UserName,
+                                        LocationCode = inventoryInfo.LocationCode,
+                                        OrderNo = order.order_no,
+                                        StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                        SupplyQuantity = 0,
+                                        Remark = "鐩樼泩鍏ュ簱"
+                                    };
+                                    _supplyTaskHtyService.AddData(supplyTask_Hty);
+                                }
+                                #endregion
+                                inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.SupplyQuantity = 0;
+                                inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
+                            }
+                            _inventoryInfoService.UpdateData(inventoryInfos);
+                            #endregion
+
+                            #region 鍒涘缓澶т欢搴撶洏鐐瑰崟
+                            if (DJQty != 0)
+                            {
+                                var cabinOrder = new Dt_CabinOrder
+                                {
+                                    Order_no = order.order_no,
+                                    Order_type = order.order_type,
+                                    Supplier_no = order.supplier_no,
+                                    Account_tiem = order.account_time,
+                                    OdrderStatus = "宸插畬鎴�",
+                                    Supplier_name = order.supplier_name,
+                                    Warehouse_no = WareCodeDJ,
+                                    Details = order.details.Select(d => new Dt_CabinOrderDetail
+                                    {
+                                        Goods_no = d.goods_no,
+                                        Order_qty = DJQty,
+                                        Order_Inqty = DJQty,
+                                        Batch_num = d.batch_num,
+                                        Exp_date = d.exp_date,
+                                        Reservoirarea = WareCodeDJ,
+                                        OrderDetailStatus = "宸插畬鎴�",
+                                        Status = 2,
+                                    }).ToList()
+                                };
+                                //Repository.AddData(cabinOrder);
+                                Db.InsertNav(cabinOrder).Include(it => it.Details).ExecuteCommand();
+
+                            }
+                            #endregion
+
+                            #region 鍒涘缓绔嬪簱鐩樼偣鍗�
+                            var entityOrder = new Dt_CabinOrder
+                            {
+                                Order_no = order.order_no,
+                                Order_type = order.order_type,
+                                Supplier_no = order.supplier_no,
+                                Account_tiem = order.account_time,
+                                OdrderStatus = "鏂板缓",
+                                Supplier_name = order.supplier_name,
+                                Warehouse_no = WareCodeLK,
+                                Details = order.details.Select(d => new Dt_CabinOrderDetail
+                                {
+                                    Goods_no = d.goods_no,
+                                    Order_qty = LkQty,
+                                    Batch_num = d.batch_num,
+                                    Exp_date = d.exp_date,
+                                    Reservoirarea = WareCodeLK,
+                                    OrderDetailStatus = "鏂板缓",
+                                    Status = 0,
+                                }).ToList()
+                            };
+                            //Repository.AddData(entityOrder);
+                            Db.InsertNav(entityOrder).Include(it => it.Details).ExecuteCommand();
+                            #endregion
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                //_messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, "鍒涘缓鐩樼泩鍏ュ簱鍗�", ex.Message);
+                content.Error(ex.Message);
+            }
+            return content;
+        }
+        #endregion
+
+
+        /// <summary>
+        /// 浜哄伐鍏ュ簱瀹屾垚
+        /// </summary>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public WebResponseContent FinishInOrder(int key)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_CabinOrder cabinOrder = BaseDal.QueryFirst(x => x.Id == key);
+                List<Dt_CabinOrder> cabinOrders = Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == cabinOrder.Order_no).Includes(x => x.Details).ToList();//鎵惧嚭鎵�鏈夊嚭搴撳崟鍙风浉鍚岀殑鍑哄簱鍗�
+                _unitOfWorkManage.BeginTran();
+
+                foreach (var item in cabinOrders)
+                {
+                    if (item.Details != null)
+                        _cabinOrderDetailServices.Repository.DeleteAndMoveIntoHty(item.Details, OperateTypeEnum.浜哄伐瀹屾垚);
+                    item.Modifier = App.User.UserName;
+                    item.ModifyDate = DateTime.Now;
+                    item.Details = null;
+                }
+                BaseDal.DeleteAndMoveIntoHty(cabinOrders, OperateTypeEnum.浜哄伐瀹屾垚);
+
+                if (cabinOrder.Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
+                    _unitOfWorkManage.CommitTran();
+                else
+                {
+                    var url = "http://121.37.118.63:80/GYZ2/95fck/outOrderOk";
+                    var requestDate = new
+                    {
+                        order_no = cabinOrder.Order_no
+                    };
+                    var result = HttpHelper.Post(url, requestDate.ToJsonString());
+                    var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
+                    if (response == null) throw new Exception("涓婃姤ERP鍏ュ簱鍗曞畬鎴愬け璐ワ紒");
+                    if (response.resultCode != "0") throw new Exception(response.resultMsg);
+                    _unitOfWorkManage.CommitTran();
+                }
+                content.OK();
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                content.Error(ex.Message);
+            }
+            return content;
+        }
     }
 }

--
Gitblit v1.9.3