📄 pm_enter_editpasspo1.pas
字号:
AdoQry_Tmp.SQL.Text := SqlText1;
AdoQry_Tmp.ExecSQL;
DbConnect.CommitTrans;
except
DbConnect.RollBackTrans;
end;
end;
getdata;
if falg=1 then
AdoQry_Head.BookmArk:=BookMArk;
end;
procedure TFrm_Pm_Enter_EditPassPo1.Act_DeleteExecute(Sender: TObject);
begin
inherited;
If (AdoQry_Head.Eof) And (AdoQry_Head.Bof) Then
Exit;
If (DispInfo('确认真的要删除选定采购订单吗',2)='y') Then
DeleteRecord;
end;
function TFrm_Pm_Enter_EditPassPo1.getQclt(ItemCode: string): string;
begin
try
Executesql(AdoQry_tmp,'select Qclt from Item where ItemCode='+quotedstr(ItemCode),0);
Result:=inttostr(AdoQry_tmp.fieldbyname('Qclt').asinteger);
except
Result:='9999999';
end;
end;
function TFrm_Pm_Enter_EditPassPo1.beendilivered(pono:string;polineno:integer):boolean;
var AdoQry:TAdoQuery;
sqltext:string;
begin
Result:=False;
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=dbconnect;
sqltext:='select * from opItemList '
+' where porealqty>0 '
+' and pono='+quotedstr(pono)
+' and polineno='+inttostr(polineno);
try
Executesql(AdoQry,sqltext,0);
if AdoQry.RecordCount>0 then
Result:=True;
finally
AdoQry.Free;
end;
end;
procedure TFrm_Pm_Enter_EditPassPo1.Act_ModifyExecute(Sender: TObject);
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
Frm_Pm_Enter_PassPo_D := TFrm_Pm_Enter_PassPo_D.Create(self);
try
with Frm_Pm_Enter_PassPo_D do
begin
AdoQry_tmp.Connection:=dbconnect;
Edt_Pono.Text:=AdoQry_Head.fieldbyname('PoNo').asstring;
Edt_LineNo.Text:=AdoQry_Head.fieldbyname('Polineno').asstring;
Edt_ItemCode.Text:=AdoQry_Head.fieldbyname('ItemCode').asstring;
Lbl_ItemName.Caption:=AdoQry_Head.fieldbyname('ItemName').asstring;
MEdt_PoStArtWorkDate.Text:=AdoQry_Head.fieldbyname('PoStArtWorkDate').AsString;
Medt_PoDate.Text:=AdoQry_Head.fieldbyname('POLineDATE').AsString;
Edt_PoQty.Text:=AdoQry_Head.fieldbyname('PoQty').asstring;
Edt_PoNoFinishQty.Text:=AdoQry_Head.fieldbyname('PONoFinishQty').asstring;
btn_ok.Enabled:=False;
if AdoQry_Head.fieldbyname('POLINESTATUS').asinteger=5 then
Edt_PoQty.Enabled := True
else
Edt_PoQty.Enabled := False;
showmodal;
// medt_Modate.SetFocus;
if modalResult=mrok then
begin
SavePoLineHistory1('Edit');
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('POLineDATE').asstring:=Medt_PoDate.Text;
AdoQry_Head.fieldbyname('PoStArtWorkDate').asstring:=MEdt_PoStArtWorkDate.Text;
AdoQry_Head.fieldbyname('PoQty').asstring:=Edt_Poqty.Text;
if AdoQry_Head.fieldbyname('POLINESTATUS').asinteger=5 then
AdoQry_Head.fieldbyname('PONoFinishQty').asstring:=Edt_PoNoFinishQty.Text;
AdoQry_Head.Post;
updatepoline(AdoQry_Head.fieldbyname('PoNo').asstring,AdoQry_Head.fieldbyname('PoLineNo').asinteger);
IF Not AutoBuildopListOrder(DbConnect,Trim(AdoQry_Head.fieldbyname('pono').AsString),Trim(AdoQry_Head.fieldbyname('ItemCode').AsString),IntToStr(AdoQry_Head.fieldbyname('PoLineNo').AsInteger),
'Edit','Po',AdoQry_Head.fieldbyname('PoQty').Asfloat) Then //自动产生领料单
Abort;
OperationMOPO(AdoQry_Tmp,Trim(AdoQry_Head.fieldbyname('ItemCode').AsString),'po',5,
Trim(AdoQry_Head.fieldbyname('pono').AsString),AdoQry_Head.fieldbyname('PoLineNo').AsInteger,AdoQry_Head.fieldbyname('POLINESTATUS').AsInteger,
0,AdoQry_Head.fieldbyname('PoQty').Asfloat,
AdoQry_Head.fieldbyname('PONoFinishQty').Asfloat,AdoQry_Head.fieldbyname('POStArtWorkDate').AsString,
AdoQry_Head.fieldbyname('POLineDATE').AsString,AdoQry_Head.fieldbyname('PoType').AsInteger,AdoQry_Head.fieldbyname('VendorCode').AsString );
end;
end;
finally
Frm_Pm_Enter_PassPo_D.Free;
end;
end;
procedure TFrm_Pm_Enter_EditPassPo1.UpDatePoline(PoNo: string;
PoLineNo: integer);
var AdoQry:TAdoQuery;
sqltext:string;
begin
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=dbconnect;
if AdoQry_Head.fieldbyname('POLINESTATUS').asinteger=5 then
begin
sqltext:='update Poline '
+' set POLineDATE= '+quotedstr(AdoQry_Head.fieldbyname('POLineDATE').asstring)+','
+' PoStArtWorkDate='+quotedstr(AdoQry_Head.fieldbyname('PoStArtWorkDate').asstring)+','
+' POnoFinishQty= '+quotedstr(AdoQry_Head.fieldbyname('POnoFinishQty').asstring)+','
+' PoQty='+quotedstr(AdoQry_Head.fieldbyname('PoQty').asstring)
+' where Pono='+quotedstr(Pono)
+' and Polineno='+inttostr(Polineno);
end
else
begin
sqltext:='update Poline '
+' set POLineDATE= '+quotedstr(AdoQry_Head.fieldbyname('POLineDATE').asstring)+','
+' PoStArtWorkDate='+quotedstr(AdoQry_Head.fieldbyname('PoStArtWorkDate').asstring)
+' where Pono='+quotedstr(Pono)
+' and Polineno='+inttostr(Polineno);
end;
try
Executesql(AdoQry,sqltext,1);
finally
AdoQry.Free;
end;
end;
function TFrm_Pm_Enter_EditPassPo1.SavePoLineHistory1(Status1: String): Boolean;
var
SqlText:String;
begin
Try
SqlText:='Insert PoLineHistory '
+' (PoNo,PoLineNo,ItemCode,POLineDate,PoStArtWorkDate,POQty,POTaxPrice,POTaxAmount,PONoTaxPrice,'
+' PONoTaxAmount,PONoFinishQty,POReferencedPrice,POLineStatus,PolChgEmployeeCode,PolChgTime,PolChgType)'
+'Values('
+''''+AdoQry_Head.fieldbyname('PoNo').AsString+''''+','
+''''+IntToStr(AdoQry_Head.fieldbyname('PoLineNo').AsInteger)+''''+','
+''''+AdoQry_Head.fieldbyname('ItemCode').AsString+''''+','
+''''+DatetimeToStr(AdoQry_Head.fieldbyname('PoLineDate').AsDateTime)+''''+','
+''''+DatetimeToStr(AdoQry_Head.fieldbyname('PoStArtWorkDate').AsDateTime)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('PoQty').AsFloat)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('POTaxPrice').AsFloat)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('POTaxAmount').AsFloat)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('PONoTaxPrice').AsFloat)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('PONoTaxAmount').AsFloat)+''''+','
+''''+FloatToStr(AdoQry_Head.fieldbyname('PONoFinishQty').AsFloat)+''''+','
+''''+IntToStr(AdoQry_Head.fieldbyname('POReferencedPrice').AsInteger)+''''+','
+''''+IntToStr(AdoQry_Head.fieldbyname('POLineStatus').AsInteger)+''''+','
+''''+UserCode+''''+','
+'GetDate(),' ;
if Status1='Edit' then
SqlText:=SqlText+''''+'更改日期'+''''+')'
else
if Status1='Delete' then
SqlText:=SqlText+''''+'删除记录'+''''+')';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=SqlText;
AdoQry_Tmp.ExecSQL;
Result:=True;
Except
Result:=False;
end;
end;
procedure TFrm_Pm_Enter_EditPassPo1.TlBtn_CheckClick(Sender: TObject);
begin
inherited;
If (AdoQry_Head.Eof) And (AdoQry_Head.Bof) Then
Exit;
If (DispInfo('确认真的要批准选定采购订单吗',2)='y') Then
OpenRecord;
end;
procedure TFrm_Pm_Enter_EditPassPo1.TlBtn_CancelCheckClick(Sender: TObject);
begin
inherited;
If (AdoQry_Head.Eof) And (AdoQry_Head.Bof) Then
Exit;
If (DispInfo('确认取消批准选定采购记录吗?',2)='y') Then
CloseRecord;
end;
procedure TFrm_Pm_Enter_EditPassPo1.btn_uPMrpClick(Sender: TObject);
var AdoQry:TAdoQuery;
sqltext:string;
begin
inherited;
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=dbconnect;
try
sqltext:=' Select distinct Item.ItemCode,Item.ItemName,Item.minqty,MrpResult.PmCode,Item.Batchstrat,'+
' Itemflag=Item.ItemCode+'' ''+Item.ItemName,'+
' UomName=Uom.UomName,'+
' ldtime=case MrpResult.PmCode '+
' when 0 then Item.mnldtime '+
' else Item.purchldtime '+
' end,'+
' Item.Preparelt,'+
' Item.runlt,'+
' Item.Qclt,'+
' Item.PmBatch, '+
' Item.CurrentonhandInv as CurrentonhandInv, '+
' Assignedqty=isnull(0,0), '+
' Item.CurrentonCheckInv as oncheckqty '+
//' Item.CurrentonhandInv '+
//' into #tmpItemResult'+
' From Item '+
' Join MrpResult On Item.ItemCode=MrpResult.ItemCode and MrpResult.ordinal=1'+
' and MrpResult.ItemCode='+quotedstr(AdoQry_Head.fieldbyname('ItemCode').asstring)+
//' Join #tmponhandm On Item.ItemCode=#tmponhandm.ItemCode and MrpResult.PmCode=#tmponhandm.PmCode '+
' left outer join Uom on Item.UomCode=Uom.UomCode ';
Executesql(AdoQry,sqltext,0);
if Frm_Mrp_Qry_NewUpRightMrp_D=nil then
begin
Frm_Mrp_Qry_NewUpRightMrp_D:=TFrm_Mrp_Qry_NewUpRightMrp_D.Create(Self);
Frm_Mrp_Qry_NewUpRightMrp_D.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_NewUpRightMrp_D.ItemCode:=AdoQry.fieldbyname('ItemCode').asstring;
Frm_Mrp_Qry_NewUpRightMrp_D.ItemName:=AdoQry.fieldbyname('ItemName').asstring;
Frm_Mrp_Qry_NewUpRightMrp_D.Uom:=AdoQry.fieldbyname('UomName').asstring;
Frm_Mrp_Qry_NewUpRightMrp_D.ldtime:=floattostr(AdoQry.fieldbyname('ldtime').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.Preparelt:=floattostr(AdoQry.fieldbyname('Preparelt').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.runlt:=floattostr(AdoQry.fieldbyname('runlt').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.Qclt:=floattostr(AdoQry.fieldbyname('Qclt').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.PmBatch:=floattostr(AdoQry.fieldbyname('PmBatch').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.ItemPmCode:=AdoQry.fieldbyname('PmCode').asinteger;
Frm_Mrp_Qry_NewUpRightMrp_D.CurrentInv:=floattostr(AdoQry.fieldbyname('CurrentonhandInv').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.RunMrp:=0;
Frm_Mrp_Qry_NewUpRightMrp_D.Assignedqty:=floattostr(AdoQry.fieldbyname('Assignedqty').asfloat);
Frm_Mrp_Qry_NewUpRightMrp_D.oncheckqty:=floattostr(AdoQry.fieldbyname('oncheckqty').asfloat);
if AdoQry.fieldbyname('PmCode').asinteger=0 then
Frm_Mrp_Qry_NewUpRightMrp_D.PmCode:='0 制造';
if AdoQry.fieldbyname('PmCode').asinteger=1 then
Frm_Mrp_Qry_NewUpRightMrp_D.PmCode:='1 采购';
if AdoQry.fieldbyname('PmCode').asinteger=2 then
Frm_Mrp_Qry_NewUpRightMrp_D.PmCode:='2 委外加工';
if AdoQry.fieldbyname('PmCode').asinteger=3 then
Frm_Mrp_Qry_NewUpRightMrp_D.PmCode:='3 既制造又委外';
Frm_Mrp_Qry_NewUpRightMrp_D.minqty:=floattostr(AdoQry.fieldbyname('minqty').asfloat);
if AdoQry.fieldbyname('Batchstrat').asinteger=0 then
Frm_Mrp_Qry_NewUpRightMrp_D.Batchstrat:='直接批量法';
if AdoQry.fieldbyname('Batchstrat').asinteger=1 then
Frm_Mrp_Qry_NewUpRightMrp_D.Batchstrat:='固定批量法';
try
AdoQry.Free;
except
end;
Frm_Mrp_Qry_NewUpRightMrp_D.InitForm(AdoQry_Head.Connection,True);
end
else Frm_Mrp_Qry_NewUpRightMrp_D.Show;
finally
activecontrol:=dbgrideh;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -