From 7af4d9d0181f2442bc60b218ec65bfaf831d0422 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期四, 02 九月 2021 09:27:22 +0800
Subject: [PATCH] nothing

---
 src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs b/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
index f7b8822..1ad007e 100644
--- a/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
+++ b/src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
@@ -504,7 +504,7 @@
         public void Jscn()
         {
             //鏌ヨ鍑洪噸澶嶇敓浜х嚎瀵瑰簲鐨勫伐浣滄棩鍘嗕俊鎭�
-            string _sql = @"
+            string _sql = @"/*dialect*/ 
 select FCalUserId,FCalUserType,FShiftId,FIsWorkTime,FDay,FDateStyle,c.FALLHOURS ,c.FALLHOURS FALLHOURSCONST,b.FENTRYID from T_ENG_WORKCAL a
 left join  T_ENG_WORKCALFULLDATA b on a.FID=b.FID
 left join T_ENG_SHIFT c on b.FShiftId =c.FID
@@ -529,9 +529,35 @@
             {
                 var orders = group.OrderBy(x => Convert.ToDateTime(x["FPlanEndDate"]));//璁″垝瀹屽伐鏃ユ湡鎺掑簭
                 var seq = 1;
-                
+                string fMaterialID = ""; //璁板綍寰幆鏃剁殑浜у搧 鐢ㄤ簬浜у搧鎹㈢嚎鏃跺垽鏂紙鍚屼竴涓骇绾挎椂鐨勮绠楋級
                 foreach (var order in orders)
                 {
+                    List<ENG_WORKCALFULLDATA> _ENG_WORKCALFULLDATA = ENG_WORKCALFULLDATA.Where(x => x.FALLHOURS > 0 && x.FCalUserId == Convert.ToInt32(order["FSczy_Id"])).ToList();
+                    //浜у搧鍙戠敓鍙樺够鏃舵墸闄ょ浉搴旂殑鎹㈢嚎鏃堕棿
+                    if (fMaterialID == "")
+                    {
+                        fMaterialID = order["FMATERIALID_Id"].ToString();
+                    }
+                    decimal FChangeLine = Convert.ToDecimal(order["FChangeLine"]);//鎹㈢嚎鏃堕棿
+                    if (fMaterialID != order["FMATERIALID_Id"].ToString())
+                    {
+                        foreach (var item in _ENG_WORKCALFULLDATA)
+                        {
+                            if (FChangeLine < item.FALLHOURS)
+                            {
+                                //鏀瑰彉list涓煇涓厓绱犲��
+                                var model = ENG_WORKCALFULLDATA.Where(c => c.FENTRYID == item.FENTRYID).FirstOrDefault();
+                                //model.FALLHOURS -= Math.Ceiling(fqty / FCapacity);
+                                model.FALLHOURS -= FChangeLine; // 鐢熶骇鏁� / 灏忔椂浜ц兘 = 娑堣�楃殑灏忔椂 锛堟暟鍊肩被鍨嬩负decimal锛�
+                            }
+                            else
+                            {
+                                var model = ENG_WORKCALFULLDATA.Where(c => c.FENTRYID == item.FENTRYID).FirstOrDefault();
+                                model.FALLHOURS = 0;
+                            }
+                        }
+                        fMaterialID = order["FMATERIALID_Id"].ToString();
+                    }
                     //璁$畻浜ц兘
                     decimal FCapacity = Convert.ToDecimal(order["FCapacity"]);//灏忔椂浜ц兘
                     decimal FSCOrderCount = Convert.ToDecimal(order["FSCOrderCount"]);//鐢熶骇璁㈠崟
@@ -544,7 +570,7 @@
                     FSCOrderCount = FSCOrderCount - fDayPlanQuality;
                     List<ENG_WORKCALFULLDATA> finalyResult = new List<ENG_WORKCALFULLDATA>();
                     decimal dayFCapacity = 0;//褰撴棩鍓╀綑浜ч噺 = 灏忔椂浜ц兘 * 鏃ュ墿浣欏伐浣滄椂闀�
-                    List<ENG_WORKCALFULLDATA> _ENG_WORKCALFULLDATA = ENG_WORKCALFULLDATA.Where(x => x.FALLHOURS > 0 && x.FCalUserId == Convert.ToInt32(order["FSczy_Id"])).ToList();
+                    _ENG_WORKCALFULLDATA = ENG_WORKCALFULLDATA.Where(x => x.FALLHOURS > 0 && x.FCalUserId == Convert.ToInt32(order["FSczy_Id"])).ToList();
                     foreach (var item in _ENG_WORKCALFULLDATA)
                     {
                         if (FSCOrderCount == 0)

--
Gitblit v1.9.1