You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
9.1 KiB
Plaintext

11 months ago
unit u_opor_ctn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, bsSkinCtrls, BusinessSkinForm, Grids, Wwdbigrd, Wwdbgrid,
StdCtrls, wwdblook, DB, ADODB, Mask, wwdbedit, Wwdotdot, Wwdbcomb;
type
Tfrm_opor_ctn = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
wwDBGrid1: TwwDBGrid;
wwDBLookupCombo1: TwwDBLookupCombo;
wwDBLookupCombo2: TwwDBLookupCombo;
t_op_ctn: TADOQuery;
t_op_ctn1: TDataSource;
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
bsSkinPanel1: TbsSkinPanel;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton4: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
bsSkinButton6: TbsSkinButton;
bsSkinButton5: TbsSkinButton;
bsSkinButton9: TbsSkinButton;
t_ch_client: TADOQuery;
t_ch_client1: TDataSource;
procedure t_op_ctnAfterInsert(DataSet: TDataSet);
procedure t_op_ctnBeforePost(DataSet: TDataSet);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton4Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure bsSkinButton5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure wwDBLookupCombo1Change(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure t_op_ctnAfterPost(DataSet: TDataSet);
procedure bsSkinButton9Click(Sender: TObject);
procedure bsSkinButton6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_opor_ctn: Tfrm_opor_ctn;
frm_opor_ctn_type:boolean;
opor_ctn_limited:string;
implementation
uses u_data_share, my_sys_function, u_main;
{$R *.dfm}
procedure Tfrm_opor_ctn.t_op_ctnAfterInsert(DataSet: TDataSet);
begin
t_op_ctn['OR_ID']:=t_op_ctn.DataSource.DataSet['OR_ID'];
t_op_ctn['<27><><EFBFBD><EFBFBD>']:=1;
end;
procedure Tfrm_opor_ctn.t_op_ctnBeforePost(DataSet: TDataSet);
begin
if frm_data_share.t_code_ctn.Locate('<27><><EFBFBD><EFBFBD>',t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring,[]) then
begin
t_op_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ']:=frm_data_share.t_code_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ'];
if frm_data_share.t_code_ctn.FieldByName('<27>ߴ<EFBFBD>').asstring='20'then
t_op_ctn['TEU']:=1*t_op_ctn.FieldByName('<27><><EFBFBD><EFBFBD>').asinteger;
if (frm_data_share.t_code_ctn.FieldByName('<27>ߴ<EFBFBD>').asstring='40')OR
(frm_data_share.t_code_ctn.FieldByName('<27>ߴ<EFBFBD>').asstring='45')then
t_op_ctn['TEU']:=2*t_op_ctn.FieldByName('<27><><EFBFBD><EFBFBD>').asinteger;
end
else
begin
t_op_ctn['<27><><EFBFBD><EFBFBD>']:='';
t_op_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ']:='';
t_op_ctn['<27><><EFBFBD><EFBFBD>']:='';
t_op_ctn['<27>ߴ<EFBFBD>']:='';
end;
table_before_post(t_op_ctn,'<27><><EFBFBD><EFBFBD>');
table_before_post(t_op_ctn,'<27><><EFBFBD><EFBFBD>');
end;
procedure Tfrm_opor_ctn.bsSkinButton1Click(Sender: TObject);
begin
t_op_ctn.insert;
end;
procedure Tfrm_opor_ctn.bsSkinButton2Click(Sender: TObject);
begin
table_post(t_op_ctn);
end;
procedure Tfrm_opor_ctn.bsSkinButton4Click(Sender: TObject);
begin
table_delete(t_op_ctn);
end;
procedure Tfrm_opor_ctn.bsSkinButton3Click(Sender: TObject);
begin
table_cancel(t_op_ctn);
end;
procedure Tfrm_opor_ctn.bsSkinButton5Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_opor_ctn.FormShow(Sender: TObject);
begin
t_op_ctn.open;
frm_data_share.t_code_ctn.requery;
frm_data_share.t_code_package.requery;
end;
procedure Tfrm_opor_ctn.wwDBLookupCombo1Change(Sender: TObject);
begin
if (t_op_ctn.State=dsedit)or(t_op_ctn.State=dsinsert) then
begin
if frm_data_share.t_code_ctn.Locate('<27><><EFBFBD><EFBFBD>',wwDBLookupCombo1.text,[]) then
begin
t_op_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ']:=frm_data_share.t_code_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ'];
t_op_ctn['<27><><EFBFBD><EFBFBD>']:=frm_data_share.t_code_ctn['<27><><EFBFBD><EFBFBD>'];
t_op_ctn['<27>ߴ<EFBFBD>']:=frm_data_share.t_code_ctn['<27>ߴ<EFBFBD>'];
end
else
begin
t_op_ctn['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ']:='';
t_op_ctn['<27><><EFBFBD><EFBFBD>']:='';
t_op_ctn['<27>ߴ<EFBFBD>']:='';
end;
end;
end;
procedure Tfrm_opor_ctn.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:=frm_close_query(t_op_ctn);
end;
procedure Tfrm_opor_ctn.t_op_ctnAfterPost(DataSet: TDataSet);
begin
update_ctn(t_op_ctn);
end;
procedure Tfrm_opor_ctn.bsSkinButton9Click(Sender: TObject);
var
i:integer;
str:string;
begin
if t_op_ctn.IsEmpty then
exit;
if wwDBGrid1.SelectedList.Count>=1 then
begin
for i:=0 to wwDBGrid1.SelectedList.Count-1 do
begin
t_op_ctn.GotoBookmark(pointer(wwDBGrid1.SelectedList[i]));
if i=0 then
str:='('+t_op_ctn.fieldbyname('ctn_id').asstring
else
str:=str+','+t_op_ctn.fieldbyname('ctn_id').asstring;
end;
end
else
begin
str:='('+t_op_ctn.fieldbyname('ctn_id').asstring;
end;
str:=str+')';
t_ch_client.close;
t_ch_client.sql.clear;
t_ch_client.sql.add('select * from t_opor_ctn '
+'where ctn_id in '+str
+' order by ctn_id');
t_ch_client.open;
sys_print('<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>װ<EFBFBD>䵥',2,t_op_ctn.DataSource,nil,nil,nil,nil,t_ch_client1,t_op_ctn1,nil,nil,nil,nil);
end;
procedure Tfrm_opor_ctn.bsSkinButton6Click(Sender: TObject);
var
bok:Tbookmark;
if_first:boolean;
pkgs:integer;
kgs,cbm:double;
s,package:string;
begin
if t_op_ctn.IsEmpty then
exit;
t_op_ctn.First;
if_first:=true;
pkgs:=0;
kgs:=0.00;
cbm:=0.00;
bok:=t_op_ctn.GetBookmark;
try
t_op_ctn.DisableControls;
while not t_op_ctn.Eof do
begin
if strtobool(get_parameters_value(139,'true')) then begin
if if_first then
begin
if (Trim(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)<>'') then
// if (Trim(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)<>'') and (Trim(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring)<>'') then
memo1.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'/'+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring;
memo2.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+t_op_ctn.fieldbyname('<27><>װ').asstring;
memo3.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'KGS';
memo4.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'CBM';
pkgs:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asinteger;
kgs:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
cbm:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
package:=t_op_ctn.fieldbyname('<27><>װ').asstring;
if_first:=false;
end
else
begin
memo2.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+t_op_ctn.fieldbyname('<27><>װ').asstring);
memo3.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'KGS');
memo4.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'CBM');
pkgs:=pkgs+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asinteger;
kgs:=kgs+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
cbm:=cbm+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
package:=t_op_ctn.fieldbyname('<27><>װ').asstring;
end;
end else begin
if if_first then
begin
memo1.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'/'+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'/'+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ').asstring+'/'
+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+t_op_ctn.fieldbyname('<27><>װ').asstring+'/'+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'KGS'+'/'+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'CBM';
memo2.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+t_op_ctn.fieldbyname('<27><>װ').asstring;
memo3.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'KGS';
memo4.Lines.Text:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'CBM';
pkgs:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asinteger;
kgs:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
cbm:=t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
package:=t_op_ctn.fieldbyname('<27><>װ').asstring;
if_first:=false;
end
else
begin
memo2.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+t_op_ctn.fieldbyname('<27><>װ').asstring);
memo3.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'KGS');
memo4.Lines.Add(t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring+'CBM');
pkgs:=pkgs+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asinteger;
kgs:=kgs+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
cbm:=cbm+t_op_ctn.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat;
package:=t_op_ctn.fieldbyname('<27><>װ').asstring;
end;
end;
t_op_ctn.next;
end;
if (FormatFloat('0.0000;-0.0000;0',pkgs)<>FormatFloat('0.0000;-0.0000;0',t_op_ctn.DataSource.DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsInteger))
or (FormatFloat('0.0000;-0.0000;0',kgs)<>FormatFloat('0.0000;-0.0000;0',t_op_ctn.DataSource.DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat))
or (FormatFloat('0.0000;-0.0000;0',cbm)<>FormatFloat('0.0000;-0.0000;0',t_op_ctn.DataSource.DataSet.FieldByName('<27><><EFBFBD><EFBFBD>').AsFloat))
or ((Trim(package)<>'') and (Trim(package)<>Trim(t_op_ctn.DataSource.DataSet.fieldbyname('<27><>װ').asstring)))
then
begin
if MessageDlg('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD>,<2C><>,<2C><>,<2C><>װ<EFBFBD>ͼ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD>,<2C><>,<2C><>,<2C><>װ<EFBFBD><D7B0>ͬ,<2C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>',mtWarning,[mbyes,mbno],0)=mrYes then
begin
t_op_ctn.DataSource.DataSet.edit;
t_op_ctn.DataSource.DataSet['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ']:=memo2.Lines.Text;
t_op_ctn.DataSource.DataSet['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=memo3.Lines.Text;
t_op_ctn.DataSource.DataSet['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=memo4.Lines.Text;
t_op_ctn.DataSource.DataSet.post;
end;
end;
finally
t_op_ctn.EnableControls;
t_op_ctn.GotoBookmark(bok);
end;
end;
end.