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

📄 jxz_unit.pas

📁 餐营的数据核算,模拟入库,出库,库存.对餐营的流程详细叙述
💻 PAS
字号:
unit JXZ_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBGridEh, DB, ADODB, ImgList, Menus, Grids, StdCtrls, DBCtrls,
  DBCtrlsEh, DBLookupEh, Mask, Buttons, ToolWin, ComCtrls,
  TFlatSpeedButtonUnit, ExtCtrls;

type
  TJXZ_Form = class(TForm)
    Shape1: TShape;
    Shape2: TShape;
    Label1: TLabel;
    Shape3: TShape;
    Shape4: TShape;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    FlatSpeedButton1: TFlatSpeedButton;
    FlatSpeedButton2: TFlatSpeedButton;
    FlatSpeedButton3: TFlatSpeedButton;
    FlatSpeedButton4: TFlatSpeedButton;
    Label10: TLabel;
    Label8: TLabel;
    Label11: TLabel;
    CoolBar1: TCoolBar;
    ScrollBox1: TScrollBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    DBEditEh1: TDBEditEh;
    DBLookupComboboxEh1: TDBLookupComboboxEh;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    DBMemo1: TDBMemo;
    DBEditEh2: TDBEditEh;
    DBGridEh1: TDBGridEh;
    DBLookupComboboxEh2: TDBLookupComboboxEh;
    DBLookupComboboxEh3: TDBLookupComboboxEh;
    DBLookupComboboxEh4: TDBLookupComboboxEh;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    DBIL: TImageList;
    JSZADOQ: TADOQuery;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure FlatSpeedButton1Click(Sender: TObject);
    procedure FlatSpeedButton2Click(Sender: TObject);
    procedure FlatSpeedButton3Click(Sender: TObject);
    procedure FlatSpeedButton4Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    function BS(M:integer):integer;
    procedure ITEMADD;
    { Public declarations }
  end;

var
  JXZ_Form: TJXZ_Form;

implementation

uses DMUnit, JXZITEMADDUnit, RPTUnit, U_CheckRights;

{$R *.dfm}

procedure TJXZ_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;

procedure TJXZ_Form.FormDestroy(Sender: TObject);
begin
  JXZ_Form:=nil;
end;

procedure TJXZ_Form.FormCreate(Sender: TObject);
begin
  with DM.LCBASE_ADOQ do
  begin
    Close;
    Open;
  end;
  with DM.LCITEM_ADOQ do
  begin
    Close;
    Open;
  end;
  with DM.CLASS_ADOQ do
  begin
    Close;
    Open;
  end;
  with DM.JXZM_ADOQ do
  begin
    Close;
    Open;
  end;
  with DM.JXZP_ADOT do
  begin
    Close;
    Open;
  end;
end;

function TJXZ_Form.BS(M: integer): integer;
begin
 if M=0 then
 begin
   DBLookupComboboxEh1.Enabled:=True;
   DBLookupComboboxEh2.Enabled:=True;
   DBLookupComboboxEh3.Enabled:=True;
   DBLookupComboboxEh4.Enabled:=True;
   DBDateTimeEditEh1.Enabled:=True;
   DBMemo1.Enabled:=True;
 end;
 if M=1 then
 begin
   DBLookupComboboxEh1.Enabled:=false;
   DBLookupComboboxEh2.Enabled:=false;
   DBLookupComboboxEh3.Enabled:=false;
   DBLookupComboboxEh4.Enabled:=false;
   DBDateTimeEditEh1.Enabled:=false;
   DBMemo1.Enabled:=false;
 end;
end;

procedure TJXZ_Form.BitBtn10Click(Sender: TObject);
begin
Close;
end;

procedure TJXZ_Form.BitBtn1Click(Sender: TObject);
begin
  if DM.JXZM_ADOQ.State in [DSBROWSE] Then
     DM.JXZM_ADOQ.Append;
     BS(0);
end;

procedure TJXZ_Form.BitBtn2Click(Sender: TObject);
begin
  if DM.JXZM_ADOQ.RecordCount<=0 then Exit;
  if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
  if DM.JXZM_ADOQ.State in [DSBROWSE] then
    DM.JXZM_ADOQ.Edit;
    BS(0);
end;

procedure TJXZ_Form.BitBtn3Click(Sender: TObject);
var
  CGDNO:string;
begin
  CGDNO:=DBEditEh1.Text;
  if DM.JXZM_ADOQ.RecordCount<=0 then Exit;
  if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
  if Application.MessageBox('是否确认删除该交下组单数据,如果删除,该单所有明细数据也将删除?', '提示',
     MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
  with JSZADOQ do
  begin
    Close;
    SQL.Clear;
    SQL.Add('DELETE JXZ_P WHERE JXZ_NO='''+CGDNO+'''');
    EXECSQL;
  end;
     DM.JXZM_ADOQ.Delete;//删除明细数据
end;

procedure TJXZ_Form.BitBtn4Click(Sender: TObject);
begin
  if  not (DM.JXZM_ADOQ.State in [DSINSERT,DSEDIT]) then Exit;
  if ((Trim(DBLookupComboboxEh1.Text))='') or ((Trim(DBLookupComboboxEh2.Text))='') or
     ((Trim(DBLookupComboboxEh3.Text))='') or ((Trim(DBLookupComboboxEh4.Text))='') then Exit;
  if DM.JXZM_ADOQ.State in [DSINSERT,DSEDIT] then
    DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString:='未审核';
    DM.JXZM_ADOQ.Post;
    BS(1);
end;

procedure TJXZ_Form.BitBtn5Click(Sender: TObject);
begin
  DM.JXZM_ADOQ.Cancel;
  BS(1);
end;

procedure TJXZ_Form.ITEMADD;
begin
  if Application.FindComponent('JXZITEMADDFORM')<>nil then
    JXZITEMADDFORM.Show
  else
  begin
    JXZITEMADDFORM:=TJXZITEMADDFORM.Create(Application);
    JXZITEMADDFORM.Show;
  end;

end;

procedure TJXZ_Form.N1Click(Sender: TObject);
begin
 if DBEditEh2.Text='审核' then Exit;
  DM.JXZP_ADOT.Append;
  ITEMADD;
end;

procedure TJXZ_Form.N2Click(Sender: TObject);
begin
  if DM.JXZP_ADOT.RecordCount<=0 then Exit;
  if DBEditEh2.Text='审核' then Exit;
  DM.JXZP_ADOT.Edit;
  ITEMADD;
end;

procedure TJXZ_Form.N3Click(Sender: TObject);
begin
  if DM.JXZP_ADOT.RecordCount<=0 then Exit;
  if DBEditEh2.Text='审核' then Exit;
  if Application.MessageBox('是否确认删除该条交下组明细数据?', '提示',
     MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
     DM.JXZP_ADOT.Delete;
end;

procedure TJXZ_Form.BitBtn11Click(Sender: TObject);
var
  HZ:STRING;
begin
  if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
  if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='未审核' then
   HZ:=InputBox('请输入汇总编号', '编号', '');
  if Trim(HZ)='' then Exit;
  if Application.MessageBox('是否确认完成该笔交下组数据,如果选择是该笔数据将不能修改?', '提示',
    MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then

  try
    DM.JXZM_ADOQ.Edit;
    DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString:='审核';//更新汇总编号
    DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString:=HZ;
    DM.JXZM_ADOQ.Post;
  except
    Exit;
  end;
end;

procedure TJXZ_Form.FlatSpeedButton1Click(Sender: TObject);
begin
  DM.JXZM_ADOQ.First;
end;

procedure TJXZ_Form.FlatSpeedButton2Click(Sender: TObject);
begin
  DM.JXZM_ADOQ.Prior;
end;

procedure TJXZ_Form.FlatSpeedButton3Click(Sender: TObject);
begin
  DM.JXZM_ADOQ.Next;
end;

procedure TJXZ_Form.FlatSpeedButton4Click(Sender: TObject);
begin
  DM.JXZM_ADOQ.Last;
end;

procedure TJXZ_Form.BitBtn6Click(Sender: TObject);
begin
  RPTDM.JXZP_Rpt.LoadFromFile(ExtractFilePath(ParamStr(0)) +   'RPT/交接统计单.frf');
  RPTDM.JXZP_Rpt.ShowReport;
end;

procedure TJXZ_Form.BitBtn7Click(Sender: TObject);
var
 S:string;
begin
  S:=DBEditEh1.Text;
   with JSZADOQ do
   begin
     Close;
     SQL.Clear;
     SQL.Add('SELECT * FROM JSZ_M WHERE JSZ_HZBH='''+DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString+'''');
     open;
   end;
   if JSZADOQ.RecordCount>0 then Exit;
   if Trim(DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString)='' then
   begin
     ShowMessage('该笔交下组缺少汇总编号,不能生成接上组,请先审核该笔交下组数据');
     Exit;
   end;
   if Application.MessageBox('是否确认完成该笔交下组数据生成接上组数据,如果选择是该笔数据将生成接上组数据?', '提示',
    MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
   try
   if DM.ADOC.InTransaction then DM.ADOC.RollbackTrans;
     DM.ADOC.BeginTrans;
     with JSZADOQ do
     begin
       Close;
       SQL.Clear;
       SQL.Add('SELECT * FROM JSZ_M WHERE JSZ_NO='''+S+'''');
       open;
     end;
     if JSZADOQ.RecordCount>0 then Exit;
     with JSZADOQ do
     begin
       Close;
       SQL.Clear;
       SQL.Add('INSERT INTO JSZ_M (JSZ_NO,JSZ_TIME,JSZ_CARNO,JSZ_BZ,JSZ_JCARNO,JSZ_JBZ,JSZ_HZBH,JSZ_HZ) values(:JSZ_NO,');
       SQL.Add(':JSZ_TIME,:JSZ_CARNO,:JSZ_BZ,:JSZ_JCARNO,:JSZ_JBZ,:JSZ_HZBH,:JSZ_HZ) ');
       JSZADOQ.Parameters.ParamByName('JSZ_NO').Value:=S;
       JSZADOQ.Parameters.ParamByName('JSZ_TIME').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_TIME').AsDateTime;
       JSZADOQ.Parameters.ParamByName('JSZ_CARNO').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_CARNO').AsString;
       JSZADOQ.Parameters.ParamByName('JSZ_BZ').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JBZ').AsString;
       JSZADOQ.Parameters.ParamByName('JSZ_JCARNO').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JCARNO').AsString;
       JSZADOQ.Parameters.ParamByName('JSZ_JBZ').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JSBZ').AsString;
       JSZADOQ.Parameters.ParamByName('JSZ_HZBH').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString;
       JSZADOQ.Parameters.ParamByName('JSZ_HZ').Value:='';
       JSZADOQ.ExecSQL;
     end;
       DM.JXZP_ADOT.First;
       while not DM.JXZP_ADOT.Eof do
       begin
         with JSZADOQ do
         begin
           Close;
           SQL.Clear;
           SQl.Add('INSERT INTO JSZ_P(JSZ_NO,JSZ_ITEMNO,JSZ_ITEMSORT,JSZ_ITEMUNIT,JSZ_ITEMPRICE,JSZ_ITEMNUM,JSZ_ITEMMON) VALUES');
           SQL.Add('(:JSZ_NO,:JSZ_ITEMNO,:JSZ_ITEMSORT,:JSZ_ITEMUNIT,:JSZ_ITEMPRICE,:JSZ_ITEMNUM,:JSZ_ITEMMON)');
           JSZADOQ.Parameters.ParamByName('JSZ_NO').Value:=S;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMNO').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMNO').AsString;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMSORT').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMSORT').AsString;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMUNIT').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMUNIT').AsString;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMPRICE').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMPRICE').AsCurrency;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMNUM').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMNUM').AsCurrency;
           JSZADOQ.Parameters.ParamByName('JSZ_ITEMMON').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMMON').AsCurrency;
           JSZADOQ.ExecSQL;
         end;
         DM.JXZP_ADOT.Next;
       end;
     DM.ADOC.CommitTrans;
     ShowMessage('接上组数据生成完毕');
   except
     DM.ADOC.RollbackTrans;
   end;
end;

procedure TJXZ_Form.FormShow(Sender: TObject);
begin
  BitBtn6.Enabled:=CheckRights('交下组编制','打印');
  BitBtn1.Enabled:=CheckRights('交下组编制','新单');
  BitBtn2.Enabled:=CheckRights('交下组编制','修改');
  BitBtn3.Enabled:=CheckRights('交下组编制','删除');
  BitBtn4.Enabled:=CheckRights('交下组编制','保存');
  BitBtn5.Enabled:=CheckRights('交下组编制','取消');
  BitBtn11.Enabled:=CheckRights('交下组编制','审核');
  BitBtn7.Enabled:=CheckRights('交下组编制','生成接上组');
end;

end.

⌨️ 快捷键说明

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