mrprmmst.pas

来自「家具行業的成本核算報价系統,主要征對家個產品的結構展開進行材料成本及人工制造費用」· PAS 代码 · 共 225 行

PAS
225
字号
unit MrpRmmst;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base01, ToolEdit, RXDBCtrl, StdCtrls, DBCtrls, Mask, Menus, ImgList, Db,
  Grids, DBGrids, ComCtrls, Buttons, ExtCtrls, DBTables, ExtDlgs, RxCalc,
  DBActns, ActnList, ToolWin, DBGridEh, DBxEdit, DBCtrlsEh, DBLookupEh,
  XPMenu, DBxCombo, ADODB;

type
  TFrmMrpRmmst = class(Tfmbase01)
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label17: TLabel;
    Label9: TLabel;
    Label11: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label16: TLabel;
    Label14: TLabel;
    Label13: TLabel;
    ds: TDataSource;
    Label18: TLabel;
    TreeView: TTreeView;
    Splitter1: TSplitter;
    TabSheet1: TTabSheet;
    Panel6: TPanel;
    Panel7: TPanel;
    Button1: TButton;
    Image1: TImage;
    OpenPictureDialog: TOpenPictureDialog;
    Label19: TLabel;
    DBComboBox7: TDBComboBox;
    Label15: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    DBText1: TDBText;
    sppicsolid: TBitBtn;
    p_picture: TPanel;
    Image2: TImage;
    TabSheet2: TTabSheet;
    DBMemo1: TDBMemo;
    Label28: TLabel;
    Edit2: TEdit;
    Label1: TLabel;
    Edit1: TEdit;
    v_mainfrmcode: TStringField;
    v_mainfrmname: TStringField;
    v_mainfrmunit: TStringField;
    v_mainfrmlUnit: TStringField;
    v_mainfrmwUnit: TStringField;
    v_mainfrmhUnit: TStringField;
    DBxEdit1: TDBxEdit;
    DBxEdit2: TDBxEdit;
    DBxEdit3: TDBxEdit;
    DBxEdit4: TDBxEdit;
    DBxEdit5: TDBxEdit;
    DBxEdit6: TDBxEdit;
    DBxEdit7: TDBxEdit;
    DBxEdit8: TDBxEdit;
    DBxEdit9: TDBxEdit;
    DBxEdit10: TDBxEdit;
    DBLookupComboboxEh1: TDBLookupComboboxEh;
    DBxEdit11: TDBxEdit;
    DBxEdit12: TDBxEdit;
    DBxEdit13: TDBxEdit;
    DBxEdit14: TDBxEdit;
    DBLookupComboboxEh2: TDBLookupComboboxEh;
    DBxEdit15: TDBxEdit;
    DBCheckBox1: TDBCheckBox;
    DataSource1: TDataSource;
    ds_stk: TDataSource;
    DBComboBox2: TDBxComboBox;
    DBComboBox3: TDBxComboBox;
    DBComboBox4: TDBxComboBox;
    DBComboBox8: TDBxComboBox;
    DBComboBox9: TDBxComboBox;
    Label27: TLabel;
    DBxEdit16: TDBxEdit;
    DBComboBox1: TDBComboBox;
    DBComboBox5: TDBComboBox;
    Label29: TLabel;
    v_ins2: TADOQuery;
    qry: TADOQuery;
    v_stk: TADOQuery;
    V_MAINfrmtobsrmcode: TWideStringField;
    V_MAINfrmtobsrate: TIntegerField;
    V_MAINfrmename: TWideStringField;
    V_MAINfstk_in: TBooleanField;
    V_MAINfrmname_e: TWideStringField;
    V_MAINl: TIntegerField;
    V_MAINw: TIntegerField;
    V_MAINh: TIntegerField;
    V_MAINfrmfnsh: TWideStringField;
    V_MAINfrmscrew: TWideStringField;
    V_MAINfrmnstup: TWideStringField;
    V_MAINfrmnstup0: TFloatField;
    V_MAINfrmstdup: TFloatField;
    V_MAINfkj: TFloatField;
    V_MAINfusrname: TWideStringField;
    V_MAINfmeno: TMemoField;
    V_MAINfrmdate: TDateTimeField;
    V_MAINfrmrate: TFloatField;
    V_MAINfFlag: TWideStringField;
    V_MAINfSubject: TWideStringField;
    V_MAINFCRYCODE: TWideStringField;
    V_MAINfpicture: TWideStringField;
    V_MAINfbctyp: TWideStringField;
    V_MAINfbctup: TWideStringField;
    V_MAINfpp: TWideStringField;
    V_MAINfstkcode: TWideStringField;
    V_MAINfweight: TIntegerField;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure BtnEditClick(Sender: TObject);
    procedure DSBase01StateChange(Sender: TObject);
    procedure DBComboBox1Exit(Sender: TObject);
    procedure DBComboBox5Exit(Sender: TObject);
    procedure BtnUndoClick(Sender: TObject);
    procedure BtnFindClick(Sender: TObject);
    procedure PageControlChange(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
    procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode);
    procedure Button1Click(Sender: TObject);
    procedure v_main1frmunitValidate(Sender: TField);
    procedure v_main1frmfnshValidate(Sender: TField);
    procedure sppicsolidClick(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2Enter(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
    procedure act_addExecute(Sender: TObject);
    procedure act_editExecute(Sender: TObject);
    procedure act_saveExecute(Sender: TObject);
    procedure act_deleExecute(Sender: TObject);
    procedure act_filterExecute(Sender: TObject);
    procedure v_mainBeforePost(DataSet: TDataSet);
    procedure v_mainNewRecord(DataSet: TDataSet);
    procedure DBxEdit1Exit(Sender: TObject);
    procedure DBLookupComboboxEh1Exit(Sender: TObject);
    procedure DBGrid1SortMarkingChanged(Sender: TObject);
  private
    { Private declarations }
    basesql,ordersql,ss:string;
    procedure addnode(node:TTreeNode;len:integer;grade:integer);
    procedure deletetmpfile(const tmpfilename:tfilename);
    function  findnode(node:TTreeNode;len:integer;findtext:string):ttreenode;
  public
    { Public declarations }
  end;

var
  FrmMrpRmmst: TFrmMrpRmmst;
  node:ttreenode;
implementation

uses sysdata,unitpublic,main;

{$R *.DFM}

procedure TFrmMrpRmmst.deletetmpfile(const tmpfilename:tfilename);
begin
filesetattr(tmpfilename,0);
DeleteFile(tmpfilename);
end;

function  tFrmMrpRmmst.findnode(node:TTreeNode;len:integer;findtext:string):ttreenode;
 var i:integer;
begin
 for i:=0 to node.Count-1 do
   begin
    if findtext=copy(node.Item[i].text,1,len) then
      begin
       findnode:=node.Item[i];
       break;
      end;
  end;
end;


procedure TFrmMrpRmmst.addnode(node:TTreeNode;len:integer;grade:integer);
var
  i:integer;
  tmpnode:ttreenode;
begin
  for i:=node.Count downto 1  do
  begin
   qry.close;
   qry.sql.clear;
   qry.sql.Add('select fRmTypCode ,fRmTypName From t_rmtypmst where len(fRmTypCode)='+ inttostr(len) +' and left(fRmTypCode,'+inttostr(grade) + ')='+#39+copy(node.Item[i-1].Text,1,grade)+#39);
   qry.open;
   tmpnode:=node.Item[i-1];
   if tmpnode.GetLastChild.Index=qry.RecordCount-1 then  Continue;
   while not qry.eof do
     begin
       treeview.items.AddChild(tmpnode,qry.fields[0].asstring+'('+qry.fields[1].asstring+')');
       qry.next;
     end;
  end;
end;



procedure TFrmMrpRmmst.FormCreate(Sender: TObject);
begin
  inherited;
  basesql:=trim(v_main.sql.text);
  ordersql:=' order by frmcode ';

  treeview.Items.Clear;
  TreeView.Items.Add(NIL,'

⌨️ 快捷键说明

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