📄 mrp_enter_freemoh.pas
字号:
unit Mrp_Enter_FreeMoH;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
ExtCtrls, ComCtrls, ToolWin, jpeg, ExtPrintReport;
Type
TFrm_Mrp_Enter_FreeMoH = Class(TFrm_Base_Entry_Head)
AdoQry_HeadMONO: TStringField;
AdoQry_HeadDeptCode: TStringField;
AdoQry_HeadMODATE: TDateTimeField;
AdoQry_HeadMORemArk: TStringField;
AdoQry_HeadDeptName: TStringField;
AdoQry_HeadSysParamCode: TStringField;
AdoQry_HeadSysParamValuec: TStringField;
Label1: TLabel;
Lbl_DeptFlag: TLabel;
Label3: TLabel;
Lbl_MoNo: TLabel;
Label5: TLabel;
Lbl_SaleFlag: TLabel;
AdoQry_HeadStandardFlag: TIntegerField;
AdoQry_HeadReferenceNo: TStringField;
procedure FormDestroy(Sender: TObject);
procedure DataSourceDataChange(Sender: TObject; Field: TField);
procedure Act_DeleteExecute(Sender: TObject);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Mrp_Enter_FreeMoH: TFrm_Mrp_Enter_FreeMoH;
implementation
uses Mrp_Enter_FreeMo,Sys_Global;
{$R *.DFM}
procedure TFrm_Mrp_Enter_FreeMoH.InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);
begin
Application.ProcessMessages;
inherited;
lbl_Condition.Caption:=iifstring(ReadOnly,'订单行未全关闭','订单行未全下达 ');
If (ReadOnly) Then
begin
Act_New.Enabled:=False;
Act_New.Visible:=False;
Act_Modify.Enabled:=False;
Act_Modify.Visible:=False;
Pnl_Title.Caption:='独立生产订单查询';
Frm_Mrp_Enter_FreeMoH.Caption:='独立生产订单查询';
end
Else
begin
Pnl_Title.Caption:='独立生产订单准备';
Frm_Mrp_Enter_FreeMoH.Caption:='独立生产订单准备';
end;
SelectFromSql:='Select Mo.*,Dept.DeptName,SysParam.SysParamCode,SysParam.SysParamValuec'
+' From Mo,Dept,SysParam ';
ConditionUserDefine:='(Mo.DeptCode=Dept.DeptCode'
+' And SysParam.SysParamCode=*Mo.SaleType '
+' And MOSpecial=1) ';
Condition:=' Exists (Select mono From MoLine where Mo.MoNo=MoLine.MoNo'
+' And MoLine.MoLineStatus'+iifstring(ReadOnly,'<7','=5')+')';
OrderByFields:='DeptCode,MoDate,MoNo';
GetData;
Frm_Entry_Body:=TFrm_Mrp_Enter_FreeMo.Create(Application);
end;
procedure TFrm_Mrp_Enter_FreeMoH.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Mrp_Enter_FreeMoH:=Nil;
end;
procedure TFrm_Mrp_Enter_FreeMoH.DataSourceDataChange(Sender: TObject;
Field: TField);
begin
inherited;
Lbl_DeptFlag.Caption:=AdoQry_Head.fieldbyname('DeptCode').AsString+' '+AdoQry_Head.fieldbyname('DeptName').AsString;
Lbl_MoNo.Caption:=AdoQry_Head.fieldbyname('MoNo').AsString;
Lbl_SaleFlag.Caption:=AdoQry_Head.fieldbyname('SysParamCode').AsString +' '+AdoQry_Head.fieldbyname('SysParamValuec').AsString;
end;
procedure TFrm_Mrp_Enter_FreeMoH.Act_DeleteExecute(Sender: TObject);
var sqltext:string;
AdoQry:TAdoQuery;
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if DispInfo('确认删除此订单吗?',2)<>'y' then exit;
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=dbconnect;
sqltext:='select * from MoLine '
+' where mono='+quotedstr(AdoQry_Head.fieldbyname('mono').asstring)
+' and MoLinestatus<>5 ';
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.RecordCount>0 then
begin
DispInfo('该生产订单有订单行不是准备状态,不可删除!',1);
abort;
end;
try
dbconnect.beginTrans;
Executesql(AdoQry_tmp,'select * from MoLine where mono='+quotedstr(AdoQry_Head.fieldbyname('mono').asstring),0);
AdoQry_tmp.First;
while not AdoQry_tmp.Eof do
begin
saveMoLineHistory(dbconnect,AdoQry_tmp.fieldbyname('mono').asstring,AdoQry_tmp.fieldbyname('MoLineno').asinteger,userCode,2);
AdoQry_tmp.Next;
end;
sqltext:='delete from mnItemList where mono='+quotedstr(AdoQry_Head.fieldbyname('mono').asstring);
Executesql(AdoQry_tmp,sqltext,1);
sqltext:='delete from MoLine where mono='+quotedstr(AdoQry_Head.fieldbyname('mono').asstring);
Executesql(AdoQry_tmp,sqltext,1);
savemohistory(dbconnect,AdoQry_Head.fieldbyname('mono').asstring,userCode,2);
sqltext:='delete from mo where mono='+quotedstr(AdoQry_Head.fieldbyname('mono').asstring);
Executesql(AdoQry_tmp,sqltext,1);
AdoQry_Head.Delete;
AdoQry.Free;
dbconnect.CommitTrans;
except
if AdoQry<>nil then
AdoQry.Free;
if dbconnect.InTransaction then
dbconnect.RollBackTrans;
DispInfo('删除失败,订单未删除!',3);
abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -