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.
|