RTFormwork/项目代码/RTBasicsV1/T05贸易门市管理/U_TradeMarketDisSel.pas
2024-07-29 13:06:23 +08:00

472 lines
13 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_TradeMarketDisSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo,
cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit,
StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils,
cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit,
RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, RM_Dataset, Menus,
cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCheckBox,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxPC,
System.ImageList, Vcl.ImgList, U_BaseInput, cxImage, cxDBEdit, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase,
IdFTP, ShellAPI, MovePanel;
type
TfrmTradeMarketDisSel = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
GPM_1: TcxGridPopupMenu;
ADOQueryLabel: TADOQuery;
ToolButton3: TToolButton;
IdFTP1: TIdFTP;
DS_MX: TDataSource;
CDS_MX: TClientDataSet;
Panel2: TPanel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
v1OrderNo: TcxGridDBColumn;
v1CustomerNoName: TcxGridDBColumn;
v1MPRTCodeName: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
v1MPRTKZ: TcxGridDBColumn;
v1PRTRollNum: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
v1OrdDefStr1: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
v1OrdPerson1: TcxGridDBColumn;
v1JGFactoryName: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
v1DeliveryDate: TcxGridDBColumn;
v1MPRTSpec: TcxGridDBColumn;
v3Column11: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel3: TPanel;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Ssel: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1C_Color: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1KCKW: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
TBRafresh: TToolButton;
TBFind: TToolButton;
MovePanel2: TMovePanel;
CDS_MXSel: TClientDataSet;
DS_MXSel: TDataSource;
ADOQueryMain: TADOQuery;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Label7: TLabel;
Label15: TLabel;
Label1: TLabel;
c_code: TEdit;
C_color: TEdit;
CPType: TComboBox;
Button1: TButton;
PHYG: TBtnEditA;
CheckBox1: TCheckBox;
batchno: TEdit;
Label2: TLabel;
C_Pattern: TEdit;
procedure TBCloseClick(Sender: TObject);
procedure CustomerNoNameBtnDnClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure Tv3FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure FormShow(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TBSaveClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
fCode, fColor, FPattern, FName: string;
function SaveData(): Boolean;
procedure InitOrder();
procedure InitGrid();
{ Private declarations }
public
FMainid: string;
{ Public declarations }
end;
var
frmTradeMarketDisSel: TfrmTradeMarketDisSel;
newh: hwnd;
implementation
uses
U_DataLink, U_ZDYHelp, U_ZDYHelpSel, U_RTFun, U_CompanySel, U_PictureUpload,
U_ClothInfoSel;
{$R *.dfm}
procedure TfrmTradeMarketDisSel.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeMarketDisSel.TBFindClick(Sender: TObject);
begin
inherited;
if ADOQueryMain.Active then
begin
SCreateCDS(ADOQueryMain, cds_mx);
SInitCDSData(ADOQueryMain, cds_mx);
end;
end;
function TfrmTradeMarketDisSel.SaveData(): Boolean;
var
phID: string;
P_ID: integer;
begin
Result := false;
ADOCmd.Connection.BeginTrans;
P_ID := 1;
try
with CDS_MXSel do
begin
DisableControls;
first;
while not eof do
begin
if GetLSNo(adotemp, phID, 'PH', 'Trade_Market_Distribution', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('select * from Trade_Market_Distribution ');
sql.Add('where 1=2 ');
open;
end;
ADOCmd.Append;
ADOCmd.FieldByName('TMDID').Value := trim(phID);
ADOCmd.FieldByName('TMMID').Value := trim(cds_1.fieldbyname('TMMID').AsString);
ADOCmd.FieldByName('TMSID').Value := trim(cds_1.fieldbyname('TMSID').AsString);
ADOCmd.FieldByName('STKID').Value := trim(cds_mxsel.fieldbyname('STKID').AsString);
ADOCmd.FieldByName('Filler').Value := trim(DName);
ADOCmd.Post;
with adocmd do
begin
close;
sql.Clear;
sql.Add('select * from Trade_Cloth_Stock ');
sql.Add('where STKID=' + quotedstr(trim(CDS_MXSel.fieldbyname('STKID').AsString)));
open;
edit;
fieldbyname('DisStatus').Value := '1';
post;
end;
next;
end;
first;
EnableControls;
with adocmd do
begin
close;
sql.Clear;
sql.Add('select * from Trade_Market_Sub ');
sql.Add('where TMMID=' + quotedstr(trim(cds_1.fieldbyname('TMMID').AsString)));
sql.Add('and TMSID=' + quotedstr(trim(cds_1.fieldbyname('TMSID').AsString)));
// ShowMessage(sql.Text);
open;
edit;
fieldbyname('substatus').Value := '2';
post;
end;
end;
ADOCmd.Connection.CommitTrans;
Result := true;
except
ADOCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmTradeMarketDisSel.TBRafreshClick(Sender: TObject);
begin
inherited;
MovePanel2.Visible := True;
MovePanel2.Refresh;
initOrder();
MovePanel2.Visible := False;
end;
procedure TfrmTradeMarketDisSel.TBSaveClick(Sender: TObject);
begin
if CDS_MXSel.IsEmpty then
exit;
Panel1.SetFocus;
with CDS_MXSel do
begin
DisableControls;
first;
while not eof do
begin
if (trim(fieldbyname('C_Name').AsString) <> trim(cds_1.FieldByName('C_Name').AsString)) or (uppercase(trim(fieldbyname('C_Pattern').AsString)) <> uppercase(trim(cds_1.FieldByName('C_Pattern').AsString))) then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>,<2C><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
EnableControls;
exit;
end;
next;
end;
first;
EnableControls;
end;
if SaveData() then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ<EFBFBD><CABE>Ϣ');
CDS_1.Delete;
CDS_MXSel.EmptyDataSet;
// TBRafresh.Click;
end
else
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmTradeMarketDisSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
i: Integer;
begin
if cds_mx.IsEmpty then
Exit;
CDS_MXSel.Append;
for i := 0 to CDS_MXSel.FieldCount - 1 do
begin
CDS_MXSel.Fields[i].Value := cds_mx.Fields[i].Value;
end;
CDS_MXSel.Post;
CDS_MX.Delete;
end;
procedure TfrmTradeMarketDisSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
i: Integer;
begin
if CDS_MXSel.IsEmpty then
Exit;
CDS_MX.Append;
for i := 0 to CDS_MX.FieldCount - 1 do
begin
CDS_MX.Fields[i].Value := CDS_MXSel.Fields[i].Value;
end;
CDS_MX.FieldByName('ssel').Value := false;
CDS_MX.Post;
CDS_MXSel.Delete;
end;
procedure TfrmTradeMarketDisSel.Tv3FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
inherited;
if CDS_1.IsEmpty then
begin
fCode := '!##@';
fColor := '!##@';
FPattern := '!##@';
fName := '!##@';
end
else
begin
FCode := trim(cds_1.FieldByName('C_Code').AsString);
fColor := trim(cds_1.FieldByName('C_Color').AsString);
FPattern := trim(cds_1.FieldByName('C_Pattern').AsString);
FCode := trim(cds_1.FieldByName('C_Name').AsString);
end;
InitGrid();
end;
procedure TfrmTradeMarketDisSel.Button1Click(Sender: TObject);
var
i: integer;
mfieldName: string;
begin
if CDS_MX.IsEmpty then
Exit;
CDS_mxSel.DisableControls;
with CDS_MX do
begin
DisableControls;
First;
while not eof do
begin
if (CDS_MX.Locate('ssel', true, [])) and not CDS_mxSel.Locate('stkid', CDS_MX.fieldbyname('stkid').AsInteger, []) then
begin
CDS_mxSel.Append;
for i := 0 to CDS_mxSel.FieldCount - 1 do
begin
mfieldName := trim(CDS_mxSel.fields[i].FieldName);
CDS_mxSel.Fields[i].Value := CDS_MX.fieldbyName(mfieldName).Value;
end;
CDS_mxSel.Post;
CDS_MX.Delete;
end;
next;
end;
EnableControls;
First;
end;
with CDS_MX do
begin
DisableControls;
First;
while not eof do
begin
if (CDS_MX.Locate('ssel', true, [])) and not CDS_mxSel.Locate('stkid', CDS_MX.fieldbyname('stkid').AsInteger, []) then
begin
CDS_mxSel.Append;
for i := 0 to CDS_mxSel.FieldCount - 1 do
begin
mfieldName := trim(CDS_mxSel.fields[i].FieldName);
CDS_mxSel.Fields[i].Value := CDS_MX.fieldbyName(mfieldName).Value;
// CDS_SubSel.Fields[i].Value:=CDS_Main.Fields[i].Value;
end;
CDS_mxSel.Post;
CDS_MX.Delete;
end;
next;
end;
EnableControls;
First;
end;
CDS_mxSel.EnableControls;
end;
procedure TfrmTradeMarketDisSel.CheckBox1Click(Sender: TObject);
begin
inherited;
if cds_mx.IsEmpty then
exit;
with cds_mx do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value := checkbox1.Checked;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmTradeMarketDisSel.CustomerNoNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmTradeMarketDisSel.InitOrder();
begin
try
with ADOTemp do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from Trade_Market_Sub A ');
sql.Add(' inner join Trade_Market_Main B on B.TMMID=A.TMMID');
sql.Add(' and isnull(substatus,''0'')=''0''');
sql.Add(' and A.TMMID=' + quotedstr(trim(fmainID)));
open;
end;
SCreateCDS(ADOTemp, cds_1);
SInitCDSData(ADOTemp, cds_1);
finally
// Order_Main.EnableControls;
end;
end;
procedure TfrmTradeMarketDisSel.FormShow(Sender: TObject);
begin
inherited;
TBRafresh.Click;
end;
procedure TfrmTradeMarketDisSel.InitGrid();
begin
try
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('exec P_Trade_Dispatched_View');
SQL.Add('@C_Code=' + quotedstr(trim(FCode)));
SQL.Add(',@C_Color=' + quotedstr(trim(fColor)));
SQL.Add(',@C_Pattern=' + quotedstr(trim(FPattern)));
SQL.Add(',@C_Name=' + quotedstr(trim(FName)));
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS(ADOQueryMain, cds_mx);
SInitCDSData(ADOQueryMain, cds_mx);
SCreateCDS(ADOQueryMain, cds_mxSel);
finally
TBFind.Click;
end;
end;
end.