From bc4fb58104ec4cc7991c553f85c8b4762403e379 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 02 三月 2021 17:29:39 +0800
Subject: [PATCH] 日计划用料清单增加是否替代料

---
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |  139 ++++------------------------------------------
 1 files changed, 13 insertions(+), 126 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index 9e6587e..c0e6ba3 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -1714,127 +1714,6 @@
         /// <summary>
         /// 鏃ヨ鍒掔敤鏂欐竻鍗曠敓鎴�
         /// </summary>
-        public void DayPlanPPBomBill()
-        {
-            Stopwatch sw = new Stopwatch();
-            sw.Start();//寮�濮嬭鏃�
-            LogHelper.Info("鎵归噺锛岀敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟鍑嗗鏁版嵁");
-            //閿佸畾鐨勬棩璁″垝涓嶇敓鎴�
-            try
-            {
-                string sql = string.Format(@"
-/*dialect*/
-select t1.FID,t1.FEntryID,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(FNumerator/FDenominator) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID
-FROM Sc_WorkBillSortBillSub t1
-JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID
-JOIN T_PRD_PPBOM T3 on T2.FPRDMOMAINID=t3.FMOID AND T2.FPRDMOENTYID=T3.FMOENTRYID
-JOIN T_PRD_PPBOMENTRY T4 ON T3.FID=T4.FID
-JOIN T_BD_MATERIAL T5 ON T3.FMATERIALID=T5.FMATERIALID
-JOIN T_BD_MATERIAL T6 ON T4.FMATERIALID=T6.FMATERIALID
-LEFT JOIN T_BD_UNIT T7 ON T3.FUNITID = T7.FUNITID
-LEFT JOIN T_BD_UNIT T8 ON T4.FUNITID = T8.FUNITID
- LEFT JOIN Sc_DayPlanPPBomBillMain T9 ON T1.FEntryID=T9.FDayPlanFID
- LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID
- LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID
- WHERE t1.FHQTY>0
-"
-);
-                LogHelper.Info("鎵归噺锛岀敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟鍑嗗鏁版嵁sql:" + sql);
-                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
-                DataTable dt = ds.Tables[0];
-                List<DayPlanMaterial> DayPlanMaterial = new List<DayPlanMaterial>();
-                if (dt.Rows.Count > 0)
-                {
-                    foreach (DataRow dr in dt.Rows)
-                    {
-                        DayPlanMaterial.Add(new Demo.Model.Model.DayPlanMaterial
-                        {
-                            FID = dr["DayPlanFID"].ToString(),
-                            FEntryID = dr["FEntryID"].ToString(),
-                            FHDate = DateTime.Now.ToString(),
-                            FOrgId = dr["FORGNUMBER"].ToString(),
-                            FHMaterID = dr["FNUMBER"].ToString(),
-                            FHWorkDate = dr["FHMASTERDATE"].ToString(),
-                            FHQty = dr["FHQTY"].ToString(),
-                            FHUnitID = dr["FUNITNUMBER"].ToString(),
-                            FDayPlanFID = dr["FEntryID"].ToString(),
-                            FHMaterSubID = dr["FNUMBER2"].ToString(),
-                            FHUnitSubID = dr["FUNITNUMBER2"].ToString(),
-                            FHQtyMust = dr["FHQtyMust"].ToString(),
-                            FHQtySub = dr["FHQtyMust"].ToString(),
-                            FHPPBomInterID = dr["FPPBOM"].ToString(),
-                            FHPPBomEntryID = dr["FENTRYID"].ToString(),
-                            FHSourceID = dr["FHSOURCENUMBER"].ToString(),
-                            FNumerator = dr["FNumerator"].ToString(),
-                            FDenominator = dr["FDenominator"].ToString(),
-                            FFIXSCRAPQTY = dr["FFIXSCRAPQTY"].ToString(),
-                            FHQtyScrap = dr["FSCRAPRATE"].ToString(),
-                        });
-                    }
-                    LogHelper.Info($"鎵归噺锛屾棩璁″垝鐢ㄦ枡娓呭崟锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
-                    var fidList = DayPlanMaterial.Select(x => x.FEntryID).Distinct().ToList();
-                    foreach (var item in fidList)
-                    {
-                        var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList();
-                        JObject model = new JObject();
-                        model.Add("FHDate", DateTime.Now);
-                        model.Add("FOrgId", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FOrgId });//鍙戞枡缁勭粐
-                        model.Add("FHMaterID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHMaterID });//鐗╂枡
-                        model.Add("FHWorkDate", _DayPlanMaterial[0].FHWorkDate);//鏃ュ伐鍗曟棩鏈� FHWorkDate
-                        model.Add("FHQty", _DayPlanMaterial[0].FHQty);//涓讳骇鍝佹暟閲忥細FHQty 
-                        model.Add("FHUnitID", new JObject() { ["Fnumber"] = _DayPlanMaterial[0].FHUnitID });//鍗曚綅锛欶HUnitID 
-                        model.Add("FDayPlanFID", _DayPlanMaterial[0].FDayPlanFID);//鏃ヨ鍒掑伐鍗曞唴鐮� 
-                        JArray Entry = new JArray();
-                        foreach (var _item in _DayPlanMaterial)
-                        {
-                            JObject ModelEnty = new JObject();
-                            ModelEnty.Add("FHMaterSubID", new JObject() { ["Fnumber"] = _item.FHMaterSubID });//瀛愮墿鏂橣HMaterSubID
-                            ModelEnty.Add("FHUnitSubID", new JObject() { ["Fnumber"] = _item.FHUnitSubID });//鍗曚綅FHUnitSubID
-                            ModelEnty.Add("FHQtyMust", _item.FHQtyMust);//搴斿彂鏁伴噺FHQtyMust
-                            ModelEnty.Add("FHQtySub", _item.FHQtySub);//鏁伴噺FHQtySub
-                            ModelEnty.Add("FHPPBomInterID", _item.FHPPBomInterID);//鐢ㄦ枡娓呭崟涓诲唴鐮丗HPPBomInterID
-                            ModelEnty.Add("FHPPBomEntryID", _item.FHPPBomEntryID);//鐢ㄦ枡娓呭崟瀛愬唴鐮丗HPPBomEntryID
-                            ModelEnty.Add("FHSourceID", new JObject() { ["Fnumber"] = _item.FHSourceID });//鐢熶骇璧勬簮FHSourceID
-                            ModelEnty.Add("FNumerator", _item.FNumerator);//鍒嗘瘝
-                            ModelEnty.Add("FDenominator", _item.FDenominator);//鍒嗗瓙
-                            ModelEnty.Add("FDwyl", Convert.ToDecimal(_item.FNumerator) / Convert.ToDecimal(_item.FDenominator));//鍗曚綅鐢ㄦ枡
-                            ModelEnty.Add("FFIXSCRAPQTY", _item.FFIXSCRAPQTY);//鍥哄畾鎹熻��
-                            ModelEnty.Add("FHQtyScrap", _item.FHQtyScrap);//鍙樺姩鎹熻�楃巼%
-                            Entry.Add(ModelEnty);
-                        }
-                        model.Add("FEntity", Entry);
-                        //if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID))
-                        //    model.Add("FID", _DayPlanMaterial[0].FID);
-                        JObject jsonRoot = new JObject()
-                        {
-                            ["Creator"] = "",
-                            ["NeedUpDateFields"] = new JArray(),
-                            ["NeedReturnFields"] = new JArray(),
-                            ["IsDeleteEntry"] = "true",
-                            ["SubSystemId"] = "",
-                            ["IsVerifyBaseDataField"] = "false",
-                            ["Model"] = model
-                        };
-
-                        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
-                        var result = cloudClient.Save("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString());
-                        JObject saveObj = JObject.Parse(result);
-                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
-                        if (saveIsSuc != "TRUE")
-                        {
-                            LogHelper.Error(jsonRoot.ToString());
-
-                        }
-                    }
-                }
-                sw.Stop();//缁撴潫璁℃椂
-                LogHelper.Info("鎵归噺锛岀敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟杩愯鎬绘椂闀匡細" + sw.Elapsed);
-            }
-            catch (Exception ex)
-            {
-                LogHelper.Error("鎵归噺锛岀敓鎴愭棩璁″垝鐢ㄦ枡娓呭崟+" + ex.Message.ToString());
-            }
-        }
         public void DayPlanPPBomBillBatch()
         {
             Stopwatch sw = new Stopwatch();
@@ -1845,12 +1724,18 @@
             {
                 string sql = string.Format(@"
 /*dialect*/
- select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
-t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType,td.FNUMBER as FWORKSHOPID,t4.FReplaceGroup,t4.FUseRate
+select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
+t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType,td.FNUMBER as FWORKSHOPID,t4.FReplaceGroup,isnull(ttt.FrowCount,0)FIsTDL,t4.FUseRate
 FROM Sc_WorkBillSortBillSub t1
 JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID
 JOIN T_PRD_PPBOM T3 on T2.FPRDMOMAINID=t3.FMOID AND T2.FPRDMOENTYID=T3.FMOENTRYID
 JOIN T_PRD_PPBOMENTRY T4 ON T3.FID=T4.FID
+left join
+(
+	select FREPLACEGROUP,COUNT(*) FrowCount,FID  from T_PRD_PPBOMENTRY
+	GROUP BY FREPLACEGROUP,FID
+	having count(*) >1
+) ttt on t4.FID = ttt.FID and  t4.FREPLACEGROUP =ttt.FREPLACEGROUP 
 JOIN T_PRD_PPBOMENTRY_C Tc ON T4.FENTRYID=Tc.FENTRYID
 join T_ORG_Organizations torg ON tc.FOWNERID = torg.FORGID 
 JOIN T_BD_MATERIAL T5 ON T3.FMATERIALID=T5.FMATERIALID
@@ -1916,7 +1801,8 @@
                             FDayPlanFBILLNO = dr["FDayPlanFBILLNO"].ToString(),
                             FWORKSHOPID = dr["FWORKSHOPID"].ToString(),
                             FReplaceGroup = dr["FReplaceGroup"].ToString(),
-                            FUseRate = dr["FUseRate"].ToString()
+                            FUseRate = dr["FUseRate"].ToString(),
+                            FIsTDL = dr["FIsTDL"].ToString()
                         });
                     }
                     LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
@@ -1925,7 +1811,7 @@
                     JArray Fentity = new JArray();
                     foreach (var item in fidList)
                     {
-                        var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).ToList();
+                        var _DayPlanMaterial = DayPlanMaterial.Where(x => x.FEntryID == item).OrderBy(x => Convert.ToInt32(x.FReplaceGroup)).ToList();
                         JObject model = new JObject();
 
                         if (!string.IsNullOrEmpty(_DayPlanMaterial[0].FID))
@@ -1968,7 +1854,8 @@
                             ModelEnty.Add("FMaterialType", _item.FMaterialType);//  
                             ModelEnty.Add("FWORKSHOPID", new JObject() { ["Fnumber"] = _item.FWORKSHOPID });// 
                             ModelEnty.Add("FReplaceGroup", _item.FReplaceGroup);// 
-                            ModelEnty.Add("FUseRate",_item.FUseRate);// 
+                            ModelEnty.Add("FUseRate", _item.FUseRate);// 
+                            ModelEnty.Add("FIsTDL", Convert.ToInt32(_item.FIsTDL) > 0 ? 1 : 0);// 
                             Entry.Add(ModelEnty);
                             FSEQ++;
                         }

--
Gitblit v1.9.1