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

📄 untrecievefdbill.~pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
unit UntRecieveFdBill;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UnitStandard1, DBTables, DB, Menus, ImgList, Grids, DBGrids,
  ComCtrls, Buttons, StdCtrls, ExtCtrls, ToolWin, DBCtrls, Mask;

type
  TFrmRecieveFdBill = class(TFrmStandard1)
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    GroupBox6: TGroupBox;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    GroupBox7: TGroupBox;
    Label43: TLabel;
    LblItem4: TLabel;
    LblItem3: TLabel;
    Label46: TLabel;
    LblItem1: TLabel;
    LblItem2: TLabel;
    Label34: TLabel;
    TblFood: TTable;
    DataSourceFood: TDataSource;
    DBEditNotyItem: TDBEdit;
    DBEdit3: TDBEdit;
    DBEditClerk: TDBEdit;
    DBEditArrivalTime: TDBEdit;
    DBEditFqClass: TDBEdit;
    DBEditMoisture: TDBEdit;
    DBEditItem1: TDBEdit;
    DBEditItem2: TDBEdit;
    DBEditItem3: TDBEdit;
    DBEditItem4: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEditmisc: TDBEdit;
    BitBtnSlctNotyItem: TBitBtn;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label49: TLabel;
    GroupBox8: TGroupBox;
    DBEditQuantity: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEditInTime: TDBEdit;
    Label33: TLabel;
    Label39: TLabel;
    Label50: TLabel;
    DBEditStore: TDBEdit;
    DataSourcePosition: TDataSource;
    QrySQLINSTACK_ID: TStringField;
    QrySQLNOTY_ITEM_ID: TStringField;
    QrySQLNOTY_FOOD: TStringField;
    QrySQLFROM_STATION: TStringField;
    QrySQLFREIGHT_NUMBER: TStringField;
    QrySQLTO_STATION: TStringField;
    QrySQLFREIGHT: TFloatField;
    QrySQLIN_QUANTITY: TFloatField;
    QrySQLSTORAGE: TFloatField;
    QrySQLPRICE: TFloatField;
    QrySQLPROD_AREA: TStringField;
    QrySQLNEW: TIntegerField;
    QrySQLOLD: TIntegerField;
    QrySQLMISC: TIntegerField;
    QrySQLFQ_MOISTURE: TFloatField;
    QrySQLFQ_IMPURITY: TFloatField;
    QrySQLFQ_ITEM1: TFloatField;
    QrySQLFQ_ITEM2: TFloatField;
    QrySQLFQ_ITEM3: TFloatField;
    QrySQLFQ_ITEM4: TFloatField;
    QrySQLFQ_CLASS: TStringField;
    QrySQLATTRIBUTE: TStringField;
    QrySQLMEMO: TStringField;
    QrySQLNOTY_QUANTITY: TFloatField;
    QrySQLIN_FOOD: TStringField;
    QrySQLSUPPLYER: TStringField;
    QrySQLCLERK: TStringField;
    QrySQLMANAGER: TStringField;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLkpCmbxInFood: TDBLookupComboBox;
    Label51: TLabel;
    DBEditImpurity: TDBEdit;
    QrySQLCASE_ID: TStringField;
    QrySQLADJUST_ID: TStringField;
    QrySQLUNIT_ID: TIntegerField;
    QrySQLSITE_ID: TIntegerField;
    QrySQLDEPOT_ID: TIntegerField;
    QrySQLFOODPOSITION_ID: TIntegerField;
    QrySQLIN_TIME: TDateTimeField;
    QrySQLREAP_YEAR: TIntegerField;
    QrySQLR_NEW: TIntegerField;
    QrySQLR_OLD: TIntegerField;
    QrySQLR_MISC: TIntegerField;
    QrySQLFQ_ITEM5: TFloatField;
    QrySQLARRIVAL_TIME: TDateTimeField;
    DBMemo2: TDBMemo;
    DataSourceSite: TDataSource;
    DataSourceDepot: TDataSource;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    Label55: TLabel;
    DBEditUnitID: TDBEdit;
    LblItem5: TLabel;
    DBEditItem5: TDBEdit;
    QrySQLATTACHMENT: TStringField;
    Label57: TLabel;
    Label58: TLabel;
    QryFoodStyle: TQuery;
    QrySQLCOM_FLAG: TIntegerField;
    QrySQLAdjustor: TStringField;
    DBLkpCmbxAttribute: TDBLookupComboBox;
    DBLkpCmbxAtechment: TDBLookupComboBox;
    DataSourceAttribute: TDataSource;
    TblAttribute: TTable;
    TblAtechment: TTable;
    DataSourceAtechmet: TDataSource;
    Label25: TLabel;
    Label44: TLabel;
    DBEdtTorn: TDBEdit;
    DBEdtKnit: TDBEdit;
    QrySQLINTYPE: TStringField;
    QrySQLTORN: TIntegerField;
    QrySQLKNIT: TIntegerField;
    QrySQLR_TORN: TIntegerField;
    QrySQLR_KNIT: TIntegerField;
    DBEdit1: TDBEdit;
    Label45: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    DBEdit5: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBCmbxInType: TDBComboBox;
    DBEditSurplus: TDBEdit;
    Label56: TLabel;
    QrySQLSURPLUS: TFloatField;
    DBEditR_new: TDBEdit;
    DBEditR_old: TDBEdit;
    DBEditR_misc: TDBEdit;
    DBEditR_torn: TDBEdit;
    DBEditR_knit: TDBEdit;
    QrySite: TQuery;
    QryDepot: TQuery;
    QryPosition: TQuery;
    DBCmbxSite: TDBComboBox;
    DBCmbxDepot: TDBComboBox;
    DBCmbxPosition: TDBComboBox;
    QrySQLname: TStringField;
    QrySQLdepot_name: TStringField;
    QrySQLsite_name: TStringField;
    QrySQLunit_name: TStringField;
    DBEdtStId: TDBEdit;
    DBEdtDptId: TDBEdit;
    DBEdtPstnId: TDBEdit;
    DBEdit7: TDBEdit;
    LblFqFat: TLabel;
    DBEditFqFat: TDBEdit;
    QrySQLFQ_FAT: TFloatField;
    procedure BitBtnSaveClick(Sender: TObject);
    procedure BitBtnSlctNotyItemClick(Sender: TObject);
    procedure DBEditQuantityExit(Sender: TObject);
    procedure BitBtnNewClick(Sender: TObject);
    procedure DBLkpCmbxInFoodClick(Sender: TObject);
    procedure DBEditKeyExit(Sender: TObject);
    procedure DBLkpCmbxSiteExit(Sender: TObject);
    procedure DBLkpCmbxDepotExit(Sender: TObject);
    procedure DBLkpCmbxPositionExit(Sender: TObject);
    procedure QrySQLAfterScroll(DataSet: TDataSet);
    procedure DBEditQuantityEnter(Sender: TObject);
    procedure DBEditNotyItemExit(Sender: TObject);
    procedure DBEdit22Exit(Sender: TObject);
    procedure DBEdit22Enter(Sender: TObject);
    procedure DBEdit23Enter(Sender: TObject);
    procedure DBEdit23Exit(Sender: TObject);
    procedure DBEditmiscExit(Sender: TObject);
    procedure DBEditmiscEnter(Sender: TObject);
    procedure DBEdtTornEnter(Sender: TObject);
    procedure DBEdtKnitEnter(Sender: TObject);
    procedure DBEdtTornExit(Sender: TObject);
    procedure DBEdtKnitExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure QrySQLIN_TIMESetText(Sender: TField; const Text: String);
    procedure QrySQLARRIVAL_TIMESetText(Sender: TField;
      const Text: String);
    procedure DBCmbxSiteDropDown(Sender: TObject);
    procedure DBCmbxSiteExit(Sender: TObject);
    procedure DBCmbxDepotDropDown(Sender: TObject);
    procedure DBCmbxDepotExit(Sender: TObject);
    procedure DBCmbxPositionExit(Sender: TObject);
    procedure DBCmbxPositionDropDown(Sender: TObject);
    procedure BitBtnAllClick(Sender: TObject);
    procedure BitBtnOKClick(Sender: TObject);
  private
    { Private declarations }
    OldQuantity: double;
    Old_new, Old_old, Old_Misc, Old_torn, Old_knit: integer;
  public
    { Public declarations }
    NotyItemID,NotyFdType: string;
    NotyQuantity: Double;
    StId,DptId,PstnId: array[1..100] of Integer;
  end;

var
  FrmRecieveFdBill: TFrmRecieveFdBill;

implementation

uses UntSlctNotyItemId,UnitDataModul,Global;

{$R *.dfm}

procedure TFrmRecieveFdBill.BitBtnSaveClick(Sender: TObject);
begin
  if DBEditkey.Text='' then
  begin
    Showmessage('收货单编号不能为空,请输入!');
    DBEditKey.SetFocus;
    DBEditKey.Enabled:=true;
    exit;
  end;
  if DBCmbxSite.Text='' then
  begin
    Showmessage('库点号不能为空,请输入!');
    DBCmbxSite.SetFocus;
    exit;
  end;
  if DBCmbxDepot.Text='' then
  begin
    Showmessage('仓库号不能为空,请输入!');
    DBCmbxDepot.SetFocus;
    exit;
  end;
  if DBCmbxPosition.Text='' then
  begin
    Showmessage('货位号不能为空,请输入!');
    DBCmbxPosition.SetFocus;
    exit;
  end;
  inherited;
end;


procedure TFrmRecieveFdBill.BitBtnSlctNotyItemClick(Sender: TObject);
begin
  inherited;
  NotyItemID := '';
  NotyFdType := '';
  NotyQuantity := 0;
  UntSlctNotyItemId.SltFlds(Self);

  if Length(NotyItemID)<>0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBEditNotyItem.Field.AsString := NotyItemID;
  end;
  if Length(NotyFdType)<>0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLookupComboBox1.Field.AsString := NotyFdType;
  end;
  if NotyQuantity <> 0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBEdit3.Field.AsFloat := NotyQuantity;
  end;
end;



procedure TFrmRecieveFdBill.DBEditQuantityExit(Sender: TObject);
var
  OldStore: double;
begin
  inherited;
  if DBEditStore.Text='' then
    OldStore:=0
  else
    OldStore := strToFloat(DBEditStore.Text);
  DBEditStore.Text := floatToStr(OldStore+DBEditQuantity.Field.AsFloat-OldQuantity);
end;

procedure TFrmRecieveFdBill.BitBtnNewClick(Sender: TObject);
begin
  inherited;
  DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
  DBEditClerk.Field.AsString := Global.g_user.UserName;
  DBEDitInTime.Field.AsDateTime := date;
  DBEDitArrivalTime.Field.AsDateTime := date;
  DBCmbxInType.Field.AsString := '购入';
  DBEditSurplus.Field.AsFloat := 0;
end;                






procedure TFrmRecieveFdBill.DBLkpCmbxInFoodClick(Sender: TObject);
begin
  inherited;
  QryFoodStyle.Active:=false;
  QryFoodStyle.SQL.Clear;
  QryFoodStyle.SQL.Add('select * from ENT_FOOD_TYPE where FOOD_TYPE='''+DBLkpCmbxInFood.Text+'''');
  QryFoodStyle.Open;
  if QryFoodStyle.RecordCount<>1 then
    BEGIN
    showmessage('入库的品种不对!');
    exit;
    END;
  if QryFoodStyle.FieldByName('Food_style').AsString='大豆' then
    begin
    LblItem1.Enabled:=true;
    DBEditItem1.Enabled:=true;
    LblItem1.Caption:='纯粮率:';
    LblItem2.Enabled:=false;
    LblItem3.Enabled:=false;
    LblItem4.Enabled:=false;
    LblItem5.Enabled:=false;
    DBEditItem2.Enabled:=false;
    DBEditItem3.Enabled:=false;
    DBEditItem4.Enabled:=false;
    DBEditItem5.Enabled:=false;
    LblFqFat.Enabled:=false;
    DBEditFqFat.Enabled:=false;
    end;
  if QryFoodStyle.FieldByName('Food_style').AsString='大米' then
    begin
    LblItem1.Enabled:=false;
    DBEditItem1.Enabled:=false;
    LblItem2.Enabled:=true;
    DBEditItem2.Enabled:=true;
    LblItem5.Enabled:=true;
    LblItem5.Caption:='稻谷率:';
    DBEditItem5.Enabled:=true;
    LblItem3.Enabled:=false;
    LblItem4.Enabled:=false;
    DBEditItem3.Enabled:=false;
    DBEditItem4.Enabled:=false;
    LblFqFat.Enabled:=false;
    DBEditFqFat.Enabled:=false;
    end;
  if QryFoodStyle.FieldByName('Food_style').AsString='小麦' then
    begin
    LblItem1.Enabled:=false;
    DBEditItem1.Enabled:=false;
    LblItem2.Enabled:=true;
    DBEditItem2.Enabled:=true;
    LblItem5.Enabled:=true;
    LblItem5.Caption:='容重:';
    DBEditItem5.Enabled:=true;
    LblItem3.Enabled:=false;
    LblItem4.Enabled:=false;
    DBEditItem3.Enabled:=false;
    DBEditItem4.Enabled:=false;
    LblFqFat.Enabled:=false;
    DBEditFqFat.Enabled:=false;
    end;
  if QryFoodStyle.FieldByName('Food_style').AsString='玉米' then
    begin
    LblItem1.Enabled:=true;
    DBEditItem1.Enabled:=true;
    LblItem1.Caption:='纯粮率:';
    LblItem2.Enabled:=true;
    LblItem3.Enabled:=false;
    LblItem4.Enabled:=false;
    LblItem5.Enabled:=false;
    DBEditItem2.Enabled:=true;
    DBEditItem3.Enabled:=false;
    DBEditItem4.Enabled:=false;
    DBEditItem5.Enabled:=false;
    LblFqFat.Enabled:=false;
    DBEditFqFat.Enabled:=false;
    end;
  if QryFoodStyle.FieldByName('Food_style').AsString='稻谷' then
    begin
    LblItem1.Enabled:=true;
    DBEditItem1.Enabled:=true;
    LblItem1.Caption:='黄粒:';
    LblItem2.Enabled:=true;
    LblItem3.Enabled:=true;
    LblItem4.Enabled:=true;
    LblItem5.Enabled:=true;
    LblItem5.Caption:='出糙率:';
    DBEditItem2.Enabled:=true;
    DBEditItem3.Enabled:=true;
    DBEditItem4.Enabled:=true;
    DBEditItem5.Enabled:=true;
    LblFqFat.Enabled:=true;
    DBEditFqFat.Enabled:=true;
    end;
  if QryFoodStyle.FieldByName('Food_style').AsString='油' then
    begin
    LblItem1.Enabled:=true;
    DBEditItem1.Enabled:=true;
    LblItem1.Caption:='酸价:';
    LblItem2.Enabled:=false;
    LblItem3.Enabled:=false;
    LblItem4.Enabled:=false;
    LblItem5.Enabled:=false;
    LblItem5.Caption:='高过氧化值:';
    DBEditItem2.Enabled:=false;
    DBEditItem3.Enabled:=false;
    DBEditItem4.Enabled:=false;
    DBEditItem5.Enabled:=false;
    LblFqFat.Enabled:=false;
    DBEditFqFat.Enabled:=false;
    end;
  DBEditFqClass.Field.AsString:='';
  DBEditImpurity.Field.AsFloat:=0;
  DBEditMoisture.Field.AsFloat:=0;
  DBEditItem1.Field.AsFloat:=0;
  DBEditItem2.Field.AsFloat:=0;
  DBEditItem3.Field.AsFloat:=0;
  DBEditItem4.Field.AsFloat:=0;
  DBEditItem5.Field.AsFloat:=0;
  DBEditFqFat.Field.AsFloat:=0;
end;


procedure TFrmRecieveFdBill.DBEditKeyExit(Sender: TObject);
var
  QryCX: TQuery;
  str: string;
begin
  inherited;
  if DBEditkey.Text='' then
    begin
    Showmessage('收货单编号不能为空,请输入!');
    DBEditKey.SetFocus;
    DBEditKey.Enabled:=true;
    exit;
    end
  else
  begin
    try
      QryCX:= TQuery.Create(nil);
      QryCX.DatabaseName := 'LYDB';
      QryCX.SQL.Clear;
      str:='select * from ENT_INSTACK where INSTACK_ID='''+trim(DBEditKey.Text)+''' and UNIT_ID='+intToStr(DBEditUnitId.Field.AsInteger);
      QryCX.SQL.Add(Str);
      QryCX.Open;
      if QryCX.RecordCount>0 then
      begin
        showmessage('入库编号重复,请重新输入!');
        DBEditKey.SetFocus;
        DBEditKey.Enabled:=true;

⌨️ 快捷键说明

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