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

📄 unit3.pas

📁 PosEasy收银系统源码,Pos机前后台管理代码
💻 PAS
📖 第 1 页 / 共 3 页
字号:


          prepare;
          execsql;


        end;
     end;

   with mainform.QueryInsert do
        begin
         
         tmpsql:='Insert Into trade(op,ecr,clerk,tmpclerk,saler,saledate,saletime,sno,orgtotal,total,totaldis,totalsub,';
         tmpsql:=tmpsql+'pay1,pay2,pay3,pay4,pay5,pay6,cardnum,change,dept,code,name,discount,num,price,amount,sub,imark)';
         tmpsql:=tmpsql+' values(''T'','''+tmpposcode+''','''+tmpclerk+''','''+tmpbkclerk+''','''+tmpsaler+''','''+date+''','''+time+''',';
         tmpsql:=tmpsql+''''+inttostr(sno)+''',:ysje,:xjje,:xjzk,:xjzr,:pay1,:pay2,:pay3,:pay4,:pay5,:pay6,'''+tmpnumcode+''',:change,''T'',''T'',';
         tmpsql:=tmpsql+'''T'',0,0,';
         tmpsql:=tmpsql+'0,0,0,''0'')';
         close;
         sql.clear;
         sql.add(tmpsql);

         parambyname('ysje').asfloat:= strtofloat(mainform.edit1.text);

         if (form3.Edit1.Text='') or (form3.Edit1.Text='0') then
           parambyname('xjje').asfloat:= strtofloat(form3.edittotal.text)
         else
           parambyname('xjje').asfloat:= strtofloat(form3.edit1.text)-strtofloat(form3.edit2.text);

         if (form3.Edit9.Text='') or (form3.Edit9.Text='0') then
             parambyname('xjzk').asfloat:=0
         else
           parambyname('xjzk').asfloat:= strtofloat(form3.edit9.text);

         if (mainform.Edittotalsub.Text='') then
             parambyname('xjzr').asfloat:=0
         else
           parambyname('xjzr').asfloat:= strtofloat(mainform.edittotalsub.text);
         if form3.edit1.Text='' then
          begin
           parambyname('pay1').asfloat:= strtofloat(mainform.edit1.Text);
           parambyname('pay2').asfloat:= 0;
           parambyname('pay3').asfloat:= 0;
           parambyname('pay4').asfloat:= 0;
           parambyname('pay5').asfloat:= 0;           //店内票据
           parambyname('pay6').asfloat:= 0;           //挂帐
          end
          else
          begin

          tmpzq:=strtofloat(form3.edit2.text);
          if form3.edit3.text='' then
            parambyname('pay1').asfloat:=0-tmpzq
          else
           parambyname('pay1').asfloat:= strtofloat(form3.edit3.text)-tmpzq;

          if form3.edit4.text='' then
            parambyname('pay2').asfloat:=0
          else
            parambyname('pay2').asfloat:= strtofloat(form3.edit4.Text);

          if form3.edit5.text='' then
            parambyname('pay3').asfloat:=0
          else
           parambyname('pay3').asfloat:= strtofloat(form3.edit5.text);

          if form3.edit6.text='' then
           parambyname('pay4').asfloat:=0
          else
           parambyname('pay4').asfloat:= strtofloat(form3.edit6.text);

          if form3.edit7.text='' then
           parambyname('pay5').asfloat:=0
          else
           parambyname('pay5').asfloat:= strtofloat(form3.edit7.text);


          if form3.edit8.text='' then
           parambyname('pay6').asfloat:=0
          else
           parambyname('pay6').asfloat:= strtofloat(form3.edit8.text);

          if form3.edit2.text='' then
           parambyname('change').asfloat:=0
          else
           parambyname('change').asfloat:= strtofloat(form3.edit2.text);
          end;

          prepare;
          execsql;



        end;
   //事物提交

   form1.database1.Commit;
  except
   form1.database1.Rollback;
   messagebox(form3.handle,'现在转入单机模式','提示',MB_OK+MB_ICONINFORMATION);
   mainform.Labelstate.Caption:='单机';
   form1.database1.Close;
   form1.database1.AliasName:='curposdata';
   form1.database1.Open;
   //事物开始
    form1.database1.StartTransaction;


  try
   //读取最大的交易流水号
   with mainform.QueryInsert do
    begin
     tmpsql:='select max(sno) as Msno from trade';
     close;
     sql.Clear;
     sql.Add(tmpsql);

     try
      prepare;
      open;
     except
      messagebox(form3.handle,'最大流水号读取失败','错误',MB_OK);
      exit;
     end;
    end;

   if mainform.QueryInsert['msno']=null then
     sno:=0
   else
     sno:=mainform.QueryInsert['msno']+1;


    date:=formatdatetime('yyyy-mm-dd',now);
    time:=formatdatetime('hh:nn:ss',now);
    tmpclerk:=mainform.editclerk.text;
    tmpbkclerk:=mainform.editbkclerk.text;
    tmpsaler:=mainform.editsaler.text;
    for i:=0 to row-1 do

     begin
      with mainform.QueryInsert do
        begin

         tmpsql:='Insert Into trade(op,ecr,clerk,tmpclerk,saler,saledate,saletime,sno,orgtotal,total,totaldis,totalsub,';
         tmpsql:=tmpsql+'pay1,pay2,pay3,pay4,pay5,pay6,cardnum,change,dept,code,name,discount,num,price,amount,sub,imark)';
         tmpsql:=tmpsql+' values(''G'','''+tmpposcode+''','''+tmpclerk+''','''+tmpbkclerk+''','''+tmpsaler+''','''+date+''','''+time+''',';
         tmpsql:=tmpsql+''''+inttostr(sno)+''',0,0,0,0,0,0,0,0,0,0,''0'',0,'''+mainform.stringGrid1.cells[2,i]+''','''+mainform.stringGrid1.cells[0,i]+''','''+trim(mainform.stringGrid1.cells[1,i])+''',';
         tmpsql:=tmpsql+''''+mainform.stringGrid1.cells[5,i]+''','''+mainform.stringGrid1.cells[4,i]+''',';
         tmpsql:=tmpsql+':tmpdj,:tmpje,:tmpzr,''0'')';


         close;
         sql.clear;
         sql.add(tmpsql);
         parambyname('tmpdj').asfloat:= strtofloat(mainform.stringGrid1.cells[3,i]);
         parambyname('tmpje').asfloat:= strtofloat(mainform.stringGrid1.cells[6,i]);
         parambyname('tmpzr').asfloat:= strtofloat(mainform.stringGrid1.cells[7,i]);


          prepare;
          execsql;



        end;
     end;

   with mainform.QueryInsert do
        begin

         tmpsql:='Insert Into trade(op,ecr,clerk,tmpclerk,saler,saledate,saletime,sno,orgtotal,total,totaldis,totalsub,';
         tmpsql:=tmpsql+'pay1,pay2,pay3,pay4,pay5,pay6,cardnum,change,dept,code,name,discount,num,price,amount,sub,imark)';
         tmpsql:=tmpsql+' values(''T'','''+tmpposcode+''','''+tmpclerk+''','''+tmpbkclerk+''','''+tmpsaler+''','''+date+''','''+time+''',';
         tmpsql:=tmpsql+''''+inttostr(sno)+''',:ysje,:xjje,:xjzk,:xjzr,:pay1,:pay2,:pay3,:pay4,:pay5,:pay6,'''+tmpnumcode+''',:change,''T'',''T'',';
         tmpsql:=tmpsql+'''T'',0,0,';
         tmpsql:=tmpsql+'0,0,0,''0'')';
         close;
         sql.clear;
         sql.add(tmpsql);
         parambyname('ysje').asfloat:= strtofloat(mainform.edit1.text);

         if (form3.Edit1.Text='') or (form3.Edit1.Text='0') then
           parambyname('xjje').asfloat:= strtofloat(form3.edittotal.text)
         else
           parambyname('xjje').asfloat:= strtofloat(form3.edit1.text)-strtofloat(form3.edit2.text);

         if (form3.Edit9.Text='') or (form3.Edit9.Text='0') then
             parambyname('xjzk').asfloat:=0
         else
           parambyname('xjzk').asfloat:= strtofloat(form3.edit9.text);
         if (mainform.Edittotalsub.Text='') then
             parambyname('xjzr').asfloat:=0
         else
           parambyname('xjzr').asfloat:= strtofloat(mainform.edittotalsub.text);

         if form3.edit1.Text='' then
          begin
           parambyname('pay1').asfloat:= strtofloat(mainform.edit1.Text);
           parambyname('pay2').asfloat:= 0;
           parambyname('pay3').asfloat:= 0;
           parambyname('pay4').asfloat:= 0;
           parambyname('pay5').asfloat:= 0;           //店内票据
           parambyname('pay6').asfloat:= 0;           //挂帐
          end
          else
          begin

          tmpzq:=strtofloat(form3.edit2.text);
          if form3.edit3.text='' then
            parambyname('pay1').asfloat:=0-tmpzq
          else
           parambyname('pay1').asfloat:= strtofloat(form3.edit3.text)-tmpzq;

          if form3.edit4.text='' then
            parambyname('pay2').asfloat:=0
          else
            parambyname('pay2').asfloat:= strtofloat(form3.edit4.Text);

          if form3.edit5.text='' then
            parambyname('pay3').asfloat:=0
          else
           parambyname('pay3').asfloat:= strtofloat(form3.edit5.text);

          if form3.edit6.text='' then
           parambyname('pay4').asfloat:=0
          else
           parambyname('pay4').asfloat:= strtofloat(form3.edit6.text);

          if form3.edit7.text='' then
           parambyname('pay5').asfloat:=0
          else
           parambyname('pay5').asfloat:= strtofloat(form3.edit7.text);


          if form3.edit8.text='' then
           parambyname('pay6').asfloat:=0
          else
           parambyname('pay6').asfloat:= strtofloat(form3.edit8.text);


          if form3.edit2.text='' then
           parambyname('change').asfloat:=0
          else
           parambyname('change').asfloat:= strtofloat(form3.edit2.text);
          end;



          prepare;
          execsql;



        end;

      //事物提交
      form1.database1.Commit;
    except
      form1.database1.Rollback;
      messagebox(form3.handle,'数据写入服务器失败','错误',MB_OK);

      exit;
    end;
  end;

 if mainform.IsPrinted then
 begin
  //发并口打印
  //打开lpt1口

 try
   stc522open('2');

   writestring('             蓝邮数码科技有限公司'); //SWORDZJ改
   writestring('             北京电子商务服务中心'); //SWORDZJ改
   writestring('');
   tmpposcode:=trim(mainform.Labelposcode.text);
   tmpdate:=formatdatetime('yyyy-mm-dd hh:mm',now);
   writestring('收款机:'+tmpposcode+'      '+'收款员:'+mainform.editclerk.Text);
   writestring('日期:'+tmpdate+' '+'流水号:'+inttostr(sno));
   writestring('编码   品名  单价  数量  金额');
   writestring('--------------------------------');
  //打印数据
   for i:=0 to row-1 do
   begin
    writestring(mainform.stringGrid1.cells[0,i]+''+mainform.stringGrid1.cells[1,i]+' '+mainform.stringGrid1.cells[3,i]+'   '+mainform.stringGrid1.cells[4,i]+'   '+mainform.stringGrid1.cells[6,i]);
   end;
   writestring('--------------------------------');
   //打印总计
   if (edit1.Text='') or (edit1.Text='0') then
     begin
      tmpreceive:=edittotal.text;
      tmpback:='0';
     end
     else
     begin
      tmpreceive:=edit1.text;
      tmpback:=edit2.text;
     end;
   writestring('合计金额:'+mainform.edit1.text);
   writestring('应收金额:'+edittotal.text);
   writestring('实收金额:'+tmpreceive+'  '+'找零:'+tmpback);
   if edit3.Text<>'' then
     writestring('现金:'+edit3.Text);
   if edit4.Text<>'' then
     writestring('支票:'+edit4.Text);
   if edit5.Text<>'' then
     writestring('信用卡:'+edit5.Text);
   if edit6.Text<>'' then
     writestring('其他票据:'+edit6.Text);
   if edit7.Text<>'' then
     writestring('店内票据:'+edit7.Text);
   if edit8.Text<>'' then
     writestring('挂帐:'+edit8.Text);
   writestring('      谢谢惠顾  欢迎再来!');
   writestring('          顾客留存!');
   writestring(' ');
   writestring('联系电话:63172650');   //swordzj 加
   for i:=1 to 8 do
   writestring('');


   //切纸
   writestring(chr($1b)+chr($69));
  //关闭端口
   stc522close('2');
  except
    messagebox(form3.handle,'打印机没准备好!','提示',MB_OK+MB_ICONINFORMATION);
    exit;
  end;
 end;

 // 清屏幕
    for i:=0 to row-1 do
      for j:=0 to 7 do
       begin
        mainform.stringGrid1.Cells[j,i]:='';
       end;
       mainform.edit1.text:='';
       mainform.edit2.text:='';
       mainform.edit3.text:='';
       mainform.Editsaler.Text:='';
       mainform.Edittotalsub.Text:='';
       row:=0;

end;

end.

⌨️ 快捷键说明

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