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

📄 tas530_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
      S:=S+Copy(AReasonNo,I,1);
  end;
  for I:=0 to AStringList.Count-1 do
  begin
    if adsTas110.Locate('T110_001',AStringList[I],[]) then
    begin
      adsTas110.Edit;
      adsTas110.FieldByName('FSelected').Value:=True;
      adsTas110.Post;
    end;
  end;
  AStringList.Free;
end;

procedure TTas530_02Form.OpenData(ACode:string);
begin
  qryTas530.Close;
  qryTas530.SQL.Clear;
  qryTas530.SQL.Add('select A.*,B.T520_003,B.T520_019,C.T510_001,C.T510_002,C.T510_005,C.T510_018,D.T100_002,E.T120_003,');
  qryTas530.SQL.Add('       H.O150_001,H.O150_002,H.O150_003,H.O150_005,H.O150_007,H.O150_012,');
  qryTas530.SQL.Add('       B.T520_005,B.T520_006,B.T520_007,C.T510_016,C.T510_017,C.T510_019');
  qryTas530.SQL.Add('from TAS530 A,TAS520 B,TAS510 C,TAS100 D,TAS120 E,ORD150 H');
  qryTas530.SQL.Add('where A.T530_002=B.T520_001 and B.T520_002=C.T510_001 and');
  qryTas530.SQL.Add('      C.T510_004=D.T100_001 and C.T510_003=E.T120_001 and');
  qryTas530.SQL.Add('      C.T510_016=H.O150_001');
  qryTas530.SQL.Add('order by T530_001');
  qryTas530.Open;
  qryTas530.Locate('T530_001',ACode,[]);
  qryTas530AfterScroll(qryTas530);
end;

//取得任务的其他信息
procedure TTas530_02Form.GetTasksInfo(AVendNo,AClassNo,ACustNo,AItemNo:string);
begin
  if AVendNo<>'' then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select * from ORD150 where O150_01='+AVendNo);
    SYSDM.qryQuery.Open;
    edtVendor.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString;  //协助公司
    edtVendorName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
  end;

  if AClassNo<>'' then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select * from TAS100 where T100_001='+AClassNo);
    SYSDM.qryQuery.Open;
    edtClass.Text:=SYSDM.qryQuery.FieldByName('T100_002').AsString;
  end;

  if ACustNo<>'' then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select * from ORD150 where O150_001='+ACustNo);
    SYSDM.qryQuery.Open;
    edtCust.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString;
    edtCustName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
    edtPhone.Text:=SYSDM.qryQuery.FieldByName('O150_005').AsString;
    edtAddress.Text:=SYSDM.qryQuery.FieldByName('O150_012').AsString;
    edtEmail.Text:=SYSDM.qryQuery.FieldByName('O150_007').AsString;
    //主联系人信息
    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;

  if AItemNo<>'' then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select I150_002,I150_003,I150_004,I120_003,O150_002,O150_003 from INV150,INV120,ORD150 where I150_005=I120_001 and I150_010=O150_001 and I150_001='+AItemNo);
    SYSDM.qryQuery.Open;
    edtItem.Text:=SYSDM.qryQuery.FieldByName('I150_002').AsString;
    edtItemName.Text:=SYSDM.qryQuery.FieldByName('I150_003').AsString;
//    edtModel.Text:=SYSDM.qryQuery.FieldByName('I150_004').AsString;
//    edtItemClass.Text:=SYSDM.qryQuery.FieldByName('I120_003').AsString;
    edtMaker.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString;
    edtMakerName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
  end;
end;

procedure TTas530_02Form.FormCreate(Sender: TObject);
begin
  inherited;
  adsStatus.CreateDataSet;
  adsStatus.Append;
  adsStatus.FieldByName('FNo').Value:=0;
  adsStatus.FieldByName('FStatus').Value:=GetDBString('TAS53002108');  //需求
  adsStatus.Post;
  adsStatus.Append;
  adsStatus.FieldByName('FNo').Value:=1;
  adsStatus.FieldByName('FStatus').Value:=GetDBString('TAS53002109');  //安装
  adsStatus.Post;
  SetInterface;
  qryTas520.Open;
  qryInv150.Open;
  qryOrd150.Open;
  qryTas120.Open;
  qryTas532.Open;
  qryTas533.Open;
  SetButtonState(False);
  AKeyEvent:=OnKeyDown;
end;

procedure TTas530_02Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  if ActSave.Enabled then
  begin
    if ShowDialog('UMS10000007')=IDNO then  //数据尚未保存,现在保存吗?
      ActCancel.Execute
    else
      ActSave.Execute;
  end;
  qryTas520.Close;
  qryInv150.Close;
  qryOrd150.Close;
  qryTas120.Close;
  adsTas531.Close;
  qryTas532.Close;
  qryTas533.Close;
  adsStatus.Close;
end;


procedure TTas530_02Form.CreateTas533;
begin
  //添加与任务计划相关的销售订单信息
  adsTas533.Close;
  adsTas533.CreateDataSet;
  qryTas533.Close;
  qryTas533.SQL.Clear;
  qryTas533.SQL.Add('select O510B_001,O510B_002,O510B_013,I150_001,I150_002,I150_003,I150_004,I140_003');
  qryTas533.SQL.Add('from ORD510B,TAS510,INV150,INV140');
  qryTas533.SQL.Add('where O510B_001=T510_009 and T510_008=0 and O510B_003=I150_001 and');
  qryTas533.SQL.Add('      O510B_004=I140_001 and T510_001='+''''+edtTasks.Text+'''');
  qryTas533.SQL.Add('order by O510B_002');
  qryTas533.Open;
  while not qryTas533.Eof do
  begin
    adsTas533.Append;
    adsTas533.FieldByName('FOrder').Value:=qryTas533.FieldByName('O510B_001').Value;
    adsTas533.FieldByName('FLine').Value:=qryTas533.FieldByName('O510B_002').Value;
    adsTas533.FieldByName('FItemNo').Value:=qryTas533.FieldByName('I150_001').Value;
    adsTas533.FieldByName('FItemID').Value:=qryTas533.FieldByName('I150_002').Value;
    adsTas533.FieldByName('FItemName').Value:=qryTas533.FieldByName('I150_003').Value;
    adsTas533.FieldByName('FItemSpec').Value:=qryTas533.FieldByName('I150_004').Value;
    adsTas533.FieldByName('FUnitName').Value:=qryTas533.FieldByName('I140_003').Value;
    adsTas533.FieldByName('FQty').Value:=0;
    adsTas533.FieldByName('FItemPrice').Value:=qryTas533.FieldByName('O510B_013').Value;
    adsTas533.FieldByName('FTotal').Value:=0;
    adsTas533.FieldByName('FRemark').Value:='';
    adsTas533.Post;
    qryTas533.Next;
  end;
  //添加与项目计划相关的销售订单信息
  qryTas533.Close;
  qryTas533.SQL.Clear;
  qryTas533.SQL.Add('select O510B_001,O510B_002,O510B_013,I150_001,I150_002,I150_003,I150_004,I140_003');
  qryTas533.SQL.Add('from ORD510B,TAS510,INV150,INV140,TAS500');
  qryTas533.SQL.Add('where O510B_001=T500_008 and T500_007=0 and T500_001=T510_009 and T510_008=2 and O510B_003=I150_001 and');
  qryTas533.SQL.Add('      O510B_004=I140_001 and T510_001='+''''+edtTasks.Text+'''');
  qryTas533.SQL.Add('order by O510B_002');
  qryTas533.Open;
  while not qryTas533.Eof do
  begin
    adsTas533.Append;
    adsTas533.FieldByName('FOrder').Value:=qryTas533.FieldByName('O510B_001').Value;
    adsTas533.FieldByName('FLine').Value:=qryTas533.FieldByName('O510B_002').Value;
    adsTas533.FieldByName('FItemNo').Value:=qryTas533.FieldByName('I150_001').Value;
    adsTas533.FieldByName('FItemID').Value:=qryTas533.FieldByName('I150_002').Value;
    adsTas533.FieldByName('FItemName').Value:=qryTas533.FieldByName('I150_003').Value;
    adsTas533.FieldByName('FItemSpec').Value:=qryTas533.FieldByName('I150_004').Value;
    adsTas533.FieldByName('FUnitName').Value:=qryTas533.FieldByName('I140_003').Value;
    adsTas533.FieldByName('FQty').Value:=0;
    adsTas533.FieldByName('FItemPrice').Value:=qryTas533.FieldByName('O510B_013').Value;
    adsTas533.FieldByName('FTotal').Value:=0;
    adsTas533.FieldByName('FRemark').Value:='';
    adsTas533.Post;
    qryTas533.Next;
  end;

end;

procedure TTas530_02Form.sbWorkClick(Sender: TObject);
var
  AClassNo,ACustNo,AItemNo,AOldTasks:string;
begin
  inherited;
//工单编号查询
  AOldTasks:=edtTasks.Text;
  if not edtWork.Focused then edtWork.SetFocus;
  qryTas520.Close;
  qryTas520.Open;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryTas520,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtWork.Text:=qryTas520.FieldByName('T520_001').AsString;
    edtTasks.Text:=qryTas520.FieldByName('T520_002').AsString;
    edtName.Text:=qryTas520.FieldByName('T510_002').AsString;
    edtMacNo.Text:=qryTas520.FieldByName('T510_018').AsString;
    edtPriority.Text:=qryTas520.FieldByName('T510_005').AsString;
    edtPerson.Text:=qryTas520.FieldByName('T520_019').AsString;

    AClassNo:=qryTas520.FieldByName('T510_004').AsString;
    ACustNo:=qryTas520.FieldByName('T510_016').AsString;
    AItemNo:=qryTas520.FieldByName('T510_017').AsString;
    GetTasksInfo('',AClassNo,ACustNo,AItemNo);
  end;
  if AOldTasks<>edtTasks.Text then CreateTas533;
end;

procedure TTas530_02Form.edtWorkExit(Sender: TObject);
var
  AClassNo,ACustNo,AItemNo:string;
begin
  inherited;
//工单编号
  if trim(edtWork.Text)='' then Exit;
  if AOldWork=edtWork.Text then Exit;
  qryTas520.Close;
  qryTas520.Open;
  if qryTas520.Locate('T520_001',edtWork.Text,[]) then
  begin
    edtWork.Text:=qryTas520.FieldByName('T520_001').AsString;
    edtTasks.Text:=qryTas520.FieldByName('T520_002').AsString;
    edtName.Text:=qryTas520.FieldByName('T510_002').AsString;
    edtPriority.Text:=qryTas520.FieldByName('T510_005').AsString;
    edtMacNo.Text:=qryTas520.FieldByName('T510_018').AsString;
    edtPerson.Text:=qryTas520.FieldByName('T520_019').AsString;

    AClassNo:=qryTas520.FieldByName('T510_004').AsString;
    ACustNo:=qryTas520.FieldByName('T510_016').AsString;
    AItemNo:=qryTas520.FieldByName('T510_017').AsString;
    GetTasksInfo('',AClassNo,ACustNo,AItemNo);
  end else
  begin
    edtWork.Text:=AOldWork;
{    edtTasks.Text:='';
    edtName.Text:='';
    edtClass.Text:='';
    edtPriority.Text:='';
    edtPerson.Text:='';
    edtCust.Text:='';
    edtCustName.Text:='';
    edtPhone.Text:='';
    edtAddress.Text:='';
    edtContact.Text:='';
    edtPost.Text:='';
    edtEmail.Text:='';
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    edtModel.Text:='';
    edtItemClass.Text:='';
    edtMaker.Text:='';
    edtMakerName.Text:=''; }
    ShowMsg('UMS10000290');  //输入的工单编号无效
    edtWork.SetFocus;
    Abort;
  end;
  if AOldWork<>edtWork.Text then CreateTas533;
end;

procedure TTas530_02Form.sbVendorClick(Sender: TObject);
begin
  inherited;
//协助公司查询
 if not edtVendor.Focused then edtVendor.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryOrd150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtVendor.Text:=qryOrd150.FieldByName('O150_002').AsString;
    edtVendorName.Text:=qryOrd150.FieldByName('O150_003').AsString;
  end;
end;

procedure TTas530_02Form.edtVendorExit(Sender: TObject);
begin
  inherited;
//协助公司查询
  if trim(edtVendor.Text)='' then Exit;
  if qryOrd150.Locate('O150_002',edtVendor.Text,[]) then
  begin
    edtVendor.Text:=qryOrd150.FieldByName('O150_002').AsString;
    edtVendorName.Text:=qryOrd150.FieldByName('O150_003').AsString;
  end else
  begin
    edtVendor.Text:='';
    edtVendorName.Text:='';
    ShowMsg('UMS10000291');  //输入的协助公司无效
    edtVendor.SetFocus;
    Abort;
  end;
end;

procedure TTas530_02Form.dbgReasonKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if Key=#32 then  //vk_space
  begin
    adsTas110.Edit;
    adsTas110.FieldByName('FSelected').AsBoolean:=not adsTas110.FieldByName('FSelected').AsBoolean;
    adsTas110.Post;
  end;
end;

procedure TTas530_02Form.dbgReasonMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  if dbgReason.GetColumnAt(X,Y)=nil then Exit;
  if dbgReason.GetColumnAt(X,Y).Field.FieldName='FSelected' then
  begin
    adsTas110.Edit;
    adsTas110.FieldByName('FSelected').AsBoolean:=not adsTas110.FieldByName('FSelected').AsBoolean;
    adsTas110.Post;
  end;
end;

procedure TTas530_02Form.edtFromDateExit(Sender: TObject);
begin
  inherited;
  if edtFromDate.Text='' then
  begin
    edtToDate.Text:='';
    Exit;
  end;
  try
    edtToDate.Date:=edtFromDate.Date+StrToFloat(edtDays.Text)-1;
  except
    ShowMsg('UMS10000348');  //输入的日期无效,请重新输入
    Abort;
  end;

⌨️ 快捷键说明

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