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

📄 tas510_02.pas

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
    qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
    qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
    qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
    qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
    qryOrd153.Open;
  end;
end;

procedure TTas510_02Form.sbItemClick(Sender: TObject);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
//产品编号查询
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;
  if not edtItem.Focused then edtItem.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryOrd153,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;

    ACustNo:=qryOrd150O150_001.Value;
    AItemNo:=qryOrd153I150_001.Value;
    AMacNo:=edtMacNo.Text;
    GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
    edtPhone.Text:=ACustomerInfo.CustPhone;
    edtEmail.Text:=ACustomerInfo.CustEmail;
    edtAddress.Text:=ACustomerInfo.CustAddress;
    edtContact.Text:=ACustomerInfo.CustContact;
    edtPost.Text:=ACustomerInfo.CustPosition;
  end;
end;

procedure TTas510_02Form.sbMacNoClick(Sender: TObject);
begin
  inherited;
//机身编号查询
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;
  if not edtMacNO.Focused then edtMacNO.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryOrd153,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
  end;
end;

procedure TTas510_02Form.edtOrderExit(Sender: TObject);
var
  ACustNo,AItemNo:string;
begin
  inherited;
//来源单号
  if trim(edtOrder.Text)='' then Exit;
  if AOldOrder=edtOrder.Text then Exit;
  if cbFrom.ItemIndex=0 then  //来源类型=销售定单
  begin
    qryOrd510.Close;
    qryOrd510.Open;
    if qryOrd510.Locate('O510A_001',edtOrder.Text,[]) then
    begin
      edtOrder.Text:=qryOrd510.FieldByName('O510A_001').Value;
      edtMacNo.Text:=qryOrd510.FieldByName('O510A_011').AsString;
      edtCust.Text:=qryOrd510.FieldByName('O150_002').AsString;
      edtItem.Text:=qryOrd510.FieldByName('I150_002').AsString;
      edtCustExit(edtCust);
      edtItemExit(edtItem);
    end else
    begin
      ShowMsg('UMS10000306');  //输入的来源单号无效,请重新输入
      edtOrder.SetFocus;
      Abort;
    end;
  end else
  //1=来电记录
  if cbFrom.ItemIndex=1 then  //来源类型=来电记录
  begin
    qrySer500.Close;
    qrySer500.Open;
    if qrySer500.Locate('S500_001',edtOrder.Text,[]) then
    begin
      if qrySer500.IsEmpty then Exit;
      edtOrder.Text:=qrySer500.FieldByName('S500_001').AsString;
      edtMacNo.Text:=qrySer500.FieldByName('S500_019').AsString;
      ACustNo:=qrySer500.FieldByName('S500_017').AsString;
      AItemNo:=qrySer500.FieldByName('S500_018').AsString;
      edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
      if AItemNo<>'' then edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
      edtCustExit(edtCust);
      edtItemExit(edtItem);
    end else
    begin
      ShowMsg('UMS10000306');  //输入的来源单号无效,请重新输入
      edtOrder.SetFocus;
      Abort;
    end;
  end else
  //2=项目计划
  if cbFrom.ItemIndex=2 then  //来源类型=项目计划
  begin
    qryTas500.Close;
    qryTas500.Open;
    if qryTas500.Locate('T500_001',edtOrder.Text,[]) then
    begin
      if qryTas500.IsEmpty then Exit;
      edtOrder.Text:=qryTas500.FieldByName('T500_001').AsString;
      edtMacNo.Text:=qryTas500.FieldByName('T500_017').AsString;
      ACustNo:=qryTas500.FieldByName('T500_015').AsString;
      AItemNo:=qryTas500.FieldByName('T500_016').AsString;
      edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
      if AItemNo<>'' then edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
      edtCustExit(edtCust);
      edtItemExit(edtItem);
    end else
    begin
      ShowMsg('UMS10000306');  //输入的来源单号无效,请重新输入
      edtOrder.SetFocus;
      Abort;
    end;
  end;
end;

procedure TTas510_02Form.sbManagerClick(Sender: TObject);
begin
  inherited;
//责任人员
  if not edtManager.Focused then edtManager.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryHrm150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtManager.Text:=qryHrm150.FieldByName('H150_002').AsString;
    edtManagerName.Text:=qryHrm150.FieldByName('H150_003').AsString;
  end;
end;

procedure TTas510_02Form.edtManagerExit(Sender: TObject);
begin
  inherited;
//责任人员
  if trim(edtManager.Text)='' then Exit;
  if qryHrm150.Locate('H150_002',edtManager.Text,[]) then
  begin
    edtManager.Text:=qryHrm150.FieldByName('H150_002').Value;
    edtManagerName.Text:=qryHrm150.FieldByName('H150_003').Value;
  end else
  begin
    edtManager.Text:='';
    edtManagerName.Text:='';
    ShowMsg('UMS10000265');  //输入的责任人员无效
    edtManager.SetFocus;
    Abort;
  end;
end;

procedure TTas510_02Form.edtCustExit(Sender: TObject);
var
  ACustNo:string;
begin
  inherited;
//客户编号
  if trim(edtCust.Text)='' then Exit;
  if qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    edtCust.Text:=qryOrd150.FieldByName('O150_002').AsString;
    edtCustName.Text:=qryOrd150.FieldByName('O150_003').AsString;
    edtPhone.Text:=qryOrd150.FieldByName('O150_005').AsString;
    edtAddress.Text:=qryOrd150.FieldByName('O150_012').AsString;
    edtEmail.Text:=qryOrd150.FieldByName('O150_007').AsString;
    ACustNo:=qryOrd150.FieldByName('O150_001').AsString;
    if ACustNo<>'' then
    begin
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('select top 1 * from ORD151 where O151_011<>0 and O151_001='+ACustNo);
      SYSDM.qryQuery.Open;
      edtContact.Text:=SYSDM.qryQuery.FieldByName('O151_002').AsString;
      edtPost.Text:=SYSDM.qryQuery.FieldByName('O151_004').AsString;
    end;
    qryOrd153.Close;
    qryOrd153.SQL.Clear;
    qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
    qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
    qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
    qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
    qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
    qryOrd153.Open;
  end else
  begin
    edtCust.Text:='';
    edtCustName.Text:='';
    edtPhone.Text:='';
    edtAddress.Text:='';
    edtContact.Text:='';
    edtPost.Text:='';
    edtEmail.Text:='';
    ShowMsg('UMS10000264');  //输入的客户编号无效
    edtCust.SetFocus;
    Abort;
  end;
end;

procedure TTas510_02Form.edtItemExit(Sender: TObject);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
//产品编号
  if trim(edtItem.Text)='' then Exit;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;
  if qryOrd153.Locate('I150_002',edtItem.Text,[]) then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
//    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;

    ACustNo:=qryOrd150O150_001.Value;
    AItemNo:=qryOrd153I150_001.Value;
    AMacNo:=edtMacNo.Text;
    GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
    edtPhone.Text:=ACustomerInfo.CustPhone;
    edtEmail.Text:=ACustomerInfo.CustEmail;
    edtAddress.Text:=ACustomerInfo.CustAddress;
    edtContact.Text:=ACustomerInfo.CustContact;
    edtPost.Text:=ACustomerInfo.CustPosition;
  end else
  begin
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    edtModel.Text:='';
    edtItemClass.Text:='';
    edtMaker.Text:='';
    edtMakerName.Text:='';
    ShowMsg('UMS10000267');  //输入的产品编号无效
    edtItem.SetFocus;
    Abort;
  end;
end;

procedure TTas510_02Form.edtMacNoExit(Sender: TObject);
begin
  inherited;
//机身编号
  if trim(edtMacNo.Text)='' then Exit;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;
  if qryOrd153.Locate('O153_003',edtMacNo.Text,[]) then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
  end else
  begin
    edtItem.Text:='';

⌨️ 快捷键说明

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