📄 qrydeliverylist.~pas
字号:
Inc(FColumnCnt);
Column := ListViewDelOrd.Columns.Add;
Column.Width := ListViewDelOrd.Font.Size * 12;
Column.Caption := GetMultiLingalMsg(10042,'Sequal No');
Inc(FColumnCnt);
//--
Column := ListViewDelOrd.Columns.Add;
Column.Width := ListViewDelOrd.Font.Size * 10;
Column.Caption := GetMultiLingalMsg(90255, 'IN Date');
Inc(FColumnCnt);
Column := ListViewDelOrd.Columns.Add;
Column.Width := ListViewDelOrd.Font.Size * 10;
Column.Caption := GetMultiLingalMsg(90065, 'Remarks');
Inc(FColumnCnt);
end;
procedure TfrmDeliveriedList.ListViewDelOrdColumnClick(Sender: TObject; Column: TListColumn);
var
WSB_Pos: Integer;
begin
if ListViewDelOrd.Items.Count = 0 then Exit;
if ListViewDelOrd.Selected <> nil then
WSB_Pos := GetScrollPos(ListViewDelOrd.Handle, SB_HORZ);
ListSortKey := Column.Index + 1;
with ListViewDelOrd do
case ListSortKey of
1: if Items[0].Caption < Items[Items.Count-1].Caption then
ListSortKey := ListSortKey * -1;
else if Items[0].SubItems[ListSortKey-2] <
Items[Items.Count-1].SubItems[ListSortKey-2] then
ListSortKey := ListSortKey * -1;
end;
FAllReadyInOrderList.Sort(TListSortCompare(@ListSortCompare));
ListViewDelOrd.Selected := nil;
SetListView;
ListViewDelOrd.Selected.MakeVisible(False);
ListViewDelOrd.Scroll(WSB_Pos, 0)
end;
procedure TfrmDeliveriedList.btnQueryClick(Sender: TObject);
var
i,j: integer;
lcP: PAllReadyInOrder;
Item: TListItem;
stk_id,hat_code,iss_paperno,in_paperno: string;
sup_code,order_rec_id: integer;
begin
/////////////////////////////////////
Screen.Cursor := crHourGlass;
with ListViewDelOrd.Items do begin
BeginUpdate;
Clear;
EndUpdate;
end;
stk_id := trim(edtStkID.Text);
hat_code := trim(edtHatCode.Text);
iss_paperno := trim(edtIssPaper.Text);
in_paperno := trim(edtInPaper.Text);
sup_code := StrToIntDef(edtSupply.Text,0);
order_rec_id := dm_inventory.GetOrderRID(edtOrder.Text);
if (order_rec_id<=0) then order_rec_id := 0;
dm_inventory.Read_DeliveryOnTimeInfo(FAllReadyInOrderList, stk_id,hat_code,iss_paperno,in_paperno,sup_code,order_rec_id);
//--
ListViewDelOrd.Items.BeginUpdate;
FOnMakeItemCaption := True;
try
FAllReadyInOrderList.Sort(TListSortCompare(@ListSortCompare));
for i := 0 to FAllReadyInOrderList.Count-1 do begin
lcP := FAllReadyInOrderList.Items[i];
if not Set_QryCondition(lcp) then continue;
Item := ListViewDelOrd.Items.Add;
for j :=0 to FColumnCnt-2 do Item.Subitems.Add('');
lcP^.ITEM := Item;
Item.Data := lcP;
MakeItemCaption(Item);
end;
finally
FOnMakeItemCaption := False;
ListViewDelOrd.Items.EndUpdate;
Screen.Cursor := crDefault;
end;
end;
function TfrmDeliveriedList.Set_QryCondition(lcP: PAllReadyInOrder): Boolean;
var
iMatAttr: Integer;
WMtlCode: array[0..1] of string;
WDate: array[0..1] of TDateTime;
begin
Result := True;
//////////////////////
if lcp^.quantity<=0 then begin
result := false;
exit;
end;
if default_orderserial<>0 then
if ((lcp^.order_no)=default_orderserial) then begin
result := false;
exit;
end;
if (trim(edtMatCode.Text)<>'') then
if not(dm_inventory.GetMaterialCode(lcp^.material_rec_id)=trim(edtMatCode.Text)) then begin
result := false;
exit;
end;
iShiZaiKubun := dm_inventory.GetShiZaiKubunID(trim(edtMatClass.Text));
if (trim(edtMatClass.Text)<>'') then
if not (dm_inventory.Get_KubunRecID_FromShiZai(lcp^.material_rec_id) = iShiZaiKubun) then begin
result := false;
exit;
end;
if (trim(edtSupply.Text)<>'') then
if not (IntToStr(lcp^.supplier_code) = trim(edtSupply.Text)) then begin
result := false;
exit;
end;
if (trim(edtOrder.Text)<>'') then
if not (dm_inventory.GetOrderNo(lcp^.order_rec_id) = trim(edtOrder.Text)) then begin
result := false;
exit;
end;
{
iMatAttr := dm_inventory.Get_KubunIssMode_FromShiZai(lcp^.material_rec_id);
if chkMaterial.Checked then begin
if not ( iMatAttr= 1) then begin
result := false;
exit;
end;
end;
if chkOther.Checked then begin
if not ((iMatAttr=2)or (iMatAttr=3)or (iMatAttr=4)) then begin
result := false;
exit;
end;
end;
}
if (trim(edtHatCode.Text)<>'') then
if not (lcp^.hat_code = trim(edtHatCode.Text)) then begin
result := false;
exit;
end;
end;
procedure TfrmDeliveriedList.edtOrderChange(Sender: TObject);
begin
//btnQuery.Click;
end;
procedure TfrmDeliveriedList.cbxSupDropDown(Sender: TObject);
begin
dm_inventory.Read_SupplyMake_ToCbx(cbxSup);
end;
procedure TfrmDeliveriedList.cbxSupChange(Sender: TObject);
begin
edtSupply.Text := Get_PosBeforeStr(cbxSup.Text,'_');
edtSupName.Text := Get_PosAfterStr(cbxSup.Text,'_');
edtSupply.SetFocus;
end;
procedure TfrmDeliveriedList.edtSupplyChange(Sender: TObject);
begin
edtSupName.Text := dm_inventory.GetShigenName(StrToIntDef(trim(edtSupply.Text),0));
// btnQuery.Click;
end;
procedure TfrmDeliveriedList.btnOKClick(Sender: TObject);
begin
ModalResult := mrNone;
if ListViewDelOrd.Selected = nil then curr_select_DeliOrd := nil
else curr_select_DeliOrd := PAllReadyInOrder(ListViewDelOrd.Selected.Data);
ModalResult := mrOK;
end;
procedure TfrmDeliveriedList.btnCancelClick(Sender: TObject);
begin
ModalResult := mrCANCEL;
Close;
end;
procedure TfrmDeliveriedList.ListViewDelOrdDblClick(Sender: TObject);
begin
if ListViewDelOrd.Selected.Selected then btnOk.Click;
end;
procedure TfrmDeliveriedList.cbxMatClassDropDown(Sender: TObject);
begin
dm_inventory.Read_shizai_kubunTocbx(cbxMatClass);
end;
procedure TfrmDeliveriedList.cbxMatClassChange(Sender: TObject);
begin
edtMatClass.Text := Get_PosBeforeStr(cbxMatClass.Text,'_');
edtMatClassName.Text := Get_PosAfterStr(cbxMatClass.Text,'_');
edtMatClass.SetFocus;
iShiZaiKubun := dm_inventory.GetShiZaiKubunID(trim(edtMatClass.Text));
end;
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
procedure TfrmDeliveriedList.SetMultilingual;
begin
self.Caption := GetMultiLingalMsg(90285, 'Deliveried List Query');
edtStkID.EditLabel.Caption := GetMultiLingalMsg(90027,'Stock ID')+' ';
edtSupply.EditLabel.Caption := GetMultiLingalMsg(90057, 'Suplier')+' ';
edtMatClass.EditLabel.Caption:= GetMultiLingalMsg(90123, 'Material Class')+' ';
edtMatCode.EditLabel.Caption:= GetMultiLingalMsg(90028, 'Material Code')+' ';
edtOrder.EditLabel.Caption := GetMultiLingalMsg(90063, 'Mold Code')+' ';
edtHatCode.EditLabel.Caption := GetMultiLingalMsg(32093,'Order Code')+' ';
edtIssPaper.EditLabel.Caption := GetMultiLingalMsg(90236,'Issue Paper')+' ';
edtInPaper.EditLabel.Caption := GetMultiLingalMsg(90053,'Paper NO')+' ';
btnQuery.Caption := GetMultiLingalMsg(90115, 'Filter Query')+' ';
//chkMaterial.Caption := GetMultiLingalMsg(90286, 'Only Show Material')+' ';
//chkOther.Caption := GetMultiLingalMsg(90287, 'Only Show Other Material')+' ';
end;
procedure TfrmDeliveriedList.edtMatClassChange(Sender: TObject);
begin
edtMatClassName.Text := dm_inventory.Get_Shizai_KubunName2(trim(edtMatClass.Text));
end;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
procedure TfrmDeliveriedList.Close_TabStop;
var
i:Integer;
begin
for i:=0 To Self.ComponentCount-1 do
try
if not ((Self.Components[i] is TLabel) or (Self.Components[i] is TImageList)or
(Self.Components[i] is TSpeedButton) or (self.Components[i] is TiMage))then
begin
(Self.Components[i] as TWinControl).TabStop := False;
(Self.Components[i] as TWinControl).TabOrder := -1;
end;
except
;
end;
end;
procedure TfrmDeliveriedList.Init_TabStopAndTabOrder;
begin
edtStkID.TabStop := true;
edtStkID.TabOrder := 10;
edtSupply.TabStop := true;
edtSupply.TabOrder := 9;
edtMatClass.TabStop := true;
edtMatClass.TabOrder := 8;
edtHatCode.TabStop := true;
edtHatCode.TabOrder := 7;
edtOrder.TabStop := true;
edtOrder.TabOrder := 6;
edtIssPaper.TabStop := true;
edtIssPaper.TabOrder := 5;
edtInPaper.TabStop := true;
edtInPaper.TabOrder := 4;
edtMatCode.TabStop := true;
edtMatCode.TabOrder := 3;
btnOk.TabStop := true;
btnOk.TabOrder := 2;
btnCancel.TabStop := true;
btnCancel.TabOrder := 1;
btnQuery.TabStop := true;
btnQuery.TabOrder := 0;
end;
procedure TfrmDeliveriedList.GetNextTabOrder(Key: Word; ShiftState: TShiftState);
var
nextControl : TWinControl;
begin
if key = VK_TAB then begin
nextControl := FindNextControl(ActiveControl ,false,true,false);
if NextControl <> nil then NextControl.SetFocus;
end
else if key = VK_RETURN then
begin
nextControl := FindNextControl(ActiveControl ,true,true,false);
if NextControl <> nil then NextControl.SetFocus;
end;
end;
procedure TfrmDeliveriedList.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_TAB) or (Key = VK_RETURN) then //--
GetNextTabOrder(VK_TAB, Shift);
end;
function TfrmDeliveriedList.ListSelCheck: Boolean;
begin
Result := True;
if ListViewDelOrd.SelCount = 0 then begin
MessageDlg('没有选中一条已入库订单的记录!', mtWarning, [mbOK], 0);
Result := False;
end;
end;
procedure TfrmDeliveriedList.cbxStkDropDown(Sender: TObject);
begin
//
end;
procedure TfrmDeliveriedList.cbxStkChange(Sender: TObject);
begin
edtStkID.Text := Get_PosBeforeStr(cbxStk.Text,'_');
edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
edtStkID.SetFocus;
end;
procedure TfrmDeliveriedList.edtStkIDChange(Sender: TObject);
begin
edtStkName.Text := dm_Inventory.GetStockName(trim(edtStkID.Text));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -