You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

518 lines
16 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_op_letter_free_his;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, DB, ADODB, BusinessSkinForm, dxDBGrid, dxDBTLCl,
dxGrClms, dxTL, dxDBCtrl, dxCntner, wwdbdatetimepicker, RxLookup,
StdCtrls, bsSkinCtrls;
type
Tfrm_op_letter_free_his = class(TForm)
bsSkinPanel1: TbsSkinPanel;
bsSkinButton1: TbsSkinButton;
bsSkinButton5: TbsSkinButton;
bsSkinButton10: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
bsSkinNotebook1: TbsSkinNotebook;
op_type: TEdit;
fee_type: TEdit;
bsSkinPanel2: TbsSkinPanel;
bsSkinPanel3: TbsSkinPanel;
Label6: TLabel;
Label1: TLabel;
Label9: TLabel;
Label3: TLabel;
Label2: TLabel;
Label10: TLabel;
Edit1: TEdit;
Edit2: TEdit;
RxDBLookupCombo2: TRxDBLookupCombo;
Edit4: TEdit;
Edit3: TEdit;
wwDBDateTimePicker1: TwwDBDateTimePicker;
dxDBGrid2: TdxDBGrid;
dxDBGridMaskColumn1: TdxDBGridMaskColumn;
dxDBGridMaskColumn4: TdxDBGridMaskColumn;
dxDBGridMaskColumn5: TdxDBGridMaskColumn;
dxDBGridMaskColumn6: TdxDBGridMaskColumn;
dxDBGridMaskColumn7: TdxDBGridMaskColumn;
dxDBGrid1Column12: TdxDBGridMaskColumn;
dxDBGrid1Column13: TdxDBGridMaskColumn;
dxDBGrid1Column14: TdxDBGridMaskColumn;
dxDBGrid1Column15: TdxDBGridMaskColumn;
dxDBGrid1Column16: TdxDBGridDateColumn;
dxDBGrid1Column17: TdxDBGridDateColumn;
dxDBGrid1Column18: TdxDBGridDateColumn;
dxDBGrid1Column19: TdxDBGridMaskColumn;
dxDBGrid1Column20: TdxDBGridMaskColumn;
dxDBGrid1Column22: TdxDBGridDateColumn;
dxDBGrid1Column63: TdxDBGridMaskColumn;
dxDBGrid1Column64: TdxDBGridMaskColumn;
dxDBGrid1Column65: TdxDBGridDateColumn;
dxDBGrid1Column66: TdxDBGridMaskColumn;
dxDBGrid1Column67: TdxDBGridMaskColumn;
bsSkinPanel4: TbsSkinPanel;
bsSkinPanel5: TbsSkinPanel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label8: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit5: TEdit;
Edit6: TEdit;
RxDBLookupCombo1: TRxDBLookupCombo;
Edit7: TEdit;
Edit8: TEdit;
wwDBDateTimePicker2: TwwDBDateTimePicker;
dxDBGrid3: TdxDBGrid;
dxDBGridMaskColumn2: TdxDBGridMaskColumn;
dxDBGridMaskColumn9: TdxDBGridMaskColumn;
dxDBGridMaskColumn10: TdxDBGridMaskColumn;
dxDBGrid1Column62: TdxDBGridColumn;
dxDBGridMaskColumn11: TdxDBGridMaskColumn;
dxDBGridDateColumn2: TdxDBGridDateColumn;
dxDBGridMaskColumn15: TdxDBGridMaskColumn;
dxDBGridMaskColumn16: TdxDBGridMaskColumn;
dxDBGridMaskColumn17: TdxDBGridMaskColumn;
dxDBGridMaskColumn18: TdxDBGridMaskColumn;
dxDBGrid1Column41: TdxDBGridMaskColumn;
dxDBGrid1Column47: TdxDBGridMaskColumn;
dxDBGrid1Column48: TdxDBGridDateColumn;
bsSkinPanel6: TbsSkinPanel;
bsSkinPanel7: TbsSkinPanel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit9: TEdit;
Edit10: TEdit;
RxDBLookupCombo3: TRxDBLookupCombo;
Edit11: TEdit;
Edit12: TEdit;
wwDBDateTimePicker3: TwwDBDateTimePicker;
dxDBGrid4: TdxDBGrid;
dxDBGridMaskColumn3: TdxDBGridMaskColumn;
dxDBGridMaskColumn13: TdxDBGridMaskColumn;
dxDBGridMaskColumn14: TdxDBGridMaskColumn;
dxDBGridMaskColumn19: TdxDBGridMaskColumn;
dxDBGridMaskColumn20: TdxDBGridMaskColumn;
dxDBGrid1Column11: TdxDBGridMaskColumn;
dxDBGridMaskColumn22: TdxDBGridMaskColumn;
dxDBGridMaskColumn23: TdxDBGridMaskColumn;
dxDBGridDateColumn3: TdxDBGridDateColumn;
dxDBGrid1Column27: TdxDBGridMaskColumn;
dxDBGrid1Column28: TdxDBGridMaskColumn;
dxDBGrid1Column29: TdxDBGridMaskColumn;
dxDBGrid1Column30: TdxDBGridDateColumn;
bsSkinPanel8: TbsSkinPanel;
bsSkinPanel9: TbsSkinPanel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Edit13: TEdit;
Edit14: TEdit;
RxDBLookupCombo4: TRxDBLookupCombo;
Edit15: TEdit;
Edit16: TEdit;
wwDBDateTimePicker4: TwwDBDateTimePicker;
dxDBGrid5: TdxDBGrid;
dxDBGridMaskColumn8: TdxDBGridMaskColumn;
dxDBGrid1Column10: TdxDBGridMaskColumn;
dxDBGridDateColumn4: TdxDBGridDateColumn;
dxDBGridMaskColumn24: TdxDBGridMaskColumn;
dxDBGridMaskColumn25: TdxDBGridMaskColumn;
dxDBGridMaskColumn26: TdxDBGridMaskColumn;
dxDBGridMaskColumn30: TdxDBGridMaskColumn;
dxDBGridMaskColumn31: TdxDBGridMaskColumn;
dxDBGridMaskColumn32: TdxDBGridMaskColumn;
dxDBGridDateColumn5: TdxDBGridDateColumn;
dxDBGridMaskColumn36: TdxDBGridMaskColumn;
dxDBGrid1Column23: TdxDBGridMaskColumn;
dxDBGrid1Column24: TdxDBGridMaskColumn;
dxDBGrid1Column26: TdxDBGridMaskColumn;
dxDBGrid1Column25: TdxDBGridDateColumn;
bsBusinessSkinForm1: TbsBusinessSkinForm;
t_op_letter: TADOQuery;
t_op_letter1: TDataSource;
t_bill1: TDataSource;
t_bill: TADOQuery;
t_do_letter: TDataSource;
dxDBGrid1: TdxDBGrid;
dxDBGrid1Column1: TdxDBGridMaskColumn;
dxDBGrid1HEAD_TO: TdxDBGridMaskColumn;
dxDBGrid1HEAD_ATTN: TdxDBGridMaskColumn;
dxDBGrid1Column4: TdxDBGridMaskColumn;
dxDBGrid1Column5: TdxDBGridDateColumn;
t_op_letter_detail1: TDataSource;
t_op_letter_detail: TADOQuery;
t_do_letter_detail: TDataSource;
procedure bsSkinButton5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bsSkinButton10Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_op_letter_free_his: Tfrm_op_letter_free_his;
implementation
uses my_sys_function;
{$R *.dfm}
procedure Tfrm_op_letter_free_his.bsSkinButton5Click(Sender: TObject);
begin
CLOSE;
end;
procedure Tfrm_op_letter_free_his.FormShow(Sender: TObject);
begin
bsSkinNotebook1.PageIndex:=strtoint(op_type.text);
end;
procedure Tfrm_op_letter_free_his.bsSkinButton10Click(Sender: TObject);
begin
Edit1.text:='';
Edit2.text:='';
Edit3.text:='';
Edit4.text:='';
Edit5.text:='';
Edit6.text:='';
Edit7.text:='';
Edit8.text:='';
Edit9.text:='';
Edit10.text:='';
Edit11.text:='';
Edit12.text:='';
Edit13.text:='';
Edit14.text:='';
Edit15.text:='';
Edit16.text:='';
RxDBLookupCombo1.ClearValue;
RxDBLookupCombo2.ClearValue;
RxDBLookupCombo3.ClearValue;
RxDBLookupCombo4.ClearValue;
wwDBDateTimePicker1.Text:='';
wwDBDateTimePicker2.Text:='';
wwDBDateTimePicker3.Text:='';
wwDBDateTimePicker4.Text:='';
end;
procedure Tfrm_op_letter_free_his.bsSkinButton2Click(Sender: TObject);
var
str:widestring;
begin
case bsSkinNotebook1.PageIndex of
1:
begin
if Edit1.text<>''then
str:=' where ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> like '+''''+'%'+Edit1.text+'%'+'''';
if Edit4.text<>''then
begin
if str=''then
str:=' where ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit4.text+'%'+''''
else
str:=str+' and ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit4.text+'%'+'''';
end;
if Edit2.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit2.text+'%'+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit2.text+'%'+'''';
end;
if Edit3.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit3.text+'%'+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit3.text+'%'+'''';
end;
if RxDBLookupCombo2.DisplayValue<>''then
begin
if str=''then
str:=' where ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo2.DisplayValues[1]+''''
else
str:=str+' and ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo2.DisplayValues[1]+'''';
end;
if wwDBDateTimePicker1.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker1.text+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker1.text+'''';
end;
str:='select * from t_op_seae '+str+default_sort(53,'t_op_seae','','');
t_op_letter.close;
t_bill.close;
t_bill.sql.clear;
t_bill.sql.add(str);
t_bill.open;
t_op_letter.open;
end;
2:
begin
if Edit5.text<>''then
str:=' where ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> like '+''''+'%'+Edit5.text+'%'+'''';
if Edit7.text<>''then
begin
if str=''then
str:=' where ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit7.text+'%'+''''
else
str:=str+' and ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit7.text+'%'+'''';
end;
if Edit6.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit6.text+'%'+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit6.text+'%'+'''';
end;
if Edit8.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit8.text+'%'+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit8.text+'%'+'''';
end;
if RxDBLookupCombo1.DisplayValue<>''then
begin
if str=''then
str:=' where ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo1.DisplayValues[1]+''''
else
str:=str+' and ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo1.DisplayValues[1]+'''';
end;
if wwDBDateTimePicker2.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker2.text+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker2.text+'''';
end;
str:='select * from t_op_seai '+str+default_sort(54,'t_op_seai','','');
t_op_letter.close;
t_bill.close;
t_bill.sql.clear;
t_bill.sql.add(str);
t_bill.open;
t_op_letter.open;
end;
3:
begin
if Edit9.text<>''then
str:=' where ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> like '+''''+'%'+Edit9.text+'%'+'''';
if Edit11.text<>''then
begin
if str=''then
str:=' where ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit11.text+'%'+''''
else
str:=str+' and ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit11.text+'%'+'''';
end;
if Edit10.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit10.text+'%'+''''
else
str:=str+' and <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit10.text+'%'+'''';
end;
if Edit12.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit12.text+'%'+''''
else
str:=str+' and <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit12.text+'%'+'''';
end;
if RxDBLookupCombo3.DisplayValue<>''then
begin
if str=''then
str:=' where ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo3.DisplayValues[1]+''''
else
str:=str+' and ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo3.DisplayValues[1]+'''';
end;
if wwDBDateTimePicker3.text<>''then
begin
if str=''then
str:=' where һ<>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker3.text+''''
else
str:=str+' and һ<>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker3.text+'''';
end;
str:='select * from t_op_aire '+str+default_sort(55,'t_op_aire','','');
t_op_letter.close;
t_bill.close;
t_bill.sql.clear;
t_bill.sql.add(str);
t_bill.open;
t_op_letter.open;
end;
4:
begin
if Edit13.text<>''then
str:=' where ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> like '+''''+'%'+Edit13.text+'%'+'''';
if Edit15.text<>''then
begin
if str=''then
str:=' where ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit15.text+'%'+''''
else
str:=str+' and ί<>б<EFBFBD><D0B1><EFBFBD> like '+''''+'%'+Edit15.text+'%'+'''';
end;
if Edit14.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit14.text+'%'+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><E1B5A5> like '+''''+'%'+Edit14.text+'%'+'''';
end;
if Edit16.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit16.text+'%'+''''
else
str:=str+' and <20><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD> like '+''''+'%'+Edit16.text+'%'+'''';
end;
if RxDBLookupCombo4.DisplayValue<>''then
begin
if str=''then
str:=' where ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo4.DisplayValues[1]+''''
else
str:=str+' and ί<>е<EFBFBD>λ='+''''+RxDBLookupCombo4.DisplayValues[1]+'''';
end;
if wwDBDateTimePicker4.text<>''then
begin
if str=''then
str:=' where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker4.text+''''
else
str:=str+' and <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+wwDBDateTimePicker4.text+'''';
end;
str:='select * from t_op_airi '+str+default_sort(56,'t_op_airi','','');
t_op_letter.close;
t_bill.close;
t_bill.sql.clear;
t_bill.sql.add(str);
t_bill.open;
t_op_letter.open;
end;
end;
end;
procedure Tfrm_op_letter_free_his.bsSkinButton3Click(Sender: TObject);
var
i,k:integer;
begin
if t_op_letter.IsEmpty then
exit;
if dxDBGrid1.SelectedCount>=1 then
begin
for i:=0 to dxDBGrid1.SelectedCount-1 do
begin
t_op_letter.GotoBookmark(pointer(dxDBGrid1.selectedrows[i]));
t_do_letter.DataSet.append;
for k:= 0 to (t_op_letter.fieldcount-1) do
begin
if (t_op_letter.fields[k].FieldName<>'LE_ID')AND(t_op_letter.fields[k].FieldName<>'<27><><EFBFBD><EFBFBD>') then
t_do_letter.DataSet[t_op_letter.fields[k].FieldName]:=t_op_letter[t_op_letter.fields[k].FieldName];
end;
t_do_letter.DataSet.post;
t_op_letter_detail.close;
t_op_letter_detail.SQL.Clear;
t_op_letter_detail.SQL.Add('select * from t_op_letter_free'+t_op_letter.fieldbyname('LF').asstring
+' where LE_ID=:LE_ID');
t_op_letter_detail.Open;
if not t_op_letter_detail.isempty then
begin
t_do_letter_detail.DataSet.append;
for k:= 0 to (t_op_letter_detail.fieldcount-1) do
begin
if (t_op_letter_detail.fields[k].FieldName<>'LE_ID')AND(t_op_letter_detail.fields[k].FieldName<>'ID') then
t_do_letter_detail.DataSet[t_op_letter_detail.fields[k].FieldName]:=t_op_letter_detail[t_op_letter_detail.fields[k].FieldName];
end;
t_do_letter_detail.DataSet.post;
end;
end;
end
else
begin
t_do_letter.DataSet.append;
for k:= 0 to (t_op_letter.fieldcount-1) do
begin
if (t_op_letter.fields[k].FieldName<>'LE_ID')AND(t_op_letter.fields[k].FieldName<>'<27><><EFBFBD><EFBFBD>') then
t_do_letter.DataSet[t_op_letter.fields[k].FieldName]:=t_op_letter[t_op_letter.fields[k].FieldName];
end;
t_do_letter.DataSet.post;
t_op_letter_detail.close;
t_op_letter_detail.SQL.Clear;
t_op_letter_detail.SQL.Add('select * from t_op_letter_free'+t_op_letter.fieldbyname('LF').asstring
+' where LE_ID=:LE_ID');
t_op_letter_detail.Open;
if not t_op_letter_detail.isempty then
begin
t_do_letter_detail.DataSet.append;
for k:= 0 to (t_op_letter_detail.fieldcount-1) do
begin
if (t_op_letter_detail.fields[k].FieldName<>'LE_ID')AND(t_op_letter_detail.fields[k].FieldName<>'ID') then
t_do_letter_detail.DataSet[t_op_letter_detail.fields[k].FieldName]:=t_op_letter_detail[t_op_letter_detail.fields[k].FieldName];
end;
t_do_letter_detail.DataSet.post;
end;
end;
close;
end;
procedure Tfrm_op_letter_free_his.bsSkinButton1Click(Sender: TObject);
var
k:integer;
begin
t_op_letter.FIRST;
while not t_op_letter.eof do
begin
t_do_letter.DataSet.append;
for k:= 0 to (t_op_letter.fieldcount-1) do
begin
if (t_op_letter.fields[k].FieldName<>'LE_ID')AND(t_op_letter.fields[k].FieldName<>'<27><><EFBFBD><EFBFBD>') then
t_do_letter.DataSet[t_op_letter.fields[k].FieldName]:=t_op_letter[t_op_letter.fields[k].FieldName];
end;
t_do_letter.DataSet.post;
t_op_letter_detail.close;
t_op_letter_detail.SQL.Clear;
t_op_letter_detail.SQL.Add('select * from t_op_letter_free'+t_op_letter.fieldbyname('LF').asstring
+' where LE_ID=:LE_ID');
t_op_letter_detail.Open;
if not t_op_letter_detail.isempty then
begin
t_do_letter_detail.DataSet.append;
for k:= 0 to (t_op_letter_detail.fieldcount-1) do
begin
if (t_op_letter_detail.fields[k].FieldName<>'LE_ID')AND(t_op_letter_detail.fields[k].FieldName<>'ID') then
t_do_letter_detail.DataSet[t_op_letter_detail.fields[k].FieldName]:=t_op_letter_detail[t_op_letter_detail.fields[k].FieldName];
end;
t_do_letter_detail.DataSet.post;
end;
t_op_letter.next;
end;
close;
end;
end.