D7gmYongjin/BI(BIView.dll)/U_OrderHSInPutTS.pas

870 lines
24 KiB
ObjectPascal
Raw Normal View History

2026-03-04 09:51:44 +08:00
unit U_OrderHSInPutTS;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxTextEdit,
cxButtonEdit, StdCtrls, ExtCtrls, cxCurrencyEdit, BtnEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxDropDownEdit,
Menus, cxButtons, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ImgList,ShellAPI,StrUtils;
type
TfrmOrderHSInPutTS = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
CDS_Sub: TClientDataSet;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
ScrollBox1: TScrollBox;
Label23: TLabel;
XDDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v2Column12: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label29: TLabel;
CPPS: TEdit;
CPQty: TEdit;
Label4: TLabel;
HGYNote: TMemo;
XSQty: TEdit;
Label15: TLabel;
XSPrice: TEdit;
Label22: TLabel;
PriceType: TComboBox;
HuiLv: TEdit;
Label32: TLabel;
TBSel: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
CPMoney: TEdit;
CPPriceAvg: TEdit;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Label16: TLabel;
Label17: TLabel;
FKType: TBtnEditC;
Label18: TLabel;
XSMoney: TEdit;
Label20: TLabel;
XSMoneyRMB: TEdit;
Label21: TLabel;
Label24: TLabel;
LiRun: TEdit;
LiRunLv: TEdit;
Label26: TLabel;
Label47: TLabel;
Label48: TLabel;
HSGongShi: TEdit;
ListView1: TListView;
Panel2: TPanel;
cxButton1: TcxButton;
Label49: TLabel;
ImageList1: TImageList;
IdFTP1: TIdFTP;
ADOQueryTmp: TADOQuery;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
BZType: TEdit;
XSUnit: TEdit;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
PBUnit: TComboBox;
Label38: TLabel;
TuiShui: TEdit;
TuiShuiFlag: TCheckBox;
Label11: TLabel;
HYFee: TEdit;
HYFeeUnit: TComboBox;
Label52: TLabel;
YongJin: TEdit;
Label6: TLabel;
ShuiLv: TComboBox;
ShuiFee: TEdit;
Label54: TLabel;
SXFee: TEdit;
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBSelClick(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure PBQtyChange(Sender: TObject);
procedure Tv1Column3PropertiesEditValueChanged(Sender: TObject);
procedure FKTypeBtnUpClick(Sender: TObject);
procedure FKTypeBtnDnClick(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure Tv1Column6PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column7PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column10PropertiesEditValueChanged(Sender: TObject);
procedure TuiShuiFlagClick(Sender: TObject);
private
procedure InitSubGrid();
function SaveData(): Boolean;
procedure GetData();
procedure InitFJData();
{ Private declarations }
public
FCYID,GDFalg:String;
{ Public declarations }
end;
var
frmOrderHSInPutTS: TfrmOrderHSInPutTS;
newh: hwnd;
implementation
uses
U_DataLink, U_RTFun, U_iniParam, U_ZDYHelp,U_ContractListSel, U_FjList;
{$R *.dfm}
procedure TfrmOrderHSInPutTS.InitSubGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
SQL.Add('select * from Order_HS where HSID=''' + Trim(FCYID) + '''');
Open;
end;
SCSHDataNew(ADOQueryMain, ScrollBox1, 2);
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select * from Order_HS_OrderNo where HSID=''' + Trim(FCYID) + '''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
if CDS_Sub.IsEmpty then
begin
XDDate.Date:=SGetServerDate(ADOQueryTemp);
end;
GDFalg:='';
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmOrderHSInPutTS.FormShow(Sender: TObject);
begin
InitSubGrid();
if Trim(FCYID)<>'' then
begin
InitFJData();
end;
end;
procedure TfrmOrderHSInPutTS.TBCloseClick(Sender: TObject);
begin
Close;
end;
function TfrmOrderHSInPutTS.SaveData(): Boolean;
var
maxId, Maxno,FHOID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FCYID) = '' then
begin
if GetLSNoHZ(ADOQueryCmd, maxId, 'HS', 'Order_HS', 4, 1,3) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
maxId := Trim(FCYID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Order_HS where HSID=''' + Trim(FCYID) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FCYID) = '' then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp);
FieldByName('Valid').Value:='Y';
FieldByName('HZStatus').Value:='<27><><EFBFBD>ύ';
FieldByName('HSTYpe').Value:=<><CDB3>';
end
else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('HSID').Value := Trim(maxId);
RTSetsavedata(ADOQueryCmd, 'Order_HS', ScrollBox1, 2);
Post;
end;
FCYID:=Trim(maxId);
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Order_HS_OrderNo where HOID='''+Trim(CDS_Sub.fieldbyname('HOID').AsString)+'''');
open;
end;
FHOID:=Trim(ADOQueryCmd.fieldbyname('HOID').AsString);
if Trim(FHOID)='' then
begin
if GetLSNo(ADOQueryCmd,Maxno,'HO','Order_HS_OrderNo',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
Maxno:=Trim(FHOID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from Order_HS_OrderNo where HOID='''+Trim(Maxno)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FHOID)='' then
begin
Append;
end else
begin
Edit;
end;
FieldByName('HOID').Value:=Trim(Maxno);
FieldByName('HSID').Value:=Trim(maxId);
FieldByName('MainId').Value:=Trim(CDS_Sub.fieldbyname('MainId').AsString);
RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'Order_HS_OrderNo',2);
if Trim(FHOID)='' then
FieldByName('Filler').Value:=Trim(DName)
else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDate(ADOQueryTemp);
end;
Post;
end;
Edit;
FieldByName('HOID').Value:=Trim(Maxno);
FieldByName('HSID').Value:=Trim(maxId);
Post;
Next;
end;
end;
CDS_Sub.EnableControls;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Update_HSInfo_JD :HSID');
Parameters.ParamByName('HSID').Value:=Trim(maxId);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
procedure TfrmOrderHSInPutTS.TBSaveClick(Sender: TObject);
var
FKHName,FYWY,FSPName,FLiDan,FDate:string;
begin
if CDS_Sub.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
FDate:=FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOQueryTmp));
if Trim(FDate)=Trim(FormatDateTime('yyyy-MM-dd',XDDate.Date)) then
begin
Application.MessageBox('<27>µ<EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD><C3BB>ѡ<EFBFBD><D1A1>!','<27><>ʾ',0);
Exit;
end;
if Trim(BZType.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
FKHName:=Trim(CDS_Sub.fieldbyname('KHName').AsString);
FYWY:=Trim(CDS_Sub.fieldbyname('YWY').AsString);
FSPName:=Trim(CDS_Sub.fieldbyname('SPName').AsString);
FLiDan:=Trim(CDS_Sub.fieldbyname('LiDan').AsString);
CDS_Sub.DisableControls;
with CDS_Sub do
begin
first;
while not Eof do
begin
if FKHName <> trim(CDS_Sub.fieldbyname('KHName').AsString) then
begin
CDS_Sub.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if FYWY <> trim(CDS_Sub.fieldbyname('YWY').AsString) then
begin
CDS_Sub.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>Ա<EFBFBD><D4B1>', '<27><>ʾ', 0);
Exit;
end;
if FSPName <> trim(CDS_Sub.fieldbyname('SPName').AsString) then
begin
CDS_Sub.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>', '<27><>ʾ', 0);
Exit;
end;
if FLiDan <> trim(CDS_Sub.fieldbyname('LiDan').AsString) then
begin
CDS_Sub.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
Next;
end;
end;
CDS_Sub.EnableControls;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
Exit;
//ModalResult := 1;
end;
end;
procedure TfrmOrderHSInPutTS.TBSelClick(Sender: TObject);
begin
try
frmContractListSel := TfrmContractListSel.Create(Application);
with frmContractListSel do
begin
if ShowModal = 1 then
begin
with Order_Main do
begin
First;
while Order_Main.locate('SSel', true, []) do
begin
if self.CDS_Sub.Locate('OrderNo',Trim(Order_Main.Fieldbyname('OrderNo').AsString),[])=False then
begin
with Self.ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 1 SCSUnit');
sql.Add(',CPUnit=(select Top 1 CK.QtyUnit from CK_SXPB_CR CK inner join JYOrder_Main JM on CK.ORDMainIdRK=JM.Mainid where JM.ConNo=A.ConNo)');
sql.Add(' from SalesContract_Main A ');
sql.Add(' inner join SalesContract_Sub B on A.MainId=B.MainId');
sql.Add(' where A.ConNo='''+Trim(frmContractListSel.Order_Main.Fieldbyname('OrderNo').AsString)+'''');
Open;
end;
with self.CDS_Sub do
begin
append;
Fieldbyname('MainId').value := trim(frmContractListSel.Order_Main.Fieldbyname('MainId').AsString);
Fieldbyname('OrderNo').value := trim(frmContractListSel.Order_Main.Fieldbyname('OrderNo').AsString);
Fieldbyname('KHName').value := trim(frmContractListSel.Order_Main.Fieldbyname('BuyName').AsString);
Fieldbyname('YWY').value := trim(frmContractListSel.Order_Main.Fieldbyname('Salesman').AsString);
Fieldbyname('LiDan').value := trim(frmContractListSel.Order_Main.Fieldbyname('LiDan').AsString);
Fieldbyname('SPName').value := trim(frmContractListSel.Order_Main.Fieldbyname('MPRTCodeName').AsString);
Fieldbyname('XSUnit').value := trim(Self.ADOQueryTemp.Fieldbyname('SCSUnit').AsString);
if Trim(Self.ADOQueryTemp.Fieldbyname('CPUnit').AsString)<>'' then
begin
Fieldbyname('CPUnit').value := trim(Self.ADOQueryTemp.Fieldbyname('CPUnit').AsString);
end else
begin
Fieldbyname('CPUnit').value :='Kg';
end;
end;
if Trim(PBUnit.Text)='' then
begin
PBUnit.Text:=trim(Self.ADOQueryTemp.Fieldbyname('CPUnit').AsString);
end;
if Trim(XSUnit.Text)='' then
begin
XSUnit.Text:=trim(Self.ADOQueryTemp.Fieldbyname('SCSUnit').AsString);
end;
end;
Order_Main.Delete;
end;
end;
end;
end;
finally
frmContractListSel.Free;
end;
end;
procedure TfrmOrderHSInPutTS.GetData();
var
FPBQty,FPBMoney,FRSQty,FRSMoney,FHGYQty,FHGYMoney,FCPPS,FCPQty,FCPMoney,
FTuiShui,FShuilv,FShuiFee,FXDXS,FXDFee,FBXFee,FFOBFee,FKPFee,FDJPrice,FDJFee,FKLFee,FHYFee,FZaFee,FYongJin,FSXFee,
FXSQty,FXSPrice,FXSMoney,FHuiLv,FXSMoneyRMB,FLiRun,FLiRunLv,FXSMoneyHJ:string;
begin
if GDFalg<>'' then Exit;
FCPMoney:=Trim(CPMoney.Text);
if Trim(FCPMoney)='' then FCPMoney:='0';
if CDS_Sub.IsEmpty=False then
begin
FCPPS:=FloatToStr(RoundFloat(StrToFloat(Tv1.DataController.Summary.FooterSummaryTexts[0]),0));
end else
begin
FCPPS:='0';
end;
if StrToFloat(FCPPS)<>0 then CPPS.Text:=FCPPS else CPPS.Text:='';
if CDS_Sub.IsEmpty=False then
begin
FCPQty:=FloatToStr(RoundFloat(StrToFloat(Tv1.DataController.Summary.FooterSummaryTexts[1]),2));
end else
begin
FCPQty:='0';
end;
if StrToFloat(FCPQty)<>0 then CPQty.Text:=FCPQty else CPQty.Text:='';
if StrToFloat(FCPQty)<>0 then CPPriceAvg.Text:=FloatToStr(RoundFloat(StrToFloat(FCPMoney)/StrToFloat(FCPQty),2)) else CPPriceAvg.Text:='';
if TuiShuiFlag.Checked=True then
begin
FTuiShui:=FloatToStr(RoundFloat((StrToFloat(FCPMoney)*0.13/1.13),2));
end else
begin
FTuiShui:='0';
end;
if StrToFloat(FTuiShui)<>0 then TuiShui.Text:=FTuiShui else TuiShui.Text:='';
FShuilv:=Trim(ShuiLv.Text); if Trim(FShuilv)='' then FShuilv:='0';
if (StrToFloat(FShuilv)<>0) and (StrToFloat(FCPMoney)<>0) then
begin
FShuiFee:=FloatToStr(RoundFloat((StrToFloat(FShuilv)*StrToFloat(FCPMoney)),2));ShuiFee.Text:=FShuiFee;
end else
begin
FShuiFee:='0';ShuiFee.Text:='';
end;
if CDS_Sub.IsEmpty=False then
begin
FXSQty:=FloatToStr(RoundFloat(StrToFloat(Tv1.DataController.Summary.FooterSummaryTexts[2]),2));
end else
begin
FXSQty:='0';
end;
if StrToFloat(FXSQty)<>0 then XSQty.Text:=FXSQty else XSQty.Text:='';
if CDS_Sub.IsEmpty=False then
begin
FXSMoneyHJ:=FloatToStr(RoundFloat(StrToFloat(Tv1.DataController.Summary.FooterSummaryTexts[3]),2));
end else
begin
FXSMoneyHJ:='0';
end;
if (StrToFloat(FXSMoneyHJ)<>0) and (StrToFloat(FXSQty)<>0) then
begin
XSPrice.Text:=FloatToStr(RoundFloat(StrToFloat(FXSMoneyHJ)/StrToFloat(FXSQty),2));
end else
begin
XSPrice.Text:='';
end;
//FXSPrice:=Trim(XSPrice.Text);if FXSPrice='' then FXSPrice:='0';
FHuiLv:=Trim(HuiLv.Text);if FHuiLv='' then FHuiLv:='0';
FHYFee:=Trim(HYFee.Text);if Trim(FHYFee)='' then FHYFee:='0';
FYongJin:=Trim(YongJin.Text);if Trim(FYongJin)='' then FYongJin:='0';
FSXFee:=Trim(SXFee.Text);if Trim(FSXFee)='' then FSXFee:='0';
if (Trim(PriceType.Text)='CIF') and (StrToFloat(FXSMoneyHJ)<>0) then
begin
if Trim(HYFeeUnit.Text)=Trim(BZType.Text) then
begin
FXSMoney:=FloatToStr(RoundFloat((StrToFloat(FXSMoneyHJ)-StrToFloat(FHYFee)),2));
end else
if (Trim(HYFeeUnit.Text)='<27><>') and ((Trim(BZType.Text)='<27><>') or (Trim(BZType.Text)='<27>')) and (StrToFloat(FHuiLv)<>0) then
begin
FXSMoney:=FloatToStr(RoundFloat((StrToFloat(FXSMoneyHJ)-(StrToFloat(FHYFee)*1.00/StrToFloat(FHuiLv))),2));
end else
if (Trim(HYFeeUnit.Text)='<27><>') and (Trim(BZType.Text)='<27><>') and (StrToFloat(FHuiLv)<>0) then
begin
FXSMoney:=FloatToStr(RoundFloat((StrToFloat(FXSMoneyHJ)-(StrToFloat(FHYFee)*1.00*StrToFloat(FHuiLv))),2));
end else
begin
FXSMoney:='0';
end;
end else
begin
FXSMoney:=FXSMoneyHJ;
end;
FXSMoney:=FloatToStr(RoundFloat(StrToFloat(FXSMoney)-StrToFloat(FYongJin)-StrToFloat(FSXFee),2));
// FXSMoney:=FXSMoneyHJ;
if Trim(BZType.Text)='<27><>' then FXSMoneyRMB:=FXSMoney else
if ((Trim(BZType.Text)='<27><>') or (Trim(BZType.Text)='<27>') ) and (StrToFloat(FHuiLv)<>0) then
begin
FXSMoneyRMB:=FloatToStr(RoundFloat(StrToFloat(FXSMoney)*StrToFloat(FHuiLv),2));
end else
begin
FXSMoneyRMB:='0';
end;
if StrToFloat(FXSMoney)<>0 then XSMoney.Text:=FXSMoney else XSMoney.Text:='';
if StrToFloat(FXSMoneyRMB)<>0 then XSMoneyRMB.Text:=FXSMoneyRMB else XSMoneyRMB.Text:='';
if StrToFloat(FXSMoneyRMB)<>0 then
begin
FLiRun:=FloatToStr(RoundFloat((StrToFloat(FXSMoneyRMB)+StrToFloat(FTuiShui)-StrToFloat(FShuiFee)-StrToFloat(FCPMoney)),2));
end else
begin
FLiRun:='0';
end;
if StrToFloat(FLiRun)<>0 then LiRun.Text:=FLiRun else LiRun.Text:='';
if (StrToFloat(FLiRun)<>0) and (StrToFloat(FXSMoneyRMB)<>0) then
begin
LiRunLv.Text:=FloatToStr(RoundFloat(StrToFloat(FLiRun)*100/StrToFloat(FXSMoneyRMB),2));
end else
begin
LiRunLv.Text:='';
end;
end;
procedure TfrmOrderHSInPutTS.Tv1DblClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if TBSave.Visible=False then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if Trim(CDS_Sub.fieldbyname('HOID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Order_HS_OrderNo where HOID='''+Trim(CDS_Sub.fieldbyname('HOID').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Update_HSInfo_JD :HSID');
Parameters.ParamByName('HSID').Value:=Trim(CDS_Sub.fieldbyname('HSID').AsString);
ExecSQL;
end;
end;
CDS_Sub.Delete;
GetData();
if Trim(FCYID)<>'' then
begin
SaveData();
end;
end;
procedure TfrmOrderHSInPutTS.PBQtyChange(Sender: TObject);
begin
GetData();
end;
procedure TfrmOrderHSInPutTS.Tv1Column3PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FName:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Sub do
begin
Edit;
if Trim(mvalue)<>'' then
begin
FieldByName(FName).Value:=mvalue;
end else
begin
FieldByName(FName).Value:=Null;
end;
Post;
end;
GetData();
end;
procedure TfrmOrderHSInPutTS.FKTypeBtnUpClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='FKTypeOrd';
flagname:='<27><><EFBFBD>ʽ';
if ShowModal=1 then
begin
Self.FKType.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderHSInPutTS.FKTypeBtnDnClick(Sender: TObject);
begin
FKType.Text:='';
end;
procedure TfrmOrderHSInPutTS.cxButton1Click(Sender: TObject);
var
FName:string;
begin
if Trim(FCYID)='' then
begin
Application.MessageBox(<>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>~','<27><>ʾ',0);
Exit;
end;
try
frmFjList:=TfrmFjList.Create(Application);
with frmFjList do
begin
fkeyNO:=Trim(FCYID);
fType:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmFjList.Free;
end;
InitFJData();
end;
procedure TfrmOrderHSInPutTS.InitFJData();
var
ListItem: TListItem;
Flag: Cardinal;
info: SHFILEINFOA;
Icon: TIcon;
begin
ListView1.Items.Clear;
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select fileName from FJ_File ');
sql.Add('where WBID='+quotedstr(trim(FCYID)));
sql.Add('and TFType='+quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
open;
if not IsEmpty then
begin
while not eof do
begin
with ListView1 do
begin
LargeImages := ImageList1;
Icon := TIcon.Create;
ListItem := Items.Add;
Listitem.Caption := trim(fieldbyname('fileName').AsString);
Flag := (SHGFI_LARGEICON or SHGFI_ICON or SHGFI_USEFILEATTRIBUTES);
SHGetFileInfo(Pchar(trim(fieldbyname('fileName').AsString)), 0, info, Sizeof(info), Flag);
Icon.Handle := info.hIcon;
ImageList1.AddIcon(Icon);
ListItem.ImageIndex := ImageList1.Count - 1;
end;
next;
end;
end;
end;
end;
procedure TfrmOrderHSInPutTS.ListView1DblClick(Sender: TObject);
var
sFieldName:string;
fileName:string;
begin
if ListView1.Items.Count<1 THEN EXIT;
if listView1.SelCount<1 then exit;
sFieldName:=leftbstr(ExtractFilePath(Application.ExeName),1)+':\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName),nil);
fileName:=ListView1.Selected.Caption;
sFieldName:=sFieldName+'\'+trim(fileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
Panel2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>Ե<EFBFBD>...';
Panel2.Visible:=true;
application.ProcessMessages;
try
IdFTP1.Get('FJ\'+ Trim(fileName), sFieldName,true, false);
except
Panel2.Visible:=false;
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Panel2.Visible:=false;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
Panel2.Visible:=false;
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL);
end;
procedure TfrmOrderHSInPutTS.Tv1Column6PropertiesEditValueChanged(
Sender: TObject);
var
FXSMoney,FXSQty,mvalue,FName:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(CDS_Sub.fieldbyname('XSQty').AsString)<>'' then
begin
FXSQty:=Trim(CDS_Sub.fieldbyname('XSQty').AsString);
end else
begin
FXSQty:='0';
end;
with CDS_Sub do
begin
Edit;
if Trim(mvalue)<>'' then
begin
FieldByName(FName).Value:=mvalue;
FXSMoney:=mvalue;
if Trim(FXSQty)<>'0' then
begin
FieldByName('XSPrice').Value:=RoundFloat(StrToFloat(FXSMoney)/StrToFloat(FXSQty),2);
end else
begin
FieldByName('XSPrice').Value:=null;
end;
end else
begin
FieldByName(FName).Value:=Null;
FXSMoney:='0';
FieldByName('XSPrice').Value:=null;
end;
Post;
end;
GetData();
end;
procedure TfrmOrderHSInPutTS.Tv1Column7PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FName:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Sub do
begin
Edit;
if Trim(mvalue)<>'' then
begin
FieldByName(FName).Value:=mvalue;
end else
begin
FieldByName(FName).Value:=Null;
end;
Post;
end;
if Trim(mvalue)<>'' then
begin
BZType.Text:=mvalue;
end;
GetData();
end;
procedure TfrmOrderHSInPutTS.Tv1Column10PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FName:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Sub do
begin
Edit;
if Trim(mvalue)<>'' then
begin
FieldByName(FName).Value:=mvalue;
end else
begin
FieldByName(FName).Value:=Null;
end;
Post;
end;
if Trim(mvalue)<>'' then
begin
XSUnit.Text:=mvalue;
end;
end;
procedure TfrmOrderHSInPutTS.TuiShuiFlagClick(Sender: TObject);
begin
GetData();
end;
end.