?? shipment.pas
字號:
begin
LabelMessage.Caption := BarCodeTemp + '此條碼剛掃描過,請重新掃描!';
PlaySound(pchar(ExtractFilePath(Application.ExeName) + 'keyerror.wav'), 0, snd_Async);
EdtBarCodeEnter.Text := '';
exit;
end;
if not StockDM.QBarCodefind.Locate('BarCode', BarCodeTemp, []) then
begin
LabelMessage.Caption := BarCodeTemp + '此條碼機(jī)器還未生產(chǎn),請重新掃描其他機(jī)器!';
PlaySound(pchar(ExtractFilePath(Application.ExeName) + 'keyerror.wav'), 0, snd_Async);
EdtBarCodeEnter.Text := '';
exit;
end;
if StockDM.QBarCodefind.FieldValues['IsPack'] = false then
begin
LabelMessage.Caption := BarCodeTemp + '此條碼機(jī)器還未包裝,請檢查!';
PlaySound(pchar(ExtractFilePath(Application.ExeName) + 'keyerror.wav'), 0, snd_Async);
EdtBarCodeEnter.Text := '';
exit;
end;
if (StockDM.QBarCodefind.FieldValues['IsInCome'] = true)and (CheckBoxRePrint.Checked=False) then
begin
LabelMessage.Caption := BarCodeTemp + '此條碼機(jī)器已經(jīng)裝箱入庫,請檢查!';
PlaySound(pchar(ExtractFilePath(Application.ExeName) + 'keyerror.wav'), 0, snd_Async);
EdtBarCodeEnter.Text := '';
exit;
end;
StockDM.QOrders.Locate('OrderID', StockDM.QBarCodefind.FieldValues['OrderID'], []);
//進(jìn)行其他檢查
if StockDM.QBarCode.RecordCount = 0 then
begin //是第一個時記下
if Application.MessageBox(pchar('請確定包裝機(jī)器是否正確?'), pchar('提示'), MB_YESNO) = IDYES then
begin
//記下原來所有值
SaveBarcodeInfo;
end;
end else
begin
if ContrastBarcodeInfo then
SaveBarcodeInfo //有改變并認(rèn)為是正確的就記下
else begin EdtBarCodeEnter.Text := ''; exit; end; //是錯的就退出
end;
if StockDM.QBarCode.RecordCount >= AutoPrintNum then
begin
LabelMessage.Caption := '已經(jīng)連續(xù)掃描' + inttostr(AutoPrintNum) + '臺機(jī)器,請裝箱并打印標(biāo)簽!';
exit;
end;
EdtBarCodeEnter.text := '';
//已經(jīng)定位
StockDM.QBarCode.Append;
StockDM.QBarCode.FieldValues['BarCode'] := BarCodeTemp; //存入臨時表
StockDM.QBarCode.post;
if(CheckBoxRePrint.Checked=False) then
begin
StockDM.QBarCodefind.Edit; //更改時間
StockDM.QBarCodefind.FieldValues['IsInCome'] := true;
StockDM.QBarCodefind.FieldValues['InComeDate'] := FormatDateTime('yyyy-mm-dd',Date);
StockDM.QBarCodefind.FieldValues['InComeTime'] := TimeToStr(Time);
StockDM.QBarCodefind.Post;
end ;
EdtBarCodeEnter.text := '';
BtnPrint.Enabled := true; //隨時可以打印無論機(jī)器數(shù)量
if StockDM.QBarCode.RecordCount >= AutoPrintNum then
begin
//開始自動打印
LabelMessage.Caption := '已經(jīng)連續(xù)掃描' + inttostr(AutoPrintNum) + '臺機(jī)器,正在入庫...!';
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''', [FormatDateTime('yyyy-mm-dd',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 + '機(jī)器已入庫裝箱:';
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;
//-------------------------打印標(biāo)簽--------------------
RvProjectShipLabel.Close;
//RvProjectShipLabel.Open;
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 + '\條碼\ShipLabeCE.rav';
RvProjectShipLabel.Open;
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;
//條碼大小隨機(jī)器數(shù)量設(shè)置
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 >= 6 then
I2of5BarCode.Height := DataBand.Height - 0.17 //inch
else I2of5BarCode.Height:=0.4; //inch
//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;
//打印成功后刪除
try
RvProjectShipLabel.Execute;
except
ShowMessage('打印失敗請重新打印!');
Abort;
end;
//end -------------------------打印標(biāo)簽--------------------
deleteRec(StockDM.ADOConnBarCodeTemp, 'BarCode', ''); //刪除臨時表內(nèi)條碼
StockDM.QBarCode.close;
StockDM.QBarCode.open;
BtnPrint.Enabled := false;
LabelMessage.Caption := '此箱入庫完畢,請繼續(xù)掃描!';
end;
procedure TFrmShipment.BitBtn7Click(Sender: TObject);
begin
inherited; //刪除臨時表指定條碼
if StockDM.QBarCode.RecordCount > 0 then
if messagedlg('您確定要刪除當(dāng)前記錄嗎?', 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('打印數(shù)量最多為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 distinct a.BarCode 條碼,a.PostDate 生產(chǎn)日期,a.InComeDate 入庫日期, a.OrderID 訂單號,b.CustomerName 客戶,c.DevName 機(jī)型 from BarCode a ,Orders b,DeviceType c where a.OrderID=b.OrderID and a.devnum=c.devnum and a.OrderID=''%s''', [DBEditOrderID.Text]));
sql.Text:= ImportToExcelstr;
open;
if recordcount >= 1 then ExportToExcel(QToday); // and a.isincome=1
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.OrderDetail,d.OrderMemo from BarCode a,GBarCode b,DeviceType c,Orders d where a.GBarCodeID=b.GBarCodeID and a.Devnum=c.Devnum and a.OrderId=d.OrderID ');
Open;
end;}
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -