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

📄 pm_pc_check1.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                              +'     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 + -