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

📄 shipment.~pa

📁 Barcode And LabelPrint
💻 ~PA
📖 第 1 页 / 共 2 页
字号:
    if StockDM.QBarCodefind.FieldValues['IsPack'] = false then
    begin
      LabelMessage.Caption := BarCodeTemp+'此条码机器还未包装,请检查!';
      EdtBarCodeEnter.Text:='';
      exit;
    end;

    if StockDM.QBarCodefind.FieldValues['IsInCome'] = true then
    begin
      LabelMessage.Caption := BarCodeTemp+'此条码机器已经装箱入库,请检查!';
      EdtBarCodeEnter.Text:='';
      exit;
    end;


     //进行其他检查
    if StockDM.QBarCode.RecordCount = 0 then
    begin //是第一个时记下
      if Application.MessageBox(pchar('请确定包装机器是否正确?'), pchar('提示'), MB_YESNO) = IDYES then
      begin
     //记下原来所有值
        SaveBarcodeInfo;
      end;
    end else
    begin
      if ContrastBarcodeInfo then
        SaveBarcodeInfo //有改变并认为是正确的就记下
      else begin EdtBarCodeEnter.Text:='';  exit;end; //是错的就退出
    end;

    if StockDM.QBarCode.RecordCount >= AutoPrintNum then
    begin
      LabelMessage.Caption := '已经连续扫描' + inttostr(AutoPrintNum) + '台机器,请装箱并打印标签!';
      exit;
    end;
    EdtBarCodeEnter.text := '';
  //已经定位
    StockDM.QBarCode.Append;
    StockDM.QBarCode.FieldValues['BarCode'] := BarCodeTemp; //存入临时表
    StockDM.QBarCode.post;

    StockDM.QBarCodefind.Edit; //更改时间
    StockDM.QBarCodefind.FieldValues['IsInCome'] := true;
    StockDM.QBarCodefind.FieldValues['InComeDate'] := date;
    StockDM.QBarCodefind.FieldValues['InComeTime'] := TimeToStr(Time);
    StockDM.QBarCodefind.Post;
    EdtBarCodeEnter.text := '';
    BtnPrint.Enabled := true; //随时可以打印无论机器数量

  if StockDM.QBarCode.RecordCount >= AutoPrintNum then
  begin
    //开始自动打印
    BtnPrint.Enabled := false;
    BtnPrintClick(self);
  end;
  EdtBarCodeEnter.SetFocus;
  getStatInfo;
  end;
end;
procedure TFrmShipment.getStatInfo;
begin
  with QToday do
  begin
    close;
    sql.Clear;
    sql.Add(Format('select OrderID,PostDate from BarCode where IsInCome=1 and  OrderID=''%s''', [DBEditOrderID.Text]));
    open;


    LabelThisOrder.Caption:=DBEditOrderID.Text+'订单已入库装箱:';
    LabelThisOrder.Refresh;
    LabelThisOrderCount.Left:=LabelThisOrder.Left+LabelThisOrder.Width+5;
    LabelThisOrderCount.Caption := inttostr(RecordCount);
    LabelThisOrderCount.Refresh;

    close;
    sql.Clear;
    sql.Add(Format('select BarCode,PostDate from BarCode where InComeDate=''%s''', [datetostr(date)]));
    open;
    LabelTodayCount.Caption := inttostr(RecordCount);
    LabelTodayCount.Refresh;

    close;
    sql.Clear;
    sql.Add(Format('select BarCode,OrderID from BarCode where IsInCome=1 and OrderID=''%s'' and DevNum=''%s'' ', [DBEditOrderID.Text,StockDM.QBarCodefind.FieldValues['DevNum']]));
    open;
    LabelThisDeviceType.Caption:=DBEditDevName.Text+'机器已入库装箱:';
    LabelThisDeviceType.Refresh;
    LabelThisDeviceTypeCount.Left:=LabelThisDeviceType.Left+LabelThisDeviceType.Width+5;
    LabelThisDeviceTypeCount.Caption := inttostr(RecordCount);
    LabelThisDeviceTypeCount.Refresh;
  end;
end;

procedure TFrmShipment.BtnPrintClick(Sender: TObject);
var
  MyPage: TRavePage;
  MyText: TRaveText;
  I2of5BarCode: TRaveI2of5BarCode;
  DataBand: TRaveDataBand;
  Region: TRaveRegion;
  TextCustomerName: TRaveText;
  TextOrderID: TRaveText;
  TextDeviceType: TRaveText;
  TextPostDate: TRaveText;
  TextMemo1: TRaveText;
  TextMemo2: TRaveText;
  TextMemo3: TRaveText;

begin
  inherited;
  if RadioGroupLAnguage.ItemIndex = 0 then
    RvProjectShipLabel.ProjectFile := CurPath + '\条码\ShipLabelC.rav'
  else if RadioGroupLAnguage.ItemIndex = 1 then RvProjectShipLabel.ProjectFile := CurPath + '\条码\ShipLabelE.rav'
  else RvProjectShipLabel.ProjectFile := CurPath + '\条码\ShipLabelCE.rav';
   if CheckBoxSetPrint.Checked then
    RvSystemShipLabel.SystemSetups:=[ssAllowSetup,ssAllowCopies,ssAllowDestPreview,ssAllowDestPrinter,ssAllowPrinterSetup,ssAllowPreviewSetup]
    else
    RvSystemShipLabel.SystemSetups:=[];
    if ChkPreview.Checked then RvSystemShipLabel.DefaultDest := rdPreview
    else RvSystemShipLabel.DefaultDest := rdPrinter;
    RvProjectShipLabel.Active := true;
   //RvProjectShipLabel.Open;

  with RvProjectShipLabel.ProjMan do begin
    FileName := RvProjectShipLabel.ProjectFile;
    MyPage := FindRaveComponent('ReportMain.Page1', nil) as TRavePage;
             //条码大小随机器数量设置
    Region := FindRaveComponent('Region', MyPage) as TRaveRegion;
    DataBand := FindRaveComponent('DataBand', MyPage) as TRaveDataBand;
    DataBand.Height := Region.Height / StockDM.QBarCode.RecordCount; //Strtoint(EdtAutoPrintNum.Text);
    I2of5BarCode := FindRaveComponent('I2of5BarCode', MyPage) as TRaveI2of5BarCode;
    if StockDM.QBarCode.RecordCount >= 4 then
      I2of5BarCode.Height := DataBand.Height - 0.17; //inch
             //显示其他信息
    TextCustomerName := FindRaveComponent('TextCustomerName', MyPage) as TRaveText;
    TextOrderID := FindRaveComponent('TextOrderID', MyPage) as TRaveText;
    TextDeviceType := FindRaveComponent('TextDeviceType', MyPage) as TRaveText;
    TextPostDate := FindRaveComponent('TextPostDate', MyPage) as TRaveText;
    TextMemo1 := FindRaveComponent('TextMemo1', MyPage) as TRaveText;
    TextMemo2 := FindRaveComponent('TextMemo2', MyPage) as TRaveText;
    TextMemo3 := FindRaveComponent('TextMemo3', MyPage) as TRaveText;

    TextCustomerName.Text := DBEditCustomerName.Text;
    TextOrderID.Text := DBEditOrderID.Text;
    TextDeviceType.Text := DBEditDevName.Text;
    TextPostDate.Text := DBEditpostdate.Text;
    TextMemo1.Text := copy(DBMemoMemo.Text, 1, 44);
    TextMemo2.Text := copy(DBMemoMemo.Text, 44 + 1, 44);
    TextMemo3.Text := copy(DBMemoMemo.Text, 44 + 44 + 1, 44);
             //I2of5BarCode   :=   FindRaveComponent('I2of5BarCode',MyPage)   as   TRaveI2of5BarCode;
             //I2of5BarCode.Text:='1234567890';
  end;
  //打印成功后删除

   //RaveProject
   //RvSystemShipLabel.
  try
    RvProjectShipLabel.Execute;
  except
    ShowMessage('打印失败请重新打印!');
    Abort;
  end;
  
  deleteRec(StockDM.ADOConnBarCodeTemp, 'BarCode', ''); //删除临时表内条码
  StockDM.QBarCode.close;
  StockDM.QBarCode.open;
  BtnPrint.Enabled := false;
  {with StockDM.QBarCode do
  begin
  close;
  SQL.Clear;
  SQL.Add('delete from BarCode');
  ExecSQL;
  close;
  SQL.Clear;
  SQL.Add('select * from BarCode');
  open;
  end; }

end;

procedure TFrmShipment.BitBtn7Click(Sender: TObject);
begin
  inherited; //删除临时表指定条码
  if StockDM.QBarCode.RecordCount > 0 then
    if messagedlg('您确定要删除当前记录吗?', mtWarning, [mbOk, mbCancel], 0) = mrOk then
    begin
      if StockDM.QBarCodefind.Locate('BarCode', StockDM.QBarCode.FieldValues['BarCode'], []) then
      begin
        StockDM.QBarCodefind.Edit;
        StockDM.QBarCodefind.FieldValues['IsInCome'] := false;
        StockDM.QBarCodefind.FieldValues['InComedate'] := null;
        StockDM.QBarCodefind.FieldValues['InComeTime'] := '';
        StockDM.QBarCodefind.Post;
      end;
      StockDM.QBarCode.Delete;
    end;
end;

procedure TFrmShipment.EdtAutoPrintNumKeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if (not (Key in ['0'..'9', #8])) then Key := #0;
end;

procedure TFrmShipment.DBGrid1CellClick(Column: TColumn);
begin
  inherited;
  StockDM.QBarCodefind.Locate('BarCode', StockDM.QBarCode.FieldValues['BarCode'], []);
end;

procedure TFrmShipment.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  inherited;
  if not StockDM.QBarCode.IsEmpty then
  begin
    ShowMessage('已扫描条码还未打印,确定不打印请先删除');
    CanClose := false;
    exit;
  end;
end;

procedure TFrmShipment.EdtAutoPrintNumChange(Sender: TObject);
begin
  inherited;
  if strtoint(EdtAutoPrintNum.Text) > 10 then
  begin
    ShowMessage('打印数量最多为10,请重输!');
    EdtAutoPrintNum.SetFocus;
    EdtAutoPrintNum.SelectAll;
    exit;
  end;
end;

procedure TFrmShipment.EdtAutoPrintNumExit(Sender: TObject);
begin
  inherited;
  EdtAutoPrintNumChange(Sender);
end;

procedure TFrmShipment.BitBtn8Click(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TFrmShipment.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  WriteIniFile('SysConfig', 'AutoPrintNum', EdtAutoPrintNum.Text);
  WriteIniFile('SysConfig', 'Language', inttostr(RadioGroupLAnguage.ItemIndex));
end;

procedure TFrmShipment.ImportToExcelClick(Sender: TObject);
begin
  inherited;
 with QToday do
  begin
    close;
    sql.Clear;
    sql.Add(Format('select a.BarCode 条码,a.PostDate 生产日期,a.InComeDate 入库日期, a.OrderID 订单号,b.CustomerName 客户,c.DevName 机型 from BarCode a ,Orders b,DeviceType c where a.OrderID=b.OrderID and a.devnum=c.devnum and a.isincome=1 and a.OrderID=''%s''', [DBEditOrderID.Text]));
    open;
    if recordcount >= 1 then ExportToExcel(QToday);
  end;
end;

procedure TFrmShipment.FormCreate(Sender: TObject);
begin
  inherited;
 with StockDM.QBarCodefind do
  begin
    Close;
    sql.Clear;
    sql.Add('select a.*,b.*,c.DevName,d.CustomerName,d.postdate  from BarCode a,GBarCode b,DeviceType c,Orders d where  a.GBarCodeID=b.GBarCodeID and b.Devnum=c.Devnum and b.OrderID=d.OrderID');
    Open;
  end;
end;

end.

⌨️ 快捷键说明

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