using Kingdee.BOS.App.Data; using 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; namespace Demo.BillView { [Description("齐套分析列表功能")] [HotUpdate] public class ProCompleteAnalysisDetail : AbstractDynamicFormPlugIn { bool did = false; public override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.View.OpenParameter.GetCustomParameter("FHMainICMOInterID") == null) { SearchList(); } 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}' order by FPlanDate, FHStockQty desc ,FHMaterID ", FHMainICMOInterIDr, FHMainICMOEntryID, FHICMOInterID); DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { 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("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量 this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量 this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量 this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].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);//货主 } } did = true; } } public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); if (e.BarItemKey.ToUpper() == "TBFILTER") { SearchList(); } } /// /// 行双击 跳出齐套分析明细列表 /// /// public override void EntityRowDoubleClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EntityRowClickEventArgs e) { var m = e.Row; var n = e.Key; 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); } /// /// 查询事件 /// public void SearchList() { string sqlwhere = " where 1=1"; string sql = string.Format(@"/*dialect*/select * from JIT_MOMaterReadysBill "); //物料 if ((this.Model.GetValue("FMateralId") as DynamicObject) != null) { string FMateralId = (this.Model.GetValue("FMateralId") as DynamicObject)["Id"].ToString(); if (!string.IsNullOrEmpty(FMateralId)) sqlwhere += $" and FHMATERID='{FMateralId}'"; } //齐套 string FCompleteStatus = Convert.ToString(this.Model.GetValue("FCompleteStatus")); if (!string.IsNullOrEmpty(FCompleteStatus)) sqlwhere += $" and FComPlete='{FCompleteStatus}'"; //日计划日期 string FPlanDate = Convert.ToString(this.Model.GetValue("FPlanDate2")); if (!string.IsNullOrEmpty(FPlanDate)) sqlwhere += $" and FPlanDate='{FPlanDate}'"; //生产订单号 string PRDBillNo = Convert.ToString(this.Model.GetValue("FScOrderNo")); if (!string.IsNullOrEmpty(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"); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { 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("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量 this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量 this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量 this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].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.View.UpdateView(); did = true; } } }