📄 pm_pc_check1.pas
字号:
+' when @PmCode=1 then 0 end,'
+IIfString(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat>0,AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsString,AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString)+','
+'0.0,'
+'GetDate(),'
+QuotedStr(UserCode)+','
+'GetDate(),'
+QuotedStr(UserCode)
+' ) '
+' end '
+' select * from Sc_CostMaster '
+' where ItemCode='+QuotedStr(AdoQry_Head.fieldbyname('ItemCode').AsString)
+' If @@RowCount=0 '
+' begin '
+' Insert Into Sc_CostMaster(ItemCode,Cost_Material, '
+' Cost_Out,Price,Price_LastTime,Date_Create,EmployeeCode_Create,'
+' Date_Edit,EmployeeCode_Edit) '
+' Values( '+QuotedStr(AdoQry_Head.fieldbyname('ItemCode').AsString)+','
+'Case When @PmCode=1 then '+IIfString(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat>0,AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsString,AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString)
+' when @PmCode=2 then 0 end,'
+'Case When @PmCode=2 then '+IIfString(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat>0,AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsString,AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString)
+' when @PmCode=1 then 0 end,'
+IIfString(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat>0,AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsString,AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString)+','
+'0.0,'
+'GetDate(),'
+QuotedStr(UserCode)+','
+'GetDate(),'
+QuotedStr(UserCode)
+' ) '
+' end ' ;
// ShowMessage(SqlText);
ExecuteSql(AdoQry_Tmp,SqlText,1) ;
end;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Update PcLine '
+' Set PcLineStatus=1 ,'
+' FormalPricePass=1 '
+' Where PcLineId='''+AdoQry_Head.fieldbyname('PcLineId').AsString+'''';
AdoQry_Tmp.ExecSQL;
If Dbconnect.InTransaction then
dbconnect.CommitTrans;
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('PcLineStatus').AsString:='1';
AdoQry_Head.fieldbyname('FormalPricePass').AsInteger := 1;
AdoQry_Head.fieldbyname('TmpFlag').AsString:='0';
AdoQry_Head.Post;
end;
AdoQry_Head.Next;
end;
AdoQry_Head.GotoBookmArk(BookmArk);
AdoQry_Head.FreeBookmArk(BookmArk);
AdoQry_Head.EnableControls;
end;
procedure TFrm_Pm_Pc_Check1.Act_CancelCheckExecute(Sender: TObject);
var
BookmArk:TBookmArk;
begin
inherited;
if DispInfo('确定取消批准选定的采购价格项?',2)='n' then
Exit;
// AdoQry_Head.DisableControls;
BookmArk:=AdoQry_Head.GetBookmArk;
AdoQry_Head.First;
while not AdoQry_Head.Eof do
begin
if AdoQry_Head.fieldbyname('TmpFlag').AsString='1' then
begin
// 对未批准记录操作日志
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Insert PcLineHistory'
+'(PcNo,pclineid,ItemCode,PcTaxPrice,PcNoTaxPrice,PcStArtDate,PcendDate'
+',PcStArtQty,PcendQty,PcPriceType,PcTaxPrice_Formal,PcNoTaxPrice_Formal, '
+' ReferencePricePass,FormalPricePass,PcLineStatus'
+',ChgEmployeeCode,ChgTime,ChgType)'
+' Values('
+' '''+AdoQry_Head.fieldbyname('pcno').AsString+''''
+','''+AdoQry_Head.fieldbyname('pclineid').AsString+''''
+','''+AdoQry_Head.fieldbyname('ItemCode').AsString+''''
+','+AdoQry_Head.fieldbyname('PcTaxPrice').AsString+''
+','+AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString+''
+','''+AdoQry_Head.fieldbyname('PcStArtDate').AsString+''''
+','''+AdoQry_Head.fieldbyname('PcendDate').AsString+''''
+','+AdoQry_Head.fieldbyname('PcStArtQty').AsString+''
+','+AdoQry_Head.fieldbyname('PcendQty').AsString+''
+','+AdoQry_Head.fieldbyname('PcPriceType').AsString+''
+','+FloatToStr(AdoQry_Head.fieldbyname('PcTaxPrice_Formal').AsFloat)
+','+FloatToStr(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat)
+','+IntToStr(AdoQry_Head.fieldbyname('ReferencePricePass').AsInteger)
+','+IntToStr(AdoQry_Head.fieldbyname('FormalPricePass').AsInteger)
// +','+AdoQry_Head.fieldbyname('PcReferencedPrice').AsString+''
+','+AdoQry_Head.fieldbyname('PcLineStatus').AsString+''
+','''+UserCode+''''
+',getdate()'
+',''取消批准'''
+')';
AdoQry_Tmp.ExecSQL;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Update PcLine '
+' set FormalPricePass=0 '
+IifString(AdoQry_Head.fieldbyname('ReferencePricePass').AsInteger=1,'',' , PcLineStatus=0')
+' Where PcLineId='''+AdoQry_Head.fieldbyname('PcLineId').AsString+'''';
AdoQry_Tmp.ExecSQL;
AdoQry_Head.Edit;
If AdoQry_Head.fieldbyname('ReferencePricePass').AsInteger=0 then
AdoQry_Head.fieldbyname('PcLineStatus').AsString:='0';
AdoQry_Head.fieldbyname('FormalPricePass').AsInteger := 0;
AdoQry_Head.fieldbyname('TmpFlag').AsString:='0';
AdoQry_Head.Post;
end;
AdoQry_Head.Next;
end;
AdoQry_Head.GotoBookmArk(BookmArk);
AdoQry_Head.FreeBookmArk(BookmArk);
// AdoQry_Head.EnableControls;
end;
procedure TFrm_Pm_Pc_Check1.DBGridEhTitleClick(Column: TColumnEh);
var
BookMArk:String;
begin
inherited;
If Trim(Column.Title.Caption)<>'标记' Then
Abort;
If AdoQry_Head.RecordCount=0 Then
Abort;
BookMArk:=AdoQry_Head.BookmArk;
If Not Flag Then
begin
AdoQry_Head.First;
While Not AdoQry_Head.Eof Do
begin
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('TmpFlag').AsInteger:=1;
AdoQry_Head.Post;
AdoQry_Head.Next;
end;
end
Else
begin
AdoQry_Head.First;
While Not AdoQry_Head.Eof Do
begin
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('TmpFlag').AsInteger:=0;
AdoQry_Head.Post;
AdoQry_Head.Next;
end;
end;
AdoQry_Head.BookmArk:=BookMArk;
Flag:=Not Flag;
end;
procedure TFrm_Pm_Pc_Check1.DBGridEhGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
{ if AdoQry_Head.fieldbyname('PCReferencedPrice').asinteger =1 then
begin
// Background:=$00F9D1C6;
afont.Color:=clblue;
end;
}
end;
procedure TFrm_Pm_Pc_Check1.Act_ModifyExecute(Sender: TObject);
begin
inherited;
If AdoQry_Head.RecordCount = 0 then exit;
ExecuteSql(AdoQry_Tmp,'select * from PmParam '
+' where PmParamCode=''IsPriceRequestPass''',0);
IsPriceRequestPass := AdoQry_Tmp.fieldbyname('PmParamValueN').AsInteger;
If (AdoQry_Head.fieldbyname('FormalPricePass').AsInteger =1)
and (IsPriceRequestPass=1) then
begin
DispInfo('正式价已批准,不可修改!',3);
Abort;
end;
Frm_Pm_Pc_Check_D := TFrm_Pm_Pc_Check_D.Create(self);
try
With Frm_Pm_Pc_Check_D,AdoQry_Head do
begin
Frm_Pm_Pc_Check_D.AdoQry_Tmp.Connection := Dbconnect;
PcTaxRate := fieldbyname('PcTaxRate_Percent').AsFloat;
ExtEdt_ItemCode.Text := fieldbyname('ItemCode').AsString;
Edt_ItemName.Text := fieldbyname('ItemName').AsString;
MEdt_PcStArtDate.Text := fieldbyname('PcStArtDate').AsString;
MEdt_PcendDate.Text := fieldbyname('PcendDate').AsString;
Edt_PcStArtQty.Text := fieldbyname('PcStArtQty').AsString;
Edt_PcendQty.Text := fieldbyname('PcendQty').AsString;
Cmbx_PcPriceType.ItemIndex := fieldbyname('PcPriceType').AsInteger;
Edt_PcTaxPrice.Text := FloatToStr(fieldbyname('PcTaxPrice').AsFloat);
Edt_PcNoTaxPrice.Text := FloatToStr(fieldbyname('PcNoTaxPrice').AsFloat);
Edt_PcTaxPrice_Formal.Text := FloatToStr(fieldbyname('PcTaxPrice_Formal').AsFloat);
Edt_PcNoTaxPrice_Formal.Text := FloatToStr(fieldbyname('PcNoTaxPrice_Formal').AsFloat);
ExtEdt_ItemCode.Enabled := False;
Edt_ItemName.Enabled := False;
MEdt_PcStArtDate.Enabled := False;
MEdt_PcendDate.Enabled := False;
Edt_PcStArtQty.Enabled := False;
Edt_PcendQty.Enabled := False;
Edt_PcTaxPrice.Enabled := False;
Edt_PcNoTaxPrice.Enabled := False;
Cmbx_PcPriceType.Enabled := False;
If ShowModal = MrOk then
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Insert PcLineHistory'
+'(PcNo,pclineid,ItemCode,PcTaxPrice,PcNoTaxPrice,PcStArtDate,PcendDate'
+',PcStArtQty,PcendQty,PcPriceType,PcTaxPrice_Formal,PcNoTaxPrice_Formal, '
+' ReferencePricePass,FormalPricePass,PcLineStatus'
+',ChgEmployeeCode,ChgTime,ChgType)'
+' Values('
+' '''+AdoQry_Head.fieldbyname('pcno').AsString+''''
+','''+AdoQry_Head.fieldbyname('pclineid').AsString+''''
+','''+AdoQry_Head.fieldbyname('ItemCode').AsString+''''
+','+AdoQry_Head.fieldbyname('PcTaxPrice').AsString+''
+','+AdoQry_Head.fieldbyname('PcNoTaxPrice').AsString+''
+','''+AdoQry_Head.fieldbyname('PcStArtDate').AsString+''''
+','''+AdoQry_Head.fieldbyname('PcendDate').AsString+''''
+','+AdoQry_Head.fieldbyname('PcStArtQty').AsString+''
+','+AdoQry_Head.fieldbyname('PcendQty').AsString+''
+','+AdoQry_Head.fieldbyname('PcPriceType').AsString+''
+','+FloatToStr(AdoQry_Head.fieldbyname('PcTaxPrice_Formal').AsFloat)
+','+FloatToStr(AdoQry_Head.fieldbyname('PcNoTaxPrice_Formal').AsFloat)
+','+IntToStr(AdoQry_Head.fieldbyname('ReferencePricePass').AsInteger)
+','+IntToStr(AdoQry_Head.fieldbyname('FormalPricePass').AsInteger)
// +','+AdoQry_Head.fieldbyname('PcReferencedPrice').AsString+''
+','+AdoQry_Head.fieldbyname('PcLineStatus').AsString+''
+','''+UserCode+''''
+',getdate()'
+',''修改'''
+')';
AdoQry_Tmp.ExecSQL;
ExecuteSQl(AdoQry_Tmp,'Update PcLine '
+' set PcTaxPrice_Formal='+Edt_PcTaxPrice_Formal.Text+','
+' PcNoTaxPrice_Formal = '+Edt_PcNoTaxPrice_Formal.Text
+' where PcLineId='+AdoQry_Head.fieldbyname('PcLineId').AsString,1);
Edit;
fieldbyname('PcTaxPrice_Formal').AsString := Edt_PcTaxPrice_Formal.Text;
fieldbyname('PcNoTaxPrice_Formal').AsString := Edt_PcNoTaxPrice_Formal.Text;
Post;
end;
end;
Finally
Frm_Pm_Pc_Check_D.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -