📄 bas_bomqry.pas
字号:
Lb_PmCode.Caption:='';
Lb_PreparelLT.Caption:='';
Lb_RunLT.Caption:='';
Lb_QcLT.Caption:='';
Lb_DesignNo.Caption:='';
end;
procedure TFrm_Bas_BomQry.clearPnl_Head;
begin
Lbl_Name_D.Caption:='';
end;
procedure TFrm_Bas_BomQry.Act_ModifyExecute(Sender: TObject);
begin
//强制类型转换
end;
procedure TFrm_Bas_BomQry.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=CaFree;
end;
procedure TFrm_Bas_BomQry.LocateToSlave(T_ItemCode: String);
begin
if AdoQry_Main.Active then
AdoQry_Main.Locate('ItemCode',T_ItemCode,[]);
end;
procedure TFrm_Bas_BomQry.InsertOldMaster(ItemCode: string);
begin
if (Lc_OldMaster.Count=0) or
((Lc_OldMaster.Strings[Lc_OldMaster.Count-1])<>ItemCode) then
begin
Lc_OldMaster.Add(ItemCode);
end;
// ListBOX1.ItemS:=lC_OLDMaster;
end;
procedure TFrm_Bas_BomQry.GetOldMaster;
var
Tmp_OldItemCode:string;
begin
if Lc_OldMaster.Count>1 then
begin
if Lc_OldMaster.Strings[Lc_OldMaster.Count-1]<>Lc_OldMaster.Strings[Lc_OldMaster.Count-2] then
begin
Tmp_OldItemCode:=Lc_OldMaster.Strings[Lc_OldMaster.Count-1];
// Edt_Ite_ItemCode.Text:=Lc_OldMaster.Strings[Lc_OldMaster.Count-2];
SetPnl_Head(lbl_ItemCode.Caption);
GetSlave(lbl_ItemCode.Caption);
LocateToSlave(Tmp_OldItemCode);
end;
Lc_OldMaster.Delete(Lc_OldMaster.Count-1);
end;
end;
procedure TFrm_Bas_BomQry.Action2Execute(Sender: TObject);
begin
inherited;
GetOldMaster;
end;
function TFrm_Bas_BomQry.ItemIsSource(ItemCode: String): Boolean;
var
T_String:String;
begin
T_String:='';
T_String:='select ItemType '+
'From Item '+
'Where ItemCode='''+ItemCode+''' ';
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Add(T_String);
open;
if not eof then
begin
//判断是否为资源
if fieldbyname('ItemType').AsInteger=1 then
Result:=True
else Result:=False;
end
Else Result:=False;
Close;
end;
end;
procedure TFrm_Bas_BomQry.SaveDeleteToLog;
begin
with AdoQry_Tmp do
begin
Close;
sql.clear;
//这里是修改的时候,删除在另外的地方
sql.text:='insert into BomChangeInfo '+
' (LogDate,'+
' EmployeeCode,'+
' LogAction,'+
' BomId,'+
' Ite_ItemCode,'+
' ItemCode,'+
' BomItemType,'+
' BomQty,'+
' BomScrAp_Percent,'+
' BomStatus,'+
' DeptCode,'+
' usestyle,'+
' BomMArk) '+
'Values '+
' (getdate(),'+
' '''+UserCode+''','+
' 2,'+
' '+IntToStr(AdoQry_Main.fieldbyname('BomId').AsInteger)+','+
' '''+AdoQry_Main.fieldbyname('Ite_ItemCode').AsString+''','+
' '''+AdoQry_Main.fieldbyname('ItemCode').AsString+''','+
' '+IntToStr(AdoQry_Main.fieldbyname('BomItemType').AsInteger)+','+
' '+FloatToStr(AdoQry_Main.fieldbyname('BomQty').AsFloat)+','+
' '+FloatToStr(AdoQry_Main.fieldbyname('BomScrAp_Percent').AsFloat)+','+
' '+IntToStr(AdoQry_Main.fieldbyname('BomStatus').AsInteger)+','+
' '''+AdoQry_Main.fieldbyname('DeptCode').AsString+''','+
' '+IntToStr(AdoQry_Main.fieldbyname('usestyle').AsInteger)+','+
' '+IntToStr(AdoQry_Main.fieldbyname('BomMArk').AsInteger)+') ';
execsql;
Close;
end;
end;
procedure TFrm_Bas_BomQry.AdoQueryAfterOpen(DataSet: TDataSet);
begin
inherited;
TFloatField(DataSet.fieldbyname('BomQty_Disp')).DisplayFormat:='0.#####';
TFloatField(DataSet.fieldbyname('BomScrAp_Percent_Disp')).DisplayFormat:='0.#####';
end;
procedure TFrm_Bas_BomQry.clearSinGleReCode;
begin
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('delete '+
'from Bom '+
'where ItemCode not in '+
' ( select case when ite_ItemCode is null then '''' else ite_ItemCode end '+
' from Bom '+
' ) '+
' and ite_ItemCode is null '+
'');
execsql;
Close;
end;
end;
procedure TFrm_Bas_BomQry.DBGridEhGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if AdoQry_Main.fieldbyname('ItemUsable').asInteger=0 then
begin
AFont.Color:=clRed;
end;
end;
procedure TFrm_Bas_BomQry.GetReal_ItemCode(realite_ItemCode: string);
var
tmp_ItemCode:string;
tmpAdoQry:TAdoQuery;
begin
tmp_ItemCode:='';
with AdoQry_tmp1 do
begin
Close;
sql.clear;
sql.Add(' exec Find_Real_Ite_ItemCode '''+realite_ItemCode+'''');
Prepared;
open;
end;
AdoQry_tmp1.First ;
while not AdoQry_tmp1.Eof do
begin
tmp_ItemCode:=AdoQry_tmp1.fieldbyname ('ite_ItemCode').asstring;
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Add('insert into BomChange(real_ItemCode,ite_ItemCode,ItemCode,BomItemType0,Bomstatus0,Bomqty0,BomScrAp_Percent0, BomItemType1,Bomstatus1,Bomqty1,BomScrAp_Percent1,BomChangetime)'+
' Values('''+tmp_ItemCode+''','+
' '''+AdoQry_Main.fieldbyname('ite_ItemCode').asstring+''','+
' '''+AdoQry_Main.fieldbyname('ItemCode').asstring+''','+
' '''+inttostr(AdoQry_Main.fieldbyname('BomItemType').asinteger)+''','+
' '''+inttostr(AdoQry_Main.fieldbyname('BomStatus').asinteger)+''','+
' '''+floattostr(AdoQry_Main.fieldbyname('BomQty').asfloat)+''','+
' '''+floattostr(AdoQry_Main.fieldbyname('BomScrAp_Percent').asfloat)+''','+
' 0,0,0,0, getdate())');
execsql;
end;
AdoQry_tmp1.Next;
end;
end;
procedure TFrm_Bas_BomQry.GetLbName(ite_ItemCode:string);
var
sSQL:string;
begin
sSQL:='select ItemName,PmCode= case PmCode when 0 then ''制造'' when 1 then ''采购'' when 2 then ''委外加工'' when 3 then ''既制造又委外'' end,'+
'PrepareLT,RunLt,QcLT,DesignNo from Item where ItemCode='+ Quotedstr(ite_ItemCode);
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Add(sSQL);
AdoQry_Tmp.Open;
Lbl_Name_D.Caption:=AdoQry_Tmp.fieldbyname('ItemName').AsString;
Lb_PmCode.Caption:=AdoQry_Tmp.fieldbyname('PmCode').AsString;
Lb_PreparelLT.Caption:=AdoQry_Tmp.fieldbyname('PrepareLT').AsString;
Lb_RunLT.Caption:=AdoQry_Tmp.fieldbyname('RunLT').AsString;
Lb_QcLT.Caption:=AdoQry_Tmp.fieldbyname('QcLT').AsString;
Lb_DesignNo.Caption:=AdoQry_Tmp.fieldbyname('DesignNo').AsString;
end;
procedure TFrm_Bas_BomQry.DBGridEhTitleClick(Column: TColumnEh);
var
BookMArk:String;
begin
inherited;
If Trim(Column.Title.Caption)<>'标记' Then
Abort;
If AdoQry_Main.RecordCount=0 Then
Abort;
BookMArk:=AdoQry_Main.BookmArk;
If Not Flag Then
begin
AdoQry_Main.First;
While Not AdoQry_Main.Eof Do
begin
AdoQry_Main.Edit;
AdoQry_Main.fieldbyname('BomMArk').AsInteger:=1;
AdoQry_Main.Post;
AdoQry_Main.Next;
end;
end
Else
begin
AdoQry_Main.First;
While Not AdoQry_Main.Eof Do
begin
AdoQry_Main.Edit;
AdoQry_Main.fieldbyname('BomMArk').AsInteger:=0;
AdoQry_Main.Post;
AdoQry_Main.Next;
end;
end;
AdoQry_Main.BookmArk:=BookMArk;
Flag:=Not Flag;
end;
procedure TFrm_Bas_BomQry.GetBomParam;
var
sSQL:string;
begin
sSQL:=' select ParamValueN from Bom_Param where ParamCode=''AuditBom'' and ParamName=''Bom构造是否要审核'' ';
with AdoQry_tmp do
begin
Close;
SQL.clear;
SQL.Add(sSQL);
Open;
end;
if AdoQry_tmp.Eof then
begin
DispInfo('你尚没设置相关系统参数!',1);
self.Close;
end
else
begin
if AdoQry_tmp.fieldbyname('ParamValueN').AsInteger=1 then
begin
DispInfo('对不起,系统已设定Bom构造须审核',1);
self.Close;
end;
end;
end;
procedure TFrm_Bas_BomQry.checkPmItem(ItemCode:string);//是否采购件
var
sSQL:string;
begin
sSQL:='select PmCode from Item where ItemCode='+Quotedstr(ItemCode);
with AdoQry_tmp do
begin
Close;
SQL.clear;
SQL.Add(sSQL);
Open;
if fieldbyname('PmCode').AsInteger=1 then
begin
DispInfo('不允许采购件下挂子项',1);
abort;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -