⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pm_pc_check.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      AdoQry_Tmp.ExecSQL;

      
      AdoQry_Tmp.Close;
      AdoQry_Tmp.SQL.Text:='Update PcLine '
                          +' Set PcLineStatus=1 ,'
                          +'     ReferencePricePass=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('ReferencePricePass').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_Check.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.clear;
      AdoQry_Tmp.SQL.Text := ' select * from po join poline on po.pono=poline.pono '
                            +' where PcNo= '''+AdoQry_Head.fieldbyname('PcNo').asstring+''''
                            +' and ItemCode='''+AdoQry_Head.fieldbyname('ItemCode').asstring+'''';
      AdoQry_Tmp.Open ;
      If not AdoQry_Tmp.Eof then
      begin
        DispInfo('不能取消批准采购价格单号为:'+AdoQry_Tmp.fieldbyname('PcNo').AsString+' 已下采购单的合同!',3);
        abort;
      end;}
       // 对未批准记录操作日志
      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 ReferencePricePass=0 '
                          +IifString(AdoQry_Head.fieldbyname('FormalPricePass').AsInteger=1,'',' ,    PcLineStatus=0')
        +' Where PcLineId='''+AdoQry_Head.fieldbyname('PcLineId').AsString+'''';
      AdoQry_Tmp.ExecSQL;
      AdoQry_Head.Edit;
      If AdoQry_Head.fieldbyname('FormalPricePass').AsInteger=0 then
      AdoQry_Head.fieldbyname('PcLineStatus').AsString:='0';
      AdoQry_Head.fieldbyname('ReferencePricePass').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_Check.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_Check.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_Check.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('ReferencePricePass').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_Formal.Enabled := False;
    Edt_PcNoTaxPrice_Formal.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='+Edt_PcTaxPrice.Text  +','
                           +'       PcNoTaxPrice='+Edt_PcNoTaxPrice.Text
                           +' where PcLineId='+AdoQry_Head.fieldbyname('PcLineId').AsString,1);
      Edit;
      fieldbyname('PcTaxPrice').AsString := Edt_PcTaxPrice.Text;
      fieldbyname('PcNoTaxPrice').AsString := Edt_PcNoTaxPrice.Text;
      Post;                           
    end;    
  end;
  Finally
    Frm_Pm_Pc_Check_D.Free;
  end;
end;

procedure TFrm_Pm_Pc_Check.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Pm_Pc_Check := Nil;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -