From a93a49e6415af2187d0f465e453ee613f3eaf178 Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期一, 10 一月 2022 15:32:25 +0800 Subject: [PATCH] 优化 --- src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 250 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 193 insertions(+), 57 deletions(-) diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs index c8a344e..e7ec623 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs @@ -4,6 +4,7 @@ using K3Cloud.Extend.Utils; using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill; +using Kingdee.BOS.Core.CommonFilter; using Kingdee.BOS.Core.Const; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; @@ -60,7 +61,6 @@ } this.View.SendDynamicFormAction(View); } - /// <su public override void DataChanged(DataChangedEventArgs e) { if (!isSearched) return; @@ -157,9 +157,9 @@ } } //閫夊崟 - if (e.BarItemKey.ToUpper() == "TBSELECTMENU") + if (e.BarItemKey.ToUpper().Contains("TBSELECTMENU")) { - SelectMenu(); + SelectMenu(e.BarItemKey.ToString()); } //棰勭暀 if (e.BarItemKey.ToUpper() == "TBRESERVE") @@ -517,18 +517,25 @@ int fDayPlanFID = DBServiceHelper.ExecuteScalar<int>(Context, moSql, 0); if (fDayPlanFID > 0) continue; - - //鏍规嵁鐢熶骇璁㈠崟鍙峰拰鐗╂枡鏌ヨ鏄惁瀛樺湪鏄庣粏 +鐢熶骇璁㈠崟鏄庣粏琛屽彿 + string FOrderType = Convert.ToString(current["FOrderType"]) ?? ""; + string FTempName = "T_PRD_MO"; + string FTempNameEntry = "T_PRD_MOENTRY"; + if (FOrderType == "濮斿璁㈠崟") + { + FTempName = "T_SUB_REQORDER"; + FTempNameEntry = "T_SUB_REQORDERENTRY"; + } + ///鏌ヨ鐢熶骇璁㈠崟鏁版嵁 sql = string.Format(@" /*dialect*/ -SELECT t4.FNAME as FMoFBillType,T1.FBILLNO,T2.*,t3.FNUMBER as FUnitNumber,tBom.FNUMBER as FBomNumber FROM T_PRD_MO T1 - LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID +SELECT t4.FNAME as FMoFBillType,T1.FBILLNO,T2.*,t3.FNUMBER as FUnitNumber,tBom.FNUMBER as FBomNumber FROM {0} T1 + LEFT JOIN {1} T2 ON T1.FID = T2.FID LEFT JOIN T_ENG_BOM tBom on t2.FBOMID = tBom.FID join T_BD_UNIT t3 on t2.FUNITID=t3.FUNITID join ( select A.FBILLTYPEID,B.FNAME from T_BAS_BILLTYPE A JOIN T_BAS_BILLTYPE_L B ON A.FBILLTYPEID =B.FBILLTYPEID -where FBILLFORMID='PRD_MO' AND FNAME<>'鐢熺敘瑷傚柈')t4 on t1.FBILLTYPE =t4.FBILLTYPEID - WHERE T1.FBILLNO = '{0}' AND T2.FMATERIALID = '{1}' AND T2.FSEQ = '{2}'", Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FMatrailId_Id"]), Convert.ToString(current["FSRCBILLENTRYSEQ"])); +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"])); DataTable dt = new DataTable(); dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; if (dt.Rows.Count == 0) @@ -568,6 +575,7 @@ JObject jsonModel = new JObject(); jsonModel.Add("FPreparatDate", Convert.ToString(current["FBzDate"]));//缂栧埗鏃ユ湡锛堟敼涓洪璁″紑宸ユ棩鏈燂級 jsonModel.Add("FMoFBillType", FMoFBillType);// + jsonModel.Add("FOrderType", FOrderType);// jsonModel.Add("FSRCBILLENTRYSEQ", Convert.ToString(current["FSRCBILLENTRYSEQ"]));//鐢熶骇璁㈠崟鏄庣粏琛屽彿 jsonModel.Add("FSCOrderNo", Convert.ToString(current["FSCOrderNo"])); //鐢熶骇璁㈠崟鍙稦SCOrderNo jsonModel.Add("FHSeOrderBillNo", Convert.ToString(current["FSalOrderNo"]));//閿�鍞鍗曞彿 @@ -1076,12 +1084,34 @@ JOIN t_BD_MaterialBase TBase on T2.FMATERIALID = TBase.FMATERIALID JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID --鏉′欢涓轰粖澶╁線鍚庣殑鏃ヨ鍒� + 浠婂ぉ涔嬪墠鏈叧闂殑鏃ヨ鍒� -where +where FOrderType = '鐢熶骇璁㈠崟' and +--(FHEntryCloseDate is null and DATEDIFF(D,GETDATE(),FHMASTERDATE)<0)or +DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 +and a.FDOCUMENTSTATUS not in ('E') +and b.FHQTY>0 + +union all + +select a.FPRDMOMAINID,a.FPRDMOENTYID,a.FID,b.FEntryID,a.FHPRDORGID FStockOrgId,t5.FNUMBER as OrgFnumber,a.FHOrderLev,b.FHQTY,b.FHMASTERDATE,T1.FBillNo,T1.FSUBBILLNO,T1.FSUBREQENTRYSEQ,T1.FSUBREQID,T1.FMaterialID,T1.FQty, +T2.FMATERIALID FMATERIALID2, T4.FNumber,T2.FNeedQty,FNeedQty/FQty dwyl,CEILING((FHQTY-ISNULL(FProductNum,0))*(FNeedQty/FQty)) PlanCount,TBase.FErpClsID +from SC_WORKBILLSORTBILLMAIN a +join SC_WORKBILLSORTBILLSub b on a.FID = b.FID +join T_SUB_PPBOM T1 on a.FPRDMOMAINID = t1.FSUBREQID and a.FPRDMOENTYID = t1.FSUBREQENTRYID +LEFT JOIN(select FID, MAX(FENTRYID) FENTRYID, SUM(FMUSTQTY) FNeedQty, FMATERIALID from T_SUB_PPBOMENTRY +group by FMATERIALID, FID ) T2 on T1.FID = t2.FID + --LEFT JOIN T_STK_Inventory T3 on t2.FMATERIALID = t3.FMATERIALID +JOIN T_BD_MATERIAL T4 on T2.FMATERIALID = T4.FMATERIALID +JOIN t_BD_MaterialBase TBase on T2.FMATERIALID = TBase.FMATERIALID +JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID +--鏉′欢涓轰粖澶╁線鍚庣殑鏃ヨ鍒� + 浠婂ぉ涔嬪墠鏈叧闂殑鏃ヨ鍒� +where FOrderType = '濮斿璁㈠崟' and --(FHEntryCloseDate is null and DATEDIFF(D,GETDATE(),FHMASTERDATE)<0)or DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and a.FDOCUMENTSTATUS not in ('E') and b.FHQTY>0 -ORDER BY b.FHMASTERDATE,a.FHOrderLev + +ORDER BY b.FHMASTERDATE,a.FHOrderLev + "; ds = DBServiceHelper.ExecuteDataSet(Context, sql); List<PRD_PPBOM> BomList = ds.ToModelList<PRD_PPBOM>(); @@ -1823,6 +1853,7 @@ this.Model.CreateNewEntryRow("FEntity"); this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷 + this.Model.SetValue("FOrderType", Convert.ToString(dt.Rows[i]["FOrderType"]), i);//璁㈠崟绫诲瀷 this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲� this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);// @@ -1952,6 +1983,7 @@ this.Model.CreateNewEntryRow("FEntity"); this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷 + this.Model.SetValue("FOrderType", Convert.ToString(dt.Rows[i]["FOrderType"]), i);//璁㈠崟绫诲瀷 this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲� this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);// @@ -2131,7 +2163,7 @@ SELECT * FROM SC_TLPLANZXJH", filter["FDayPlanWorkID"])); } FDayPlanWorkID = FDayPlanWorkID.TrimEnd(','); - sqlWhere += $"AND t2.FID IN ({FDayPlanWorkID})"; + sqlWhere += $"AND FID IN ({FDayPlanWorkID})"; } DBServiceHelper.ExecuteBatch(Context, zxSqlList); //Stopwatch sw = new Stopwatch(); @@ -2142,8 +2174,9 @@ try { string sql = string.Format(@"/*dialect*/ +SELECT * FROM ( select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,t3.FMOEntrySeq as FMoSeq,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 +t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,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 @@ -2164,9 +2197,36 @@ LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID left join T_BD_DEPARTMENT td on t3.FWORKSHOPID=td.FDEPTID - WHERE -t1.FHMASTERDATE between DATEADD(day,-1,getdate()) and DATEADD(day,{0} - 1,getdate()) -and t1.FEntryID not in + WHERE t2.FORDERTYPE = '鐢熶骇璁㈠崟' + +union all + +select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,t3.FSUBREQENTRYSEQ as FMoSeq,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.FSUBREQENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,Tc.FOWNERTYPEID,tc.FOWNERID,t3.FPARENTOWNERID FEntrustPickOrgId,t3.FSUBREQID,0 as FIssueType,FMaterialType,''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_SUB_PPBOM T3 on T2.FPRDMOMAINID=t3.FSUBREQID AND T2.FPRDMOENTYID=T3.FSUBREQENTRYID +JOIN T_SUB_PPBOMENTRY T4 ON T3.FID=T4.FID +LEFT JOIN +( + select FREPLACEGROUP,COUNT(*) FrowCount,FID from T_SUB_PPBOMENTRY + GROUP BY FREPLACEGROUP,FID + having count(*) >1 +) ttt on t4.FID = ttt.FID and t4.FREPLACEGROUP =ttt.FREPLACEGROUP +JOIN T_SUB_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 +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 t2.FORDERTYPE = '濮斿璁㈠崟' +) TF +WHERE +FHMASTERDATE between DATEADD(day,-1,getdate()) and DATEADD(day,{0} - 1,getdate()) +and FEntryID not in ( select distinct FDAYPLANFID from Sc_DayPlanPPBomBillMain where FID IN ( @@ -2990,7 +3050,7 @@ } //鐢熶骇璁″垝骞冲彴閫夊崟 鐢熶骇璁㈠崟鏁版嵁 - public void SelectMenu() + public void SelectMenu(string FBarItemKey) { try { @@ -2999,59 +3059,135 @@ //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎 DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); int Fseq = entityDataObjoct.Count(); - string pageId = Guid.NewGuid().ToString(); ListShowParameter showParameter = new ListShowParameter(); - showParameter.FormId = "PRD_MO"; + IRegularFilterParameter filterParameter = new ListRegularFilterParameter(); + filterParameter.Filter = string.Format(" FPickMtrlStatus in (1,2) ");//閮ㄥ垎棰嗘枡 鎴栬�� 鏈鏂� + filterParameter.SelectEntitys = new List<string>() { "FTreeEntity" }; + string pageId = Guid.NewGuid().ToString(); showParameter.PageId = pageId; + showParameter.ListFilterParameter = filterParameter; showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID; showParameter.IsLookUp = true; - this.View.ShowForm(showParameter, delegate (FormResult result) + if (FBarItemKey == "tbSelectMenuSC") { - object returnData = result.ReturnData; - if (returnData is ListSelectedRowCollection) + showParameter.FormId = "PRD_MO"; + this.View.ShowForm(showParameter, delegate (FormResult result) { - ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection; - //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟 琛屾暟" + listSelectedRowCollection.Count().ToString()); - if (listSelectedRowCollection != null) + object returnData = result.ReturnData; + if (returnData is ListSelectedRowCollection) { - var ret = ""; - foreach (var listSelectedRow in listSelectedRowCollection) + ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection; + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟 琛屾暟" + listSelectedRowCollection.Count().ToString()); + if (listSelectedRowCollection != null) { - if (entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == listSelectedRow.DataRow["t1_FSeq"].ToString() && x["FSCOrderNo"].ToString() == listSelectedRow.DataRow["FBillNo"].ToString()).Count() > 0) + var ret = ""; + foreach (var listSelectedRow in listSelectedRowCollection) { - //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��"); - ret += "鐢熶骇璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��" + "\n"; - continue; + if (entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == listSelectedRow.DataRow["t1_FSeq"].ToString() && x["FSCOrderNo"].ToString() == listSelectedRow.DataRow["FBillNo"].ToString()).Count() > 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��"); + ret += "鐢熶骇璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��" + "\n"; + continue; + } + string sql = $"select FID from Sc_WorkBillSortBillMain where FDOCUMENTSTATUS NOT IN ('E') and FPRDMOENTYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}"; + int day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); + if (day > 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:鏃ユ湡澶潬鍚庯紝" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿, " + listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= " + day.ToString()); + ret += "鐢熶骇璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿:" + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸插瓨鍦ㄦ棩璁″垝\n"; + continue; + } + //浠婂ぉ浠ュ墠鐨勬暟鎹槸鏄剧ず涓嶅嚭鏉ョ殑 + sql = $"select DATEDIFF(d,getdate(),FPlanStartDate)days from T_PRD_MOENTRY where FENTRYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}"; + day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); + if (day < 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:鏃ユ湡澶潬鍚庯紝" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿, " + listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= " + day.ToString()); + ret += "璁″垝寮�宸ユ棩鏈熷湪浠婂ぉ涔嬪墠,鐢熶骇璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿:" + listSelectedRow.DataRow["t1_FSeq"].ToString() + "\n"; + continue; + } + this.Model.CreateNewEntryRow("FEntity"); + this.View.Model.SetValue("FOrderType", "鐢熶骇璁㈠崟", Fseq); + this.View.Model.SetItemValueByNumber("FORGID", "100", Fseq); + this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq); + this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq); + this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);//2129900005 + this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq); + this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq); + this.View.Model.SetValue("FProductWorkShopId", listSelectedRow.DataRow["FWorkShopID_Id"].ToString(), Fseq); + this.View.Model.SetValue("FOrderLevel", "3", Fseq); + this.View.Model.SetValue("FBzDate", DateTime.Now.AddDays(day).ToShortDateString(), Fseq);//棰勮寮�宸ユ棩鏈� + this.View.Model.SetValue("FT" + day.ToString(), listSelectedRow.DataRow["FQty"].ToString(), Fseq); + Fseq++; } - //浠婂ぉ浠ュ墠鐨勬暟鎹槸鏄剧ず涓嶅嚭鏉ョ殑 - string sql = $"select DATEDIFF(d,getdate(),FPlanStartDate)days from T_PRD_MOENTRY where FENTRYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}"; - int day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); - if (day < 0) + if (ret != "") { - //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:鏃ユ湡澶潬鍚庯紝" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿, " + listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= " + day.ToString()); - ret += "璁″垝寮�宸ユ棩鏈熷湪浠婂ぉ涔嬪墠,鐢熶骇璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + "\n"; - continue; + this.View.ShowMessage(ret); } - this.Model.CreateNewEntryRow("FEntity"); - this.View.Model.SetItemValueByNumber("FORGID", "100", Fseq); - this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq); - this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq); - this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);//2129900005 - this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq); - this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq); - this.View.Model.SetValue("FProductWorkShopId", listSelectedRow.DataRow["FWorkShopID_Id"].ToString(), Fseq); - this.View.Model.SetValue("FOrderLevel", "3", Fseq); - this.View.Model.SetValue("FBzDate", DateTime.Now.AddDays(day).ToShortDateString(), Fseq);//棰勮寮�宸ユ棩鏈� - this.View.Model.SetValue("FT" + day.ToString(), listSelectedRow.DataRow["FQty"].ToString(), Fseq); - Fseq++; - } - if (ret != "") - { - this.View.ShowMessage(ret); } } - } - }); + }); + } + else if (FBarItemKey == "tbSelectMenuWW") + { + showParameter.FormId = "SUB_SUBREQORDER"; + this.View.ShowForm(showParameter, delegate (FormResult result) + { + object returnData = result.ReturnData; + if (returnData is ListSelectedRowCollection) + { + ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection; + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟 琛屾暟" + listSelectedRowCollection.Count().ToString()); + if (listSelectedRowCollection != null) + { + var ret = ""; + foreach (var listSelectedRow in listSelectedRowCollection) + { + if (entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == listSelectedRow.DataRow["t1_FSeq"].ToString() && x["FSCOrderNo"].ToString() == listSelectedRow.DataRow["FBillNo"].ToString()).Count() > 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��"); + ret += "濮斿璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿," + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸查��" + "\n"; + continue; + } + string sql = $"select FID from Sc_WorkBillSortBillMain where FDOCUMENTSTATUS NOT IN ('E') and FPRDMOENTYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}"; + int day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); + if (day > 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:鏃ユ湡澶潬鍚庯紝" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿, " + listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= " + day.ToString()); + ret += "濮斿璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿锛�" + listSelectedRow.DataRow["t1_FSeq"].ToString() + ",宸插瓨鍦ㄦ棩璁″垝\n"; + continue; + } + //浠婂ぉ浠ュ墠鐨勬暟鎹槸鏄剧ず涓嶅嚭鏉ョ殑 + sql = $"select DATEDIFF(d,getdate(),FPlanStartDate)days from T_SUB_REQORDERENTRY where FENTRYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}"; + day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0); + if (day < 0) + { + //LogHelper.Info("鐢熶骇璁″垝骞冲彴閫夊崟:鏃ユ湡澶潬鍚庯紝" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿, " + listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= " + day.ToString()); + ret += "璁″垝寮�宸ユ棩鏈熷湪浠婂ぉ涔嬪墠,濮斿璁㈠崟鍙凤細" + listSelectedRow.DataRow["FBillNo"].ToString() + ", 琛屽彿锛�" + listSelectedRow.DataRow["t1_FSeq"].ToString() + "\n"; + continue; + } + this.Model.CreateNewEntryRow("FEntity"); + this.View.Model.SetItemValueByNumber("FORGID", "100", Fseq); + this.View.Model.SetValue("FOrderType", "濮斿璁㈠崟", Fseq); + this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq); + this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq); + this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);//2129900005 + this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq); + this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq); + this.View.Model.SetValue("FProductWorkShopId", 0, Fseq); + this.View.Model.SetValue("FOrderLevel", "3", Fseq); + this.View.Model.SetValue("FBzDate", DateTime.Now.AddDays(day).ToShortDateString(), Fseq);//棰勮寮�宸ユ棩鏈� + this.View.Model.SetValue("FT" + day.ToString(), listSelectedRow.DataRow["FQty"].ToString(), Fseq); + Fseq++; + } + if (ret != "") + { + this.View.ShowMessage(ret); + } + } + } + }); + } } catch (Exception ex) { @@ -3063,7 +3199,7 @@ public void ReleaseForLMes() { string sql = $"exec Realese_Sc_ICMOBillStatus_Tmp"; - string result =DBServiceHelper.ExecuteScalar<string>(Context,sql,""); + string result = DBServiceHelper.ExecuteScalar<string>(Context, sql, ""); this.View.ShowMessage(result); } } -- Gitblit v1.9.1