D7wmguihua/桂华管理系统/U_ClothContractList_CG_help.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

578 lines
17 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_ClothContractList_CG_help;
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, cxCalendar, cxButtonEdit, cxSplitter,
RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport,
cxTextEdit;
type
TfrmClothContractList_CG_help = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
ConNoM: TEdit;
Label5: TLabel;
C_CodeNameM: TEdit;
TBExport: TToolButton;
Order_Main: TClientDataSet;
Label4: TLabel;
C_Spec: TEdit;
ScrollBox1: TScrollBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1DeliveryDate: TcxGridDBColumn;
v1FactoryNo1Name: TcxGridDBColumn;
v1PRTSpec: TcxGridDBColumn;
v1PRTMF: TcxGridDBColumn;
v1PRTKZ: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1PRTUnit: TcxGridDBColumn;
v1PRTQty: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ClientDataSet3: TClientDataSet;
DataSource2: TDataSource;
DataSource3: TDataSource;
ClientDataSet2: TClientDataSet;
v1Qty1: TcxGridDBColumn;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
CDS_PRT: TClientDataSet;
Label6: TLabel;
FactoryNoName: TEdit;
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 TBPrintClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure conPress(Sender: TObject; var Key: Char);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
FInt,PFInt:Integer;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
frmClothContractList_CG_help: TfrmClothContractList_CG_help;
implementation
uses
U_DataLink,U_ClothContractInPut_CG,U_Fun,U_ProductOrderList,U_ZDYHelp;
{$R *.dfm}
procedure TfrmClothContractList_CG_help.FormDestroy(Sender: TObject);
begin
frmClothContractList_CG_help:=nil;
end;
procedure TfrmClothContractList_CG_help.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmClothContractList_CG_help.FormCreate(Sender: TObject);
begin
ScrollBox1.Align:=alClient;
end;
procedure TfrmClothContractList_CG_help.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(self.Caption,Tv1,ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmClothContractList_CG_help.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select * ');
sql.Add('from Contract_Main A');
sql.Add('inner join Contract_sub B on B.MainID=A.mainID ');
sql.Add('where A.FillTime>= '''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''' ');
sql.Add('and A.FillTime< '''+Trim(FormatDateTime('yyyy-MM-dd',endDate.DateTime+1))+''' ');
sql.Add('and A.conType=''<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9>ƻ<EFBFBD>'' ');
sql.Add('and Isnull(B.C_status,''0'')=''0'' ');
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmClothContractList_CG_help.InitForm();
begin
ReadCxGrid(self.Caption,Tv1,ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7;
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
InitGrid();
end;
procedure TfrmClothContractList_CG_help.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 TfrmClothContractList_CG_help.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmClothContractInPut_CG:=TfrmClothContractInPut_CG.Create(Application);
with frmClothContractInPut_CG do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmClothContractInPut_CG.Free;
end;
end;
procedure TfrmClothContractList_CG_help.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if ClientDataSet2.IsEmpty=false then
begin
Application.MessageBox('<27>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>','<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 trim(Order_Main.FieldByName('mainID').AsString)='CM001' then exit;
if DelData() then
begin
Order_Main.Delete;
end;
end;
function TfrmClothContractList_CG_help.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete YF_Money_CR where MainID='''+Trim(Order_Main.fieldbyname('MainID').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
// sql.Add(' where CRID='+CRID);
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+'''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
end;
if Trim(Order_Main.fieldbyname('SubId').AsString)='' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
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 TfrmClothContractList_CG_help.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmClothContractList_CG_help.TBPrintClick(Sender: TObject);
var
fPrintFile,FConNoM:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ.rmf' ;
with ADOQueryTemp do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('exec ClothContract_QryList :MainId,:WSql');
Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''
+' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+'''';
Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString);
Parameters.ParamByName('WSql').Value:='';
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT);
SInitCDSData20(ADOQueryTemp,CDS_PRT);
FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString);
//SDofilter(ADOQueryMain,' ConNoM='''+Trim(Order_Main.fieldbyname('ConNoM').AsString)+'''');
//SCreateCDS20(ADOQueryMain,Order_Main);
//SInitCDSData20(ADOQueryMain,Order_Main);
if FileExists(fPrintFile) then
begin
//RMVariables['begindate']:=begindate.DateTime;
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ.rmf'),'<27><>ʾ',0);
end;
//SDofilter(ADOQueryMain,'');
//SCreateCDS20(ADOQueryMain,Order_Main);
//SInitCDSData20(ADOQueryMain,Order_Main);
//Order_Main.Locate('ConNoM',FConNoM,[]);
//SelPrintData(TV4,ADOQueryMain,'<27><>ͬ<EFBFBD><CDAC>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>');
end;
procedure TfrmClothContractList_CG_help.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmClothContractList_CG_help.TBAddClick(Sender: TObject);
begin
try
frmClothContractInPut_CG:=TfrmClothContractInPut_CG.Create(Application);
with frmClothContractInPut_CG do
begin
PState:=0;
FMainId:='';
if ShowModal=1 then
begin
end;
end;
finally
frmClothContractInPut_CG.Free;
end;
end;
procedure TfrmClothContractList_CG_help.ConNoMChange(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 TfrmClothContractList_CG_help.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmClothContractList_CG_help.Tv2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FInt:=2;
end;
procedure TfrmClothContractList_CG_help.Tv1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FInt:=1;
end;
procedure TfrmClothContractList_CG_help.ToolButton5Click(Sender: TObject);
var
maxno:string;
begin
if ClientDataSet3.IsEmpty then Exit;
if ClientDataSet2.IsEmpty then Exit;
if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δȷ<CEB4><C8B7><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end;
if ClientDataSet3.Locate('OrderNo',null,[]) then
begin
Application.MessageBox(<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
BegDate.SetFocus;
try
ADOQueryCmd.Connection.BeginTrans;
//<2F><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
with ClientDataSet3 do
begin
First;
while not eof do
begin
if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'To','Contract_Sub_MxTo',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡȥ<C8A1><C8A5><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet3.fieldbyname('ToId').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then
Append
else
Edit;
FieldByName('MxId').Value:=Trim(ClientDataSet2.fieldbyname('MxId').AsString);
FieldByName('ToId').Value:=Trim(maxno);
FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString);
FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value;
FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value;
FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value;
if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then
FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value
else
FieldByName('TPQty').Value:=0;
if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then
FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value
else
FieldByName('Qty1').Value:=0;
if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then
FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value
else
FieldByName('Qty2').Value:=0;
if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then
FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value
else
FieldByName('Qty3').Value:=0;
Post;
end;
with ClientDataSet3 do
begin
Edit;
FieldByName('ToId').Value:=Trim(maxno);
Post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmClothContractList_CG_help.ToolButton3Click(Sender: TObject);
begin
if FInt=2 then
begin
if ClientDataSet2.IsEmpty then Exit;
if ClientDataSet3.IsEmpty=false then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>','<27><>ʾ',0);
Exit;
end;
if Trim(ClientDataSet2.fieldbyname('MxId').AsString)<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Contract_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+'''');
ExecSQL;
end;
ClientDataSet2.Delete;
end else
if FInt=3 then
begin
if ClientDataSet3.IsEmpty then Exit;
if Trim(ClientDataSet3.fieldbyname('ToId').AsString)<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+'''');
ExecSQL;
end;
ClientDataSet3.Delete;
with ClientDataSet2 do
begin
Edit;
if ClientDataSet3.IsEmpty=False then
// FieldByName('KCSL').Value:=ClientDataSet2.fieldbyname('MxQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]
else
FieldByName('KCSL').Value:=ClientDataSet2.fieldbyname('MxQty').Value;
Post;
end;
end;
end;
procedure TfrmClothContractList_CG_help.v2Column3PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='RKPlace';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>';
if ShowModal=1 then
begin
with ClientDataSet2 do
begin
Edit;
FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmClothContractList_CG_help.conPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
if Length(Trim(ConNoM.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('exec ClothContract_QryList :MainId,:WSql');
Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+'''';
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmClothContractList_CG_help.Tv1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
IF Order_Main.IsEmpty then exit;
ModalResult:=1;
end;
end.