From 20720f693791f2cbbfd432d31e3bde3f0ca7a07c Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 08 十二月 2020 09:19:40 +0800
Subject: [PATCH] 解锁操作

---
 src/BLL/Demo.BillView/Config/kdapi.config         |    2 
 src/BLL/Demo.BillView/Demo.BillView.csproj        |    1 
 src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs      |   26 +++-
 src/BLL/Demo.BillView/PRD/LogService.cs           |   73 ++++++++++++
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |  239 +++++++++++++++------------------------
 5 files changed, 185 insertions(+), 156 deletions(-)

diff --git a/src/BLL/Demo.BillView/Config/kdapi.config b/src/BLL/Demo.BillView/Config/kdapi.config
index 50a5a75..35fa91f 100644
--- a/src/BLL/Demo.BillView/Config/kdapi.config
+++ b/src/BLL/Demo.BillView/Config/kdapi.config
@@ -4,6 +4,6 @@
 		<add key="DbId" value="5f9258a311401c"></add>
     <add key="UserName" value="Administrator"></add>
 		<add key="PassWord" value="888888"></add>
-		<add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
+		<add key="KDApiUrl" value="http://erp-windows002/K3Cloud/"></add>
 	</appSettings>
 </configuration>
\ No newline at end of file
diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
index 0e1c443..e32c608 100644
--- a/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -194,6 +194,7 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="PRD\LogService.cs" />
     <Compile Include="PRD\PODemandPlanListLoad.cs" />
     <Compile Include="PRD\ProCompleteAnalysisMateriel.cs" />
     <Compile Include="PRD\ProCompleteAnalysisDetails.cs" />
diff --git a/src/BLL/Demo.BillView/PRD/LogService.cs b/src/BLL/Demo.BillView/PRD/LogService.cs
new file mode 100644
index 0000000..c788d31
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/LogService.cs
@@ -0,0 +1,73 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.BillView.PRD
+{
+    public class LogService
+    {
+        private static readonly object lockObj = new object();
+
+        public static void WriteAsync(object obj, string filePath = "Vlog", bool isAppend = true)
+        {
+            Task.Run(() =>
+            {
+                Write(obj, filePath, isAppend);
+            });
+        }
+
+        public static void WriteAsync<T>(object obj, string filePath = "Vlog", bool isAppend = true)
+        {
+            Task.Run(() =>
+            {
+                Write(obj, $@"{filePath}\{typeof(T).Name}", isAppend);
+            }); 
+        }
+
+        #region 鏃ュ織
+        public static void Write(object obj, string filePath = "Vlog", bool isAppend = true)
+        {
+            try
+            {
+                lock (lockObj)
+                {
+                    filePath = $@"{filePath}\webapi{DateTime.Now.ToString("yyyyMMdd")}.txt";
+
+                    filePath = AppDomain.CurrentDomain.BaseDirectory + filePath;
+
+                    if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
+                    {
+                        System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filePath));
+                    }
+
+                    bool fileExists = System.IO.File.Exists(filePath);
+                    //涓嶅瓨鍦� 鍒欏垱寤鸿鏂囦欢
+                    if (!fileExists)
+                    {
+                        System.IO.File.Create(filePath).Close();
+                    }
+
+                    using (StreamWriter writer = new StreamWriter(filePath, isAppend))
+                    {
+                        //瀛樺湪鐨勬椂鍊欐墠鍐欎竴琛�
+                        if (fileExists && isAppend)
+                        {
+                            writer.WriteLine();
+                        }
+
+                        var content = obj is string ? obj : JsonConvert.SerializeObject(obj);
+                        writer.WriteLine($"{DateTime.Now} {content}");
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+        }
+        #endregion
+    }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
index 4043e5b..562a6ed 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -19,6 +19,7 @@
 using Demo.TimedTaskPlugIn.PRD;
 using ZD.Cloud.Logger;
 
+
 namespace Demo.BillView.PRD
 {
 
@@ -200,6 +201,8 @@
         {
             try
             {
+                LogService.WriteAsync("娴嬭瘯");
+
                 string sql;
                 DateTime date = Convert.ToDateTime(this.Model.GetValue("F_Paez_Date"));
                 //鑾峰彇鍗曟嵁浣撲俊鎭�
@@ -343,11 +346,11 @@
                     {
                         jsonModel.Add("FID", Convert.ToString(current["FDayPlanID"])); ;//婧愬崟缂栧彿
                         jsonRoot.Add("Model", jsonModel);
-                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
+                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                         var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                         JObject saveObj = JObject.Parse(result);
                         string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-
+                        LogService.WriteAsync(jsonRoot);
                         if (saveIsSuc == "TRUE")
                         {
                             string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
@@ -358,21 +361,27 @@
 
                             this.View.ShowMessage("瀵煎叆鎴愬姛");
 
+
                         }
                         else
                         {
-                            this.View.ShowErrMessage("瀵煎叆澶辫触");
+                            //LogService.WriteAsync(saveIsSuc);
+                            LogService.WriteAsync(jsonRoot);
+                            LogHelper.Error(jsonRoot.ToString());
+
+                            this.View.ShowErrMessage(jsonRoot.ToString());
+
 
                         }
                     }
                     else
                     {
                         jsonRoot.Add("Model", jsonModel);
-                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
+                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                         var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                         JObject saveObj = JObject.Parse(result);
                         string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-
+                        LogService.WriteAsync(jsonRoot);
                         if (saveIsSuc == "TRUE")
                         {
                             string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
@@ -387,7 +396,12 @@
                         }
                         else
                         {
-                            this.View.ShowErrMessage("瀵煎叆澶辫触");
+                            // LogService.WriteAsync(saveIsSuc);
+                            LogService.WriteAsync(jsonRoot);
+                            LogHelper.Error(jsonRoot.ToString());
+
+                            this.View.ShowErrMessage(jsonRoot.ToString());
+
 
                         }
                     }
diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index ac79449..605431d 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -83,7 +83,11 @@
                 {
                     Lock();
                 }
-
+                //瑙i攣
+                if (e.BarItemKey.ToUpper() == "TBRELIEVELOCK")
+                {
+                    RelieveLock();
+                }
                 if (e.BarItemKey.ToUpper() == "BTNSAVE")
                 {
                     Save();
@@ -271,8 +275,9 @@
             string sql;
             foreach (var item in entityDataObjoct)
             {
+                sql = $"/*dialect*/update t1 set t1.FHLockedSub=1 from Sc_WorkBillSortBillSub t1  join Sc_WorkBillSortBillMain t2 on  t1.FID = t2.FID  where  FHMASTERDATE between  DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate())   and t1.FID = { Convert.ToString(item["FDayPlanWorkID"])} ";
 
-                sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
+                //sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
                 sqlList.Add(sql);
 
             }
@@ -286,9 +291,51 @@
             else
                 this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�");
         }
+
+        /// <summary>
+        /// 瑙i攣
+        /// </summary>
+        public void RelieveLock()
+        {
+            int day = Convert.ToInt32(this.Model.GetValue("FLockDays"));
+
+            string sqlwhere = " and 1=1";
+            string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder")));
+            if (string.IsNullOrEmpty(FSalOrder))
+            {
+
+            }
+            else
+                sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'";
+
+            //鑾峰彇鍗曟嵁浣撲俊鎭�
+            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
+            //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎
+            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
+            List<string> sqlList = new List<string>();
+            string sql;
+            foreach (var item in entityDataObjoct)
+            {
+                sql = $"/*dialect*/update t1 set t1.FHLockedSub=0 from Sc_WorkBillSortBillSub t1  join Sc_WorkBillSortBillMain t2 on  t1.FID = t2.FID  where  FHMASTERDATE between  DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate())   and t1.FID = { Convert.ToString(item["FDayPlanWorkID"])} ";
+
+                //sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
+                sqlList.Add(sql);
+
+            }
+
+            int result = DBServiceHelper.ExecuteBatch(Context, sqlList);
+            if (result > 0)
+            {
+                SearchList222();
+                this.View.ShowMessage("鎿嶄綔鎴愬姛");
+            }
+            else
+                this.View.ShowMessage("鎿嶄綔澶辫触锛岃仈绯荤鐞嗗憳锛�");
+        }
+
         /// <summary>
         /// 淇濆瓨鍔熻兘
-        /// </summary>
+        /// </summary>  
         public void Save()
         {
 
@@ -300,10 +347,24 @@
             DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
             DateTime date = DateTime.Now;
 
+            string _result = "";
 
             foreach (DynamicObject current in entityDataObjoct)
             {
+                if (Convert.ToInt32(current["FNoScheduled"]) < 0)
+                    _result += "搴忓彿锛�" + Convert.ToString(current["SEQ"]) + ",鏃ヨ鍒掓�绘暟閲忚秴鍑虹敓浜ц鍗曟暟閲�";
 
+            }
+            if (_result != "")
+            {
+                this.View.ShowErrMessage(_result);
+                return;
+            }
+
+            foreach (DynamicObject current in entityDataObjoct)
+            {
+                sql = $"/*dialect*/ update Sc_WorkBillSortBillMain set FOrderQuantity={current["FOrderQuantity"]},FDayPlanQuantity={current["FDayPlanQuantity"]},FNoScheduled={current["FNoScheduled"]} where FID = {current["FDayPlanWorkID"]}";
+                sqlList.Add(sql);
                 DateTime FBzDate = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]));
                 DateTime end = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]).AddDays(60).ToShortDateString());//鏈�澶ф棩鏈�
                 for (int i = 0; i <= 60; i++)
@@ -419,6 +480,14 @@
             if (entityDataObjoct.Count > 0)
             {
                 int m = 0;
+
+                //鍒犻櫎榻愬鏁伴噺
+                foreach (DynamicObject current in entityDataObjoct)
+                {
+                    //FDayPlanWorkID鏃ヨ鍒掑伐鍗旾D鍘诲垹闄ょ幇鏈夌殑榻愬鍒嗘瀽鏁版嵁
+                    DBServiceHelper.Execute(Context, "/*dialect*/delete JIT_MOMaterReadysBill where FHICMOInterID = '" + current["FDayPlanWorkID"].ToString() + "'");
+                }
+
                 foreach (DynamicObject current in entityDataObjoct)
                 {
                     //璁″垝鎬绘暟閲�
@@ -578,7 +647,7 @@
 
                 _jsonRoot.Add("Model", _jsonModel);
 
-                CloudClient _cloudClient = new CloudClient("http://localhost/K3Cloud/");
+                CloudClient _cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                 var _result = _cloudClient.Save("paez_CompleteAnalysisTemp", _jsonRoot.ToString());
                 JObject _saveObj = JObject.Parse(_result);
                 string _saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -651,7 +720,7 @@
 
                     jsonRoot.Add("Model", jsonModel);
 
-                    CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
+                    CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                     var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString());
                     JObject saveObj = JObject.Parse(result);
                     string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -827,145 +896,6 @@
         /// 鎻愭枡璁″垝
         /// </summary>
 
-        public void Extraction2()
-        {
-
-            //鑾峰彇鍗曟嵁浣撲俊鎭�
-            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
-            //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎
-            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
-            EntryGrid grid = this.View.GetControl<EntryGrid>("FEntity");
-            if (entityDataObjoct.Count == 0)
-            {
-                this.View.ShowMessage("璇峰厛鍔犺浇鏁版嵁锛�");
-            }
-            else
-            {
-                foreach (DynamicObject current in entityDataObjoct)
-                {
-
-                    string FDayPlanWorkID = Convert.ToString(current["FDayPlanWorkID"]);//鏃ュ伐鍗旾D
-                    string FPRDMOMAINID = Convert.ToString(current["FHMainSourceInterID"]);//鐢熶骇璁㈠崟id
-                    //鏄惁鏈夎繃榻愬鍒嗘瀽 鎵惧嚭榻愬鏁伴噺 鏃ヨ鍒掓暟閲�
-                    string sql = string.Format(@"
-/*dialect*/
- SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO FROM  SC_WORKBILLSORTBILLMAIN T1 
-JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID
-WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0
-AND FPLANCOUNT>FCOMPLETECOUNT
-AND T1.FID='{0}' AND FPRDMOMAINID='{1}'
-", FDayPlanWorkID, FPRDMOMAINID);
-                    DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
-                    DataTable dt = ds.Tables[0];
-                    if (dt.Rows.Count > 0)
-                    {
-                        string FMATERIALID = dt.Rows[0]["FHMaterID"].ToString();//鐗╂枡缂栫爜
-                        decimal FCompleteCount = Convert.ToDecimal(dt.Rows[0]["FCompleteCount"].ToString());//榻愬鏁伴噺
-
-                        //鎸変富鐗╂枡鏌ヨ瀛愮墿鏂欏崟浣嶇敤鏂� 鏈�灏忛噰璐� 鍜� 鎻愬墠鏈�
-                        sql = string.Format(@"
-/*dialect*/
-SELECT  FNeedQty,t5.FFIXLEADTIME,t5.FMAXPOQTY,t5.FMINPOQTY,t2.FMATERIALID,t3.FNumber FROM T_PRD_PPBOM T1
-LEFT JOIN(SELECT FID, MAX(FENTRYID) FENTRYID, SUM(convert(decimal(18, 2), FBASENUMERATOR / FBASEDENOMINATOR))FNeedQty, FMATERIALID from T_PRD_PPBOMENTRY where FMoId = '{0}'
-group by FMATERIALID, FID) T2 on T1.FID = t2.FID
-JOIN T_BD_MATERIAL T3 ON T2.FMATERIALID = t3.FMATERIALID
-join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID
-join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID
-WHERE T1.FMaterialID = '{1}'
-AND FMoId = '{0}'
-AND FERPCLSID=1  
-", FPRDMOMAINID, FMATERIALID);
-                        DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
-                        //鏍规嵁bom鍘诲惊鐜�
-                        foreach (DataRow drDetail in _dt.Rows)
-                        {
-                            string DetailFmaterialID = drDetail["FNumber"].ToString();//瀛愮墿鏂�
-                            int FfixleadTime = Convert.ToInt32(drDetail["FFIXLEADTIME"].ToString());//鎻愬墠澶╂暟
-                            decimal FminPoqty = Convert.ToDecimal(drDetail["FMINPOQTY"].ToString());//鏈�灏忛噰璐噺
-                            decimal FNeedQty = Convert.ToDecimal(drDetail["FNeedQty"].ToString());//鍗曚綅鐢ㄦ枡
-
-                            //鏃ヨ鍒掓暟閲�(濂楁暟)
-                            decimal FHQTY = 0;
-                            foreach (DataRow dr in dt.Rows)
-                            {
-                                //鏃ヨ鍒掓暟閲�
-                                decimal DayFHQTY = Convert.ToDecimal(dr["FHQTY"].ToString());
-                                if (FCompleteCount >= DayFHQTY)
-                                {
-                                    FCompleteCount -= DayFHQTY;
-                                    continue;
-                                }
-                                else if (FCompleteCount != 0)
-                                {
-                                    FHQTY = DayFHQTY - FCompleteCount;
-                                    FCompleteCount = 0;
-                                }
-                                //鎻愭枡璁″垝鏃ユ湡
-                                DateTime FHDate;
-                                //濂楁暟*鍗曚綅鐢ㄦ枡鏄惁婊¤冻鏈�灏忛渶姹傞噺
-                                if (FHQTY * FNeedQty >= FminPoqty)
-                                {
-                                    FHDate = Convert.ToDateTime(dr["FHMASTERDATE"]);
-
-                                    JObject model = new JObject();
-                                    model.Add("FHDate", FHDate.AddDays(-FfixleadTime));
-                                    model.Add("FHRemark", "鐢熶骇璁㈠崟鍙凤細" + "娴嬭瘯鍛㈠憿");
-
-                                    JArray Fentity = new JArray();
-                                    JObject FentityModel = new JObject();
-                                    FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = DetailFmaterialID });//鐗╂枡
-                                    FentityModel.Add("FHQty", FHQTY * FNeedQty);//鏁伴噺
-                                    FentityModel.Add("FHSourceInterID", dr["FID"].ToString());//鏃ヨ鍒掑伐鍗旻ID
-                                    FentityModel.Add("FHSourceEntryID", dr["FENTRYID"].ToString());//鏃ヨ鍒掑伐鍗旻ENTRYID
-                                    FentityModel.Add("FHSourceBillNo", dr["FBILLNO"].ToString());//鏃ヨ鍒掑伐鍗曞崟鍙�
-                                    FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨�
-                                    Fentity.Add(FentityModel);
-
-                                    model.Add("FEntity", Fentity);
-                                    JObject jsonRoot = new JObject()
-                                    {
-                                        ["Creator"] = "",
-                                        ["NeedUpDateFields"] = new JArray(),
-                                        ["NeedReturnFields"] = new JArray(),
-                                        ["IsDeleteEntry"] = "false",
-                                        ["SubSystemId"] = "",
-                                        ["IsVerifyBaseDataField"] = "false",
-                                        ["Model"] = model
-                                    };
-
-                                    CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
-                                    var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
-                                    JObject saveObj = JObject.Parse(result);
-                                    string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-
-                                    if (saveIsSuc == "TRUE")
-                                    {
-                                        //娓呯┖鍊�
-                                        FHQTY = 0;
-                                        LogHelper.Info("鍗曟嵁鏃ユ湡:" + FHDate.AddDays(-FfixleadTime).ToString());
-                                    }
-                                    else
-                                    {
-                                        LogHelper.Error(saveIsSuc);
-
-                                    }
-
-                                }
-                                else
-                                {
-                                    FHQTY += DayFHQTY;
-                                    continue;
-                                }
-
-                            }
-
-                        }
-
-                    }
-                }
-            }
-
-        }
 
         public void Extraction3()
         {
@@ -1010,6 +940,8 @@
  and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
 ";
             List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
+            LogHelper.Info("閲囪喘璁㈠崟鏁版嵁" + sql);
+
 
             sql = string.Format(@"
  /*dialect*/
@@ -1022,13 +954,13 @@
 join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID
 join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID
 WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0
-AND FPLANCOUNT>FCOMPLETECOUNT
+AND FDayPlanQuantity>FCOMPLETECOUNT
 AND FERPCLSID=1 
 AND T2.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0}))
 AND T1.FID in ({0})
 order by FHMASTERDATE
 ", FDayPlanWorkID);
-
+            LogHelper.Info("鎻愭枡鏁版嵁" + sql);
             DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
             List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
 
@@ -1067,8 +999,8 @@
 
 
 
-            sql = @"select T1.FID,FPLANCOUNT,FCOMPLETECOUNT,t2.FHQTY, FHPRDORGID FStockOrgId from    SC_WORKBILLSORTBILLMAIN T1 
-JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FPLANCOUNT>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")";
+            sql = @"select T1.FID,FDayPlanQuantity,FCOMPLETECOUNT,t2.FHQTY, FHPRDORGID FStockOrgId from    SC_WORKBILLSORTBILLMAIN T1 
+JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FDayPlanQuantity>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")";
             DataSet Complete = DBServiceHelper.ExecuteDataSet(Context, sql);
             List<DayPlanPpbom> CompleteList = ds.ToModelList<DayPlanPpbom>();
             #region
@@ -1115,6 +1047,8 @@
             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 == "105773").ToList();
 
+            LogHelper.Info("鐗╂枡琛屾暟" + MaterialIDList.Count);
+
             //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
             List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
             //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
@@ -1122,6 +1056,7 @@
             //MaterialIDList = new List<string> { "105773" };
             foreach (var item in MaterialIDList)
             {
+                LogHelper.Info(item.FMATERIALID.ToString());
                 List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
 
                 decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
@@ -1133,6 +1068,7 @@
                 List<int> FEntryIdList = new List<int>();
                 foreach (var _item in _DayPlanPpbom)
                 {
+
                     if (NeedQty == 0)
                         DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-FFIXLEADTIME);
 
@@ -1150,6 +1086,9 @@
 
                         foreach (var Purchase in _PurchaseInventory)
                         {
+                            LogHelper.Info("Purchase");
+                            LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",鏁伴噺锛�" + Purchase.FQTY);
+
                             if (Purchase.FQTY >= NeedQty)
                             {
                                 List<int> mmm = new List<int>();
@@ -1430,11 +1369,13 @@
                     ["Model"] = model
                 };
 
-                CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
+                CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                 var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
                 JObject saveObj = JObject.Parse(result);
                 string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
 
+                LogHelper.Info("鏈�鍚�");
+                LogHelper.Info(jsonRoot.ToString());
                 if (saveIsSuc == "TRUE")
                 {
                 }

--
Gitblit v1.9.1