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

📄 u_frmmain.pas

📁 该程序是用Delphi开发的斑马打印机支持系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit U_frmMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, ImgList, Menus, Grids, DBGrids,
  dxDBInsp, dxInspct, dxInspRw, dxDBInRw, dxCntner, Buttons;

type
  TfrmMain = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    ImageList1: TImageList;
    Label1: TLabel;
    dtpTime: TDateTimePicker;
    MainMenu1: TMainMenu;
    S1: TMenuItem;
    mnu_Exit: TMenuItem;
    DBGrid1: TDBGrid;
    Label2: TLabel;
    dxDBInspector2: TdxDBInspector;
    dxDBInspector2PLANNO: TdxInspectorDBMaskRow;
    dxDBInspector2MATNR: TdxInspectorDBMaskRow;
    dxDBInspector2CHARG: TdxInspectorDBMaskRow;
    dxDBInspector2FLAG: TdxInspectorDBMaskRow;
    dxDBInspector2RUKU: TdxInspectorDBMaskRow;
    dxDBInspector2XBLNR: TdxInspectorDBMaskRow;
    dxDBInspector2USERNO: TdxInspectorDBMaskRow;
    dxDBInspector2CLASSNO: TdxInspectorDBMaskRow;
    dxDBInspector2SHIFTNO: TdxInspectorDBMaskRow;
    dxDBInspector2MACHINENO_W: TdxInspectorDBMaskRow;
    dxDBInspector2PMN: TdxInspectorDBMaskRow;
    dxDBInspector2PAPERKIND: TdxInspectorDBMaskRow;
    dxDBInspector2GWEIGHT: TdxInspectorDBMaskRow;
    dxDBInspector2GRADE: TdxInspectorDBMaskRow;
    dxDBInspector2SPECIFICATION: TdxInspectorDBMaskRow;
    dxDBInspector2NTGEW: TdxInspectorDBMaskRow;
    dxDBInspector2AREA: TdxInspectorDBMaskRow;
    dxDBInspector2STATUS: TdxInspectorDBMaskRow;
    dxDBInspector2MEMO: TdxInspectorDBMaskRow;
    dxDBInspector2JIANYANDATE: TdxInspectorDBMaskRow;
    dxDBInspector2JIANYANID: TdxInspectorDBMaskRow;
    dxDBInspector2SFID: TdxInspectorDBMaskRow;
    dxDBInspector2FF: TdxInspectorDBMaskRow;
    dxDBInspector2ISLOAD: TdxInspectorDBMaskRow;
    dxDBInspector2PRINT_F: TdxInspectorDBMaskRow;
    dxDBInspector2LAYOUT: TdxInspectorDBMaskRow;
    dxDBInspector2ADATE: TdxInspectorDBMaskRow;
    dxDBInspector2SKU: TdxInspectorDBMaskRow;
    dxDBInspector2MACHINENO_L: TdxInspectorDBMaskRow;
    dxDBInspector2CPID: TdxInspectorDBMaskRow;
    dxDBInspector2MPID: TdxInspectorDBMaskRow;
    dxDBInspector2Row32: TdxInspectorDBRow;
    dxDBInspector2Row33: TdxInspectorDBRow;
    dxDBInspector2Row34: TdxInspectorDBRow;
    dxDBInspector2Row35: TdxInspectorDBRow;
    dxDBInspector2Row36: TdxInspectorDBRow;
    dxDBInspector2Row37: TdxInspectorDBRow;
    dxDBInspector2Row38: TdxInspectorDBRow;
    dxDBInspector2Row39: TdxInspectorDBRow;
    dxDBInspector2Row40: TdxInspectorDBRow;
    dxDBInspector2Row41: TdxInspectorDBRow;
    dxDBInspector2Row42: TdxInspectorDBRow;
    dxDBInspector2Row43: TdxInspectorDBRow;
    dxDBInspector2Row44: TdxInspectorDBRow;
    dxDBInspector2Row45: TdxInspectorDBRow;
    cmbMachine: TComboBox;
    Label11: TLabel;
    cmbClass: TComboBox;
    Label12: TLabel;
    cmbShift: TComboBox;
    Label3: TLabel;
    cmbPaperkind: TComboBox;
    cmdSend: TBitBtn;
    cmdSendX: TBitBtn;
    StatusBar1: TStatusBar;
    H1: TMenuItem;
    mnuAbout: TMenuItem;
    cmdQuery: TBitBtn;
    Timer1: TTimer;
    Panel2: TPanel;
    Label4: TLabel;
    TreeView1: TTreeView;
    procedure mnu_ExitClick(Sender: TObject);
    procedure cmdQueryClick(Sender: TObject);
    procedure cmdSendClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure cmdSendXClick(Sender: TObject);
    procedure mnuAboutClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

uses U_Main, U_frmAbout;

{$R *.dfm}

procedure TfrmMain.mnu_ExitClick(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TfrmMain.cmdQueryClick(Sender: TObject);
var
  s, strSQL: String;
begin
  if (
    (trim(cmbmachine.Text)='')
    or (trim(cmbclass.Text  )='')
    or (trim(cmbshift.Text  )='')
     )
  then
    Begin
    MessageBox(Self.Handle, '请输入机台号,班次,班别!', '令标签打印支持系统', mb_ok + mb_iconwarning);
     exit;
    end;
  if Self.TreeView1.Selected.Text = '令标签类型' then
  begin
    MessageBox(Self.Handle, '请选择具体令标签类型!', '令标签打印支持系统', mb_ok + mb_iconwarning);
     exit;
  end;
  Screen.Cursor := crHourGlass;
  strSQL := 'SELECT A.PLANNO,A.MATNR, A.CHARG,A.FLAG,A.RUKU,A.XBLNR ,A.PMN, A.BRANDNO, A.PAPERKIND, A.GWEIGHT,A.GRADE,  A.SPECIFICATION,'
    + 'A.CPID,A.MPID,A.NTGEW,  A.AREA, A.STATUS, A.MEMO, to_char(A.JIANYANDATE,''YYYY-MM-DD'') JIANYANDATE, A.JIANYANID,A.PAPER_FORMTXT,'
    + 'to_char(A.ADATE,''YYYY-MM-DD'') ADATE, A.CLASSNO, A.SHIFTNO, A.SFID, A.FF, A.ISLOAD, A.PRINT_F, A.DATEIN,A.PKSH,A.SHPL,A.PKPL,'
    + 'A.USERNO , A.RESERVERNO, A.RESERVERITEM,A.planid,A.planid_itemno,A.layout,A.sku ,A.machineno_w,A.machineno_l, B.T0436T, B.T0438T, B.T0439T'
    + ', B.T0440T, B.T0468T, B.T0460T, B.T0448, B.T0436, B.T0421, B.T0422, B.T0423, B.T0426'
    + ' FROM PES.STACK_PACK_WRAPPING A, PES.ZBATCH_CHARACTER B'
    + ' WHERE A.MATNR = B.MATNR AND A.CHARG = B.CHARG and status <> ''Z'' and (a.paper_form <> ''E'' and a.paper_form <> ''H'') '
    + ' and classno = ''' + cmbClass.Text + '''' + ' and shiftno = ''' + cmbShift.Text + ''''
    + ' and machineno_l = ''' + cmbMachine.Text + '''' + ' and to_char(adate, ''yyyy-mm-dd'') = '''
    + formatdatetime('yyyy-mm-dd', dtpTime.Date) + ''''
    + ' and t0436 = ''' + self.TreeView1.Selected.Text + '''';
  s := '';
  with DM.QWrapping do
  begin
    Close;
    SQL.Clear;
    if cmbPaperkind.ItemIndex = 0 then
      s := ' and paperkind = ''' + 'P2G' + ''''
    else if cmbPaperkind.ItemIndex = 1 then
      s := ' and paperkind = ''' + 'P2M' + ''''
    else if cmbPaperkind.ItemIndex = 2 then
      s := ' and paperkind = ''' + 'P1G' + '''';
    SQL.Text := strSQL + s;
    //showmessage(ParamByName('classno').Value + ParamByName('shiftno').Value + ParamByName('machineno_l').Value + ParamByName('adate').Value);
    Open;
  end;
  Screen.Cursor := crArrow;
end;

procedure TfrmMain.cmdSendClick(Sender: TObject);
var
   j: ShortInt;
   temp1, temp2, tt: ShortString;
begin
   if DM.QWRAPPINGPLANNO.AsString = '' then exit;
   //美国METEOR开始********************************************
   if (Self.TreeView1.Selected.Text <> 'HR') and (Self.TreeView1.Selected.Text <> 'PR') then
   begin
   //删除数据
   DM.ADODelete.Close;
   DM.ADODelete.ExecSQL;
   //INSERT INTO PALERT(planno, bz, kz, gg1, gg2, sku, qzbz, zs, tc, gloss)
//VALUES
//(:planno, :bz, :kz, :gg1, :gg2, :sku, :qzbz, :zs, :tc, :gloss)
   with dm.METEOR_Insert do
   begin
      Close;
      //赋参数
      //栈板号planno
      Parameters.ParamByName('planno').value := DM.QWRAPPINGPLANNO.AsString;
      //磅重bz
      if dm.QWRAPPINGGWEIGHT.AsInteger = 89 then
         Parameters.ParamByName('bz').value := '60LB'
      else if dm.QWRAPPINGGWEIGHT.AsInteger = 104 then
         Parameters.ParamByName('bz').value := '70LB'
      else if dm.QWRAPPINGGWEIGHT.AsInteger = 118 then
         Parameters.ParamByName('bz').Value := '80LB'
      else if dm.QWRAPPINGGWEIGHT.AsInteger = 148 then
         Parameters.ParamByName('bz').Value := '100LB';
      //克重kz
      Parameters.ParamByName('kz').value := DM.QWRAPPINGGWEIGHT.AsString + 'G';
      //gg1
      J:=POS('*', dm.QWRAPPINGspecification.AsString);
      temp1 := COPY(dm.QWRAPPINGspecification.AsString,1,J-1);
      temp2 := COPY(dm.QWRAPPINGspecification.AsString,J+1,length(dm.QWRAPPINGspecification.AsString)-J);
      Parameters.ParamByName('gg2').value := temp1 + 'X' + temp2 + 'mm';

      temp1 := FormatFloat('0.0',StrToFloat(temp1) / 25.4);
      temp2 := FormatFloat('0.0',StrToFloat(temp2) / 25.4);

      Parameters.ParamByName('gg1').value := temp1 + 'X' + temp2;

      tt := dm.qwrappingspecification.asstring;

      //如果是GV格式转换成分数形式
      if (dm.qwrappingT0436.AsString = 'GV') and ( (tt = '216*279') or (tt = '314*460') or (tt= '318*483') or (tt = '337*460')) then//  and ((tt = '216*279') or tt = '314*460') or (tt = '318*483') or (tt = '337*460') ) then
      begin
         if dm.qwrappingspecification.asstring = '216*279' then
               Parameters.ParamByName('gg1').value := '8 1/2' + 'X' + '11'
            else if  dm.qwrappingspecification.asstring = '314*460' then
               Parameters.ParamByName('gg1').value := '12 3/8' + 'X' + '18 1/8'
            else if dm.qwrappingspecification.asstring = '318*483' then
               Parameters.ParamByName('gg1').value := '12 1/2' + 'X' + '19'
            else if dm.qwrappingspecification.asstring = '337*460' then
               Parameters.ParamByName('gg1').value := '13 1/4' + 'X' + '18 1/8'
      end;

      //Parameters[5].value := dm.QWRAPPING1SKU.AsString;
      {//查询SKUNO
      DM.QFree2.Close;
      DM.QFree2.SQL.Clear;
      DM.QFree2.SQL.Text := 'SELECT SKUNO FROM PES.STACK_USASKU WHERE MATNR = :MATNR AND CHARG = :CHARG';
      DM.QFree2.Params[0].AsString := DM.QWRAPPING1MATNR.AsString;
      DM.QFree2.Params[1].AsString := DM.QWRAPPING1charg.AsString;
      DM.QFree2.Open;}

      if trim(DM.QWrappingSKU.AsString) = '' then
      begin
        if MessageBox(Self.Handle, '该物料批次没有对应的SKUNO,是否真得要打印?', '系统提示', MB_YESNO + MB_ICONQUESTION) = mrNO then
        begin

⌨️ 快捷键说明

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