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

📄 prodrate.pas

📁 这是我在去年年底利用业余时间做的一个鞋塑企业的计件工资系统。由于本人技术有限
💻 PAS
📖 第 1 页 / 共 3 页
字号:
              mrOk:
              begin
                edtPicecID4.Text:=dmData.aquPersonelPersonID.Value;
                edtPicecName4.Text:=dmData.aquPersonelName.Value;
                edtCheckID1.SetFocus;
              end;
            end;
          end;
        end;
      end;
    end else
    begin
      edtPicecID4.Text:='';
      edtPicecName4.Text:='';
    end;
  end;

end;

procedure TfrmProdRate.edtCheckID1ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  if Application.FindComponent('frmChoicePerson')=nil then
      Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
  frmProdRate.Tag:=edtCheckID1.Tag;
  dmData.aquPersonel.SQL.Text:='select * from Personel';
  dmData.aquPersonel.Open;
  case frmChoicePerson.ShowModal of  {返回的值}
    mrCancel:
    begin
      edtCheckID1.SetFocus;
      ValueIsChange:=true;
    end;
    mrOk:
    begin
      edtCheckID1.Text:=dmData.aquPersonelPersonID.Value;
      edtCheckName1.Text:=dmData.aquPersonelName.Value;
      edtCheckID2.SetFocus;
    end;
  end;

end;

procedure TfrmProdRate.edtCheckID1Change(Sender: TObject);
begin
  ValueIsChange:=true;

end;

procedure TfrmProdRate.edtCheckID1Exit(Sender: TObject);
begin
  if ValueIsChange then
  begin
    ValueIsChange:=false;
    if edtCheckID1.text<>'' then
    begin
      with dmData do
      begin
        aquPersonel.SQL.Clear;
        aquPersonel.SQL.add('select * from Personel where PersonId Like :lcPersonId');
        aquPersonel.Parameters[0].Value:=trim(edtCheckId1.Text)+'%';
        aquPersonel.Open;
        case aquPersonel.RecordCount of
          0:edtCheckID1ButtonClick(frmProdRate,0);  {没有记录时}
          1:  {有一条记录时}
          begin
            edtCheckID1.Text:=aquPersonelPersonId.Value;
            edtCheckName1.Text:=aquPersonelName.Value;
          end
          else    {多条记录时}
          begin
            if Application.FindComponent('frmChoicePerson')=nil then Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
            case frmChoicePerson.ShowModal of  {返回的值}
              mrCancel:
              begin
                edtCheckID1.SetFocus;
                ValueIsChange:=true;
              end;
              mrOk:
              begin
                edtCheckID1.Text:=dmData.aquPersonelPersonID.Value;
                edtCheckName1.Text:=dmData.aquPersonelName.Value;
                edtCheckId2.SetFocus;
              end;
            end;
          end;
        end;
      end;
    end else
    begin
      edtCheckID1.Text:='';
      edtCheckName1.Text:='';
    end;
  end;

end;

procedure TfrmProdRate.edtCheckID2ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  if Application.FindComponent('frmChoicePerson')=nil then
      Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
  frmProdRate.Tag:=edtCheckID2.Tag;
  dmData.aquPersonel.SQL.Text:='select * from Personel';
  dmData.aquPersonel.Open;
  case frmChoicePerson.ShowModal of  {返回的值}
    mrCancel:
    begin
      edtCheckID2.SetFocus;
      ValueIsChange:=true;
    end;
    mrOk:
    begin
      edtCheckID2.Text:=dmData.aquPersonelPersonID.Value;
      edtCheckName2.Text:=dmData.aquPersonelName.Value;
      edtCheckID3.SetFocus;
    end;
  end;
end;

procedure TfrmProdRate.edtCheckID2Change(Sender: TObject);
begin
  ValueIsChange:=true;

end;

procedure TfrmProdRate.edtCheckID2Exit(Sender: TObject);
begin
  if ValueIsChange then
  begin
    ValueIsChange:=false;
    if edtCheckID2.text<>'' then
    begin
      with dmData do
      begin
        aquPersonel.SQL.Clear;
        aquPersonel.SQL.add('select * from Personel where PersonId Like :lcPersonId');
        aquPersonel.Parameters[0].Value:=trim(edtCheckId2.Text)+'%';
        aquPersonel.Open;
        case aquPersonel.RecordCount of
          0:edtCheckID2ButtonClick(frmProdRate,0);  {没有记录时}
          1:  {有一条记录时}
          begin
            edtCheckID2.Text:=aquPersonelPersonId.Value;
            edtCheckName2.Text:=aquPersonelName.Value;
          end
          else    {多条记录时}
          begin
            if Application.FindComponent('frmChoicePerson')=nil then Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
            case frmChoicePerson.ShowModal of  {返回的值}
              mrCancel:
              begin
                edtCheckID2.SetFocus;
                ValueIsChange:=true;
              end;
              mrOk:
              begin
                edtCheckID2.Text:=dmData.aquPersonelPersonID.Value;
                edtCheckName2.Text:=dmData.aquPersonelName.Value;
                edtCheckId3.SetFocus;
              end;
            end;
          end;
        end;
      end;
    end else
    begin
      edtCheckID2.Text:='';
      edtCheckName2.Text:='';
    end;
  end;
end;

procedure TfrmProdRate.edtCheckID3ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  if Application.FindComponent('frmChoicePerson')=nil then
      Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
  frmProdRate.Tag:=edtCheckID3.Tag;
  dmData.aquPersonel.SQL.Text:='select * from Personel';
  dmData.aquPersonel.Open;
  case frmChoicePerson.ShowModal of  {返回的值}
    mrCancel:
    begin
      edtCheckID3.SetFocus;
      ValueIsChange:=true;
    end;
    mrOk:
    begin
      edtCheckID3.Text:=dmData.aquPersonelPersonID.Value;
      edtCheckName3.Text:=dmData.aquPersonelName.Value;
      edtCheckID4.SetFocus;
    end;
  end;
end;

procedure TfrmProdRate.edtCheckID3Change(Sender: TObject);
begin
  ValueIsChange:=true;

end;

procedure TfrmProdRate.edtCheckID3Exit(Sender: TObject);
begin
  if ValueIsChange then
  begin
    ValueIsChange:=false;
    if edtCheckID3.text<>'' then
    begin
      with dmData do
      begin
        aquPersonel.SQL.Clear;
        aquPersonel.SQL.add('select * from Personel where PersonId Like :lcPersonId');
        aquPersonel.Parameters[0].Value:=trim(edtCheckId3.Text)+'%';
        aquPersonel.Open;
        case aquPersonel.RecordCount of
          0:edtCheckID3ButtonClick(frmProdRate,0);  {没有记录时}
          1:  {有一条记录时}
          begin
            edtCheckID3.Text:=aquPersonelPersonId.Value;
            edtCheckName3.Text:=aquPersonelName.Value;
          end
          else    {多条记录时}
          begin
            if Application.FindComponent('frmChoicePerson')=nil then Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
            case frmChoicePerson.ShowModal of  {返回的值}
              mrCancel:
              begin
                edtCheckID3.SetFocus;
                ValueIsChange:=true;
              end;
              mrOk:
              begin
                edtCheckID3.Text:=dmData.aquPersonelPersonID.Value;
                edtCheckName3.Text:=dmData.aquPersonelName.Value;
                edtCheckId4.SetFocus;
              end;
            end;
          end;
        end;
      end;
    end else
    begin
      edtCheckID3.Text:='';
      edtCheckName3.Text:='';
    end;
  end;
end;

procedure TfrmProdRate.edtCheckID4ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  if Application.FindComponent('frmChoicePerson')=nil then
      Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
  frmProdRate.Tag:=edtCheckID4.Tag;
  dmData.aquPersonel.SQL.Text:='select * from Personel';
  dmData.aquPersonel.Open;
  case frmChoicePerson.ShowModal of  {返回的值}
    mrCancel:
    begin
      edtCheckID4.SetFocus;
      ValueIsChange:=true;
    end;
    mrOk:
    begin
      edtCheckID4.Text:=dmData.aquPersonelPersonID.Value;
      edtCheckName4.Text:=dmData.aquPersonelName.Value;
    end;
  end;

end;

procedure TfrmProdRate.edtCheckID4Change(Sender: TObject);
begin
  ValueIsChange:=true;
end;

procedure TfrmProdRate.edtCheckID4Exit(Sender: TObject);
begin
  if ValueIsChange then
  begin
    ValueIsChange:=false;
    if edtCheckID4.text<>'' then
    begin
      with dmData do
      begin
        aquPersonel.SQL.Clear;
        aquPersonel.SQL.add('select * from Personel where PersonId Like :lcPersonId');
        aquPersonel.Parameters[0].Value:=trim(edtCheckId4.Text)+'%';
        aquPersonel.Open;
        case aquPersonel.RecordCount of
          0:edtCheckID4ButtonClick(frmProdRate,0);  {没有记录时}
          1:  {有一条记录时}
          begin
            edtCheckID4.Text:=aquPersonelPersonId.Value;
            edtCheckName4.Text:=aquPersonelName.Value;
          end
          else    {多条记录时}
          begin
            if Application.FindComponent('frmChoicePerson')=nil then Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
            case frmChoicePerson.ShowModal of  {返回的值}
              mrCancel:
              begin
                edtCheckID4.SetFocus;
                ValueIsChange:=true;
              end;
              mrOk:
              begin
                edtCheckID4.Text:=dmData.aquPersonelPersonID.Value;
                edtCheckName4.Text:=dmData.aquPersonelName.Value;
                edtCheckId4.SetFocus;
              end;
            end;
          end;
        end;
      end;
    end else
    begin
      edtCheckID4.Text:='';
      edtCheckName4.Text:='';
    end;
  end;
end;

procedure TfrmProdRate.ToolButton12Click(Sender: TObject);
begin
  if Application.FindComponent('frmProdRateSearch')=nil then Application.CreateForm(TfrmProdRateSearch,frmProdRateSearch);
  if frmProdRateSearch.ShowModal=mrOk then
    frmProdRate.SearchOrderNO(frmProdRateSearch.edtOrderNO.Text);
end;

procedure TfrmProdRate.SearchOrderNO(lcOrderNo:string);
begin
  //if not dmData.aquRateForms.Seek(lcOrderNo,soFirstEQ) then showmessage('没有找到该单据号!');
  if not dmData.aquRateForms.Locate('OrderNo',lcOrderNo,[loPartialKey]) then  MessageDlg('没有找到该单号的产量单!',mtInformation,[mbOk],0);
  RateFormsValueToText();
end;

procedure TfrmProdRate.edtOrderNoExit(Sender: TObject);
var
  i:integer;
  TempMaxNo:String;
begin
  TempMaxNo:='';
  for i:=1 to 10-Strlen(Pchar(Trim(edtOrderNo.text))) do
    TempMaxNo:=TempMaxNo+'0';
  edtOrderNo.Text:=TempMaxNo+edtOrderNo.Text;
end;

procedure TfrmProdRate.grdRateFormsDetailChangeColumn(Sender: TObject;
  Node: TdxTreeListNode; Column: Integer);
begin
  if dmData.aquRateFormsDetail.State in [dsInsert,dsEdit] then dmData.aquRateFormsDetail.Edit;
  if Column=6 then
  if (dmData.aquRateFormsDetailProdANums.Value=0) and (dmData.aquRateFormsDetailPicecANums.Value=0) and (dmData.aquRateFormsDetailCheckNums.Value=0) then
  begin
    dmData.aquRateFormsDetailProdANums.Value:=dmData.aquRateFormsDetailTotalNumbers.Value;
    dmData.aquRateFormsDetailPicecANums.Value:=dmData.aquRateFormsDetailTotalNumbers.Value;
    dmData.aquRateFormsDetailCheckNums.Value:=dmData.aquRateFormsDetailTotalNumbers.Value;
  end;
  dmData.aquRateFormsDetail.Edit;
  if (Column=10) and (dmData.aquRateFormsDetailPicecANums.Value<>0) and (dmData.aquRateFormsDetailPicecBNums.Value=0) then
    dmData.aquRateFormsDetailPicecBNums.Value:=dmData.aquRateFormsDetailTotalNumbers.Value-dmData.aquRateFormsDetailPicecANums.Value;
end;

procedure TfrmProdRate.U1Click(Sender: TObject);
begin
  dmData.aquRateFormsDetail.Delete;
end;

end.

⌨️ 快捷键说明

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