📄 cg_outwhs.pas
字号:
unit cg_outwhs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cg_master, dxExEdtr, DB, ADODB, ImgList, ActnList, dxEdLib,
dxDBELib, dxCntner, dxEditor, StdCtrls, DBCtrls, Buttons, Mask, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ToolWin, ComCtrls, dxDBTLCl, dxGrClms;
type
Tfcg_outwhs = class(Tfbscg_master)
Qbaseinfoid: TAutoIncField;
Qbaseinfofcode: TWideStringField;
QbaseinfoMa_worker: TWideStringField;
QbaseinfoMa_whscode: TWideStringField;
QbaseinfoMa_pcode: TWideStringField;
QbaseinfoMa_pname: TWideStringField;
QbaseinfoFdate: TDateTimeField;
QbaseinfoMa_unit: TWideStringField;
QbaseinfoMa_unit2: TFloatField;
QbaseinfoMa_unit1: TFloatField;
QbaseinfoMa_ss: TFloatField;
QbaseinfoMa_buyprice: TFloatField;
QbaseinfoMa_sum: TFloatField;
QbaseinfoMa_yield: TDateTimeField;
QbaseinfoMa_enddate: TDateTimeField;
QbaseinfoMa_ph: TWideStringField;
QbaseinfoMa_factory: TWideStringField;
Qbaseinfofout: TIntegerField;
Qbaseinfofmem: TWideStringField;
QbaseinfofSort: TWideStringField;
Qbaseinfoma_bzq: TIntegerField;
Qbaseinfoma_qyt: TFloatField;
Qbaseinfoma_otc: TIntegerField;
dxDBGrid1fcode: TdxDBGridColumn;
dxDBGrid1Ma_worker: TdxDBGridColumn;
dxDBGrid1Ma_whscode: TdxDBGridColumn;
dxDBGrid1Ma_pcode: TdxDBGridColumn;
dxDBGrid1Ma_pname: TdxDBGridColumn;
dxDBGrid1Fdate: TdxDBGridDateColumn;
dxDBGrid1Ma_unit: TdxDBGridColumn;
dxDBGrid1Ma_buyprice: TdxDBGridMaskColumn;
dxDBGrid1Ma_sum: TdxDBGridMaskColumn;
dxDBGrid1Ma_yield: TdxDBGridDateColumn;
dxDBGrid1Ma_enddate: TdxDBGridDateColumn;
dxDBGrid1Ma_ph: TdxDBGridColumn;
dxDBGrid1Ma_factory: TdxDBGridColumn;
dxDBGrid1ma_bzq: TdxDBGridMaskColumn;
dxDBGrid1ma_qyt: TdxDBGridMaskColumn;
dxDBGrid1ma_otc: TdxDBGridCheckColumn;
dxDBGrid1fout: TdxDBGridCheckColumn;
DBLookupComboBox2: TDBLookupComboBox;
procedure actaddExecute(Sender: TObject);
procedure actfindExecute(Sender: TObject);
procedure QbaseinfoMa_buypriceValidate(Sender: TField);
procedure Qbaseinfoma_qytValidate(Sender: TField);
procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure acteditExecute(Sender: TObject);
procedure actsaveExecute(Sender: TObject);
procedure actrepriExecute(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fcg_outwhs: Tfcg_outwhs;
implementation
uses Global, selectproout, selectproout1, dataform, pubdata, cg_profind2;
{$R *.dfm}
procedure Tfcg_outwhs.actaddExecute(Sender: TObject);
begin
inherited;
//添加记录
DBLookupComboBox2.Enabled:=True;
tmpname:='cg_master';
Qbaseinfo.FieldByName('fcode').Value:=getcode('TH');
Qbaseinfo.FieldByName('Ma_worker').Value:=fData.Sqltmp['User_code'];
Qbaseinfo.FieldByName('fdate').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Ma_whscode').Value:=fpubdata.qrydisp_whs['Whs_code'];
Qbaseinfo.FieldByName('ma_otc').Value:=0;
Qbaseinfo.FieldByName('Ma_yield').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Ma_enddate').Value:=Date+60;
dxDBButtonEdit1.SetFocus;
end;
procedure Tfcg_outwhs.actfindExecute(Sender: TObject);
begin
inherited;
fmselectproout:=Tfmselectproout.Create(Self);
fmselectproout.ShowModal;
end;
procedure Tfcg_outwhs.QbaseinfoMa_buypriceValidate(Sender: TField);
begin
inherited;
Qbaseinfo.FieldByName('Ma_sum').Value:=Qbaseinfo['Ma_buyprice']*Qbaseinfo['ma_qyt'];
end;
procedure Tfcg_outwhs.Qbaseinfoma_qytValidate(Sender: TField);
begin
inherited;
Qbaseinfo.FieldByName('Ma_sum').Value:=Qbaseinfo['Ma_buyprice']*Qbaseinfo['ma_qyt'];
end;
procedure Tfcg_outwhs.dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
inherited;
fcg_profind2:=Tfcg_profind2.Create(Self);
fcg_profind2.ShowModal;
end;
procedure Tfcg_outwhs.acteditExecute(Sender: TObject);
begin
inherited;
DBLookupComboBox2.Enabled:=True;
end;
procedure Tfcg_outwhs.actsaveExecute(Sender: TObject);
begin
inherited;
DBLookupComboBox2.Enabled:=False;
end;
procedure Tfcg_outwhs.actrepriExecute(Sender: TObject);
begin
inherited;
DBLookupComboBox2.Enabled:=False;
end;
procedure Tfcg_outwhs.btn1Click(Sender: TObject);
var a,b:Integer;
begin
// inherited;
if Qbaseinfo.RecordCount>0 then
if Qbaseinfo.FieldByName('fout').Value=0 then
begin
if MessageBox(0, '要审核此单据吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION) =
IDOK then
begin
Qbaseinfo.Edit;
Qbaseinfo.FieldByName('fout').Value:=1;
Qbaseinfo.Post;
//----------------------------------------
fpubdata.qryphy.Close;//查询当前药品信息
fpubdata.qryphy.SQL.Clear;
fpubdata.qryphy.SQL.Add('select * from Bs_physic where (Phy_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Phy_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
fpubdata.qryphy.Open;
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
fData.sqlcheck.Open;
if fData.sqlcheck.RecordCount>0 then
begin
fData.sqlcheck.Edit; //int 取整函数
fData.sqlcheck.FieldByName('Kc_qty2').Value:=fData.sqlcheck.FieldByName('Kc_qty2').Value-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value);
fData.sqlcheck.FieldByName('Kc_qty3').Value:=fData.sqlcheck.FieldByName('Kc_qty3').Value-int((Qbaseinfo['ma_qyt']-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value);
a:=int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)* fpubdata.qryphy.FieldByName('Phy_unit2rate').Value;
b:=int((Qbaseinfo['ma_qyt']-a)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit1rate').Value;
fData.sqlcheck.FieldByName('Kc_qty4').Value:=fData.sqlcheck.FieldByName('Kc_qty4').Value-(Qbaseinfo['ma_qyt']-a-b);
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value-Qbaseinfo['ma_qyt'];
fData.sqlcheck.Post;
end;
//-------------------------------------------
end
end
else
MessageBox(0, '此单已审核!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure Tfcg_outwhs.btn2Click(Sender: TObject);
var a,b:Integer;
begin
//inherited;
if Qbaseinfo.RecordCount>0 then
if Qbaseinfo.FieldByName('fout').Value=1 then
begin
if MessageBox(0, '要反审核此单据吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION) =
IDOK then
begin
Qbaseinfo.Edit;
Qbaseinfo.FieldByName('fout').Value:=0;
Qbaseinfo.Post;
//----------------------------
fpubdata.qryphy.Close;//查询当前药品信息
fpubdata.qryphy.SQL.Clear;
fpubdata.qryphy.SQL.Add('select * from Bs_physic where (Phy_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Phy_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
fpubdata.qryphy.Open;
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['Ma_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['Ma_pname']+''''+')');
fData.sqlcheck.Open;
if fData.sqlcheck.RecordCount>0 then
begin
fData.sqlcheck.Edit; //int 取整函数
fData.sqlcheck.FieldByName('Kc_qty2').Value:=fData.sqlcheck.FieldByName('Kc_qty2').Value+int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value);
fData.sqlcheck.FieldByName('Kc_qty3').Value:=fData.sqlcheck.FieldByName('Kc_qty3').Value+int((Qbaseinfo['ma_qyt']-int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value);
a:=int(Qbaseinfo['ma_qyt']/fpubdata.qryphy.FieldByName('Phy_unit2rate').Value)* fpubdata.qryphy.FieldByName('Phy_unit2rate').Value;
b:=int((Qbaseinfo['ma_qyt']-a)/fpubdata.qryphy.FieldByName('Phy_unit1rate').Value)*fpubdata.qryphy.FieldByName('Phy_unit1rate').Value;
fData.sqlcheck.FieldByName('Kc_qty4').Value:=fData.sqlcheck.FieldByName('Kc_qty4').Value+(Qbaseinfo['ma_qyt']-a-b);
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value+Qbaseinfo['ma_qyt'];
fData.sqlcheck.Post;
end;
//--------------------------------------
end
end
else
MessageBox(0, '此单已反审!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -