📄 shipment.~pa
字号:
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 + -