From 25f2835fa45e704f6eccf2feeaa3d2e95c224e2f Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 09 四月 2021 17:16:04 +0800
Subject: [PATCH] 生产计划平台查询

---
 src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs            |   16 ++
 src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs    |   52 ++++++
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs       |   21 +--
 src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs |  281 ++++++++++++++++++++++++++++++++++++++-
 4 files changed, 340 insertions(+), 30 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
index d6e17d2..b9f2504 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -163,7 +163,7 @@
                             this.Model.SetValue("FBatch", dt.Rows[i][9].ToString(), i);
                             this.Model.SetValue("FSalOrderCount", dt.Rows[i][10].ToString(), i);
                             this.Model.SetValue("FCompleteSetCount", dt.Rows[i][12].ToString(), i);
-                            this.Model.SetValue("FDeliveryDate", ToDateTimeValue(dt.Rows[i][13].ToString()), i);
+                            this.Model.SetValue("FDeliveryDate", dt.Rows[i][13].ToString(), i);
                             this.Model.SetValue("FOrderLevel", OrderType(dt.Rows[i][14].ToString()), i);
                             this.Model.SetValue("FOrderQuantity", FQTY, i);
                             this.Model.SetValue("FDayPlanID", fDayPlanID, i);//鏃ヨ鍒掑伐鍗旾D
@@ -301,6 +301,8 @@
                     string FQTY = "";//FQTY 鐢熶骇璁㈠崟鏁伴噺
                     string FBILLNO = "";//FBILLNO 鍘熷崟鍙� 
                     string FHUnitID = "";//鍗曚綅
+                    string FPlanBeginDate = "";//寮�濮嬫棩鏈�
+                    string FPlanEndDate = "";//缁撴潫鏃ユ湡
                     if (dt.Rows.Count > 0)
                     {
                         FID = dt.Rows[0]["FID"].ToString();
@@ -309,6 +311,8 @@
                         FQTY = dt.Rows[0]["FQTY"].ToString();
                         FBILLNO = dt.Rows[0]["FBILLNO"].ToString();
                         FHUnitID = dt.Rows[0]["FUnitNumber"].ToString();
+                        FPlanBeginDate = dt.Rows[0]["FPlanStartDate"].ToString();
+                        FPlanEndDate = dt.Rows[0]["FPlanFinishDate"].ToString();
                     }
                     JObject jsonRoot = new JObject();
                     jsonRoot.Add("Creator", "");
@@ -326,6 +330,9 @@
                     jsonModel.Add("FHOrderQty", Convert.ToString(current["FSalOrderCount"]));//閿�鍞鍗曟暟閲�
                     jsonModel.Add("FHOrderCommitDate", Convert.ToString(current["FDeliveryDate"]));//浜よ揣鏈烪OrderCommitDate
                     jsonModel.Add("FHUnitID", new JObject() { ["Fnumber"] = FHUnitID });//鍗曚綅
+
+                    jsonModel.Add("FHPlanBeginDate",FPlanBeginDate);//璁″垝寮�濮嬫棩鏈�
+                    jsonModel.Add("FHPlanEndDate", FPlanEndDate);//璁″垝瀹屽伐鏃ユ湡
 
                     //jsonModel.Add("FBatch", current["FBatch"].ToString());//鎵规
                     jsonModel.Add("FBatch", FLOT);//鎵规
@@ -518,6 +525,8 @@
                     string FQTY = "";//FQTY 鐢熶骇璁㈠崟鏁伴噺
                     string FBILLNO = "";//FBILLNO 鍘熷崟鍙� 
                     string FHUnitID = "";//鍗曚綅
+                    string FPlanBeginDate = "";//寮�濮嬫棩鏈�
+                    string FPlanEndDate = "";//缁撴潫鏃ユ湡
                     if (dt.Rows.Count > 0)
                     {
                         FID = dt.Rows[0]["FID"].ToString();
@@ -526,6 +535,8 @@
                         FQTY = dt.Rows[0]["FQTY"].ToString();
                         FBILLNO = dt.Rows[0]["FBILLNO"].ToString();
                         FHUnitID = dt.Rows[0]["FUnitNumber"].ToString();
+                        FPlanBeginDate = dt.Rows[0]["FPlanStartDate"].ToString();
+                        FPlanEndDate = dt.Rows[0]["FPlanFinishDate"].ToString();
                     }
                     JObject jsonRoot = new JObject();
                     jsonRoot.Add("Creator", "");
@@ -543,7 +554,8 @@
                     jsonModel.Add("FHOrderQty", Convert.ToString(current["FSalOrderCount"]));//閿�鍞鍗曟暟閲�
                     jsonModel.Add("FHOrderCommitDate", Convert.ToString(current["FDeliveryDate"]));//浜よ揣鏈烪OrderCommitDate
                     jsonModel.Add("FHUnitID", new JObject() { ["Fnumber"] = FHUnitID });//鍗曚綅
-
+                    jsonModel.Add("FHPlanBeginDate", FPlanBeginDate);//璁″垝寮�濮嬫棩鏈�
+                    jsonModel.Add("FHPlanEndDate", FPlanEndDate);//璁″垝瀹屽伐鏃ユ湡
                     //jsonModel.Add("FBatch", current["FBatch"].ToString());//鎵规
                     jsonModel.Add("FBatch", FLOT);//鎵规
                     jsonModel.Add("FHOrderNeedQty", FQTY);// 璁㈠崟闇�姹傛暟閲�
diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index 0bb8d39..97aeda7 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -76,6 +76,7 @@
                 if (e.BarItemKey.ToUpper() == "TBCOMPLETE")
                 {
                     COMPLETE();
+                    
                 }
                 //鎻愭枡璁″垝
                 if (e.BarItemKey.ToUpper() == "TBEXTRACTION")
@@ -1159,11 +1160,11 @@
             //閿�鍞鍗曞彿
             string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder")));
             if (!string.IsNullOrEmpty(FSalOrder))
-                sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'";
+                sqlwhere += $" and FHSeOrderBillNo like '%{FSalOrder}%'";
             //鐢熶骇璁㈠崟鍙�
             string FScOrderMainNo = Convert.ToString((this.Model.GetValue("FScOrderMainNo")));
             if (!string.IsNullOrEmpty(FScOrderMainNo))
-                sqlwhere += $" and FSCORDERNO='{FScOrderMainNo}'";
+                sqlwhere += $" and FSCORDERNO like '%{FScOrderMainNo}%'";
             //鐗╂枡
             if ((this.Model.GetValue("FMatralId") as DynamicObject) != null)
             {
@@ -1279,20 +1280,12 @@
             }
             //閿�鍞鍗曞彿
             string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder")));
-            if (string.IsNullOrEmpty(FSalOrder))
-            {
-
-            }
-            else
-                sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'";
+            if (!string.IsNullOrEmpty(FSalOrder))
+                sqlwhere += $" and FHSeOrderBillNo like '%{FSalOrder}%'";
             //鐢熶骇璁㈠崟鍙�
             string FScOrderMainNo = Convert.ToString((this.Model.GetValue("FScOrderMainNo")));
-            if (string.IsNullOrEmpty(FScOrderMainNo))
-            {
-
-            }
-            else
-                sqlwhere += $" and FSCORDERNO='{FScOrderMainNo}'";
+            if (!string.IsNullOrEmpty(FScOrderMainNo))
+                sqlwhere += $" and FSCORDERNO like '%{FScOrderMainNo}%'";
 
             //鐗╂枡
             if ((this.Model.GetValue("FMatralId") as DynamicObject) != null)
diff --git a/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs b/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
index 1b0d679..6faafb9 100644
--- a/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
+++ b/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
@@ -23,14 +23,26 @@
     [HotUpdate]
     public class ProductScheduleButtonClick : AbstractDynamicFormPlugIn
     {
+        /// <summary>
+        /// 瀹氫箟宸ヤ綔鏃ュ巻鐝粍List<Model>
+        /// </summary>
         public List<ENG_WORKCALFULLDATA> ENG_WORKCALFULLDATA = new List<ENG_WORKCALFULLDATA>();
+        /// <summary>
+        /// 鍒濆鍔犺浇浜嬩欢
+        /// </summary>
+        /// <param name="e"></param>
+        public override void OnLoad(EventArgs e)
+        {
+            base.OnLoad(e);
+            SearchList();
+        }
         /// <summary>
         /// 椤甸潰鎸夐挳鐐瑰嚮浜嬩欢
         /// </summary>
         /// <param name="e"></param>
         public override void ButtonClick(ButtonClickEventArgs e)
         {
-            base.OnLoad(e);
+            base.ButtonClick(e);
             try
             {
                 //閫夋嫨
@@ -38,28 +50,50 @@
                 {
                     ShowFDprwEntity();
                 }
-                //鐢熶骇璁㈠崟      鏌ヨ
+                //寰呮帓浠诲姟 鏌ヨ
+                if (e.Key.ToUpper().Equals("FSEARCHBUTTON"))
+                {
+                    string FDepartId = (this.Model.GetValue("FDpDepartment") as DynamicObject)?["Id"].ToString();
+                    string FDate = Convert.ToString(this.Model.GetValue("FNewPzDate"));
+                    DprwSearcrList(FDepartId, FDate);
+                }
+                //鐢熶骇璁㈠崟 鏌ヨ
                 if (e.Key.ToUpper().Equals("FSEARCHBUTTONSC"))
                 {
-                    this.View.ShowErrMessage("鐢熶骇璁㈠崟鍢垮樋!");
+                    string FMaterialId = (this.Model.GetValue("FMATERIALIDCX") as DynamicObject)?["Id"].ToString();
+                    string FProOrderNo = Convert.ToString(this.Model.GetValue("FOrderNoCX"));
+                    ScddSearchList(FMaterialId, FProOrderNo);
                 }
             }
             catch (Exception ex)
             {
                 LogHelper.Error("鐢熶骇鎺掔▼鍗曞姩鎬佽〃鍗�-Button鎸夐挳鐐瑰嚮浜嬩欢 鎶涘嚭寮傚父锛�" + ex.Message.ToString());
                 this.View.ShowErrMessage(ex.Message.ToString());
-
             }
         }
+        /// <summary>
+        /// 椤甸潰鎸夐挳宸ュ叿鏍忎簨浠�
+        /// </summary>
+        /// <param name="e"></param>
         public override void BarItemClick(BarItemClickEventArgs e)
         {
-            base.OnLoad(e);
+            base.BarItemClick(e);
             try
             {
                 //鎺掔▼
                 if (e.BarItemKey.ToUpper().Equals("TBPC"))
                 {
                     ProductSchedul();
+                }
+                //淇濆瓨
+                if (e.BarItemKey.ToUpper().Equals("TBSAVE"))
+                {
+                    ZdpcSave();
+                }
+                //鍒锋柊
+                if (e.BarItemKey.ToUpper().Equals("TBREFASH"))
+                {
+                    SearchList();
                 }
             }
             catch (Exception ex)
@@ -68,7 +102,165 @@
                 this.View.ShowErrMessage(ex.Message.ToString());
             }
         }
+        /// <summary>
+        /// 绐椾綋椤甸潰鍔犺浇 鍙� 鏌ヨ
+        /// </summary>
+        public void SearchList()
+        {
+            DprwSearcrList("", "");
+            ScddSearchList("", "");
+        }
+        /// <summary>
+        /// 鐣岄潰涓婃柟鈥滃緟鎺掍换鍔♀�濈殑椤电
+        /// </summary>
+        /// <param name="FDepartId"></param>
+        /// <param name="FDate"></param>
+        public void DprwSearcrList(string FDepartId, string FDate)
+        {
+            try
+            {
+                string sqlWhere = " where 1=1 ";
+                if (!string.IsNullOrEmpty(FDepartId))
+                    sqlWhere += $" and FHMATERID ={FDepartId}";
+                if (!string.IsNullOrEmpty(FDate))
+                    sqlWhere += $" and dadediff(d,FDate,) =0 ";
+                //寰呮帓浠诲姟 鍒濆鍖栧姞杞� where FNoScheduled > 0 鏈帓浜ф暟閲忓ぇ浜�0
+                string sql = @"select * from Sc_WorkBillSortBillMain ";
+                DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
+                if (dt.Rows.Count > 0)
+                {
+                    while (this.Model.GetEntryRowCount("FDprwEntity") > 0)
+                    {
+                        this.Model.DeleteEntryRow("FDprwEntity", 0);
+                    }
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        this.Model.CreateNewEntryRow("FDprwEntity");
+                        this.Model.SetValue("FSczy", dt.Rows[i]["FHSourceID"], i);//鐢熶骇璧勬簮  
+                        this.Model.SetValue("FProOrderNo", dt.Rows[i]["FSCOrderNo"], i);//鐢熶骇璁㈠崟鍙�  
+                        this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"], i);//鐢熶骇璁㈠崟鏄庣粏琛屽彿  
+                        this.Model.SetValue("FMATERIALID", dt.Rows[i]["FHMaterID"], i);//鐗╂枡浠g爜  
+                        this.Model.SetValue("FSCOrderCount", dt.Rows[i]["FOrderQuantity"], i);//鐢熶骇璁㈠崟鏁�  
+                        //this.Model.SetValue("FFinishConut", dt.Rows[i]["FNOTE"], i);//瀹屽伐鏁� 锛堟病鏈夊搴斿瓧娈碉級
+                        this.Model.SetValue("FStoredCount", dt.Rows[i]["FHInstockQty"], i);//宸插叆搴撴暟  
+                        this.Model.SetValue("FPriority", dt.Rows[i]["FHYX"], i);//浼樺厛绾�  
+                        this.Model.SetValue("FCapacity", dt.Rows[i]["FHWorkQty"], i);//浜ц兘  
+                        this.Model.SetValue("FPlanBeginDate", dt.Rows[i]["FHPlanBeginDate"], i);//璁″垝寮�濮嬫棩鏈�  
+                        this.Model.SetValue("FPlanEndDate", dt.Rows[i]["FHPlanEndDate"], i);//璁″垝瀹屽伐鏃ユ湡  
+                        this.Model.SetValue("FSalOrderCount", dt.Rows[i]["FHOrderQty"], i);//閿�鍞鍗曟暟閲�  
+                        //this.Model.SetValue("FCustormer", dt.Rows[i]["FNOTE"], i);//瀹㈡埛 锛堟病鏈夊搴斿瓧娈碉級 
+                        this.Model.SetValue("FSalOrderNo", dt.Rows[i]["FHSeOrderBillNo"], i);//閿�鍞鍗曞彿  
+                        //this.Model.SetValue("FSalDeliveryDate", dt.Rows[i]["FNOTE"], i);//閿�鍞鍗曚氦璐ф湡  锛堟病鏈夊搴斿瓧娈碉級
+                        //this.Model.SetValue("FOrderRemake", dt.Rows[i]["FNOTE"], i);//璁㈠崟澶囨敞  锛堟病鏈夊搴斿瓧娈碉級
+                        this.Model.SetValue("FID", dt.Rows[i]["FID"], i);//鏃ヨ鍒掑伐鍗旾D  
+                    }
+                }
 
+                //鑷姩鎺掔▼ 鍒濆鍖栧姞杞�  where FNoScheduled > 0 鏈帓浜ф暟閲忓ぇ浜�0
+                if (dt.Rows.Count > 0)
+                {
+                    while (this.Model.GetEntryRowCount("FZdpcEntity") > 0)
+                    {
+                        this.Model.DeleteEntryRow("FZdpcEntity", 0);
+                    }
+                    DateTime DateNow = DateTime.Now;//鑾峰彇褰撳墠鏃ユ湡
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        this.Model.CreateNewEntryRow("FZdpcEntity");
+                        this.Model.SetValue("FSczyZD", dt.Rows[i]["FHSourceID"], i);//鐢熶骇璧勬簮  
+                        this.Model.SetValue("FProOrderNoZD", dt.Rows[i]["FSCOrderNo"], i);//鐢熶骇璁㈠崟鍙�  
+                        this.Model.SetValue("FSRCBILLENTRYSEQZD", dt.Rows[i]["FSRCBILLENTRYSEQ"], i);//鐢熶骇璁㈠崟鏄庣粏琛屽彿  
+                        this.Model.SetValue("FMATERIALIDZD", dt.Rows[i]["FHMaterID"], i);//鐗╂枡浠g爜  
+                        this.Model.SetValue("FSCOrderCountZD", dt.Rows[i]["FOrderQuantity"], i);//鐢熶骇璁㈠崟鏁�  
+                        //this.Model.SetValue("FFinishConutZD", dt.Rows[i]["FNOTE"], i);//瀹屽伐鏁� 锛堟病鏈夊搴斿瓧娈碉級
+                        this.Model.SetValue("FNoScheduledCount", dt.Rows[i]["FNoScheduled"], i);//寰呮帓鏁�  
+                        this.Model.SetValue("FPriorityZD", dt.Rows[i]["FHYX"], i);//浼樺厛绾�  
+                        this.Model.SetValue("FCapacityZD", dt.Rows[i]["FHWorkQty"], i);//浜ц兘  
+                        this.Model.SetValue("FIDZD", dt.Rows[i]["FID"], i);//鏃ヨ鍒掑伐鍗旾D  
+                        sql = @"/*dialect*/SELECT * FROM Sc_WorkBillSortBillSub WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and FID=" + dt.Rows[i]["FID"].ToString();
+                        DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
+                        foreach (DataRow dr in _dt.Rows)
+                        {
+                            DateTime start = Convert.ToDateTime(DateNow.ToShortDateString());
+                            DateTime end = Convert.ToDateTime(Convert.ToDateTime(dr["FHMASTERDATE"]).ToShortDateString());
+                            TimeSpan getDay = end.Subtract(start);
+                            if (getDay.Days > 60)
+                                continue;
+                            this.Model.SetValue("FT" + getDay.Days.ToString(), dr["FHQTY"].ToString(), i);//鏃ヨ鍒掑伐鍗旻ID
+                            if (dr["FHLockedSub"].ToString() == "1")
+                                this.View.GetFieldEditor("FT" + getDay.Days.ToString(), i).Enabled = false; //鍗曟嵁浣撹閿佸畾瀛楁
+                        }
+                    }
+                    for (int m = 0; m <= 60; m++)
+                    {
+                        //  this.View.GetControl("FT" + "" + m + "").Text = DateNow.AddDays(m).ToShortDateString();
+                        this.View.GetControl("FT" + "" + m + "").SetValue(DateNow.AddDays(m).ToShortDateString());
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error("鐢熶骇鎺掔▼鍗曞姩鎬佽〃鍗�-椤甸潰灞曠ず 寰呮帓浠诲姟鎶涘嚭寮傚父锛�" + ex.Message.ToString());
+                this.View.ShowErrMessage("閿欒锛�" + ex.Message.ToString());
+            }
+        }
+        /// <summary>
+        /// 鐣岄潰涓嬫柟鈥滅敓浜ц鍗曗�濈殑椤电
+        /// </summary>
+        /// <param name="FMaterialId">鐗╂枡</param>
+        /// <param name="FProOrderNo">鐢熶骇璁㈠崟鍙�</param>
+        public void ScddSearchList(string FMaterialId, string FProOrderNo)
+        {
+            try
+            {
+                string sqlWhere = " and 1=1 ";
+                if (!string.IsNullOrEmpty(FMaterialId))
+                    sqlWhere += $" and b.FMATERIALID ='{FMaterialId}'";
+                if (!string.IsNullOrEmpty(FProOrderNo))
+                    sqlWhere += $" and a.FBILLNO ='{FProOrderNo}' ";
+
+                //鐣岄潰涓嬫柟鈥滅敓浜ц鍗曗�濈殑椤电锛屽姞杞芥湭鎺掔▼宸插鏍哥殑鐢熶骇璁㈠崟 (娴嬭瘯鏈姞鏉′欢 鏇存敼鍚庡幓闄よ鏍囪)
+                string sql = @"
+SELECT A.FBILLNO,B.FSEQ,B.FMATERIALID,B.FQTY,B.FPlanStartDate,b.FPlanFinishDate,b.FSaleOrderNo,c.FCustId,d.FQTY as FQTYXSDD ,d.FNOTE,d.FPLANDELIVERYDATE,e.FSCOrderNo
+FROM T_PRD_MO a
+LEFT JOIN T_PRD_MOENTRY b on a.FID = B.FID
+left join T_SAL_ORDER c on b.FSaleOrderNo =c.FBILLNO
+left join T_SAL_ORDERENTRY d on c.FID = d.FID and b.FMATERIALID = d.FMATERIALID
+left join Sc_WorkBillSortBillMain e on b.FMATERIALID = e.FHMaterID and b.FSEQ = e.FSRCBILLENTRYSEQ and a.FBILLNO = e.FSCOrderNo
+where ISNULL(e.FSCOrderNo,'')=''";
+                sql += sqlWhere;
+                DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
+                if (dt.Rows.Count > 0)
+                {
+                    //this.Model.DeleteEntryData("FScddEntity");
+                    while (this.Model.GetEntryRowCount("FScddEntity") > 0)
+                    {
+                        this.Model.DeleteEntryRow("FScddEntity", 0);
+                    }
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        this.Model.CreateNewEntryRow("FScddEntity");
+                        this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
+                        this.Model.SetValue("FProOrderNoSC", dt.Rows[i]["FBILLNO"], i);//鐢熶骇璁㈠崟鍙�  
+                        this.Model.SetValue("FSRCBILLENTRYSEQSC", dt.Rows[i]["FSEQ"], i);//鐢熶骇璁㈠崟鏄庣粏鍙�  
+                        this.Model.SetValue("FSCOrderCountSC", dt.Rows[i]["FQTY"], i);//鐢熶骇璁㈠崟鏁�
+                        this.Model.SetValue("FPlanBeginDateSC", dt.Rows[i]["FPlanStartDate"], i);//璁″垝寮�宸ユ棩鏈�
+                        this.Model.SetValue("FPlanEndDateSC", dt.Rows[i]["FPlanFinishDate"], i);//璁″垝瀹屽伐鏃ユ湡  
+                        this.Model.SetValue("FSalOrderNoSC", dt.Rows[i]["FSaleOrderNo"], i);//閿�鍞鍗曞彿  
+                        this.Model.SetValue("FMATERIALIDSC", dt.Rows[i]["FMATERIALID"], i);//鐗╂枡  
+                        this.Model.SetValue("FCustormerSC", dt.Rows[i]["FCustId"], i);//瀹㈡埛  
+                        this.Model.SetValue("FSalOrderCountSC", dt.Rows[i]["FQTYXSDD"], i);//閿�鍞鍗曟暟閲�  
+                        this.Model.SetValue("FSalDeliveryDateSC", dt.Rows[i]["FPLANDELIVERYDATE"], i);//閿�鍞鍗曚氦璐ф湡
+                        this.Model.SetValue("FOrderRemakeSC", dt.Rows[i]["FNOTE"], i);//璁㈠崟澶囨敞  
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error("鐢熶骇鎺掔▼鍗曞姩鎬佽〃鍗�-椤甸潰灞曠ず 鐢熶骇璁㈠崟鎶涘嚭寮傚父锛�" + ex.Message.ToString());
+                this.View.ShowErrMessage("閿欒锛�" + ex.Message.ToString());
+            }
+        }
         /// <summary>
         /// 鐢熶骇璁㈠崟鏁版嵁鎺ㄥ埌寰呮帓浠诲姟鏍�
         /// </summary>
@@ -109,7 +301,6 @@
                 i++;
             }
         }
-
         /// <summary>
         /// 浜ц兘璁$畻
         /// </summary>
@@ -122,6 +313,7 @@
 left join T_ENG_SHIFT c on b.FShiftId =c.FID
 where FDateStyle = 1 and FIsWorkTime = 1
 and FCalUserType ='ENG_RepetitiveProductLine'
+and DATEDIFF(D,getdate(),FDAY)>0
 --鏉′欢涓� 宸ヤ綔鏃�+鏄惁鐢熶骇 == 1 ";
             ENG_WORKCALFULLDATA = DBServiceHelper.ExecuteDataSet(Context, _sql).ToModelList<ENG_WORKCALFULLDATA>();
 
@@ -168,9 +360,6 @@
                         }
                         FSCOrderCount = FSCOrderCount - fqty;
                     }
-
-                    //continue;
-
                     //鏍规嵁鐢熶骇璁㈠崟鍙峰拰鐗╂枡鏌ヨ鏄惁瀛樺湪鏄庣粏 +鐢熶骇璁㈠崟鏄庣粏琛屽彿
                     string sql = string.Format(@"
 /*dialect*/
@@ -205,6 +394,8 @@
 
                     JObject jsonModel = new JObject();
                     jsonModel.Add("FPreparatDate", DateTime.Now.ToString());//缂栧埗鏃ユ湡
+                    jsonModel.Add("FHPlanBeginDate", Convert.ToString(order["FPlanBeginDate"]));//璁″垝寮�濮嬫棩鏈�
+                    jsonModel.Add("FHPlanEndDate", Convert.ToString(order["FPlanEndDate"]));//璁″垝瀹屽伐鏃ユ湡
                     jsonModel.Add("FSRCBILLENTRYSEQ", Convert.ToString(order["FSRCBILLENTRYSEQ"]));//鐢熶骇璁㈠崟鏄庣粏琛屽彿
                     jsonModel.Add("FSCOrderNo", Convert.ToString(order["FProOrderNo"])); //鐢熶骇璁㈠崟鍙稦SCOrderNo
                     jsonModel.Add("FHSeOrderBillNo", Convert.ToString(order["FSalOrderNo"]));//閿�鍞鍗曞彿
@@ -221,7 +412,7 @@
                     jsonModel.Add("FHMaterID", new JObject() { ["Fnumber"] = Convert.ToString(((order["FMATERIALID"]) as DynamicObject)?["Number"].ToString()) });//鐗╂枡
                     jsonModel.Add("FHSourceID", new JObject() { ["Fnumber"] = Convert.ToString(((order["FSczy"]) as DynamicObject)?["Number"].ToString()) });//鐢熶骇璧勬簮
                     jsonModel.Add("FHWorkQty", Convert.ToString(order["FCapacity"])); ;//浜ц兘
-                    jsonModel.Add("FHYX", Convert.ToString(order["FPriority"])); ;//浼樺厛绾�
+                    jsonModel.Add("FHYX", seq++); ;//浼樺厛绾�
                     if (Convert.ToInt32(order["FID"]) > 0)
                         jsonModel.Add("FID", Convert.ToString(order["FID"])); ;//鏃ヨ鍒掑伐鍗旾D
                     JArray Entry = new JArray();
@@ -291,6 +482,76 @@
                 LogHelper.Error("鐢熶骇鎺掔▼鍗曞姩鎬佽〃鍗� 鎺掔▼鎸夐挳鐐瑰嚮鍔熻兘" + ex.Message.ToString());
             }
         }
+        /// <summary>
+        /// 鑷姩鎺掔▼淇濆瓨鍔熻兘
+        /// </summary>
+        public void ZdpcSave()
+        {
+            List<string> sqlList = new List<string>();
+            string sql;
+            //鑾峰彇鍗曟嵁浣撲俊鎭�
+            Entity entity = this.View.BillBusinessInfo.GetEntity("FZdpcEntity");
+            //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎
+            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
+            DateTime date = Convert.ToDateTime(DateTime.Now.ToString("d"));
+            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)
+            {
+                JObject jsonRoot = new JObject();
+                jsonRoot.Add("Creator", "");
+                jsonRoot.Add("NeedUpDateFields", new JArray());
+                jsonRoot.Add("NeedReturnFields", new JArray());
+                jsonRoot.Add("IsDeleteEntry", "false");
+                jsonRoot.Add("SubSystemId", "");
+                jsonRoot.Add("IsVerifyBaseDataField", "");
+                JObject jsonModel = new JObject();
+                jsonModel.Add("FID", Convert.ToString(current["FIDZD"]));
+                //jsonModel.Add("FOrderQuantity", Convert.ToString(current["FOrderQuantity"]));
+                //jsonModel.Add("FDayPlanQuantity", Convert.ToString(current["FDayPlanQuantity"]));
+                //jsonModel.Add("FNoScheduled", Convert.ToString(current["FNoScheduled"]));
+                sql = $" /*dialect*/ select FEntryID, FHMASTERDATE from SC_WORKBILLSORTBILLSub  where FID={Convert.ToString(current["FIDZD"])} ";
+                List<DayPlanModel> dayPlanModel = new List<DayPlanModel>();
+                dayPlanModel = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<DayPlanModel>();
+                JArray Entry = new JArray();
+                for (int i = 0; i <= 60; i++)
+                {
+                    if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0")
+                        continue;
+                    JObject jsonFPOOrderEntry = new JObject();
+                    jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//涓绘棩鏈�
+                    jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//鏃ヨ鍒掓暟閲�
+                    List<DayPlanModel> _dayPlanModel = dayPlanModel.Where(x => x.FHMASTERDATE == date.AddDays(i)).ToList();
+                    if (_dayPlanModel.Count > 0)
+                    {
+                        jsonFPOOrderEntry.Add("FEntryID", _dayPlanModel.FirstOrDefault().FEntryID); ;//搴忓彿
+                    }
+                    Entry.Add(jsonFPOOrderEntry);
+                }
+                jsonModel.Add("FEntity", Entry);
+                jsonRoot.Add("Model", jsonModel);
+                CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
+                var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
+                JObject saveObj = JObject.Parse(result);
+                string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
+                if (saveIsSuc != "TRUE")
+                {
+                    LogHelper.Error("鐢熶骇璁″垝骞冲彴淇濆瓨澶辫触:" + jsonRoot.ToString());
+                    this.View.ShowMessage("鏁版嵁鍌ㄥ瓨澶辫触锛佽鑱旂郴绠$悊鍛橈紒");
+                }
+            }
+
+            this.View.ShowMessage("鎿嶄綔鎴愬姛");
+        }
 
     }
 }
diff --git a/src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs b/src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs
index f43bd42..a9d4c3a 100644
--- a/src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs
+++ b/src/BLL/Demo.BillView/PRD/ProductScheduleShowList.cs
@@ -19,9 +19,15 @@
     {
         public override void OnLoad(EventArgs e)
         {
+            base.OnLoad(e);
+            SearchList();
+        }
+
+        public void SearchList()
+        {
             try
             {
-                base.OnLoad(e);
+
                 //鐣岄潰涓嬫柟鈥滅敓浜ц鍗曗�濈殑椤电锛屽姞杞芥湭鎺掔▼宸插鏍哥殑鐢熶骇璁㈠崟 (娴嬭瘯鏈姞鏉′欢 鏇存敼鍚庡幓闄よ鏍囪)
                 string sql = @"
 SELECT A.FBILLNO,B.FSEQ,B.FMATERIALID,B.FQTY,B.FPlanStartDate,b.FPlanFinishDate,b.FSaleOrderNo,c.FCustId,d.FQTY as FQTYXSDD ,d.FNOTE,d.FPLANDELIVERYDATE,e.FSCOrderNo
@@ -52,8 +58,8 @@
                     }
                 }
 
-                //寰呮帓浠诲姟 鍒濆鍖栧姞杞�
-                sql = @"select * from Sc_WorkBillSortBillMain where FNoScheduled > 0";
+                //寰呮帓浠诲姟 鍒濆鍖栧姞杞� where FNoScheduled > 0 鏈帓浜ф暟閲忓ぇ浜�0
+                sql = @"select * from Sc_WorkBillSortBillMain ";
                 dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
                 if (dt.Rows.Count > 0)
                 {
@@ -79,14 +85,52 @@
                         this.Model.SetValue("FID", dt.Rows[i]["FID"], i);//鏃ヨ鍒掑伐鍗旾D  
                     }
                 }
+
+                //鑷姩鎺掔▼ 鍒濆鍖栧姞杞�  where FNoScheduled > 0 鏈帓浜ф暟閲忓ぇ浜�0
+                if (dt.Rows.Count > 0)
+                {
+                    DateTime DateNow = DateTime.Now;//鑾峰彇褰撳墠鏃ユ湡
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        this.Model.CreateNewEntryRow("FZdpcEntity");
+                        this.Model.SetValue("FSczyZD", dt.Rows[i]["FHSourceID"], i);//鐢熶骇璧勬簮  
+                        this.Model.SetValue("FProOrderNoZD", dt.Rows[i]["FSCOrderNo"], i);//鐢熶骇璁㈠崟鍙�  
+                        this.Model.SetValue("FSRCBILLENTRYSEQZD", dt.Rows[i]["FSRCBILLENTRYSEQ"], i);//鐢熶骇璁㈠崟鏄庣粏琛屽彿  
+                        this.Model.SetValue("FMATERIALIDZD", dt.Rows[i]["FHMaterID"], i);//鐗╂枡浠g爜  
+                        this.Model.SetValue("FSCOrderCountZD", dt.Rows[i]["FOrderQuantity"], i);//鐢熶骇璁㈠崟鏁�  
+                        //this.Model.SetValue("FFinishConutZD", dt.Rows[i]["FNOTE"], i);//瀹屽伐鏁� 锛堟病鏈夊搴斿瓧娈碉級
+                        this.Model.SetValue("FNoScheduledCount", dt.Rows[i]["FNoScheduled"], i);//寰呮帓鏁�  
+                        this.Model.SetValue("FPriorityZD", dt.Rows[i]["FHYX"], i);//浼樺厛绾�  
+                        this.Model.SetValue("FCapacityZD", dt.Rows[i]["FHWorkQty"], i);//浜ц兘  
+                        this.Model.SetValue("FIDZD", dt.Rows[i]["FID"], i);//鏃ヨ鍒掑伐鍗旾D  
+                        sql = @"/*dialect*/SELECT * FROM Sc_WorkBillSortBillSub WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and FID=" + dt.Rows[i]["FID"].ToString();
+                        DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
+                        foreach (DataRow dr in _dt.Rows)
+                        {
+                            DateTime start = Convert.ToDateTime(DateNow.ToShortDateString());
+                            DateTime end = Convert.ToDateTime(Convert.ToDateTime(dr["FHMASTERDATE"]).ToShortDateString());
+                            TimeSpan getDay = end.Subtract(start);
+                            if (getDay.Days > 60)
+                                continue;
+                            this.Model.SetValue("FT" + getDay.Days.ToString(), dr["FHQTY"].ToString(), i);//鏃ヨ鍒掑伐鍗旻ID
+                            if (dr["FHLockedSub"].ToString() == "1")
+                                this.View.GetFieldEditor("FT" + getDay.Days.ToString(), i).Enabled = false; //鍗曟嵁浣撹閿佸畾瀛楁
+                        }
+                    }
+                    for (int m = 0; m <= 60; m++)
+                    {
+                        //  this.View.GetControl("FT" + "" + m + "").Text = DateNow.AddDays(m).ToShortDateString();
+                        this.View.GetControl("FT" + "" + m + "").SetValue(DateNow.AddDays(m).ToShortDateString());
+                    }
+                }
             }
             catch (Exception ex)
             {
                 LogHelper.Error("鐢熶骇鎺掔▼鍗曞姩鎬佽〃鍗�-椤甸潰灞曠ず 鎶涘嚭寮傚父锛�" + ex.Message.ToString());
+                this.View.ShowErrMessage("閿欒锛�" + ex.Message.ToString());
             }
 
         }
-
     }
 }
 

--
Gitblit v1.9.1