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

📄 thunit.pas

📁 一个票据管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
        parameters.ParamByName('a').Value:=id;
        parameters.ParamByName('b').Value:=sl-strtofloat(edit5.Text);
        parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit7.text)+1)));
        Execsql;
      end;
    end
    else
    begin
      with dmdata.editADOQuery do
      begin
        close;
        sql.Clear;
        sql.Add('insert into t_th(ql_id,rq,sl,qxhm,jxhm,thbm,qt,thr,ms_id,th_qt) values(:a,:b,:c,:d,:e,:f,:g,:h,:i,:l)');
        parameters.ParamByName('a').Value:=ql_id;
        parameters.parambyname('b').value:=datetostr(datetimepicker2.Date);
        parameters.ParamByName('c').Value:=(strtofloat(edit6.Text)-strtofloat(qxhm))/unm;
        parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(qxhm));
        parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit6.Text)-1)));
        parameters.ParamByName('f').Value:=trim(lybm);
        parameters.ParamByName('g').Value:=qt;
        parameters.ParamByName('h').Value:=trim(lyr);
        parameters.ParamByName('i').Value:=ms_id;
        parameters.ParamByName('l').Value:=th_qt;
        Execsql;
      end;
      with dmdata.KqeditADOQuery do
      begin
         close;
         sql.Clear;
         sql.Add('update t_th set sl = :b,qxhm = :c where id = :a');
         parameters.ParamByName('a').Value:=id;
         parameters.ParamByName('b').Value:=sl-(strtofloat(edit6.Text)-strtofloat(qxhm))/unm-strtofloat(edit5.Text);
         parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit7.text)+1)));
         Execsql;
      end;
   end;
 end;
 with dmdata.KqqsADOQuery do
 begin
    close;
    sql.Clear;
    sql.Add('select a.ql,b.ms_id,b.ql_id,b.rq,b.sl,b.qxhm,b.jxhm,b.kqbm from t_bjql as a inner join t_kqb as b on a.km = b.ql_id where(qt = 1) and (id=:a)' );
    parameters.ParamByName('a').Value:=strtofloat(labelid2.Caption);
    open;
    if (RecordCount > 0) and (strtofloat(fieldbyname('qxhm').AsString)=(strtofloat(edit7.Text)+1)) then
    begin
      kqsl:=fieldbyname('sl').AsInteger;
      kqqxhm:=fieldbyname('qxhm').AsString;
      with dmdata.KqeditADOQuery do
      begin
        close;
        sql.Clear;
        sql.Add('update t_kqb set sl = :b,qxhm = :c where id = :a');
        parameters.ParamByName('a').Value:=strtofloat(labelid2.Caption);
        parameters.ParamByName('b').Value:=kqsl+strtofloat(edit5.Text);
        parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(kqqxhm)-strtofloat(edit5.Text)*unm)));
        Execsql;
      end;
      begin
        close;
        sql.Clear;
        sql.Add('update t_ms_jl set sl = :b,qxhm = :c where id = :a');
        parameters.ParamByName('a').Value:=ms_id;
        parameters.ParamByName('b').Value:=kqsl+strtofloat(edit5.Text);
        parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(kqqxhm)-strtofloat(edit5.Text)*unm)));
        Execsql;
      end;
      end
      else
      begin
        with dmdata.kqeditADOQuery do
        begin
           close;
           sql.Clear;
           sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,kqbm,qt) values(:a,:b,:c,:d,:e,:f,:g,:h)');
           parameters.ParamByName('a').Value:=ms_id;
           parameters.ParamByName('b').Value:=ql_id;
           parameters.parambyname('c').value:=datetostr(datetimepicker2.Date);
           parameters.ParamByName('d').Value:=strtofloat(edit5.Text);
           parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit6.Text));
           parameters.ParamByName('f').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit7.Text));
           parameters.ParamByName('g').Value:=trim(lybm);
           parameters.ParamByName('h').Value:=1;
           Execsql;
        end;
        with dmdata.kqeditADOQuery do
        begin
           close;
           sql.Clear;
           sql.Add('insert into t_ms_jl(ql_id,rq,sl,qxhm,jxhm,lybm,qt,jbr) values(:b,:c,:d,:e,:f,:g,:h,:a)');
           parameters.ParamByName('a').Value:=trim(edit8.text);//ms_id;
           parameters.ParamByName('b').Value:=ql_id;
           parameters.parambyname('c').value:=datetostr(datetimepicker2.Date);
           parameters.ParamByName('d').Value:=strtofloat(edit5.Text);
           parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit6.Text));
           parameters.ParamByName('f').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit7.Text));
           parameters.ParamByName('g').Value:=trim(lybm);
           parameters.ParamByName('h').Value:=2;
           Execsql;
        end;
      end;
  end;
    delnewll;
   thbmnewll;
   combobox4change(Sender);
  bmthnewll;
   kqhznewll;
  combobox3.Text:='';
  edit5.Text:='';
  edit6.Text:='';
  edit7.Text:='';
  edit8.Text:='';
  edit5.SetFocus;
  button4.Enabled:=false;

end;
procedure TThForm.edit1change(Sender: TObject);
begin
   if ((edit1.Text <> '') and (edit2.Text <> '')) then
   begin
    edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);
   end
   else
     exit;
end;

procedure TThForm.edit2change(Sender: TObject);
begin
   if ((edit1.Text <> '') and (edit2.Text <> '') and (edit3.Text <>'')) then
   begin
    edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);
   end
   else
     exit;
end;

procedure TThForm.edit5change(Sender: TObject);
begin
   if ((edit5.Text <> '') and (edit6.Text <> '')) then
   begin
    edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
   end
   else
     exit;
end;

procedure TThForm.edit6change(Sender: TObject);
begin
   if ((edit5.Text <> '') and (edit6.Text <> '') and (edit7.Text <>'')) then
   begin
    edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
   end
   else
     exit;
end;

procedure TThForm.dbgrideh6celclick(Column: TColumnEh);
begin
   with dmdata.bmthADOQuery do
   begin
     if RecordCount > 0 then
      begin
        labelid2.Caption:=floattostr(dmdata.bmthADOQuery.fieldbyname('qt').AsInteger);
        edit5.Text:=floattostr(dmdata.bmthADOQuery.fieldbyname('sl').AsInteger);
        edit6.Text:=dmdata.bmthADOQuery.fieldbyname('qxhm').AsString;
        edit7.Text:=dmdata.bmthADOQuery.fieldbyname('jxhm').AsString;
        combobox4.Text:= dmdata.bmthADOQuery.fieldbyname('dwbm').AsString;
        edit8.Text:=dmdata.bmthADOQuery.fieldbyname('thr').AsString;
        id:=dmdata.bmthADOQuery.fieldbyname('id').AsInteger;
        ql_id:=dmdata.bmthADOQuery.fieldbyname('ql_id').AsString;
        sl:= dmdata.bmthADOQuery.fieldbyname('sl').AsInteger;
        qxhm:=dmdata.bmthADOQuery.fieldbyname('qxhm').AsString;
        jxhm:=dmdata.bmthADOQuery.fieldbyname('jxhm').AsString;
        ms_id:=dmdata.bmthADOQuery.fieldbyname('ms_id').asinteger;
        lybm:=dmdata.bmthADOQuery.fieldbyname('thbm').AsString;
        qt:=dmdata.bmthADOQuery.fieldbyname('qt').AsInteger;
        lyr:=dmdata.bmthADOQuery.fieldbyname('thr').AsString;
        th_qt:= dmdata.bmthADOQuery.fieldbyname('th_qt').AsInteger;
      end;
    end;
   with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where km= :a');
     parameters.ParamByName('a').Value:=dmdata.bmthADOQuery.fieldbyname('ql_id').AsString;
     open;
     combobox3.Text:=fieldbyname('ql').AsString;
     unm:= fieldByName('mbf').AsInteger;
   end;
   thkqmsnewll;
   button3.Enabled:=false;
   button4.Enabled:=true;
end;

procedure TThForm.dbgrideh2cellclick(Column: TColumnEh);
begin
    with dmdata.KqmsADOQuery do
   begin
     if RecordCount > 0 then
      begin
        labelid1.Caption:=floattostr(dmdata.KqmsADOQuery.fieldbyname('id').AsInteger);
        combobox1.Text:= dmdata.KqmsADOQuery.fieldbyname('ql').AsString;
        edit1.Text:=floattostr(dmdata.KqmsADOQuery.fieldbyname('sl').AsInteger);
        edit2.Text:=dmdata.KqmsADOQuery.fieldbyname('qxhm').AsString;
        edit3.Text:=dmdata.KqmsADOQuery.fieldbyname('jxhm').AsString;
      end;
    end;
    edit4.Text:='';
   with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where ql= :a');
     parameters.ParamByName('a').Value:=trim(combobox1.Text);
     open;
     unm:= fieldByName('mbf').AsInteger;
   end;
   button1.Enabled:=true;
   button2.Enabled:=false;
end;

procedure TThForm.dbgrideh3cellclick(Column: TColumnEh);
begin
     with dmdata.thADOQuery do
   begin
     if RecordCount > 0 then
      begin
        labelid1.Caption:=floattostr(dmdata.thADOQuery.fieldbyname('qt').AsInteger);
        edit1.Text:=floattostr(dmdata.thADOQuery.fieldbyname('sl').AsInteger);
        edit2.Text:=dmdata.thADOQuery.fieldbyname('qxhm').AsString;
        edit3.Text:=dmdata.thADOQuery.fieldbyname('jxhm').AsString;
        combobox2.Text:= dmdata.thADOQuery.fieldbyname('thbm').AsString;
        edit4.Text:=dmdata.thADOQuery.fieldbyname('thr').AsString;
        id:=dmdata.thADOQuery.fieldbyname('id').AsInteger;
        ql_id:=dmdata.thADOQuery.fieldbyname('ql_id').AsString;
        sl:= dmdata.thADOQuery.fieldbyname('sl').AsInteger;
        qxhm:=dmdata.thADOQuery.fieldbyname('qxhm').AsString;
        jxhm:=dmdata.thADOQuery.fieldbyname('jxhm').AsString;
        ms_id:=dmdata.thAdoquery.fieldbyname('ms_id').asinteger;
        lybm:=dmdata.thADOQuery.fieldbyname('thbm').AsString;
        qt:=dmdata.thADOQuery.fieldbyname('qt').AsInteger;
        lyr:=dmdata.thADOQuery.fieldbyname('thr').AsString;
        th_qt:= dmdata.thADOQuery.fieldbyname('th_qt').AsInteger;
      end;
    end;
   with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where km= :a');
     parameters.ParamByName('a').Value:=dmdata.thADOQuery.fieldbyname('ql_id').AsString;
     open;
     combobox1.Text:=fieldbyname('ql').AsString;
     unm:= fieldByName('mbf').AsInteger;
   end;
    kqmsnewll;
    button2.Enabled:=true;
    button1.Enabled:=false;
end;

procedure TThForm.Button1Click(Sender: TObject);
var
  sl:integer;
  insertsl:double;
begin
   if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text ='') or (edit4.Text = '')or(combobox1.Text = '') then
    exit;
   if dmdata.qsjzADOQuery.FieldByName('dbegin').AsDateTime > datetimepicker1.Date then
   begin
     showmessage('日期已小于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
   if (dmdata.qsjzADOQuery.FieldByName('dend').AsDateTime+1) < datetimepicker1.Date then
   begin
     showmessage('日期已大于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
   with dmdata.KqqsADOQuery do
     begin
       close;
       sql.Clear;
       sql.Add('select a.ql,b.ms_id,b.ql_id,b.rq,b.sl,b.qxhm,b.jxhm,b.kqbm from t_bjql as a inner join t_kqb as b on a.km = b.ql_id where (qt = 0) and (id=:a)' );
       parameters.ParamByName('a').Value:=strtofloat(labelid1.Caption);
       open;
       if RecordCount > 0 then
       begin
          sl:= FieldByName('sl').AsInteger;
          if ((strtofloat(edit2.Text)-strtofloat(FieldByName('qxhm').AsString))<0) or (strtofloat(edit3.Text)>strtofloat(FieldByName('jxhm').AsString)) then
          begin
            showmessage('录入起始号码超出起始或结束号码');
            exit;
          end;
          insertsl:=(strtofloat(edit2.Text)-strtofloat(FieldByName('qxhm').AsString));
          //showmessage(floattostr(frac((strtofloat(edit2.Text)-strtofloat(FieldByName('qxhm').AsString))/unm)));
          if frac((strtofloat(edit2.Text)-strtofloat(FieldByName('qxhm').AsString))/unm)<>0 then
          begin
            showmessage('你所输入的起始号码不合法');
            exit;
          end;
         if (sl < strtofloat(edit1.Text)) then
         begin
           showmessage('领用数量超出部门未消数量');
           exit;
         end;
         if (trim(edit2.Text)=trim(FieldByName('qxhm').AsString)) then
          begin
            with dmdata.KqeditADOQuery do
            begin
              close;
              sql.Clear;
              sql.Add('update t_kqb set sl = :b,qxhm = :c where id = :a');
              parameters.ParamByName('a').Value:=strtofloat(labelid1.Caption);
              parameters.ParamByName('b').Value:=sl-strtofloat(edit1.Text);
              parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit3.text)+1)));
              Execsql;
            end;
          end
          else
          begin
              with dmdata.kqeditADOQuery do
              begin
                close;
                sql.Clear;
                sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,kqbm,qt) values(:a,:b,:c,:d,:e,:f,:g,:h)');
                parameters.ParamByName('a').Value:=dmdata.KqqsADOQuery.fieldbyname('ms_id').AsInteger;
                parameters.ParamByName('b').Value:=dmdata.KqqsADOQuery.fieldbyname('ql_id').AsString;
                parameters.parambyname('c').value:=datetostr(datetimepicker1.Date);
                parameters.ParamByName('d').Value:=insertsl/unm;
                parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(dmdata.KqqsADOQuery.fieldbyname('qxhm').AsString));
                parameters.ParamByName('f').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit2.Text)-1)));
                parameters.ParamByName('g').Value:=dmdata.KqqsADOQuery.fieldbyname('kqbm').AsString;
                parameters.ParamByName('h').Value:=0;
                Execsql;
              end;
              with dmdata.KqeditADOQuery do
              begin
               close;
               sql.Clear;
               sql.Add('update t_kqb set sl = :b,qxhm = :c where id = :a');
               parameters.ParamByName('a').Value:=strtofloat(labelid1.Caption);
               parameters.ParamByName('b').Value:=sl-insertsl/unm-strtofloat(edit1.Text);
               parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit3.text)+1)));
               Execsql;
              end;
           end;
        end;
      //with dmdata.BmADOQuery do
     // begin
      //  close;
      //  sql.Clear;
      //  sql.Add('select * from t_bm where dwbm = :a');
      //  parameters.ParamByName('a').Value:=trim(combobox2.Text);
      //  open;
      //  km:=trim(fieldbyname('km').AsString);
    //  end;
      with dmdata.thADOQuery do
      begin
         close;
         sql.Clear;
          sql.Add('insert into t_th(ql_id,rq,sl,qxhm,jxhm,thbm,qt,thr,ms_id,th_qt) values(:a,:b,:c,:d,:e,:f,:g,:h,:i,:l)');
           parameters.ParamByName('a').Value:=dmdata.KqqsADOQuery.fieldbyname('ql_id').AsString;
           parameters.parambyname('b').value:=datetostr(datetimepicker1.Date);
           parameters.ParamByName('c').Value:=strtofloat(edit1.Text);
           parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
           parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
           parameters.ParamByName('f').Value:=trim(combobox2.Text);
           parameters.ParamByName('g').Value:=strtofloat(labelid1.Caption);
           parameters.ParamByName('h').Value:=trim(edit4.Text);
           parameters.ParamByName('i').Value:=dmdata.KqqsADOQuery.fieldbyname('ms_id').AsInteger;
           parameters.ParamByName('l').Value:=0;
           Execsql;
      end;
  end;
   delnewll;
   kqhznewll;
   comboboxchange(Sender);
   thnewll;
  combobox1.Text:='';
  edit1.Text:='';
  edit2.Text:='';
  edit3.Text:='';
  edit4.Text:='';
  edit1.SetFocus;
  button1.Enabled:=false;
end;

procedure TThForm.Button2Click(Sender: TObject);

⌨️ 快捷键说明

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