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

📄 matin.pas

📁 文件包含程序源原文件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 8;
  Column.Caption := GetMultiLingalMsg(70222, 'Process Cost');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 10;
  Column.Caption := GetMultiLingalMsg(90064, 'Part Code');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 8;
  Column.Caption := GetMultiLingalMsg(90255, 'IN Date');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 12;
  Column.Caption := GetMultiLingalMsg(90053,'by In Paper NO');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 12;
  Column.Caption := GetMultiLingalMsg(90236,'Issue Paper');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 8;
  Column.Caption := GetMultiLingalMsg(90124,'SerialNum');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 10;
  Column.Caption := GetMultiLingalMsg(32093,'Order Code');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 11;
  Column.Caption := GetMultiLingalMsg(10042,'Sequal No');
  Inc(FColCnt);
  //--
  Column         := sListView.Columns.Add;
  Column.Width   := sListView.Font.Size * 16;
  Column.Caption := GetMultiLingalMsg(90065, 'Remarks');
  Inc(FColCnt);
end;

procedure TfrmMatIN.MakeItemCaption(Item: TListItem);
  //-- Init int value and '' to 0 value
  function IntToStrNull(INum: Integer): string;
  begin
    if INum = 0 then Result := ''
    else Result := IntToStr(INum);
  end;
var lcP: PINVENTORY;
begin
  if Item = nil then Exit;
  if Item.Data = nil then Exit;
  lcP := Item.Data;
  Item.ImageIndex := lcP^.KIND;

  Item.Caption      := lcp^.STK_ID;
  Item.SubItems[00] := dm_inventory.GetOrderNo(lcp^.ODR_RID);
  Item.SubItems[01] := dm_inventory.GetMaterialCode(lcP^.MAT_RID);
  Item.SubItems[02] := lcP^.MAT_NM;
  Item.SubItems[03] := dm_inventory.Get_GuageName(lcP^.MAT_RID,lcp^.GUAGE_ID);
  Item.SubItems[04] := dm_inventory.GetUnitTypeName(lcP^.MAT_RID);
  Item.SubItems[05] := FormatFloat('#,##0.00',abs(lcP^.UNT_PRICE));
  Item.SubItems[06] := FormatFloat('#,##0.00',abs(lcP^.QUANTITY));
  Item.SubItems[07] := FormatFloat('#,##0.00',abs(UserDecimalDefine(lcP^.TTL_PRICE,2)));
  Item.SubItems[08] := dm_inventory.GetShigenName(lcp^.SUP_CD);
  Item.SubItems[09] := dm_inventory.GetShigenName(lcp^.MAK_CD);
  Item.SubItems[10] := FormatFloat('#,##0.00',abs(lcP^.MAK_PRICE));
  Item.SubItems[11] := dm_inventory.GetPartCode(lcp^.ODR_RID,lcp^.PAT_RID);
  Item.SubItems[12] := formatdatetime('yy/mm/dd',lcp^.date);
  Item.SubItems[13] := lcp^.PAPERNO;
  Item.SubItems[14] := lcp^.ISS_PAPERNO;
  Item.SubItems[15] := inttostr(lcp^.HAT_RID);
  Item.SubItems[16] := strpas(lcp^.HAT_CODE);
  Item.SubItems[17] := strpas(lcp^.SEQUAL_NO);
  Item.SubItems[18] := lcp^.NOTE;
end;


procedure TfrmMatIN.rdoGroupByClick(Sender: TObject);
begin
  Read_IOChangedList;
end;

procedure TfrmMatIN.tabsGroupChange(Sender: TObject);
begin
  inherited;
  dm_Inventory.Read_IOHistory(FMatIOList,trim(edtStkID.Text),0,sFDate,sEDate);
  Set_QueryedList(FQueryList);
  Set_QryList_FromTabs(TabsGroup.TabIndex, FQueryList);
  SetListView;

  if ListViewMatIN.Items.Count>0 then begin
    ListViewMatIN.ToPItem.Selected := False;
    ListViewMatIN.ToPItem.Selected := True;
  end;
end;



procedure TfrmMatIN.cbxGuageDropDown(Sender: TObject);
begin
  inherited;
  dm_Inventory.Read_GuageInfoToCbx(edtMatCode,cbxGuage);
end;

procedure TfrmMatIN.cbxStkChange(Sender: TObject);
begin
  inherited;
  edtStkID.Text   := Get_PosBeforeStr(cbxStk.Text,'_');
  edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
  edtStkID.SetFocus;
end;

procedure TfrmMatIN.cbxMatInDropDown(Sender: TObject);
begin
  inherited;
  dm_inventory.Read_IOIDInfo_ToCbx(cbxMatIn,1);
end;

procedure TfrmMatIN.cbxMatInChange(Sender: TObject);
var lcp: PInventory;
    View: TInventory;
begin
  inherited;
  lcp := Selected;
  edtMatInID.Text   := Get_PosBeforeStr(cbxMatIn.Text,'_');
  edtInIDName.Text  := Get_PosAfterStr(cbxMatIn.Text,'_');
  edtMatInID.SetFocus;
  strPCopy(lcp^.INOUT_ID,trim(edtMatInID.Text));
  SetUpdateList(lcP^.REC_ID, @lcP^.INOUT_ID, LongInt(@View.INOUT_ID)-LongInt(@View), 0, lcP);
end;

procedure TfrmMatIN.cbxInputDropDown(Sender: TObject);
begin
  inherited;
  dm_inventory.Read_EmpInfoToCbx(cbxInput);
end;

procedure TfrmMatIN.cbxInputChange(Sender: TObject);
var lcp: PInventory;
    View: TInventory;
begin
  inherited;
  lcp := Selected;
  edtInputEmpID.Text    := Get_PosBeforeStr(cbxInput.Text,'_');
  edtInputEmpName.Text  := Get_PosAfterStr(cbxInput.Text,'_');
  edtInputEmpID.SetFocus;
  strPCopy(lcp^.INPUT_EMPID,trim(edtInputEmpID.Text));
  SetUpdateList(lcP^.REC_ID, @lcP^.INPUT_EMPID, LongInt(@View.INPUT_EMPID)-LongInt(@View), 0, lcP);
end;

Procedure TfrmMatIN.Excel_StockInList(sList: TList; iReport: Integer);
var
  V: Variant;
  Sheet: Variant;
  Filename: string;
  ExePath:  string;
  j,k : integer;
  lcp: PINVENTORY;
  fixrow: Integer;
begin
  try
    V := CreateOleObject('Excel.Application');
  except
    Screen.Cursor:=crDefault;
    MessageDlg('Excel Application startup Error.', mtError, [mbOk],0);
    Exit;
  end;

  V.Visible := True;

  Screen.Cursor:=crDefault;

  if (iReport=-1) then iReport := 0;

  case iReport of
    0: Filename := ExtractFilePath(application.ExeName) + 'inpaper.xls';
    else Filename := ExtractFilePath(application.ExeName) + 'inpaper2.xls';
  end;

  if FileExists(Filename)=False then begin
    MessageDlg(Filename + ExtractFilePath(FileName)+'this parth is not exist file!',
    mtError, [mbOk],0);
    Exit;
  end;

  V.Workbooks.Open(FileName,,true,,,,,,,,,,); // Readonly = True
  V.WorkSheets[1].Activate;

  V.Sheets.Add;
  V.WorkSheets[2].Select;
  V.WorkSheets[2].Activate;
  V.ActiveSheet.Cells.Select;
  V.Selection.Copy;
  V.WorkSheets[1].Activate;
  V.WorkSheets[1].Select;
  V.ActiveSheet.Cells.Select;
  V.ActiveSheet.Paste;
  V.ActiveSheet.Name := 1;
  k := 0;
  fixrow := StrToIntDef(frmMain.IniData.PAPERNO,20);
  for j := (k*fixrow) to sList.Count-1 do begin
    lcp := sList[j];

    if (j-(k*fixrow)+1) > fixrow then
    begin
      inc(K);
      V.Sheets.Add;
      V.WorkSheets[k+2].Select;
      V.WorkSheets[k+2].Activate;
      V.ActiveSheet.Cells.Select;
      V.Selection.Copy;
      V.WorkSheets[1].Activate;
      V.WorkSheets[1].Select;
      V.ActiveSheet.Cells.Select;
      V.ActiveSheet.Paste;
      V.ActiveSheet.Name := k+1;
    end;

    ///////////////////////////////////
    case iReport of
      0: begin
           V.ActiveSheet.PageSetUp.Orientation    := xlPortrait;     //-- xlLandscape;       //--
           V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3';        //--
           V.ActiveSheet.PageSetUp.CenterFooter   := '&9&P/&N Page'; //--
           V.ActiveSheet.PageSetUp.Order          := xlOverThenDown; //--
         end;
      else begin
           V.ActiveSheet.PageSetUp.Orientation    := xlLandscape; //xlPortrait;     //-- xlLandscape;       //--
           V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3';        //--
           V.ActiveSheet.PageSetUp.CenterFooter   := '&9&P/&N Page'; //--
           V.ActiveSheet.PageSetUp.Order          := xlOverThenDown; //--
      end;
    end;

    //--
    V.ActiveSheet.PageSetUp.LeftMargin   := V.InchesToPoints(7/25.4); // 15mm
    V.ActiveSheet.PageSetUp.RightMargin  := V.InchesToPoints(7/25.4); // 15mm
    V.ActiveSheet.PageSetUp.TopMargin    := V.InchesToPoints(15/25.4); // 15mm
    V.ActiveSheet.PageSetUp.BottomMargin := V.InchesToPoints(15/25.4); // 15mm
    V.ActiveSheet.PageSetUp.HeaderMargin := V.InchesToPoints(10/25.4); // 10mm
    V.ActiveSheet.PageSetUp.FooterMargin := V.InchesToPoints(10/25.4); // 10mm
    ///////////////////////////////////////
    V.ActiveSheet.Cells[3, 3].NumberFormatLocal := '@';
    case rdoGroupBy.ItemIndex of
      0: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90057,'Suplier');
      1: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90063,'Mold Code');
      2: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90053,'Paper NO');
      3: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90052,'IN Date');
      4: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90028,'Material Code');
      5: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90061,'Invoice NO');
      6: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90060,'IN Man');
      7: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90059,'IN Type');
      8: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90236,'Issue Paper');
      9: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90058,'by Maker');
      10: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(32093,'by Order Code');
      11: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90079,'ALL');
    end;
    V.ActiveSheet.Cells[3, 3].NumberFormatLocal := '@';
    Case rdoGroupBy.ItemIndex of
      0: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetShigenName(lcp^.SUP_CD);
      1: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetOrderNo(lcp^.ODR_RID);
      2: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.PAPERNO);
      3: V.ActiveSheet.Cells[ 3, 3].Value := FormatDatetime('yyyy/mm/dd',lcp^.DATE);
      4: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetMaterialCode(lcp^.MAT_RID);
      5: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.INVOICE_NO);
      6: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.Get_EmpName(lcp^.INPUT_EMPID);
      7: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.Get_IOIDName(lcp^.INOUT_ID,1);
      8: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.ISS_PAPERNO);
      9: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetShigenName(lcp^.MAK_CD);
      10: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.HAT_CODE);
      11: V.ActiveSheet.Cells[ 3, 3].Value := 'ALL';
    end;
    V.ActiveSheet.Cells[ 3, 3].Font.Size := 9;

    case iReport of
      0: begin
           V.ActiveSheet.Cells[2, 10].NumberFormatLocal := '@';
           V.ActiveSheet.Cells[2, 10].Value := strpas(lcp^.PAPERNO);
           V.ActiveSheet.Cells[2, 10].Font.Size := 9;
           V.ActiveSheet.Cells[3, 10].NumberFormatLocal := '@';
           V.ActiveSheet.Cells[3, 10].Value := FormatDatetime('yyyy/mm/dd hh:mm',Now);
           V.ActiveSheet.Cells[3, 10].Font.Size := 9;
         end;
      else begin
           V.ActiveSheet.Cells[2, 12].NumberFormatLocal := '@';
           V.ActiveSheet.Cells[2, 12].Value := strpas(lcp^.PAPERNO);
           V.ActiveSheet.Cells[2, 12].Font.Size := 9;
           V.ActiveSheet.Cells[3, 12].NumberFormatLocal := '@';
           V.ActiveSheet.Cells[3, 12].Value := FormatDatetime('yyyy/mm/dd hh:mm',Now);
           V.ActiveSheet.Cells[3, 12].Font.Size := 9;
      end;
    end;
    //--
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2].NumberFormatLocal := '@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2].Value := dm_inventory.GetOrderNo(lcp^.ODR_RID);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2 ].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].NumberFormatLocal := '@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].Value := dm_inventory.GetPartCode(lcp^.ODR_RID,lcp^.PAT_RID);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].NumberFormatLocal := '@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].Value := dm_inventory.GetMaterialName(lcp^.MAT_RID);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].NumberFormatLocal := '@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].Value := dm_inventory.Get_GuageName(lcp^.MAT_RID,lcp^.GUAGE_ID);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].NumberFormatLocal := '@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].Value := dm_inventory.GetUnitTypeName(lcp^.MAT_RID);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7].NumberFormatLocal:='#,##0.00';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7].Value := FormatFloat('#,##0.00', RoundTo(lcp^.UNT_PRICE,-2));
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7 ].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8].NumberFormatLocal:='#,##0.00';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8].Value := FormatFloat('#,##0.00', RoundTo(lcp^.QUANTITY,-2));
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8 ].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].NumberFormatLocal:='#,##0.00';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].Value := FormatFloat('#,##0.00', RoundTo(lcp^.TTL_PRICE,-2));
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].Font.Size := 9;

    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].NumberFormatLocal:='@';
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].Value := FormatDatetime('yyyy/mm/dd', lcp^.DATE);
    V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].Font.Size := 9;

    case iReport of
      0: begin
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].NumberFormatLocal:='@';
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Value := strpas(lcp^.NOTE);
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Font.Size := 9;
           V.ActiveSheet.Cells[fixrow+7, 10].NumberFormatLocal:='@';
           V.ActiveSheet.Cells[fixrow+7, 10].Value := dm_inventory.Get_EmpName(lcp^.INPUT_EMPID);
           V.ActiveSheet.Cells[fixrow+7, 10].Font.Size := 9;
         end;
      else begin
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].NumberFormatLocal:='@';
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Value := strpas(lcp^.ISS_PAPERNO);
           V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Font.Size := 9;
           V.ActiveSheet.Cell

⌨️ 快捷键说明

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