⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inv_yearsumqry_c.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Inv_YearSumQry_C;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Condition, Db, AdODB, StdCtrls, Mask;

Type
  TFrm_Inv_YearSumQry_C = Class(TFrm_Base_Condition)
    Label1: TLabel;
    CmBx_Warehouse: TComboBox;
    Label2: TLabel;
    MEdt_Month: TMaskEdit;
    Label3: TLabel;
    MEdt_Month1: TMaskEdit;
    procedure btn_okClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure MEdt_Month1Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Inv_YearSumQry_C: TFrm_Inv_YearSumQry_C;

implementation

uses Sys_Global,Inv_Global;

{$R *.DFM}

procedure TFrm_Inv_YearSumQry_C.btn_okClick(Sender: TObject);
var
  PriorMonth:String;
begin
  inherited;
  PriorMonth:=FormatDateTime('yyyy.mm',IncMonth(StrToDateTime(
    MEdt_Month.Text+'.01'),-1));
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Delete #YearSumQry';
  AdoQry_Tmp.ExecSQL;
  
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Insert #YearSumQry'
    +' Select Distinct ItemCode As ItemCode'
    +',0 As InvLMQty'
    +',0 As InvLMAmount'
    +',0 As InvInQty'
    +',0 As InvInAmount'
    +',0 As InvOUTQty'
    +',0 As InvOUTAmount'
    +',0 As InvBLNCQty'
    +',0 As InvBLNCAmount'
    +',0 As InvLMPrice'
    +',0 As InvInPrice'
    +',0 As InvOutPrice'
    +',0 As InvBlncPrice'
    +' From InvMonthSum'
    +' Where InvMonth>='''+MEdt_Month.Text+''''
    +' And InvMonth<='''+MEdt_Month1.Text+''''
    +' And WHCode='''+GetCode(CmBx_Warehouse.Text)+'''';
  AdoQry_Tmp.ExecSQL;

  AdoQry_Tmp.SQL.Text:='Update #YearSumQry'
    +' Set InvLMQty=InvMonthSum.InvLMQty'
    +',InvLMAmount=InvMonthSum.InvLMAmount'
    +',InvLMPrice=InvMonthSum.InvLMPrice'
    +' From InvMonthSum'
    +' Where InvMonthSum.InvMonth='''+PriorMonth+''''
    +' And InvMonthSum.WHCode='''+GetCode(CmBx_Warehouse.Text)+''''
    +' And InvMonthSum.ItemCode=#YearSumQry.ItemCode';
  AdoQry_Tmp.ExecSQL;

  AdoQry_Tmp.SQL.Text:='Update #YearSumQry'
    +' Set InvInQty=InvMonthSum1.AInvInQty'
    +',InvInAmount=InvMonthSum1.AInvInAmount'
    +',InvInPrice=InvMonthSum1.AInvInPrice'
    +',InvOutQty=InvMonthSum1.AInvOutQty'
    +',InvOutAmount=InvMonthSum1.AInvOutAmount'
    +',InvOutPrice=InvMonthSum1.AInvOutPrice'
    +' From ('
    +' Select ItemCode'
    +',Sum(InvInQty) As AInvInQty'
    +',Sum(InvInAmount) As AInvInAmount'
    +',Sum(InvInPrice) As AInvInPrice'
    +',Sum(InvOutQty) As AInvOutQty'
    +',Sum(InvOutAmount) As AInvOutAmount'
    +',Sum(InvOutPrice) As AInvOutPrice'
    +' From InvMonthSum'
    +' Where InvMonth>='''+MEdt_Month.Text+''''
    +' And InvMonth<='''+MEdt_Month1.Text+''''
    +' And WHCode='''+GetCode(CmBx_Warehouse.Text)+''''
    +' Group By ItemCode'
    +' ) InvMonthSum1'
    +' Where InvMonthSum1.ItemCode=#YearSumQry.ItemCode';
  AdoQry_Tmp.ExecSQL;

  AdoQry_Tmp.SQL.Text:='Update #YearSumQry'
    +' Set InvBLNCQty=InvMonthSum.InvBLNCQty'
    +',InvBLNCAmount=InvMonthSum.InvBLNCAmount'
    +',InvBLNCPrice=InvMonthSum.InvBLNCPrice'
    +' From InvMonthSum'
    +' Where InvMonthSum.InvMonth='''+MEdt_Month1.Text+''''
    +' And InvMonthSum.WHCode='''+GetCode(CmBx_Warehouse.Text)+''''
    +' And InvMonthSum.ItemCode=#YearSumQry.ItemCode';
  AdoQry_Tmp.ExecSQL;

  ModalResult:=mrOk;
end;

procedure TFrm_Inv_YearSumQry_C.FormActivate(Sender: TObject);
begin
  inherited;
  if CmBx_Warehouse.Items.Count=0 then
  begin
    MEdt_Month.Text:=FormatDateTime('yyyy.mm',IncMonth(Now,-1));
    MEdt_Month1.Text:=FormatDateTime('yyyy.mm',Now);
    InitUsableWHCmBx(AdoQry_Tmp,UserCode,CmBx_Warehouse,False);
    CmBx_Warehouse.ItemIndex:=0;
  end;
end;

procedure TFrm_Inv_YearSumQry_C.MEdt_Month1Exit(Sender: TObject);
begin
  inherited;
  MonthCheck(Sender);
  if StrToDateTime(MEdt_Month1.Text+'.01')<StrToDateTime(MEdt_Month.Text+'.01')then
  begin
    DispInfo('查询终止月份不能小于起始月份!',3);
    TWinControl(Sender).SetFocus;
    Abort;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -