D10xhGemei/T05贸易门市管理/U_TradeSampleInPut.pas
DESKTOP-E401PHE\Administrator 9f5fcadbd1 123545
2026-06-13 16:49:18 +08:00

1980 lines
56 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_TradeSampleInPut;
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,
dxDateRanges, dxBarBuiltInMenu, cxPC, System.ImageList, Vcl.ImgList,
U_BaseInput, cxImage, cxDBEdit, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdExplicitTLSClientServerBase, IdFTP, ShellAPI,
dxScrollbarAnnotations, cxImageList, dxSkinsCore, dxSkinsDefaultPainters,
cxDBLookupComboBox, cxMRUEdit, dxSkinBasic, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI,
dxSkinXmas2008Blue, dxCoreGraphics;
type
TfrmTradeSampleInPut = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
GPM_1: TcxGridPopupMenu;
ADOQueryLabel: TADOQuery;
ADO_I1: TADOQuery;
DS_I1: TDataSource;
ToolButton3: TToolButton;
IdFTP1: TIdFTP;
ADO_I2: TADOQuery;
DS_I2: TDataSource;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Panel2: TPanel;
Panel3: TPanel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column11: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Tv1Column1: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Panel4: TPanel;
Panel5: TPanel;
Label33: TLabel;
Label38: TLabel;
QtyMX: TcxTextEdit;
GroupBox2: TGroupBox;
cxGrid2: TcxGrid;
TvMX: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
DS_MX: TDataSource;
CDS_MX: TClientDataSet;
Tv1Column3: TcxGridDBColumn;
ScrollBox1: TScrollBox;
Label3: TLabel;
Label25: TLabel;
Label1: TLabel;
Label2: TLabel;
Label14: TLabel;
Label20: TLabel;
Label37: TLabel;
Label18: TLabel;
TMMNo: TcxTextEdit;
TMMDate: TDateTimePicker;
DLYDate: TDateTimePicker;
OrdNote: TMemo;
OrdType: TComboBox;
OurCoName: TcxButtonEdit;
ShippingAddress: TcxButtonEdit;
ADO_YS: TADOQuery;
DS_YS: TDataSource;
DS_RCPM: TDataSource;
ADO_PM: TADOQuery;
ADO_RCPM: TADOQuery;
DS_PM: TDataSource;
Tv1Column12: TcxGridDBColumn;
ADO_1: TADOQuery;
Label4: TLabel;
BuyOrdNo: TcxTextEdit;
CustName: TcxMRUEdit;
CDS_KH: TClientDataSet;
ADO_KH: TADOQuery;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
GPM_2: TcxGridPopupMenu;
DS_DanWei: TDataSource;
ADO_DanWei: TADOQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Label19: TLabel;
CONTACT: TcxButtonEdit;
Tv1Column19: TcxGridDBColumn;
ToolButton5: TToolButton;
TBAdd: TToolButton;
ToolButton6: TToolButton;
TBEdit: TToolButton;
lbl2: TLabel;
Saleser: TcxButtonEdit;
SalesId: TcxTextEdit;
Label5: TLabel;
AddressArea: TcxTextEdit;
Label6: TLabel;
isUrgent: TComboBox;
Tv1Column2: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ScrollBox1Click(Sender: TObject);
procedure v1Column5PropertiesEditValueChanged(Sender: TObject);
procedure HYTTBtnUpClick(Sender: TObject);
procedure KYTTBtnUpClick(Sender: TObject);
procedure edtGYBtnUpClick(Sender: TObject);
procedure v1OrderUnitPropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure cxDBImage1DblClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TechnicsBtnUpClick(Sender: TObject);
procedure TechnicsBtnDnClick(Sender: TObject);
procedure PackNoteDblClick(Sender: TObject);
procedure Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton4Click(Sender: TObject);
procedure QtyMXKeyPress(Sender: TObject; var Key: Char);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure TvMXCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure OurCoNameDblClick(Sender: TObject);
procedure OurCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ShippingAddressPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv1Column7PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column12PropertiesEditValueChanged(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure StkPositionPropertiesButtonClick(Sender: TObject);
procedure CustNamePropertiesChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure CustNameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure CustNamePropertiesCloseUp(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure SaleserPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure SaleserDblClick(Sender: TObject);
procedure Tv1Column12PropertiesChange(Sender: TObject);
procedure Tv1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
FSCXDH: string;
procedure InitData();
procedure ZDYHelp(FButn: TcxButtonEdit; LType: string);
function SaveData(): Boolean;
function getTMMNo(fconNo: string): string;
procedure InitImage1();
procedure InitImage2();
procedure LookImage(FileName: string);
procedure InitMXGrid(MTMSId: string);
procedure AddLine();
{ Private declarations }
public
PState, CopyInt, PriceFlag: Integer;
FTMMID, FTMMNo, MTMSId: string;
FXS: Integer;
btnFlag: Integer;
canshu1, canshu4: string;
fFlileFlag: string;
fordtype: string;
FName, FColor, FColorNo: string;
FTIMID: string;
FIncludeTax: Double;
{ Public declarations }
end;
var
frmTradeSampleInPut: TfrmTradeSampleInPut;
newh: hwnd;
implementation
uses
U_DataLink, U_ZDYHelp, U_ZDYHelpSel, U_RTFun, U_CompanySel, U_PictureUpload,
U_ProgressUpdate, U_ClothInfoSel, U_ComContactSel, U_TradeMarketList,
U_LabelPrint, U_TradeMarketQtyInPut, U_UserSel;
{$R *.dfm}
procedure TfrmTradeSampleInPut.AddLine();
var
i: Integer;
maxno: string;
begin
i := cds_1.RecordCount;
i := i + 1;
if GetLSNo(ADOTemp, maxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then
begin
Application.MessageBox('取子流水号失败!', '提示', 0);
Exit;
end;
with cds_1 do
begin
Append;
FieldByName('SerialNo').Value := IntToStr(i);
FieldByName('TMSId').Value := Trim(maxno);
FieldByName('TMSPiece').Value := 0;
FieldByName('TMSQty').Value := 0;
FieldByName('OrderQty').Value := 0.5;
FieldByName('OrderUnit').Value := 'M';
Post;
end;
end;
procedure TfrmTradeSampleInPut.InitImage1();
begin
end;
procedure TfrmTradeSampleInPut.InitImage2();
begin
end;
function TfrmTradeSampleInPut.getTMMNo(fconNo: string): string;
var
str1: string;
i: integer;
begin
str1 := trim(fconNo) + '01';
with ADOTemp do
begin
close;
sql.Clear;
sql.Add('select TMMID from Trade_Plan_Main where TMMNo=' + quotedstr(trim(str1)));
open;
end;
if not ADOTemp.IsEmpty then
begin
for i := 1 to 99 do
begin
str1 := trim(fconNo) + rightstr(inttostr(100 + i), 2);
with ADOCmd do
begin
close;
sql.Clear;
sql.Add('select TMMID from Trade_Plan_Main where TMMNo=' + quotedstr(trim(str1)));
open;
end;
if ADOCmd.IsEmpty then
break;
end;
end;
result := str1;
end;
procedure TfrmTradeSampleInPut.TBAddClick(Sender: TObject);
begin
{ CDS_1.Close;
InitData();
SClearData(ScrollBox1, 2); //清空容器中控件的内容
CustName.Text := '';
if CDS_1.IsEmpty then
begin
AddLine();
end; }
PState := 0;
FTMMId := '';
FormShow(Self);
BuyOrdNo.Text := '';
CONTACT.Text := '';
Saleser.Text := '';
ShippingAddress.Text := '';
OrdNote.Text := '';
AddressArea.Text := '';
end;
procedure TfrmTradeSampleInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradeSampleInPut.TBEditClick(Sender: TObject);
begin
// if TBSave.Visible = False then
// begin
PState := 1;
FTMMId := self.FTMMId;
TBSave.Enabled := true;
ScrollBox1.Enabled := True;
ToolBar2.Enabled := true;
ToolButton2.Enabled := True;
ToolButton1.Enabled := True;
N2.Visible := true;
// FormShow(Self);
// end;
end;
procedure TfrmTradeSampleInPut.InitData();
var
FDate: TDateTime;
begin
FDate := SGetServerDateTime(ADOTemp);
TMMDate.DateTime := FDate;
DlyDate.DateTime := FDate;
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_Main where TMMID=''' + Trim(FTMMID) + '''');
Open;
end;
SCSHData(ADOTemp, ScrollBox1, 2);
SCSHData(ADOTemp, ScrollBox1, 5);
SCSHData(ADOTemp, ScrollBox1, 9);
SCSHData(ADOTemp, ScrollBox1, 7);
OurCoName.Properties.LookupItems.Text := Trim(ADOTemp.FieldByName('OurCoNo').AsString);
CustName.Properties.OnChange := nil;
CustName.Hint := Trim(ADOTemp.FieldByName('CustNo').AsString);
CustName.Text := Trim(ADOTemp.FieldByName('CustName').AsString);
CustName.Properties.OnChange := CustNamePropertiesChange;
with ADO_1 do
begin
Close;
SQL.Clear;
sql.Add('select A.*,StkQty =(select sum(isnull(X.StkQty,0)) from Bs_Cloth_IO X where X.C_Code=A.C_Code and X.C_Color=A.C_Color) ');
sql.Add('from Trade_Market_Sub A ');
SQL.adD('where 1=1 ');
if PState = 1 then
begin
sql.Add(' and A.TMMID=''' + Trim(FTMMID) + '''');
end;
if PState = 0 then
begin
sql.Add(' and 1<>1');
end;
// ShowMessage(SQL.TEXT);
Open;
end;
SCreateCDS(ADO_1, CDS_1);
SInitCDSData(ADO_1, CDS_1);
if PState = 0 then
begin
TMMDate.DateTime := SGetServerDateTime(ADOTemp);
DlyDate.DateTime := TMMDate.DateTime;
TMMNo.Text := '';
TMMNo.Enabled := True;
end
else
begin
end;
if CopyInt = 99 then
begin
PState := 0;
FTMMID := '';
TMMNo.Text := '';
TMMNo.Enabled := True;
TMMDate.DateTime := FDate;
with CDS_1 do
begin
First;
while not Eof do
begin
Edit;
FieldByName('TMMID').Value := '';
FieldByName('TMSId').Value := '';
FieldByName('TMSPiece').Value := 0;
FieldByName('TMSQty').Value := 0;
FieldByName('OrderQty').Value := 0;
FieldByName('OrderUnit').Value := NULL;
// FieldByName('GangFee').Value := 0;
// FieldByName('Transfee').Value := 0;
// FieldByName('Otherfee').Value := 0;
Post;
Next;
end;
end;
end;
end;
procedure TfrmTradeSampleInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string);
var
FType, ZDYName, FText: string;
begin
end;
procedure TfrmTradeSampleInPut.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := CAFREE;
end;
procedure TfrmTradeSampleInPut.FormCreate(Sender: TObject);
begin
inherited;
OurCoName.Properties.LookupItems.Text := 'W0001';
OurCoName.Text := '格美';
end;
procedure TfrmTradeSampleInPut.FormShow(Sender: TObject);
var
i: Integer;
begin
inherited;
with ADO_KH do
begin
close;
sql.Clear;
sql.Add(' select CoCode,CoName from BS_Company where CoType=''客户'' ');
if Trim(canshu4) = '新余' then
sql.Add(' and Stores=''新余'' ');
Open;
// CustName.Properties.LookupItems.Clear;
// while not Eof do
// begin
// CustName.Properties.LookupItems.Add(Trim(ADO_KH.fieldByName('CoName').AsString));
// Next;
// end;
// CustName.ItemIndex := -1;
SCreateCDS(ADO_KH, CDS_KH);
SInitCDSData(ADO_KH, CDS_KH);
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_BS_CloInfo_Hot ');
ExecSQL;
end;
readCxGrid(TRIM(SELF.Caption), Tv1, '生产指示单管理');
TMMNo.Text := '';
fFlileFlag := UserDataFlag + 'HX';
InitData();
if CDS_1.IsEmpty then
begin
AddLine();
// AddLine();
// AddLine();
// AddLine();
// AddLine();
end;
with ADO_PM do
begin
Close;
sql.Clear;
sql.Add(' SELECT distinct A.C_Code,A.C_Name,A.qtyunit,A.HotQty,StkQty = 0 ');
SQL.ADD(' FROM Bs_Cloth_Info A ');
sql.add(' where 1=1 ');
if Trim(canshu4) = '新余' then
sql.Add(' and isnull(STKNAME,'''')=''新余'' ');
SQL.add('group by A.C_Code,A.C_Name,A.qtyunit,A.HotQty');
SQL.ADD('order by A.C_Code ');
// showmessage(SQL.text);
Open;
end;
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT distinct A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where 1=2 ');
Open;
end;
with ADO_RCPM do
begin
Close;
sql.Clear;
sql.Add(' SELECT distinct C_GYSNAME FROM BS_Cloth_Info_GYSCP ');
Open;
end;
with ADO_DanWei do
begin
Close;
sql.Clear;
sql.Add(' SELECT distinct A.C_Code,B.CICUnit FROM Bs_Cloth_Info A inner join Bs_Cloth_Info_Coefficient B on A.BCIID=B.BCIID ');
sql.Add(' where 2=1 ');
Open;
end;
// frmTradeMarketlist := TfrmTradeMarketlist.Create(Application);
end;
procedure TfrmTradeSampleInPut.SaleserDblClick(Sender: TObject);
begin
self.Salesid.Text := '';
self.Saleser.Text := '';
end;
procedure TfrmTradeSampleInPut.SaleserPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmUserSel := TfrmUserSel.Create(Application);
with frmUserSel do
begin
Fdept := '业务部';
if ShowModal = 1 then
begin
self.Saleser.Text := Trim(CDS_1.fieldbyname('EECode').AsString);
self.Saleser.Text := Trim(CDS_1.fieldbyname('EEName').AsString);
end;
end;
finally
frmUserSel.Free;
end;
end;
function TfrmTradeSampleInPut.SaveData(): Boolean;
var
maxno, Smaxno, maxTMMNo, MaxFNo, MQZ, MTMMNo: string;
begin
try
ADOCmd.Connection.BeginTrans;
///////////////////// 保存主表 ///////////////////////////
if Trim(FTMMID) = '' then
begin
if GetLSNo(ADOCmd, maxno, 'JM', 'Trade_Market_Main', 3, 1) = False then
raise Exception.Create('取最大号失败!');
// 大货单编号G50313001<-- G50313 001
//(“G”+ 25年的“5”(每过五年辉清一下以前的数据 所以0-9循环)+0313(月日)+“001”(单号,不会超过999单))
// MQZ := 'G' + RightStr(Trim(FormatDateTime('yyMMdd', SGetServerDate(ADOTemp))), 6);
// if GetLSNo(ADOCmd, MTMMNo, MQZ, 'Trade_Market_Main', 3, 0) = False then
// raise Exception.Create('取最大号失败!');
// TMMNo.Text := MTMMNo;
if not GetLSNo(ADOCmd, MTMMNo, 'GJY', 'Trade_Market_Main', 3, 1) then
raise Exception.Create('取最大号失败!');
TMMNo.Text := MTMMNo;
end
else
begin
maxno := Trim(FTMMID);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from Trade_Market_Main where TMMID=''' + Trim(FTMMID) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(FTMMID) = '' then
begin
Append;
FieldByName('FillId').Value := Trim(DCode);
FieldByName('Filler').Value := Trim(DName);
FieldByName('status').Value := Trim('1');
if btnFlag = 1 then //保存后立即完成
FieldByName('status').Value := Trim('10');
// if btnFlag = 5 then //保存后立即提交
// FieldByName('status').Value := Trim('1');
end
else
begin
Edit;
FieldByName('EditId').Value := Trim(DCode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp);
end;
RTSetsavedata(ADOCmd, 'Trade_Market_Main', ScrollBox1, 2);
FieldByName('TMMID').Value := Trim(maxno);
FieldByName('ordtype').Value := Trim('门店剪样');
FieldByName('OurCoNo').Value := Trim(OurCoName.Properties.LookupItems.Text);
FieldByName('CustNo').Value := Trim(CustName.Hint);
FieldByName('CustName').Value := Trim(CustName.Text);
FieldByName('Store').Value := Trim(canshu4);
Post;
end;
///////////////////// 保存主表 ///////////////////////////
///////////////////// 保存子表 ///////////////////////////
with CDS_1 do
begin
First;
while not Eof do
begin
if Trim(CDS_1.fieldbyname('TMSId').AsString) = '' then
begin
if GetLSNo(ADOCmd, Smaxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then
raise Exception.Create('取子流水号失败!');
end
else
begin
Smaxno := Trim(CDS_1.fieldbyname('TMSId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Trade_Market_Sub where TMMID=''' + Trim(maxno) + '''');
sql.Add(' and TMSId=''' + Trim(Smaxno) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(CDS_1.fieldbyname('TMSId').AsString) = '' then
Append
else
Edit;
RTSetSaveDataCDS(ADOCmd, Tv1, CDS_1, 'Trade_Market_Sub', 0);
//RTSetSaveDataCDS(ADOCmd, Tv1, CDS_1, 'Trade_Market_Sub_Qty', 2);
//RTSetsavedata(ADOCmd, 'Trade_Market_Sub', ScrollBox1, 7);
FieldByName('TMMID').Value := Trim(maxno);
FieldByName('TMSId').Value := Trim(Smaxno);
Post;
end;
Next;
end;
end;
///////////////////// 保存子表 ///////////////////////////
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_Main where TMMNo=''' + Trim(TMMNo.Text) + '''');
Open;
end;
if ADOCmd.RecordCount > 1 then
raise Exception.Create('订单号重复!');
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select C_Code,C_Color,C_ColorNo,CF=count(TMSID) from Trade_Market_sub where TMMID=''' + Trim(maxno) + '''');
sql.Add('group by C_Code,C_Color,C_ColorNo HAVING count(TMSID)>1 ');
Open;
end;
if not ADOCmd.IsEmpty then
raise Exception.Create('颜色重复!');
FTMMID := Trim(maxno);
ADOCmd.Connection.CommitTrans;
// TradeMarketProgressUpdateByTMMID(ADOCmd, FTMMID);
with ADO_1 do
begin
Close;
SQL.Clear;
sql.Add(' select * from Trade_Market_Sub where TMMID=''' + Trim(FTMMID) + '''');
Open;
end;
SCreateCDS(ADO_1, CDS_1);
SInitCDSData(ADO_1, CDS_1);
Result := True; //保存后立即打印
if (btnFlag = 2) or (btnFlag = 4) then
begin
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
if canshu4 = '新余' then
FLMType := 'TradePlanPrintxy'
else
FLMType := 'TradePlanPrint';
FFiltration1 := Trim(maxno);
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
if btnFlag = 3 then //保存后立即新增
begin
PState := 0;
FTMMId := '';
FormShow(Self);
// CDS_1.Close;
// InitData();
// SClearData(ScrollBox1, 2); //清空容器中控件的内容
// CustName.Text := '';
// if CDS_1.IsEmpty then
// begin
// AddLine();
// end;
end;
except
Result := False;
ADOCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
procedure TfrmTradeSampleInPut.TBSaveClick(Sender: TObject);
var
MAXNO1: string;
begin
ToolBar1.SetFocus;
with cds_1 do
begin
while cds_1.Locate('C_Code', null, []) do
begin
cds_1.Delete
end;
end;
if trim(CustName.Text) = '' then
begin
Application.MessageBox('客户不能为空!', '提示', 0);
Exit;
end;
if CDS_1.IsEmpty then
begin
Application.MessageBox('明细不能为空!', '提示', 0);
Exit;
end;
if CDS_1.Locate('C_Color', null, []) then
begin
Application.MessageBox('颜色不能为空!', '提示', 0);
Exit;
end;
if CDS_1.Locate('OrderQty', null, []) then
begin
Application.MessageBox('报单数量不能为空!', '提示', 0);
Exit;
end;
if CDS_1.Locate('OrderUnit', null, []) then
begin
Application.MessageBox('报单单位不能为空!', '提示', 0);
Exit;
end;
// if not CDS_KH.Locate('CoName', self.CustName.Text, []) then
// begin
// Application.MessageBox('客户不存在!', '提示', 0);
// Exit;
// end
// else
// begin
// self.CustName.Properties.LookupItems.Text := Trim(CDS_KH.fieldbyname('CoCode').AsString);
// end;
if SaveData() then
begin
Application.MessageBox('保存成功!', '提示', 0);
// if btnFlag = 4 then //保存后打印并退出
ModalResult := 1;
end;
end;
procedure TfrmTradeSampleInPut.ToolButton1Click(Sender: TObject);
begin
AddLine();
end;
procedure TfrmTradeSampleInPut.ToolButton2Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除选择的数据吗?', '提示', 32 + 4) <> IDYES then
exit;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while Locate('SSel', True, []) do
begin
if Trim(CDS_1.fieldbyname('TMSId').AsString) <> '' then
begin
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete Trade_Market_Sub where TMSId=''' + Trim(CDS_1.fieldbyname('TMSId').AsString) + '''');
sql.Add('delete Trade_Market_Sub_Qty where TMSId=''' + Trim(CDS_1.fieldbyname('TMSId').AsString) + '''');
ExecSQL;
end;
end;
Delete;
end;
end;
CDS_1.EnableControls;
end;
procedure TfrmTradeSampleInPut.ToolButton3Click(Sender: TObject);
begin
WriteCxGrid(TRIM(SELF.Caption), Tv1, '生产指示单管理');
end;
procedure TfrmTradeSampleInPut.ToolButton4Click(Sender: TObject);
var
i: Integer;
maxno: string;
begin
inherited;
try
frmClothInfoSel := TfrmClothInfoSel.Create(Application);
with frmClothInfoSel do
begin
if ShowModal = 1 then
begin
// while CDS_1.locate('SSel', true, []) do
begin
if self.CDS_1.locate('C_Code', trim(CDS_1.Fieldbyname('C_Code').AsString), []) then
begin
CDS_1.Edit;
CDS_1.fieldbyname('SSel').value := false;
// continue;
end;
i := cds_1.RecordCount;
with CDS_3 do
begin
DisableControls;
First;
while not eof do
begin
if FieldByName('SSEL').AsBoolean then
begin
i := i + 1;
if GetLSNo(ADOTemp, maxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('取子流水号失败!', '提示', 0);
Exit;
end;
with self.CDS_1 do
begin
append;
FieldByName('SSel').Value := false;
FieldByName('SerialNo').Value := IntToStr(i);
FieldByName('TMSId').Value := Trim(maxno);
FieldByName('TMSUnit').Value := trim(frmClothInfoSel.CDS_1.Fieldbyname('qtyunit').AsString);
Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString);
Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString);
Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString);
Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString);
Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString);
Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString);
// Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString);
// Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString);
// Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString);
Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_ColorNo').AsString);
Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Color').AsString);
Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Pattern').AsString);
// Fieldbyname('C_StyleNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_StyleNo').AsString);
// Fieldbyname('SerialNo').value := 999;
end;
end;
Next;
end;
EnableControls;
end;
// with self.CDS_1 do
// begin
// append;
// FieldByName('SSel').Value := false;
// FieldByName('SerialNo').Value := IntToStr(i);
// FieldByName('TMSId').Value := Trim(maxno);
// FieldByName('TMSUnit').Value := 'M';
// Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString);
// Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString);
// Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString);
// Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString);
// Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString);
// Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString);
//
// Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString);
// Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString);
// Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString);
//
// end;
// CDS_1.Edit;
// CDS_1.fieldbyname('SSel').value := false;
end;
end;
end;
finally
frmClothInfoSel.Free;
end;
end;
procedure TfrmTradeSampleInPut.ToolButton5Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
OneKeyPost(Tv1, CDS_1);
end;
procedure TfrmTradeSampleInPut.edtGYBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
i: integer;
begin
// fsj := Trim(TBtnEditC(Sender).Hint);
// FWZ := Pos('/', fsj);
// i := 0;
// try
// frmZDYHelpSel := TfrmZDYHelpSel.Create(Application);
// with frmZDYHelpSel do
// begin
// flag := Copy(fsj, 1, FWZ - 1);
// flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
// if ShowModal = 1 then
// begin
// TBtnEditC(Sender).text := '';
// with ClientDataSet1 do
// begin
// First;
// while not Eof do
// begin
// if FieldByName('SSel').AsBoolean = True then
// begin
// i := i + 1;
// if TBtnEditC(Sender).text = '' then
// TBtnEditC(Sender).text := FieldByName('ZDYName').AsString
// else
// TBtnEditC(Sender).text := TBtnEditC(Sender).text + ',' + FieldByName('ZDYName').AsString; //inttostr(i)+'.'+
// end;
// Next;
// end;
// end;
// end;
// end;
// finally
// frmZDYHelpSel.Free;
// end;
end;
procedure TfrmTradeSampleInPut.TechnicsBtnDnClick(Sender: TObject);
begin
TcxButtonEdit(Sender).Text := '';
TcxButtonEdit(Sender).Properties.LookupItems.Text := '';
end;
procedure TfrmTradeSampleInPut.TechnicsBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TcxTextEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TcxTextEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeSampleInPut.CustNameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if not ADO_YS.IsEmpty then
begin
if ADO_YS.FieldByName('C_Code').AsString <> CDS_1.FieldByName('C_Code').AsString then
begin
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT DISTINCT A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where A.C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
SQL.ADD(' order by B.C_ColorNo');
//ShowMessage(sql.text);
Open;
end;
end;
end
else
begin
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT DISTINCT A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where A.C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
SQL.ADD(' order by B.C_ColorNo');
Open;
end;
end;
end;
procedure TfrmTradeSampleInPut.CustNamePropertiesChange(Sender: TObject);
begin
inherited;
// if CDS_KH.Locate('CoAbbrName', Trim(self.CustName.Text), []) then
// begin
// self.CustName.Hint := Trim(CDS_KH.fieldbyname('CoCode').AsString);
// end;
if CustName.Text <> '' then
begin
with ADO_KH do
begin
close;
sql.Clear;
sql.Add(' select CoCode,CoName from BS_Company where CoType=''客户'' ');
if Trim(canshu4) = '新余' then
sql.Add(' and Stores=''新余'' ');
sql.Add(' and CoName like ''%' + Trim(CustName.Text) + '%''');
Open;
CustName.Properties.LookupItems.Clear;
while not Eof do
begin
CustName.Properties.LookupItems.Add(Trim(ADO_KH.fieldByName('CoName').AsString));
Next;
end;
// CustName.ItemIndex := -1;
SCreateCDS(ADO_KH, CDS_KH);
SInitCDSData(ADO_KH, CDS_KH);
end;
end;
end;
procedure TfrmTradeSampleInPut.CustNamePropertiesCloseUp(Sender: TObject);
begin
inherited;
with ADOtemp do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.* ');
sql.Add(',BankName=(select top 1 BankName from Bs_Company_Bank X where X.CoID=A.CoID ) ');
sql.Add(',ContactsId=(select top 1 UserID from SY_User X where X.UserName=B.Contacts ) ');
sql.Add('from BS_Company A ');
sql.Add('left join BS_Company_contact B ON A.COID=B.COID and B.IsDefault=1 ');
sql.Add('where 1=1 ');
sql.Add(' and A.CoType=''' + Trim('客户') + '''');
// if Trim(FAuthority) = '理单业务' then
// begin
// sql.Add(' and ( SalesId=' + quotedstr(trim(DCode)) + ' or exists (select * from [dbo].[F_Tool_SplitString](TallyId,'','') X where X.RTValue =' + quotedstr(trim(DCode)) + '))');
// end;
if canshu4 = '新余' then
sql.Add(' and A.Stores=''' + Trim('新余') + '''');
sql.Add(' and A.CoName=''' + Trim(CustName.Text) + '''');
Open;
end;
self.ShippingAddress.Text := Trim(adotemp.fieldbyname('mxaddress').AsString);
self.CONTACT.Text := Trim(adotemp.fieldbyname('Telephone').AsString);
self.AddressArea.Text := Trim(adotemp.fieldbyname('MXAREA').AsString);
Saleser.Text := Trim(adotemp.fieldbyname('Saleser').AsString);
CustName.HINT := Trim(adotemp.fieldbyname('cocode').AsString);
end;
procedure TfrmTradeSampleInPut.cxDBImage1DblClick(Sender: TObject);
begin
if TcxDBImage(Sender).Picture.Height = 0 then
exit;
LookImage(ADO_I1.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
procedure TfrmTradeSampleInPut.LookImage(FileName: string);
var
sFieldName: string;
begin
sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\图片查看';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName), nil);
sFieldName := sFieldName + '\' + trim(FileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '服务器地址', '127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
try
IdFTP1.Get(fFlileFlag + '\' + Trim(FileName), sFieldName, true, false);
except
Application.MessageBox('客户图样文件不存在', '提示', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Application.MessageBox('无法连接文件服务器', '提示', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
end;
procedure TfrmTradeSampleInPut.N1Click(Sender: TObject);
begin
btnFlag := 1;
TBSaveClick(Sender);
end;
procedure TfrmTradeSampleInPut.N2Click(Sender: TObject);
begin
btnFlag := 2;
TBSaveClick(Sender);
end;
procedure TfrmTradeSampleInPut.N3Click(Sender: TObject);
begin
btnFlag := 3;
TBSaveClick(Sender);
end;
procedure TfrmTradeSampleInPut.N4Click(Sender: TObject);
begin
btnFlag := 4;
TBSaveClick(Sender);
end;
procedure TfrmTradeSampleInPut.N5Click(Sender: TObject);
begin
btnFlag := 5;
TBSaveClick(Sender);
end;
procedure TfrmTradeSampleInPut.OurCoNameDblClick(Sender: TObject);
begin
TcxButtonEdit(Sender).Text := '';
TcxButtonEdit(Sender).Properties.LookupItems.Text := '';
end;
procedure TfrmTradeSampleInPut.OurCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '我司';
if ShowModal = 1 then
begin
self.OurCoName.Properties.LookupItems.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.OurCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
procedure TfrmTradeSampleInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
mvalues: string;
begin
mvalues := tv1.Columns[tv1.Controller.FocusedColumn.index].DataBinding.FieldName;
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'OrderUnit';
flagname := '数量单位';
if ShowModal = 1 then
begin
Self.CDS_1.Edit;
Self.CDS_1.FieldByName(mvalues).Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeSampleInPut.v1OrderUnitPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, YValue: string;
FDDQty, FCPCDXS, FQty, FDKCQty: Double;
begin
mvalue := TcxComboBox(Sender).EditingText; //变化后单位
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
YValue := FieldByName('DDQtyUnit').AsString; //原单位=订单单位
FDDQty := FieldByName('DDQty').AsFloat; //订单数量
FCPCDXS := FieldByName('CPCDXS').AsFloat;
FDKCQty := FieldByName('DKCQty').AsFloat;
FQty := FieldByName('PRTOrderQty').AsFloat;
end;
if mvalue = 'Kg' then
begin
if YValue = 'Y' then
begin
FQty := FDDQty * 0.9144 / FCPCDXS;
end;
if YValue = 'M' then
begin
FQty := FDDQty / FCPCDXS;
end;
if YValue = 'Kg' then
begin
FQty := FDDQty;
end;
end;
if mvalue = 'M' then
begin
if YValue = 'Y' then
begin
FQty := FDDQty * 0.9144;
end;
if YValue = 'Kg' then
begin
FQty := FDDQty * FCPCDXS;
end;
if YValue = 'M' then
begin
FQty := FDDQty;
end;
end;
if mvalue = 'Y' then
begin
if YValue = 'M' then
begin
FQty := FDDQty / 0.9144;
end;
if YValue = 'Kg' then
begin
FQty := FDDQty * FCPCDXS / 0.9144;
end;
if YValue = 'Y' then
begin
FQty := FDDQty;
end;
end;
with CDS_1 do
begin
Edit;
FieldByName('PRTOrderQty').Value := FQty - FDKCQty;
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmTradeSampleInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'PriceUnit';
flagname := '价格单位';
if Trim(DParameters1) <> '高权限' then
begin
TBAdd.Visible := False;
TBEdit.Visible := False;
TBDel.Visible := False;
end;
if ShowModal = 1 then
begin
Self.CDS_1.Edit;
Self.CDS_1.FieldByName('PriceUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeSampleInPut.ScrollBox1Click(Sender: TObject);
begin
TMMDate.SetFocus;
end;
procedure TfrmTradeSampleInPut.ShippingAddressPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmComContactSel := TfrmComContactSel.Create(Application);
with frmComContactSel do
begin
FCoCode := Trim(self.CustName.Hint);
if ShowModal = 1 then
begin
self.ShippingAddress.Text := Trim(frmComContactSel.CDS_1.fieldbyname('mxaddress').AsString);
self.CONTACT.Text := Trim(frmComContactSel.CDS_1.fieldbyname('PhoneNumber').AsString);
self.AddressArea.Text := Trim(frmComContactSel.CDS_1.fieldbyname('MXAREA').AsString);
end;
end;
finally
frmComContactSel.Free;
end;
end;
procedure TfrmTradeSampleInPut.StkPositionPropertiesButtonClick(Sender: TObject);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '客户';
FStores := Trim(canshu4);
if ShowModal = 1 then
begin
self.CustName.Hint := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.CustName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
self.ShippingAddress.Text := Trim(frmCompanySel.CDS_1.fieldbyname('mxaddress').AsString);
self.CONTACT.Text := Trim(frmCompanySel.CDS_1.fieldbyname('Telephone').AsString);
self.AddressArea.Text := Trim(frmCompanySel.CDS_1.fieldbyname('MXAREA').AsString);
Saleser.Text := Trim(frmCompanySel.CDS_1.fieldbyname('Saleser').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
procedure TfrmTradeSampleInPut.PackNoteDblClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
i: integer;
begin
fsj := Trim(TMemo(Sender).Hint);
FWZ := Pos('/', fsj);
i := 0;
try
frmZDYHelpSel := TfrmZDYHelpSel.Create(Application);
with frmZDYHelpSel do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TMemo(Sender).Lines.Clear;
with ClientDataSet1 do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean = True then
begin
i := i + 1;
TMemo(Sender).Lines.Add(FieldByName('ZDYName').AsString) //inttostr(i)+'.'+
end;
Next;
end;
end;
end;
end;
finally
frmZDYHelpSel.Free;
end;
end;
procedure TfrmTradeSampleInPut.QtyMXKeyPress(Sender: TObject; var Key: Char);
var
MaxNo: string;
begin
if Key = #13 then
begin
if Label38.Caption = '序号' then
begin
Application.MessageBox('请选择数据', '提示', 0);
Exit;
end;
if StrTofloatDef(QtyMX.Text, 0) = 0 then
Exit;
if GetLSNo(ADOTemp, MaxNo, 'MX', 'Trade_Market_Sub_Qty', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
try
ADOCmd.Connection.BeginTrans;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('insert into Trade_Market_Sub_Qty (TMSQID,TMSId,TMMID,Qty)');
sql.Add('values(' + quotedstr(Trim(MaxNo)));
sql.Add(',' + quotedstr(Trim(MTMSId)));
sql.Add(',' + quotedstr(Trim(FTMMID)));
sql.Add(',' + QtyMX.Text);
sql.Add(')');
ExecSQL;
end;
ADOCmd.Connection.CommitTrans;
with CDS_MX do
begin
Append;
FieldByName('TMSQID').Value := MaxNo;
FieldByName('TMSId').Value := MTMSId;
FieldByName('TMMId').Value := FTMMId;
FieldByName('Qty').Value := QtyMX.Text;
post;
end;
except
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('添加失败!', '提示', 0);
end;
QtyMX.Text := '';
TvMX.Controller.EditingController.ShowEdit();
end;
with cds_1 do
begin
edit;
if CDS_MX.IsEmpty then
begin
Fieldbyname('TMSPiece').Value := 0;
Fieldbyname('TMSQty').Value := 0;
end
else
begin
Fieldbyname('TMSPiece').Value := TvMX.DataController.Summary.FooterSummaryValues[1];
Fieldbyname('TMSQty').Value := TvMX.DataController.Summary.FooterSummaryValues[0];
end;
post;
end;
end;
procedure TfrmTradeSampleInPut.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
AColumn: TcxGridColumn;
begin
// 获取被双击的列
AColumn := ACellViewInfo.Item as TcxGridColumn;
// 检查是否双击了 Qty 列(通过列名判断)
if AColumn.Name = 'Tv1Column19' then
begin
if not CDS_1.IsEmpty then
begin
// 获取当前行的相关ID
Self.MTMSId := CDS_1.FieldByName('TMSId').AsString;
Self.FTMMID := CDS_1.FieldByName('TMMId').AsString;
try
frmTradeMarketQtyInPut := TfrmTradeMarketQtyInPut.Create(Application);
with frmTradeMarketQtyInPut do
begin
MTMSId := Self.MTMSId;
FTMMID := Self.FTMMID;
canshu4 := self.canshu4;
if ShowModal = 1 then
begin
Self.InitMXGrid(Self.MTMSID);
end;
end;
finally
FreeAndNil(frmTradeMarketQtyInPut);
end;
AHandled := True;
end;
end;
end;
procedure TfrmTradeSampleInPut.Tv1Column12PropertiesChange(Sender: TObject);
var
sInput: string;
ACombo: TcxLookupComboBox;
begin
inherited;
ACombo := TcxLookupComboBox(Sender);
sInput := Trim(ACombo.Text); // 获取你输入的文字
if CDS_1.FieldByName('C_CODE').AsString = '' then
EXIT;
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT * ');
sql.Add(' FROM V_COLOR_VIEW A WHERE 1=1 and C_CODE= ' + QuotedStr(CDS_1.FieldByName('C_CODE').AsString));
if sInput <> '' then
begin
sql.Add(Format(' AND A.C_ColorNo LIKE ''%%%s%%'' ', [sInput]));
// ✅ 关键DISTINCT 下绝对不报错的排序(只排查询里出现的字段)
sql.Add(Format(' ORDER BY CASE WHEN A.C_ColorNo = ''%s'' THEN 0 ELSE 1 END, A.C_ColorNo ', [sInput]));
end
else
begin
// sql.Add(' AND C_CODE= ' + QuotedStr(CDS_1.FieldByName('C_CODE').AsString));
end;
// ShowMessage(SQL.Text);
Open;
end;
end;
procedure TfrmTradeSampleInPut.Tv1Column12PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
with ADOTemp do
begin
close;
sql.Clear;
sql.Add(' select isnull(IncludeTax,0)IncludeTax from Bs_Company a ');
sql.Add('where CoCode=' + QuotedStr(CustName.hint));
open;
end;
FIncludeTax := ADOTemp.Fieldbyname('IncludeTax').asfloat;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
mvalue := TcxTextEdit(Sender).EditingText;
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
ADO_YS.Locate('C_ColorNo', mvalue, []);
Edit;
FieldByName('C_Color').Value := ADO_YS.FieldByName('C_Color').Value;
// FieldByName('price').Value := ADO_YS.FieldByName('price').Value * (1 + (FIncludeTax / 100));
// FieldByName('referencePrice').Value := ADO_YS.FieldByName('Price').Value;
Post;
end;
end;
procedure TfrmTradeSampleInPut.Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
inherited;
try
frmClothInfoSel := TfrmClothInfoSel.Create(Application);
with frmClothInfoSel do
begin
// xzflag := 0;
// kcflag := 1;
if ShowModal = 1 then
begin
with Self.CDS_1 do
begin
edit;
Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString);
Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString);
Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString);
Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString);
Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString);
Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString);
Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString);
Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString);
Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString);
post;
end;
end;
end;
finally
frmClothInfoSel.Free;
end;
end;
procedure TfrmTradeSampleInPut.Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmPictureUpload := TfrmPictureUpload.create(self);
with frmPictureUpload do
begin
fFlileFlag := self.fFlileFlag;
FDataId := Trim(self.CDS_1.fieldbyname('AttName').AsString);
FPictureName := Trim(self.CDS_1.fieldbyname('AttName').AsString);
FWidth := 450;
FHeight := 600;
FTFType := 'HX';
if showmodal = 1 then
begin
with self.CDS_1 do
begin
Edit;
Fieldbyname('AttName').Value := frmPictureUpload.FPictureName;
Post;
end;
end;
end;
finally
frmPictureUpload.free;
end;
end;
procedure TfrmTradeSampleInPut.Tv1Column7PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
mvalue := TcxTextEdit(Sender).EditingText;
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
ADO_PM.Locate('C_Name', mvalue, []);
Edit;
FieldByName('C_Code').Value := ADO_PM.FieldByName('C_Code').Value;
FieldByName('TMSUnit').Value := ADO_PM.FieldByName('qtyunit').Value;
FieldByName('StkQty').Value := ADO_PM.FieldByName('StkQty').Value;
Post;
end;
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT DISTINCT A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where A.C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
SQL.ADD(' order by B.C_ColorNo');
//ShowMessage(sql.text);
Open;
end;
// with ADOTemp do
// begin
// close;
// sql.Clear;
// sql.Add(' select * from bs_cloth_info a inner join BS_Cloth_Info_GYSCP b on a.bciid=b.bciid ');
// sql.Add('where c_name=' + QuotedStr(CDS_1.FieldByName('C_name').AsString));
// sql.Add('and factoryname=' + QuotedStr(CustName.Text));
//
// open;
// end;
// if ADOTemp.IsEmpty = false then
// begin
// with Self.CDS_1 do
// begin
// edit;
// Fieldbyname('C_GYSNAME').AsString := trim(ADOTemp.Fieldbyname('C_GYSNAME').AsString);
// Post;
// end;
//
// end;
end;
procedure TfrmTradeSampleInPut.Tv1DblClick(Sender: TObject);
var
MTMSQID: string;
begin
// try
// frmTradeMarketQtyInPut := TfrmTradeMarketQtyInPut.Create(Application);
// with frmTradeMarketQtyInPut do
// begin
// MTMSId := self.MTMSId;
// FTMMID := Self.FTMMID;
// if ShowModal = 1 then
// begin
//// Self.InitMXGrid(Self.MTMSQID);
// end;
// end;
// finally
// frmTradeMarketQtyInPut.Free;
// end;
end;
procedure TfrmTradeSampleInPut.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
inherited;
Label38.Caption := '序号:' + Trim(cds_1.fieldbyname('SerialNo').AsString);
MTMSId := Trim(cds_1.fieldbyname('TMSId').AsString);
InitMXGrid(MTMSId);
end;
procedure TfrmTradeSampleInPut.Tv1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_DOWN then
begin
ToolButton1.Click();
end;
end;
procedure TfrmTradeSampleInPut.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if not ADO_YS.IsEmpty then
begin
if ADO_YS.FieldByName('C_Code').AsString <> CDS_1.FieldByName('C_Code').AsString then
begin
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT DISTINCT A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where A.C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
SQL.ADD(' order by B.C_ColorNo');
Open;
end;
end;
end
else
begin
with ADO_YS do
begin
Close;
sql.Clear;
sql.Add(' SELECT DISTINCT A.C_Code,B.C_Color,B.C_ColorNo,B.referencePrice AS Price FROM Bs_Cloth_Info A inner join BS_Cloth_Info_Sub B on A.BCIID=B.BCIID ');
sql.Add(' where A.C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
SQL.ADD(' order by B.C_ColorNo');
Open;
end;
end;
if not ADO_DanWei.IsEmpty then
begin
if ADO_DanWei.FieldByName('C_Code').AsString <> CDS_1.FieldByName('C_Code').AsString then
begin
with ADO_DanWei do
begin
Close;
sql.Clear;
sql.Add(' EXEC P_Cloth_GetCICUnit @C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
Open;
end;
end;
end
else
begin
with ADO_DanWei do
begin
Close;
sql.Clear;
sql.Add(' EXEC P_Cloth_GetCICUnit @C_Code= ' + QuotedStr(CDS_1.FieldByName('C_Code').AsString));
Open;
end;
end;
// Bs_Cloth_Info_Coefficient
end;
procedure TfrmTradeSampleInPut.TvMXCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
inherited;
if ToolBar2.Enabled = False then
Exit;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('delete Trade_Market_Sub_Qty where TMSQID=' + quotedstr(Trim(CDS_MX.FieldByName('TMSQID').AsString)));
ExecSQL;
end;
// with ADOCmd do
// begin
// close;
// sql.Clear;
// sql.Add(' exec P_KCSD_AllNew ');
// sql.Add(' @Operation=''大货单明细删除'' ');
// sql.Add(' ,@TMMNo=' + quotedstr(trim(TMMNo.Text)));
// ExecSQL;
// end;
CDS_MX.Delete;
with cds_1 do
begin
edit;
if CDS_MX.IsEmpty then
begin
Fieldbyname('TMSPiece').Value := 0;
Fieldbyname('TMSQty').Value := 0;
end
else
begin
Fieldbyname('TMSPiece').Value := TvMX.DataController.Summary.FooterSummaryValues[1];
Fieldbyname('TMSQty').Value := TvMX.DataController.Summary.FooterSummaryValues[0];
end;
post;
end;
end;
procedure TfrmTradeSampleInPut.InitMXGrid(MTMSId: string);
begin
with ADOTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from Trade_Market_Sub_Qty A ');
sql.Add('where TMSId=''' + Trim(MTMSId) + '''');
Open;
end;
SCreateCDS(ADOTemp, CDS_MX);
SInitCDSData(ADOTemp, CDS_MX);
end;
procedure TfrmTradeSampleInPut.v1Column5PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
FieldByName('MGTMMID').Value := '';
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmTradeSampleInPut.HYTTBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TcxTextEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TcxTextEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmTradeSampleInPut.KYTTBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TcxTextEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if Trim(flag) = 'OrdDefStr2' then
begin
V1Name.Caption := '中文名称';
V1Note.Caption := '英文名称';
fnote := True;
end;
if ShowModal = 1 then
begin
TcxTextEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.