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

📄 mrp_enter_newmoh.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Mrp_Enter_NewMoH;

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_NewMoH = 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_NewMoH: TFrm_Mrp_Enter_NewMoH;

implementation

uses  Mrp_Enter_NewMo,Sys_Global,Mrp_Global;

{$R *.DFM}

procedure TFrm_Mrp_Enter_NewMoH.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_NewMoH.Caption:='生产订单查询';
  end
  Else
  begin
    Pnl_Title.Caption:='生产订单准备';
    Frm_Mrp_Enter_NewMoH.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=0) ';
  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_NewMo.Create(Application);
end;


procedure TFrm_Mrp_Enter_NewMoH.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Mrp_Enter_NewMoH:=Nil;
end;

procedure TFrm_Mrp_Enter_NewMoH.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_NewMoH.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);
          operationmopo(AdoQry,
                    AdoQry_tmp.fieldbyname('ItemCode').asstring,
                    'mo',
                    3,
                    AdoQry_tmp.fieldbyname('mono').asstring,
                  //  Trim(edt_Mono.text),
                    AdoQry_tmp.fieldbyname('MoLineno').asinteger,
                    5,
                    0,
                    AdoQry_tmp.fieldbyname('moqty').asfloat,
                    AdoQry_tmp.fieldbyname('MoNoFinishqty').asfloat,
                    AdoQry_tmp.fieldbyname('mostArtworkdate').asstring,
                    AdoQry_tmp.fieldbyname('MoLinedate').asstring,
                    getPmCode(dbconnect,AdoQry_tmp.fieldbyname('ItemCode').asstring),
                    AdoQry_Head.fieldbyname('DeptCode').asstring);

      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 + -