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

📄 wzck.pas

📁 药品进销存管理系统(Delphi版),适合中小企业管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   query_kc.DisableControls;
   Query_kc.close;
   Query_kc.UnPrepare;
   Query_kc.sql.Clear;
   if pos('中药',ComboBox1.text)>0 then
     Query_kc.sql.Add('select cd,pm,dw,gg,kcs,dj,ph,jhrq,jgdw,ck_bh,wp_bm,bh,jj from '+table_name[combobox1.itemindex])
   else
     Query_kc.sql.Add('select cd,pm,dw,gg,kcs,dj,bz,ph,jhrq,pzwh,sb,yxq,ck_bh,wp_bm,bh,jj from '+table_name[combobox1.itemindex]);
   query_kc.sql.Add(' where bh='''+ypbh+'''');
   Query_kc.Prepare;
   Query_kc.open;
   Query_kc.FieldByName('ck_bh').DisplayLabel:='仓库编号';
   Query_kc.FieldByName('bh').DisplayLabel:='编号';
   Query_kc.FieldByName('pm').DisplayLabel:='物品名称';
   Query_kc.FieldByName('wp_bm').DisplayLabel:='物品编码';
   Query_kc.FieldByName('gg').DisplayLabel:='规格';
   Query_kc.FieldByName('kcs').DisplayLabel:='库存数';
   Query_kc.FieldByName('jhrq').DisplayLabel:='进货日期';
   Query_kc.FieldByName('dw').DisplayLabel:='单位';
   Query_kc.FieldByName('jj').DisplayLabel:='进价';
   Query_kc.FieldByName('dj').DisplayLabel:='单价';
   Query_kc.FieldByName('ph').DisplayLabel:='批号';
   if pos('中药',combobox1.text)>0 then
     Query_kc.FieldByName('jgdw').DisplayLabel:='加工单位'
   else
     begin
       Query_kc.FieldByName('sb').DisplayLabel:='商标';
       Query_kc.FieldByName('yxq').DisplayLabel:='有效期';
       Query_kc.FieldByName('pzwh').DisplayLabel:='批准文号';
       Query_kc.FieldByName('bz').DisplayLabel:='包装';
     end;
   Query_kc.FieldByName('cd').DisplayLabel:='产地';
   query_kc.EnableControls;
   sl:=strtofloat(Edit_sl.text);
   kcs:=Query_kc.FieldByName('kcs').asfloat;
   if Edit_ghdw.Text=''  then
     begin
       Application.MessageBox('请填写购货单位','提示', MB_OK+MB_ICONINFORMATION);
       exit;
     end;
   if combobox_bm.Text=''  then
     begin
       Application.MessageBox('请选择部门名称','提示', MB_OK+MB_ICONINFORMATION);
       exit;
     end;
   if combobox_ywy.Text='' then
     begin
       Application.MessageBox('业务员','提示', MB_OK+MB_ICONINFORMATION);
       exit;
     end;

   if (Edit_sl.Text='') or (strtofloat(Edit_sl.Text)=0.0)  then
     begin
       Application.MessageBox('请填写数量','提示', MB_OK+MB_ICONINFORMATION);
       exit
     end;

   if sl>kcs then
     begin
       Application.MessageBox('库存量不足','提示', MB_OK+MB_ICONINFORMATION);
       exit;
     end;
    Query_ckd.close;
    Query_ckd.UnPrepare;
    Query_ckd.sql.Clear;
    Query_ckd.sql.Add('select * from fpxxb');
    Query_ckd.sql.Add(' where fp_ph='''+Label_ckdh.Caption+'''');
    Query_ckd.Prepare;
    Query_ckd.open;
    Query_ckd.Edit;
    if Query_ckd.Eof then
      begin
        Query_ckd.Append;
        Query_ckd.FieldByName('fp_ph').asstring:=Label_ckdh.Caption;
        Query_ckd.FieldByName('kh_mc').asstring:=Trim(Edit_ghdw.Text);
        Query_ckd.FieldByName('kprq').asstring:=datetostr(DateTimePicker2.Date);
        Query_ckd.FieldByName('czy_xm').asstring:=Label_zdr.Caption;
        Query_ckd.FieldByName('ywy_xm').asstring:=combobox_ywy.Text;
      end;
       Query_kc.Edit;
       Query_kc.FieldByName('kcs').asfloat:=Query_kc.FieldByName('kcs').asfloat-sl;

       Query_xs.Append;
       Query_xs.FieldByName('xs_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring+formatdatetime('yyyymmddhhmmss',Frmmain.GetServerTime);
       Query_xs.FieldByName('pm').asstring:=Query_kc.fieldbyname('pm').asstring;
       Query_xs.FieldByName('cd').asstring:=Query_kc.fieldbyname('cd').asstring;
       Query_xs.FieldByName('gg').asstring:=Query_kc.fieldbyname('gg').asstring;
       Query_xs.FieldByName('dw').asstring:=Query_kc.fieldbyname('dw').asstring;
       Query_xs.FieldByName('jj').asstring:=Query_kc.fieldbyname('jj').asstring;
       Query_xs.FieldByName('dj').asfloat:=dj;
       Query_xs.FieldByName('sl').asstring:=Edit_sl.Text;
       Query_xs.FieldByName('je').asfloat:=dj*Strtofloat(Edit_sl.text);
       Query_xs.FieldByName('ph').asstring:=Query_kc.fieldbyname('ph').asstring;
       Query_xs.FieldByName('ck_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring;
       Query_xs.FieldByName('fp_ph').asstring:=Label_ckdh.Caption;
      if pos('中药',combobox1.Text)=0 then
       begin
         Query_xs.FieldByName('yxq').asstring:=Query_kc.fieldbyname('yxq').asstring;
         Query_xs.FieldByName('sb').asstring:=Query_kc.fieldbyname('sb').asstring;
         Query_xs.FieldByName('pzwh').asstring:=Query_kc.fieldbyname('pzwh').asstring;
       end;

       Query_xs.FieldByName('kh_mc').asstring:=trim(Edit_ghdw.Text);
       Query_xs.FieldByName('bm_mc').asstring:=combobox_bm.Text;
       Query_xs.FieldByName('ywy_xm').asstring:=combobox_ywy.Text;
       Query_xs.FieldByName('xsrq').asstring:=datetostr(DateTimePicker2.date);
       Query_xs.FieldByName('wp_bm').asstring:=Query_kc.fieldbyname('wp_bm').asstring;

       Try
         Database.StartTransaction;
         Query_ckd.Post;
         Query_xs.Post;
         Query_kc.Post;
         Database.Commit;
       Except
         Database.Rollback;
         Application.MessageBox('数据提交错误','提示', MB_OK+MB_ICONINFORMATION);
         exit;
       End;
      tmp_table.open;
      tmp_table.Append;
      tmp_table.FieldByName('pm').asstring:=Query_kc.fieldbyname('pm').asstring;
      tmp_table.FieldByName('sl').asstring:=Edit_sl.Text;
      tmp_table.FieldByName('dj').asfloat:=dj;
      tmp_table.FieldByName('je').asfloat:=dj*strtofloat(Edit_sl.text);
      tmp_table.FieldByName('ck_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring;
      tmp_table.FieldByName('gg').asstring:=Query_kc.fieldbyname('gg').asstring;
      tmp_table.FieldByName('dw').asstring:=Query_kc.fieldbyname('dw').asstring;
      if pos('中药',combobox1.Text)=0 then
       begin
         tmp_table.FieldByName('yxq').asstring:=Query_kc.fieldbyname('yxq').asstring;
         tmp_table.FieldByName('sb').asstring:=Query_kc.fieldbyname('sb').asstring;
         tmp_table.FieldByName('pzwh').asstring:=Query_kc.fieldbyname('pzwh').asstring;
          R:=frac(strtofloat(Edit_sl.Text)/Query_kc.fieldbyname('bz').asfloat);
          if r=0.0 then
            tmp_table.FieldByName('js').asfloat:=strtofloat(Edit_sl.Text) / Query_kc.fieldbyname('bz').asfloat
          else
            tmp_table.FieldByName('js').asfloat:=0;
       end;
       tmp_table.FieldByName('ph').asstring:=Query_kc.fieldbyname('ph').asstring;
       tmp_table.FieldByName('cd').asstring:=Query_kc.fieldbyname('cd').asstring;
       tmp_table.Post;
       jetotal:=jetotal+tmp_table.FieldByName('je').asfloat;
       Label_zje.Caption:=format('¥%.2f',[jetotal]);
       Edit_sl.Clear;
       Edit_dj.Clear;
       Edit_bm.Clear;
       Edit_bm.SetFocus;
   end;
end;

procedure TFrmwzck.BitBtn2Click(Sender: TObject);
begin
  Frmwzck.OnShow(Self);
  bitbtn4.Enabled:=true;
end;

procedure TFrmwzck.BitBtn1Click(Sender: TObject);
 var   hjtotal:real;
begin
  if (not tmp_table.Bof) or (not tmp_table.Eof) then
    begin
      Query_ckxx.close;
      Query_ckxx.UnPrepare;
      Query_ckxx.sql.Clear;
      Query_ckxx.sql.Add('select * from ckxxb');
      Query_ckxx.Prepare;
      Query_ckxx.open;
      Query_ckxx.First;
      while not Query_ckxx.Eof do
       begin
         tmp_query.close;
         tmp_query.UnPrepare;
         tmp_query.sql.Clear;
         tmp_query.sql.Add('select * from '+tmp_table.TableName);
         tmp_query.sql.Add(' where ck_bh='''+Query_ckxx.fieldbyname('ck_bh').asstring+'''');
         tmp_query.sql.Add(' order by ck_bh,pm');
         tmp_query.Prepare;
         tmp_query.open;
         if  not tmp_Query.Eof then
           begin
             Query_sum.close;
             Query_sum.UnPrepare;
             Query_sum.sql.Clear;
             Query_sum.sql.Add('select sum(je) as hj from '+tmp_table.TableName);
             Query_sum.sql.Add(' where ck_bh='''+Query_ckxx.fieldbyname('ck_bh').asstring+'''');
             Query_sum.Prepare;
             Query_sum.open;
             hjtotal:=query_sum.fieldbyname('hj').asfloat;
             Frmreport.quickrep1.DataSet:=tmp_Query;
             Frmreport.QRDBText_cd.DataSet:=tmp_Query;
             Frmreport.QRDBText_pm.DataSet:=tmp_Query;
             Frmreport.QRDBText_gg.DataSet:=tmp_Query;
             Frmreport.QRDBText_dw.DataSet:=tmp_Query;
             Frmreport.QRDBText_sl.DataSet:=tmp_Query;
             Frmreport.QRDBText_dj.DataSet:=tmp_Query;
             Frmreport.QRDBText_je.DataSet:=tmp_Query;
             Frmreport.QRDBText_ph.DataSet:=tmp_Query;
             Frmreport.QRDBText_pzwh.DataSet:=tmp_Query;
             Frmreport.QRDBText_yxq.DataSet:=tmp_Query;
             Frmreport.QRDBText_js.DataSet:=tmp_Query;
             Frmreport.QRlabel_ghdw.Caption:=trim(edit_ghdw.Text);
             Frmreport.QRlabel_ck.Caption:=Query_ckxx.fieldbyname('ck_mc').asstring;
             Frmreport.QRlabel_xsrq.Caption:=formatdatetime('yyyy-mm-dd',DateTimePicker2.date);
             Frmreport.QRLabel_ph.Caption:=Label_ckdh.Caption;
             Frmreport.QRlabel_czy.Caption:=Label_zdr.Caption;
             Frmreport.QRlabel_bm.Caption:=combobox_bm.Text;
             Frmreport.QRlabel_ywy.Caption:=combobox_ywy.Text;
             Frmreport.QRlabel_hj.Caption:=format('¥%.2f',[hjtotal]);
             Frmreport.QRlabel_zje.Caption:=Label_zje.Caption;

             Frmreport.QuickRep1.page.Length:=197+tmp_query.RecordCount*28;
             Frmreport.QuickRep1.Prepare;
             //Frmreport.QuickRep1.Preview;
             Frmreport.QuickRep1.print;
           end;
         Query_ckxx.Next;
       end;
     edit_sl.Clear;
     Edit_bm.Clear;
     Edit_ghdw.Clear;
     bitbtn2.Enabled:=true;
     bitbtn4.Enabled:=false;
    end
end;

procedure TFrmwzck.Edit_slKeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9','.','-',#8]) then key:=#0;
end;

procedure TFrmwzck.Edit_djKeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in['0'..'9','.',#8]) then key:=#0;
end;

procedure TFrmwzck.ComboBox_bmExit(Sender: TObject);
begin
   combobox_ywy.Clear;
   Query_ywy.close;
   Query_ywy.UnPrepare;
   Query_ywy.sql.Clear;
   Query_ywy.sql.Add('select * from ywyb');
   Query_ywy.sql.Add(' where bm_bh='''+bm_bh[combobox_bm.itemindex]+'''');
   Query_ywy.Prepare;
   Query_ywy.open;
   while not Query_ywy.Eof do
    begin
     combobox_ywy.Items.Add(Query_ywy.fieldbyname('ywy_xm').asstring);
     Query_ywy.Next;
    end;
end;

procedure TFrmwzck.BitBtn3Click(Sender: TObject);
begin
  Self.Close;
end;

procedure TFrmwzck.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=CaFree;
end;

procedure TFrmwzck.Query_kcAfterScroll(DataSet: TDataSet);
begin
   Edit_dj.Text:=Query_kc.fieldbyname('dj').asstring;
   Query_ckxx.close;
   Query_ckxx.UnPrepare;
   Query_ckxx.sql.Clear;
   Query_ckxx.sql.Add('select * from ckxxb');
   Query_ckxx.sql.Add(' where ck_bh='''+Query_kc.fieldbyname('ck_bh').asstring+'''');
   Query_ckxx.Prepare;
   Query_ckxx.open;
   Edit_hsj.Text:=format('%.2f',[Query_kc.fieldbyname('jj').asfloat*(1+Query_ckxx.fieldbyname('sl').asfloat)]);
end;

end.

⌨️ 快捷键说明

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