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

📄 unttransferinstack.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  DBEditItem3.Field.AsFloat:=0;
  DBEditItem4.Field.AsFloat:=0;
  DBEditItem5.Field.AsFloat:=0;
  DBEditFqFat.Field.AsFloat:=0;
end;

procedure TFrmTransferInStack.BitBtnNewClick(Sender: TObject);
begin
  inherited;
  DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
  DBCmbxInType.Field.AsString := '内移收入';
  DBEditClerk.Field.AsString := Global.g_user.UserName;
  DBEditInTime.Field.AsDateTime := date;
end;

procedure TFrmTransferInStack.DBLkpCmbxSiteDropDown(Sender: TObject);
begin
  inherited;
  QrySql.Edit;
  DBLkpCmbxDepot.Field.AsInteger:=-1;
  DBLkpCmbxPosition.Field.AsInteger:=-1;
  QrySite.Close;
  QrySite.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID);
  QrySite.Filtered:=true;
  QrySite.Open;
end;

procedure TFrmTransferInStack.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;
        exit;
      end;
    finally
      QryCX.Close;
      QryCX.Free;
    end;
  end;
  DBLkpCmbxSite.SetFocus;
end;

procedure TFrmTransferInStack.DBLkpCmbxSiteExit(Sender: TObject);
begin
  inherited;
  {if DBLkpCmbxSite.Text='' then
  begin
    Showmessage('库点号不能为空,请输入!');
    DBLkpCmbxSite.SetFocus;
    exit;
  end;
  QrySql.Edit;
  DBLkpCmbxDepot.Field.AsInteger:=-1;
  DBLkpCmbxPosition.Field.AsInteger:=-1;
  //DBLkpCmbxDepot.SetFocus;}
end;

procedure TFrmTransferInStack.DBLkpCmbxDepotExit(Sender: TObject);
begin
  inherited;
  {if DBLkpCmbxDepot.Text='' then
  begin
    Showmessage('仓库号不能为空,请输入!');
    DBLkpCmbxDepot.SetFocus;
    exit;
  end;
  QrySql.Edit;
  DBLkpCmbxPosition.Field.AsInteger:=-1;
  //DBLkpCmbxPosition.SetFocus; }
end;

procedure TFrmTransferInStack.DBLkpCmbxPositionExit(Sender: TObject);
begin
  inherited;
{  if DBLkpCmbxPosition.Text='' then
  begin
    Showmessage('货位号不能为空,请输入!');
    DBLkpCmbxPosition.SetFocus;
    exit;
  end;}
end;

procedure TFrmTransferInStack.DBLkpCmbxDepotDropDown(Sender: TObject);
begin
  inherited;
  if DBLkpCmbxSite.Text<>'' then
    begin
      QrySql.Edit;
      DBLkpCmbxPosition.Field.AsInteger:=-1;
      QryDepot.Close;
      QryDepot.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.Field.Value);
      QryDepot.Filtered:=true;
      QryDepot.Open;
    end
  else
    begin
      showmessage('请选择库点!');
      DBLkpCmbxSite.SetFocus;
    end;
end;

procedure TFrmTransferInStack.DBLkpCmbxPositionDropDown(Sender: TObject);
begin
  inherited;
  if (DBLkpCmbxSite.Text<>'') and (DBLkpCmbxDepot.Text<>'') then
    begin
      QryPosition.Close;
      QryPosition.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.Field.Value)+' and Depot_ID='+IntToStr(DBLkpCmbxDepot.Field.Value);
      QryPosition.Filtered:=true;
      QryPosition.Open;
    end;
  if DBLkpCmbxSite.Text='' then
    begin
      showmessage('请选择库点!');
      DBLkpCmbxSite.SetFocus;
    end;
  if DBLkpCmbxDepot.Text='' then
    begin
      showmessage('请选择库房!');
      DBLkpCmbxDepot.SetFocus;
    end;
end;

procedure TFrmTransferInStack.QrySQLAfterScroll(DataSet: TDataSet);
begin
  inherited;
  QryFoodStyle.Active:=false;
  QryFoodStyle.SQL.Clear;
  QryFoodStyle.SQL.Add('select * from ENT_FOOD_TYPE where FOOD_TYPE='''+QrySQL.FieldByName('IN_FOOD').AsString+'''');
  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;

   if (QrySQL.FieldByName('Site_ID').IsNull) or (QrySQL.FieldByName('Unit_ID').IsNull)
     or (QrySQL.FieldByName('depot_ID').IsNull) or (QrySQL.FieldByName('FOODPOSITION_ID').IsNull) then   //是新增记录
    begin
      QrySite.Close;
      QrySite.Filter:='Unit_id=' + IntToStr(global.g_user.UnitID);
      QrySite.Filtered:=true;
      QrySite.Active:=true;
      exit;
    end
  else  //是记录选择
    begin
      QrySite.Close;
      QrySite.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString;
      QrySite.Filtered:=true;
      QrySite.Open;
      QryDepot.Close;
      QryDepot.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString
                      + ' and Site_ID=' + QrySQL.FieldByName('Site_ID').AsString;
      QryDepot.Filtered:=true;
      QryDepot.Open;
      QryPosition.Close;
      QryPosition.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString
                      + ' and Site_ID=' + QrySQL.FieldByName('Site_ID').AsString
                      + ' and depot_ID=' + QrySQL.FieldByName('depot_ID').AsString;
      QryPosition.Filtered:=true;
      QryPosition.Open;
    end;
end;

procedure TFrmTransferInStack.DBEditQuantityEnter(Sender: TObject);
begin
  inherited;
  OldQuantity := DBEditQuantity.Field.AsFloat;
end;

procedure TFrmTransferInStack.DBEditTransferIDExit(Sender: TObject);
var
  TblCX: TTable;
begin
  inherited;
  if DBEditTransferID.Text <> '' then
  begin
    try
      TblCX:=TTable.Create(nil);
      TblCX.DatabaseName := 'LYDB';
      TblCX.TableName := 'ENT_TR_CASE';
      TblCX.Filter := 'CASE_ID='''+TRIM(DBEditTransferID.Text)+''''+' and UNIT_ID='+intToStr(DBEditUnitID.Field.AsInteger);
      TblCX.Filtered := true;
      TblCX.Active := true;
      if TblCX.RecordCount=0 then
        begin
        showmessage('无此移库单,请重新输入!');
        DBEditTransferID.Text := '';
        exit;
        end;
      if TblCX.RecordCount>1 then
        begin
        showmessage('存在重复的移库单!');
        DBEditTransferID.Text := '';
        exit;
        end;
    finally
      TblCX.Active:=false;
      TblCX.Free;
    end;
  end;
end;

procedure TFrmTransferInStack.FormCreate(Sender: TObject);
begin
  inherited;
  QrySql.Active:=false;
  QrySql.Filter:='Unit_id=' + IntToStr(Global.g_user.UnitID);
  QrySql.Filtered:=true;
  QrySql.Active:=true;
end;

procedure TFrmTransferInStack.QrySQLIN_TIMESetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditInTime.Text<>'    -  -  ' then
    try
      Sender.AsDateTime:=strtodate(DBEditInTime.EditText);
    except
      Application.MessageBox(PChar(DBEditInTime.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      abort;
    end
  else
    Sender.Clear;
end;

end.

⌨️ 快捷键说明

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