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

📄 ord150_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
  end;
  qryOrd153.Insert;
  SetButtonStateC(True);
  edtItem.SetFocus;
end;

procedure TOrd150_02Form.bbtnUpdate2Click(Sender: TObject);
begin
  inherited;
//产品资料-修改
  if qryOrd153.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  qryOrd153.Edit;
  SetButtonStateC(True);
  edtItem.SetFocus;
end;

procedure TOrd150_02Form.bbtnDelete2Click(Sender: TObject);
begin
  inherited;
//产品资料-删除
  if qryOrd153.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if IsExists('select 1 from TAS500 where T500_015='+qryOrd153O153_001.AsString+' and T500_016='+qryOrd153O153_002.AsString+' and T500_017='+''''+qryOrd153O153_003.AsString+'''') then
  begin
    ShowMsg('UMS10000510');  //该客戶产品资料存在相关的项目计划,请先删除项目计划
    Abort;
  end;
  if IsExists('select 1 from TAS510 where T510_016='+qryOrd153O153_001.AsString+' and T510_017='+qryOrd153O153_002.AsString+' and T510_018='+''''+qryOrd153O153_003.AsString+'''') then
  begin
    ShowMsg('UMS10000511');  //该客戶产品资料存在相关的任务计划,请先删除任务计划
    Abort;
  end;
  if ShowDialog('UMS10000008')=IDYES then  //确定要删除此记录吗?
  begin
    try
      qryOrd153.Delete;
    except
      qryOrd153.Refresh;
    end;
  end;
  bbtnDelete2.Enabled:=not qryOrd153.IsEmpty;
end;

procedure TOrd150_02Form.bbtnSave2Click(Sender: TObject);
begin
  inherited;
//产品资料-保存
  if trim(edtItem.Text)='' then
  begin
    ShowMsg('UMS10000274');  //产品编号不能为空
    edtItem.SetFocus;
    Abort;
  end;
  if not qryInv150.Locate('I150_002',edtItem.Text,[]) then
  begin
    ShowMsg('UMS10000267');  //输入的产品编号无效
    edtItem.SetFocus;
    Abort;
  end;
  if trim(edtMacNo.Text)='' then
  begin
    ShowMsg('UMS10000275');  //机身编号不能为空
    edtMacNo.SetFocus;
    Abort;
  end;

  if not (qryOrd153.State in [dsInsert,dsEdit]) then qryOrd153.Edit;
  qryOrd153.FieldByName('O153_001').Value:=qryOrd150.FieldByName('O150_001').Value;  //客户编号
  qryOrd153.FieldByName('O153_002').Value:=qryInv150.FieldByName('I150_001').Value;  //产品编号
  //安装地址
  if trim(edtInstallAdd.Text)<>'' then
    qryOrd153.FieldByName('O153_011').Value:=edtInstallAdd.Text
  else
    qryOrd153.FieldByName('O153_011').Clear;
  //来源类型
  qryOrd153.FieldByName('O153_012').Value:=cbFrom.ItemIndex;  //来源类型

  if edtControlNo.Text='' then qryOrd153.FieldByName(edtControlNo.DataField).Clear;
  if edtSoftware.Text='' then qryOrd153.FieldByName(edtSoftware.DataField).Clear;
  if edtInstallDate.Text='' then qryOrd153.FieldByName(edtInstallDate.DataField).Clear;
  if edtFromDate1.Text='' then qryOrd153.FieldByName(edtFromDate1.DataField).Clear;
  if edtToDate1.Text='' then qryOrd153.FieldByName(edtToDate1.DataField).Clear;
  if edtFromDate2.Text='' then qryOrd153.FieldByName(edtFromDate2.DataField).Clear;
  if edtToDate2.Text='' then qryOrd153.FieldByName(edtToDate2.DataField).Clear;
  try
    qryOrd153.Post;
    //更新项目计划和任务计划中相关的产品资料
    if (AOldItem<>'') and (AOldMacNo<>'') then
    begin
      if (AOldItem<>qryOrd153O153_002.AsString) or (AOldMacNo<>qryOrd153O153_003.AsString) then
      begin
        ExecSQL('update TAS500 set T500_016='+qryOrd153O153_002.AsString+',T500_017='+''''+qryOrd153O153_003.AsString+''''+' where T500_015='+qryOrd153O153_001.AsString+' and T500_016='+AOldItem+' and T500_017='+''''+AOldMacNo+'''');
        ExecSQL('update TAS510 set T510_017='+qryOrd153O153_002.AsString+',T510_018='+''''+qryOrd153O153_003.AsString+''''+' where T510_016='+qryOrd153O153_001.AsString+' and T510_017='+AOldItem+' and T510_018='+''''+AOldMacNo+'''');
      end;
    end;
  except
    ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
  SetButtonStateC(False);
end;

procedure TOrd150_02Form.bbtnCancel2Click(Sender: TObject);
begin
  inherited;
//产品资料-取消
  qryOrd153.Cancel;
  SetButtonStateC(False);
end;

procedure TOrd150_02Form.qryOrd150AfterScroll(DataSet: TDataSet);
var
  ACustNo:string;
begin
  inherited;
  cbStatus.ItemIndex:=qryOrd150.FieldByName('O150_014').AsInteger;
  cbType.ItemIndex:=qryOrd150.FieldByName('O150_009').AsInteger;
  memRemark.Text:=qryOrd150.FieldByName('O150_036').AsString;
  edtCreateDate.Text:=qryOrd150.FieldByName('O150_037').AsString;
  edtCreateBy.Text:=qryOrd150.FieldByName('O150_038').AsString;
  edtUpdateDate.Text:=qryOrd150.FieldByName('O150_039').AsString;
  edtUpdateBy.Text:=qryOrd150.FieldByName('O150_040').AsString;
  ACustNo:=qryOrd150.FieldByName('O150_001').AsString;;
  if ACustNo='' then ACustNo:='0';
  qryOrd151.DisableControls;
  qryOrd152.DisableControls;
  qryOrd153.DisableControls;
  qryOrd151.Close;
  qryOrd151.SQL.Clear;
  qryOrd151.SQL.Add('select * from ORD151 where O151_001='+ACustNo+' order by O151_002');
  qryOrd151.Open;
  ARecordCount1:=GetDataSetCount(qryOrd151);
  qryOrd152.Close;
  qryOrd152.SQL.Clear;
  qryOrd152.SQL.Add('select * from ORD152 where O152_001='+ACustNo+' order by O152_002');
  qryOrd152.Open;
  ARecordCount2:=GetDataSetCount(qryOrd152);
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select * from ORD153 where O153_001='+ACustNo+' order by O153_002');
  qryOrd153.Open;
  ARecordCount3:=GetDataSetCount(qryOrd153);
  qryOrd151.EnableControls;
  qryOrd152.EnableControls;
  qryOrd153.EnableControls;
end;

procedure TOrd150_02Form.FormActivate(Sender: TObject);
begin
  inherited;
  if (Active) and (ActSave.Enabled) then edtCustNo.SetFocus;
end;

procedure TOrd150_02Form.qryOrd153AfterScroll(DataSet: TDataSet);
begin
  inherited;
  edtItem.Text:=qryOrd153I150_002.AsString;
  edtItemName.Text:=qryOrd153I150_003.AsString;
  cbFrom.ItemIndex:=qryOrd153O153_012.AsInteger;
  edtInstallAdd.Text:=qryOrd153O153_011.AsString;
  if qryOrd152.Locate('O152_001;O152_002',VarArrayOf([qryOrd150O150_001.Value,edtInstallAdd.Text]),[]) then
    edtInstallAddName.Text:=qryOrd152O152_004.AsString
  else
    edtInstallAddName.Text:='';
  AOldItem:=qryOrd153O153_002.AsString;
  AOldMacNo:=qryOrd153O153_003.AsString;
end;

procedure TOrd150_02Form.qryOrd152AfterScroll(DataSet: TDataSet);
var
  ACust:String;
begin
  inherited;
  if qryOrd150.IsEmpty then Exit;
  if qryOrd150O150_001.AsString='' then ACust:='0' else ACust:=qryOrd150O150_001.AsString;
  //设置主要交货地点可否编辑  1.当没有设置主要交货地点时可编辑,2.当前记录为主要交货地点时中可编辑
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select O152_001,O152_002 from ORD152 where O152_010<>0 and O152_001='+ACust);
  SYSDM.qryQuery.Open;
  cbPrimaryPlace.Enabled:=SYSDM.qryQuery.IsEmpty;
  if not SYSDM.qryQuery.IsEmpty then
  begin
    if (SYSDM.qryQuery.FieldByName('O152_001').Value=qryOrd152O152_001.Value) and
       (SYSDM.qryQuery.FieldByName('O152_002').Value=qryOrd152O152_002.Value) then
      cbPrimaryPlace.Enabled:=True;
  end;
end;

procedure TOrd150_02Form.qryOrd151AfterScroll(DataSet: TDataSet);
var
  ACust:String;
begin
  inherited;
  if qryOrd150.IsEmpty then Exit;
  if qryOrd150O150_001.AsString='' then ACust:='0' else ACust:=qryOrd150O150_001.AsString;
  //设置主联系人可否编辑  1.当没有设置主联系人时可编辑,2.当前记录为主联系人时中可编辑
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select O151_001,O151_002 from ORD151 where O151_011<>0 and O151_001='+ACust);
  SYSDM.qryQuery.Open;
  cbPrimary.Enabled:=SYSDM.qryQuery.IsEmpty;
  if not SYSDM.qryQuery.IsEmpty then
  begin
    if (SYSDM.qryQuery.FieldByName('O151_001').Value=qryOrd151O151_001.Value) and
       (SYSDM.qryQuery.FieldByName('O151_002').Value=qryOrd151O151_002.Value) then
      cbPrimary.Enabled:=True;
  end;
end;

procedure TOrd150_02Form.sbInstallAddClick(Sender: TObject);
begin
  inherited;
//安装地址查询
  if not edtInstallAdd.Focused then edtInstallAdd.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryOrd152,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtInstallAdd.Text:=qryOrd152.FieldByName('O152_002').AsString;
    edtInstallAddName.Text:=qryOrd152.FieldByName('O152_004').AsString;
  end;
end;

procedure TOrd150_02Form.edtInstallAddExit(Sender: TObject);
begin
  inherited;
//安装地址
  if trim(edtInstallAdd.Text)='' then Exit;
  if qryOrd152.Locate('O152_001;O152_002',VarArrayOf([qryOrd150O150_001.Value,edtInstallAdd.Text]),[]) then
  begin
    edtInstallAdd.Text:=qryOrd152.FieldByName('O152_002').AsString;
    edtInstallAddName.Text:=qryOrd152.FieldByName('O152_004').AsString;
  end else
  begin
    edtInstallAdd.Text:='';
    edtInstallAddName.Text:='';
    ShowMsg('UMS10000351');  //输入的安装地址无效
    edtInstallAdd.SetFocus;
    Abort;
  end;
end;

procedure TOrd150_02Form.sbConClick(Sender: TObject);
begin
  inherited;
//联系人名
  if not edtCon.Focused then edtCon.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryOrd151,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtCon.Text:=qryOrd151.FieldByName('O151_002').AsString;
    if edtPlaceTel.Text='' then edtPlaceTel.Text:=qryOrd151.FieldByName('O151_005').AsString;
    if edtPlaceFax.Text='' then edtPlaceFax.Text:=qryOrd151.FieldByName('O151_006').AsString;
  end;
end;

procedure TOrd150_02Form.edtConExit(Sender: TObject);
begin
  inherited;
//联系人名
  if not bbtnSave1.Enabled then Exit;
  if trim(edtCon.Text)='' then Exit;
  if qryOrd151.Locate('O151_001;O151_002',VarArrayOf([qryOrd150O150_001.Value,edtCon.Text]),[]) then
  begin
    edtCon.Text:=qryOrd151.FieldByName('O151_002').AsString;
  end else
  begin
    edtCon.Text:='';
    if edtCon.Text='' then
    begin
      if qryOrd152.State in [dsInsert,dsEdit] then qryOrd152.Edit;
      qryOrd152.FieldByName(edtCon.DataField).Clear;
    end;
    ShowMsg('UMS10000427');  //输入的联系人员无效
    edtCon.SetFocus;
    Abort;
  end;
end;

procedure TOrd150_02Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin

end;

procedure TOrd150_02Form.dxDBGrid1O151_002DrawSummaryFooter(
  Sender: TObject; ACanvas: TCanvas; ARect: TRect; var AText: String;
  var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
  var ADone: Boolean);
begin
  inherited;
  AColor:=clWhite;
  AText:=GetDBString('COM00004002')+IntToStr(ARecordCount1);  //记录总数:
end;

procedure TOrd150_02Form.dxDBGrid2O152_002DrawSummaryFooter(
  Sender: TObject; ACanvas: TCanvas; ARect: TRect; var AText: String;
  var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
  var ADone: Boolean);
begin
  inherited;
  AColor:=clWhite;
  AText:=GetDBString('COM00004002')+IntToStr(ARecordCount2);  //记录总数:
end;

procedure TOrd150_02Form.dxDBGrid3I150_002DrawSummaryFooter(
  Sender: TObject; ACanvas: TCanvas; ARect: TRect; var AText: String;
  var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
  var ADone: Boolean);
begin
  inherited;
  AColor:=clWhite;
  AText:=GetDBString('COM00004002')+IntToStr(ARecordCount3);  //记录总数:
end;

procedure TOrd150_02Form.qryOrd153O153_012GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if qryOrd153.IsEmpty then Exit;
  Text:=cbFrom.Items[Sender.AsInteger];
end;

procedure TOrd150_02Form.bbtnMoveClick(Sender: TObject);
begin
  inherited;
//转移(&M)
  if (qryOrd153.IsEmpty) or (qryOrd150.IsEmpty) then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  Ord150_03Form:=TOrd150_03Form.Create(Application);
  Ord150_03Form.OpenData(qryOrd150O150_001.AsInteger);
  Ord150_03Form.ShowModal;
end;

initialization
  RegisterClass(TOrd150_02Form);

finalization
  UnRegisterClass(TOrd150_02Form);

end.

⌨️ 快捷键说明

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