📄 pnewjob.pas
字号:
unit pNewJob;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Mask, Db, ADODB,comctrls;
type
TFormNewJob = class(TForm)
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
ButtonCancle: TButton;
ButtonOK: TButton;
EditLotNo: TEdit;
EditCode: TEdit;
EditProductCode: TEdit;
EditProcessCode: TEdit;
EditCheckCode: TEdit;
EditPartCode: TEdit;
EditHeNo: TEdit;
Button2: TButton;
Button4: TButton;
Button7: TButton;
StaticText11: TStaticText;
StaticText18: TStaticText;
EditAmount: TMaskEdit;
EditUnit: TMaskEdit;
ADODataSetLot: TADODataSet;
EditStart: TMaskEdit;
EditEnd: TMaskEdit;
CheckBoxUsa: TCheckBox;
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ButtonOKClick(Sender: TObject);
procedure ButtonCancleClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EditCodeChange(Sender: TObject);
procedure EditAmountChange(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure EditLotNoExit(Sender: TObject);
procedure EditCodeExit(Sender: TObject);
private
{ Private declarations }
procedure LotBackup(content:String);
function GetHeNO(prd: string): String;
public
procedure GetString2(sT,sF,sC:String;sAdoC:String);
end;
var
FormNewJob: TFormNewJob;
implementation
uses pSelect, PDataModuleMain, PRelation, PBarCodePrinter, PPublic;
{$R *.DFM}
procedure TFormNewJob.GetString2(sT,sF,sC:String;sAdoC:String);
begin
if not assigned(FormSelect) then FormSelect:=TFormSelect.Create(Self);
FormSelect.sTableName:=sT;
FormSelect.sFieldName:=sF;
FormSelect.sCaption:=sC;
FormSelect.sADOConnectionM:=SAdoC;
FormSelect.ShowModal;
end;
procedure TFormNewJob.Button4Click(Sender: TObject);
begin
GetString2('Relation','Code','品名代码',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditCode.Text:=FormSelect.sResult;
end;
procedure TFormNewJob.Button7Click(Sender: TObject);
begin
GetString2('PartsCode','PartsCode','部件代码',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditPartCode.Text:=FormSelect.sResult;
end;
procedure TFormNewJob.Button2Click(Sender: TObject);
begin
GetString2('LotHistory','LotNo','生产批号',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditLotNo.Text:=FormSelect.sResult;
ActiveControl:=EditLotNo;
end;
procedure TFormNewJob.ButtonOKClick(Sender: TObject);
var
ListItem:TListItem;
sBackup:String;
begin
if EditCode.Text='' then
begin
Application.MessageBox('综合代码不能为空!','提示',MB_OK);
exit;
end;
if (trim(EditUnit.Text)='') or (StrToInt(trim(EditUnit.Text))<=0) then
begin
Application.MessageBox('包装单位错误!','提示',MB_OK);
exit;
end;
if EditLotNo.Text='' then
begin
Application.MessageBox('生产批号不能为空!','提示',MB_OK);
exit;
end;
if EditHeNo.Text='' then
begin
Application.MessageBox('出荷编号不能为空!','提示',MB_OK);
exit;
end;
if (trim(EditAmount.Text)='') or (StrToInt(trim(EditAmount.Text))<=0) then
begin
Application.MessageBox('生产数量错误!','提示',MB_OK);
exit;
end;
if (trim(EditStart.Text)='') or (StrToInt(trim(EditStart.Text))<=0) then
begin
Application.MessageBox('起始标签号错误!','提示',MB_OK);
exit;
end;
if (trim(EditEnd.Text)='') or (StrToInt(trim(EditEnd.Text))<=0) or(StrToInt(trim(EditEnd.Text))>99) then
begin
Application.MessageBox('结束标签号错误!','提示',MB_OK);
exit;
end;
EditHeNo.Text:=trim(EditHeNo.text);
if Length(EditHeNo.text)<>7 then
begin
Application.MessageBox('出荷编号必须为七位!','提示',MB_OK);
exit;
end;
if StrToIntDef(EditHeNo.Text,-1)=-1 then
begin
Application.MessageBox('出荷编号错误!','提示',MB_OK);
exit;
end;
ADODataSetLot.Close;
ADODataSetLot.CommandText:='Select * from LotHistory where LotNo='''+trim(EditLotNo.Text)+'''';
ADODataSetLot.Open;
if ADODataSetLot.Eof then
begin
ADODataSetLot.Insert;
ADODataSetLot.FieldByName('LotNo').AsString:=(EditLotNo.Text);
ADODataSetLot.FieldByName('HeNo').AsString:=UpperCase(EditHeNo.Text);
ADODataSetLot.FieldByName('Code').AsString:=UpperCase(EditCode.Text);
ADODataSetLot.FieldByName('ProductCode').AsString:=UpperCase(EditProductCode.Text);
ADODataSetLot.FieldByName('ProcessCode').AsString:=UpperCase(EditProcessCode.Text);
ADODataSetLot.FieldByName('LotAmount').AsInteger:=StrToInt(trim(EditAmount.Text));
ADODataSetLot.FieldByName('PrintDate').Value:=Date;
ADODataSetLot.FieldByName('PrintTime').Value:=Time;
ADODataSetLot.FieldByName('UserCode').AsString:=UserCode;
ADODataSetLot.Post;
sBackup:=EditLotNo.Text+',';
sBackup:=sBackup+UpperCase(EditHeNo.Text)+',';
sBackup:=sBackup+UpperCase(EditCode.Text)+',';
sBackup:=sBackup+UpperCase(EditProductCode.Text)+',';
sBackup:=sBackup+UpperCase(EditProcessCode.Text)+',';
sBackup:=sBackup+trim(EditAmount.Text)+',';
sBackup:=sBackup+DateToStr(date)+',';
sBackup:=sBackup+DateTimeToStr(Now)+',';
sBackup:=sBackup+UserCode;
LotBackup(sBackup);
end;
ADODataSetLot.Close;
{ ADODataSetLot.CommandText:='Select * from system';
ADODataSetLot.Open;
if not ADODataSetLot.Eof then
begin
ADODataSetLot.Edit;
if (UpperCase(Copy(EditCode.Text,1,2))<='3L') and (strtoint(EditHeNo.Text)>strtoint(ADODataSetLot.FieldByName('HeNo1').AsString)) then
ADODataSetLot.FieldByName('HeNo1').AsString:=EditHeNo.Text
else if strtoint(EditHeNo.Text)>strtoint(ADODataSetLot.FieldByName('HeNo2').AsString) then
ADODataSetLot.FieldByName('HeNo2').AsString:=EditHeNo.Text;
ADODataSetLot.Post;
end;
ADODataSetLot.Close;
}
///my program begin
ADODataSetLot.CommandText:='Select * from point where 标志 like ''%'+copy(EditCode.Text,1,2)+'%''';
ADODataSetLot.Open;
if not ADODataSetLot.Eof then
begin
ADODataSetLot.Edit;
IF ADODataSetLot.FieldByName('历史').AsString='' THEN
ADODataSetLot.FieldByName('历史').AsString:=EditHeNo.Text
ELSE
if strtoint(EditHeNo.Text)>strtoint(ADODataSetLot.FieldByName('历史').AsString) then
ADODataSetLot.FieldByName('历史').AsString:=EditHeNo.Text;
ADODataSetLot.Post;
end;
ADODataSetLot.Close;
///my program end
ListItem:=BarCodePrinter.lvwPrintQueue.Items.Add;
ListItem.ImageIndex:=13;
ListItem.Caption:=(EditLotNo.Text);
ListItem.SubItems.Add(UpperCase(EditHeNo.Text));
ListItem.SubItems.Add(UpperCase(EditProductCode.Text));
ListItem.SubItems.Add(UpperCase(EditProcessCode.Text));
ListItem.SubItems.Add(UpperCase(EditCheckCode.Text));
ListItem.SubItems.Add(trim(EditAmount.Text));
ListItem.SubItems.Add(trim(EditUnit.Text));
ListItem.SubItems.Add(trim(EditStart.Text));
ListItem.SubItems.Add(trim(EditEnd.Text));
if CheckBoxUsa.Checked then
ListItem.SubItems.Add(UpperCase(EditPartCode.Text))
else
ListItem.SubItems.Add('');
//Close;
FormShow(Nil);
end;
procedure TFormNewJob.ButtonCancleClick(Sender: TObject);
begin
Close;
end;
procedure TFormNewJob.FormCreate(Sender: TObject);
begin
ADODataSetLot.Connection:=DataModuleMain.ADOConnectionBarCode;
end;
procedure TFormNewJob.FormShow(Sender: TObject);
begin
EditCode.Text:='';
EditProductCode.Text:='';
EditProcessCode.Text:='';
EditUnit.Text:='';
EditCheckCode.Text:='';
EditPartCode.Text:='';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -