cghzbcx.pas

来自「一个仓库管理中的子系统--采购子系统」· PAS 代码 · 共 1,289 行 · 第 1/4 页

PAS
1,289
字号
    end;
    end;
    asysdata.Data:=qrspagenumber;
    asysdata.left:=blabel.Left+blabel.Width+10;


    datamodule1.publicQuery2.First;
    while not datamodule1.publicquery2.EOF do
    begin
      selectstr:=selectstr+datamodule1.publicquery2.FieldbyName('FieldsName').AsString;
      aLabel := TQRLabel.Create(cghzReportform);
      aLabel.Parent := HeaderBand1;
      with aLabel do
      begin
        AutoSize:=false;
        AutoStretch:=true;
        Left :=LeftValue;
        Top :=3;

        if reportwidth<1122 then
        begin
        eachwidth:=(1122-reportwidth)/datamodule1.publicQuery2.RecordCount;
        Width:=datamodule1.publicQuery2.FieldBYname('display_width').asinteger+trunc(eachwidth);
        end
        else
        Width:=datamodule1.publicQuery2.FieldBYname('display_width').asinteger;

        color:=clwhite;
        Height:=35;
        Alignment:=taleftJustify;
        if length(datamodule1.publicquery2.FieldbyName('DisplayName').AsString)<8 then
        Caption :=datamodule1.publicquery2.FieldbyName('DisplayName').AsString
        else
        caption:=copy(datamodule1.publicquery2.FieldbyName('DisplayName').AsString,1,8)+#13+copy(datamodule1.publicquery2.FieldbyName('DisplayName').AsString,9,length(datamodule1.publicquery2.FieldbyName('DisplayName').AsString));
      end;
      aText := TQRDBText.Create(cghzReportform);
      aText.Parent := DetailBand1;
      with aText do
      begin
         AutoSize:=False;
         AutoStretch:=True;
         Height:=35;
         Left :=LeftValue;
         Top :=3;

         if reportwidth<1122 then
        begin
        eachwidth:=(1122-reportwidth)/datamodule1.publicQuery2.RecordCount;
        Width:=datamodule1.publicQuery2.FieldBYname('display_width').asinteger+trunc(eachwidth);
        end
        else
         Width:=datamodule1.publicQuery2.FieldBYname('display_width').asinteger;

         //Height:=DetailBand1.Height;
         DataSet:=datamodule1.publicquery3;
         DataField:=datamodule1.publicquery2.FieldbyName(
         'FieldsName').AsString;
         Alignment:=taleftJustify;
      end;
      {if reportwidth<1122 then
        begin
        eachwidth:=(1122-reportwidth)/datamodule1.publicQuery2.RecordCount;
        LeftValue:=LeftValue+datamodule1.publicQuery2.FieldBYname('display_width').asinteger+trunc(eachwidth);
        end
        else }
      LeftValue:=LeftValue+datamodule1.publicQuery2.FieldBYname('display_width').asinteger;
      selectstr:=selectstr+',';
      datamodule1.publicquery2.Next;
   end;
      delete(selectstr,length(selectstr),1);
   end;
   if datamodule1.publicquery2.RecordCount<>0 then
   with datamodule1.publicquery3 do
   begin
      sql.Clear;
      sql.Add(selectstr);
      sql.Add('from dbo.a_cghzglb');
      if condition<>'' then
      sql.Add('where '+condition);
      sql.add('order by sqbid desc,jhy asc');
      prepare;
      open;
   end;
   Result:=True;
end;

procedure TcghzbForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 datamodule1.hzglQuery.close;
 datamodule1.Query3.Close;
end;

procedure TcghzbForm.N2Click(Sender: TObject);
begin
    cghzrycxForm:=TCghzrycxForm.Create(Application);
    hide;
    cghzrycxForm.ShowModal;
    cghzrycxForm.free;
    show;
end;

procedure TcghzbForm.N4Click(Sender: TObject);
begin
     zdxsForm:=TzdxsForm.Create(Application);
     hide;
     zdxsForm.ShowModal;
     zdxsForm.Free;
     show;
end;

procedure TcghzbForm.N12Click(Sender: TObject);
var wherevalue:string;
    I:integer;
begin
   setupForm1:=TsetupForm1.Create(application);
    hide;
    with setupform1 do
    begin
    if ShowModal=mrok then
    begin
    wherevalue:=edit1.text;
    with Datamodule1 do
    begin
    hzglbSelect:='select  SQBID as 申请表单号,RWMC as 任务名称,YXNX as 有效年限,LSH as 流水号,JHY as 计划员,CPBH as 产品编号,CPMC as 产品名称,xHGG as 型号规格,SLDW as 计量单位,SBRQ as 申请日期,SBSL as 申报数量,KCSL as 库存数量,';
    hzglbSelect:=hzglbSelect+'SXSL as 需采购数量,GJJE as 估计金额,sccj as 申请指定厂家,SJCGSCCJ as 实际采购厂家,YBJSL as 已报检数量,CGSLHS as 采购数量核实,BJHGSJ as 报检合格时间,YSBX1 as 用于何任务,SJYQ as 时间要求,YCDHSJ as 预测到货时间,BJSJ as 报检时间,';
    hzglbSelect:=hzglbSelect+'BJHGSL as 报检合格数量,BJBHGSL as 报检不合格数量,XQDW as 申报部门,BZR as 申请表编制人,BZRQ as 编制日期,SHR as 申请表审核人,SHRQ as 审核时间,PZR as 申请表批准人,PZRQ as 批准时间,CGFS as 采购方式,HG_FLAG as 合格分承制方,'+'QT as 到货说明,BZ as 备注';
    condition:='sqbid like'+''''+edit1.text+'%'+'''';
    with hzglquery do
    begin
    close;
    sql.Clear;
    sql.Add(hzglbselect);
    sql.Add('from dbo.a_cghzglb');
    sql.Add('where sqbid like '+''''+edit1.text+'%'+'''');
    sql.Text:=sql.Text+'order by 申请表单号 desc,计划员 asc';
    select_condition:=sql.Text; //记忆上一次查询的sql语句,准备回主查询窗口时刷新
    open;
    for I:=0 to datamodule1.hzglquery.Fields.Count-1 do
     if  visible_flag_array[I]=1 then
        datamodule1.hzglquery.Fields[I].Visible:=false;
    end;
    end;
    setupForm1.free;
    end;
    end;
    ybjsl_count;
    bjhgsl_count;
    bjbhgsl_count;
    cgslhs_count;
    Record_Count;
    TotalProduct_Count;
    TotalMoney_Count;
    TotalTable_Count('where sqbid like '+''''+wherevalue+'%'+'''');
    show;
end;

procedure TcghzbForm.N8Click(Sender: TObject);
var I:integer;
begin
    setupForm1:=TsetupForm1.Create(application);
    with setupform1 do
    begin
    label1.Caption:='请输入你需要查询的任务名:';
    label2.Caption:='任务名称:';
    label3.Visible:=True;
    label4.visible:=True;
    edit2.visible:=True;
    edit3.visible:=True;
    checkbox1.Visible:=True;
    if ShowModal=mrok then
    begin
    with Datamodule1 do
    begin
    hzglbSelect:='select  SQBID as 申请表单号,RWMC as 任务名称,YXNX as 有效年限,LSH as 流水号,JHY as 计划员,CPBH as 产品编号,CPMC as 产品名称,xHGG as 型号规格,SLDW as 计量单位,SBRQ as 申请日期,SBSL as 申报数量,KCSL as 库存数量,';
    hzglbSelect:=hzglbSelect+'SXSL as 需采购数量,GJJE as 估计金额,sccj as 申请指定厂家,SJCGSCCJ as 实际采购厂家,YBJSL as 已报检数量,CGSLHS as 采购数量核实,BJHGSJ as 报检合格时间,YSBX1 as 用于何任务,SJYQ as 时间要求,YCDHSJ as 预测到货时间,BJSJ as 报检时间,';
    hzglbSelect:=hzglbSelect+'BJHGSL as 报检合格数量,BJBHGSL as 报检不合格数量,XQDW as 申报部门,BZR as 申请表编制人,BZRQ as 编制日期,SHR as 申请表审核人,SHRQ as 审核时间,PZR as 申请表批准人,PZRQ as 批准时间,CGFS as 采购方式,HG_FLAG as 合格分承制方,'+'QT as 到货说明,BZ as 备注';
    with hzglquery do
    begin
    close;
    sql.Clear;
    sql.Add(hzglbselect);
    sql.Add('from dbo.a_cghzglb');
    if not checkbox1.Checked then
    begin
     condition:='rwmc like '+''''+edit1.text+'%'+'''';
     sql.Add('where rwmc like '+''''+edit1.text+'%'+'''');
    end
    else
     begin
      if (edit2.text='') or (edit3.Text='') then
       begin
        showmessage('请您输入需要查询的表单的有效年限和流水号!');
        exit;
       end;
      condition:='rwmc like '+''''+edit1.text+'%'+''''+' and yxnx like '+''''+edit3.text+'%'+''''+' and lsh like '+''''+edit2.Text+'%'+'''';
      sql.Add('where rwmc like '+''''+edit1.text+'%'+''''+' and yxnx like '+''''+edit3.text+'%'+''''+' and lsh like '+''''+edit2.Text+'%'+'''');
     end;
    sql.Text:=sql.Text+'order by 申请表单号 desc,计划员 asc';
    open;
    select_condition:=sql.Text; //记忆上一次查询的sql语句,准备回主查询窗口时刷新
    for I:=0 to datamodule1.hzglquery.Fields.Count-1 do
     if  visible_flag_array[I]=1 then
        datamodule1.hzglquery.Fields[I].Visible:=false;
    end;
    end;
    TotalTable_Count('where '+condition);

    end;
    end;

    ybjsl_count;
    bjhgsl_count;
    bjbhgsl_count;
    cgslhs_count;
    ReCord_Count;
    TotalProduct_Count;
    TotalMoney_Count;
end;

procedure TcghzbForm.N5Click(Sender: TObject);
var I:integer;
begin
    with Datamodule1 do
    begin
    hzglbSelect:='select  SQBID as 申请表单号,RWMC as 任务名称,YXNX as 有效年限,LSH as 流水号,JHY as 计划员,CPBH as 产品编号,CPMC as 产品名称,xHGG as 型号规格,SLDW as 计量单位,SBRQ as 申请日期,SBSL as 申报数量,KCSL as 库存数量,';
    hzglbSelect:=hzglbSelect+'SXSL as 需采购数量,GJJE as 估计金额,sccj as 申请指定厂家,SJCGSCCJ as 实际采购厂家,YBJSL as 已报检数量,CGSLHS as 采购数量核实,BJHGSJ as 报检合格时间,YSBX1 as 用于何任务,SJYQ as 时间要求,YCDHSJ as 预测到货时间,BJSJ as 报检时间,';
    hzglbSelect:=hzglbSelect+'BJHGSL as 报检合格数量,BJBHGSL as 报检不合格数量,XQDW as 申报部门,BZR as 申请表编制人,BZRQ as 编制日期,SHR as 申请表审核人,SHRQ as 审核时间,PZR as 申请表批准人,PZRQ as 批准时间,CGFS as 采购方式,HG_FLAG as 合格分承制方,'+'QT as 到货说明,BZ as 备注';
    condition:='cgfs='+''''+'市场采购'+'''';
    with hzglquery do
    begin
    close;
    sql.Clear;
    sql.Add(hzglbselect);
    sql.Add('from dbo.a_cghzglb');
    sql.Add('where cgfs='+''''+'市场采购'+'''');
    sql.Text:=sql.Text+'order by 申请表单号 desc,计划员 asc';
    select_condition:=sql.Text; //记忆上一次查询的sql语句,准备回主查询窗口时刷新
    open;
    for I:=0 to datamodule1.hzglquery.Fields.Count-1 do
     if  visible_flag_array[I]=1 then
        datamodule1.hzglquery.Fields[I].Visible:=false;
    end;
    end;
    ybjsl_count;
    bjhgsl_count;
    bjbhgsl_count;
    cgslhs_count;
    Record_Count;
    TotalProduct_Count;
    TotalMoney_Count;
    TotalTable_Count('where '+condition);
end;

procedure TcghzbForm.N6Click(Sender: TObject);
var I:integer;
begin
      with Datamodule1 do
    begin
    hzglbSelect:='select  SQBID as 申请表单号,RWMC as 任务名称,YXNX as 有效年限,LSH as 流水号,JHY as 计划员,CPBH as 产品编号,CPMC as 产品名称,xHGG as 型号规格,SLDW as 计量单位,SBRQ as 申请日期,SBSL as 申报数量,KCSL as 库存数量,';
    hzglbSelect:=hzglbSelect+'SXSL as 需采购数量,GJJE as 估计金额,sccj as 申请指定厂家,SJCGSCCJ as 实际采购厂家,YBJSL as 已报检数量,CGSLHS as 采购数量核实,BJHGSJ as 报检合格时间,YSBX1 as 用于何任务,SJYQ as 时间要求,YCDHSJ as 预测到货时间,BJSJ as 报检时间,';
    hzglbSelect:=hzglbSelect+'BJHGSL as 报检合格数量,BJBHGSL as 报检不合格数量,XQDW as 申报部门,BZR as 申请表编制人,BZRQ as 编制日期,SHR as 申请表审核人,SHRQ as 审核时间,PZR as 申请表批准人,PZRQ as 批准时间,CGFS as 采购方式,HG_FLAG as 合格分承制方,'+'QT as 到货说明,BZ as 备注';
    condition:='cgfs='+''''+'合同采购'+'''';
    with hzglquery do
    begin
    close;
    sql.Clear;
    sql.Add(hzglbselect);
    sql.Add('from dbo.a_cghzglb');
    sql.Add('where cgfs='+''''+'合同采购'+'''');
    sql.Text:=sql.Text+'order by 申请表单号 desc,计划员 asc';
    select_condition:=sql.Text; //记忆上一次查询的sql语句,准备回主查询窗口时刷新
    open;
    for I:=0 to datamodule1.hzglquery.Fields.Count-1 do
     if  visible_flag_array[I]=1 then
        datamodule1.hzglquery.Fields[I].Visible:=false;
    end;
    end;
    ybjsl_count;
    bjhgsl_count;
    bjbhgsl_count;
    cgslhs_count;
    Record_COunt;
    TotalProduct_Count;
    TotalMoney_Count;
    TotalTable_Count('where '+condition);
end;

procedure TcghzbForm.N9Click(Sender: TObject);
var I:integer;
begin
   with Datamodule1 do
    begin
    hzglbSelect:='select  SQBID as 申请表单号,RWMC as 任务名称,YXNX as 有效年限,LSH as 流水号,JHY as 计划员,CPBH as 产品编号,CPMC as 产品名称,xHGG as 型号规格,SLDW as 计量单位,SBRQ as 申请日期,SBSL as 申报数量,KCSL as 库存数量,';
    hzglbSelect:=hzglbSelect+'SXSL as 需采购数量,GJJE as 估计金额,sccj as 申请指定厂家,SJCGSCCJ as 实际采购厂家,YBJSL as 已报检数量,CGSLHS as 采购数量核实,BJHGSJ as 报检合格时间,YSBX1 as 用于何任务,SJYQ as 时间要求,YCDHSJ as 预测到货时间,BJSJ as 报检时间,';
    hzglbSelect:=hzglbSelect+'BJHGSL as 报检合格数量,BJBHGSL as 报检不合格数量,XQDW as 申报部门,BZR as 申请表编制人,BZRQ as 编制日期,SHR as 申请表审核人,SHRQ as 审核时间,PZR as 申请表批准人,PZRQ as 批准时间,CGFS as 采购方式,HG_FLAG as 合格分承制方,'+'QT as 到货说明,BZ as 备注';
    condition:='hg_flag='+''''+'1'+'''';
    with hzglquery do
    begin
    close;
    sql.Clear;
    sql.Add(hzglbselect);
    sql.Add('from dbo.a_cghzglb');
    sql.Add('where hg_flag='+''''+'1'+'''');
    sql.Text:=sql.Text+'order by 申请表单号 desc,计划员 asc';
    select_condition:=sql.Text; //记忆上一次查询的sql语句,准备回主查询窗口时刷新
    open;
    for I:=0 to datamodule1.hzglquery.Fields.Count-1 do
     if  visible_flag_array[I]=1 then
        datamodule1.hzglquery.Fields[I].Visible:=false;
    end;
    end;
    ybjsl_count;
    bjhgsl_count;
    bjbhgsl_count;
    cgslhs_count;
    Record_Count;
    TotalProduct_Count;
    TotalMoney_Count;
    TotalTable_Count('where '+condition);
end;

procedure TcghzbForm.N15Click(Sender: TObject);
var I:integer;

⌨️ 快捷键说明

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