From 22493059e5b0080ac437b4ee2a640b37310a5a04 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期日, 28 二月 2021 16:24:57 +0800
Subject: [PATCH] 锁定增加进度条

---
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 104 insertions(+), 3 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index ee2ebb2..6c4e2a0 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -9,6 +9,7 @@
 using Kingdee.BOS.Core.DynamicForm.PlugIn;
 using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
 using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
+using Kingdee.BOS.Core.List;
 using Kingdee.BOS.Core.Metadata;
 using Kingdee.BOS.Core.Metadata.EntityElement;
 using Kingdee.BOS.JSON;
@@ -28,6 +29,7 @@
 using System.Data;
 using System.Diagnostics;
 using System.Linq;
+using System.Threading;
 using System.Web;
 using ZD.Cloud.Logger;
 using ZD.Cloud.WebApi;
@@ -133,6 +135,11 @@
                     {
                         this.View.ShowMessage("鎿嶄綔鎴愬姛锛�");
                     }
+                }
+                //閫夊崟
+                if (e.BarItemKey.ToUpper() == "TBSELECTMENU")
+                {
+                    SelectMenu();
                 }
                 //棰勭暀
                 if (e.BarItemKey.ToUpper() == "TBRESERVE")
@@ -380,7 +387,7 @@
             //if (result > 0)
             //{
             //閿佸畾鍚庣敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟 鍙� 鎻愭枡璁″垝
-            DayPlanPPBomBillBatch();
+            DayPlanPPBomBill();
             //Extraction();
             SearchList();
             this.View.ShowMessage("鎿嶄綔鎴愬姛");
@@ -1227,7 +1234,7 @@
 delete   z_JIT_MOMaterReadysBill
 ", item.FHMainICMOInterIDr, item.FHMainICMOEntryID, item.FHICMOInterID, item.FHICMOEntryID, item.FHMaterID, item.FHStockOrgID, item.FHStockQty, item.FHLeftQty, item.FHPRDORGID, item.FUnitDosage, item.FSumPlanCount, item.FPRDBillNo, item.FOwnerId == null ? "0" : item.FOwnerId, item.FPlanDate.ToString("yyyy-MM-dd"), item.FComPlete, item.FLackCount, item.FOccupyCount, item.FCompleteCount1, item.FErpClsID);
                     sqlList.Add(sql);
-                    this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(98) / completeAnalysisTempModel.Count) * jdtmmm);
+                    this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / completeAnalysisTempModel.Count) * jdtmmm);
                     jdtmmm++;
                 }
                 DBServiceHelper.ExecuteBatch(Context, sqlList);
@@ -1714,6 +1721,54 @@
         }
 
         /// <summary>
+        /// 鏃ヨ鍒掔敤鏂欐竻鍗曡繘搴︽潯
+        /// </summary>
+        private void DayPlanPPBomBill()
+        {
+            // 鏄剧ず涓�涓繘搴︽樉绀虹晫闈細鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害
+            // bUseTruePro鍙傛暟锛氭槸鍚︽樉绀虹湡瀹炵殑杩涘害銆�
+            // bUseTruePro = false 锛�
+            // 鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害锛屼笌瀹為檯澶勭悊杩涘害娌℃湁鍏宠仈銆�
+            // 姝ゆ柟妗堜紭鐐癸細瀹為檯澶勭悊浠g爜鏃犻渶璁$畻杩涘害
+            // 姝ゆ柟妗堢己鐐癸細杩涘害涓嶅噯纭紝涓旇繘搴﹂〉闈笉浼氳嚜鍔ㄥ叧闂��
+            // bUseTruePro = true: 杩涘害鐣岄潰鏄剧ず鐪熷疄杩涘害
+            // 姝ゆ柟妗堜紭鐐癸細杩涘害鐪熷疄
+            // 姝ゆ柟妗堢己鐐癸細闇�瑕佸湪澶勭悊浠g爜涓紝涓嶆柇鐨勬洿鏂扮湡瀹炶繘搴︼紝鏇存柊璇彞
+            // this.View.Session["ProcessRateValue"] = 100;
+            // 鐗瑰埆璇存槑锛屽綋杩涘害鏇存柊鍒�100鏃讹紝杩涘害鐣岄潰浼氳嚜鍔ㄥ叧闂�
+            // 鏈渚嬮�夌敤姝ゆ柟妗�
+            var processForm = this.View.ShowProcessForm(
+                new Action<FormResult>(t => { }),
+                true,
+                "姝e湪鐢熸垚锛岃绋嶅��...");
+
+            // 寮�鍚竴涓紓姝ョ嚎绋嬶紝澶勭悊寮曞叆鍔熻兘
+            // using Kingdee.BOS.KDThread;
+            MainWorker.QuequeTask(() =>
+            {
+                try
+                {
+                    // 闇�瑕佹崟鑾烽敊璇紝浠ョ‘淇濆鐞嗙粨鏉熸椂锛屽叧闂繘搴︽粴鍔ㄧ晫闈�
+                    // 寮曞叆鍔熻兘瀹為檯澶勭悊鍑芥暟
+                    this.DayPlanPPBomBillBatch();
+                }
+                finally
+                {
+                    // 纭繚鏍囪杩涘害宸茬粡鍒拌揪100%
+                    this.View.Session["ProcessRateValue"] = 100;
+                    // 寮曞叆瀹屾瘯锛屽叧闂繘搴︽樉绀洪〉闈�
+                    var processView = this.View.GetView(processForm.PageId);
+                    if (processView != null)
+                    {
+                        processView.Close();
+                        this.View.SendDynamicFormAction(processView);
+                    }
+                }
+            },
+            (t) => { });
+        }
+
+        /// <summary>
         /// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴�
         /// </summary>  
         public void DayPlanPPBomBillBatch()
@@ -1748,6 +1803,7 @@
             DBServiceHelper.ExecuteBatch(Context, zxSqlList);
             Stopwatch sw = new Stopwatch();
             sw.Start();//寮�濮嬭鏃�
+            //Thread.Sleep(6000);
             LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曞噯澶囨暟鎹�");
             //閿佸畾鐨勬棩璁″垝涓嶇敓鎴�
             try
@@ -1839,6 +1895,7 @@
                     LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
                     var fidList = DayPlanMaterial.Select(x => x.FEntryID).Distinct().ToList();
                     int i = 1;
+                    int jdtmmm = 1;
                     JArray Fentity = new JArray();
                     foreach (var item in fidList)
                     {
@@ -1933,6 +1990,9 @@
                             Fentity = new JArray();
                         }
                         i++;
+
+                        this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / fidList.Count) * jdtmmm);
+                        jdtmmm++;
                     }
                 }
                 sw.Stop();//缁撴潫璁℃椂
@@ -2378,7 +2438,7 @@
         /// <summary>
         /// 1.閿佸簱锛屽叿浣撳瓧娈垫牴鎹笟鍔″崟鎹喅瀹氾紝鈥業nv鈥欒〃绀哄嵆鏃跺簱瀛橈紝鈥楩InvDetailID鈥欎负鍗虫椂搴撳瓨ID
         /// </summary>
-        public void Reserve()
+        public void Reserve()   
         {
             try
             {
@@ -2582,6 +2642,47 @@
                 this.View.ShowErrMessage(ex.Message.ToString());
             }
         }
+
+        public void SelectMenu() {
+            //鑾峰彇鍗曟嵁浣撲俊鎭�
+            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
+            //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎
+            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
+            int Fseq = entityDataObjoct.Count();
+
+            string pageId = Guid.NewGuid().ToString();
+            ListShowParameter showParameter = new ListShowParameter();
+            showParameter.FormId = "PRD_MO";
+            showParameter.PageId = pageId;
+            showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID;
+            showParameter.IsLookUp = true;
+            this.View.ShowForm(showParameter);
+
+            this.View.ShowForm(showParameter, delegate (FormResult result)
+            {
+                object returnData = result.ReturnData;
+                if (returnData is ListSelectedRowCollection)
+                {
+                    ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
+                    if (listSelectedRowCollection != null)
+                    {
+                        foreach (var listSelectedRow in listSelectedRowCollection)
+                        {
+                            this.Model.CreateNewEntryRow("FEntity");
+                            this.View.Model.SetValue("FORGID",100, Fseq);
+                            this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq);
+                            this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq);
+                            this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);
+                            this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq);
+                            this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq);
+                            this.View.Model.SetValue("FProductWorkShopId", listSelectedRow.DataRow["FWorkShopID_Id"].ToString(), Fseq);
+                            this.View.Model.SetValue("FOrderLevel", "3", Fseq);
+                            Fseq++;
+                        }
+                    }
+                }
+            });
+        }
     }
 }
 

--
Gitblit v1.9.1