544 lines
15 KiB
ObjectPascal
544 lines
15 KiB
ObjectPascal
unit U_OrderAttachment;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics,
|
||
cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit,
|
||
cxTextEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid,
|
||
ComCtrls, ToolWin, DBClient, ADODB, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu;
|
||
|
||
type
|
||
TfrmOrderAttachment = class(TForm)
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Customnoname: TEdit;
|
||
Label2: TLabel;
|
||
SCXName: TEdit;
|
||
Label3: TLabel;
|
||
OrderCode: TEdit;
|
||
Label4: TLabel;
|
||
OrderNo: TEdit;
|
||
Label5: TLabel;
|
||
Label11: TLabel;
|
||
ADefStr3: TEdit;
|
||
Label12: TLabel;
|
||
ADefStr4: TEdit;
|
||
Label13: TLabel;
|
||
Label14: TLabel;
|
||
ADefStr5: TEdit;
|
||
Label15: TLabel;
|
||
ADefStr6: TEdit;
|
||
Label16: TLabel;
|
||
ADefStr7: TEdit;
|
||
Label17: TLabel;
|
||
ADefStr8: TEdit;
|
||
Label18: TLabel;
|
||
ADefStr9: TEdit;
|
||
Label19: TLabel;
|
||
cxGrid5: TcxGrid;
|
||
TvSub: TcxGridDBTableView;
|
||
vSubColumn3: TcxGridDBColumn;
|
||
vSubColumn4: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
TvSubColumn1: TcxGridDBColumn;
|
||
cxGridLevel4: TcxGridLevel;
|
||
Label20: TLabel;
|
||
Label21: TLabel;
|
||
QFDate: TDateTimePicker;
|
||
QFPerson: TEdit;
|
||
ToolBar1: TToolBar;
|
||
TBSave: TToolButton;
|
||
TBClose: TToolButton;
|
||
vSubColumn1: TcxGridDBColumn;
|
||
DataSource1: TDataSource;
|
||
CDS_Sub: TClientDataSet;
|
||
ADOTemp: TADOQuery;
|
||
ADOCmd: TADOQuery;
|
||
ADOQuery1: TADOQuery;
|
||
vSubColumn5: TcxGridDBColumn;
|
||
vSubColumn6: TcxGridDBColumn;
|
||
vSubColumn7: TcxGridDBColumn;
|
||
BegRKDate: TDateTimePicker;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
vSubColumn8: TcxGridDBColumn;
|
||
vSubColumn9: TcxGridDBColumn;
|
||
Label6: TLabel;
|
||
ADefStr10: TRichEdit;
|
||
ADOQuery2: TADOQuery;
|
||
Label7: TLabel;
|
||
Label8: TLabel;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
Label22: TLabel;
|
||
Label24: TLabel;
|
||
procedure ADefStr3DblClick(Sender: TObject);
|
||
procedure ADefStr4DblClick(Sender: TObject);
|
||
procedure ADefStr5DblClick(Sender: TObject);
|
||
procedure ADefStr6DblClick(Sender: TObject);
|
||
procedure ADefStr9DblClick(Sender: TObject);
|
||
procedure ADefStr7DblClick(Sender: TObject);
|
||
procedure ADefStr8DblClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBSaveClick(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure Label8Click(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
procedure SaveJiangYe();
|
||
public
|
||
|
||
{ Public declarations }
|
||
FAMainId:string;
|
||
end;
|
||
|
||
var
|
||
frmOrderAttachment: TfrmOrderAttachment;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList,U_ZDYHelpSel;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmOrderAttachment.ADefStr3DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application);
|
||
with frmZDYHelpSel do
|
||
begin
|
||
flag:='CPBZ';
|
||
flagname:='<27><>װ';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr3.Text:=Self.ADefStr3.Text+Trim(ReturnStr);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelpSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr4DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application);
|
||
with frmZDYHelpSel do
|
||
begin
|
||
flag:='CPMT';
|
||
flagname:='<27><>ͷ';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr4.Text:=Self.ADefStr4.Text+Trim(ReturnStr);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelpSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr5DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application);
|
||
with frmZDYHelpSel do
|
||
begin
|
||
flag:='CPBM';
|
||
flagname:='<27><><EFBFBD><EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr5.Text:=Self.ADefStr5.Text+Trim(ReturnStr);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelpSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr6DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelp:=TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag:='CPFeel';
|
||
flagname:='<27>ָ<EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr6.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr9DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application);
|
||
with frmZDYHelpSel do
|
||
begin
|
||
flag:='CPFX';
|
||
flagname:='<27><><EFBFBD><EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr9.Text:=Self.ADefStr9.Text+Trim(ReturnStr);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelpSel.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr7DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelp:=TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag:='CPXS';
|
||
flagname:='<27><>ˮ';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr7.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.ADefStr8DblClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelp:=TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag:='CPSLD';
|
||
flagname:='ɫ<>ζ<EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.ADefStr8.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid('<27>IJ<DEB7><C4B2>ƻ<EFBFBD><C6BB><EFBFBD>1',TvSub,'ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' exec P_WFBOrder_ListAtt :begdate,:endate,:MainId');
|
||
ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FAMainId);
|
||
ADOQuery1.Parameters.ParamByName('begdate').Value:='';
|
||
ADOQuery1.Parameters.ParamByName('endate').Value:='';
|
||
Open;
|
||
end;
|
||
// SCreateCDS20(ADOQuery1,Order_Sub);
|
||
//SInitCDSData20(ADOQuery1,Order_Sub);
|
||
|
||
SCSHDataWTag(ADOQuery1,Panel1);
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+'''');
|
||
Open;
|
||
end;
|
||
if ADOQuery1.IsEmpty then
|
||
begin
|
||
Label7.Caption:='δ<><CEB4><EFBFBD><EFBFBD>';
|
||
Label7.Font.Color:=clRed;
|
||
with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select Top 1* from WFBOrder_Main_Attachment ');
|
||
Open;
|
||
end;
|
||
if ADOQuery1.IsEmpty=False then
|
||
begin
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select Top 1* from WFBOrder_Main_Attachment order by FillTime desc ');
|
||
Open;
|
||
end;
|
||
with ADOQuery1 do
|
||
begin
|
||
ADefStr3.Text:=Trim(fieldbyname('ADefStr3').AsString);
|
||
ADefStr4.Text:=Trim(fieldbyname('ADefStr4').AsString);
|
||
ADefStr5.Text:=Trim(fieldbyname('ADefStr5').AsString);
|
||
ADefStr6.Text:=Trim(fieldbyname('ADefStr6').AsString);
|
||
ADefStr7.Text:=Trim(fieldbyname('ADefStr7').AsString);
|
||
ADefStr8.Text:=Trim(fieldbyname('ADefStr8').AsString);
|
||
ADefStr9.Text:=Trim(fieldbyname('ADefStr9').AsString);
|
||
|
||
end;
|
||
end;
|
||
end else
|
||
begin
|
||
Label7.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
Label7.Font.Color:=clBlue;
|
||
if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clBlue' then
|
||
begin
|
||
ADefStr10.Font.Color:=clBlue;
|
||
end else
|
||
if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clRed' then
|
||
begin
|
||
ADefStr10.Font.Color:=clRed;
|
||
end else
|
||
if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clOlive' then
|
||
begin
|
||
ADefStr10.Font.Color:=clOlive;
|
||
end else
|
||
if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clFuchsia' then
|
||
begin
|
||
ADefStr10.Font.Color:=clFuchsia;
|
||
end else
|
||
begin
|
||
ADefStr10.Font.Color:=clBlack;
|
||
end;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+'''');
|
||
Open;
|
||
end;
|
||
if ADOCmd.IsEmpty then
|
||
begin
|
||
QFPerson.Text:=Trim(DName);
|
||
QFDate.DateTime:=SGetServerDate(ADOQuery1);
|
||
end;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select A.*,Case when OrdUnit=''<27>K'' then A.SOrdQty');
|
||
SQL.Add(' else A.SOrdQty*A.SWFBKZ*1.00/1000 end as OrdQty,');
|
||
sql.Add(' Case when B.OrderType=''<27><>Ʒ'' then A.SWFBFK2 else A.SWFBFK end as FSWFBFK, ');
|
||
sql.add('YLPBStr=dbo.F_Get_WFBOrder_SubStr(A.SubId,''YLPB'')');
|
||
SQL.Add('from WFBOrder_Sub A');
|
||
SQL.Add('inner join WFBOrder_Main B on A.MainId=B.MainId');
|
||
sql.Add(' where A.MainId='''+Trim(FAMainId)+'''');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQuery1,CDS_Sub);
|
||
SInitCDSData20(ADOQuery1,CDS_Sub);
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.TBSaveClick(Sender: TObject);
|
||
var
|
||
maxnno:String;
|
||
begin
|
||
try
|
||
ADOCmd.Connection.BeginTrans;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+'''');
|
||
Open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
if ADOCmd.IsEmpty then
|
||
begin
|
||
Append;
|
||
FieldByName('Filler').Value:=Trim(DName);
|
||
end else
|
||
begin
|
||
Edit;
|
||
FieldByName('Editer').Value:=Trim(DName);
|
||
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQuery1);
|
||
end;
|
||
FieldByName('MainId').value:=Trim(FAMainId);
|
||
FieldByName('ADefStr11').Value:=Trim(ADefStr10.Hint);
|
||
SSetsavedata(ADOCmd,'WFBOrder_Main_Attachment',Panel1,9);
|
||
Post;
|
||
end;
|
||
with CDS_Sub do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBOrder_Sub where SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+'''');
|
||
Open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Edit;
|
||
if Trim(CDS_Sub.fieldbyname('SOrderMQty').AsString)<>'' then
|
||
FieldByName('SOrderMQty').Value:=CDS_Sub.fieldbyname('SOrderMQty').AsString;
|
||
FieldByName('SNote').Value:=CDS_Sub.fieldbyname('SNote').AsString;
|
||
Post;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
ADOCmd.Connection.CommitTrans;
|
||
SaveJiangYe();
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
|
||
Label7.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
Label7.Font.Color:=clBlue;
|
||
except
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3>','<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
procedure TfrmOrderAttachment.SaveJiangYe();
|
||
var
|
||
maxno,maxnosub:string;
|
||
begin
|
||
try
|
||
ADOCmd.Connection.BeginTrans;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select A.MainId,A.SWFBColor from WFBOrder_Sub A inner join WFBOrder_Main_Attachment B');
|
||
sql.Add(' on A.MainId=B.MainId where A.MainId='''+Trim(FAMainId)+'''');
|
||
sql.Add(' group by A.MainId,A.SWFBColor');
|
||
Open;
|
||
end;
|
||
with ADOQuery1 do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
with ADOTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBYCL_MainIdColor_JiangYe where MainId='''+Trim(FAMainId)+'''');
|
||
sql.Add(' and SWFBColor='''+Trim(ADOQuery1.fieldbyname('SWFBColor').AsString)+'''');
|
||
Open;
|
||
end;
|
||
if ADOTemp.IsEmpty then
|
||
begin
|
||
if GetLSNo(ADOCmd,maxno,'MC','WFBYCL_MainIdColor_JiangYe',2,1)=False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBYCL_MainIdColor_JiangYe where 1<>1');
|
||
Open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Append;
|
||
FieldByName('MCID').Value:=Trim(maxno);
|
||
FieldByName('MainId').Value:=Trim(FAMainId);
|
||
FieldByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString);
|
||
Post;
|
||
end;
|
||
end else
|
||
begin
|
||
maxno:=Trim(ADOTemp.fieldbyname('MCID').AsString);
|
||
end;
|
||
with ADOQuery2 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_JiangLiaoListMainIdColor :MainId,:SWFBColor,:WSQl');
|
||
Parameters.ParamByName('MainId').Value:=Trim(FAMainId);
|
||
Parameters.ParamByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString);
|
||
Parameters.ParamByName('WSQl').Value:='';
|
||
Open;
|
||
end;
|
||
with ADOQuery2 do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
with ADOTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBYCL_JiangYe where MainId='''+Trim(FAMainId)+'''');
|
||
sql.Add(' and SWFBColor='''+Trim(ADOQuery1.fieldbyname('SWFBColor').AsString)+'''');
|
||
sql.Add(' and YCLCode='''+Trim(ADOQuery2.fieldbyname('YCLCode').AsString)+'''');
|
||
Open;
|
||
end;
|
||
if Trim(ADOTemp.fieldbyname('YJID').AsString)='' then
|
||
begin
|
||
if GetLSNo(ADOCmd,maxnosub,'YJ','WFBYCL_JiangYe',3,1)=False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
end else
|
||
begin
|
||
maxnosub:=Trim(ADOTemp.fieldbyname('YJID').AsString);
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from WFBYCL_JiangYe where YJID='''+Trim(maxnosub)+'''');
|
||
open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
if Trim(ADOTemp.fieldbyname('YJID').AsString)='' then
|
||
Append
|
||
else
|
||
Edit;
|
||
FieldByName('MCID').Value:=Trim(maxno);
|
||
FieldByName('YJID').Value:=Trim(maxnosub);
|
||
FieldByName('MainId').Value:=Trim(FAMainId);
|
||
FieldByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString);
|
||
FieldByName('YCLCode').Value:=Trim(ADOQuery2.fieldbyname('YCLCode').AsString);
|
||
FieldByName('YCLName').Value:=Trim(ADOQuery2.fieldbyname('YCLName').AsString);
|
||
FieldByName('YGQty').Value:=Trim(ADOQuery2.fieldbyname('YGQty').AsString);
|
||
Post;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
ADOCmd.Connection.CommitTrans;
|
||
except
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
|
||
end;
|
||
end;
|
||
procedure TfrmOrderAttachment.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('<27>IJ<DEB7><C4B2>ƻ<EFBFBD><C6BB><EFBFBD>1',TvSub,'ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmOrderAttachment.Label8Click(Sender: TObject);
|
||
begin
|
||
ADefStr10.Font.Color:=TLabel(Sender).Color;
|
||
ADefStr10.Hint:=TLabel(Sender).Hint;
|
||
end;
|
||
|
||
end.
|