D7myYunxiang/合同管理(Contract.dll)/U_MLOrderInPut.pas

861 lines
24 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
unit U_MLOrderInPut;
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;
type
TfrmMLOrderInPut = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
Label1: TLabel;
MLOrderNo: TEdit;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
v1MLColor: TcxGridDBColumn;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
ADOQuery1: TADOQuery;
v1Qty: TcxGridDBColumn;
Label10: TLabel;
v1XHNo: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1MLColorNo: TcxGridDBColumn;
ToolButton3: TToolButton;
Label3: TLabel;
Label14: TLabel;
Label12: TLabel;
Label13: TLabel;
OrdDate: TDateTimePicker;
KHName: TBtnEditC;
JGLXR: TBtnEditC;
JGLXFS: TBtnEditC;
Label2: TLabel;
JGDanWei: TBtnEditC;
Label6: TLabel;
JGAdd: TBtnEditC;
Label41: TLabel;
GenDan: TBtnEditC;
Label43: TLabel;
YWY: TBtnEditC;
v1MXNote: TcxGridDBColumn;
SGYang: TMemo;
Label23: TLabel;
CDS_CON: TClientDataSet;
DSCON: TDataSource;
JGtype: TBtnEditC;
Label53: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
MLConNo: TBtnEditC;
v1MLCode: TcxGridDBColumn;
v1MLCodeName: TcxGridDBColumn;
ADOQueryCmd: TADOQuery;
CYID: TEdit;
ADOQueryTmp: TADOQuery;
ADOQuery2: TADOQuery;
v1TrueSe: TcxGridDBColumn;
Label61: TLabel;
SHName: TEdit;
Label25: TLabel;
SHAdd: TBtnEditC;
Label59: TLabel;
SHLXFS: TEdit;
Label60: TLabel;
GenDanLXR: TBtnEditC;
Label19: TLabel;
GYNote: TBtnEditC;
Label42: TLabel;
BZNote: TBtnEditC;
Label58: TLabel;
ZLNote: TBtnEditC;
Label62: TLabel;
QtyNote: TBtnEditC;
Label63: TLabel;
QTnote: TBtnEditC;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1PRTColorPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure KHNameBtnUpClick(Sender: TObject);
procedure KHNameBtnDnClick(Sender: TObject);
procedure v1OrderUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1PriceUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure OrdDefStr2BtnUpClick(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton3Click(Sender: TObject);
procedure YCLFactoryBtnUpClick(Sender: TObject);
procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject);
procedure v1Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure MLConNoBtnUpClick(Sender: TObject);
procedure CYIDKeyPress(Sender: TObject; var Key: Char);
procedure v1PRTCodePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
procedure InitData();
function SaveData():Boolean;
function getOrderNo(fconNo:string):string;
procedure CFSaveData();
{ Private declarations }
public
PState,CopyInt,PriceFlag:Integer;
FMainId,FFMainId,FOrderNo:String;
FXS:Integer;
canshu1,canshu2:string;
fFlileFlag:string;
{ Public declarations }
end;
var
frmMLOrderInPut: TfrmMLOrderInPut;
newh:hwnd;
implementation
uses
U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS,
U_CPManageSel, getpic, U_ZdyAttachCP_HX_sel,U_ContractList_CX;
{$R *.dfm}
procedure TfrmMLOrderInPut.CFSaveData();
var
fCFID:string;
begin
with ADOQuery2 do
begin
Close;
SQL.Clear;
sql.Add('select * from JYOrder_Sub_CF where subID='''+Trim(Order_Sub.fieldbyname('subID').asstring)+'''');
open;
end;
if ADOQuery2.IsEmpty then
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select A.CengJI,A.MLName,A.MLSeHao,A.MLID ');
sql.Add(',HXNo=(select Top 1 B.HXNo from CP_YDang_JG B where B.CengJi=A.CengJi and B.CYID=A.CYID and B.IFZY=1)');
sql.Add(',GYDM=(select Top 1 B.GYDM from CP_YDang_JG B where B.CengJi=A.CengJi and B.CYID=A.CYID and B.IFZY=1)');
sql.Add(' from CP_YDang_ML A ');
SQL.Add('where A.CYID='''+trim(Order_Sub.fieldbyname('PRTCode').AsString)+'''');
sql.Add(' and A.IFSel=1 ');
sql.Add(' order by A.Cengji,A.MLID');
open;
end;
while not ADOQuery1.Eof do
begin
IF GetLSNo(ADOQueryCmd,fCFID,'JC','JYOrder_Sub_CF',4,1)=False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from JYOrder_Sub_CF where CFID='''+Trim(fCFID)+'''');
Open;
IF IsEmpty then Append
else edit;
fieldbyname('CFID').Value:=trim(fCFID);
fieldbyname('PRTCode').Value:=trim(Order_Sub.fieldbyname('PRTCode').AsString);
fieldbyname('PrtCodeName').Value:=trim(ADOQuery1.fieldbyname('MLName').AsString);
fieldbyname('PrtSpec').Value:=trim(Order_Sub.fieldbyname('PrtSpec').AsString);
fieldbyname('SOrddefstr1').Value:=trim(ADOQuery1.fieldbyname('MLSeHao').AsString);
fieldbyname('PRTColor').Value:=trim(ADOQuery1.fieldbyname('MLColor').AsString);
fieldbyname('PRTHX').Value:=trim(ADOQuery1.fieldbyname('HXName').AsString);
fieldbyname('PRTOrderRollNum').Value:=Order_Sub.fieldbyname('PRTOrderRollNum').AsFloat;
fieldbyname('PrtOrderQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').AsFloat;
fieldbyname('OrderUnit').Value:=trim(Order_Sub.fieldbyname('OrderUnit').AsString);
FieldByName('PRTType').Value:=trim(ADOQuery1.fieldbyname('CengJi').AsString)+'<27><>';
fieldbyname('MainID').Value:=trim(Order_Sub.fieldbyname('MainID').AsString);
fieldbyname('SubID').Value:=trim(Order_Sub.fieldbyname('SubID').AsString);
post;
end;
ADOQuery1.Next;
end;
end
else
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('update JYOrder_Sub_CF set ');
sql.Add('PRTCode='''+trim(Order_Sub.fieldbyname('PRTCode').AsString)+'''');
sql.Add(',PrtSpec='''+trim(Order_Sub.fieldbyname('PrtSpec').AsString)+'''');
{if Order_Sub.fieldbyname('PRTOrderRollNum').AsFloat=0 then
sql.Add(',PRTOrderRollNum=0')
else
sql.Add(',PRTOrderRollNum='''+trim(Order_Sub.fieldbyname('PRTOrderRollNum').AsString)+'''');
if Order_Sub.fieldbyname('PrtOrderQty').AsFloat=0 then
sql.Add(',PrtOrderQty=0')
else
sql.Add(',PrtOrderQty='''+trim(Order_Sub.fieldbyname('PrtOrderQty').AsString)+'''');}
sql.Add(',OrderUnit='''+trim(Order_Sub.fieldbyname('OrderUnit').AsString)+'''');
sql.Add(' where Subid='''+trim(Order_Sub.fieldbyname('Subid').AsString)+'''');
ExecSQL;
end;
end;
end;
function TfrmMLOrderInPut.getOrderNo(fconNo:string):string;
var
str1:string;
i:integer;
begin
str1:=trim(fconNo)+'01';
with ADOTemp do
begin
close;
sql.Clear;
sql.Add('select MainID from JYOrder_Main where orderNo='+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 MainID from JYOrder_Main where orderNo='+quotedstr(trim(str1)));
open;
end;
IF ADOCmd.IsEmpty then break;
end;
end;
result:=str1;
end;
procedure TfrmMLOrderInPut.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD>Ⱦɫ<C8BE>ƻ<EFBFBD><C6BB><EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmMLOrderInPut.InitData();
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' select * from ML_OrderSubid where 1=1 ');
if PState=1 then
begin
sql.Add(' and MLID='''+Trim(FMainId)+'''');
end;
if PState=0 then
begin
sql.Add(' and 1<>1');
end;
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from ML_OrderMain where MLID='''+Trim(FMainId)+'''');
Open;
end;
SCSHDataNew(ADOQuery1,ScrollBox1,2);
if PState=0 then
begin
OrdDate.DateTime:=SGetServerDateTime(ADOTemp);
YWY.Text:=Trim(DName);
end
else
begin
end;
if CopyInt=99 then
begin
PState:=0;
FMainId:='';
OrdDate.DateTime:=SGetServerDateTime(ADOTemp);
YWY.Text:=Trim(DName);
with Order_Sub do
begin
First;
while not Eof do
begin
Edit;
FieldByName('MLID').Value:='';
FieldByName('MLSubid').Value:='';
Post;
Next;
end;
end;
end;
end;
procedure TfrmMLOrderInPut.FormShow(Sender: TObject);
begin
readCxGrid('<27><><EFBFBD><EFBFBD>Ⱦɫ<C8BE>ƻ<EFBFBD><C6BB><EFBFBD>',Tv1,'<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
MLOrderNo.Text:='<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
InitData();
end;
function TfrmMLOrderInPut.SaveData():Boolean;
var
maxno,forderNo:String;
begin
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(FMainId)='' then
begin
if GetLSNo(ADOCmd,maxno,'ML','ML_OrderMain',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
if GetLSNo(ADOCmd,forderNo,'','ML_OrderMain',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
MLorderNo.Text:=forderNo;
end
else
begin
maxno:=Trim(FMainId);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from ML_OrderMain where MLID='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('MLID').Value:=Trim(maxno);
SSetsaveSqlNew(ADOCmd,'ML_OrderMain',ScrollBox1,2);
FieldByName('Status').Value:='0';
if Trim(FMainId)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
Post;
end;
FMainId:=Trim(maxno);
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('MLSubid').AsString)='' then
begin
if GetLSNo(ADOCmd,maxno,'MS','ML_OrderSubid',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_Sub.fieldbyname('MLSubid').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from ML_OrderSubid where MLID='''+Trim(FMainId)+'''');
sql.Add(' and MLSubid='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('MLSubid').AsString)='' then
Append
else
Edit;
FieldByName('MLID').Value:=Trim(FMainId);
FieldByName('MLSubid').Value:=Trim(maxno);
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'ML_OrderSubid',0);
fieldbyname('Qty').Value:=Order_Sub.FieldByName('Qty').AsFloat;
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('MLSubid').Value:=Trim(maxno);
Order_Sub.FieldByName('MLID').Value:=Trim(FMainId);
Next;
end;
end;
ADOCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmMLOrderInPut.TBSaveClick(Sender: TObject);
begin
OrdDate.SetFocus;
if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
{if Order_Sub.Locate('SOrddefstr7',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmMLOrderInPut.v1PRTColorPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='OrdColor';
flagname:='<27><>ɫ';
V1Name.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
V1Note.Caption:=<><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fnote:=True;
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('MLColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.Order_Sub.FieldByName('MLColorNo').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMLOrderInPut.ToolButton1Click(Sender: TObject);
var
i:Integer;
begin
i:=Order_Sub.RecordCount;
CopyAddRow(Tv1,Order_Sub);
with Order_Sub do
begin
Edit;
FieldByName('XHNO').Value:=IntToStr(i+1);
Post;
end;
end;
procedure TfrmMLOrderInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('MLSubid').AsString)<>'' then
begin
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 ML_OrderSubid where MLSubid='''+Trim(Order_Sub.fieldbyname('MLSubid').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmMLOrderInPut.KHNameBtnUpClick(Sender: TObject);
begin
try
frmZdyAttachment:=TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
IF self.canshu1<>'<27><>Ȩ<EFBFBD><C8A8>' then canshu1:=<><D2B5>Ա';
if ShowModal=1 then
begin
KHName.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
procedure TfrmMLOrderInPut.KHNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text:='';
TBtnEditC(Sender).TxtCode:='';
end;
procedure TfrmMLOrderInPut.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:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ';
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName(mvalues).Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMLOrderInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PriceUnit';
flagname:='<27>۸<EFBFBD><DBB8><EFBFBD>λ';
if Trim(DParameters1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
begin
TBAdd.Visible:=False;
TBEdit.Visible:=False;
TBDel.Visible:=False;
end;
if ShowModal=1 then
begin
Self.Order_Sub.Edit;
Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMLOrderInPut.OrdDefStr2BtnUpClick(Sender: TObject);
var
fsj:string;
FWZ:Integer;
begin
fsj:=Trim(TEdit(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
TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMLOrderInPut.ConNoKeyPress(Sender: TObject; var Key: Char);
var
ConMainId:string;
begin
if Key=#13 then
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrderCon_Main where ConNo like '''+'%'+Trim(MLConNo.Text)+'%'+'''');
Open;
end;
if ADOTemp.RecordCount>1 then
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 1* from JYOrderCon_Main where ConNo='''+Trim(MLConNo.Text)+'''');
Open;
end;
if ADOTemp.IsEmpty then Exit;
end else
if ADOTemp.RecordCount=1 then
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrderCon_Main where ConNo like '''+'%'+Trim(MLConNo.Text)+'%'+'''');
Open;
end;
end;
begin
MLConNo.Text:=Trim(ADOTemp.fieldbyname('ConNo').AsString);
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select A.*,ColorName=(select ZdyName from KH_Zdy B where B.Note=A.PRTColor and B.Type=''OrdColor'' ) ');
SQL.Add(' from JYOrderCon_Sub A where MainId='''+Trim(ConMainId)+'''');
Open;
end;
with ADOTemp do
begin
First;
while not Eof do
begin
with Order_Sub do
begin
Append;
FieldByName('PRTColor').Value:=Trim(ADOTemp.fieldbyname('PRTColor').AsString);
FieldByName('SOrdDefStr4').Value:=Trim(ADOTemp.fieldbyname('SOrdDefStr4').AsString);
FieldByName('SOrdDefStr3').Value:=Trim(ADOTemp.fieldbyname('SOrdDefStr3').AsString);
FieldByName('PRTOrderQty').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString);
FieldByName('OrderUnit').Value:=Trim(ADOTemp.fieldbyname('OrderUnit').AsString);
FieldByName('PRTPrice').Value:=Trim(ADOTemp.fieldbyname('PRTPrice').AsString);
FieldByName('PriceUnit').Value:=Trim(ADOTemp.fieldbyname('PriceUnit').AsString);
FieldByName('PRTHX').Value:=Trim(ADOTemp.fieldbyname('PRTHX').AsString);
FieldByName('XHNO').Value:=Trim(ADOTemp.fieldbyname('XHNO').AsString);
FieldByName('Sorddefstr10').Value:=Trim(ADOTemp.fieldbyname('SUBID').AsString);
Post;
end;
Next;
end;
end;
end;
end;
end;
procedure TfrmMLOrderInPut.ToolButton3Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
OneKeyPost(Tv1,Order_Sub);
end;
procedure TfrmMLOrderInPut.YCLFactoryBtnUpClick(Sender: TObject);
var
fsj:string;
FWZ:Integer;
begin
fsj:=Trim(TEdit(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);
//MainType:=TEdit(Sender).Name;
if ShowModal=1 then
begin
TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmMLOrderInPut.MPRTSCTeBieNoteBtnUpClick(Sender: TObject);
var
fsj:string;
FWZ:Integer;
begin
fsj:=Trim(TEdit(Sender).Hint);
FWZ:=Pos('/',fsj);
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
TEdit(Sender).Text:=ReturnStr;
end;
end;
finally
frmZDYHelpSel.Free;
end;
end;
procedure TfrmMLOrderInPut.v1Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
frmZdyAttachCP_HX_Sel:=TfrmZdyAttachCP_HX_Sel.create(self);
with frmZdyAttachCP_HX_Sel do
begin
IF showmodal=1 then
begin
Order_Sub.Edit;
Order_Sub.FieldByName('PRTHX').Value:=trim(cds_Hz.FieldByName('ZdyName').asstring);
Order_Sub.Post;
end;
frmZdyAttachCP_HX_Sel.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmMLOrderInPut.MLConNoBtnUpClick(Sender: TObject);
begin
frmContractList_CX:=TfrmContractList_CX.create(self);
with frmContractList_CX do
begin
if showmodal=1 then
begin
self.mlconNo.Text:=Order_Main.fieldbyname('conNO').AsString;
with Order_SubCX do
begin
First;
while not Eof do
begin
if FieldByName('Ssel').AsBoolean=true then
begin
with Order_Sub do
begin
Append;
FieldByName('MLCode').Value:=Trim(Order_SubCX.fieldbyname('prtCode').AsString);
FieldByName('MLCodeName').Value:=Trim(Order_SubCX.fieldbyname('prtCodeName').AsString);
FieldByName('MLColor').Value:=Trim(Order_SubCX.fieldbyname('PRTColor').AsString);
FieldByName('MLColornO').Value:=Trim(Order_SubCX.fieldbyname('SOrdDefStr1').AsString);
FieldByName('Qty').Value:=Order_SubCX.fieldbyname('PRTOrderQty').AsFloat;
FieldByName('QtyUnit').Value:=Trim(Order_SubCX.fieldbyname('OrderUnit').AsString);
Post;
end;
end;
Next;
end;
end;
end;
Free;
end;
end;
procedure TfrmMLOrderInPut.CYIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select B.* ');
sql.Add('from CP_YDang B where B.CYID='''+trim(CYID.Text)+''' ');
open;
end;
IF not ADOQueryTmp.IsEmpty then
begin
Order_Sub.append;
Order_Sub.FieldByName('MLCode').Value:=trim(ADOQueryTmp.fieldbyname('CYNo').AsString);
Order_Sub.FieldByName('XTNo').Value:=trim(ADOQueryTmp.fieldbyname('XTNo').AsString);
Order_Sub.FieldByName('MLCodeName').Value:=trim(ADOQueryTmp.fieldbyname('CYEName').AsString);
Order_Sub.FieldByName('CYID').Value:=trim(ADOQueryTmp.fieldbyname('CYID').AsString);
Order_Sub.FieldByName('MLColor').Value:=trim(ADOQueryTmp.fieldbyname('ColorName').AsString);
Order_Sub.FieldByName('MLColorNO').Value:=trim(ADOQueryTmp.fieldbyname('ColorNO').AsString);
Order_Sub.Post;
CYID.Text:='';
end
else
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select A.*,B.ColorNo,B.ColorName,B.ColorEName');
sql.Add(',PRTHX=(select Top 1 C.HXName from CP_YDang_JG C where C.CYID=B.CYID and C.IFZY=1 and isnull(C.HXName,'''')<>''''');
SQL.Add(' order by (case when C.cengji=6 then 1 else 2 end))');
SQL.Add(' from CP_YDang_Color B inner join CP_YDang A on A.CYID=B.CYID');
sql.Add(' where B.CLRID='''+trim(CYID.Text)+''' ');
open;
end;
IF not ADOQueryCmd.IsEmpty then
begin
Order_Sub.append;
Order_Sub.FieldByName('MLCode').Value:=trim(ADOQueryTmp.fieldbyname('CYNo').AsString);
Order_Sub.FieldByName('XTNo').Value:=trim(ADOQueryTmp.fieldbyname('XTNo').AsString);
Order_Sub.FieldByName('MLCodeName').Value:=trim(ADOQueryTmp.fieldbyname('CYEName').AsString);
Order_Sub.FieldByName('CYID').Value:=trim(ADOQueryTmp.fieldbyname('CYID').AsString);
Order_Sub.FieldByName('MLColor').Value:=trim(ADOQueryTmp.fieldbyname('ColorName').AsString);
Order_Sub.FieldByName('MLColorNO').Value:=trim(ADOQueryTmp.fieldbyname('ColorNO').AsString);
Order_Sub.Post;
CYID.Text:='';
end
else
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
CYID.Text:='';
end;
end;
end;
procedure TfrmMLOrderInPut.v1PRTCodePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
frmCPManageSel:=TfrmCPManageSel.Create(self);
with frmCPManageSel do
begin
if showmodal=1 then
begin
Order_Sub.Edit;
Order_Sub.fieldbyname('MLCode').Value:=CDS_Main.fieldbyname('CYNo').asstring;
Order_Sub.fieldbyname('MLCodeName').Value:=CDS_Main.fieldbyname('CYEName').asstring;
Order_Sub.fieldbyname('MLColor').Value:=CDS_Main.fieldbyname('CYColor').asstring;
Order_Sub.fieldbyname('MLColorNo').Value:=CDS_Main.fieldbyname('CYColorNo').asstring;
Order_Sub.fieldbyname('CYID').Value:=CDS_Main.fieldbyname('CYID').asstring;
Order_Sub.Post;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.