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

📄 prodrate.pas

📁 这是我在去年年底利用业余时间做的一个鞋塑企业的计件工资系统。由于本人技术有限
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit ProdRate;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, ComCtrls, ToolWin, jpeg, ExtCtrls, StdCtrls, dxExEdtr,
  dxCntner, dxTL, dxDBCtrl, dxDBGrid, DB, dxDBTLCl, dxGrClms, dxEditor,
  dxEdLib, Grids, DBGrids, dxDBELib, Menus, UnlimitedMenu;

type
  TfrmProdRate = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton13: TToolButton;
    Image1: TImage;
    Label2: TLabel;
    dtOrderDate: TDateTimePicker;
    Panel1: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    grdRateFormsDetail: TdxDBGrid;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    dsProdRate: TDataSource;
    dsProdRateDetail: TDataSource;
    ToolButton7: TToolButton;
    ToolButton12: TToolButton;
    edtOrderNo: TdxEdit;
    dsPersonel: TDataSource;
    edtRateID: TdxButtonEdit;
    edtRateName: TdxEdit;
    edtPicecID1: TdxButtonEdit;
    edtPicecID2: TdxButtonEdit;
    edtPicecID3: TdxButtonEdit;
    edtPicecID4: TdxButtonEdit;
    edtCheckID1: TdxButtonEdit;
    edtCheckID2: TdxButtonEdit;
    edtCheckID3: TdxButtonEdit;
    edtCheckID4: TdxButtonEdit;
    edtPicecName1: TdxEdit;
    edtPicecName2: TdxEdit;
    edtPicecName3: TdxEdit;
    edtPicecName4: TdxEdit;
    edtCheckName1: TdxEdit;
    edtCheckName3: TdxEdit;
    edtCheckName2: TdxEdit;
    edtCheckName4: TdxEdit;
    PopupMenu1: TPopupMenu;
    A1: TMenuItem;
    S1: TMenuItem;
    O1: TMenuItem;
    E1: TMenuItem;
    N1: TMenuItem;
    F1: TMenuItem;
    L1: TMenuItem;
    P1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    R1: TMenuItem;
    edtFirstTime: TdxEdit;
    edtEndTime: TdxEdit;
    LXFMenu1: TLXFMenu;
    grdRateFormsDetailOrderNo: TdxDBGridMaskColumn;
    grdRateFormsDetailOrderID: TdxDBGridMaskColumn;
    grdRateFormsDetailModelID: TdxDBGridMaskColumn;
    grdRateFormsDetailColor: TdxDBGridMaskColumn;
    grdRateFormsDetailCreateColor: TdxDBGridMaskColumn;
    grdRateFormsDetailShoeSize: TdxDBGridMaskColumn;
    grdRateFormsDetailTotalNumbers: TdxDBGridMaskColumn;
    grdRateFormsDetailProdANums: TdxDBGridMaskColumn;
    grdRateFormsDetailProdBNums: TdxDBGridMaskColumn;
    grdRateFormsDetailProdCNums: TdxDBGridMaskColumn;
    grdRateFormsDetailPicecANums: TdxDBGridMaskColumn;
    grdRateFormsDetailPicecBNums: TdxDBGridMaskColumn;
    grdRateFormsDetailCheckNums: TdxDBGridMaskColumn;
    grdRateFormsDetailSubsidy: TdxDBGridCurrencyColumn;
    grdRateFormsDetailNotes: TdxDBGridMaskColumn;
    PopupMenu2: TPopupMenu;
    U1: TMenuItem;
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure SaveToRateForms();
    procedure ToolButton9Click(Sender: TObject);
    procedure OpRecordInfo();
    procedure ToolButton10Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure edtRateIDButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure edtRateIDChange(Sender: TObject);
    procedure edtRateIDExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure edtPicecID1ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtPicecID1Change(Sender: TObject);
    procedure edtPicecID1Exit(Sender: TObject);
    procedure edtPicecID2ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtPicecID2Change(Sender: TObject);
    procedure edtPicecID2Exit(Sender: TObject);
    procedure edtPicecID3ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtPicecID3Change(Sender: TObject);
    procedure edtPicecID3Exit(Sender: TObject);
    procedure edtPicecID4ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtPicecID4Change(Sender: TObject);
    procedure edtPicecID4Exit(Sender: TObject);
    procedure edtCheckID1ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtCheckID1Change(Sender: TObject);
    procedure edtCheckID1Exit(Sender: TObject);
    procedure edtCheckID2ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtCheckID2Change(Sender: TObject);
    procedure edtCheckID2Exit(Sender: TObject);
    procedure edtCheckID3ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtCheckID3Change(Sender: TObject);
    procedure edtCheckID3Exit(Sender: TObject);
    procedure edtCheckID4ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure edtCheckID4Change(Sender: TObject);
    procedure edtCheckID4Exit(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    Procedure SearchOrderNO(lcOrderNo:String);
    procedure edtOrderNoExit(Sender: TObject);
    procedure grdRateFormsDetailChangeColumn(Sender: TObject;
      Node: TdxTreeListNode; Column: Integer);
    procedure U1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure RateFormsValueToText();
  end;

var
  frmProdRate: TfrmProdRate;

implementation

{$R *.dfm}
uses
  DataCenter,ChoicePerson,ProdRateSearch,Main, Login;
var
  ValueIsChange:Boolean;

procedure TfrmProdRate.ToolButton2Click(Sender: TObject);
begin
  dmData.aquRateForms.First;
  RateFormsValueToText();
end;

procedure TfrmProdRate.ToolButton3Click(Sender: TObject);
begin
  dmData.aquRateForms.Prior;
  RateFormsValueToText();
end;

procedure TfrmProdRate.ToolButton4Click(Sender: TObject);
begin
  dmData.aquRateForms.Next;
  RateFormsValueToText();
end;

procedure TfrmProdRate.ToolButton5Click(Sender: TObject);
begin
  dmData.aquRateForms.Last;
  RateFormsValueToText();
end;

procedure TfrmProdRate.ToolButton11Click(Sender: TObject);
begin
  close;
end;

Procedure TfrmProdRate.RateFormsValueToText();
begin
  With DmData do
  begin
    edtOrderNo.Text:=aquRateFormsOrderNo.Value;
    dtOrderDate.Date:=aquRateFormsOrderDate.Value;
    edtRateID.Text:=aquRateFormsRateID.Value;
    edtRateName.Text:=aquRateFormsRateName.Value;
    edtFirstTime.Text:=aquRateFormsFirstTime.Value;
    edtEndTime.Text:=aquRateFormsEndTime.Value;
    edtPicecID1.Text:=aquRateFormsPicecID1.Value;
    edtPicecName1.Text:=aquRateFormsPicecName1.Value;
    edtPicecID2.Text:=aquRateFormsPicecID2.Value;
    edtPicecName2.Text:=aquRateFormsPicecName2.Value;
    edtPicecID3.Text:=aquRateFormsPicecID3.Value;
    edtPicecName3.Text:=aquRateFormsPicecName3.Value;
    edtPicecID4.Text:=aquRateFormsPicecID4.Value;
    edtPicecName4.Text:=aquRateFormsPicecName4.Value;
    edtCheckID1.Text:=aquRateFormsCheckID1.Value;
    edtCheckName1.Text:=aquRateFormsCheckName1.Value;
    edtCheckID2.Text:=aquRateFormsCheckID2.Value;
    edtCheckName2.Text:=aquRateFormsCheckName2.Value;
    edtCheckID3.Text:=aquRateFormsCheckID3.Value;
    edtCheckName3.Text:=aquRateFormsCheckName3.Value;
    edtCheckID4.Text:=aquRateFormsCheckID4.Value;
    edtCheckName4.Text:=aquRateFormsCheckName4.Value;
  end;
end;

procedure TfrmProdRate.ToolButton8Click(Sender: TObject);
begin
  if (edtRateID.Text='') and (dmData.aquRateFormsDetail.RecordCount=0) then
  begin
    showmessage('该单据还可进行编辑,不需要增加!');
    Abort;
  end;
  dmData.aquRateForms.Append;
  RateFormsValueToText();
  edtOrderNo.SetFocus;
end;

Procedure TfrmProdRate.SaveToRateForms();
var
  s1:word;
begin
  s1:=0;
  with DmData do
  begin
    aquRateFormsOrderNo.Value:=edtOrderNo.Text;
    aquRateFormsOrderDate.Value:=dtOrderDate.Date;
    aquRateFormsRateID.Value:=edtRateID.Text;
    aquRateFormsRateName.Value:=edtRateName.Text;
    aquRateFormsFirstTime.Value:=edtFirstTime.Text;
    aquRateFormsEndTime.Value:=edtEndTime.Text;
    aquRateFormsPicecID1.Value:=edtPicecID1.Text;
    aquRateFormsPicecName1.Value:=edtPicecName1.Text;
    aquRateFormsPicecID2.Value:=edtPicecID2.Text;
    aquRateFormsPicecName2.Value:=edtPicecName2.Text;
    aquRateFormsPicecID3.Value:=edtPicecID3.Text;
    aquRateFormsPicecName3.Value:=edtPicecName3.Text;
    aquRateFormsPicecID4.Value:=edtPicecID4.Text;
    aquRateFormsPicecName4.Value:=edtPicecName4.Text;
    if edtPicecID1.Text<>'' then s1:=s1+1;
    if edtPicecID2.text<>'' then s1:=s1+1;
    if edtPicecID3.text<>'' then s1:=s1+1;
    if edtPicecID4.text<>'' then s1:=s1+1;
    aquRateFormsPicecNum.Value:=s1;  {修边人员人数}
    s1:=0;
    aquRateFormsCheckID1.Value:=edtCheckID1.Text;
    aquRateFormsCheckName1.Value:=edtCheckName1.Text;
    aquRateFormsCheckID2.Value:=edtCheckID2.Text;
    aquRateFormsCheckName2.Value:=edtCheckName2.Text;
    aquRateFormsCheckID3.Value:=edtCheckID3.Text;
    aquRateFormsCheckName3.Value:=edtCheckName3.Text;
    aquRateFormsCheckID4.Value:=edtCheckID4.Text;
    aquRateFormsCheckName4.Value:=edtCheckName4.Text;
    if edtCheckID1.Text<>'' then s1:=s1+1;
    if edtCheckID2.text<>'' then s1:=s1+1;
    if edtCheckID3.text<>'' then s1:=s1+1;
    if edtCheckID4.text<>'' then s1:=s1+1;
    aquRateFormsCheckNum.Value:=s1;  {修边人员人数}
  end;
end;
procedure TfrmProdRate.ToolButton9Click(Sender: TObject);
begin
  try
    if StrToDate(frmLogin.PassMJ(Trim(frmMain.ADOTable1MatureDate.AsString)))<=dtOrderDate.Date then
    begin
      if StrToDate(frmLogin.PassMJ(Trim(frmMain.ADOTable1MatureDate.AsString)))+3<=dtOrderDate.Date then
      begin
        showmessage('您使用的软件已过试用期!不能保存数据!');
        Exit;
      end else
      begin
        showmessage('该软件还在试用期间,您还能试用本软件:'+FloatToStr(StrToDate(frmLogin.PassMJ(Trim(frmMain.ADOTable1MatureDate.AsString)))+3-dtOrderDate.Date)+'天!');
      end;
    end;
  except
      showmessage('数据可能被人为更改,请与软件开发者联系!');
      Exit;
  end;

  dmData.aquRateFormsDetail.UpdateBatch();
  if not (dmData.aquRateForms.State in [dsInsert,dsEdit]) then dmData.aquRateForms.Edit;
  SaveToRateForms();
  dmData.aquRateForms.UpdateBatch();
  frmProdRate.OpRecordInfo();
  MessageDlg('数据保存成功!',mtInformation,[mbOk],0);
  dmData.aquRateForms.Tag:=0;
end;

procedure TfrmProdRate.OpRecordInfo();
var
  StatusInfo:String;
begin
  case dmData.aquRateForms.State of
    dsBrowse:StatusInfo:='浏览';
    dsEdit:StatusInfo:='编辑';
    dsInsert:StatusInfo:='插入';
    dsNewValue:StatusInfo:='新增'
  end;
end;

procedure TfrmProdRate.ToolButton10Click(Sender: TObject);
begin
  if MessageDlg('确定删除此产量单据吗?',mtConfirmation,[mbOk,mbCancel],0)=mrOk then
  begin
    with dmData do
    begin
      ADOQuery1.SQL.Clear;
      AdoQuery1.SQL.Add('delete from RateFormsDetail where OrderNo=:lcOrderNo');
      AdoQuery1.Parameters[0].Value:=edtOrderNo.Text;
      AdoQuery1.ExecSQL;
      aquRateForms.Delete;
      aquRateFormsDetail.UpdateBatch();
      aquRateForms.UpdateBatch();
      RateFormsValueToText();
    end;
  end;
end;

procedure TfrmProdRate.FormShow(Sender: TObject);
begin
  with dmData do
  begin
    aquRateFormsDetail.DataSource:=dsProdRate;
    aquRateForms.Close;
    aquRateFormsDetail.Close;
    aquPersonel.Close;
    aquRateForms.Open;
    aquRateFormsDetail.Open;
    aquPersonel.Open;
//    aquRateForms.Last;
  end;
  RateFormsValueToText();
end;

procedure TfrmProdRate.edtRateIDButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  if Application.FindComponent('frmChoicePerson')=nil then
      Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
  frmProdRate.Tag:=edtRateID.Tag;
  dmData.aquPersonel.SQL.Text:='select * from Personel';

⌨️ 快捷键说明

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