From 54a976bab1ce8da78435bbdf8a651aa2d1af0898 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 14 九月 2022 17:22:48 +0800
Subject: [PATCH] nothing

---
 MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |  769 ----------------------------------------------------------
 1 files changed, 8 insertions(+), 761 deletions(-)

diff --git a/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index 1657a8f..ecb4809 100644
--- a/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/MES/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -109,7 +109,6 @@
             base.BarItemClick(e);
             try
             {
-                //LogService.Write("鐢熶骇璁″垝骞冲彴鎸夐挳:" + e.BarItemKey.ToUpper().ToString());
                 if (e.BarItemKey.ToUpper() == "BTEXPORT")
                 {
                     ExportExcel();
@@ -228,17 +227,6 @@
                 if (e.BarItemKey.ToUpper() == "TB_TONGBU")
                 {
                     TongBu();
-                }
-
-                //鎻愭枡璁″垝閲嶇畻
-                if (e.BarItemKey.ToUpper() == "TB_EXTRACTIONTL")
-                {
-                    ExtractionTLPLAN();
-                }
-                //瑕佹枡璁″垝閲嶇畻
-                if (e.BarItemKey.ToUpper() == "TB_EXTRACTIONYL")
-                {
-                    ExtractionYLPLAN();
                 }
                 //鏃ヨ鍒掔敤鏂欐竻鍗�
                 if (e.BarItemKey.ToUpper() == "TB_DAYPLANBOM")
@@ -671,7 +659,6 @@
 JOIN T_BAS_BILLTYPE_L B ON A.FBILLTYPEID =B.FBILLTYPEID
 where FBILLFORMID in ('PRD_MO','SUB_SUBREQORDER')   AND b.FLOCALEID = 2052)t4 on t1.FBILLTYPE =t4.FBILLTYPEID
  WHERE T1.FBILLNO = '{2}'  AND T2.FMATERIALID = '{3}' AND T2.FSEQ = '{4}'", FTempName, FTempNameEntry, Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FMatrailId_Id"]), Convert.ToString(current["FSRCBILLENTRYSEQ"]));
-                        //LogService.Write(sql);
                         DataTable dt = new DataTable();
                         dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                         if (dt.Rows.Count == 0)
@@ -1225,7 +1212,7 @@
                 List<string> sqlList = new List<string>();
                 DataTable insertDT = new DataTable();
                 insertDT.TableName = "JIT_MOMaterReadysBill";
-                insertDT.Columns.Add("FID", typeof(long));
+                //insertDT.Columns.Add("FID", typeof(long));
                 //insertDT.Columns.Add("FBILLNO", typeof(string));
                 insertDT.Columns.Add("FDOCUMENTSTATUS", typeof(string));
                 insertDT.Columns.Add("FHMAINICMOINTERIDR", typeof(long));
@@ -1259,7 +1246,7 @@
                 foreach (var item in completeAnalysisTempModel)
                 {
                     DataRow dr = insertDT.NewRow();
-                    dr["FID"] = maxFid + jdtmmm;
+                    //dr["FID"] = maxFid + jdtmmm;
                     //dr["FBILLNO"] = "";
                     dr["FDOCUMENTSTATUS"] = "A";
                     dr["FHMAINICMOINTERIDR"] = item.FHMainICMOInterIDr;
@@ -1299,10 +1286,10 @@
                 DBServiceHelper.BulkInserts(this.Context, string.Empty, string.Empty, insertDT);
                 LogService.Write("鎵归噺鎻掑叆鍒版暟鎹簱鐢ㄦ椂锛�" + sw.Elapsed);
                 //鎵ц瀹屾垚鍚� 鏇存柊鏃ヨ鍒掑伐鍗曠姸鎬�
-                DBServiceHelper.Execute(Context, @"
-/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
-                DBServiceHelper.Execute(Context, @"
-/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
+//                DBServiceHelper.Execute(Context, @"
+///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '鏈綈濂�' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
+//                DBServiceHelper.Execute(Context, @"
+///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '榻愬' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'鏈綈濂�') ='鏈綈濂�') and FID IN (" + fDayPlanFids + ") ");
                 //閲婃斁榻愬鎿嶄綔 閬垮厤澶氫汉鍚屾椂杩涜榻愬鍒嗘瀽
                 DBServiceHelper.Execute(Context, $"/*dialect*/ update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={fPrdOrgId} and FSTATUS = 1 ");
                 sw.Stop();//缁撴潫璁℃椂
@@ -1607,7 +1594,7 @@
                 List<string> sqlList = new List<string>();
                 DataTable insertDT = new DataTable();
                 insertDT.TableName = "JIT_MOMaterReadysBillXn";
-                insertDT.Columns.Add("FID", typeof(long));
+                //insertDT.Columns.Add("FID", typeof(long));
                 //insertDT.Columns.Add("FBILLNO", typeof(string));
                 insertDT.Columns.Add("FDOCUMENTSTATUS", typeof(string));
                 insertDT.Columns.Add("FHMAINICMOINTERIDR", typeof(long));
@@ -1641,7 +1628,7 @@
                 foreach (var item in completeAnalysisTempModel)
                 {
                     DataRow dr = insertDT.NewRow();
-                    dr["FID"] = maxFid + jdtmmm;
+                    //dr["FID"] = maxFid + jdtmmm;
                     //dr["FBILLNO"] = "";
                     dr["FDOCUMENTSTATUS"] = "A";
                     dr["FHMAINICMOINTERIDR"] = item.FHMainICMOInterIDr;
@@ -3660,746 +3647,6 @@
             else
             {
                 this.View.ShowMessage("璇峰嬀閫夋暟鎹�");
-            }
-        }
-
-        /// <summary>
-        /// 鎻愭枡璁″垝杩涘害鏉�
-        /// </summary>
-        [Obsolete]
-        private void ExtractionTLPLAN()
-        {
-            // 鏄剧ず涓�涓繘搴︽樉绀虹晫闈細鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害
-            // 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(() =>
-            {
-                var resuult = "";
-                try
-                {
-                    // 闇�瑕佹崟鑾烽敊璇紝浠ョ‘淇濆鐞嗙粨鏉熸椂锛屽叧闂繘搴︽粴鍔ㄧ晫闈�
-                    // 寮曞叆鍔熻兘瀹為檯澶勭悊鍑芥暟
-                    resuult = this.ExtractionTL();
-                }
-                finally
-                {
-                    // 纭繚鏍囪杩涘害宸茬粡鍒拌揪100%
-                    this.View.Session["ProcessRateValue"] = 100;
-                    // 寮曞叆瀹屾瘯锛屽叧闂繘搴︽樉绀洪〉闈�
-                    var processView = this.View.GetView(processForm.PageId);
-                    if (processView != null)
-                    {
-                        processView.Close();
-                        this.View.SendDynamicFormAction(processView);
-                    }
-                    this.View.ShowMessage(resuult);
-                }
-            },
-            (t) => { });
-        }
-        /// <summary>
-        /// 鎻愭枡璁″垝
-        /// </summary>
-        public string ExtractionTL()
-        {
-            try
-            {
-                var fProWorkShopId = (this.Model.GetValue("FProWorkShopId") as DynamicObject)?["Id"].ToString();
-                var fPrdOrgId = (this.Model.GetValue("FPRDOrgId") as DynamicObject)?["Id"].ToString();
-                if (String.IsNullOrEmpty(fProWorkShopId) || String.IsNullOrEmpty(fPrdOrgId))
-                {
-                    return "璇烽�夋嫨缁勭粐鐢熶骇杞﹂棿";
-                }
-                LogService.Write($"杞﹂棿锛歿fProWorkShopId}锛岀粍缁囷細{fPrdOrgId}");
-                Stopwatch sw = new Stopwatch();
-                sw.Start();//寮�濮嬭鏃�
-                           //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺
-                string sql = string.Format($"/*dialect*/exec PRD_TLPLANYCL '{fProWorkShopId}','{fPrdOrgId}'");
-                DBServiceHelper.Execute(Context, sql);
-                //閲囪喘璁㈠崟鏁版嵁 锛堝墿浣欐敹鏂欐暟閲忥級
-                sql = @"
- /*dialect*/
-select t1.FID,t1.FBillNo,t2.FENTRYID,t1.FSUPPLIERID,t3.fnumber,t2.FMATERIALID,(t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount)FQTY
-,FPurchaseOrgId FStockOrgId,t5.FNUMBER FORGNumber,FCloseStatus,FMRPCLOSESTATUS
-,'' FXQD,t1.FCREATORID,t8.FName ,t1.FDate,tD.FDeliveryDate,'' F_QIMB_NOTE,t2.FNOTE,
-isnull((select top 1 FLEADTIME +  FLEADTTIME2  from T_PRD_TLPlanConfig a 
- join T_PRD_TLPlanConfigEntry b on a.FID =b.FID
- where a.FORGID = t1.FPurchaseOrgId and b.FSUPPLIERID = t1.FSUPPLIERID), 0)FFIXLEADTIME
-    from t_PUR_POOrder t1 
-	join t_PUR_POOrderEntry t2 on t1.FID = t2.FID
-join t_BD_Supplier t3 on t1.FSUPPLIERID = t3.FSUPPLIERID
-join  T_PUR_POORDERENTRY_R t4 on t2.FENTRYID = t4.FENTRYID
-join  T_PUR_POORDERENTRY_D tD on t2.FENTRYID = tD.FENTRYID
-join T_ORG_Organizations t5 on t1.FPurchaseOrgId = t5.FORGID
-join T_SEC_user t8 on t1.FCREATORID = t8.FuserId
-where t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount>0
- and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
- and t1.FBillTypeID in('83d822ca3e374b4ab01e5dd46a0062bd','6d01d059713d42a28bb976c90a121142')
-";
-                LogService.Write("鏌ヨ閲囪喘璁㈠崟鏁版嵁鐢ㄦ椂锛�" + sw.Elapsed);
-                List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
-                ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql);
-                sql = string.Format(@"
- /*dialect*/
-SELECT T1.FID,FHMASTERDATE,T1.FENTRYID,t2.FHSeOrderBillNo as FXQD,T1.FBILLNO, FNEEDQTY,0 as FFIXLEADTIME
-,FMAXPOQTY,0 as  FMINPOQTY,0 as FJITMATERIALGROUP,0 as FJITMATERIELDEMAND,0 as FJITSAFESTOCK,T1.FMATERIALID,T6.FNUMBER,NEEDQTY, FSTOCKORGID ,FERPCLSID
-FROM   (
-SELECT FHICMOINTERID FID,FHICMOENTRYID FENTRYID,FPLANDATE FHMASTERDATE,FLACKCOUNT NEEDQTY,FHMATERID FMATERIALID,FHSTOCKORGID FSTOCKORGID,FPRDBILLNO FBILLNO,FSUMPLANCOUNT FNEEDQTY FROM JIT_MOMATERREADYSBILL A
-RIGHT JOIN (SELECT MAX(FID)FID FROM JIT_MOMATERREADYSBILL GROUP BY FHICMOENTRYID,FHMATERID) B ON A.FID = B.FID
-)T1
-JOIN Sc_WorkBillSortBillMain T2 ON T1.FID = T2.FID
-JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID
-JOIN T_BD_MATERIALBASE T4 ON T1.FMATERIALID = T4.FMATERIALID
-JOIN T_BD_MATERIALPLAN T5 ON T1.FMATERIALID = T5.FMATERIALID
-AND FERPCLSID IN ('1','3') 
-AND T1.NEEDQTY>0
-AND T1.FENTRYID NOT IN (SELECT DISTINCT FHSOURCEENTRYID FROM CG_PODEMANDPLANBILLSUB)
-AND T2.FHPRDORGID='{0}' 
-AND T2.FHWORKSHOPID = '{1}'
-ORDER BY FHMASTERDATE
-", fPrdOrgId, fProWorkShopId);
-                ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]闇�瑕佹彁鏂欐暟鎹畇ql锛�" + sql);
-                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
-                List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
-                //鐗╂枡+搴撳瓨缁勭粐鍒嗙被
-                var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FStockOrgId = x.Key.FStockOrgId }).ToList();
-                //var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "163165").ToList();
-                //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
-                List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
-                //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
-                List<string> sqlList = new List<string>();
-                //MaterialIDList = new List<string> { "105773" };
-                int i = 1;//鐢ㄤ簬杩涘害鏉″姞杞�
-                foreach (var item in MaterialIDList)
-                {
-                    this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / MaterialIDList.Count) * i);
-                    //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
-                    List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
-                    if (_PurchaseInventory.Count == 0)
-                    {
-                        LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
-                        continue;
-                    }
-                    //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�    
-                    List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
-                    //decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
-                    //double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
-                    //string FJITmaterialGroup = _DayPlanPpbom.FirstOrDefault().FJITmaterialGroup;//jit鐗╂枡鍒嗙被
-                    //string FJITMaterielDemand = _DayPlanPpbom.FirstOrDefault().FJITMaterielDemand; //JIT鐗╂枡闇�姹備緵璐у懆鏈�
-                    //string FJITSafeStock = _DayPlanPpbom.FirstOrDefault().FJITSafeStock; //JIT瀹夊叏搴撳瓨
-                    decimal NeedQty = 0;
-                    //DateTime DATE = _DayPlanPpbom.FirstOrDefault().FHMASTERDATE;//绗竴涓璐ц捣濮嬫棩鏈�
-                    //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
-                    List<int> FEntryIdList = new List<int>();
-                    foreach (var _item in _DayPlanPpbom)
-                    {
-                        _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
-                        if (_PurchaseInventory.Count == 0)
-                        {
-                            LogHelper.Info("[鎻愭枡璁″垝寮�濮媇鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
-                            break;
-                        }
-                        FEntryIdList.Add(_item.FENTRYID);
-                        NeedQty += _item.NeedQty;
-                        //澧炲姞涓�涓攢鍞鍗曞彿鍖归厤鐨勯�昏緫 浼樺厛寰幆
-                        var PurchaseInventoryElse = _PurchaseInventory.Where(x => x.FXQD != _item.FXQD).OrderBy(x => x.FENTRYID).ToList();
-                        foreach (var Purchase in PurchaseInventoryElse)
-                        {
-                            double _FFIXLEADTIME = Purchase.FFIXLEADTIME;//鎻愬墠鏈�
-                            DateTime _DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-_FFIXLEADTIME);
-                            ////LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
-                            ////LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
-                            if (Purchase.FQTY >= NeedQty)
-                            {
-                                foreach (int id in FEntryIdList)
-                                {
-                                    var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
-                                    PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp
-                                    {
-                                        FID = DayPlanPpbomls.FID,
-                                        FHMASTERDATE = _DATE,
-                                        FQty = DayPlanPpbomls.NeedQty,
-                                        FBILLNO = DayPlanPpbomls.FBILLNO,
-                                        FENTRYID = DayPlanPpbomls.FENTRYID,
-                                        FMATERIALID = DayPlanPpbomls.FMATERIALID,
-                                        FNumber = DayPlanPpbomls.FNumber,
-                                        OLDDATE = DayPlanPpbomls.FHMASTERDATE,
-                                        FFIXLEADTIME = _FFIXLEADTIME,
-                                        FErpClsID = DayPlanPpbomls.FErpClsID,
-
-                                        PurchseFID = Purchase.FID,
-                                        PurchseFentryID = Purchase.FENTRYID,
-                                        FSUPPLIERID = Purchase.FSUPPLIERID,
-                                        PurchseFNUMBER = Purchase.FNUMBER,
-                                        PurchseFBillNo = Purchase.FBillNo,
-                                        PurchseFqty = Purchase.FQTY,
-                                        FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
-                                        FORGNumber = Purchase.FORGNumber,
-
-                                        FXQD = Purchase.FXQD,
-                                        FCREATORID = Purchase.FCREATORID,
-                                        FName = Purchase.FName,
-                                        FDate = Purchase.FDate,
-                                        FDeliveryDate = Purchase.FDeliveryDate,
-                                        F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
-                                        FNOTE = Purchase.FNOTE
-                                    });
-                                    //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
-                                    DayPlanPpbomls.NeedQty = 0;
-                                }
-                                FEntryIdList.Clear();
-                                //鏇存柊閲囪喘璁㈠崟
-                                sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount  =isnull(FPODemandPlanCount,0)+  '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}");
-                                //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲�
-                                var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
-                                ls.FQTY -= NeedQty;
-                                break;
-                            }
-                            else
-                            {
-                                //鏇存柊鎬婚渶姹傛暟閲�
-                                NeedQty = NeedQty - Purchase.FQTY;
-                                //閲囪喘璁㈠崟鏁伴噺
-                                decimal _NeedQty = Purchase.FQTY;
-                                List<int> mmm = new List<int>();
-                                foreach (int id in FEntryIdList)
-                                {
-                                    var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
-                                    decimal Qty = DayPlanPpbomls.NeedQty;//璁㈠崟鏁伴噺
-                                                                         //if (Qty == 0)
-                                                                         //    //LogHelper.Info("璁㈠崟鏁伴噺涓�0");
-                                    if (Qty > _NeedQty)
-                                        Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
-
-                                    //if (_NeedQty == 0)
-                                    //    //LogHelper.Info("璁㈠崟鏁伴噺涓�0");
-
-                                    _NeedQty = _NeedQty - Qty;
-                                    PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp
-                                    {
-                                        FID = DayPlanPpbomls.FID,
-                                        FHMASTERDATE = _DATE,
-                                        FQty = Qty,
-                                        FBILLNO = DayPlanPpbomls.FBILLNO,
-                                        FENTRYID = DayPlanPpbomls.FENTRYID,
-                                        FMATERIALID = DayPlanPpbomls.FMATERIALID,
-                                        FNumber = DayPlanPpbomls.FNumber,
-                                        OLDDATE = DayPlanPpbomls.FHMASTERDATE,
-                                        FFIXLEADTIME = _FFIXLEADTIME,
-                                        FErpClsID = DayPlanPpbomls.FErpClsID,
-
-                                        PurchseFID = Purchase.FID,
-                                        PurchseFentryID = Purchase.FENTRYID,
-                                        FSUPPLIERID = Purchase.FSUPPLIERID,
-                                        PurchseFNUMBER = Purchase.FNUMBER,
-                                        PurchseFBillNo = Purchase.FBillNo,
-                                        PurchseFqty = Purchase.FQTY,
-                                        FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
-                                        FORGNumber = Purchase.FORGNumber,
-
-                                        FXQD = Purchase.FXQD,
-                                        FCREATORID = Purchase.FCREATORID,
-                                        FName = Purchase.FName,
-                                        FDate = Purchase.FDate,
-                                        FDeliveryDate = Purchase.FDeliveryDate,
-                                        F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
-                                        FNOTE = Purchase.FNOTE
-                                    });
-                                    //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
-                                    DayPlanPpbomls.NeedQty -= Qty;
-                                    //鏇存柊閲囪喘璁㈠崟
-                                    sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}");
-                                    //鏇存柊Model
-                                    var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
-                                    ls.FQTY -= Qty;
-                                    if (_NeedQty <= 0)
-                                    {
-                                        foreach (var mm in mmm)
-                                        {
-                                            FEntryIdList.Remove(mm);
-                                        }
-                                        break;
-                                    }
-                                    mmm.Add(id);
-                                }
-                                //foreach (var mm in mmm)
-                                //{
-                                //    FEntryIdList.Remove(mm);
-                                //}
-                            }
-                        }
-                        if (NeedQty > 0)
-                        {
-                            LogHelper.Info("[鎻愭枡璁″垝寮�濮媇鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡锛�" + item.FMATERIALID + "闇�姹傛暟閲忥細" + _item.NeedQty + " ,鍗犵敤閲囪喘璁㈠崟鍚庢暟閲忓墿浣欙細" + NeedQty);
-                        }
-                        NeedQty = 0;
-                    }
-                    i++;
-                }
-                var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
-                LogService.Write("鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
-                //LogHelper.Info($"鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{PODemandPlanTemp.Count}");
-                int tlmmm = 1;
-                JArray FinalyResult = new JArray();
-                foreach (var item in PODemandPlanList)
-                {
-                    this.View.Session["ProcessRateValue"] = 80 + Convert.ToInt32((Convert.ToDecimal(20) / PODemandPlanList.Count) * tlmmm);
-                    DateTime date = item.FHMASTERDATE;
-                    string PurchseFNUMBER = item.PurchseFNUMBER;
-                    JObject model = new JObject();
-                    model.Add("FHDate", date);
-                    model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
-                    model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
-
-                    JArray Fentity = new JArray();
-                    List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
-                    LogHelper.Info("娴嬭瘯listmodel锛�" + _PODemandPlanList[0].FORGNumber.ToString());
-                    foreach (var _item in _PODemandPlanList)
-                    {
-                        if (!model.ToString().Contains("FHPURCHASEORGID"))
-                            model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
-                        JObject FentityModel = new JObject();
-                        FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = _item.FNumber });//鐗╂枡
-                        FentityModel.Add("FHQty", _item.FQty);//鏁伴噺
-                        FentityModel.Add("FHSourceInterID", _item.FID);//鏃ヨ鍒掑伐鍗旻ID
-                        FentityModel.Add("FHSourceEntryID", _item.FENTRYID);//鏃ヨ鍒掑伐鍗旻ENTRYID
-                        FentityModel.Add("FHSourceBillNo", _item.FBILLNO);//鏃ヨ鍒掑伐鍗曞崟鍙�
-                        FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨�
-                        FentityModel.Add("FDayPlanDate", _item.OLDDATE);//鏃ヨ鍒掑伐鍗曠被鍨�
-                        FentityModel.Add("FHRelationQty", _item.PurchseFqty);//鍏宠仈鏁伴噺
-                        FentityModel.Add("FFIXLEADTIME", _item.FFIXLEADTIME);//鎻愬墠鏈�
-                        FentityModel.Add("FPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐
-                        FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID
-                        FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID
-                        FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo
-                        FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
-                        FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
-
-                        FentityModel.Add("FSalOrderNo", _item.FXQD); //闇�姹傚崟鍙�
-                        FentityModel.Add("FCgddCreaterId", new JObject() { ["FUserID"] = _item.FCREATORID }); //閲囪喘鍛�
-                        FentityModel.Add("FCgDate", _item.FDate); //閲囪喘璁㈠崟鍗曟嵁鏃ユ湡
-                        FentityModel.Add("FCgDeliveryDate", _item.FDeliveryDate); //閲囪喘璁㈠崟浜よ揣鏃ユ湡
-                        FentityModel.Add("F_QIMB_NOTE", _item.F_QIMB_NOTE); //閲囪喘璁㈠崟鎽樿
-                        FentityModel.Add("FNOTE", _item.FNOTE); //閲囪喘璁㈠崟琛ㄤ綋澶囨敞
-
-                        Fentity.Add(FentityModel);
-                    }
-                    model.Add("FEntity", Fentity);
-                    FinalyResult.Add(model);
-                    if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
-                    {
-                        //LogHelper.Info("鎻愭枡璁″垝鏂板鎵归噺鎵ц锛岃褰曞惊鐜殑褰撳墠鏉℃暟" + tlmmm);
-                        JObject jsonRoot = new JObject()
-                        {
-                            ["Creator"] = "",
-                            ["NeedUpDateFields"] = new JArray(),
-                            ["NeedReturnFields"] = new JArray(),
-                            ["IsDeleteEntry"] = "false",
-                            ["SubSystemId"] = "",
-                            ["IsVerifyBaseDataField"] = "false",
-                            ["Model"] = FinalyResult
-                        };
-                        LogService.Write(jsonRoot.ToString());
-                        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
-                        var result = cloudClient.BatchSave("paez_PODemandPlan", jsonRoot.ToString());
-                        JObject saveObj = JObject.Parse(result);
-                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-                        if (saveIsSuc != "TRUE")
-                        {
-                            this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
-                        }
-                        FinalyResult = new JArray();
-                    }
-                    tlmmm++;
-                }
-                LogService.Write("璋冪敤webapi 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
-                sw.Stop();//缁撴潫璁℃椂
-                DBServiceHelper.ExecuteBatch(Context, sqlList);
-                return "鎿嶄綔鎴愬姛";
-            }
-            catch (Exception ex)
-            {
-                LogService.Write("鎻愭枡璁″垝璺冲嚭锛�" + ex.Message.ToString());
-                return ex.Message.ToString();
-            }
-        }
-
-        /// <summary>
-        /// 瑕佹枡璁″垝杩涘害鏉�
-        /// </summary>
-        [Obsolete]
-        private void ExtractionYLPLAN()
-        {
-            // 鏄剧ず涓�涓繘搴︽樉绀虹晫闈細鏄剧ず涓�涓笉鍋滄粴鍔ㄧ殑妯℃嫙杩涘害
-            // 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(() =>
-            {
-                var resuult = "";
-                try
-                {
-                    // 闇�瑕佹崟鑾烽敊璇紝浠ョ‘淇濆鐞嗙粨鏉熸椂锛屽叧闂繘搴︽粴鍔ㄧ晫闈�
-                    // 寮曞叆鍔熻兘瀹為檯澶勭悊鍑芥暟
-                    resuult = this.ExtractionYL();
-                }
-                finally
-                {
-                    // 纭繚鏍囪杩涘害宸茬粡鍒拌揪100%
-                    this.View.Session["ProcessRateValue"] = 100;
-                    // 寮曞叆瀹屾瘯锛屽叧闂繘搴︽樉绀洪〉闈�
-                    var processView = this.View.GetView(processForm.PageId);
-                    if (processView != null)
-                    {
-                        processView.Close();
-                        this.View.SendDynamicFormAction(processView);
-                    }
-                    this.View.ShowMessage(resuult);
-                }
-            },
-            (t) => { });
-        }
-        /// <summary>
-        /// 瑕佹枡璁″垝
-        /// </summary>
-        public string ExtractionYL()
-        {
-            try
-            {
-                Stopwatch sw = new Stopwatch();
-                sw.Start();//寮�濮嬭鏃�
-
-                var fProWorkShopId = (this.Model.GetValue("FProWorkShopId") as DynamicObject)?["Id"].ToString();
-                var fPrdOrgId = (this.Model.GetValue("FPRDOrgId") as DynamicObject)?["Id"].ToString();
-                if (String.IsNullOrEmpty(fProWorkShopId) || String.IsNullOrEmpty(fPrdOrgId))
-                {
-                    //this.View.ShowErrMessage("璇烽�夋嫨缁勭粐鍜岀敓鐢熶骇杞﹂棿");
-                    return "璇烽�夋嫨缁勭粐鍜岀敓鐢熶骇杞﹂棿";
-                }
-                string sql = string.Format($"/*dialect*/exec PRD_YLPLANYCL '{fProWorkShopId}','{fPrdOrgId}'");
-                DBServiceHelper.Execute(Context, sql);
-                //鐢熶骇璁㈠崟鏁版嵁锛堝彇鐢熶骇璁㈠崟鏈叆搴撴暟閲忥級
-                sql = @"
- /*DIALECT*/
-SELECT T1.FID,T1.FBILLNO,T2.FENTRYID,T2.FWORKSHOPID AS FSUPPLIERID,T3.FNUMBER,T2.FMATERIALID,(TQ.FNOSTOCKINQTY-T2.FPODEMANDPLANCOUNT)FQTY
-,T1.FPRDORGID FSTOCKORGID,T5.FNUMBER FORGNUMBER,'' FXQD,T1.FCREATORID,T8.FNAME ,T1.FDATE,'' AS F_QIMB_NOTE,'' AS FNOTE,0 AS FFIXLEADTIME
-FROM T_PRD_MO T1
-JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID
-JOIN T_PRD_MOENTRY_Q TQ ON T2.FENTRYID = TQ.FENTRYID
-JOIN T_BD_DEPARTMENT T3 ON T2.FWORKSHOPID = T3.FDEPTID
-JOIN T_ORG_ORGANIZATIONS T5 ON T1.FPRDORGID = T5.FORGID
-JOIN T_SEC_USER T8 ON T1.FCREATORID = T8.FUSERID
-WHERE TQ.FNOSTOCKINQTY-T2.FPODEMANDPLANCOUNT>0
-
-";
-                List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
-                sql = string.Format(@"
- /*dialect*/
-SELECT T1.FID,FHMASTERDATE,T1.FENTRYID,t2.FHSeOrderBillNo as FXQD,T1.FBILLNO, FNEEDQTY,0 as FFIXLEADTIME
-,FMAXPOQTY,0 as  FMINPOQTY,0 as FJITMATERIALGROUP,0 as FJITMATERIELDEMAND,0 as FJITSAFESTOCK,T1.FMATERIALID,T6.FNUMBER,NEEDQTY, FSTOCKORGID ,FERPCLSID
-FROM   (
-SELECT FHICMOINTERID FID,FHICMOENTRYID FENTRYID,FPLANDATE FHMASTERDATE,FLACKCOUNT NEEDQTY,FHMATERID FMATERIALID,FHSTOCKORGID FSTOCKORGID,FPRDBILLNO FBILLNO,FSUMPLANCOUNT FNEEDQTY FROM JIT_MOMATERREADYSBILL A
-RIGHT JOIN (SELECT MAX(FID)FID FROM JIT_MOMATERREADYSBILL GROUP BY FHICMOENTRYID,FHMATERID) B ON A.FID = B.FID
-)T1
-JOIN Sc_WorkBillSortBillMain T2 ON T1.FID = T2.FID
-JOIN T_BD_MATERIAL T6 ON T1.FMATERIALID = T6.FMATERIALID
-JOIN T_BD_MATERIALBASE T4 ON T1.FMATERIALID = T4.FMATERIALID
-JOIN T_BD_MATERIALPLAN T5 ON T1.FMATERIALID = T5.FMATERIALID
-where FERPCLSID IN ('2') 
-AND T1.NEEDQTY>0
-AND T1.FENTRYID NOT IN (SELECT DISTINCT FHSOURCEENTRYID FROM t_Prd_ProductPlanEntry)
-AND T2.FHPRDORGID='{0}' 
-AND T2.FHWORKSHOPID = '{1}'
-ORDER BY FHMASTERDATE
-", fPrdOrgId, fProWorkShopId);
-                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
-                List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
-                //鐗╂枡+搴撳瓨缁勭粐鍒嗙被
-                var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FStockOrgId = x.Key.FStockOrgId }).ToList();
-                var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "163165").ToList();
-                ////LogService.Write("[鎻愭枡璁″垝鍑嗗闃舵]鎬荤墿鏂欒鏁�" + MaterialIDList.Count);
-                //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
-                List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
-                //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
-                List<string> sqlList = new List<string>();
-                //MaterialIDList = new List<string> { "105773" };
-                int i = 1;//鐢ㄤ簬杩涘害鏉″姞杞�
-                foreach (var item in MaterialIDList)
-                {
-                    this.View.Session["ProcessRateValue"] = Convert.ToInt32((Convert.ToDecimal(80) / MaterialIDList.Count) * i);
-                    //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
-                    List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
-                    if (_PurchaseInventory.Count == 0)
-                    {
-                        LogService.Write($"鐗╂枡锛歿 item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{item.FID}...鏈壘鍒板搴旂敓浜ц鍗曚俊鎭�");
-                        continue;
-                    }
-                    ////LogService.Write(item.FMATERIALID.ToString());
-                    //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�    
-                    List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
-                    //decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
-                    //double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
-                    //string FJITmaterialGroup = _DayPlanPpbom.FirstOrDefault().FJITmaterialGroup;//jit鐗╂枡鍒嗙被
-                    //string FJITMaterielDemand = _DayPlanPpbom.FirstOrDefault().FJITMaterielDemand; //JIT鐗╂枡闇�姹備緵璐у懆鏈�
-                    //string FJITSafeStock = _DayPlanPpbom.FirstOrDefault().FJITSafeStock; //JIT瀹夊叏搴撳瓨
-                    decimal NeedQty = 0;
-                    //DateTime DATE = _DayPlanPpbom.FirstOrDefault().FHMASTERDATE;//绗竴涓璐ц捣濮嬫棩鏈�
-                    //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
-                    List<int> FEntryIdList = new List<int>();
-                    foreach (var _item in _DayPlanPpbom)
-                    {
-                        var PurchaseInventory_scdd = _PurchaseInventory.Where(x => x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
-                        if (PurchaseInventory_scdd.Count == 0)
-                        {
-                            LogService.Write($"鐗╂枡锛歿 _item.FMATERIALID},闇�姹傚崟鍙凤細{item.FXQD},鐢熶骇璁㈠崟鍙凤細{_item.FBILLNO},鏃ヨ鍒掑伐鍗旻ID:{_item.FID}...鐢熶骇璁㈠崟鏁伴噺宸茶鍗犵敤瀹�");
-                            break;
-                        }
-                        FEntryIdList.Add(_item.FENTRYID);
-                        NeedQty += _item.NeedQty;
-                        //澧炲姞涓�涓攢鍞鍗曞彿鍖归厤鐨勯�昏緫 浼樺厛寰幆
-                        if (PurchaseInventory_scdd.Count > 0)
-                        {
-                            foreach (var Purchase in PurchaseInventory_scdd)
-                            {
-                                double _FFIXLEADTIME = Purchase.FFIXLEADTIME;//鎻愬墠鏈�
-                                DateTime _DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-_FFIXLEADTIME);
-                                ////LogService.Write("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
-                                ////LogService.Write("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
-                                if (Purchase.FQTY >= NeedQty)
-                                {
-                                    foreach (int id in FEntryIdList)
-                                    {
-                                        var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
-                                        PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp
-                                        {
-                                            FID = DayPlanPpbomls.FID,
-                                            FHMASTERDATE = _DATE,
-                                            FQty = DayPlanPpbomls.NeedQty,
-                                            FBILLNO = DayPlanPpbomls.FBILLNO,
-                                            FENTRYID = DayPlanPpbomls.FENTRYID,
-                                            FMATERIALID = DayPlanPpbomls.FMATERIALID,
-                                            FNumber = DayPlanPpbomls.FNumber,
-                                            OLDDATE = DayPlanPpbomls.FHMASTERDATE,
-                                            FFIXLEADTIME = _FFIXLEADTIME,
-                                            FErpClsID = DayPlanPpbomls.FErpClsID,
-
-                                            PurchseFID = Purchase.FID,
-                                            PurchseFentryID = Purchase.FENTRYID,
-                                            FSUPPLIERID = Purchase.FSUPPLIERID,
-                                            PurchseFNUMBER = Purchase.FNUMBER,
-                                            PurchseFBillNo = Purchase.FBillNo,
-                                            PurchseFqty = Purchase.FQTY,
-                                            FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
-                                            FORGNumber = Purchase.FORGNumber,
-
-                                            FXQD = Purchase.FXQD,
-                                            FCREATORID = Purchase.FCREATORID,
-                                            FName = Purchase.FName,
-                                            FDate = Purchase.FDate,
-                                            //FDeliveryDate = Purchase.FDeliveryDate,
-                                            F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
-                                            FNOTE = Purchase.FNOTE
-                                        });
-                                        //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
-                                        DayPlanPpbomls.NeedQty = 0;
-                                    }
-                                    FEntryIdList.Clear();
-                                    //鏇存柊閲囪喘璁㈠崟
-                                    sqlList.Add($"/*dialect*/ update T_PRD_MOEntry set FPODemandPlanCount  =isnull(FPODemandPlanCount,0)+  '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}");
-                                    //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲�
-                                    var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
-                                    ls.FQTY -= NeedQty;
-                                    break;
-                                }
-                                else
-                                {
-                                    //鏇存柊鎬婚渶姹傛暟閲�
-                                    NeedQty = NeedQty - Purchase.FQTY;
-                                    //閲囪喘璁㈠崟鏁伴噺
-                                    decimal _NeedQty = Purchase.FQTY;
-                                    List<int> mmm = new List<int>();
-                                    foreach (int id in FEntryIdList)
-                                    {
-                                        var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
-                                        decimal Qty = DayPlanPpbomls.NeedQty;//璁㈠崟鏁伴噺
-                                                                             //if (Qty == 0)
-                                                                             //    //LogService.Write("璁㈠崟鏁伴噺涓�0");
-                                        if (Qty > _NeedQty)
-                                            Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
-
-                                        //if (_NeedQty == 0)
-                                        //    //LogService.Write("璁㈠崟鏁伴噺涓�0");
-
-                                        _NeedQty = _NeedQty - Qty;
-                                        PODemandPlanTemp.Add(new Demo.Model.Model.PODemandPlan.PODemandPlanTemp
-                                        {
-                                            FID = DayPlanPpbomls.FID,
-                                            FHMASTERDATE = _DATE,
-                                            FQty = Qty,
-                                            FBILLNO = DayPlanPpbomls.FBILLNO,
-                                            FENTRYID = DayPlanPpbomls.FENTRYID,
-                                            FMATERIALID = DayPlanPpbomls.FMATERIALID,
-                                            FNumber = DayPlanPpbomls.FNumber,
-                                            OLDDATE = DayPlanPpbomls.FHMASTERDATE,
-                                            FFIXLEADTIME = _FFIXLEADTIME,
-                                            FErpClsID = DayPlanPpbomls.FErpClsID,
-
-                                            PurchseFID = Purchase.FID,
-                                            PurchseFentryID = Purchase.FENTRYID,
-                                            FSUPPLIERID = Purchase.FSUPPLIERID,
-                                            PurchseFNUMBER = Purchase.FNUMBER,
-                                            PurchseFBillNo = Purchase.FBillNo,
-                                            PurchseFqty = Purchase.FQTY,
-                                            FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
-                                            FORGNumber = Purchase.FORGNumber,
-
-                                            FXQD = Purchase.FXQD,
-                                            FCREATORID = Purchase.FCREATORID,
-                                            FName = Purchase.FName,
-                                            FDate = Purchase.FDate,
-                                            //FDeliveryDate = Purchase.FDeliveryDate,
-                                            F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
-                                            FNOTE = Purchase.FNOTE
-                                        });
-                                        //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
-                                        DayPlanPpbomls.NeedQty -= Qty;
-                                        //鏇存柊閲囪喘璁㈠崟
-                                        sqlList.Add($"/*dialect*/ update T_PRD_MOEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}");
-                                        //鏇存柊Model
-                                        var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
-                                        ls.FQTY -= Qty;
-                                        if (_NeedQty <= 0)
-                                        {
-                                            foreach (var mm in mmm)
-                                            {
-                                                FEntryIdList.Remove(mm);
-                                            }
-                                            break;
-                                        }
-                                        mmm.Add(id);
-                                    }
-                                }
-                            }
-                        }
-                        //if (NeedQty > 0)
-                        //{
-                        //    LogService.Write("[瑕佹枡璁″垝]鐢熶骇璁㈠崟鍙凤細" + item.FBILLNO + ",褰撳墠鐗╂枡锛�" + item.FMATERIALID + ",闇�姹傛暟閲忥細" + _item.NeedQty + " ,鍗犵敤閲囪喘璁㈠崟鍚庢暟閲忓墿浣欙細" + NeedQty);
-                        //}
-                        NeedQty = 0;
-                    }
-                    i++;
-                }
-                var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
-                int tlmmm = 1;
-                JArray FinalyResult = new JArray();
-                foreach (var item in PODemandPlanList)
-                {
-                    this.View.Session["ProcessRateValue"] = 80 + Convert.ToInt32((Convert.ToDecimal(20) / PODemandPlanList.Count) * tlmmm);
-                    DateTime date = item.FHMASTERDATE;
-                    string PurchseFNUMBER = item.PurchseFNUMBER;
-                    JObject model = new JObject();
-                    model.Add("FHDate", date);
-                    model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
-                    model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
-
-                    JArray Fentity = new JArray();
-                    List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
-                    foreach (var _item in _PODemandPlanList)
-                    {
-                        if (!model.ToString().Contains("FHPURCHASEORGID"))
-                            model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
-                        JObject FentityModel = new JObject();
-                        FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = _item.FNumber });//鐗╂枡
-                        FentityModel.Add("FHQty", _item.FQty);//鏁伴噺
-                        FentityModel.Add("FHSourceInterID", _item.FID);//鏃ヨ鍒掑伐鍗旻ID
-                        FentityModel.Add("FHSourceEntryID", _item.FENTRYID);//鏃ヨ鍒掑伐鍗旻ENTRYID
-                        FentityModel.Add("FHSourceBillNo", _item.FBILLNO);//鏃ヨ鍒掑伐鍗曞崟鍙�
-                        FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨�
-                        FentityModel.Add("FDayPlanDate", _item.OLDDATE);//鏃ヨ鍒掑伐鍗曠被鍨�
-                        FentityModel.Add("FHRelationQty", _item.PurchseFqty);//鍏宠仈鏁伴噺
-                        FentityModel.Add("FFIXLEADTIME", _item.FFIXLEADTIME);//鎻愬墠鏈�
-                        FentityModel.Add("FPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐
-                        FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID
-                        FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID
-                        FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo
-                        FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
-                        FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
-
-                        FentityModel.Add("FSalOrderNo", _item.FXQD); //闇�姹傚崟鍙�
-                        FentityModel.Add("FCgddCreaterId", new JObject() { ["FUserID"] = _item.FCREATORID }); //閲囪喘鍛�
-                        FentityModel.Add("FCgDate", _item.FDate); //閲囪喘璁㈠崟鍗曟嵁鏃ユ湡
-                                                                  //FentityModel.Add("FCgDeliveryDate", _item.FDeliveryDate); //閲囪喘璁㈠崟浜よ揣鏃ユ湡
-                        FentityModel.Add("F_QIMB_NOTE", _item.F_QIMB_NOTE); //閲囪喘璁㈠崟鎽樿
-                        FentityModel.Add("FNOTE", _item.FNOTE); //閲囪喘璁㈠崟琛ㄤ綋澶囨敞
-
-                        Fentity.Add(FentityModel);
-                    }
-                    model.Add("FEntity", Fentity);
-                    FinalyResult.Add(model);
-                    if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
-                    {
-                        JObject jsonRoot = new JObject()
-                        {
-                            ["Creator"] = "",
-                            ["NeedUpDateFields"] = new JArray(),
-                            ["NeedReturnFields"] = new JArray(),
-                            ["IsDeleteEntry"] = "false",
-                            ["SubSystemId"] = "",
-                            ["IsVerifyBaseDataField"] = "false",
-                            ["Model"] = FinalyResult
-                        };
-                        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
-                        var result = cloudClient.BatchSave("bsv_ProductPlan", jsonRoot.ToString());
-                        JObject saveObj = JObject.Parse(result);
-                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-                        if (saveIsSuc != "TRUE")
-                        {
-                            this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
-                        }
-                        FinalyResult = new JArray();
-                    }
-                    tlmmm++;
-                }
-                sw.Stop();//缁撴潫璁℃椂
-                LogService.Write("瑕佹枡璁″垝鎵ц瀹屾垚 璋冪敤webapi 鐢ㄦ椂锛�" + sw.Elapsed + "鎬昏鏁帮細" + PODemandPlanTemp.Count);
-                DBServiceHelper.ExecuteBatch(Context, sqlList);
-                return "鎿嶄綔鎴愬姛";
-            }
-            catch (Exception ex)
-            {
-                LogService.Write(ex.Message.ToString());
-                return ex.Message.ToString();
             }
         }
     }

--
Gitblit v1.9.1