Ukctj.pas
上传用户:jiete_yjc
上传日期:2010-02-11
资源大小:422k
文件大小:5k
源码类别:

医药行业

开发平台:

Delphi

  1. unit Ukctj;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils,Classes, Graphics, Controls, Forms,
  5.   Dialogs, ComCtrls, StdCtrls, Buttons,  DBCtrlsEh, Grids, DBGridEh,
  6.   ExtCtrls, PrnDbgeh,udm, Mask;
  7. type
  8.   Tfkctj = class(TForm)
  9.     TabControl1: TTabControl;
  10.     Label2: TLabel;
  11.     fromdate: TDBDateTimeEditEh;
  12.     Label4: TLabel;
  13.     todate: TDBDateTimeEditEh;
  14.     BitBtn5: TBitBtn;
  15.     BitBtn1: TBitBtn;
  16.     PrintDBGridEh1: TPrintDBGridEh;
  17.     BitBtn3: TBitBtn;
  18.     PageControl1: TPageControl;
  19.     TabSheet1: TTabSheet;
  20.     DBGridEh1: TDBGridEh;
  21.     TabSheet2: TTabSheet;
  22.     Label1: TLabel;
  23.     Label3: TLabel;
  24.     Label5: TLabel;
  25.     Label6: TLabel;
  26.     Label7: TLabel;
  27.     Label8: TLabel;
  28.     Label9: TLabel;
  29.     Label10: TLabel;
  30.     Bevel1: TBevel;
  31.     Label11: TLabel;
  32.     Label12: TLabel;
  33.     Label13: TLabel;
  34.     Label14: TLabel;
  35.     Label15: TLabel;
  36.     rk: TEdit;
  37.     py: TEdit;
  38.     ty: TEdit;
  39.     xs: TEdit;
  40.     pk: TEdit;
  41.     bs: TEdit;
  42.     pf: TEdit;
  43.     ls: TEdit;
  44.     zj: TEdit;
  45.     js: TEdit;
  46.     ce: TEdit;
  47.     procedure BitBtn5Click(Sender: TObject);
  48.     procedure BitBtn3Click(Sender: TObject);
  49.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  50.     procedure FormShow(Sender: TObject);
  51.     procedure BitBtn1Click(Sender: TObject);
  52.   private
  53.     { Private declarations }
  54.   public
  55.     { Public declarations }
  56.   end;
  57. var
  58.   fkctj: Tfkctj;
  59. implementation
  60. {$R *.dfm}
  61. procedure Tfkctj.BitBtn5Click(Sender: TObject);
  62. var sqlstr,wherestr:string;
  63. begin
  64.  sqlstr:='select a.* , 购进金额=case   when (b.类型=''批发'') or (b.类型= ''零售'' ) then b.成本金额 else  b.金额 end   '
  65.  +',b.* ,b.编号 as 销售编号,c.姓名 ,d.名称 as 购药单位 from ypzdk a,cr b ,ygb c ,company d where  a.id=b.ypid and b.开票人=c.ygid and b.入库单位=d.clientid  ';
  66.  if (fromdate.Text='    -  -  ') and (todate.Text<>'    -  -  ') then
  67.    wherestr:=' and 日期<='''+trim(todate.Text)+'''' ;
  68.   if (fromdate.Text<>'    -  -  ') and (todate.Text<>'    -  -  ') then
  69.   wherestr:=' and 日期>='''+trim(fromdate.Text)+''' and 日期<='''+trim(todate.Text)+'''' ;
  70.   if (fromdate.Text<>'    -  -  ') and (todate.Text='    -  -  ') then
  71.   wherestr:=' and  日期>='''+trim(fromdate.Text)+'''' ;
  72.   if (fromdate.Text='    -  -  ') and (todate.Text='    -  -  ') then
  73.   wherestr:='  ';
  74.   sqlstr:=sqlstr+wherestr+'  ';
  75.  //showmessage(sqlstr);
  76.  adodm.tcrlist.Close;
  77.  adodm.tcrlist.CommandText:= sqlstr;
  78.  adodm.tcrlist.Open;
  79.  adodm.ttemp.Close;
  80.  sqlstr:='select   金额=case when (类型=''批发'') or (类型=''零售'' ) then SUM(成本金额)'
  81.               +'else  SUM(金额) end   ,类型 from cr ' ;
  82.  sqlstr:=sqlstr+' where 1<2 '+wherestr+'  group by 类型 ';
  83.  adodm.ttemp.commandtext:=sqlstr;
  84.  adodm.ttemp.Open;
  85.  if adodm.ttemp.Locate('类型','批发',[]) then
  86.     pf.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  87.     else pf.Text:='0';
  88.   if adodm.ttemp.Locate('类型','零售',[]) then
  89.     ls.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  90.     else ls.Text:='0';
  91.  if adodm.ttemp.Locate('类型','盘盈',[]) then
  92.     py.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  93.     else py.Text:='0';
  94.  if adodm.ttemp.Locate('类型','盘亏',[]) then
  95.     pk.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  96.     else pk.Text:='0';
  97.  if adodm.ttemp.Locate('类型','入库',[]) then
  98.     rk.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  99.     else rk.Text:='0';
  100.  if adodm.ttemp.Locate('类型','退药',[]) then
  101.     ty.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  102.     else ty.Text:='0';
  103.  if adodm.ttemp.Locate('类型','报损',[]) then
  104.     bs.Text:=floattostr(adodm.ttemp.fieldbyname('金额').AsFloat)
  105.     else bs.Text:='0';
  106.   xs.Text:=floattostr(strtofloat(pf.Text)+strtofloat(ls.Text))   ;
  107.   zj.Text:=floattostr(strtofloat(rk.Text)+strtofloat(py.Text)) ;
  108.  js.Text:=floattostr(strtofloat(ty.Text)+strtofloat(pk.Text)+strtofloat(xs.Text)+strtofloat(bs.Text)) ;
  109.   ce.Text:=floattostr(strtofloat(zj.Text)-strtofloat(js.Text))   ;
  110. end;
  111. procedure Tfkctj.BitBtn3Click(Sender: TObject);
  112. begin
  113. close;
  114. end;
  115. procedure Tfkctj.FormClose(Sender: TObject; var Action: TCloseAction);
  116. begin
  117.   adodm.ttemp.Close;
  118.   adodm.tcrlist.Close;
  119.   action:=cafree;
  120. end;
  121. procedure Tfkctj.FormShow(Sender: TObject);
  122. begin
  123. adodm.ttemp.Close;
  124.   adodm.tcrlist.Close;
  125. end;
  126. procedure Tfkctj.BitBtn1Click(Sender: TObject);
  127. begin
  128. if pagecontrol1.ActivePageIndex=0 then
  129. begin
  130.  printdbgrideh1.Title.Text:=' 库存变动一览表   ('+fromdate.Text+'-'+todate.Text +')' ;
  131.  printdbgrideh1.AfterGridText.Text:=datetostr(date);
  132.  printdbgrideh1.Preview;
  133. end else
  134. begin
  135. showmessage('本软件是测试版,请手工抄写,给您带来不便,请购买正式版!');
  136. end
  137. end;
  138. end.