From 26e7644be352af722ea055d084b2e4a65efb382f Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期日, 28 二月 2021 10:08:05 +0800
Subject: [PATCH] 报表过滤框

---
 src/BLL/Demo.BillView/PRD/Pro_TlPush.cs |  216 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 147 insertions(+), 69 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
index b555b37..feac37a 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
@@ -1,99 +1,177 @@
 锘縰sing System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
 using System.ComponentModel;
-using System.Data;
-using System.Linq;
-using System.Text;
-using Demo.Model.Model;
-using Kingdee.BOS;
-using Kingdee.BOS.Core.Attachment;
 using Kingdee.BOS.Core.Bill;
 using Kingdee.BOS.Core.Bill.PlugIn;
-using Kingdee.BOS.Core.Bill.PlugIn.Args;
-using Kingdee.BOS.Core.CommonFilter;
 using Kingdee.BOS.Core.DynamicForm;
-using Kingdee.BOS.Core.DynamicForm.DiffCompare;
-using Kingdee.BOS.Core.DynamicForm.Operation;
 using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
-using Kingdee.BOS.Core.List;
 using Kingdee.BOS.Core.Metadata;
-using Kingdee.BOS.Core.Metadata.BarElement;
-using Kingdee.BOS.Core.Metadata.ConvertElement;
-using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
 using Kingdee.BOS.Core.Metadata.EntityElement;
-using Kingdee.BOS.Core.Metadata.FormElement;
-using Kingdee.BOS.Core.Metadata.QueryElement;
-using Kingdee.BOS.Core.Msg;
-using Kingdee.BOS.Core.Permission;
-using Kingdee.BOS.Log;
-using Kingdee.BOS.Msg;
-using Kingdee.BOS.Orm;
 using Kingdee.BOS.Orm.DataEntity;
-using Kingdee.BOS.Orm.Metadata.DataEntity;
-using Kingdee.BOS.Resource;
-using Kingdee.BOS.ServiceHelper;
-using Kingdee.BOS.Util;
-using Kingdee.K3.SCM.Business;
-using Kingdee.K3.SCM.Core.SCP;
-using Kingdee.K3.SCM.ServiceHelper;
 using Newtonsoft.Json.Linq;
+using ZD.Cloud.Logger;
+using ZD.Cloud.WebApi;
 
 namespace Demo.BillView.PRD
 {
-
     [Description("鎻愭枡涓嬫帹閫佽揣閫氱煡鍗�")]
     [Kingdee.BOS.Util.HotUpdate]
     public class Pro_TlPush : AbstractBillPlugIn
     {
+        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
         public override void BarItemClick(BarItemClickEventArgs e)
         {
-            string a;
-            if ((a = e.BarItemKey.ToUpperInvariant()) != null)
+            try
             {
-                if (a == "TBPUSH")
+                string a;
+                if ((a = e.BarItemKey.ToUpperInvariant()) != null)
                 {
-                    // 鑾峰彇鐖跺崟鎹綋
-                    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);//鑾峰緱瀛愬崟鎹綋琛岄泦鍚�
-
-                    string sql = $"select * from ";
-
-
-                    JObject model = new JObject();
-                    model.Add("FHDate", "");
-                    model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
-                    model.Add("FSupplierID", new JObject() { ["Fnumber"] = "" });
-
-                    JArray Fentity = new JArray();
-                    for (int i = 0; i < 10; i++)
+                    if (a == "TBPUSH")
                     {
-                        JObject FentityModel = new JObject();
+                        // 鑾峰彇鐖跺崟鎹綋
+                        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 涓昏〃
+                        JObject model = new JObject();
+                        model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //鍗曟嵁绫诲瀷
+                        model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡
+                        model.Add("FStockOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); // 鏀舵枡缁勭粐 
+                        model.Add("FPurOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); //閲囪喘缁勭粐
+                        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() ?? "" });//璐т富 
 
-                        FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
 
-                        Fentity.Add(FentityModel);
+                        //model.Add("FPurchaserId", new JObject() { ["Fnumber"] = "" }); //閲囪喘鍛�
+                        //model.Add("FReceiverId", new JObject() { ["Fnumber"] = "" }); //鏀舵枡鍛�
+                        //model.Add("FSupplyAddress", ""); //渚涜揣鏂瑰湴鍧�
+                        //model.Add("FConfirmerId", new JObject() { ["FUserID"] = "" }); // 纭浜�
+                        //model.Add("FConfirmDate", "1900-01-01"); //纭鏃ユ湡 
+                        //model.Add("FSupplyId", new JObject() { ["Fnumber"] = "" }); // 渚涜揣鏂� 
+                        //model.Add("FChargeId", new JObject() { ["Fnumber"] = "" }); // 鏀舵鏂� 
+                        //model.Add("FSettleId", new JObject() { ["Fnumber"] = "" }); // 缁撶畻鏂� 
+                        //model.Add("FIsInsideBill", "false"); // 澶栭儴鍗曟嵁
+                        //model.Add("FScanBox", "false"); // 搴忓垪鍙蜂笂浼�
+
+                        //瀛愯〃 鏁版嵁妯″瀷
+                        JArray Fentity = new JArray();
+                        foreach (var item in entityRows)
+                        {
+                            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("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("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());//  鎻愭枡婧愬崟鍒嗗綍鍐呯爜
+
+                            JArray Fentity2 = new JArray();
+                            JObject FentityModel2 = new JObject();
+                            FentityModel2.Add("FDetailEntity_Link_FRULEID", "a8c6b6e5-a8c0-4fc1-8592-6b76c2136cf9");
+                            FentityModel2.Add("FDetailEntity_Link_FSTableName", "t_PUR_POOrderEntry");
+                            FentityModel2.Add("FDetailEntity_Link_FSBillId", item["FHPOOrderInterID"].ToString());
+                            FentityModel2.Add("FDetailEntity_Link_FSId", item["FHPOOrderEntryID"].ToString());
+                            Fentity2.Add(FentityModel2);
+                            FentityModel.Add("FDetailEntity_Link", Fentity2);
+                            //鍗曟嵁杞崲鍏宠仈鍏崇郴
+                            //FentityModel.Add("FAuxPropId", new JObject() { }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FConfirmDeliQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FConfirmDeliDate", "1900-01-01"); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FConfirmInfo", ""); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FDescription", ""); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FBomId", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FLot", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FSupplierLot", ""); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FPrice", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FTaxPrice", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FDiscountRate", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FEntryTaxRate", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockBaseQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FTaxCombination", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FPriceBaseQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockInMaxQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FBaseStockInMaxQty", 0); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FCheckInComing", "false"); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockID", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockLocId", new JObject() { }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FStockStatusId", new JObject() { ["Fnumber"] = "" }); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FProduceDate", "1900-01-01"); // 鐗╂枡缂栫爜   
+                            //FentityModel.Add("FExpiryDate", "1900-01-01"); // 鐗╂枡缂栫爜 
+
+                            Fentity.Add(FentityModel);
+                        }
+                        model.Add("FDetailEntity", Fentity); //鏄庣粏淇℃伅
+
+                        JObject _FentityModel = new JObject();
+                        _FentityModel.Add("FSettleOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); //  缁撶畻缁勭粐  
+                        _FentityModel.Add("FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].ToString() ?? "" }); //  缁撶畻甯佸埆
+                        _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"] = "",
+                            ["NeedUpDateFields"] = new JArray(),
+                            ["NeedReturnFields"] = new JArray(),
+                            ["IsDeleteEntry"] = "false",
+                            ["SubSystemId"] = "",
+                            ["IsVerifyBaseDataField"] = "false",
+                            //["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();
+                        if (saveIsSuc == "TRUE")
+                        {
+                            // 鎵撳紑鍗曟嵁缁存姢鐣岄潰锛氫互鎵撳紑閿�鍞鍗�100001涓轰緥
+                            // using Kingdee.BOS.Core.Bill;
+                            string pageId = Guid.NewGuid().ToString();
+                            BillShowParameter showParameter = new BillShowParameter();
+                            showParameter.FormId = "SCP_ReceiveBill";
+                            showParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
+                            showParameter.PageId = pageId;
+                            showParameter.Status = OperationStatus.EDIT;
+                            // 浼犲叆闇�瑕佷慨鏀圭殑閿�鍞鍗曞唴鐮侊紝婕旂ず浠g爜鐩存帴鍥哄畾鍐欐涓�100001
+                            showParameter.PKey = saveObj["Result"]["Id"].ToString();
+                            this.View.ShowForm(showParameter);
+                        }
+                        else
+                        {
+                            LogHelper.Error(jsonRoot.ToString());
+                            this.View.ShowErrMessage(jsonRoot.ToString());
+                        }
                     }
-                    model.Add("FEntity", Fentity);
-                    JObject jsonRoot = new JObject()
-                    {
-                        ["Creator"] = "",
-                        ["NeedUpDateFields"] = new JArray(),
-                        ["NeedReturnFields"] = new JArray(),
-                        ["IsDeleteEntry"] = "false",
-                        ["SubSystemId"] = "",
-                        ["IsVerifyBaseDataField"] = "false",
-                        ["Model"] = model
-                    };
                 }
             }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
         }
-
-
     }
 }
+

--
Gitblit v1.9.1