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

📄 unit_serviceappeal.pas

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

interface

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

type
  TFrm_ServiceAppeal = class(TForm)
    Panel_browse: TPanel;
    Panel13: TPanel;
    ScrollBox1: TScrollBox;
    Label71: TLabel;
    Label89: TLabel;
    Label90: TLabel;
    Label91: TLabel;
    Label92: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    CoBR_CITYNO: TFlatComboBox;
    Btn_Query_Normal: TFlatButton;
    CoBR_OFF_NO_HOME: TFlatComboBox;
    CoBR_DJDM: TFlatComboBox;
    EdBR_Sid: TFlatEdit;
    coBR_AppLevel: TFlatComboBox;
    dtpBR_AppTimeBegin: TDateTimePicker;
    dtpBR_AppTimeEnd: TDateTimePicker;
    cbBR_Apptime: TFlatCheckBox;
    cbBR_Done: TFlatCheckBox;
    rbBR_DoneYes: TFlatRadioButton;
    rbBR_DoneNo: TFlatRadioButton;
    coBR_GH: TFlatComboBox;
    DBGrid_Normal: TDBGrid;
    QueryCustInfo: TQuery;
    DsCustInfo: TDataSource;
    QueryReg: TQuery;
    DsReg: TDataSource;
    QueryOper: TQuery;
    DsOper: TDataSource;
    QueryAnalyze: TQuery;
    Panel1: TPanel;
    pcAppeal: TPageControl;
    TabSheet1: TTabSheet;
    Panel_client: TPanel;
    Panel_normal: TPanel;
    Panel_appRegister: TPanel;
    Label6: TLabel;
    Label1: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    edED_SID: TFlatEdit;
    dtpED_AppTime: TDateTimePicker;
    dtpED_ReplyTime: TDateTimePicker;
    meED_Intro: TFlatMemo;
    meED_AppContent: TFlatMemo;
    COED_Subject_No: TFlatComboBox;
    coED_AppLevel: TFlatComboBox;
    edED_WK_NO: TFlatEdit;
    DBGrid1: TDBGrid;
    TabSheet2: TTabSheet;
    Panel2: TPanel;
    Panel3: TPanel;
    DBGrid2: TDBGrid;
    Panel_AppDispose: TPanel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label15: TLabel;
    dtpEDCL_DEALTIME: TDateTimePicker;
    edEDCL_WK_NO: TFlatEdit;
    coEDCL_QUALITYCODE: TFlatComboBox;
    meEDCL_CUSTOPIN: TFlatMemo;
    meEDCL_DEALCONTENT: TFlatMemo;
    DBGrid3: TDBGrid;
    Panel_control: TPanel;
    Btn_Exit: TFlatButton;
    Btn_Print: TFlatButton;
    Btn_Cancel: TFlatButton;
    Btn_Save: TFlatButton;
    Btn_Delete: TFlatButton;
    Btn_Modify: TFlatButton;
    Btn_Add: TFlatButton;
    procedure Btn_ExitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure CoBR_CITYNOChange(Sender: TObject);
    procedure CoBR_OFF_NO_HOMEChange(Sender: TObject);
    procedure Btn_Query_NormalClick(Sender: TObject);
    procedure QueryCustInfoAfterScroll(DataSet: TDataSet);
    procedure QueryRegAfterScroll(DataSet: TDataSet);
    procedure Btn_AddClick(Sender: TObject);
    procedure Btn_DeleteClick(Sender: TObject);
    procedure Btn_SaveClick(Sender: TObject);
    procedure Btn_CancelClick(Sender: TObject);
    procedure cbBR_ApptimeClick(Sender: TObject);
    procedure cbBR_DoneClick(Sender: TObject);
    procedure QueryOperAfterScroll(DataSet: TDataSet);
    procedure Btn_ModifyClick(Sender: TObject);
    procedure pcAppealChanging(Sender: TObject; var AllowChange: Boolean);
    procedure pcAppealChange(Sender: TObject);
  private
    { Private declarations }
    iSign:Integer;
  public
    { Public declarations }
  end;

var
  Frm_ServiceAppeal: TFrm_ServiceAppeal;

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;pObject:TObject=Nil):Integer;stdCall;external'winfun.dll';

{$R *.DFM}

procedure TFrm_ServiceAppeal.Btn_ExitClick(Sender: TObject);
begin
   Close;
end;

procedure TFrm_ServiceAppeal.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Action:=caFree;
end;

procedure TFrm_ServiceAppeal.FormShow(Sender: TObject);
begin
   Pro_GFillInitValue(Self,' ');
   Fun_GetCity(CoBR_CITYNO,' ',0,Ps_CityName);
   CoBR_CITYNOChange(Nil);
   Fun_ButtonStatus(Self,False);
   Fun_ComponentStatus(Self,0,False,Panel_appRegister);
   Fun_ComponentStatus(Self,0,False,Panel_AppDispose);
   dtpBR_AppTimeBegin.DateTime:=Date;
   dtpBR_AppTimeEnd.DateTime:=Date;
   pcAppeal.ActivePageIndex:=0;
end;

procedure TFrm_ServiceAppeal.CoBR_CITYNOChange(Sender: TObject);
begin
   Fun_GetCounty(CoBR_OFF_NO_HOME,' ',Cobr_CityNo.Text,0,Ps_HomeName);
   CoBR_OFF_NO_HOMEChange(Nil);
end;

procedure TFrm_ServiceAppeal.CoBR_OFF_NO_HOMEChange(Sender: TObject);
begin
   Fun_GetManager(coBR_GH,' ',CoBR_CITYNO.Text,CoBR_OFF_NO_HOME.Text,GH);
end;

procedure TFrm_ServiceAppeal.Btn_Query_NormalClick(Sender: TObject);
Var
   ValueString:String;
   SQL,lstr:String;
begin
   SQL:='';
   ValueString:=Fun_GetCity(CoBR_CITYNO,'',1);
   If ValueString<>'' Then
      SQL:=SQL+' And CityNo='''+ValueString+'''';

   ValueString:=Fun_GetCounty(CoBR_OFF_NO_HOME,'','',1);
   If ValueString<>'' Then
      SQL:=SQL+' And Off_No_Home='+ValueString;

   ValueString:=Fun_GetCodeName(CoBR_DJDM);
   If ValueString<>'' Then
       SQL:=SQL+' And DJDM='+ValueString;

   If coBR_GH.ItemIndex>0 Then
       SQL:=SQL+' And Gh='''+Copy(Cobr_GH.Text,1,Pos(':',Cobr_GH.Text)-1)+'''';

   If Trim(EdBR_Sid.Text)<>'' Then
       SQL:=SQL+' And Sid='''+Trim(EdBR_Sid.Text)+'''';

   QueryCustInfo.Close;
   lstr :='Select Sid,Name,CityNo,Off_No_Home,GH From T_F_CustInfo Where Fybz<>0 '+SQL;
   //加上申告表的条件
   If cbBr_Apptime.Checked or cbBR_Done.Checked Then
   begin
      //如果两个都选中
      if cbBr_Apptime.Checked and cbBR_Done.Checked then
      begin
          lstr :=lstr+' and SID in (select SID from T_F_appeal where APP_ID is not null and '+
          'APPTIME >= To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeBegin.DateTime)+''',''YYYY-MM-DD'')'
          +' and APPTIME < To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeEnd.DateTime+1)+''',''YYYY-MM-DD'') ';
        If rbBR_DoneYes.Checked Then
        lstr :=lstr+' and REPMARK=1'+')'
        else
        lstr :=lstr+' and REPMARK=0'+')';
      end
        else
        begin
          If cbBr_Apptime.Checked then
          //子嵌套就可以了
          lstr :=lstr+' and SID in (select SID from T_F_appeal where APP_ID is not null and '+
          'APPTIME >= To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeBegin.DateTime)+''',''YYYY-MM-DD'')'
          +' and APPTIME < To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeEnd.DateTime+1)+''',''YYYY-MM-DD'')'+')';
          if cbBR_Done.Checked Then
            If rbBR_DoneYes.Checked Then
               lstr :=lstr+' and SID in (select SID from T_F_appeal where APP_ID is not null and REPMARK=1'+')'
            Else
               lstr :=lstr+' and SID in (select SID from T_F_appeal where APP_ID is not null and REPMARK=0'+')';
       end;
   end;
   QueryCustInfo.sql.text :=lstr;
   QueryCustInfo.Open;
{   SQL:='';
   ValueString:=Fun_GetCity(CoBR_CITYNO,'',1);
   If ValueString<>'' Then
      SQL:=SQL+' And a.CityNo='''+ValueString+'''';

   ValueString:=Fun_GetCounty(CoBR_OFF_NO_HOME,'','',1);
   If ValueString<>'' Then
      SQL:=SQL+' And a.Off_No_Home='+ValueString;

   ValueString:=Fun_GetCodeName(CoBR_DJDM);
   If ValueString<>'' Then
       SQL:=SQL+' And a.DJDM='+ValueString;

   If coBR_GH.ItemIndex>0 Then
       SQL:=SQL+' And a.Gh='''+Copy(Cobr_GH.Text,1,Pos(':',Cobr_GH.Text)-1)+'''';

   If Trim(EdBR_Sid.Text)<>'' Then
       SQL:=SQL+' And a.Sid='''+Trim(EdBR_Sid.Text)+'''';

   If cbBR_Apptime.Checked Then
      Begin
//         SQL:=SQL+' And To_Char(b.APPTIME,''YYYY-MM-DD'')>='''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeBegin.DateTime)+'''';
         SQL:=SQL+' And b.APPTIME >= To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeBegin.DateTime)+''',''YYYY-MM-DD'')';
         SQL:=SQL+' And b.APPTIME < To_Date('''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeEnd.DateTime+1)+''',''YYYY-MM-DD'')';
//         SQL:=SQL+' And To_Char(b.APPTIME,''YYYY-MM-DD'')<='''+FormatDateTime('YYYY-MM-DD',dtpBR_AppTimeEnd.DateTime)+'''';
      End;

   If cbBR_Done.Checked Then
      If rbBR_DoneYes.Checked Then
         SQL:=SQL+' And REPMARK=1'
      Else
         SQL:=SQL+' And RepMark=0';

   QueryCustInfo.Close;
   QueryCustInfo.SQL.Clear;
   If cbBr_Done.Checked Or cbBr_Apptime.Checked Then
      //子嵌套就可以了
      QueryCustInfo.SQL.Add('Select Distinct a.Sid,a.Name,a.CityNo,a.Off_No_Home,a.GH From T_F_CustInfo a,T_F_appeal b Where a.Sid=b.Sid And a.Fybz<>0 '+SQL)
   Else
      QueryCustInfo.SQL.Add('Select a.Sid,a.Name,a.CityNo,a.Off_No_Home,a.GH From T_F_CustInfo a Where a.Fybz<>0 '+SQL);

   QueryCustInfo.Open;  }
end;

procedure TFrm_ServiceAppeal.QueryCustInfoAfterScroll(DataSet: TDataSet);
begin
   QueryReg.Close;
   QueryReg.ParamByName('SID').AsString:=QueryCustInfo.FieldByName('SID').AsString;
   QueryReg.Open;
   If QueryReg.IsEmpty Then
      Begin
         QueryRegAfterScroll(Nil);
      End;   

end;

procedure TFrm_ServiceAppeal.QueryRegAfterScroll(DataSet: TDataSet);
begin
   If Not QueryReg.Active Then
      Exit;

   ShowRecord(QueryReg,Panel_appRegister);

   Case pcAppeal.ActivePageIndex Of
      0:;
      1:
         Begin
            QueryOper.Close;

            If QueryReg.IsEmpty Then
               QueryOper.ParamByName('APP_ID').AsString:='0'
            Else
               QueryOper.ParamByName('APP_ID').AsString:=QueryReg.FieldByName('APP_ID').AsString;

            QueryOper.Open;
            If QueryOper.IsEmpty Then
               QueryOperAfterScroll(Nil);
         End;
   End;

end;

procedure TFrm_ServiceAppeal.Btn_AddClick(Sender: TObject);
begin
   If Not QueryCustInfo.Active Then
      Begin
         Application.MessageBox('请查选择客户!','提示',MB_ICONINFORMATION);
         Exit;
      End;


   If pcAppeal.ActivePageIndex=0 Then
      Begin
         Fun_ComponentStatus(Self,0,True,Panel_appRegister);
         edED_SID.Text:=QueryCustInfo.FieldByName('Sid').AsString;
         edED_WK_NO.Text:=QueryCustInfo.FieldByName('GH').AsString;
         dtpED_AppTime.DateTime:=Date;
         dtpED_ReplyTime.DateTime:=Date;
         dtpED_ReplyTime.Checked:=False;
         coED_AppLevel.ItemIndex:=0;
         COED_Subject_No.ItemIndex:=0;
         meED_AppContent.Text:='';
         meED_Intro.Text:='';
         DbGrid1.Enabled:=False;
         coED_AppLevel.SetFocus;
      End;

⌨️ 快捷键说明

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