From dfbc0389d6b9b2bd8e92e976248b9992a03979f4 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 08 九月 2021 13:23:26 +0800
Subject: [PATCH] 提料生成送货单 下推数量 =提料计划数量 - 已生成送货单数量

---
 src/BLL/Demo.BillView/PRD/Pro_TlPush.cs |   46 ++++++++++++++++++++--------------------------
 1 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
index feac37a..c93b0d0 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.ComponentModel;
+using System.Linq;
 using Kingdee.BOS.Core.Bill;
 using Kingdee.BOS.Core.Bill.PlugIn;
 using Kingdee.BOS.Core.DynamicForm;
@@ -27,15 +28,14 @@
                 {
                     if (a == "TBPUSH")
                     {
-                        // 鑾峰彇鐖跺崟鎹綋
                         Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑
-                                                                                        //DynamicObjectCollection entityRows = entity.DynamicProperty.GetValue(this.Model.DataObject) as DynamicObjectCollection;//鑾峰彇鐖跺崟鎹綋琛岄泦鍚�
                         DynamicObjectCollection entityRows = this.Model.GetEntityDataObject(entity);//鑾峰彇鐖跺崟鎹綋琛岄泦鍚�
-                                                                                                    // 1鍜�2鍧囧彲
-                                                                                                    // 鍙栧綋鍓嶉〉闈㈠瓙鍗曟嵁浣�
-                                                                                                    //Entity subEntity = this.View.BillBusinessInfo.GetEntity("FEntity");//鏍囪瘑
-                                                                                                    //DynamicObjectCollection rows = this.Model.GetEntityDataObject(subEntity);//鑾峰緱瀛愬崟鎹綋琛岄泦鍚�
-                                                                                                    //鏋勫缓 model 涓昏〃
+                        int ret = entityRows.Where(x => Convert.ToDecimal(x["FHQty"]) - Convert.ToDecimal(x["FReciveCount"]) > 0).Count();
+                        if (ret == 0)
+                        {
+                            this.View.ShowErrMessage("宸插叏閮ㄧ敓鎴愰�佽揣鍗�");
+                            return;
+                        }
                         JObject model = new JObject();
                         model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //鍗曟嵁绫诲瀷
                         model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡
@@ -44,8 +44,6 @@
                         model.Add("FSupplierId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSupplierID") as DynamicObject)?["Number"].ToString() ?? "" }); //渚涘簲鍟�
                         model.Add("FOwnerTypeIdHead", "BD_OwnerOrg");//  璐т富绫诲瀷
                         model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 
-
-
                         //model.Add("FPurchaserId", new JObject() { ["Fnumber"] = "" }); //閲囪喘鍛�
                         //model.Add("FReceiverId", new JObject() { ["Fnumber"] = "" }); //鏀舵枡鍛�
                         //model.Add("FSupplyAddress", ""); //渚涜揣鏂瑰湴鍧�
@@ -56,7 +54,6 @@
                         //model.Add("FSettleId", new JObject() { ["Fnumber"] = "" }); // 缁撶畻鏂� 
                         //model.Add("FIsInsideBill", "false"); // 澶栭儴鍗曟嵁
                         //model.Add("FScanBox", "false"); // 搴忓垪鍙蜂笂浼�
-
                         //瀛愯〃 鏁版嵁妯″瀷
                         JArray Fentity = new JArray();
                         foreach (var item in entityRows)
@@ -64,22 +61,22 @@
                             JObject FentityModel = new JObject();
                             FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = (item["FHMaterID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鐗╂枡缂栫爜   
                             FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鍗曚綅   
-                            FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); //  棰勮鍒拌揣鏃ユ湡   
+                            FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); //棰勮鍒拌揣鏃ユ湡   
                             FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 璁′环鍗曚綅   
                             FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); //  搴撳瓨鍗曚綅   
-                            FentityModel.Add("FActReceiveQty", item["FHQty"].ToString()); // 渚涘簲鍟嗛�佽揣鏁伴噺   
-                            FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//  璐т富绫诲瀷
+                            FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["FHQty"]) - Convert.ToDecimal(item["FReciveCount"])); // 渚涘簲鍟嗛�佽揣鏁伴噺锛堟彁鏂欒鍒掓暟閲� - 宸茬敓鎴愰�佽揣鍗曟暟閲忥級
+                            FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//璐т富绫诲瀷
                             FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 
-                            FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());//  婧愬崟鍐呯爜
-                            FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//  婧愬崟绫诲瀷
-                            FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());//  婧愬崟鍗曞彿
-                            FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());//  婧愬崟鍒嗗綍鍐呯爜
-                            FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());//  婧愬崟鍗曞彿
-                            FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());//  婧愬崟鍒嗗綍鍐呯爜
-                            FentityModel.Add("FTLId", this.View.Model.DataObject["Id"].ToString());//  鎻愭枡婧愬崟鍐呯爜
-                            FentityModel.Add("FTLentryId", item["Id"].ToString());//  鎻愭枡婧愬崟鍒嗗綍鍐呯爜
-                            FentityModel.Add("FTLOrderNo", this.Model.GetValue("FBillNo").ToString());//  鎻愭枡婧愬崟鍒嗗綍鍐呯爜
-
+                            FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());//婧愬崟鍐呯爜
+                            FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//婧愬崟绫诲瀷
+                            FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());//婧愬崟鍗曞彿
+                            FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());//婧愬崟鍒嗗綍鍐呯爜
+                            FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());//婧愬崟鍗曞彿
+                            FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());//婧愬崟鍒嗗綍鍐呯爜
+                            FentityModel.Add("FTLId", this.View.Model.DataObject["Id"].ToString());//鎻愭枡婧愬崟鍐呯爜
+                            FentityModel.Add("FTLentryId", item["Id"].ToString());//鎻愭枡婧愬崟鍒嗗綍鍐呯爜
+                            FentityModel.Add("FTLOrderNo", this.Model.GetValue("FBillNo").ToString());//鎻愭枡婧愬崟鍒嗗綍鍐呯爜
+                            
                             JArray Fentity2 = new JArray();
                             JObject FentityModel2 = new JObject();
                             FentityModel2.Add("FDetailEntity_Link_FRULEID", "a8c6b6e5-a8c0-4fc1-8592-6b76c2136cf9");
@@ -124,12 +121,10 @@
                         _FentityModel.Add("FPricePoint", 0); //  瀹氫环鏃剁偣
                         //FPricePoint  
                         model.Add("FinanceEntity ", _FentityModel);//璐㈠姟淇℃伅
-
                         //model.Add("FinanceEntity ", new JObject() {
                         //"FSettleOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" },
                         //"FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].ToString() ?? "" }
                         //});
-
                         JObject jsonRoot = new JObject()
                         {
                             ["Creator"] = "",
@@ -141,7 +136,6 @@
                             //["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳�
                             ["Model"] = model
                         };
-
                         var result = cloudClient.Save("PUR_ReceiveBill", jsonRoot.ToString());
                         JObject saveObj = JObject.Parse(result);
                         string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();

--
Gitblit v1.9.1