Changeset 9a5ec40 in mmcs


Ignore:
Timestamp:
Dec 14, 2016, 4:13:57 PM (7 years ago)
Author:
rudmanmrrod <rudman22@…>
Branches:
master
Children:
08d84ca
Parents:
fec66d7
Message:

Solventado problema con los modelos de precios homogeneos, tanto clasico como no clasico

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • mainwindow.C

    rfec66d7 r9a5ec40  
    50785078        cantidades.insert(cuenta,value.toDouble());
    50795079    }
    5080 
    50815080    QTableWidget *MatrizIC = new QTableWidget;
    50825081    MatrizIC->setObjectName(QString("PHCIcuenta %1").arg(cantidadPHCindidenciaiCuenta));
     
    50945093    @param <tw> Recibe el widget de la tabla
    50955094    @param <inci> Recibe el diccionario con las cuentas-valor
    5096 */
    5097 void MainWindow::calcularPHCIncidenciaI(QTableWidget *tw,QMap<QString,double> inci)
     5095    @param <clasico> Recibe verdadero si se calculará con modelo clásico o falso en caso contrario
     5096*/
     5097void MainWindow::calcularPHCIncidenciaI(QTableWidget *tw,QMap<QString,double> inci, bool clasico)
    50985098{
    50995099    int fila = tw->rowCount();
     
    51015101    for(int i=2;i<fila;i++)
    51025102    {
     5103        QString cuenta= tw->item(i,0)->text();
    51035104        for(int j=2;j<columna;j++)
    51045105        {
    5105 
    5106             QString cuenta= tw->item(i,0)->text();
     5106            QString cuenta_col= tw->item(0,j)->text();
    51075107            QString number = Separador(tw->item(i,j),true);
    51085108            double valor = number.toDouble();
    5109             if(inci.contains(cuenta) and inci[cuenta]!=0)
    5110             {
    5111                 valor = valor*(inci[cuenta]/100);
     5109            if((inci.contains(cuenta) and inci[cuenta]!=0))
     5110            {
     5111                if(clasico and cuenta == cuenta_col)
     5112                {
     5113                    valor = valor*(inci[cuenta]/100);
     5114                }
     5115                else if(!clasico)
     5116                {
     5117                    valor = valor*(inci[cuenta]/100);
     5118                }
    51125119            }
    51135120            QTableWidgetItem *ValoraInsertar = new QTableWidgetItem(QString::number(valor,'f',precission));
     
    51785185    @param <tw> Recibe el widget de la tabla
    51795186    @param <ot> Recibe el widget de la tabla donde se colocarán las incidencias
    5180 */
    5181 void MainWindow::calcularPHCIncidenciaIComponente(QTableWidget *tw,QTableWidget *ot)
     5187    @param <clasico> Recibe verdadero si se calculará con modelo clásico o falso en caso contrario
     5188*/
     5189void MainWindow::calcularPHCIncidenciaIComponente(QTableWidget *tw,QTableWidget *ot,bool clasico)
    51825190{
    51835191    int fila = tw->rowCount();
    51845192    int columna = tw->columnCount();
     5193    QString componente_col = "";
     5194    QString componente = "";
    51855195    for(int i=2;i<fila;i++)
    51865196    {
     
    51895199        for(int j=2;j<columna;j++)
    51905200        {
     5201            if(clasico)
     5202            {
     5203                componente = tw->item(1,i)->text();
     5204                componente_col = tw->item(j,1)->text();
     5205            }
    51915206            QString number = Separador(tw->item(i,j),true);
    51925207            double valor = number.toDouble();
    51935208            if(inci!=0)
    51945209            {
    5195                 valor = valor*(inci/100);
     5210                if(clasico and componente==componente_col)
     5211                {
     5212                    valor = valor*(inci/100);
     5213                }
     5214                else if(!clasico)
     5215                {
     5216                    valor = valor*(inci/100);
     5217                }
    51965218                QTableWidgetItem *ValoraInsertar = new QTableWidgetItem(QString::number(valor,'f',precission));
    51975219                ValoraInsertar->setFlags(ValoraInsertar->flags() ^ Qt::ItemIsEditable);
     
    54105432    MatrizIC->setObjectName(QString("PHNCIcuenta %1").arg(cantidadPHNCindidenciaiCuenta));
    54115433    calcularPHNCIncidencia100(MatrizIC);
    5412     calcularPHCIncidenciaI(MatrizIC,cantidades);
     5434    calcularPHCIncidenciaI(MatrizIC,cantidades,false);
    54135435
    54145436    createTab(QString("PIHnci %1").arg(cantidadPHNCindidenciaiCuenta),MatrizIC,true);
     
    54625484    MatrizIComp->setObjectName(QString("PHNCIcomponente %1").arg(cantidadPHNCindidenciaiComponente));
    54635485    calcularPHNCIncidencia100(MatrizIComp);
    5464     calcularPHCIncidenciaIComponente(MatrizIComp,tw);
     5486    calcularPHCIncidenciaIComponente(MatrizIComp,tw,false);
    54655487
    54665488    createTab(QString("PIHncic %1").arg(cantidadPHNCindidenciaiComponente),MatrizIComp,true);
  • mainwindow.H

    r9b2ca78 r9a5ec40  
    284284    void calcularMaT();
    285285    void calcularPHCIncidencia100(QTableWidget *);
    286     void calcularPHCIncidenciaI(QTableWidget *, QMap<QString, double>);
    287     void calcularPHCIncidenciaIComponente(QTableWidget *,QTableWidget *);
     286    void calcularPHCIncidenciaI(QTableWidget *, QMap<QString, double>, bool clasico = true);
     287    void calcularPHCIncidenciaIComponente(QTableWidget *, QTableWidget *, bool clasico = true);
    288288
    289289    void calcularMbT();
Note: See TracChangeset for help on using the changeset viewer.