📄 returnorderunit.pas
字号:
with dm.sql do begin
commandText := 'execute _PM_P_ReturnOrder_Check :a,:b,:c ';
Parameters.ParamByName('a').Value := ROID.Text;
Parameters.ParamByName('b').Value := FrmLogin.LandingUser;
Parameters.ParamByName('c').Value := sInvText;
execute ;
end;
showmessage('退货单 '+rOID.Text+' 审核成功!');
with DataSet_RO do begin
close ;
commandText := 'execute _PM_V_ReturnOrder_Query '''+ sroid +'''';
open ;
while not eof do begin
sitem:= fieldByName('商品代码').AsString+' - '+
fieldByName('商品名称').AsString;
if FieldByName('退').AsBoolean then
List_AcceptSaleProd.AddItem(sitem)
else List_ForbidSaleProd.AddItem(sitem);
next ;
end;
first ;
end;
except
showmessage('订单审核失败,请重新审核!');
exit ;
end;
end;
procedure TfrmReturnOrder.DataSet_ROAfterClose(DataSet: TDataSet);
begin
List_ForbidSaleProd.Clear ;
List_superpowerReturn.Clear ;
List_AcceptSaleProd.Clear ;
end;
procedure TfrmReturnOrder.DataSet_ROAfterOpen(DataSet: TDataSet);
begin
if DataSet_RO.fieldbyName('审核').Asstring <> '' then begin
Bt_Accept.enabled := False ;
Bt_Add.enabled := True ;
Bt_Accept.Caption := '审核人: ' + DataSet_RO.fieldbyName('审核').Asstring ;
end else begin
Bt_Accept.enabled := True ;
Bt_Add.enabled := False ;
Bt_Accept.Caption := '审 核' ;
end;
end;
procedure TfrmReturnOrder.List_RODblClick(Sender: TObject);
begin
QueryRO(Lefts(List_RO.Items.Strings[List_RO.ItemIndex]));
end;
procedure TfrmReturnOrder.dxDBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
if (dxDBGrid1.DataSource.DataSet.Active) AND
(dxDBGrid1.DataSource.DataSet.Fields.Fields[9].AsString <>
dxDBGrid1.DataSource.DataSet.Fields.Fields[13].AsString) then begin
dxDBGrid1.Canvas.Font.Color := clRED;
end;
end;
procedure TfrmReturnOrder.List_ForbidSaleProdClick(Sender: TObject);
begin
if Not dm.tbPower.FieldValues['M303_2'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
end;
procedure TfrmReturnOrder.UpdateListClick(Sender: TObject);
begin
List_RO.Items := GetList('execute _PM_P_LoadItem '''',10');
List_DL.Items := GetList('execute _PM_P_LoadItem '''',4');
end;
procedure TfrmReturnOrder.FormShow(Sender: TObject);
begin
List_RO.Items := GetList('execute _PM_P_LoadItem '''',10');
List_DL.Items := GetList('execute _PM_P_LoadItem '''',4');
end;
procedure TfrmReturnOrder.Bt_AddClick(Sender: TObject);
var
ro :string;
sNewID,sOldID :string;
begin
if Not dm.tbPower.FieldValues['M303_3'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
if DataSet_RO.fieldbyName('审核').Asstring <> '' then begin
ro :=inputbox('汇入订单','请输入汇入订单编号:','');
if Getlist('select top 1 ID from SO_SOMain where cSOCode = '''+ ROID.Text +'''').Count = 1 then
sOldID := Getlist('select top 1 ID from SO_SOMain where cSOCode = '''+ ROID.Text +'''').Strings[0];
if Getlist('select top 1 ID from SO_SOMain where cSOCode = '''+ RO +'''').Count = 1 then
sNewID := Getlist('select top 1 ID from SO_SOMain where cSOCode = '''+ RO +'''').Strings[0];
if ( sNewID <> '' ) and ( sOldID <> '' ) then
begin
if MessageDlg('确认要汇入吗? '+#13+#13+#13+#13+#13,mtCustom,[mbYES,mbNO],0) = mrYES Then begin
try
with dm.sql do begin
commandtext := 'update SO_SODetails '+
'set ID = ''' + sNewID + '''' +
'where ID = ''' + sOldID + '''';
execute;
QueryRO(RO);
showmessage('汇入成功!');
end;
except
showmessage('汇入失败!');
exit;
end;
end;
end else begin
showmessage('订单编号不能为空!');
Exit;
end;
end;
end;
procedure TfrmReturnOrder.Button1Click(Sender: TObject);
var
cDLCode : string;
Sqltext : string;
begin
cDLCode :=inputbox('汇入订单','请输入汇入订单编号:','');
if Getlist('SELECT TOP 1 DLID FROM DispatchList where (bReturnFlag = 1 AND cDLCode = '''+ cDLCode +''')').Count = 1 then
begin
Label1.Caption := cDLCode ;
Label2.Caption := Getlist('SELECT C.cCusCode + '' - '' + C.cCusAbbName FROM DispatchList AS D INNER JOIN Customer AS C ON D.cCusCode = C.cCusCode WHERE (D.cDLCode = '''+ cDLCode +''')').Strings[0];
Label3.Caption := Getlist('SELECT TOP 1 Convert(nvarchar(10),dDate,121) FROM DispatchList where cDLCode = '''+ cDLCode +'''').Strings[0];
Sqltext := 'SELECT D.cDLCode+'' - ''+Convert(nvarchar(10),D.dDate,121)+'' - ''+C.cCusCode '+
'FROM (SELECT cCusCode FROM DispatchList AS M WHERE (cDLCode = '''+ cDLCode +''')) AS C INNER JOIN DispatchList AS D ON C.cCusCode = D.cCusCode '+
'WHERE (bReturnFlag = 1) AND (Not cVerifier is null) AND (D.dDate > GETDATE() - 2) AND ( D.cDLCode <> '''+ cDLCode +''') ';
DLList.Items := GetList(Sqltext);
end else begin
Showmessage('无此退货单,或此单为发货单!');
Label1.Caption := '' ;
Label2.Caption := '' ;
Label3.Caption := '' ;
end;
end;
procedure TfrmReturnOrder.Button2Click(Sender: TObject);
var
i , j : integer;
sInvText,sInvname,sqltext : string;
begin
j := 0 ;
with DLList.Items do begin
for i := 0 to Count - 1 do begin
if DLList.Checked[i] then begin
j := j + 1 ;
if sInvText = '' then begin
sInvText := ''''+lefts(Strings[i])+'''' ;
sInvName := lefts(Strings[i]);
end else begin
sInvText := sInvText+','''+ lefts(Strings[i])+'''' ;
sInvName := sInvname + #13 + lefts(Strings[i]);
end;
end;
end;
end;
if j = 0 then begin
showmessage('没有可以汇总的单退货!');
exit ;
end;
if MessageDlg('以下单据确定要汇总吗? '+#13+#13+sInvName+#13+#13+#13,mtCustom,[mbOK,mbCancel],0) = mrOk Then begin
try
With dm.sql do begin
CommandText := 'EP_AujudTotal :a,:b ';
Parameters.ParamByName('a').Value := Getlist('SELECT TOP 1 DLID FROM DispatchList where cDLCode = '''+ Label1.Caption +'''').Strings[0] ;
Parameters.ParamByName('b').Value := sInvText ;
execute;
Sqltext := 'SELECT D.cDLCode+'' - ''+Convert(nvarchar(10),D.dDate,121)+'' - ''+C.cCusCode '+
'FROM (SELECT cCusCode FROM DispatchList AS M WHERE (cDLCode = '''+ Label1.Caption +''')) AS C INNER JOIN DispatchList AS D ON C.cCusCode = D.cCusCode '+
'WHERE (bReturnFlag = 1) AND (Not cVerifier is null) AND (D.dDate > GETDATE() - 2) AND ( D.cDLCode <> '''+ Label1.Caption +''') ';
DLList.Items := GetList(Sqltext);
List_DL.Items := GetList('execute _PM_P_LoadItem '''',4');
showmessage('汇入成功!');
end;
except
exit ;
end;
end;
end;
procedure TfrmReturnOrder.List_DLDblClick(Sender: TObject);
var
cDLCode : string;
Sqltext : string;
begin
cDLCode := Lefts(List_DL.Items.Strings[List_DL.ItemIndex]);
if Getlist('SELECT TOP 1 DLID FROM DispatchList where (bReturnFlag = 1 AND cDLCode = '''+ cDLCode +''')').Count = 1 then
begin
Label1.Caption := cDLCode ;
Label2.Caption := Getlist('SELECT C.cCusCode + '' - '' + C.cCusAbbName FROM DispatchList AS D INNER JOIN Customer AS C ON D.cCusCode = C.cCusCode WHERE (D.cDLCode = '''+ cDLCode +''')').Strings[0];
Label3.Caption := Getlist('SELECT TOP 1 Convert(nvarchar(10),dDate,121) FROM DispatchList where cDLCode = '''+ cDLCode +'''').Strings[0];
Sqltext := 'SELECT D.cDLCode+'' - ''+Convert(nvarchar(10),D.dDate,121)+'' - ''+C.cCusCode '+
'FROM (SELECT cCusCode FROM DispatchList AS M WHERE (cDLCode = '''+ cDLCode +''')) AS C INNER JOIN DispatchList AS D ON C.cCusCode = D.cCusCode '+
'WHERE (bReturnFlag = 1) AND (Not cVerifier is null) AND (D.dDate > GETDATE() - 2) AND ( D.cDLCode <> '''+ cDLCode +''') ';
DLList.Items := GetList(Sqltext);
end else begin
Showmessage('无此退货单,或此单为发货单!');
Label1.Caption := '' ;
Label2.Caption := '' ;
Label3.Caption := '' ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -