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

📄 bas_qry_bomcomparesheet.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                 Bomqty1str:='N'
               else
                 Bomqty1str:='Y';
              if BomScrAp_Percent1str=BomScrAp_Percent2str then
                 BomScrAp_Percent1str:='N'
               else
                 BomScrAp_Percent1str:='Y';
              if BomStatus1str=BomStatus2str then
                 BomStatus1str:='N'
               else
                 BomStatus1str:='Y';
              if DeptName1str=DeptName2str then
                 DeptName1str:='N'
               else
                 DeptName1str:='Y';
              AdoQry_Main.insert;
              AdoQry_Main.fieldbyname ('ite_ItemCode').asstring:= '对比是否有差异';
              AdoQry_Main.fieldbyname ('ItemCodeName').asstring:= '';
              AdoQry_Main.fieldbyname ('BomItemType').asstring:= BomItemType1str;
              AdoQry_Main.fieldbyname ('Bomqty').asstring:= Bomqty1str;
              AdoQry_Main.fieldbyname ('BomScrAp_Percent').asstring:= BomScrAp_Percent1str;
              AdoQry_Main.fieldbyname ('BomStatus').asstring:= BomStatus1str;
              AdoQry_Main.fieldbyname ('DeptCodeName').asstring:= DeptName1str;
              AdoQry_Main.fieldbyname ('colorflag').asstring:=inttostr(colorflag);
              AdoQry_Main.post;
            end;
          end;
          AdoQry_Tmp.next;
          if colorflag=1 then
            colorflag:=0
          else
           colorflag:=1;
        end;
      end;
      AdoQry_Main.First;
      flag:=1;
      Screen.Cursor:=crDefault;
    except
      with AdoQry_Tmp do
      begin
        Close;
        sql.clear;
        sql.Add('set noCount on '+
               ' if OBJECT_ID('+''''+Tmp_Name+''''+') is not null '+
               ' drop table '+Tmp_Name+'   ' );
        execsql;
      end;
      Screen.Cursor:=crDefault;
   end;
  end;
  if AdoQry_Main.recordCount>0 then
    Pnl_Hint.Caption:='提示:共有:'+''+inttostr(AdoQry_Main.recordCount)+''+'条记录'

end;

procedure TFrm_Bas_Qry_BomCompareSheet.Act_ExcelExecute(Sender: TObject);
begin
  inherited;
  DBGridEhToExcel(Dbgrideh1);
end;

procedure TFrm_Bas_Qry_BomCompareSheet.setReport;
var
  i,j:integer;
begin
  inherited;
  ExtPrintReport1.DataSet :=nil;
  ExtPrintReport1.Headers.clear;
  i:=0;
  with ExtPrintReport1 do
  begin
    for j:=0 to DBGridEH1.Columns.Count-1 do
      if DBGridEH1.Columns[j].Visible then
      begin
        Headers.Add;
        Headers.Items[i].Caption :=DBGridEH1.Columns[j].Title.Caption;
        Headers.Items[i].FieldName :=DBGridEH1.Columns[j].FieldName;
        Headers.Items[i].DisplayWidth:=DBGridEH1.Columns[j].Width div (DBGridEH1.Columns[j].Font.Size-2);
        Headers.Items[i].Alignment :=DBGridEH1.Columns[j].Alignment;
        inc(i);
      end;
    DataSet:=AdoQry_Main;

    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.Text:='Select SysParamValueC '+
                         'From SysParam '+
                         'where SysParamCode=''Name0''';//Name0是使用本系统的客户的名称
    AdoQry_Tmp.Open;
    ExtPrintReport1.Title1:=AdoQry_Tmp.fieldbyname('SysParamValueC').AsString;
     ExtPrintReport1.Title2:='Bom对比差异明细表';
  end;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.Act_PrintExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport1.print(self);
end;

procedure TFrm_Bas_Qry_BomCompareSheet.Act_PreviewExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport1.preview;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.inivar;
begin
  object1:='';
  ItemCode1str:='';
  BomItemType1str:='';
  Bomqty1str:='';
  BomScrAp_Percent1str:='';
  BomStatus1str:='';
  DeptName1str:='';
  object2:='';
  ItemCode2str:='';
  BomItemType2str:='';
  Bomqty2str:='';
  BomScrAp_Percent2str:='';
  BomStatus2str:='';
  DeptName2str:='';
end;

procedure TFrm_Bas_Qry_BomCompareSheet.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Bas_Qry_BomCompareSheet:=nil;
end;


procedure TFrm_Bas_Qry_BomCompareSheet.Act_QuitExecute(Sender: TObject);
begin
  with AdoQry_Tmp do
  begin
    Close;
    sql.clear;
    sql.Add('set noCount on '+
           ' if OBJECT_ID('+''''+Tmp_Name+''''+') is not null '+
           ' drop table '+Tmp_Name+'   ' );
    execsql;
  end;
  inherited;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.displayCodeName;
begin
  if flag=1 then
  begin
    if Trim(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring)='对比是否有差异' then
    begin
      label2.Caption:='';
      label4.Caption:='';
      label6.Caption:='';
      label8.Caption:='';
    end
    else
    begin
      label2.Caption:=getCode(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring);
      label4.Caption:=getName(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring);
      label6.Caption:=getCode(AdoQry_Main.fieldbyname('ItemCodeName').asstring);
      label8.Caption:=getName(AdoQry_Main.fieldbyname('ItemCodeName').asstring);
    end;
  end;
end;



function TFrm_Bas_Qry_BomCompareSheet.getItemCodeName(
  ItemCode: string): string;
begin
   Result:='';
   with AdoQry_Tmp do
   begin
     Close;
     sql.clear;
     sql.Add('select ItemName from Item where ItemCode='''+ItemCode+'''');
     open;
     Result:=fieldbyname('ItemName').asstring;
     Close;
   end;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  displayCodeName;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1KeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  displayCodeName;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.DataSource1DataChange(
  Sender: TObject; Field: TField);
begin
  inherited;
  displayCodeName;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  Action:=Cafree;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.AdoQry_MainAfterOpen(
  DataSet: TDataSet);
begin
  if flag=1 then
  begin
    TFloatField(DataSet.fieldbyname('BomQty')).DisplayFormat:='0.#####';
    TFloatField(DataSet.fieldbyname('BomScrAp_Percent')).DisplayFormat:='0.#####';
  end;
  inherited;
end;

procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1GetCellParams(
  Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor;
  State: TGridDrawState);
begin
  if AdoQry_Main.fieldbyname ('colorflag').asstring='0' then
    Background:=$f0f0f0;
  if AdoQry_Main.fieldbyname ('colorflag').asstring='1' then
    Background:=$ffd9d9;
  if (gdSelected in State)or(gdFocused in State) then
  begin
    Background:=clNavy;
    AFont.Color:=clWindow;
  end
  else
  begin
    AFont.Color:=clBlack;
  end;
end;

end.

⌨️ 快捷键说明

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