mrp_enter_normalmps.pas
来自「一个MRPII系统源代码版本」· PAS 代码 · 共 134 行
PAS
134 行
unit Mrp_Enter_NormalMps;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Outer, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin,ComObj, DBCtrls, jpeg;
Type
TFrm_Mrp_Enter_NormalMps = Class(TFrm_Base_Outer)
AdoQry_MainMpsId: TBCDField;
AdoQry_MainMpsMonth: TStringField;
AdoQry_MainItemCode: TStringField;
AdoQry_MainMpsDATE: TDateTimeField;
AdoQry_MainMpsStatus: TIntegerField;
AdoQry_MainMpsRemArk: TStringField;
AdoQry_MainItemName: TStringField;
AdoQry_MainUomName: TStringField;
AdoQry_MainMpsQTY: TFloatField;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBText2: TDBText;
DBText3: TDBText;
Lbl_ItemFlag: TLabel;
procedure FormDestroy(Sender: TObject);
procedure DataSourceDataChange(Sender: TObject; Field: TField);
procedure Act_DeleteExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Mrp_Enter_NormalMps: TFrm_Mrp_Enter_NormalMps;
implementation
uses Mrp_Enter_NormalMps_D, Sys_Global;
{$R *.DFM}
procedure TFrm_Mrp_Enter_NormalMps.InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);
begin
Application.ProcessMessages;
inherited;
Frm_Mrp_Enter_NormalMps.Caption:='主生产计划准备';
SelectFromSql:='select Mps.*,Item.ItemName,Uom.UomName '
+' from Mps '
+' left join Item on Mps.ItemCode=Item.ItemCode '
+' left join Uom on Item.UomCode=Uom.UomCode ';
OrderByFields:='MpsMonth,ItemCode,MpsDate';
ConditionUserDefine:='( '
+' (MpsStatus=2) And (Item.ItemType=0))';
GetData;
Frm_Sys_Detail:=TFrm_Mrp_Enter_NormalMps_D.Create(Application);
end;
procedure TFrm_Mrp_Enter_NormalMps.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Mrp_Enter_NormalMps:=nil;
end;
procedure TFrm_Mrp_Enter_NormalMps.DataSourceDataChange(Sender: TObject;
Field: TField);
begin
inherited;
Lbl_ItemFlag.Caption:=AdoQry_Main.fieldbyname('ItemCode').AsString+' '+AdoQry_Main.fieldbyname('ItemName').AsString;
end;
procedure TFrm_Mrp_Enter_NormalMps.Act_DeleteExecute(Sender: TObject);
var
SqlText:String;
tmPmpsid:integer;
begin
If AdoQry_Main.RecordCount=0 Then
Exit;
IF DispInfo('真的要删除这条记录吗?',2)='y' Then
begin
Dbconnect.beginTrans;
Try
{SqlText:='Insert MpsHistory '
+ ' (MpsMonth,ItemCode,Mpsdate,Mpsqty,Mpsstatus,'
+ ' MpsremArk,MpSchgEmployeeCode,MpSchgTime,MpsId,MpSchgType)'
+ ' Values('
+ ''''+AdoQry_Main.fieldbyname('MpsMonth').AsString+''''+','
+''''+AdoQry_Main.fieldbyname('ItemCode').AsString+''''+','
+''''+DateTimeToStr(AdoQry_Main.fieldbyname('MpsDate').AsDateTime)+''''+','
+''''+FloatToStr(AdoQry_Main.fieldbyname('MpsQty').AsFloat)+''''+','
+''''+IntToStr(AdoQry_Main.fieldbyname('MpsStatus').AsInteger)+''''+','
+''''+AdoQry_Main.fieldbyname('MpsremArk').AsString+''''+','
+''''+UserCode+''''+','
+''''+FormatDateTime('yyyy.mm.dd hh:mm:ss',Now)+''''+','
+''''+IntToStr(AdoQry_Main.fieldbyname('MpsId').AsInteger)+''''+','
+''''+'删除'+''''+')';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=SqlText;
AdoQry_Tmp.ExecSQL; //保存历史记录 }
saveMpshistory(dbconnect,AdoQry_Main.fieldbyname('Mpsid').asinteger,userCode,2);
SqlText:='Delete Mps '
+' where MpsId='+''''+inttostr(AdoQry_Main.fieldbyname('Mpsid').asinteger)+'''';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=SqlText;
AdoQry_Tmp.ExecSQL;
DbConnect.CommitTrans;
AdoQry_Main.Delete;
tmPmpsid:=AdoQry_Main.fieldbyname('Mpsid').asinteger;
AdoQry_Main.reQuery;
AdoQry_Main.Locate('Mpsid',tmPmpsid,[loCaseInsensitive]);
Except
DbConnect.RollBackTrans;
DispInfo('删除数据过程中出错,记录未删除!',1);
Abort;
end;
end;
end;
procedure TFrm_Mrp_Enter_NormalMps.FormCreate(Sender: TObject);
begin
inherited;
ExtendCaption:=False;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?