D10xhGemei/T01贸易生产计划/U_TradeClothCardCompleteList.pas

280 lines
9.0 KiB
ObjectPascal
Raw Normal View History

2024-12-14 17:23:12 +08:00
unit U_TradeClothCardCompleteList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit,
StdCtrls, ExtCtrls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, U_BaseInput, System.ImageList, Vcl.ImgList,
cxPC, dxScrollbarAnnotations, cxCheckBox, dxSkinsCore, dxSkinsDefaultPainters,
cxImageList;
type
TfrmTradeClothCardCompleteList = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBClose: TToolButton;
DS_1: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADO_1: TADOQuery;
ADOQueryTemp: TADOQuery;
GPM_1: TcxGridPopupMenu;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridDBColumn21: TcxGridDBColumn;
cxGridDBColumn22: TcxGridDBColumn;
cxGridDBColumn23: TcxGridDBColumn;
cxGridDBColumn24: TcxGridDBColumn;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
TV1Column6: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
TV1Column8: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TV4Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure TV4Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure cxGridDBColumn23PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
{ Private declarations }
function SaveData(): Boolean;
procedure InitGrid1();
public
{ Public declarations }
FSubId: string;
end;
var
frmTradeClothCardCompleteList: TfrmTradeClothCardCompleteList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmTradeClothCardCompleteList.InitGrid1();
var
SqlStr: string;
begin
SqlStr := ' select A.*';
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
SqlStr := SqlStr + 'where A.STKName = '<>ײ<EFBFBD>ƥ'' and A.IOFlag = ''<27><><EFBFBD><EFBFBD>'' and A.IOType = ''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'' ';
SqlStr := SqlStr + 'and A.FromSubId = ' + quotedstr(Trim(FSubId));
InitCDSData(ADO_1, CDS_Sub, Tv1, SqlStr, '', '');
end;
procedure TfrmTradeClothCardCompleteList.cxGridDBColumn23PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
MainType := 'Cust';
flag := 'StkPosition';
flagname := '<27><>λ';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('StkPosition').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeClothCardCompleteList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradeClothCardCompleteList.TBCloseClick(Sender: TObject);
begin
ModalResult := 1;
Close;
end;
procedure TfrmTradeClothCardCompleteList.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid(trim(Self.Caption) + 'TV1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
InitGrid1();
end;
procedure TfrmTradeClothCardCompleteList.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption) + 'TV1', Tv1, <>׻<EFBFBD><D7BB>ֿܲ<DCB2>');
end;
procedure TfrmTradeClothCardCompleteList.ToolButton3Click(Sender: TObject);
begin
ToolBar1.SetFocus;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
function TfrmTradeClothCardCompleteList.SaveData(): Boolean;
var
Maxno, MBCIOID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BS_Cloth_IO Set Editid=' + quotedstr(Trim(Dcode)) + ',Editer=' + quotedstr(Trim(DName)) + ',EditTime=getdate()');
sql.Add(', IOTime=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', CDS_Sub.fieldbyname('IOTime').AsDateTime))));
sql.Add(', Downgrade=' + quotedstr(Trim(CDS_Sub.fieldbyname('Downgrade').AsString)));
sql.Add(', SettlementType=' + quotedstr(Trim(CDS_Sub.fieldbyname('SettlementType').AsString)));
sql.Add(', StkPosition=' + quotedstr(Trim(CDS_Sub.fieldbyname('StkPosition').AsString)));
sql.Add(', Note=' + quotedstr(Trim(CDS_Sub.fieldbyname('Note').AsString)));
sql.Add(' where stkid=''' + Trim(CDS_Sub.fieldbyname('stkid').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BS_Cloth_IO Set StkPiece=(select Sum(isnull(Piece,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
sql.Add(',StkQty=(select Sum(isnull(Qty,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
sql.Add(' where BCIOID=''' + Trim(CDS_Sub.fieldbyname('BCIOID').AsString) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select stkQty,StkPiece from BS_Cloth_IO where BCIOID=''' + Trim(CDS_Sub.fieldbyname('BCIOID').AsString) + '''');
Open;
end;
if ADOQueryTemp.FieldByName('stkQty').Value < 0 then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!');
if ADOQueryTemp.FieldByName('StkPiece').Value < 0 then
raise Exception.Create('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>С<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!');
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values('<>״<EFBFBD><D7B4><EFBFBD><ECB2BC><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(Trim(CDS_Sub.fieldbyname('BCIOID').AsString)));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(Trim(CDS_Sub.fieldbyname('BCIOID').AsString)));
sql.Add(') ');
ExecSQL;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Sub.EnableControls;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmTradeClothCardCompleteList.TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ToolButton3.Click;
end;
procedure TfrmTradeClothCardCompleteList.TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitGrid1();
end;
procedure TfrmTradeClothCardCompleteList.TV4Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'Downgrade';
flagname := '<27><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('Downgrade').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeClothCardCompleteList.TV4Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'SettlementType';
flagname := '<27><EFBFBD><E1B0B8><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('SettlementType').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.