From b502fc26362d5c1b4e3e689fe71b5f6cfa1a7af9 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期六, 13 二月 2021 14:03:48 +0800
Subject: [PATCH] 代码上传

---
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |   53 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index c0e6ba3..09c553b 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -1,4 +1,5 @@
-锘縰sing Demo.Model.Model;
+锘縰sing Demo.BillView.PRD;
+using Demo.Model.Model;
 using Demo.Model.Model.PODemandPlan;
 using K3Cloud.Extend.Utils;
 using Kingdee.BOS.Core;
@@ -380,7 +381,7 @@
             //{
             //閿佸畾鍚庣敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟 鍙� 鎻愭枡璁″垝
             DayPlanPPBomBillBatch();
-            Extraction();
+            //Extraction();
             SearchList();
             this.View.ShowMessage("鎿嶄綔鎴愬姛");
             //}
@@ -1713,18 +1714,45 @@
 
         /// <summary>
         /// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴�
-        /// </summary>
+        /// </summary>  
         public void DayPlanPPBomBillBatch()
         {
+            //LogService.WriteAsync(entrys);
+            //鏌ユ壘鍒扮殑鍚屾壒椤规
+            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
+            //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎
+            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
+            DynamicObjectCollection filterResult = entityDataObjoct.Clone();
+            filterResult.Clear();
+            entityDataObjoct.Where(x => Convert.ToBoolean(x["FFOCUS"])).ToList().ForEach(x => filterResult.Add(x));
+            string sqlWhere = " 1=1 ";
+            string FDayPlanWorkID = "";
+            string zxSql = "";
+            List<string> zxSqlList = new List<string>();
+            if (filterResult.Count() > 0)
+            {
+                foreach (var filter in filterResult)
+                {
+                    FDayPlanWorkID += filter["FDayPlanWorkID"].ToString() + ",";
+                    zxSqlList.Add(string.Format(@"/*dialect*/  
+ INSERT INTO Z_SC_TLPLANZXJH (COLUMN1) VALUES ('{0}') 
+ SELECT * FROM Z_SC_TLPLANZXJH
+ INSERT INTO SC_TLPLANZXJH(FID, FDAYPLANID, FCREATEDATE) SELECT *, GETDATE() FROM Z_SC_TLPLANZXJH
+ DELETE FROM Z_SC_TLPLANZXJH
+ SELECT * FROM SC_TLPLANZXJH", filter["FDayPlanWorkID"]));
+                }
+                FDayPlanWorkID = FDayPlanWorkID.TrimEnd(',');
+                sqlWhere += $"AND t2.FID IN ({FDayPlanWorkID})";
+            }
+            DBServiceHelper.ExecuteBatch(Context, zxSqlList);
             Stopwatch sw = new Stopwatch();
             sw.Start();//寮�濮嬭鏃�
             LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曞噯澶囨暟鎹�");
             //閿佸畾鐨勬棩璁″垝涓嶇敓鎴�
             try
             {
-                string sql = string.Format(@"
-/*dialect*/
-select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
+                string sql = string.Format(@"/*dialect*/
+select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,t3.FMOEntrySeq as FMoSeq,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
 t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType,td.FNUMBER as FWORKSHOPID,t4.FReplaceGroup,isnull(ttt.FrowCount,0)FIsTDL,t4.FUseRate
 FROM Sc_WorkBillSortBillSub t1
 JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID
@@ -1751,12 +1779,13 @@
 select distinct FDAYPLANFID from Sc_DayPlanPPBomBillMain where FID IN (
 select distinct FDAYPLANFID from T_PRD_PICKMTRLDATA)
 )
+AND {0}
 -- and T4.FMustQty>0
 -- (
 -- select  FDayPlanFID FROM Sc_DayPlanPPBomBillMain WHERE FID IN ( select distinct FID from  Sc_DayPlanPPBomBillSub WHERE FTranslateQty >0 or FPickedQty >0)
 -- )
-"
-);
+",
+sqlWhere);
                 LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曞噯澶囨暟鎹畇ql:" + sql);
                 DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                 DataTable dt = ds.Tables[0];
@@ -1802,7 +1831,8 @@
                             FWORKSHOPID = dr["FWORKSHOPID"].ToString(),
                             FReplaceGroup = dr["FReplaceGroup"].ToString(),
                             FUseRate = dr["FUseRate"].ToString(),
-                            FIsTDL = dr["FIsTDL"].ToString()
+                            FIsTDL = dr["FIsTDL"].ToString(),
+                            FMoSeq = dr["FMoSeq"].ToString(),
                         });
                     }
                     LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
@@ -1844,6 +1874,7 @@
                             ModelEnty.Add("FHQtyScrap", _item.FHQtyScrap);//鍙樺姩鎹熻�楃巼%
                             ModelEnty.Add("FMOBILLNO", _item.FMOBILLNO);//  
                             ModelEnty.Add("FMOENTRYIDINT", _item.FMOENTRYID);//  
+                            ModelEnty.Add("FMoSeq", _item.FMoSeq);//  
                             ModelEnty.Add("FPPBOMBILLNO", _item.FPPBOMBILLNO);//  
                             ModelEnty.Add("FPPBOMFSEQINT", _item.FPPBOMFSEQ);//  
                             ModelEnty.Add("FOwnerTypeId", _item.FOwnerTypeId);//  
@@ -1909,6 +1940,7 @@
             catch (Exception ex)
             {
                 LogHelper.Error("鏃ヨ鍒掔敤鏂欐竻鍗�+" + ex.Message.ToString());
+                this.View.ShowErrMessage(ex.Message.ToString());
             }
         }
 
@@ -1953,7 +1985,8 @@
                 LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql);
                 sql = string.Format(@"
  /*dialect*/
- SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t3.FMATERIALID,t6.FNumber,FHQTY*FNeedQty NeedQty,FHPRDORGID FStockOrgId FROM  SC_WORKBILLSORTBILLMAIN T1 
+ SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO, FNeedQty,(FLeadtime+FLeadTtime2)FFIXLEADTIME,t5.FMAXPOQTY,FJITBatch FMINPOQTY,FJITMATERIALGROUP,FJITMaterielDemand,FJITSafeStock,t3.FMATERIALID,t6.FNumber,FHQTY*FNeedQty NeedQty,FHPRDORGID FStockOrgId
+FROM  SC_WORKBILLSORTBILLMAIN T1 
 JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID
 LEFT JOIN(SELECT T1.FID,max(t2.FMATERIALID)FMATERIALIDMAIN, max(t2.FMoId)FMoId,MAX(FENTRYID) FENTRYID, SUM(convert(decimal(18, 2), FBASENUMERATOR / FBASEDENOMINATOR))FNeedQty, T1.FMATERIALID from T_PRD_PPBOMENTRY  T1
 JOIN T_PRD_PPBOM   T2 on t1.FID = t2.FID

--
Gitblit v1.9.1