From fa8310bfd01c7f3123077d6d2f6a96a92645a034 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 09 四月 2026 08:43:30 +0800
Subject: [PATCH] 板材填了就减少库存   根据  板材规格    数量(张)和  发版套数  算出库存需要减少的量,减少库存  完成

---
 CY_ECommercePlatform/CY.WebForm/Pages/business/AgSpecialOrderList.aspx.cs |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 116 insertions(+), 1 deletions(-)

diff --git a/CY_ECommercePlatform/CY.WebForm/Pages/business/AgSpecialOrderList.aspx.cs b/CY_ECommercePlatform/CY.WebForm/Pages/business/AgSpecialOrderList.aspx.cs
index 8c60f41..49ce842 100644
--- a/CY_ECommercePlatform/CY.WebForm/Pages/business/AgSpecialOrderList.aspx.cs
+++ b/CY_ECommercePlatform/CY.WebForm/Pages/business/AgSpecialOrderList.aspx.cs
@@ -11,6 +11,7 @@
 using CY.BLL.Sys;
 using System.Data;
 using CY.BLL.OA;
+using CY.BLL.EC;
 
 namespace CY.WebForm.Pages.business
 {
@@ -19,11 +20,17 @@
     public partial class AgSpecialOrderList : BasePage
     {
         EC_SpecialOrdersBLL bll_EC_SpecialOrdersBLL = null;
+        EC_OrderBasicBLL _eC_OrderBasicBLL = null;
+        OA_OutOfStorageBLL _OA_OutOfStorageBLL = null;
+        OA_InventoryBLL _OA_InventoryBLL = null;
 
         //鍒濆鍖�
         public AgSpecialOrderList()
         {
             bll_EC_SpecialOrdersBLL = new EC_SpecialOrdersBLL();
+            _eC_OrderBasicBLL = new EC_OrderBasicBLL();
+            _OA_OutOfStorageBLL = new OA_OutOfStorageBLL();
+            _OA_InventoryBLL = new OA_InventoryBLL();
         }
 
         //椤甸潰鍔犺浇
@@ -39,6 +46,41 @@
                 EC_SpecialOrders model = bll_EC_SpecialOrdersBLL.GetModelByKeyid(Request["delete"].ToInt32());
                 if (model != null && model.Keyid != null)
                 {
+                    //閫�鍥炲簱瀛�
+                    var oA_OutOfStorages = _OA_OutOfStorageBLL.getModelListByRemark(model.Memberid, "<span class='a_under' title='鐐瑰嚮鏌ョ湅鏂藉伐鍗曡鎯�' onclick=\"ViewModel_Special('" + model.Keyid + "')\">涓撶増锛�" + model.PSO_OrderNum + "</span>").ToList();
+                    if (oA_OutOfStorages != null && oA_OutOfStorages.Count > 0)
+                    {
+                        foreach (var outOfStorage in oA_OutOfStorages)
+                        {
+                            if (outOfStorage.InfoType == "纭鍑哄簱")
+                            {
+                                _OA_OutOfStorageBLL.DeleteModel(outOfStorage);
+                            }
+                            else if (outOfStorage.InfoType == "鍑哄簱")
+                            {
+
+
+                                OA_Inventory Inventory = new OA_Inventory();
+                                Inventory.BrandId = outOfStorage.BrandId;
+                                Inventory.FirmId = outOfStorage.FirmId;
+                                Inventory.GoodsId = outOfStorage.GoodsId;
+                                Inventory.LastUpdateTime = DateTime.Now;
+                                Inventory.WarehouseId = outOfStorage.WarehouseId;
+                                Inventory.SpecificationId = outOfStorage.SpecificationId;
+                                Inventory.PaperWeightId = outOfStorage.PaperWeightId;
+
+                                var m_OA_Inventory = _OA_InventoryBLL.IfHasModel(Inventory);
+                                if (m_OA_Inventory != null)//濡傛灉鎵�閫夎揣浣嶅瓨鍦ㄦ浜у搧
+                                {
+
+                                    m_OA_Inventory.InventoryCount = m_OA_Inventory.InventoryCount + outOfStorage.Quantity;
+                                    bool isSuccess = _OA_InventoryBLL.UpdateModel(m_OA_Inventory);
+                                }
+                                _OA_OutOfStorageBLL.DeleteModel(outOfStorage);
+                            }
+                        }
+                    }
+
                     bll_EC_SpecialOrdersBLL.DeleteModel(model);
                     JavaScript.MessageBox("鍒犻櫎鎴愬姛", this);
                     Response.Redirect("/Pages/business/AgSpecialOrderList.aspx");
@@ -46,6 +88,79 @@
                 else
                 {
                     JavaScript.MessageBox("鍒犻櫎澶辫触", this);
+                }
+            }
+
+            if (Request["chedan"] != null)
+            {
+                EC_SpecialOrders model = bll_EC_SpecialOrdersBLL.GetModelByKeyid(Request["chedan"].ToInt32());
+                if (model != null && model.Keyid != null)
+                {
+                    EC_OrderBasic _eC_OrderBasic = _eC_OrderBasicBLL.SelectModelById(model.PO_OrderId.ToInt32().Value);
+                    if (null == _eC_OrderBasic)
+                    {
+
+                    }
+                    else
+                    {
+                        //淇敼璁㈠崟鐘舵��
+                        List<EC_OrderOperate> oprates = new List<EC_OrderOperate>();
+                        oprates.Add(new EC_OrderOperate()
+                        {
+                            OperateType = 1,
+                            OrderId = _eC_OrderBasic.Keyid,
+                            Operator = CurrentUser.ShortName,
+                            Remark = ""
+                        });
+                        _eC_OrderBasicBLL.UpdateOrderState(oprates[0]);
+                        //淇敼璁㈠崟鏁伴噺
+                        _eC_OrderBasicBLL.UpSurplusPrintNum(_eC_OrderBasic.Keyid, _eC_OrderBasic.OrderExtend.PrintNum, CurrentUser.ShortName);
+
+
+
+                    }
+                    //閫�鍥炲簱瀛�
+                    var oA_OutOfStorages = _OA_OutOfStorageBLL.getModelListByRemark(model.Memberid, "<span class=''a_under'' title=''鐐瑰嚮鏌ョ湅鏂藉伐鍗曡鎯�'' onclick=\"ViewModel_Special(''" + model.Keyid + "'')\">涓撶増锛�" + model.PSO_OrderNum + "</span>").ToList();
+                    if (oA_OutOfStorages != null && oA_OutOfStorages.Count > 0)
+                    {
+                        foreach(var outOfStorage in oA_OutOfStorages)
+                        {
+                            if (outOfStorage.InfoType == "纭鍑哄簱")
+                            {
+                                _OA_OutOfStorageBLL.DeleteModel(outOfStorage);
+                            }
+                            else if(outOfStorage.InfoType == "鍑哄簱")
+                            {
+
+
+                                OA_Inventory Inventory = new OA_Inventory();
+                                Inventory.BrandId = outOfStorage.BrandId;
+                                Inventory.FirmId = outOfStorage.FirmId;
+                                Inventory.GoodsId = outOfStorage.GoodsId;
+                                Inventory.LastUpdateTime = DateTime.Now;
+                                Inventory.WarehouseId = outOfStorage.WarehouseId;
+                                Inventory.SpecificationId = outOfStorage.SpecificationId;
+                                Inventory.PaperWeightId = outOfStorage.PaperWeightId;
+
+                                var m_OA_Inventory = _OA_InventoryBLL.IfHasModel(Inventory);
+                                if (m_OA_Inventory != null)//濡傛灉鎵�閫夎揣浣嶅瓨鍦ㄦ浜у搧
+                                {
+
+                                    m_OA_Inventory.InventoryCount = m_OA_Inventory.InventoryCount + outOfStorage.Quantity;
+                                    bool isSuccess = _OA_InventoryBLL.UpdateModel(m_OA_Inventory);
+                                }
+                                _OA_OutOfStorageBLL.DeleteModel(outOfStorage);
+                            }                      
+                        }
+                    }
+
+                    bll_EC_SpecialOrdersBLL.DeleteModel(model);
+                    JavaScript.MessageBox("鎾ゅ崟鎴愬姛", this);
+                    Response.Redirect("/Pages/business/AgSpecialOrderList.aspx");
+                }
+                else
+                {
+                    JavaScript.MessageBox("鎾ゅ崟澶辫触", this);
                 }
             }
         }
@@ -60,7 +175,7 @@
             pa.PageSize = UCPager1.AspNetPager.PageSize;
             pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex;
             this.RepClientList.DataSource = bll_EC_SpecialOrdersBLL.SelectModelPage(pa, CurrentUser.MemberId,this.txtPrintName.Value,this.txtCustormerName.Value,this.txtPSO_OrderNum.Value, string.IsNullOrEmpty(this.txtBeginDate.Value) ? beginTime : Convert.ToDateTime(this.txtBeginDate.Value)
-                                                                                           , string.IsNullOrEmpty(this.txtEndDate.Value) ? endTime : MyConvert.GetDateTime(this.txtEndDate.Value)
+                                                                                           , string.IsNullOrEmpty(this.txtEndDate.Value) ? endTime : MyConvert.GetDateTime(this.txtEndDate.Value), "琛ュ崟"
 );
             this.RepClientList.DataBind();
             UCPager1.AspNetPager.RecordCount = pa.RecordCount;

--
Gitblit v1.9.1