From 20e583035f94edaba23d88e43c37e02088f07bea Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期二, 16 二月 2021 17:04:13 +0800 Subject: [PATCH] 生产计划平台 选单功能修改 将生产订单数量 自动填充到 日计划中 规则为 明细行的开工日期 即为 日计划日期 2h --- src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs | 114 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 74 insertions(+), 40 deletions(-) diff --git a/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs b/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs index e29c91f..fad5668 100644 --- a/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs +++ b/src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs @@ -1,18 +1,15 @@ -锘縰sing Kingdee.BOS.App.Data; -using Kingdee.BOS.Core.DynamicForm; +锘縰sing Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; -using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; -using Kingdee.BOS.Core.Metadata.EntityElement; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; -using System.Collections.Generic; using System.ComponentModel; using System.Data; -using System.Linq; -using System.Text; using Kingdee.BOS.ServiceHelper; -using System.Threading.Tasks; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Core.Metadata.EntityElement; +using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; +using ZD.Cloud.Logger; namespace Demo.BillView { @@ -21,21 +18,26 @@ public class ProCompleteAnalysisDetail : AbstractDynamicFormPlugIn { bool did = false; + string FHICMOInterID = "";//鏃ヨ鍒掑伐鍗曞唴鐮� + string tempName = "JIT_MOMaterReadysBill";//琛ㄥ悕绉� + public override void OnLoad(EventArgs e) { + LogHelper.Info("[榻愬鍒嗘瀽鏄庣粏鍔犺浇鍒楄〃]"); base.OnLoad(e); - if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID") == null) + if (this.View.OpenParameter.GetCustomParameter("FHICMOInterID") == null) { SearchList(); + ChangeColor(); } else { if (did) return; - string FHMainICMOInterIDr = this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID").ToString();//涓荤敓浜ц鍗曚富鍐呯爜 - string FHMainICMOEntryID = this.View.OpenParameter.GetCustomParameter("FHMainICMOEntryID").ToString();// 涓荤敓浜ц鍗曞瓙鍐呯爜 - string FHICMOInterID = this.View.OpenParameter.GetCustomParameter("FHICMOInterID").ToString();//鏃ヨ鍒掕鍗曚富鍐呯爜 - string sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill where FHMainICMOInterIDr ='{0}' and FHMainICMOEntryID ='{1}' and FHICMOInterID='{2}' ", FHMainICMOInterIDr, FHMainICMOEntryID, FHICMOInterID); + if (this.View.OpenParameter.GetCustomParameter("tempName") != null) + tempName = this.View.OpenParameter.GetCustomParameter("tempName")?.ToString();//琛ㄥ悕 + FHICMOInterID = this.View.OpenParameter.GetCustomParameter("FHICMOInterID").ToString();//鏃ヨ鍒掕鍗曚富鍐呯爜 + string sql = string.Format(@"/*dialect*/select * from view_{0} where FHICMOInterID='{1}' order by FPlanDate, FHStockQty desc ,FHMaterID ", tempName, FHICMOInterID); DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0]; if (dt.Rows.Count > 0) { @@ -45,17 +47,45 @@ this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i); this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//璁″垝鍙戞枡鏁伴噺 - this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//榻愬鏁伴噺 + this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount1"], i);//榻愬鏁伴噺 this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缂烘枡鏁伴噺 this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鍙敤鏁伴噺 - this.Model.SetValue("FMateralCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鐗╂枡鏁伴噺 + this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//鐗╂枡鏁伴噺 + this.Model.SetValue("FOccupyCount", dt.Rows[i]["FOccupyCount"].ToString(), i);//鍗犵敤鏁伴噺 this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//鏄惁榻愬 + this.Model.SetValue("FIsHavePur", dt.Rows[i]["FIsHavePur"].ToString(), i);//鏄惁鏈夐噰璐鍗� this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//鐢熶骇璁㈠崟鍐呯爜 this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//鐢熶骇璁㈠崟鍐呯爜 this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//鏃ヨ鍒掓棩鏈� + this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//搴撳瓨缁勭粐 + this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//璐т富绫诲瀷 + this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//璐т富 + this.Model.SetValue("FErpClsID", dt.Rows[i]["FErpClsID"], i);//鐗╂枡灞炴�� } } + ChangeColor(); did = true; + } + } + + private void ChangeColor() + { + Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity"); + //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎 + DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); + EntryGrid grid = this.View.GetControl<EntryGrid>("FEntity"); + int _i = 0; + foreach (DynamicObject current in entityDataObjoct) + { + if (Convert.ToString(current["FCompleteDetailStatus"]) == "鏈綈濂�") + { + grid.SetRowBackcolor("#71FF98CB", _i); + } + else + { + grid.SetRowBackcolor("#ffffff", _i); + } + _i++; } } public override void BarItemClick(BarItemClickEventArgs e) @@ -64,6 +94,7 @@ if (e.BarItemKey.ToUpper() == "TBFILTER") { SearchList(); + ChangeColor(); } } /// <summary> @@ -77,11 +108,6 @@ base.EntityRowClick(e); DynamicFormShowParameter formPa = new DynamicFormShowParameter(); formPa.FormId = "paez_CompleteAnalysisMateriel"; - /* jsonModel.Add("FHMainICMOInterID", FMainInterID);//涓荤敓浜ц鍗曚富鍐呯爜 - jsonModel.Add("FHMainICMOEntryID", FMainEntryID);//涓荤敓浜ц鍗曞瓙鍐呯爜 - jsonModel.Add("FHICMOInterID", FDayPlanWorkID);//鏃ヨ鍒掕鍗曚富鍐呯爜 - current["FMatrailId_Id"].ToString(), current["FHMainSourceInterID"].ToString(), current["FHMainSourceEntryID"].ToString(), current["FDayPlanWorkID"].ToString()) - */ formPa.CustomParams.Add("FHMainICMOInterIDr", Convert.ToString(this.View.Model.GetValue("FHMainICMOInterIDr", e.Row).ToString())); formPa.CustomParams.Add("FMatrailId", Convert.ToString((this.View.Model.GetValue("FMateralDetailId", e.Row) as DynamicObject)["Id"].ToString())); this.View.ShowForm(formPa); @@ -91,17 +117,8 @@ /// </summary> public void SearchList() { - string sqlwhere = " where 1=1"; - string sql = @" -/*dialect*/ -select * from ( -select FSumPlanCount*FUNITDOSAGE as FPlanIssueCountS,FCompleteCount*FUNITDOSAGE FCompleteCountS,(FSumPlanCount-FCompleteCount)*FUNITDOSAGE FLackCountS,case when FSumPlanCount>FCompleteCount then '鏈綈濂�' else '榻愬' end CompleteStatus, -t2.FBillNo PRDBillNo, -t1.* from JIT_MOMaterReadysBill T1 -JOIN T_PRD_MO t2 on t1.FHMainICMOInterIDr=t2.FID -)AS T -"; - sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill"); + string sqlwhere = $" where FHICMOInterID='{FHICMOInterID}'"; + string sql = string.Format($"/*dialect*/select * from view_{tempName}"); //鐗╂枡 if ((this.Model.GetValue("FMateralId") as DynamicObject) != null) { @@ -113,6 +130,10 @@ string FCompleteStatus = Convert.ToString(this.Model.GetValue("FCompleteStatus")); if (!string.IsNullOrEmpty(FCompleteStatus)) sqlwhere += $" and FComPlete='{FCompleteStatus}'"; + //鏈夋棤閲囪喘璁㈠崟 + string FIsHavePurs = Convert.ToString(this.Model.GetValue("FIsHavePurs")); + if (!string.IsNullOrEmpty(FIsHavePurs)) + sqlwhere += $" and FIsHavePur='{FIsHavePurs}'"; //鏃ヨ鍒掓棩鏈� string FPlanDate = Convert.ToString(this.Model.GetValue("FPlanDate2")); @@ -122,33 +143,46 @@ //鐢熶骇璁㈠崟鍙� string PRDBillNo = Convert.ToString(this.Model.GetValue("FScOrderNo")); if (!string.IsNullOrEmpty(PRDBillNo)) - sqlwhere += $" and PRDBillNo='{PRDBillNo}'"; + sqlwhere += $" and FPRDBillNo='{PRDBillNo}'"; + sql += sqlwhere; + sql += "order by FPlanDate, FHStockQty desc ,FHMaterID"; DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0]; - this.Model.DeleteEntryData("FEntity"); + //this.Model.DeleteEntryData("FEntity"); + while (this.Model.GetEntryRowCount("FEntity") > 0) + { + this.Model.DeleteEntryRow("FEntity", 0); + } + //this.View.Refresh(); + if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { - decimal FPlanIssueCount = Convert.ToDecimal(dt.Rows[i]["FSumPlanCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//璁″垝鍙戞枡鏁伴噺 - decimal FCompleteCount = Convert.ToDecimal(dt.Rows[i]["FCompleteCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//榻愬鏁伴噺 - decimal FLackCount = FPlanIssueCount - FCompleteCount;//缂烘枡鏁伴噺 this.Model.CreateNewEntryRow("FEntity"); this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿 this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i); this.Model.SetValue("FPlanIssueCount", dt.Rows[i]["FSumPlanCount"], i);//璁″垝鍙戞枡鏁伴噺 - this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//榻愬鏁伴噺 + this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount1"], i);//榻愬鏁伴噺 this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缂烘枡鏁伴噺 this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鍙敤鏁伴噺 - this.Model.SetValue("FMateralCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//鐗╂枡鏁伴噺 - this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//鏄惁榻愬 + this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//鐗╂枡鏁伴噺 + this.Model.SetValue("FOccupyCount", dt.Rows[i]["FOccupyCount"].ToString(), i);//鍗犵敤鏁伴噺 + this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//鏄惁榻愬 + this.Model.SetValue("FIsHavePur", dt.Rows[i]["FIsHavePur"].ToString(), i);//鏄惁鏈夐噰璐鍗� this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//鐢熶骇璁㈠崟鍐呯爜 this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//鐢熶骇璁㈠崟鍐呯爜 this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//鏃ヨ鍒掓棩鏈� + this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//搴撳瓨缁勭粐 + this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//璐т富绫诲瀷 + this.Model.SetValue("FErpClsID", dt.Rows[i]["FErpClsID"], i);//鐗╂枡灞炴�� + this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//璐т富 } } - this.View.UpdateView(); + + //this.View.UpdateView(); did = true; } } } + -- Gitblit v1.9.1