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

📄 main.pas

📁 PosEasy收银系统源码,Pos机前后台管理代码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
                       else
                        begin
                        panduan:=true;
                        tmpquery2.Next;
                       end;
            end;
           end;
    if panduan=false then
    begin}

      if tmpQuery1.eof then
      begin
      showmessage('商品库中没有所销售商品的纪录,请检查');
      Exit;
      end;

      if tmpquery2['orgtotal']<0 then
       begin
        wuliubiaoji:='退货';
        wuliulaiyuan:='零售';
        //strlcat(wuliumubiao,PChar(tmpquery2['dept']),2);
        wuliumubiao:=tmpquery2['dept'];
       end
      else
       begin
        wuliubiaoji:='售出';
        //strlcat(PChar(wuliumubiao),PChar(tmpquery2['dept']),2);
        wuliulaiyuan:=tmpquery2['dept'];
        wuliumubiao:='零售';
       end;

      jinjia:=tmpquery1['进价'];
      shoujia:=tmpquery2['price'];
      cbje:=floattostr(tmpquery2['num']*tmpquery1['进价']);
      xsje:=(tmpquery2['num']*tmpquery2['price']);
      tmpsql:='insert into goodsflowbase(品名,牌号,规格,分类编码,等级,物流方向标记,物流来源,';
      tmpsql:=tmpsql+'物流目标,数量,单位,成本单价,销售单价,成本金额,销售金额,支付方式,操作员,操作日期,备注,保质期,部门编码,经手人,厂家代表,返货日期,修改纪录时间,条码,修改纪录日期)';
      tmpsql:=tmpsql+' values('''+trim(tmpquery2['name'])+''''+',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['牌号'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['规格'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['code'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['等级'])+''',';
      tmpsql:=tmpsql+''''+Trim(wuliubiaoji)+''',';
      tmpsql:=tmpsql+''''+Trim(wuliulaiyuan)+''',';
      tmpsql:=tmpsql+''''+Trim(wuliumubiao)+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['num'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['unit'])+''',';
      tmpsql:=tmpsql+jinjia+',';
      tmpsql:=tmpsql+shoujia+',';
      tmpsql:=tmpsql+cbje+',';
      tmpsql:=tmpsql+xsje+',';
      {if (tmpquery2['pay1']<>null) and (tmpquery2['pay2']<>null) or (tmpquery2['pay1']<>null)and (tmpquery2['pay3']<>null) or (tmpquery2['pay1']<>null) and (tmpquery2['pay4']<>null) or (tmpquery2['pay2']<>null) and
      (tmpquery2['pay3']<>null) or (tmpquery2['pay2']<>null)and (tmpquery2['pay4']<>null) or (tmpquery2['pay3']<>null)and (tmpquery2['pay4']<>null)or(tmpquery2['pay1']<>null)and (tmpquery2['pay2']<>null)and (tmpquery2['pay3']<>null)or
      (tmpquery2['pay1']<>null)and (tmpquery2['pay2']<>null)and (tmpquery2['pay4']<>null)or(tmpquery2['pay2']<>null)and (tmpquery2['pay3']<>null) and (tmpquery2['pay4']<>null) or (tmpquery2['pay1']<>null) and (tmpquery2['pay2']<>null) and (tmpquery2['pay3']<>null) and (tmpquery2['pay4']<>null)
      then tmpsql:=tmpsql+''''+trim('综合')+''','}
      if tmpquery2['pay1']<>null then tmpsql:=tmpsql+''''+trim('现金')+''','
             else  if tmpquery2['pay2']<>null then tmpsql:=tmpsql+''''+trim('支票')+''','
                   else if tmpquery2['pay3']<>null then tmpsql:=tmpsql+''''+trim('信用卡')
                        else if tmpquery2['pay4']<>null then tmpsql:=tmpsql+''''+trim('其他方式')+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['saler'])+''',';
      tmpsql:=tmpsql+''''+formatdatetime('20yy-mm-dd',tmpquery2['saledate'])+''',';
      if tmpquery1['备注']=null then tmpsql:=tmpsql+'null,'
        else tmpsql:=tmpsql+''''+trim(tmpquery1['备注'])+''',';
      tmpsql:=tmpsql+'null,';

      if tmpquery2['dept']=null then tmpsql:=tmpsql+'null,'
        else tmpsql:=tmpsql+''''+trim(tmpquery2['dept'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['clerk'])+''',';
      tmpsql:=tmpsql+'null,';

      tmpsql:=tmpsql+'null,';

      tmptime1:=tmpquery2.fieldbyname('saletime').asdatetime;

      tmptime2:=inttostr(year)+'-'+inttostr(month)+'-'+inttostr(day);
      tmpsql:=tmpsql+''''+formatdatetime('hh:mm:ss',tmptime1)+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['code'])+'''';
      tmpsql:=tmpsql+''''+formatdatetime('yy-mm-dd',strtodatetime(tmptime2))+''')';
      //tmpquery3:=tquery.Create(self);
      //tmpquery3.Databasename:='guohua1';
      with tmpquery3 do
        begin
          close;
          sql.Clear;
          sql.Add(tmpsql);
         // showmessage(tmpsql);
          prepare;
          execsql;
        end;
      tmpquery2.Next;
    end;
  tmpsql:='select a=max(修改纪录时间) from goodsflowbase where 物流方向标记=''售出'' or 物流方向标记=''退货''';
  tmpquery1:=tquery.Create(self);
  tmpquery1.Databasename:='guohua1';
  tmpquery1.Close;
  tmpquery1.SQL.Clear;
  tmpquery1.SQL.Add(tmpsql);
  tmpquery1.Prepare;
  tmpquery1.Open;
  //if tmpquery1['a']=Null then showmessage('a');
  tmpsql:='select b=max(修改纪录日期) from goodsflowbase where 物流方向标记=''售出'' or 物流方向标记=''退货''';
  tmpquery3:=tquery.Create(self);
  tmpquery3.Databasename:='guohua1';
  tmpquery3.Close;
  tmpquery3.SQL.Clear;
  tmpquery3.SQL.Add(tmpsql);
  tmpquery3.Prepare;
  tmpquery3.Open;
  tmpfile:=fillname;
  tmpquery2:=tquery.create(self);
  tmpquery2.Databasename:='E:\guohua\new\';
  tmpsql:='select * from '''+tmpfile+''' where op='''+trim('.')+'''';
  tmpquery2.close;
  tmpquery2.SQL.Clear;
  tmpquery2.SQL.Add(tmpsql);
  tmpquery2.Prepare;
  tmpquery2.open;
  //formatdatetime('hh:mm:ss',tmpquery1['a']);
  if tmpquery1['a']<>Null then
  begin
  //tmpquery2:=tquery.create(self);                                   //打开该文件
  //tmpquery2.Databasename:='E:\guohua\new\';
  tmpsql:='select * from '+''+tmpfile+''+' where  op='''+trim('.')+''' and saledate>'''+formatdatetime('mm/dd/yy',tmpquery3['b'])+'''';
  tmpquery2.close;
  tmpquery2.SQL.Clear;
  tmpquery2.SQL.Add(tmpsql);
  tmpquery2.Prepare;
  tmpquery2.open;
  end;
  while not tmpquery2.Eof do
     begin

      tmpsql:='select * from goodsbase where 条码='''+tmpquery2['code']+'''';
      tmpquery1:=tquery.Create(self);
      tmpquery1.Databasename:='guohua1';
      tmpquery1.Close;
      tmpquery1.SQL.Clear;
      tmpquery1.SQL.Add(tmpsql);
      tmpquery1.Open;

      {while not tmpquery2.Eof do  //判断库中记录是否比当前纪录新
          begin
             panduan:=false;
           if tmpquery1['条码']= null then break
           else
            begin
             if tmpquery1['操作日期']>tmpquery2.fieldbyname('saledate').asdatetime then tmpquery2.Next
             else
              begin
               if tmpquery1['操作日期']<tmpquery2.fieldbyname('saledate').asdatetime then tmpquery1.Next
                 else if (tmpquery1['操作日期']=tmpquery2.fieldbyname('saledate').asdatetime) and (tmpquery1['修改纪录时间']<tmpquery2.fieldbyname('saletime').asdatetime) then tmpquery1.Next
                       else
                        begin
                        panduan:=true;
                        tmpquery2.Next;
                       end;
            end;
           end;
    if panduan=false then
    begin}

      if tmpQuery1.eof then
      begin
      showmessage('商品库中没有所销售商品的纪录,请检查');
      Exit;
      end;

      if tmpquery2['orgtotal']<0 then
       begin
        wuliubiaoji:='退货';
        wuliulaiyuan:='零售';
        //strlcat(wuliumubiao,PChar(tmpquery2['dept']),2);
        wuliumubiao:=tmpquery2['dept'];
       end
      else
       begin
        wuliubiaoji:='售出';
        //strlcat(PChar(wuliumubiao),PChar(tmpquery2['dept']),2);
        wuliulaiyuan:=tmpquery2['dept'];
        wuliumubiao:='零售';
       end;

      jinjia:=tmpquery1['进价'];
      shoujia:=tmpquery2['price'];
      cbje:=floattostr(tmpquery2['num']*tmpquery1['进价']);
      xsje:=(tmpquery2['num']*tmpquery2['price']);
      tmpsql:='insert into goodsflowbase(品名,牌号,规格,分类编码,等级,物流方向标记,物流来源,';
      tmpsql:=tmpsql+'物流目标,数量,单位,成本单价,销售单价,成本金额,销售金额,支付方式,操作员,操作日期,备注,保质期,部门编码,经手人,厂家代表,返货日期,修改纪录时间,条码,修改纪录日期)';
      tmpsql:=tmpsql+' values('''+trim(tmpquery2['name'])+''''+',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['牌号'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['规格'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['code'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery1['等级'])+''',';
      tmpsql:=tmpsql+''''+Trim(wuliubiaoji)+''',';
      tmpsql:=tmpsql+''''+Trim(wuliulaiyuan)+''',';
      tmpsql:=tmpsql+''''+Trim(wuliumubiao)+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['num'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['unit'])+''',';
      tmpsql:=tmpsql+jinjia+',';
      tmpsql:=tmpsql+shoujia+',';
      tmpsql:=tmpsql+cbje+',';
      tmpsql:=tmpsql+xsje+',';
      {if (tmpquery2['pay1']<>null) and (tmpquery2['pay2']<>null) or (tmpquery2['pay1']<>null)and (tmpquery2['pay3']<>null) or (tmpquery2['pay1']<>null) and (tmpquery2['pay4']<>null) or (tmpquery2['pay2']<>null) and
      (tmpquery2['pay3']<>null) or (tmpquery2['pay2']<>null)and (tmpquery2['pay4']<>null) or (tmpquery2['pay3']<>null)and (tmpquery2['pay4']<>null)or(tmpquery2['pay1']<>null)and (tmpquery2['pay2']<>null)and (tmpquery2['pay3']<>null)or
      (tmpquery2['pay1']<>null)and (tmpquery2['pay2']<>null)and (tmpquery2['pay4']<>null)or(tmpquery2['pay2']<>null)and (tmpquery2['pay3']<>null) and (tmpquery2['pay4']<>null) or (tmpquery2['pay1']<>null) and (tmpquery2['pay2']<>null) and (tmpquery2['pay3']<>null) and (tmpquery2['pay4']<>null)
      then tmpsql:=tmpsql+''''+trim('综合')+''','}
      if tmpquery2['pay1']<>null then tmpsql:=tmpsql+''''+trim('现金')+''','
             else  if tmpquery2['pay2']<>null then tmpsql:=tmpsql+''''+trim('支票')+''','
                   else if tmpquery2['pay3']<>null then tmpsql:=tmpsql+''''+trim('信用卡')
                        else if tmpquery2['pay4']<>null then tmpsql:=tmpsql+''''+trim('其他方式')+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['saler'])+''',';
      tmpsql:=tmpsql+''''+formatdatetime('20yy-mm-dd',tmpquery2['saledate'])+''',';
      if tmpquery1['备注']=null then tmpsql:=tmpsql+'null,'
        else tmpsql:=tmpsql+''''+trim(tmpquery1['备注'])+''',';
      tmpsql:=tmpsql+'null,';

      if tmpquery2['dept']=null then tmpsql:=tmpsql+'null,'
        else tmpsql:=tmpsql+''''+trim(tmpquery2['dept'])+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['clerk'])+''',';
      tmpsql:=tmpsql+'null,';

      tmpsql:=tmpsql+'null,';

      tmptime1:=tmpquery2.fieldbyname('saletime').asdatetime;

      tmptime2:=inttostr(year)+'-'+inttostr(month)+'-'+inttostr(day);
      tmpsql:=tmpsql+''''+formatdatetime('hh:mm:ss',tmptime1)+''',';
      tmpsql:=tmpsql+''''+trim(tmpquery2['code'])+'''';
      tmpsql:=tmpsql+''''+formatdatetime('yy-mm-dd',strtodatetime(tmptime2))+''')';
      //tmpquery3:=tquery.Create(self);
      //tmpquery3.Databasename:='guohua1';
      with tmpquery3 do
        begin
          close;
          sql.Clear;
          sql.Add(tmpsql);
          //showmessage(tmpsql);
          prepare;
          execsql;
        end;
      tmpquery2.Next;
    end
  end
else
begin
showmessage('没有今天的销售纪录');
exit;
end;
tmpquery2.Free;
tmpquery1.Free;
//tmpquery3.Free;
end;




procedure Tmainfm.SpeedButton32Click(Sender: TObject);
var
 OpStruc:TSHFileOpStruct;
 FromBuf,ToBuf:Array[0..128] of char;
 present:tdatetime;
 year,month,day:word;
 fillname,fillname2,filldata,filldata2,laststr: string ;
begin
 //copy 销售数据
 present:=now;
 DecodeDate(Present, Year, Month, Day);
 filldata:=formatdatetime('yymmdd',now);
 fillname2:='Xs'+filldata+'.dbf';

 laststr:=copy(IntToStr(year),Length(IntToStr(year)),1);
 filldata2:=formatdatetime('mmdd',now);
 fillname:='Trd'+laststr+filldata2+'.1';
 showmessage(fillname);
 if FileExists(fillname2) then
 begin
   //删除旧文件
   DeleteFile(fillname);
   DeleteFile('Trd00'+inttostr(month)+inttostr(day)+'.2');
   DeleteFile('Trd00'+inttostr(month)+'0'+inttostr(day)+'.2');
 end;
 FillChar(FromBuf,Sizeof(FromBuf),0);
 FillChar(ToBuf,Sizeof(ToBuf),0);
 StrPCopy(FromBuf,Pchar('\\server\posfile\posfile\*.*'));
 StrPCopy(ToBuf,Pchar('e:\guohua\new\'));
 with OpStruc do
 begin
   Wnd:=handle;
   wFunc:=FO_COPY;
   pFrom:=@FromBuf;
   pTo:=@Tobuf;
   fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
   fAnyOperationsAborted:=False;
   hNameMappings:=nil;
   lpszProgressTitle:=nil;
 end;
 if SHFileOperation(OpStruc)=0 then
   messageBox(Handle,'复制完毕。','信息',MB_OK+MB_ICONINFORMATION);

   //转换二进制文件为*.dbf库//
  winexec('E:\guohua\new\Exptrade.exe',1);
end;



procedure Tmainfm.SpeedButton30Click(Sender: TObject);
var
  tmpquery2:tquery;
  present,tmptime:tdatetime;
  Year, Month, Day: Word;
  tmpint:integer;
  tmpsql,tmpfile,time,sday,filldata,fillname,sdate:string;
  tmpbiaozhi:integer;
begin
  present:=now;
  DecodeDate(Present, Year, Month, Day);
  filldata:=formatdatetime('yymmdd',now);
  fillname:='Xs'+filldata+'.dbf';
 { if day<10 then sday:='0'+inttostr(day)
   else sday:=inttostr(day); }
  if fileexists(fillname) then
   begin

      //打开xs000***.dbf
      tmpfile:=fillname;
      tmpint:=queryrefresh['当前库存'];

      tmpquery2:=tquery.create(self);
      tmpquery2.Databasename:='E:\guohua\new\';
      tmpsql:='select * from '''+tmpfile+''' where op<>'''+trim('T')+'''';
      tmpquery2.close;
      tmpquery2.SQL.Clear;
      tmpquery2.SQL.Add(tmpsql);
      tmpquery2.Prepare;
      tmpquery2.open;


     while not tmpquery2.Eof do
     begin
          //打开goodsbase
          tmpsql:='select * from goodsbase where 条码='''+trim(tmpquery2['code'])+'''';
          queryrefresh.close;
          queryrefresh.SQL.Clear;
          queryrefresh.SQL.Add(tmpsql);
          queryrefresh.Prepare;
          queryrefresh.open;

        while not queryrefresh.Eof do
           begin
                present:=tmpquery2['saledate'];
                DecodeDate(Present, Year, Month, Day);
                sdate:=copy(IntToStr(year+100),3,2)+'/'+IntToStr(Month)+'/'+IntToStr(Day);
                sdate:=sdate+' '+tmpquery2['saletime'];
                //showmessage(datetimetostr(queryrefresh['最后更新日期']));
                if datetimetostr(queryrefresh['最后更新日期'])<sdate then
                 begin
                   tmpint:=queryrefresh['当前库存'];
                   tmpint:=tmpint-strtoint(tmpquery2['num']);//得到差量
                   tmpsql:='update goodsbase set 当前库存='''+trim(inttostr(tmpint))+'''where 条码='''+trim(tmpquery2['code'])+'''';
                   tmpsql:=tmpsql+'update goodsbase set 最后更新日期='''+formatdatetime('yyyy-mm-dd hh:mm:ss',strtodatetime(sdate))+''' where 条码='''+trim(tmpquery2['code'])+'''';
                   with queryrefresh do
                     begin
                       close;
                       sql.clear;
                       sql.Add(tmpsql);
                       prepare;
                       execsql;
                     end;
                 end
                 else break;
           end;
          tmpquery2.Next;
   end;
   tmpsql:='select * from goodsbase';
   queryrefresh.Close;
   queryrefresh.SQL.Clear;
   queryrefresh.SQL.Add(tmpsql);
   queryrefresh.Prepare;
   queryrefresh.Open
   end
   else
      begin
          showmessage('no file found!');
          exit;
      end;

end;

procedure Tmainfm.SpeedButton34Click(Sender: TObject);
begin
   while  Querysupplier.Eof do
   begin
    showmessage('供货商纪录为空,请输入纪录');
    exit;
   end;
   application.CreateForm(tfrmaddnewgoods,frmaddnewgoods);
   frmaddnewgoods.ShowModal;
end;

procedure Tmainfm.SpeedButton35Click(Sender: TObject);
var
  tmpsql1,changjia:string;
  tmpquery1:tquery;
begin
if MessageDlg('你确实想删除当前的这条纪录

⌨️ 快捷键说明

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