D7myYunxiang/云翔基础资料(BaseInfoYX.dll)/U_UserMoreSel.pas

296 lines
8.5 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
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.