using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.DBHelper; using Mesnac.Controls.Base; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Mesnac.Action.ChemicalWeighing.Report.BinReport { /// ///按照物料规格汇总 /// class MaterialSpecificationsAlarmAction : ChemicalWeighingAction, IAction { #region 字段定义 private RuntimeParameter _runtime; private DbMCControl _dg = null; //datagrid控件 private Control _clientGridControl = null; //表控件 private DataTable dataTable = null; #endregion public void Run(RuntimeParameter runtime) { base.RunIni(runtime); this._runtime = runtime; this._dg = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Pmt_Bin").FirstOrDefault(); if (_dg == null) { ICSharpCode.Core.LoggingService.Warn("{物料统计报表} 缺少控件..."); runtime.IsReturn = false; return; } IFreeSql fsql = FreeHelper.Instance; string sql = @"select ID MaterialID,Material_name as MaterialName,ISNULL(e.OutWeight,0.00) as OutWeight,ISNULL(o.EnterWeight,0.00) EnterWeight from xl_material m left join ( select distinct MaterialCode as MaterialId,MaterialName,ISNULL(SUM(Weights),0.00) as OutWeight from Hw_BinAlarm where TypeName='出库' group by MaterialCode,MaterialName ) e on m.ID=e.MaterialId left join ( select distinct MaterialCode as MaterialId,MaterialName,ISNULL(SUM(Weights),0.00) as EnterWeight from Hw_BinAlarm where TypeName='入库' group by MaterialCode,MaterialName ) o on m.ID=o.MaterialId where IsEnable='是'"; DataTable dt1 = fsql.Select().WithSql(sql).ToDataTable("*"); _dg.BaseControl.BindDataSource = null; _dg.BaseControl.BindDataSource = dt1; } } }