using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List; 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 NoPackageMachine { [Description("动态窗口插件:获取产品的裸机编码和库存"), HotUpdate] public class NoPackageMaterialForm: AbstractDynamicFormPlugIn { string ListFidS = null; public override void OnLoad(EventArgs e) { base.OnLoad(e); //接受传输的值 ListFidS = Convert.ToString(this.View.OpenParameter.GetCustomParameter("EntryPrimaryKeys")); string sql = string.Format("/*dialect*/select m0.FNUMBER PMaterialCode,m.FNUMBER MaterialCode,t.FSPECIFICATION FModel,sum(isnull(i.FBASEQTY,0)) AS Qty from T_ENG_BOM a left jOIN T_ORG_ORGANIZATIONS O ON O.FORGID = a.FUSEORGID " + "left join T_ENG_BOMCHILD b on a.FID=b.FID " + "left join T_BD_MATERIAL m0 on m0.FMATERIALID=a.FMATERIALID " + "left join T_BD_MATERIAL m on m.FMATERIALID=b.FMATERIALID " + "left join T_BD_MATERIAL_L t on t.FMATERIALID=m.FMATERIALID " + "left join T_BD_MATERIALBASE s on s.FMATERIALID=m.FMATERIALID " + "left join t_BD_MaterialStock ms on ms.fmaterialid=m.fmaterialid " + "left join T_STK_INVENTORY i on i.FMATERIALID=m.FMASTERID and i.fstockorgid=m0.fuseorgid " + "left JOIN T_BD_Stock invSIC ON invSIC.FSTOCKID = i.FSTOCKID " + "left JOIN T_BD_Stock SIC ON SIC.FSTOCKID = ms.FSTOCKID " + "where a.FDOCUMENTSTATUS='C' and a.FFORBIDSTATUS='A' and O.fnumber='PL' and m0.FMATERIALID='{0}' and (m.fnumber like 'N.%' or m.fnumber like 'M.%') group by m0.FNUMBER,m.FNUMBER,t.FSPECIFICATION", ListFidS); List sonMachines = new List(); //var result = DBServiceHelper.ExecuteScalar>(this.Context, sql, sonMachines); var data = DBServiceHelper.ExecuteDynamicObject(this.Context, sql); int num = 0; foreach (var one in data) { this.View.Model.SetValue("F_MaterialCode", one["MaterialCode"], num); this.View.Model.SetValue("F_FModel", one["FModel"], num); this.View.Model.SetValue("F_Qty", one["Qty"], num); num++; } //foreach(SonMachine sonMachine in result) //{ // //this.View.Model.SetValue("PMaterialCode", sonMachine.PMaterialCode, num); // this.View.Model.SetValue("F_MaterialCode", sonMachine.MaterialCode, num); // this.View.Model.SetValue("F_FModel", sonMachine.FModel, num); // this.View.Model.SetValue("F_Qty", sonMachine.Qty, num); // num++; //} } } }