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

📄 zfrm_autogetbidu.~pas

📁 专业的评标管理系统
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_AutoGetBidU                                       *│
'│*** 功能描述:                                                       *│
'│*** 编写人员:朱华                                *│
'│*** 编写日期:2001-06-06                             *│
'│*** 修改人员:                                    *│
'│*** 修改日期:                                                       *│
'│**********************************************************************│
'└───────────────────────────────────┘
}

unit zfrm_AutoGetBidU;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ImgList, ComCtrls, ToolWin, Menus, StdCtrls, ActnList, ExtCtrls, Buttons,
  Db, DBTables;

type
  Tzfrm_AutoGetBid = class(TForm)
    MainMenu1: TMainMenu;
    S1: TMenuItem;
    H1: TMenuItem;
    X1: TMenuItem;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ImageList1: TImageList;
    ListView1: TListView;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    StatusBar1: TStatusBar;
    PopupMenu1: TPopupMenu;
    ActionList1: TActionList;
    z_ShowBusiness: TAction;
    z_Technology: TAction;
    S2: TMenuItem;
    T1: TMenuItem;
    z_Answer: TAction;
    N1: TMenuItem;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label3: TLabel;
    Button1: TButton;
    Label4: TLabel;
    Edit1: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Edit2: TEdit;
    Label7: TLabel;
    GroupBox3: TGroupBox;
    Edit3: TEdit;
    Label8: TLabel;
    GroupBox4: TGroupBox;
    Panel2: TPanel;
    Image1: TImage;
    GroupBox5: TGroupBox;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    Image2: TImage;
    BitBtn3: TBitBtn;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Query2: TQuery;
    Panel1: TPanel;
    Image7: TImage;
    Label9: TLabel;
    Query1: TQuery;
    Query3: TQuery;
    Query4: TQuery;
    ImageList2: TImageList;
    N2: TMenuItem;
    S3: TMenuItem;
    A1: TMenuItem;
    T2: TMenuItem;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure X1Click(Sender: TObject);
    procedure z_ShowBusinessExecute(Sender: TObject);
    procedure z_AnswerExecute(Sender: TObject);
    procedure z_TechnologyExecute(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
    //Procedure CreateParams(Var Params: TCreateParams); Override;
  public
    { Public declarations }
    Procedure CreateParams(Var Params: TCreateParams); Override;
    procedure z_InitComboBox1P();
    procedure z_ShowBidUnitP();
    procedure z_FlashBidListView1P();
    procedure z_SelectListView1P();
    procedure z_GetTenderPriceP();
    procedure z_UpdateParamPriceP();
    procedure z_SelectedListViewGetValuesP();
    // 1, 投标报价
    procedure z_TenderReportPriceP();
    // 计算其他分数
    procedure z_ACountScroreP();
    // 2, 质量
    procedure z_TenderQualityP();
    // 3, 业绩
    procedure z_TenderachievementP();
    // 4, 安全文明
    procedure z_TendercivilizationP();
    // 5, 考评
    procedure z_TenderCheckP();
    // 6, 类似经验
    procedure z_TenderExperienceP();
    // 7, 质量体系认证
    procedure z_TenderQualitySystemP();
    // 8, 技术创新
    procedure z_TenderTechnoNewP();
    // 9, 企业行为
    procedure z_TenderActionP();

    // 得出,商务分
    procedure z_TenderBusinessScoreP();

    // 计算总分
    procedure z_TenderCountScoreP();

    function z_PublicQuery4F(Select_SQL:string):Double;
    // 复位
    procedure z_ResetP();
    // 重新排列
    procedure z_ResetListView1P(Select_SQL:string);
  end;

type
  Tz_AutoGet = record
    z_Auto_g_gb_id: integer;        // 定标编号
    z_Auto_g_ui_id: integer;        // 单位编号
    z_Auto_ui_name: string;         // 单位名称
    z_Auto_gb_tenderflag:string;    // 中标
    z_Auto_gb_reportprice: Double;  // 最终标价
    z_Auto_gb_sumscore :Double;     // 总分数
    z_Auto_gb_business :Double;     // 商务标分
    z_Auto_answer :Double;          // 答辩
    z_Auto_techno :Double;          // 技术标分
    z_Auto_cancel :string;          // 废标
end;

var
  zfrm_AutoGetBid: Tzfrm_AutoGetBid;
  z_TenderPriceD : Double; // 评标价

  z_AutoGet: Tz_AutoGet;

  zg_ai_id: integer;      // 项目编号
  z_ParamTabName: string; // 参数表名

  z_s: Double; // 最终得分

  z_CanAutoGetTenderFlag: boolean = True ; //自动定标标志


  z_PriceListFlag :boolean=False;
  z_SumListFlag :boolean=False;

implementation

uses zfrm_ProjectParamU, zmod_commonDateU, zmod_CommonFuncProcU,
  zfrm_showBusinessU, zfrm_answerU, zfrm_gettechnoU, zfrm_exportcountU;

{$R *.DFM}

function Tzfrm_AutoGetBid.z_PublicQuery4F(Select_SQL:string):Double;
begin
  //
  try  {try <1> S}
    Query4.Close ;
    Query4.SQL.Clear ;
    Query4.SQL.Add(Select_SQL) ;
    Query4.Prepare ;
    Query4.Open ;
    Query4.First ;
  except
      // 数据库错
    Application.MessageBox(
      '数据库连接错误,请您检查或系统管理员联系',
      '数据库错',
      MB_OK+MB_ICONError) ;
    z_PublicQuery4F := 0 ;
    Exit ;
  end; {try <1> E}
  z_PublicQuery4F := Query4.Fields[0].AsFloat ;
  //
end;

Procedure Tzfrm_AutoGetBid.CreateParams(Var Params: TCreateParams);
begin
  Inherited ;
  With Params Do
     exStyle := exStyle Or WS_EX_APPWINDOW;
end;

////////////////////// 用户自定义- <开始> //////////////////////

// 重新排列
procedure Tzfrm_AutoGetBid.z_ResetListView1P(Select_SQL:string);
var
  NewItem: TListItem;
begin
  // 3, 显示
  ListView1.Items.Clear ;
  zh_Select_SQL := Select_SQL ;
//  try  {try <1> S}
    Query4.Close ;
    Query4.SQL.Clear ;
    Query4.SQL.Add(zh_Select_SQL) ;
    Query4.Prepare ;
    Query4.Open ;
    Query4.First ;
{  except
      // 数据库错
    Application.MessageBox(
      '数据库连接错误,请您检查或系统管理员联系',
      '数据库错',
      MB_OK+MB_ICONError) ;
      Exit ;
  end; {try <1> E}

  while not Query4.Eof do
  begin {while <1> S}
    // 有记录开放"计算评标价"
    BitBtn1.Enabled := True ;

    NewItem:=ListView1.Items.add ;
    // 保存单位编号
    NewItem.StateIndex := Query4.Fields[2].AsInteger ;
    //
    NewItem.Caption := Query4.Fields[3].AsString ;
    NewItem.SubItems.Add(Query4.Fields[4].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[5].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[6].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[7].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[8].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[9].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[10].AsString) ;
    // 定标编号
    NewItem.SubItems.Add(Query4.Fields[0].AsString) ;

    NewItem.ImageIndex := 0 ;
    Query4.Next ;
  end; {while <1> E}
  //
end;

// 复位
procedure Tzfrm_AutoGetBid.z_ResetP();
begin
  // 复位
  BitBtn1.Enabled := False ;
  BitBtn2.Enabled := False ;
  BitBtn3.Enabled := False ;
  z_Answer.Enabled := False ;
  z_Technology.Enabled := False ;
  z_ShowBusiness.Enabled := False ;
  Label9.Caption := '¥0.00 元' ;
  //
end;

// 计算总分
procedure Tzfrm_AutoGetBid.z_TenderCountScoreP();
var
  temp: double;
begin
  //
  zh_Select_SQL := 'select gb_businessscore,gb_answer,gb_technoscore from tm_autogetbid where g_gb_id=' + IntToStr(z_AutoGet.z_Auto_g_gb_id) ;
  try  {try <1> S}
    Query4.Close ;
    Query4.SQL.Clear ;
    Query4.SQL.Add(zh_Select_SQL) ;
    Query4.Prepare ;
    Query4.Open ;
    Query4.First ;
  except
      // 数据库错
    Application.MessageBox(
      '数据库连接错误,请您检查或系统管理员联系',
      '数据库错',
      MB_OK+MB_ICONError) ;
      Exit ;
  end; {try <1> E}

  if (Query4.Fields[1].AsString = '') or (Query4.Fields[2].AsString = '') then Exit ;

  temp := Query4.Fields[0].AsFloat + Query4.Fields[1].AsFloat + Query4.Fields[2].AsFloat ;

  // 更新 <定标记录表> 的总得分
  zh_Update_SQL := 'update tm_autogetbid set gb_sumscore=' + Format('%3.2f', [temp]) + ' where g_gb_id=' + IntToStr(z_AutoGet.z_Auto_g_gb_id) ;
  zh_PublicInsDelUpdQueryP(zh_Update_SQL); //*****//
  //
end;

// 得出,商务分
procedure Tzfrm_AutoGetBid.z_TenderBusinessScoreP();
var
  I,J: integer;
  al_values: Double;
begin
  // 得到 选择值
  J := ListView1.Items.Count-1 ;
  for I:=0 to J do
  begin
    // 得到 ListView1 中值
    if ListView1.Items.Item[I].SubItems[6] = '废标' then continue ;
    //
    z_AutoGet.z_Auto_g_gb_id := StrToInt(ListView1.Items.Item[I].SubItems[7]) ; // 定标编号

    // 计算商务总分
    zh_Select_SQL := 'select sum(al_values) from tm_autogetbidlist where  g_gb_id=' + IntToStr(z_AutoGet.z_Auto_g_gb_id) ;
    al_values := z_PublicQuery4F(zh_Select_SQL) ;  //***//

    // 更新 <定标记录表> 的商务总分
    zh_Update_SQL := 'update tm_autogetbid set gb_businessscore=' + FloatToStr(al_values) + ' where g_gb_id=' + IntToStr(z_AutoGet.z_Auto_g_gb_id) ;
    zh_PublicInsDelUpdQueryP(zh_Update_SQL); //*****//
  end; // for - end
  //
end;

// 9, 企业行为
procedure Tzfrm_AutoGetBid.z_TenderActionP();
var
  a,b,c,d,s,temp_s: Double;
  x,y: Double;
begin
  //
  // 得到参数表名
  zg_ai_id := 12 ;
  z_ParamTabName := 'tm_funcparam' + IntToStr(zg_ai_id) ;
  // 得到 参数a值
  zh_Select_SQL := 'select a from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  a := z_PublicQuery4F(zh_Select_SQL) ;  //***//
  // 得到 参数b值
  zh_Select_SQL := 'select b from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  b := z_PublicQuery4F(zh_Select_SQL) ;  //***//
  // 得到 参数c值
  zh_Select_SQL := 'select c from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  c := z_PublicQuery4F(zh_Select_SQL) ;  //***//
  // 得到 参数d值
  zh_Select_SQL := 'select d from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  d := z_PublicQuery4F(zh_Select_SQL) ;  //***//

  // 得到 参数s值
  zh_Select_SQL := 'select s from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  z_s := z_PublicQuery4F(zh_Select_SQL) ; //***//

  // 应该从数据库中得到, "违法"项目编号 为 28
  zg_ai_id := 28 ;
  // 得到 参数z值
  zh_Select_SQL := 'select x from tm_assessdata where (g_ui_id = '+ IntToStr(z_AutoGet.z_Auto_g_ui_id) + ') and (g_ai_id = ' + IntToStr(zg_ai_id) + ')' ;
  x := z_PublicQuery4F(zh_Select_SQL) ; //***//
  // 应该从数据库中得到, "违规"项目编号 为 29
  zg_ai_id := 29 ;
  // 得到 参数y值
  zh_Select_SQL := 'select x from tm_assessdata where (g_ui_id = '+ IntToStr(z_AutoGet.z_Auto_g_ui_id) + ') and (g_ai_id = ' + IntToStr(zg_ai_id) + ')' ;
  y := z_PublicQuery4F(zh_Select_SQL) ; //***//


  // 条件运算
  if x=a then
  begin
    s := z_s - b ;
  end
  else
  begin
    s:= z_s - (y/c)*d ;
  end;

  //showmessage(floattostr(s)+ ','+floattostr(s1)+ ','+floattostr(s2));
  temp_s := s ;
  //showmessage(floattostr(temp_s));
  if temp_s>z_s then temp_s := z_s ;

  z_s := temp_s ;

  if z_s<0 then z_s := 0 ;

  z_s := StrToFloat(Format('%2.2f', [z_s]));

  // 应该从数据库中得到, "考评"的项目编号为8
  zg_ai_id := 12 ;
  // 插入最终结果分数
  zh_Insert_SQL := 'insert into tm_autogetbidlist values('+ IntToStr(z_AutoGet.z_Auto_g_gb_id) + ', ' + IntToStr(zg_ai_id) + ', ' + FloatToStr(z_s) + ')' ;
  zh_PublicInsDelUpdQueryP(zh_Insert_SQL); //*****//
  //
end;

// 8, 技术创新
procedure Tzfrm_AutoGetBid.z_TenderTechnoNewP();
var
  a,b,s,temp_s: Double;
  x: Double;
begin
  //
  // 得到参数表名
  zg_ai_id := 11 ;
  z_ParamTabName := 'tm_funcparam' + IntToStr(zg_ai_id) ;
  // 得到 参数a值
  zh_Select_SQL := 'select a from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  a := z_PublicQuery4F(zh_Select_SQL) ;  //***//
  // 得到 参数b值
  zh_Select_SQL := 'select b from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  b := z_PublicQuery4F(zh_Select_SQL) ;  //***//

  // 得到 参数s值
  zh_Select_SQL := 'select s from ' + z_ParamTabName + ' where  g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
  z_s := z_PublicQuery4F(zh_Select_SQL) ; //***//

  // 应该从数据库中得到, ""的技术创新为 27
  zg_ai_id := 27 ;
  // 得到 参数z值
  zh_Select_SQL := 'select x from tm_assessdata where (g_ui_id = '+ IntToStr(z_AutoGet.z_Auto_g_ui_id) + ') and (g_ai_id = ' + IntToStr(zg_ai_id) + ')' ;
  x := z_PublicQuery4F(zh_Select_SQL) ; //***//

  // 条件运算
  if x=a then
    s := b
  else
    s := 0;

  //showmessage(floattostr(s)+ ','+floattostr(s1)+ ','+floattostr(s2));
  temp_s := s ;
  //showmessage(floattostr(temp_s));
  if temp_s>z_s then temp_s := z_s ;

⌨️ 快捷键说明

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