D7XHshengfang/盛纺贸易管理/U_KHDYList.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

533 lines
14 KiB
ObjectPascal
Raw Permalink 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_KHDYList; //
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, cxPC, cxTextEdit;
type
TfrmKHDYList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
ToolButton1: TToolButton;
Panel1: TPanel;
Label9: TLabel;
DYNO: TEdit;
v1Column2: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
Label2: TLabel;
FactoryName: TEdit;
v1Column1: TcxGridDBColumn;
Label34: TLabel;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
CPName: TEdit;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
Label3: TLabel;
Label4: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ToolButton4: TToolButton;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
v1Column8: TcxGridDBColumn;
ToolButton5: TToolButton;
v1Column3: TcxGridDBColumn;
Label1: TLabel;
KHName: TEdit;
Label5: TLabel;
StyleNo: TEdit;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Label6: TLabel;
KHNameJC: TEdit;
Label7: TLabel;
YWY: TEdit;
Order_Sub: TClientDataSet;
DataSource2: TDataSource;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1SOrddefstr1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolButton2: TToolButton;
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 CustomerNoNameChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ZJStatusChange(Sender: TObject);
procedure DYNOKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure v1Column16PropertiesEditValueChanged(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmKHDYList: TfrmKHDYList;
implementation
uses
U_DataLink,U_RTFun, U_KHDYInPut, U_FjList_RZ;
{$R *.dfm}
procedure TfrmKHDYList.FormDestroy(Sender: TObject);
begin
frmKHDYList:=nil;
end;
procedure TfrmKHDYList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmKHDYList.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
end;
procedure TfrmKHDYList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmKHDYList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.DYID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag');
sql.Add(' from KH_DaYang A ');
sql.Add(' where 1=1 ');
sql.Add(' and DYDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and DYDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and FillerCode='''+Trim(DCode)+'''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKHDYList.InitForm();
begin
BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp);
EndDate.Date:=SGetServerDate(ADOQueryTemp);
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmKHDYList.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 TfrmKHDYList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
frmKHDYInPut:=TfrmKHDYInPut.Create(Application);
with frmKHDYInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString);
if ShowModal=1 then
begin
initgrid();
end;
end;
finally
frmKHDYInPut.Free;
end;
end;
procedure TfrmKHDYList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from TP_File where WBID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from KH_DaYang_MX where DYID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
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 TfrmKHDYList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete KH_DaYang where DYId='''+Trim(Order_Main.fieldbyname('DYId').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
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 TfrmKHDYList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><C9AB>/SO<53><4F>Ϣ<EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmKHDYList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKHDYList.TBAddClick(Sender: TObject);
var
maxno:string;
begin
try
frmKHDYInPut:=TfrmKHDYInPut.Create(Application);
with frmKHDYInPut do
begin
PState:=0;
FMainId:='';
if ShowModal=1 then
begin
initgrid();
end;
end;
finally
frmKHDYInPut.Free;
end;
end;
procedure TfrmKHDYList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmKHDYList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKHDYList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmKHDYList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmKHDYInPut:=TfrmKHDYInPut.Create(Application);
with frmKHDYInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString);
TBSave.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmKHDYInPut.Free;
end;
end;
procedure TfrmKHDYList.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 TfrmKHDYList.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmKHDYList.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
procedure TfrmKHDYList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKHDYList.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmKHDYList.DYNOKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
if Trim(DYNO.Text)='' then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.DYID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag');
sql.Add(' from KH_DaYang A ');
sql.Add(' where DYNO like '''+'%'+Trim(DYNO.Text)+'%'+'''');
if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
sql.Add(' and FillerCode='''+Trim(DCode)+'''');
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmKHDYList.ToolButton4Click(Sender: TObject);
var
fPrintFile:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.*,B.* ');
sql.Add(' ,DYPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.DYPerson and KZ.Type=''DYPerson'' )');
sql.Add(' ,GDPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.GDPerson and KZ.Type=''PFGenDanPerson'' )');
sql.Add(' from KH_DaYang A ');
sql.Add(' left join KH_DaYang_MX B on A.DYID=B.DYID ');
sql.Add(' where A.DYId='''+Trim(Order_Main.fieldbyname('DYId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT);
SInitCDSData20(ADOQueryTemp,CDS_PRT);
if FileExists(fPrintFile) then
begin
//RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmKHDYList.ToolButton5Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmFjList_RZ:=TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
// PState:=1;
if Trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then cxButton1.Visible:=false;
fkeyNO:=Trim(Self.Order_Main.fieldbyname('DYId').AsString);
fType:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmKHDYList.v1Column16PropertiesEditValueChanged(
Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with Order_Main do
begin
Edit;
if Trim(mvalue)<>'' then
FieldByName('HYDate').Value:=mvalue
else
FieldByName('HYDate').Value:=Null;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
if Trim(mvalue)<>'' then
sql.Add('Update KH_DaYang Set HYDate='''+Trim(Order_Main.fieldbyname('HYDate').AsString)+'''')
else
sql.Add('Update KH_DaYang Set HYDate=Null');
sql.Add(' where DYID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmKHDYList.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('select * from KH_DaYang_MX ');
sql.add('where DYId='''+trim(Order_Main.fieldbyname('DYID').AsString)+'''');
open;
end;
SCreateCDS20(ADOQueryCmd,Order_Sub);
SInitCDSData20(ADOQueryCmd,Order_Sub);
end;
procedure TfrmKHDYList.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmKHDYInPut:=TfrmKHDYInPut.Create(Application);
with frmKHDYInPut do
begin
PState:=1;
CopyInt:=99;
FMainId:=Trim(Self.Order_Main.fieldbyname('DYId').AsString);
if ShowModal=1 then
begin
initgrid();
end;
end;
finally
frmKHDYInPut.Free;
end;
end;
end.