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

📄 unit_compmana.pas

📁 delphi开发的中国移动大客户管理系统,后台数据库为oracle
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit Unit_CompMana;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, Grids, DBGrids, TFlatEditUnit, TFlatComboBoxUnit,
  ExtCtrls, TFlatButtonUnit, TFlatMemoUnit, Db, DBTables;

type
  TFrm_CompMana = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    Panel1: TPanel;
    DBGridCompetitor: TDBGrid;
    LabelCompCode: TLabel;
    Label1: TLabel;
    FlatComboBoxCity: TFlatComboBox;
    Label2: TLabel;
    FlatComboBoxCounty: TFlatComboBox;
    Label4: TLabel;
    FlatEditCompName: TFlatEdit;
    Label5: TLabel;
    FlatEditDesc: TFlatEdit;
    Panel2: TPanel;
    FlatButtonInsert: TFlatButton;
    FlatButtonUpdate: TFlatButton;
    FlatButtonDelete: TFlatButton;
    FlatButtonSave: TFlatButton;
    FlatButtonCancel: TFlatButton;
    FlatButtonClose: TFlatButton;
    Panel3: TPanel;
    Label7: TLabel;
    Label8: TLabel;
    DBGrid2: TDBGrid;
    FlatComboBoxCity2: TFlatComboBox;
    FlatComboBoxCounty2: TFlatComboBox;
    Label9: TLabel;
    FlatEditCompName2: TFlatComboBox;
    LabelPolicyCode: TLabel;
    Label11: TLabel;
    FlatEditPolicy: TFlatEdit;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    FlatMemoRemark: TFlatMemo;
    FlatEditBeginDate: TFlatEdit;
    FlatEditEndDate: TFlatEdit;
    QuerySequ: TQuery;
    QueryCompetitor: TQuery;
    DataSourceCompetitor: TDataSource;
    Label3: TLabel;
    FlatEditCompName2Q: TFlatComboBox;
    Label15: TLabel;
    FlatEditPolicyQ: TFlatEdit;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    FlatEditEndDateQ: TFlatEdit;
    FlatEditBeginDateQ: TFlatEdit;
    QueryCompName: TQuery;
    FlatEditCompName2T: TFlatComboBox;
    QueryCompPolicy: TQuery;
    DataSourceCompPolicy: TDataSource;
    FlatEditCompName2QT: TFlatComboBox;
    FlatButtonQuery2: TFlatButton;
    Panel4: TPanel;
    LabelModifCode: TLabel;
    Label10: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    DBGrid1: TDBGrid;
    FlatComboBoxCity3: TFlatComboBox;
    FlatComboBoxCounty3: TFlatComboBox;
    FlatEditModiContent: TFlatEdit;
    FlatEditRemark3: TFlatEdit;
    QueryIdeaModif: TQuery;
    DataSourceIdeaModif: TDataSource;
    Panel5: TPanel;
    Label6: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    LabelUSERCODE: TLabel;
    LabelSID: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    DBGrid3: TDBGrid;
    FlatComboBoxCity4: TFlatComboBox;
    FlatComboBoxCounty4: TFlatComboBox;
    FlatEditCompName4: TFlatComboBox;
    FlatEditSID: TFlatEdit;
    FlatEditName: TFlatEdit;
    FlatEditAddr: TFlatEdit;
    FlatComboBox5: TFlatComboBox;
    FlatComboBox6: TFlatComboBox;
    FlatEditCompName4T: TFlatComboBox;
    FlatEditPHONE: TFlatEdit;
    Label24: TLabel;
    FlatEditEMAIL: TFlatEdit;
    Label25: TLabel;
    Label33: TLabel;
    FlatEditJob: TFlatEdit;
    FlatEditMOBILPHONE: TFlatEdit;
    Label34: TLabel;
    FlatEditREMARK: TFlatEdit;
    QueryCompetitorUser: TQuery;
    DataSourceCompetitorUser: TDataSource;
    FlatEditCompName4Q: TFlatComboBox;
    FlatEditCompName4QT: TFlatComboBox;
    Label29: TLabel;
    Label30: TLabel;
    FlatEditSIDQ: TFlatEdit;
    FlatEditReg_DateBQ: TFlatEdit;
    FlatEditReg_DateEQ: TFlatEdit;
    Label31: TLabel;
    Label32: TLabel;
    Label35: TLabel;
    FlatEditWk_No4Q: TFlatEdit;
    FlatEditNameQ: TFlatEdit;
    Label36: TLabel;
    FlatButton1: TFlatButton;
    Panel6: TPanel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    DBGrid4: TDBGrid;
    FlatComboBoxCity6: TFlatComboBox;
    FlatComboBoxCounty6: TFlatComboBox;
    FlatComboBoxModiContent: TFlatComboBox;
    FlatEditSID6: TFlatEdit;
    FlatEditName6: TFlatEdit;
    FlatEditAddr6: TFlatEdit;
    FlatEditPHONE6: TFlatEdit;
    FlatEditEMAIL6: TFlatEdit;
    FlatEditJob6: TFlatEdit;
    FlatEditMOBILPHONE6: TFlatEdit;
    FlatComboBoxModiContentQ5: TFlatComboBox;
    FlatEditSID5: TFlatEdit;
    FlatEditBeginDateQ5: TFlatEdit;
    FlatEditEndDateQ5: TFlatEdit;
    FlatEditGH5Q: TFlatEdit;
    FlatEditNameQ5: TFlatEdit;
    FlatButton2: TFlatButton;
    QueryCompIdea: TQuery;
    DataSourceCompIdea: TDataSource;
    FlatMemoIdeaContent: TFlatMemo;
    FlatComboBoxModiContentT: TFlatComboBox;
    QueryIdeaModif6: TQuery;
    Label40: TLabel;
    FlatEditReg_Date: TFlatEdit;
    Label55: TLabel;
    FlatEditWk_No: TFlatEdit;
    LabelIdeaCode: TLabel;
    FlatComboBoxModiContentQ5T: TFlatComboBox;
    QueryRedup: TQuery;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Label56: TLabel;
    FlatEditWk_No4: TFlatEdit;
    Label57: TLabel;
    FlatEditRegDate: TFlatEdit;
    QuerySID: TQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FlatButtonCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FlatButtonSaveClick(Sender: TObject);
    procedure FlatButtonInsertClick(Sender: TObject);
    procedure FlatButtonUpdateClick(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure FlatButtonCancelClick(Sender: TObject);
    procedure DataSourceCompetitorDataChange(Sender: TObject;
      Field: TField);
    procedure FlatButtonDeleteClick(Sender: TObject);
    procedure FlatEditCompName2Change(Sender: TObject);
    procedure FlatEditBeginDateExit(Sender: TObject);
    procedure FlatEditEndDateExit(Sender: TObject);
    procedure DataSourceCompPolicyDataChange(Sender: TObject;
      Field: TField);
    procedure FlatButtonQuery2Click(Sender: TObject);
    procedure FlatEditCompName2QChange(Sender: TObject);
    procedure FlatEditBeginDateQExit(Sender: TObject);
    procedure FlatEditEndDateQExit(Sender: TObject);
    procedure DataSourceIdeaModifDataChange(Sender: TObject;
      Field: TField);
    procedure FlatEditCompName4Change(Sender: TObject);
    procedure DataSourceCompetitorUserDataChange(Sender: TObject;
      Field: TField);
    procedure FlatButton1Click(Sender: TObject);
    procedure FlatEditCompName4QChange(Sender: TObject);
    procedure FlatComboBoxModiContentChange(Sender: TObject);
    procedure DataSourceCompIdeaDataChange(Sender: TObject; Field: TField);
    procedure FlatButton2Click(Sender: TObject);
    procedure FlatComboBoxModiContentQ5Change(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FlatEditRegDateExit(Sender: TObject);
    procedure FlatEditReg_DateExit(Sender: TObject);
    procedure FlatEditSID6KeyPress(Sender: TObject; var Key: Char);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
  private
    { Private declarations }
    sEditFlag:String;//'I':新增,'U':修改
    //存放修改前的字段值
    sCityTmp1,sCountyTmp1,sCompNameTmp1,sDesc1:String;//竞争对手资料
    sCompName2Tmp2,sPolicyTmp2,sBeginDateTmp2,sEndDateTmp2,sRemarkTmp2:String;//竞争对手资料
    sCityTmp3,sCountyTmp3,sMODICONTENT3,sREMARK3:String;//意见主题资料
    sCityTmp4,sCountyTmp4,sCompNameTmp4,sSIDTmp4,sNameTmp4,sAddrTmp4,sPhoneTmp4,sEMailTmp4,sJobTmp4,sMobilPhoneTmp4,sRemarkTmp4,sRegDate,sWk_No:String;//竞争对手用户资料
    sModiContentTmp5,sSIDTmp5,sIDEACONTENTTmp5,sREG_DATETmp5:String;//竞争对手用户意见资料

    //记录是否重复判断
    //function PL_Redup(sTableName,sFieldName,sValue:String):Integer;
    function PL_Redup(sTableName,sFieldName,sValue,sCityNo,sJX:String):Integer;
    //执行新增、删除、修改SQL语句
    procedure PL_ExecSQL(psSQL:String);
    //刷新竞争对手编辑框
    procedure PL_FillCompetitor;
    //刷新竞争对手营销策略编辑框
    procedure PL_FillCompPolicy;
    //刷新竞争对手意见主题编辑框
    procedure PL_FillIdeaModif;
    //刷新竞争对手用户资料编辑框
    procedure PL_FillCompetitorUser;
    //刷新竞争对手用户意见编辑框
    procedure PL_FillCompIdea;
    //刷新竞争对手用户意见中用户资料编辑框
    procedure PL_FillCompetitorUser5;
  public
    { Public declarations }
  end;

var
  Frm_CompMana: TFrm_CompMana;

implementation

//   主单元, 数据模板,公共单元
uses Main,    dmmain,   Unit_Public;

  //按钮控制
  function Fun_ButtonStatus(pFormName:TForm;pStatus:Boolean=False):Boolean;stdcall;export;external'winfun.dll';
  //输框状态控制
  //function Fun_ComponentStatus(pFormName:TForm;pStatusStyle:Integer=0;pStatus:Boolean=False):Integer;stdCall;external'winfun.dll';
  Function Fun_ComponentStatus(pFormName:TForm;pStatusStyle:Integer=0;pStatus:Boolean=False;pObject:TObject=Nil):Integer;stdCall;external'winfun.dll';
  
{$R *.DFM}

//function TFrm_CompMana.PL_Redup(sTableName,sFieldName,sValue:String):Integer;
function TFrm_CompMana.PL_Redup(sTableName,sFieldName,sValue,sCityNo,sJX:String):Integer;
begin
  with QueryRedup do
  begin
    if Active then Close;
    SQL.Clear;
  //SQL.Add('Select '+sFieldName+' From '+sTableName+' Where CITYNO='''+PS_CityNo+''' And OFF_NO_HOME='+IntToStr(JX)+' And '+sFieldName+'='''+sValue+'''');
    SQL.Add('Select '+sFieldName+' From '+sTableName+' Where CITYNO='''+sCityNo+''' And OFF_NO_HOME='+sJX+' And '+sFieldName+'='''+sValue+'''');
    Open;
    if Trim(FieldByName(sFieldName).AsString)<>'' then
      Result:=1
    else
      Result:=0;  
  end;
end;

procedure TFrm_CompMana.PL_ExecSQL(psSQL:String);
var
  QueryTemp:TQuery;
begin
{
  Application.CreateForm(TQuery,QueryTemp);
  QueryTemp.DatabaseName:=Session.Databases[0].DatabaseName;
  if Session.Databases[0].InTransaction=True then
    Session.Databases[0].Rollback;
  Session.Databases[0].StartTransaction;
  with QueryTemp do
  begin
    if Active then Close;
    SQL.Clear;
    SQL.Add(psSQL);
    ExecSQL;
  end;
  try
    Session.Databases[0].Commit;
  except
    Session.Databases[0].Rollback;
    Application.MessageBox('命令执行失败!请重试。', '提示', MB_OK+MB_ICONINFORMATION);
    Exit;
  end;
  QueryTemp.Free;
}
  Application.CreateForm(TQuery,QueryTemp);
  QueryTemp.DatabaseName:=DM_Main.Databasedh.DatabaseName;
  if DM_Main.Databasedh.InTransaction=True then
    DM_Main.Databasedh.Rollback;
  DM_Main.Databasedh.StartTransaction;
  try
    with QueryTemp do
    begin
      if Active then Close;
      SQL.Clear;
      SQL.Add(psSQL);
      ExecSQL;
    end;
    DM_Main.Databasedh.Commit;
  except
    DM_Main.Databasedh.Rollback;
    Application.MessageBox('命令执行失败!请重试。', '提示', MB_OK+MB_ICONINFORMATION);
    Exit;
  end;
  QueryTemp.Free;
end;

procedure TFrm_CompMana.PL_FillCompetitor;
begin
  if not QueryCompetitor.Active then
  begin
    with QueryCompetitor do
    begin
      ParamByName('PS_CityNo').AsString:=PS_CityNo;
      ParamByName('PS_CountyNo').AsInteger:=JX;
      Open;
    end;
  end;
  if QueryCompetitor.Eof then
  begin
    Fun_ComponentStatus(self,1,False);  //清空输入框
    LabelCompCode.Caption:='';
    Exit;
  end;
  LabelCompCode.Caption:=QueryCompetitor.Fields[0].AsString;
  FlatComboBoxCity.Text:=QueryCompetitor.Fields[1].AsString;
  FlatComboBoxCounty.Text:=QueryCompetitor.Fields[2].AsString;
  FlatEditCompName.Text:=QueryCompetitor.Fields[3].AsString;
  FlatEditDesc.Text:=QueryCompetitor.Fields[4].AsString;
end;

procedure TFrm_CompMana.PL_FillCompPolicy;
begin
  if not QueryCompPolicy.Active then
  begin
    with QueryCompPolicy do
    begin
      ParamByName('PS_CityNo').AsString:=PS_CityNo;
      ParamByName('PS_CountyNo').AsInteger:=JX;
      Open;
    end;
  end;
  if QueryCompPolicy.Eof then
  begin
    Fun_ComponentStatus(self,1,False);  //清空输入框
    LabelPolicyCode.Caption:='';
    Exit;
  end;
  LabelPolicyCode.Caption:=QueryCompPolicy.Fields[0].AsString;
  FlatEditCompName2.ItemIndex:=FlatEditCompName2.Items.IndexOf(QueryCompPolicy.Fields[1].AsString);
  FlatEditPolicy.Text:=QueryCompPolicy.Fields[2].AsString;
  FlatEditBeginDate.Text:=QueryCompPolicy.Fields[3].AsString;
  FlatEditEndDate.Text:=QueryCompPolicy.Fields[4].AsString;
  FlatMemoRemark.Text:=QueryCompPolicy.Fields[5].AsString;
end;

procedure TFrm_CompMana.PL_FillIdeaModif;
begin
  if not QueryIdeaModif.Active then
  begin
    with QueryIdeaModif do
    begin
      ParamByName('PS_CityNo').AsString:=PS_CityNo;

⌨️ 快捷键说明

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