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

📄 tas500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
  ADOQuery1.SQL.Clear;
  if cbStatus.ItemIndex=0 then
  begin
    ADOQuery1.SQL.Add('select A.*,B.T120_003,');
    ADOQuery1.SQL.Add('       E.O150_001,E.O150_002,E.O150_003,B.T120_005');
    ADOQuery1.SQL.Add('from TAS500 A, TAS120 B,ORD150 E');
    ADOQuery1.SQL.Add('where A.T500_003=B.T120_001 and A.T500_015=E.O150_001');
    ADOQuery1.SQL.Add('order by T500_001');
  end else
  begin
    ADOQuery1.SQL.Add('select A.*,B.T120_003,');
    ADOQuery1.SQL.Add('       E.O150_001,E.O150_002,E.O150_003,B.T120_005');
    ADOQuery1.SQL.Add('from TAS500 A, TAS120 B,ORD150 E');
    ADOQuery1.SQL.Add('where A.T500_003=B.T120_001 and A.T500_015=E.O150_001 and ');
    ADOQuery1.SQL.Add('      T500_003='+IntToStr(cbStatus.ItemIndex));
    ADOQuery1.SQL.Add('order by T500_001');
  end;
  ADOQuery1.Open;
  ARecordCount:=GetDataSetCount(ADOQuery1);
  ADOQuery1.EnableControls;
  Screen.Cursor:=crDefault;
end;

procedure TTas500_01Form.cbStatusChange(Sender: TObject);
begin
  inherited;
  sbSearch.Click;
end;

procedure TTas500_01Form.Action1Execute(Sender: TObject);
var
  ACode:string;
  AFactToDate:TDateTime;
begin
  inherited;
//完成
  if ADOQuery1.IsEmpty then Exit;
  if ADOQuery1.FieldByName('T500_003').AsInteger=1 then
  begin
    ShowMsg('UMS10000329');  //计划状态下的项目不可执行该操作
    Abort;
  end;
  if ShowDialog('UMS10000330')=IDYES then  //项目设置为完成后,将不可对它进行其他任何操作,是否确定将该项目设置为完成状态?
  begin
    ACode:=ADOQuery1.FieldByName('T500_001').AsString;
    //实际完成日期
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select top 1 T510_028 from TAS510 where T510_008=2 and T510_009='+''''+ACode+''''+' order by T510_027 desc');
    SYSDM.qryQuery.Open;
    if SYSDM.qryQuery.Fields[0].IsNull then
    begin
      ShowMsg('UMS10000335');  //该项目下存在有相关的未完成的任务计划,请先将相关的任务计划关闭后,再关闭该项目计划
      Abort;
    end;
    AFactToDate:=SYSDM.qryQuery.Fields[0].Value;
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('T500_003').Value:=3;  //设置完成状态
    ADOQuery1.FieldByName('T500_027').Value:=AFactToDate;  //实际完成日期
    ADOQuery1.Post;
  end;
  ADOQuery1.DisableControls;
  sbSearch.Click;
  ADOQuery1.Locate('T500_001',ACode,[]);
  ADOQuery1.EnableControls;
  ShowMsg('UMS10000331');  //成功将项目设置为完成状态
end;

procedure TTas500_01Form.dxDBGrid1CustomDrawCell(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
  var AText: String; var AColor: TColor; AFont: TFont;
  var AAlignment: TAlignment; var ADone: Boolean);
begin
  inherited;
  if ANode.HasChildren then Exit;
  if not ASelected then
    if ANode.Values[dxDBGrid1T120_005.Index]<>null then AFont.Color:=ANode.Values[dxDBGrid1T120_005.Index];
end;

procedure GetStatusList(var AStringList:TStrings);
begin
  if AStringList=nil then Exit;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from TAS120 where T120_001 in (1,2,3)');
  SYSDM.qryQuery.Open;
  while not SYSDM.qryQuery.Eof do
  begin
    AStringList.Add(SYSDM.qryQuery.FieldByName('T120_003').Value);
    SYSDM.qryQuery.Next;
  end;
end;

procedure TTas500_01Form.FilterDialogSelectField(Sender: TObject;
  FieldName: String; var PictureMask: String; ComboList: TStrings);
begin
  if FieldName='T120_003' then GetStatusList(ComboList);
end;

procedure TTas500_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
  inherited;
  if ParName='AStatus' then ParValue:=lblStatus.Caption  //项目状态
  else if ParName='AStatusValue' then ParValue:=cbStatus.Text  //
  else if ParName='T500_001' then ParValue:=ADOQuery1T500_001.DisplayLabel  //
  else if ParName='T500_002' then ParValue:=ADOQuery1T500_002.DisplayLabel  //
  else if ParName='T120_003' then ParValue:=ADOQuery1T120_003.DisplayLabel  //
  else if ParName='T500_006' then ParValue:=ADOQuery1T500_006.DisplayLabel  //
  else if ParName='O150_002' then ParValue:=ADOQuery1O150_002.DisplayLabel  //
  else if ParName='O150_003' then ParValue:=ADOQuery1O150_003.DisplayLabel  //
  else if ParName='I150_002' then ParValue:=ADOQuery1I150_002.DisplayLabel  //
  else if ParName='T500_017' then ParValue:=ADOQuery1T500_017.DisplayLabel  //
end;

procedure TTas500_01Form.dxDBGrid1T500_001DrawSummaryFooter(
  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(ARecordCount);  //记录总数:
end;

procedure TTas500_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
begin
  inherited;
  case ADOQuery1T500_007.AsInteger of
    0:ADOQuery1FType.AsString:=AType[0];  //销售订单
    1:ADOQuery1FType.AsString:=AType[1];  //手工输入
  end;

  case ADOQuery1T500_010.AsInteger of
    0:ADOQuery1FUnit.AsString:=AUnit[0];  //时
    1:ADOQuery1FUnit.AsString:=AUnit[1];  //天
    2:ADOQuery1FUnit.AsString:=AUnit[2];  //周
    3:ADOQuery1FUnit.AsString:=AUnit[3];  //月
  end;
end;

procedure TTas500_01Form.BrowseEvent;
begin
  inherited;
  Tas500_02Form:=TTas500_02Form.Create(Application);
  Tas500_02Form.OpenData(ADOQuery1T500_001.Value);
  Tas500_02Form.ShowModal;
end;

procedure TTas500_01Form.DeleteEvent;
var
  ATypeNo:Integer;
  AOrderID,ACode:string;
begin
  inherited;
//删除
  //仅状态=计划时可删除
  if ADOQuery1T500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000263');  //不允许删除非计划状态的记录
    Abort;
  end;
  ATypeNo:=ADOQuery1.FieldByName('T500_007').AsInteger;
  AOrderID:=ADOQuery1.FieldByName('T500_008').AsString;
  ACode:=ADOQuery1T500_001.AsString;
  DeleteTableRecord(ADOQuery1,'TAS500','T500_001='+''''+ACode+'''');
  //更新来源单据的相关字段
  case ATypeNo of
    0:UpdateOrderInfo(AOrderID,0);  //销售定单
    2:UpdateCallInfo(AOrderID,0);   //来电记录
  end;
end;

procedure TTas500_01Form.InsertEvent;
begin
  inherited;
//新增
  Tas500_02Form:=TTas500_02Form.Create(Application);
  Tas500_02Form.OpenData('');
  Tas500_02Form.ActInsert.Execute;
  Tas500_02Form.ShowModal;
end;

procedure TTas500_01Form.UpdateEvent;
begin
  inherited;
//修改
  if ADOQuery1T500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000302');  //不允许修改非计划状态的记录
    Abort;
  end;
  Tas500_02Form:=TTas500_02Form.Create(Application);
  Tas500_02Form.OpenData(ADOQuery1T500_001.Value);
  Tas500_02Form.ActUpdate.Execute;
  Tas500_02Form.ShowModal;
end;

procedure TTas500_01Form.ActPrintExecute(Sender: TObject);
begin
  AReportName:='';
  inherited;
end;

initialization
  RegisterClass(TTas500_01Form);

finalization
  UnRegisterClass(TTas500_01Form);

end.

⌨️ 快捷键说明

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