📄 unit_serviceappeal.pas
字号:
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 + -