RTFormwork/项目代码/RTBasicsV1/T04贸易明细仓库/U_TradeRRInPut.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

449 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_TradeRRInPut;
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,
cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmTradeRRInPut = class(Tform)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
Label1: TLabel;
InType: TComboBox;
Note: TEdit;
Label12: TLabel;
Label11: TLabel;
fromCoName: TBtnEditC;
v1Column1: TcxGridDBColumn;
cv1Column3: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
dazi1: TcxStyle;
v1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
Label2: TLabel;
DlyDate: TDateTimePicker;
Tv1Column2: TcxGridDBColumn;
ToolButton3: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
ToolButton4: TToolButton;
Label27: TLabel;
QtyUnit: TComboBox;
Tv1Column1: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure fromCoNameBtnUpClick(Sender: TObject);
procedure fromCoNameBtnDnClick(Sender: TObject);
procedure JSQtyUnitChange(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
fuserName: string;
procedure InitData();
function SaveData(): Boolean;
{ Private declarations }
public
PState, CopyInt: Integer;
FRRMID: string;
{ Public declarations }
end;
var
frmTradeRRInPut: TfrmTradeRRInPut;
newh: hwnd;
implementation
uses
U_DataLink, U_ZDYHelp, U_RTFun, U_TradePlanSel, U_TradeSalesContractSel,
U_CompanySel;
{$R *.dfm}
procedure TfrmTradeRRInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeRRInPut.InitData();
var
fsj: string;
begin
if PState = 0 then
begin
DlyDate.DateTime := strtodatetime(Trim(FormatDateTime('yyyy-MM-dd', Now)));
end;
with ADOTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(' from Trade_Cloth_RR_Sub A');
if PState = 1 then
begin
sql.Add('where RRMID=''' + Trim(FRRMID) + '''');
end;
if PState = 0 then
begin
sql.Add(' where 1<>1');
end;
Open;
end;
SCreateCDS(ADOTemp, Order_Sub);
SInitCDSData(ADOTemp, Order_Sub);
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(' from Trade_Cloth_RR_Main A');
sql.Add(' where RRMID=''' + Trim(FRRMID) + ''' ');
Open;
end;
SCSHData(ADOTemp, ScrollBox1, 1);
fromCoName.TxtCode := ADOTemp.FieldByName('fromCoNo').AsString;
end;
procedure TfrmTradeRRInPut.JSQtyUnitChange(Sender: TObject);
begin
if not Order_Sub.IsEmpty then
begin
exit;
end;
end;
procedure TfrmTradeRRInPut.FormShow(Sender: TObject);
var
fsj: string;
begin
readCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitData();
end;
function TfrmTradeRRInPut.SaveData(): Boolean;
var
MaxMid, MaxSid: string;
begin
try
ADOCmd.Connection.BeginTrans;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /////////////////
if Trim(FRRMID) = '' then
begin
if GetLSNo(ADOCmd, MaxMid, 'DM', 'Trade_Cloth_RR_Main', 4, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end
else
begin
MaxMid := Trim(FRRMID);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Trade_Cloth_RR_Main where RRMID=''' + Trim(MaxMid) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(FRRMID) = '' then
begin
Append;
FieldByName('FillID').Value := Trim(DCode);
FieldByName('Filler').Value := Trim(DName);
end
else
begin
Edit;
FieldByName('EditID').Value := Trim(DCode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp);
end;
RTSetsavedata(ADOCmd, 'Trade_Cloth_RR_Main', ScrollBox1, 1);
FieldByName('fromCoNo').Value := fromCoName.TxtCode;
FieldByName('RRMID').Value := Trim(MaxMid);
FieldByName('Status').Value := '0';
Post;
end;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /////////////////
///
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> /////////////////
Order_Sub.DisableControls;
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('RRSID').AsString) = '' then
begin
if GetLSNo(ADOCmd, MaxSid, 'DS', 'Trade_Cloth_RR_Sub', 4, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>');
end
else
begin
MaxSid := Trim(Order_Sub.fieldbyname('RRSID').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Trade_Cloth_RR_Sub ');
sql.Add(' where RRMID=''' + Trim(MaxMid) + '''');
sql.Add(' and RRSID=''' + Trim(MaxSid) + '''');
Open;
if ADOCmd.IsEmpty then
begin
Append;
end
else
begin
Edit;
end;
RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'Trade_Cloth_RR_Sub', 0);
FieldByName('RRMID').Value := Trim(MaxMid);
FieldByName('RRSID').Value := Trim(MaxSid);
FieldByName('QtyUnit').Value := QtyUnit.Text;
FieldByName('MainId').Value := Order_Sub.fieldbyname('MainId').Value;
FieldByName('SubId').Value := Order_Sub.fieldbyname('SubId').Value;
FieldByName('ConMId').Value := Order_Sub.fieldbyname('ConMId').Value;
FieldByName('ConSId').Value := Order_Sub.fieldbyname('ConSId').Value;
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('RRSID').Value := Trim(MaxSid);
Next;
end;
end;
Order_Sub.EnableControls;
///////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> /////////////////
FRRMID := Trim(MaxMid);
ADOCmd.Connection.CommitTrans;
Result := True;
except
ADOCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Result := False;
end;
end;
procedure TfrmTradeRRInPut.TBSaveClick(Sender: TObject);
var
Freal: Double;
begin
ToolBar1.SetFocus;
if Trim(InType.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Trim(fromCoName.Text) = '' then
begin
Application.MessageBox('<27>˻<EFBFBD><CBBB><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if (Order_Sub.Locate('Piece', null, [])) and (Order_Sub.Locate('Qty', null, [])) = True then
begin
Application.MessageBox(<><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫΪ<C8AB>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TfrmTradeRRInPut.ToolButton1Click(Sender: TObject);
var
FQtyUnit, FFSubid: string;
begin
try
frmTradePlanSel := TfrmTradePlanSel.Create(Application);
with frmTradePlanSel do
begin
if ShowModal = 1 then
begin
while CDS_1.locate('SSel', true, []) do
begin
begin
with Self.Order_Sub do
begin
Append;
FieldByName('OrderNo').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('Orderno').AsString);
FieldByName('ConMId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConMId').Value;
FieldByName('ConSId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConSId').Value;
FieldByName('MainId').Value := frmTradePlanSel.CDS_1.fieldbyname('MainId').Value;
FieldByName('SubId').Value := frmTradePlanSel.CDS_1.fieldbyname('SubId').Value;
FieldByName('C_Code').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Code').Value;
FieldByName('C_Name').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Name').Value;
FieldByName('C_Composition').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Composition').Value;
FieldByName('C_Spec').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Spec').Value;
FieldByName('C_Width').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Width').Value;
FieldByName('C_GramWeight').Value := frmTradePlanSel.CDS_1.fieldbyname('C_GramWeight').Value;
FieldByName('C_Color').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Color').Value;
FieldByName('C_ColorNo').Value := frmTradePlanSel.CDS_1.fieldbyname('C_ColorNo').Value;
FieldByName('C_Pattern').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Pattern').Value;
FieldByName('C_StyleNo').Value := frmTradePlanSel.CDS_1.fieldbyname('C_StyleNo').Value;
end;
end;
CDS_1.Delete;
end;
end;
end;
finally
frmTradePlanSel.Free;
end;
end;
procedure TfrmTradeRRInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then
Exit;
if Trim(Order_Sub.fieldbyname('RRSID').AsString) <> '' then
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Cloth_RR_Sub where RRSID=''' + Trim(Order_Sub.fieldbyname('RRSID').AsString) + '''');
sql.add(' and isnull(DlyPiece,0)>0');
Open;
end;
if ADOTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete Trade_Cloth_RR_Sub where RRSID=''' + Trim(Order_Sub.fieldbyname('RRSID').AsString) + '''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmTradeRRInPut.ToolButton3Click(Sender: TObject);
var
FConMainId, FMPRTCode: string;
begin
try
frmTradeSalesContractSel := TfrmTradeSalesContractSel.Create(Application);
with frmTradeSalesContractSel do
begin
BuyName.Text := Self.fromCoName.Text;
if ShowModal = 1 then
begin
while CDS_1.locate('SSel', true, []) do
begin
if not self.Order_Sub.locate('ConSId', trim(frmTradeSalesContractSel.CDS_1.Fieldbyname('ConSId').AsString), []) then
begin
with Self.Order_Sub do
begin
Append;
FieldByName('ConNo').Value := Trim(frmTradeSalesContractSel.CDS_1.fieldbyname('ConNo').AsString);
FieldByName('ConMId').Value := Trim(frmTradeSalesContractSel.CDS_1.fieldbyname('ConMId').AsString);
FieldByName('ConSId').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('ConSId').Value;
FieldByName('C_Code').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Code').Value;
FieldByName('C_Name').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Name').Value;
FieldByName('C_Composition').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Composition').Value;
FieldByName('C_Spec').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Spec').Value;
FieldByName('C_Width').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Width').Value;
FieldByName('C_GramWeight').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_GramWeight').Value;
FieldByName('C_Color').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Color').Value;
FieldByName('C_ColorNo').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_ColorNo').Value;
FieldByName('C_EColor').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_EColor').Value;
FieldByName('C_Pattern').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Pattern').Value;
FieldByName('C_StyleNo').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_StyleNo').Value;
// FieldByName('C_ColorDepth').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_ColorDepth').Value;
end;
end;
CDS_1.Edit;
CDS_1.fieldbyname('SSel').value := false;
end;
end;
end;
finally
frmTradeSalesContractSel.Free;
end;
end;
procedure TfrmTradeRRInPut.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
end;
procedure TfrmTradeRRInPut.fromCoNameBtnUpClick(Sender: TObject);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '<27>ͻ<EFBFBD>';
if ShowModal = 1 then
begin
self.fromCoName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.fromCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
procedure TfrmTradeRRInPut.fromCoNameBtnDnClick(Sender: TObject);
begin
fromCoName.Text := '';
end;
end.