296 lines
8.5 KiB
ObjectPascal
296 lines
8.5 KiB
ObjectPascal
unit U_UserMoreSel;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
|
||
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
|
||
StdCtrls, ExtCtrls, DBClient, cxFilter, cxData, cxDataStorage, cxEdit,
|
||
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, cxTextEdit,
|
||
cxCheckBox;
|
||
|
||
type
|
||
TfrmUserMoreSel = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBClose: TToolButton;
|
||
ADOQueryTemp: TADOQuery;
|
||
ToolButton1: TToolButton;
|
||
Panel1: TPanel;
|
||
Panel2: TPanel;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
cxGridDBColumn7: TcxGridDBColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
Panel3: TPanel;
|
||
Panel4: TPanel;
|
||
cxGrid2: TcxGrid;
|
||
Tv2: TcxGridDBTableView;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
ClientDataSet1: TClientDataSet;
|
||
DataSource1: TDataSource;
|
||
ClientDataSet2: TClientDataSet;
|
||
DataSource2: TDataSource;
|
||
ADOQueryCmd: TADOQuery;
|
||
Panel5: TPanel;
|
||
Label1: TLabel;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
private
|
||
{ Private declarations }
|
||
PState:Integer;
|
||
public
|
||
KHMainId,FYWY,FKHType,FKOType:string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmUserMoreSel: TfrmUserMoreSel;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_RTFun;
|
||
|
||
{$R *.dfm}
|
||
|
||
|
||
|
||
procedure TfrmUserMoreSel.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmUserMoreSel:=nil;
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
ModalResult:=1;
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
ModalResult:=1;
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.FormShow(Sender: TObject);
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from SY_User A where ');
|
||
sql.Add(' not exists(select * from KH_Owner B where B.UserId=A.UserId ');
|
||
sql.Add('and B.Valid=''Y'' and B.KHMainId='''+Trim(KHMainId)+''')');
|
||
sql.Add(' and isnull(A.USERID,'''')<>''ADMIN'' ');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTemp,ClientDataSet1);
|
||
SInitCDSData20(ADOQueryTemp,ClientDataSet1);
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Owner A where A.KHMainId='''+Trim(KHMainId)+''' and Valid=''Y'' ');
|
||
sql.Add(' and isnull(KOType,'''')='''+Trim(FKOType)+'''');
|
||
sql.Add(' and isnull(A.USERID,'''')<>''ADMIN'' ');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTemp,ClientDataSet2);
|
||
SInitCDSData20(ADOQueryTemp,ClientDataSet2);
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.Tv1CellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
var
|
||
maxno:String;
|
||
begin
|
||
if Trim(FKHType)='KH' then
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate KH_Owner Set Valid=''N'',DelTime=getdate(),Deler='''+Trim(DName)+''',DelerCode='''+Trim(DCode)+'''');
|
||
sql.Add(' where KHMainId='''+Trim(KHMainId)+''' and Valid=''Y'' ');
|
||
sql.Add(' and isnull(KOType,'''')='''+Trim(FKOType)+'''');
|
||
//sql.Add(' and isnull(USERID,'''')<>''ADMIN'' ');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Owner A where A.KHMainId='''+Trim(KHMainId)+''' and Valid=''Y'' ');
|
||
sql.Add(' and isnull(KOType,'''')='''+Trim(FKOType)+'''');
|
||
// sql.Add(' and isnull(A.USERID,'''')<>''ADMIN'' ');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTemp,ClientDataSet2);
|
||
SInitCDSData20(ADOQueryTemp,ClientDataSet2);
|
||
end;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
if GetLSNo(ADOQueryCmd,maxno,'ZD','KH_Owner',3,1)=False then
|
||
begin
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Owner where 1=2');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Append;
|
||
FieldByName('KHMainId').Value:=Trim(KHMainId);
|
||
FieldByName('KOID').Value:=Trim(maxno);
|
||
FieldByName('KOType').Value:=Trim(FKOType);
|
||
FieldByName('UserId').Value:=ClientDataSet1.fieldbyname('UserId').Value;
|
||
FieldByName('UserName').Value:=ClientDataSet1.fieldbyname('UserName').Value;
|
||
FieldByName('FillerCode').Value:=Trim(DCode);
|
||
FieldByName('Filler').Value:=Trim(DName);
|
||
FieldByName('Valid').Value:='Y';
|
||
Post;
|
||
end;
|
||
with ClientDataSet2 do
|
||
begin
|
||
Append;
|
||
FieldByName('UserId').Value:=ClientDataSet1.fieldbyname('UserId').Value;
|
||
FieldByName('UserName').Value:=ClientDataSet1.fieldbyname('UserName').Value;
|
||
FieldByName('KOID').Value:=Trim(maxno);
|
||
Post;
|
||
end;
|
||
ClientDataSet1.Delete;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update KH_Main Set FZR=dbo.F_Get_HZStr(KH_Main.KHMainId,''FZR'')');
|
||
sql.Add(' where KHMainId='''+Trim(KHMainId)+'''');
|
||
ExecSQL;
|
||
end;
|
||
if Trim(FKOType)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Main where KHMainId='''+Trim(KHMainId)+'''');
|
||
Open;
|
||
end;
|
||
FYWY:=Trim(ADOQueryTemp.fieldbyname('FZR').AsString);
|
||
end else
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
if Trim(FKOType)='ҵ<><D2B5>Ա' then
|
||
begin
|
||
sql.Add('Update KH_Main Set YWY='''+Trim(ClientDataSet2.fieldbyname('UserName').AsString)+'''');
|
||
end else
|
||
if Trim(FKOType)='<27><><EFBFBD><EFBFBD>Ա' then
|
||
begin
|
||
sql.Add('Update KH_Main Set LiDan='''+Trim(ClientDataSet2.fieldbyname('UserName').AsString)+'''');
|
||
end;
|
||
sql.Add(' where KHMainId='''+Trim(KHMainId)+'''');
|
||
ExecSQL;
|
||
end;
|
||
FYWY:=Trim(ClientDataSet2.fieldbyname('UserName').AsString);
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ָ<><D6B8>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmUserMoreSel.Tv2CellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
if ClientDataSet2.IsEmpty then Exit;
|
||
if Application.MessageBox('ȷ<><C8B7>Ҫȡ<D2AA><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate KH_Owner Set Valid=''N'',DelTime=getdate(),Deler='''+Trim(DName)+''',DelerCode='''+Trim(DCode)+'''');
|
||
sql.Add(' where KOID='''+Trim(ClientDataSet2.fieldbyname('KOID').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update KH_Main Set FZR=dbo.F_Get_HZStr(KH_Main.KHMainId,''FZR'')');
|
||
sql.Add(' where KHMainId='''+Trim(KHMainId)+'''');
|
||
ExecSQL;
|
||
end;
|
||
if Trim(FKOType)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Main where KHMainId='''+Trim(KHMainId)+'''');
|
||
Open;
|
||
end;
|
||
FYWY:=Trim(ADOQueryTemp.fieldbyname('FZR').AsString);
|
||
end else
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
if Trim(FKOType)='ҵ<><D2B5>Ա' then
|
||
begin
|
||
sql.Add('Update KH_Main Set YWY=Null');
|
||
end else
|
||
if Trim(FKOType)='<27><><EFBFBD><EFBFBD>Ա' then
|
||
begin
|
||
sql.Add('Update KH_Main Set LiDan=Null');
|
||
end;
|
||
sql.Add(' where KHMainId='''+Trim(KHMainId)+'''');
|
||
ExecSQL;
|
||
end;
|
||
FYWY:='';
|
||
end;
|
||
|
||
with ClientDataSet1 do
|
||
begin
|
||
Append;
|
||
FieldByName('UserId').Value:=ClientDataSet2.fieldbyname('UserId').Value;
|
||
FieldByName('UserName').Value:=ClientDataSet2.fieldbyname('UserName').Value;
|
||
Post;
|
||
end;
|
||
ClientDataSet2.Delete;
|
||
end;
|
||
|
||
end.
|