D7wmguihua/坯布码单待检(PBMDDJ.dll)/U_ZHKHListNew.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

443 lines
12 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_ZHKHListNew;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
Menus, cxButtonEdit, cxDropDownEdit;
type
TfrmZHKHListNew = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
ToolButton3: TToolButton;
PopupMenu2: TPopupMenu;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
Panel1: TPanel;
Label1: TLabel;
Label9: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
KHNameJC: TEdit;
v1Column5: TcxGridDBColumn;
CDS_Chk: TClientDataSet;
DS_Chk: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGridPopupMenu3: TcxGridPopupMenu;
CDS_Sub: TClientDataSet;
DS_Sub: TDataSource;
v1Column2: TcxGridDBColumn;
CDS_Chker: TClientDataSet;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
CheckBox1: TCheckBox;
Label2: TLabel;
KHCode: TEdit;
v1Column1: TcxGridDBColumn;
Label34: TLabel;
KHType: TComboBox;
v1Column3: TcxGridDBColumn;
Label3: TLabel;
HZEmail: TEdit;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
Label4: TLabel;
KHLaiYuan: TComboBox;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
private
Canshu1:String;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmZHKHListNew: TfrmZHKHListNew;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp, U_ZHKHInPutTabNew, U_ZDYHelpSel;
{$R *.dfm}
procedure TfrmZHKHListNew.FormDestroy(Sender: TObject);
begin
frmZHKHListNew:=nil;
end;
procedure TfrmZHKHListNew.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZHKHListNew.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
DQdate:=SGetServerDate(ADOQueryTemp);
Canshu1:=Trim(DParameters1);
end;
procedure TfrmZHKHListNew.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(<><D5B9><EFBFBD>ͻ<EFBFBD><CDBB>Ǽ<EFBFBD>N',Tv1,'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmZHKHListNew.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.*,HZEmail=dbo.F_Get_KHInfo(A.ZKID,''Email'') ');
sql.Add(' from ZH_KH_Info A ');
if CheckBox1.Checked then
begin
SQL.Add('where ZKDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
SQL.Add('and ZKDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
end else
begin
SQL.Add(' where 1=1 ');
end;
sql.Add(' and Type=''KH'' ');
if Trim(Canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Trim(Canshu1)='<27><>' then
begin
sql.Add('and Filler in(select UserName from SY_User where DPID in');
sql.Add('(select DPID from SY_User where UserName='''+Trim(DName)+'''))');
end else
begin
sql.Add('and (A.Filler='''+Trim(DName)+'''');
sql.Add(' or YWY='''+Trim(DName)+''')');
end;
sql.Add(' and Valid=''Y'' ');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZHKHListNew.InitForm();
var
fsj:string;
begin
ReadCxGrid(<><D5B9><EFBFBD>ͻ<EFBFBD><CDBB>Ǽ<EFBFBD>N',Tv1,'<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7;
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
fsj:='select distinct(KHLaiYuan) Name,Cast('''' as varchar(20)) Code from ZH_KH_Info where isnull(KHLaiYuan,'''')<>'''' and Type=''KH'' ' ;
SInitComBoxBySql(ADOQueryTemp,KHLaiYuan,False,fsj);
fsj:='select distinct(KHType) Name,Cast('''' as varchar(20)) Code from ZH_KH_Info where isnull(KHType,'''')<>'''' and Type=''KH'' ' ;
SInitComBoxBySql(ADOQueryTemp,KHType,False,fsj);
InitGrid();
end;
procedure TfrmZHKHListNew.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmZHKHListNew.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Trim(Canshu1)='' then
begin
if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
if Trim(Order_Main.fieldbyname('YWY').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
end;
try
frmZHKHInPutTabNew:=TfrmZHKHInPutTabNew.Create(Application);
with frmZHKHInPutTabNew do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('ZKId').AsString);
FTFID:=Trim(Self.Order_Main.fieldbyname('TPID').AsString);
TPInt:=99;
TPIntOther:=99;
if ShowModal=1 then
begin
Self.Order_Main.Locate('ZKID',Trim(FMainId),[]);
with Self.Order_Main do
begin
Edit;
FieldByName('ZKID').Value:=Trim(FMainId);
FieldByName('ZKDate').Value:=ZKDate.Date;
FieldByName('YWY').Value:=Trim(YWY.Text);
FieldByName('KHCode').Value:=Trim(KHCode.Text);
FieldByName('KHNameJC').Value:=Trim(KHNameJC.Text);
FieldByName('KHType').Value:=Trim(KHType.Text);
FieldByName('Filler').Value:=Trim(DName);
Post;
end;
end;
end;
finally
frmZHKHInPutTabNew.Free;
end;
end;
procedure TfrmZHKHListNew.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Trim(Canshu1)='' then
begin
if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
if Trim(Order_Main.fieldbyname('YWY').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if DelData() then
begin
Order_Main.Delete;
end;
end;
function TfrmZHKHListNew.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update ZH_KH_Info Set Valid=''N'' where ZKId='''+Trim(Order_Main.fieldbyname('ZKId').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmZHKHListNew.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>',cxGrid1);
end;
procedure TfrmZHKHListNew.TBRafreshClick(Sender: TObject);
var
fsj:String;
begin
InitGrid();
fsj:='select distinct(KHLaiYuan) Name,Cast('''' as varchar(20)) Code from ZH_KH_Info where isnull(KHLaiYuan,'''')<>'''' and Type=''KH'' ' ;
SInitComBoxBySql(ADOQueryTemp,KHLaiYuan,False,fsj);
fsj:='select distinct(KHType) Name,Cast('''' as varchar(20)) Code from ZH_KH_Info where isnull(KHType,'''')<>'''' and Type=''KH'' ' ;
SInitComBoxBySql(ADOQueryTemp,KHType,False,fsj);
end;
procedure TfrmZHKHListNew.TBAddClick(Sender: TObject);
var
maxno:string;
begin
try
frmZHKHInPutTabNew:=TfrmZHKHInPutTabNew.Create(Application);
with frmZHKHInPutTabNew do
begin
PState:=0;
FMainId:='';
FTFID:='';
TPInt:=99;
TPIntOther:=99;
if ShowModal=1 then
begin
with Self.Order_Main do
begin
Append;
FieldByName('ZKID').Value:=Trim(FMainId);
FieldByName('ZKDate').Value:=ZKDate.Date;
FieldByName('YWY').Value:=Trim(YWY.Text);
FieldByName('KHCode').Value:=Trim(KHCode.Text);
FieldByName('KHNameJC').Value:=Trim(KHNameJC.Text);
FieldByName('KHType').Value:=Trim(KHType.Text);
FieldByName('Filler').Value:=Trim(DName);
Post;
end;
end;
end;
finally
frmZHKHInPutTabNew.Free;
end;
end;
procedure TfrmZHKHListNew.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmZHKHListNew.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZHKHListNew.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmZHKHListNew.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmZHKHInPutTabNew:=TfrmZHKHInPutTabNew.Create(Application);
with frmZHKHInPutTabNew do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('ZKId').AsString);
TBSave.Visible:=False;
ToolBar2.Visible:=False;
ToolBar3.Visible:=False;
ToolBar5.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmZHKHInPutTabNew.Free;
end;
end;
procedure TfrmZHKHListNew.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmZHKHInPutTabNew:=TfrmZHKHInPutTabNew.Create(Application);
with frmZHKHInPutTabNew do
begin
PState:=1;
CopyInt:=99;
FMainId:=Trim(Self.Order_Main.fieldbyname('ZKId').AsString);
FTFID:='';
TPInt:=99;
TPIntOther:=99;
if ShowModal=1 then
begin
with Self.Order_Main do
begin
Append;
FieldByName('ZKID').Value:=Trim(FMainId);
FieldByName('ZKDate').Value:=ZKDate.Date;
FieldByName('YWY').Value:=Trim(YWY.Text);
FieldByName('KHCode').Value:=Trim(KHCode.Text);
FieldByName('KHNameJC').Value:=Trim(KHNameJC.Text);
FieldByName('KHType').Value:=Trim(KHType.Text);
FieldByName('Filler').Value:=Trim(DName);
Post;
end;
end;
end;
finally
frmZHKHInPutTabNew.Free;
end;
end;
procedure TfrmZHKHListNew.ToolButton3Click(Sender: TObject);
begin
ModalResult:=1;
end;
procedure TfrmZHKHListNew.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmZHKHListNew.Tv1DblClick(Sender: TObject);
begin
ToolButton1.Click;
end;
end.