D7zzXiangHeng/坯布生产计划(WeavingSchedule)/U_DcgGzList.pas
DESKTOP-E401PHE\Administrator 0026e9e246 0
2025-08-08 10:42:50 +08:00

630 lines
18 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_DcgGzList;
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,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxCurrencyEdit, cxDropDownEdit, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator;
type
TfrmDcgGzList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label1: TLabel;
Label2: TLabel;
Label6: TLabel;
Name: TEdit;
OrderNo: TEdit;
CPName: TEdit;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
V2Column1: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V2Column10: TcxGridDBColumn;
enddate: TDateTimePicker;
BegDate: TDateTimePicker;
Label3: TLabel;
Label4: TLabel;
ToolButton3: TToolButton;
V2Column8: TcxGridDBColumn;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
V2Column4: TcxGridDBColumn;
V2Column6: TcxGridDBColumn;
TV2Column1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TSselClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure V2Column6PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure V2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure V2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton5Click(Sender: TObject);
procedure V2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure V2Column1PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure V2Column4PropertiesEditValueChanged(Sender: TObject);
procedure V2Column10PropertiesEditValueChanged(Sender: TObject);
procedure TV2Column1PropertiesEditValueChanged(Sender: TObject);
procedure V2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
{ Private declarations }
procedure InitGrid();
function SaveData(): Boolean;
public
end;
var
frmDcgGzList: TfrmDcgGzList;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_JFSCList, U_ClothSCListSel; //
{$R *.dfm}
function TfrmDcgGzList.SaveData(): Boolean;
var
MaxId: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd, MaxId, 'GZ', 'DcgGz', 4, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from DcgGz where 1=2');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('GZID').Value := Trim(MaxId);
FieldByName('Filler').Value := Trim(DName);
FieldByName('QTY').Value := 0;
FieldByName('JYDate').Value := formatdateTIme('yyyy-MM-dd', now());
Post;
end;
with CDS_HZ do
begin
Append;
FieldByName('GZID').Value := Trim(MaxId);
FieldByName('JYDate').Value := formatdateTIme('yyyy-MM-dd', now());
FieldByName('QTY').Value := 0;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
procedure TfrmDcgGzList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
Filtered := False;
SQL.Clear;
sql.Add(' select *,DName Name from DcgGz where JYDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
sql.Add(' and JYDate< ' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmDcgGzList.FormDestroy(Sender: TObject);
begin
frmDcgGzList := nil;
end;
procedure TfrmDcgGzList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDcgGzList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.caption), Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmDcgGzList.FormShow(Sender: TObject);
begin
ReadCxGrid(trim(self.caption), Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
InitGrid();
end;
procedure TfrmDcgGzList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmDcgGzList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmDcgGzList.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmDcgGzList.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_HZ.IsEmpty then
exit;
ModalResult := 1;
end;
procedure TfrmDcgGzList.TSselClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
ModalResult := 1;
end;
procedure TfrmDcgGzList.ToolButton1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
TcxGridToExcel('<27>β<EFBFBD>ͳ<EFBFBD><CDB3>', cxGrid2);
end;
procedure TfrmDcgGzList.V2Column6PropertiesEditValueChanged(Sender: TObject);
var
FFieldName, mvalue: string;
FZSSJ, FZSJB1, FZSJB2: integer;
FPTMoney, FGZMoney, FDcgPrice: double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
FZSJB1 := FieldByName('ZSJB1').AsInteger;
FZSJB2 := FieldByName('ZSJB2').AsInteger;
FDcgPrice := FieldByName('GJPrice').AsFloat;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>-<2D>Ӱ<EFBFBD><D3B0><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>/10000*<2A><><EFBFBD><EFBFBD>
FZSSJ := FZSJB2 - FZSJB1;
FGZMoney := (FZSJB2 - FZSJB1) / 10000 * FDcgPrice;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set ' + FFieldName + '=' + mvalue);
sql.Add(' , ZSSJ=' + inttostr(FZSSJ));
sql.Add(' , GZMoney=' + floattostr(FGZMoney));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
EXECSQL;
end;
with CDS_HZ do
begin
Edit;
FieldByName('ZSSJ').Value := FZSSJ;
FieldByName('GZMoney').Value := FGZMoney;
Post;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.ToolButton3Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_HZ.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
// RMVariables['QRBARCODE']:=fImagePath;
RM1.ShowReport;
// RM1.PrintReport;
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);
Exit;
end;
end;
procedure TfrmDcgGzList.ToolButton4Click(Sender: TObject);
begin
SaveData();
end;
procedure TfrmDcgGzList.V2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmClothSCListSel := TfrmClothSCListSel.Create(Application);
with frmClothSCListSel do
begin
if ShowModal = 1 then
begin
with Self.CDS_HZ do
begin
edit;
FieldByName('OrderNo').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('ConNo').AsString);
FieldByName('MainId').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('MainId').AsString);
FieldByName('SubId').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('SubId').AsString);
FieldByName('CPNAME').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('C_CODENAME').AsString);
// FieldByName('GJPrice').Value := frmClothSCListSel.Order_Main.fieldbyname('WzPrice').AsInteger;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set OrderNo=' + quotedstr(trim(Self.CDS_HZ.FieldByName('OrderNo').AsString)));
sql.Add(', MainId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MainId').AsString)));
sql.Add(', SubId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('SubId').AsString)));
sql.Add(', CPNAME=' + quotedstr(trim(Self.CDS_HZ.FieldByName('CPNAME').AsString)));
// sql.Add(', GJPrice=' + inttostr(Self.CDS_HZ.FieldByName('GJPrice').AsInteger));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString)));
execsql;
end;
end;
end;
finally
frmClothSCListSel.Free;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
TBAdd.Visible := false;
TBDel.Visible := false;
TBEdit.Visible := false;
TBSave.Visible := false;
flag := 'SCPerson';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fnote := True;
V1Note.Caption := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_HZ do
begin
Edit;
// FieldByName('YFCode').Value:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString);
FieldByName('DName').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
FieldByName('Name').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set DName=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DName').AsString)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmDcgGzList.V2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
TBAdd.Visible := false;
TBDel.Visible := false;
TBEdit.Visible := false;
TBSave.Visible := false;
flag := 'CarNo';
flagname := '<27><>̨';
fnote := True;
V1Note.Caption := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('DCarNo').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set DCarNo=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DCarNo').AsString)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmDcgGzList.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete DcgGz where gzid=''' + Trim(CDS_HZ.fieldbyname('gzid').AsString) + '''');
sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString)));
// ShowMessage(sql.Text);
execsql;
end;
CDS_HZ.Delete;
end;
procedure TfrmDcgGzList.V2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'BanCi';
flagname := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_HZ do
begin
Edit;
FieldByName('BanCi').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set BanCi=' + quotedstr(trim(Self.CDS_HZ.FieldByName('BanCi').AsString)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmDcgGzList.V2Column1PropertiesEditValueChanged(Sender: TObject);
var
FFieldName, mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set ' + FFieldName + '=' + quotedstr(trim(mvalue)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
EXECSQL;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.ToolButton6Click(Sender: TObject);
begin
frmJFSCList := TfrmJFSCList.create(self);
with frmJFSCList do
begin
show;
end;
InitGrid();
end;
procedure TfrmDcgGzList.V2Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set CD=' + quotedstr(trim(mvalue)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.V2Column10PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set GGNote=' + quotedstr(trim(mvalue)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.TV2Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set QTY=' + (trim(mvalue)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString)));
execsql;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDcgGzList.V2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
TBAdd.Visible := false;
TBDel.Visible := false;
TBEdit.Visible := false;
TBSave.Visible := false;
flag := 'WFBCPBZZ';
flagname := '<27>õ<EFBFBD>';
// fnote := True;
// V1Note.Caption := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_HZ do
begin
Edit;
// FieldByName('YFCode').Value:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString);
FieldByName('CD').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update DcgGz set CD=' + quotedstr(trim(Self.CDS_HZ.FieldByName('CD').AsString)));
sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString)));
execsql;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.