当前位置: 首页>>代码示例>>PHP>>正文


PHP DataObject::count_rel方法代码示例

本文整理汇总了PHP中DataObject::count_rel方法的典型用法代码示例。如果您正苦于以下问题:PHP DataObject::count_rel方法的具体用法?PHP DataObject::count_rel怎么用?PHP DataObject::count_rel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DataObject的用法示例。


在下文中一共展示了DataObject::count_rel方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: DataObject

 function actpresup2($id, $apartar = null)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("trasla");
     $do->rel_one_to_many('ittrasla', 'ittrasla', array('numero' => 'numero'));
     $do->load($id);
     $sta = $do->get('status');
     if ($sta == 'P' || $sta == 'H') {
         $tdisminucion = $do->get('tdisminucion');
         $taumento = $do->get('taumento');
         $error = '';
         if ($tdisminucion == $taumento) {
             $montos = array();
             for ($i = 0; $i < $do->count_rel('ittrasla'); $i++) {
                 $ordinal = $do->get_rel('ittrasla', 'ordinal', $i);
                 $codigopres = $do->get_rel('ittrasla', 'codigopres', $i);
                 $codigoadm = $do->get_rel('ittrasla', 'codigoadm', $i);
                 $fondo = $do->get_rel('ittrasla', 'fondo', $i);
                 $disminucion = $do->get_rel('ittrasla', 'disminucion', $i);
                 $aumento = $do->get_rel('ittrasla', 'aumento', $i);
                 $monto = $aumento - $disminucion;
                 if ($sta == 'H') {
                     $monto = -1 * $monto;
                 }
                 $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal);
                 $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres . '_._' . $ordinal;
                 if (array_key_exists($cadena, $montos)) {
                     $montos[$cadena] += $monto;
                 } else {
                     $montos[$cadena] = $monto;
                 }
             }
             if (empty($error)) {
                 foreach ($montos as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     if ($monto < 0) {
                         $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, 'round($monto,2) > $disponible=round(($presupuesto-($comprometido+$apartado)),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') (' . $temp[3] . ')');
                     }
                 }
             }
             if (empty($error)) {
                 foreach ($montos as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     if ($sta == 'P') {
                         if ($monto < 0) {
                             $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, 1, array("apartado"));
                         }
                     } elseif ($sta == 'H') {
                         if ($monto > 0) {
                             $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], $temp[3], abs($monto), 0, -1, array("apartado"));
                         }
                     }
                 }
             }
         } else {
             $error .= "<div class='alert'><p>No se puede realizar la Transferencia si El total de Disminuci&oacute;nes ({$tdisminucion}) es Diferente al total de Aumentos ({$taumento}) </p></div>";
         }
         if (empty($error)) {
             if ($sta == 'P') {
                 $do->set('status', 'H');
                 logusu('trasla', "Aparto traslado {$id}");
             }
             if ($sta == 'H') {
                 $do->set('status', 'P');
                 logusu('trasla', "desaparto traslado {$id}");
             }
             $do->save();
         }
     } else {
         $error .= "<div class='alert'><p>No se puede realizar la operacion para la transferencia {$id} </p></div>";
     }
     if (empty($error)) {
         redirect("presupuesto/trasla/dataedit/show/{$id}");
     } else {
         $data['content'] = $error . anchor("presupuesto/trasla/dataedit/show/{$id}", 'Regresar');
         $data['title'] = "Traslados";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:80,代码来源:trasla.php

示例2: actualizar

 function actualizar($id)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("ocompra");
     $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $do->load($id);
     $error = '';
     $factura = $do->get('factura');
     $numero = $do->get('numero');
     $cod_prov = $do->get('cod_prov');
     $controlfac = $do->get('controlfac');
     $fechafac = $do->get('fechafac');
     $imptimbre = $do->get('imprtimbre');
     $reten = $do->get('reten');
     $ivag = $do->get('ivag');
     $ivar = $do->get('ivar');
     $ivaa = $do->get('ivaa');
     $iva = $ivar + $ivaa + $ivag;
     $ide = $this->db->escape($id);
     if ($iva > 0 || $reten > 0 || $imptimbre > 0) {
         if (empty($factura) || empty($controlfac)) {
             $cant = $this->db->simple_query("SELECT COUNT(*) FROM itfac WHERE numero={$ide}");
             if ($cant == 0) {
                 $error .= "<div class='alert'><p>Los Campos Factura, Control Fiscal y Fecha de Factura, no pueden estar en blanco</p></div>";
             }
         } else {
             $this->chexiste_factura($numero, $factura, $controlfac, $cod_prov, 'F', $e);
             $error .= $e;
         }
     }
     if (empty($error)) {
         $sta = $do->get('status');
         if ($sta == 'C') {
             $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
             $ivan = 0;
             $importes = array();
             $ivas = array();
             $admfondo = array();
             for ($i = 0; $i < $do->count_rel('itocompra'); $i++) {
                 $codigoadm = $do->get_rel('itocompra', 'codigoadm', $i);
                 $fondo = $do->get_rel('itocompra', 'fondo', $i);
                 $codigopres = $do->get_rel('itocompra', 'partida', $i);
                 $importe = $do->get_rel('itocompra', 'importe', $i);
                 $iva = $do->get_rel('itocompra', 'iva', $i);
                 $ordinal = $do->get_rel('itocompra', 'ordinal', $i);
                 $ivan = $importe * $iva / 100;
                 $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal);
                 $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres;
                 //.'_._'.$ordinal.'_._'.$iva;
                 if (array_key_exists($cadena, $importes)) {
                     $importes[$cadena] += $importe;
                     //$ivas[$cadena]     =$iva;
                 } else {
                     $importes[$cadena] = $importe;
                     //$ivas[$cadena]      =$iva;
                 }
                 $cadena2 = $codigoadm . '_._' . $fondo;
                 $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan);
             }
             if (empty($error)) {
                 //foreach($admfondo AS $cadena=>$monto){
                 //	$temp  = explode('_._',$cadena);
                 //	$error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($comprometido-$causado),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para causar para la partida de IVA, ('.$temp[0].')('.$temp[1].') ');
                 //}
                 foreach ($importes as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     $iva = $ivas[$cadena];
                     $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ' (' . $temp[1] . ') (' . $temp[2] . ')');
                 }
             }
             if (empty($error)) {
                 //$ivan=0;
                 //for($i=0;$i < $do->count_rel('itocompra');$i++){
                 //	$codigopres  = $do->get_rel('itocompra','partida',$i);
                 //	$importe     = $do->get_rel('itocompra','importe',$i);
                 //	$iva         = $do->get_rel('itocompra','iva'    ,$i);
                 //	$ordinal     = $do->get_rel('itocompra','ordinal',$i);
                 //	$ivan       += $importe*$iva/100;
                 //
                 //	$error.=$this->afectapresup($codigoadm,$fondo,$codigopres,$ordinal,$importe,$iva, 1 ,array("causado"));
                 //}
                 foreach ($importes as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     //$iva   = $ivas[$cadena];
                     $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado"));
                 }
                 //if(empty($error)){
                 //	foreach($admfondo AS $cadena=>$monto){
                 //		$temp  = explode('_._',$cadena);
                 //		$error.=$this->afectapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0, 1 ,array("causado"));
                 //	}
                 //}
                 if (empty($error)) {
                     $do->set('status', 'T');
                     $do->set('fcausado', date('Ymd'));
                     $do->save();
                 }
             }
         } else {
             $error .= "<div class='alert'><p>No se puede Causar esta orden de pago</p></div>";
//.........这里部分代码省略.........
开发者ID:enderochoa,项目名称:tortuga,代码行数:101,代码来源:causacion.php

示例3: actualizar

 function actualizar($id)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("odirect");
     $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $do->load($id);
     $error = "";
     $multiple = $do->get('multiple');
     $factura = $do->get('factura');
     $controlfac = $do->get('controlfac');
     $fechafac = $do->get('fechafac');
     $reteiva = $do->get('reteiva');
     //if($multiple == 'N'){
     //	if($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac)))
     //		$error.="<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>";
     //}else{
     //	$facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero=$id ");
     //	if($facs <= 0)
     //		$error.="<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>";
     //}
     if (empty($error)) {
         $sta = $do->get('status');
         if ($sta == "C1") {
             $importes = array();
             $ivas = array();
             $admfondo = array();
             $ordenes = array();
             for ($i = 0; $i < $do->count_rel('itodirect'); $i++) {
                 $codigoadm = $do->get_rel('itodirect', 'codigoadm', $i);
                 $fondo = $do->get_rel('itodirect', 'fondo', $i);
                 $codigopres = $do->get_rel('itodirect', 'partida', $i);
                 $iva = $do->get_rel('itodirect', 'iva', $i);
                 $importe = $do->get_rel('itodirect', 'importe', $i);
                 $ordinal = $do->get_rel('itodirect', 'ordinal', $i);
                 $ocompra = $do->get_rel('itodirect', 'ocompra', $i);
                 $ivan = $importe * $iva / 100;
                 $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal);
                 $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres;
                 if (array_key_exists($cadena, $importes)) {
                     $importes[$cadena] += $importe;
                 } else {
                     $importes[$cadena] = $importe;
                 }
                 $cadena2 = $codigoadm . '_._' . $fondo;
                 $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan);
                 $cadena3 = $ocompra . '_._' . $codigoadm . '_._' . $fondo . '_._' . $codigopres;
                 if (array_key_exists($cadena3, $ordenes)) {
                     $ordenes[$cadena3] += $importe;
                 } else {
                     $ordenes[$cadena3] = $importe;
                 }
             }
             if (empty($error)) {
                 //foreach($admfondo AS $cadena=>$monto){
                 //	$temp  = explode('_._',$cadena);
                 //	$error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($presupuesto-$comprometido),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para la partida de IVA, ('.$temp[0].')('.$temp[1].') ');
                 //}
                 foreach ($importes as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     //$iva   = $ivas[$cadena];
                     $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') ');
                 }
             }
             if (empty($error)) {
                 foreach ($ordenes as $k => $v) {
                     $temp = explode('_._', $v);
                     $query = "SELECT SUM(a.importe) \n\t\t\t\t\t\tFROM itodirect a\n\t\t\t\t\t\tJOIN odirect b ON a.numero=b.numero\n\t\t\t\t\t\tWHERE a.ocompra='" . $temp[0] . "' AND a.codigoadm='" . $temp[1] . "' AND a.fondo='" . $temp[2] . "' AND a.partida='" . $temp[3] . "' \n\t\t\t\t\t\tAND b.status IN ('C2','C3')\n\t\t\t\t\t\t";
                     $totcau = $this->datasis->dameval($query);
                 }
             }
             if (empty($error)) {
                 foreach ($importes as $cadena => $monto) {
                     $temp = explode('_._', $cadena);
                     //$iva   = $ivas[$cadena];
                     $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado", "opago"));
                 }
                 if (empty($error)) {
                     $do->set('fopago', date('Ymd'));
                     $do->set('status', 'C2');
                     $do->save();
                 }
             }
         }
     }
     if (empty($error)) {
         logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}");
         redirect($this->url . "dataedit/show/{$id}");
     } else {
         logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} ");
         $data['content'] = $error . anchor($this->url . "dataedit/show/{$id}", 'Regresar');
         $data['title'] = " {$this->tits} ";
         $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js");
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:95,代码来源:opagocante20140630.php

示例4: anular

 function anular($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     //exit('as');
     $do = new DataObject("desem");
     $do->rel_one_to_many('mbanc', 'mbanc', array('numero' => 'desem'));
     $do->load($id);
     $status = $do->get('status');
     if ($status == 'D1') {
         $do->set('status', 'DA');
         $do->save();
         logusu('desem', "Anulo desembolso Nro {$id}");
         redirect($this->url . "dataedit/show/{$id}");
     }
     $cod_prov = $do->get('cod_prov');
     $banc = new DataObject("banc");
     $existecaja = $this->datasis->traevalor('EXISTECAJA');
     for ($i = 0; $i < $do->count_rel('mbanc'); $i++) {
         $mstatus = $do->get_rel('mbanc', 'status', $i);
         $codbanc = $do->get_rel('mbanc', 'codbanc', $i);
         $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i);
         $fecha = $do->get_rel('mbanc', 'fecha', $i);
         $monto = $do->get_rel('mbanc', 'monto', $i);
         $cheque = $do->get_rel('mbanc', 'cheque', $i);
         $mid = $do->get_rel('mbanc', 'id', $i);
         $concilia = $do->get_rel('mbanc', 'concilia', $i);
         //if($concilia=='S')$error.=''.($tipo_doc=='CH'?"Cheque:$cheque ya conciliado":($tipo_doc=='ND'?"Nota de Debito:$cheque ya conciliada":'')).". Por favor informe de la accion a realizar a la persona encargada de conciliaciones bancarias";
         if ($existecaja == "S") {
             $fcajrecibe = $do->get_rel('mbanc', 'fcajrecibe', $i);
             $fcajdevo = $do->get_rel('mbanc', 'fcajdevo', $i);
             if (!empty($fcajrecibe) && empty($fcajdevo)) {
                 $error .= "ERROR: el cheque ({$cheque}) del banco ({$codbanc}) se encuentra en caja";
             }
         }
         if (empty($error) && $mstatus == 'E2') {
             $banc->load($codbanc);
             $saldo = $banc->get('saldo');
             $activo = $banc->get('activo');
             $banco = $banc->get('banco');
             if ($activo != 'S') {
                 $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>";
             }
         }
     }
     if (empty($error)) {
         $error .= $this->reverpresup($id);
     }
     if (empty($error)) {
         for ($i = 0; $i < $do->count_rel('mbanc'); $i++) {
             $mstatus = $do->get_rel('mbanc', 'status', $i);
             $codbanc = $do->get_rel('mbanc', 'codbanc', $i);
             $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i);
             $fecha = $do->get_rel('mbanc', 'fecha', $i);
             $monto = $do->get_rel('mbanc', 'monto', $i);
             $cheque = $do->get_rel('mbanc', 'cheque', $i);
             $mid = $do->get_rel('mbanc', 'id', $i);
             $benefi = $do->get_rel('mbanc', 'benefi', $i);
             $relch = $do->get_rel('mbanc', 'relch', $i);
             if (($tipo_doc == 'CH' || $tipo_doc == 'ND') && $mstatus == 'E2') {
                 if ($this->datasis->traevalor('CREANCDIA') == 'S') {
                     if (1 * date('Ymd') != 1 * date('Ymd', strtotime($fecha))) {
                         $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N');
                     }
                     $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}");
                 } elseif ($this->datasis->traevalor('CREANCRELCH') == 'S' and strlen($relch) > 0) {
                     $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N');
                     $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}");
                 } elseif (1 * date('m') != 1 * date('m', strtotime($fecha))) {
                     $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N');
                     $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}");
                 } else {
                     $this->db->query("UPDATE mbanc SET status='AN',anulado='" . date('Ymd') . "' WHERE id={$mid}");
                 }
                 //$do->set_rel('mbanc','status' ,'AN'          ,$i  );
                 //$do->set_rel('mbanc','anulado',date('Ymd')   ,$i  );
                 $banc->load($codbanc);
                 $saldo = $banc->get('saldo');
                 $saldo += $monto;
                 $banc->set('saldo', $saldo);
                 $banc->save();
             }
         }
         //exit('hello world');
     }
     if (empty($error)) {
         //$do->set('status','DA');
         //$do->save();
         $this->db->simple_query("UPDATE desem SET status='DA' WHERE numero={$id}");
         logusu('desem', "Anulo desembolso Nro {$id}");
         redirect($this->url . "dataedit/show/{$id}");
     } else {
         logusu('desem', "anulo desembolso Nro {$id} con error {$error}");
         $data['content'] = "<div class='alert'>" . $error . "</div>" . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
         $data['title'] = "{$this->tits}";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:99,代码来源:desem.php

示例5: actualizar

 function actualizar($id)
 {
     $this->rapyd->load('dataobject');
     $ord = new DataObject("ordinal");
     $do = new DataObject("odirect");
     $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $do->load($id);
     $error = "";
     $codigoadm = $do->get('estadmin');
     $fondo = $do->get('fondo');
     $multiple = $do->get('multiple');
     $factura = $do->get('factura');
     $controlfac = $do->get('controlfac');
     $fechafac = $do->get('fechafac');
     $reteiva = $do->get('reteiva');
     if ($multiple == 'N') {
         if ($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) {
             $error .= "<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>";
         }
     } else {
         $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero={$id} ");
         if ($facs <= 0) {
             $error .= "<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>";
         }
     }
     $presup = new DataObject("presupuesto");
     $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo);
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     $pk['codigopres'] = $partidaiva;
     $presup->load($pk);
     $asignacion = $presup->get("asignacion");
     $pasignacion = $presup->get("asignacion");
     $aumento = $presup->get("aumento");
     $disminucion = $presup->get("disminucion");
     $traslados = $presup->get("traslados");
     $comprometido = $presup->get("comprometido");
     //print_r($presup->get_all());
     //
     //echo $pasignacion;
     //exit('assasa');
     if ($pasignacion > 0) {
         $disp = $asignacion + $aumento - $disminucion + $traslados - $comprometido;
         $ivaa = $do->get('ivaa');
         $ivag = $do->get('ivag');
         $ivar = $do->get('ivar');
         $iva = $do->get('iva');
         $reteiva = $do->get('reteiva');
         $ivan = $ivag + $ivar + $ivaa + $iva;
         if ($ivan > $disp) {
             $error .= "<div class='alert'><p>El monto de iva ({$ivan}) de la orden de pago directa, es mayor al monto disponible ({$disp}) para la partida de iva ({$partidaiva})</p></div>";
         }
     }
     if (empty($error)) {
         $sta = $do->get('status');
         if ($sta == "B1") {
             for ($i = 0; $i < $do->count_rel('itodirect'); $i++) {
                 $codigopres = $do->get_rel('itodirect', 'partida', $i);
                 $piva = $do->get_rel('itodirect', 'iva', $i);
                 $importe = $do->get_rel('itodirect', 'importe', $i);
                 $ordinal = $do->get_rel('itodirect', 'ordinal', $i);
                 if ($pasignacion > 0) {
                     $mont = $importe;
                 } else {
                     $mont = $importe + $importe * $piva / 100;
                 }
                 //echo $mont;
                 //exit();
                 $pk['codigopres'] = $codigopres;
                 $presup->load($pk);
                 $asignacion = $presup->get("asignacion");
                 $aumento = $presup->get("aumento");
                 $disminucion = $presup->get("disminucion");
                 $traslados = $presup->get("traslados");
                 $comprometido = $presup->get("comprometido");
                 $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido;
                 //if($mont > $disponible){
                 //	$error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la $this->tits ($mont) es mayor al monto disponible($disponible) para la partida: $codigopres</p></div>";
                 //}
                 if (!empty($ordinal)) {
                     //echo "codigoadm:".$codigoadm." fondo:".$fondo." codigopres:".$codigopres." ordinal:".$ordinal."</br>";
                     $ord->load(array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                     //print_r($ord->get_all());
                     $asignacion = $ord->get("asignacion");
                     $aumento = $ord->get("aumento");
                     $disminucion = $ord->get("disminucion");
                     $traslados = $ord->get("traslados");
                     $comprometido = $ord->get("comprometido");
                     $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido;
                     if ($mont > $disponible) {
                         $error .= "<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto ({$mont}) de la orden de pago directo ({$id})   es mayor al monto disponible({$disponible}) para la partida: {$codigopres} y el ordinal ({$ordinal})</p></div>";
                     }
                 }
             }
             if (empty($error)) {
                 for ($i = 0; $i < $do->count_rel('itodirect'); $i++) {
                     $codigopres = $do->get_rel('itodirect', 'partida', $i);
                     $piva = $do->get_rel('itodirect', 'iva', $i);
                     $importe = $do->get_rel('itodirect', 'importe', $i);
                     $ordinal = $do->get_rel('itodirect', 'ordinal', $i);
                     if ($pasignacion > 0) {
//.........这里部分代码省略.........
开发者ID:enderochoa,项目名称:tortuga,代码行数:101,代码来源:odirectmulti.php

示例6: reversar

 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $ord = new DataObject("ordinal");
     $mbanc = new DataObject("mbanc");
     $mbanc->rel_one_to_many('itppro', 'itppro', array('id' => 'mbanc'));
     $mbanc->load($id);
     $m_codbanc = $mbanc->get('codbanc');
     $m_monto = $mbanc->get('monto');
     $banc = new DataObject("banc");
     $banc->load($m_codbanc);
     $saldo = $banc->get('saldo');
     $activo = $banc->get('activo');
     $odirect = new DataObject("odirect");
     $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago'));
     $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $odirect->rel_one_to_many('islr', 'islr', array('numero' => 'odirect'));
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     //$ocompra->pointer('sprv' ,'sprv.proveed=ocompra.cod_prov','sprv.nombre as nom_prov, sprv.rif as rif_prov');
     $riva = new DataObject("riva");
     $presup = new DataObject("presupuesto");
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     if ($activo != 'S') {
         $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>";
     }
     //if($m_monto > $saldo )$error.="<div class='alert'><p>El Monto ($tot) del cheque es mayor al disponible ($saldo) en el banco ($banco)</p></div>";
     $sta = $mbanc->get('status');
     if ($sta == "E2") {
         $t = 0;
         if (empty($error)) {
             for ($j = 0; $j < $mbanc->count_rel('itppro'); $j++) {
                 $orden = $mbanc->get_rel('itppro', 'orden', $j);
                 $it_monto = $mbanc->get_rel('itppro', 'monto', $j);
                 $odirect->load($orden);
                 $status = $odirect->get('status');
                 $od_numero = $odirect->get('numero');
                 $od_estadmin = $odirect->get('estadmin');
                 $od_fondo = $odirect->get('fondo');
                 $od_ivag = $odirect->get('ivag');
                 $od_ivaa = $odirect->get('ivaa');
                 $od_ivar = $odirect->get('ivar');
                 $od_reten = $odirect->get('reten');
                 $od_reteiva = $odirect->get('reteiva');
                 $od_subtotal = $odirect->get('subtotal');
                 $od_pr = $od_reten * 100 / $od_subtotal;
                 if ($status == "F3") {
                     for ($g = 0; $g < $odirect->count_rel('pacom'); $g++) {
                         $p_t = $odirect->get_rel('pacom', 'total', $g);
                         $p_compra = $odirect->get_rel('pacom', 'compra', $g);
                         $ocompra->load($p_compra);
                         $oc_codigoadm = $ocompra->get('estadmin');
                         $oc_fondo = $ocompra->get('fondo');
                         $oc_status = $ocompra->get('status');
                         //$pagado=$this->datasis->dameval("SELECT SUM(a.monto) FROM itppro a JOIN mbanc d ON d.id=a.mbanc JOIN odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra=$p_compra AND d.status='E2'");
                         //$pagado+=$it_monto;
                         //
                         $ivaa = $ocompra->get('ivaa');
                         $ivag = $ocompra->get('ivag');
                         $ivar = $ocompra->get('ivar');
                         //$subtotal  =  $ocompra->get('subtotal');
                         $reteiva = $ocompra->get('reteiva');
                         $reten = $ocompra->get('reten');
                         $ivan = $ivag + $ivar + $ivaa;
                         //$total     =  $subtotal+($ivan-($reteiva+$reten));
                         //if($total==$pagado){
                         $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo);
                         $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                         $pk['codigopres'] = $partidaiva;
                         $presup->load($pk);
                         $pasignacion = $presup->get("asignacion");
                         $odirect->count_rel('pacom');
                         for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
                             for ($k = 0; $k < $ocompra->count_rel('itocompra'); $k++) {
                                 $codigopres = $ocompra->get_rel('itocompra', 'partida', $k);
                                 $importe = $ocompra->get_rel('itocompra', 'importe', $k);
                                 $islrid = $ocompra->get_rel('itocompra', 'islrid', $k);
                                 //$mont        = $importe*(($iva+100)/100);
                                 //$i_islr      = $importe*$od_pr/100;
                                 //$mont        = $importe-$i_islr;
                                 $ordinal = $ocompra->get_rel('itocompra', 'ordinal', $k);
                                 $iva = $ocompra->get_rel('itocompra', 'iva', $k);
                                 if ($pasignacion > 0) {
                                     $mont = $importe;
                                 } else {
                                     $mont = $importe + $importe * $iva / 100;
                                 }
                                 $pk['codigopres'] = $codigopres;
                                 $presup->load($pk);
                                 $pagado = $presup->get("pagado");
                                 $pagado = $pagado - $mont;
                                 $presup->set("pagado", $pagado);
                                 $presup->save();
                                 if (!empty($ordinal)) {
                                     $ord->load(array("codigoadm" => $oc_codigoadm, "fondo" => $oc_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                                     $opa = $ord->get("pagado");
                                     $opa -= $mont;
                                     $ord->set("pagado", $opa);
                                     $ord->save();
//.........这里部分代码省略.........
开发者ID:enderochoa,项目名称:tortuga,代码行数:101,代码来源:ppro3.php

示例7: DataObject

 function _actsumi($id, $oper, $status)
 {
     $this->rapyd->load('dataobject');
     $error = "";
     $do = new DataObject("suminr");
     $do->rel_one_to_many('itsuminr', 'itsuminr', array('numero' => 'numero'));
     $do->load($id);
     $caub = $do->get('caub');
     $caube = $this->db->escape($caub);
     $sta = $do->get('sta');
     if ($sta != $status) {
         for ($i = 0; $i < $do->count_rel('itsuminr'); $i++) {
             $codigo = $do->get_rel('itsuminr', 'codigo', $i);
             $cantidad = $do->get_rel('itsuminr', 'cantidad', $i);
             $precio = $do->get_rel('itsuminr', 'precio', $i);
             $cantidad = 1 * $cantidad;
             $codigo = $this->db->escape($codigo);
             $this->db->query("INSERT IGNORE INTO su_itsumi (`codigo`,`alma`) value ({$codigo},{$caube})");
             if (is_numeric($cantidad)) {
                 $this->db->query("UPDATE sumi SET existen=existen {$oper} {$cantidad},pond=pond {$oper} ({$precio}*{$cantidad}) WHERE codigo={$codigo}");
                 $this->db->simple_query("UPDATE su_itsumi SET cantidad=cantidad {$oper} {$cantidad} WHERE codigo={$codigo} AND alma={$caube}");
             } else {
                 $error .= 'La cantidad no es numerica';
             }
             //echo "UPDATE sumi SET existen=existen $oper $cantidad,pond=pond $oper $precio WHERE codigo=$codigo";
             //exit($precio);
         }
         logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}");
     } else {
         $error .= "No se puede realizar la operacion para la nota de recepcion";
     }
     if (empty($error)) {
         $do->set('status', $status);
         $do->save();
         logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}");
         redirect($this->url . "/dataedit/show/{$id}");
     } else {
         logusu('sumine', "Marco nota de recepcion Nro {$id} como {$status} . con ERROR:{$error}");
         $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
         $data['title'] = $this->tits;
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:44,代码来源:suminr.php

示例8: DataObject

 function _actsumi($id, $oper, $status)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $do = new DataObject("sumine");
     $do->rel_one_to_many('itsumine', 'itsumine', array('numero' => 'numero'));
     $do->load($id);
     $caub = $do->get('caub');
     $caube = $this->db->escape($caub);
     $sta = $do->get('sta');
     $sumi = new DataObject("sumi");
     if ($sta != $status) {
         for ($i = 0; $i < $do->count_rel('itsumine'); $i++) {
             $codigo = $do->get_rel('itsumine', 'codigo', $i);
             $cantidad = $do->get_rel('itsumine', 'cantidad', $i);
             $cantidad = 1 * $cantidad;
             $codigoe = $this->db->escape($codigo);
             if ($oper == '-') {
                 $sumi->load($codigo);
                 $existen = $sumi->get('existen');
                 //exit("SELECT cantidad FROM su_itsumi WHERE codigo=$codigoe AND alma=$caube");
                 $existen2 = $this->datasis->dameval("SELECT cantidad FROM view_sumi_saldo WHERE codigo={$codigoe} AND caub={$caube}");
                 if ($existen2 < $cantidad || $existen2 < $cantidad) {
                     $existen = number_format($existen2, 2, ",", ".");
                     $error .= "<div class='alert'><p>No se puede entregar la cantidad de {$cantidad} suministros de codigo {$codigo}, porque solo hay {$existen} disponibles </p></div>";
                 }
             }
         }
         if (empty($error)) {
             for ($i = 0; $i < $do->count_rel('itsumine'); $i++) {
                 $codigo = $do->get_rel('itsumine', 'codigo', $i);
                 $cantidad = $do->get_rel('itsumine', 'cantidad', $i);
                 $cantidad = 1 * $cantidad;
                 $sumi->load($codigo);
                 $existen = $sumi->get('existen');
                 $codigo = $this->db->escape($codigo);
                 $costo = $this->datasis->dameval("SELECT (pond/existen) FROM sumi WHERE codigo={$codigo}");
                 $do->set_rel('itsumine', 'costo', $costo, $i);
                 if (is_numeric($cantidad)) {
                     $this->db->simple_query("UPDATE sumi SET pond=pond {$oper} ((pond/existen)*{$cantidad}),existen=existen {$oper} {$cantidad} WHERE codigo={$codigo}");
                     $this->db->simple_query("UPDATE su_itsumi SET cantidad=cantidad {$oper} {$cantidad} WHERE codigo={$codigo} AND alma={$caube}");
                 }
             }
         }
     } else {
         $error .= "No se puede realizar la operacion para la nota de entrega";
     }
     if (empty($error)) {
         $do->set('status', $status);
         $do->save();
         logusu('sumine', "Marco nota de entrega Nro {$id} como {$status}");
         redirect($this->url . "/dataedit/show/{$id}");
     } else {
         logusu('sumine', "Marco nota de entrega Nro {$id} como {$status} . con ERROR:{$error}");
         $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
         $data['title'] = $this->tits;
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:60,代码来源:sumine.php

示例9: terminada

 function terminada($numero, $retorna = 'ocompra')
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("ocompra");
     $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $do->load($numero);
     $numeroa = $numero;
     //echo ">>>>>".$numero.strpos($numero,'_')."<<<<<";
     //exit();
     if (strpos($numero, '_') === 0) {
         //exit('Por aqui paso');
         $tipo = $do->get('tipo');
         switch ($tipo) {
             case 'Compra':
                 $tabla = 'nocompra';
                 $prefijo = 'OC';
                 break;
             case 'Servicio':
                 $tabla = 'nocompraservi';
                 $prefijo = 'OS';
                 break;
             case 'Compromiso':
                 $tabla = 'nocompracom';
                 $prefijo = 'CO';
                 break;
             case 'Contrato':
                 $tabla = 'nocompracom';
                 $prefijo = 'CO';
                 break;
             case 'Trabajo':
                 $tabla = 'nocompratra';
                 $prefijo = 'OT';
                 break;
             case 'Ejec.Obra':
                 $tabla = 'nocompraobra';
                 $prefijo = 'EO';
                 break;
             case 'Cont.Marco':
                 $tabla = 'nocompramarco';
                 $prefijo = 'CM';
                 break;
         }
         $contador = $this->datasis->fprox_numero($tabla);
         $do->set('numero', $prefijo . $contador);
         //$do->pk=array('numero'=>$prefijo.$contador);
         for ($i = 0; $i < $do->count_rel('itocompra'); $i++) {
             $do->set_rel('itocompra', 'id', '', $i);
             $do->set_rel('itocompra', 'numero', $prefijo . $contador, $i);
         }
         $this->db->query("DELETE FROM itocompra WHERE numero='{$numero}'");
         $numero = $prefijo . $contador;
         $this->db->query("UPDATE itfac SET nocompra='" . $prefijo . $contador . "' WHERE nocompra='{$numeroa}'");
     }
     $status = $do->get('status');
     if ($status == 'M') {
         $do->set('status', 'P');
         $do->save();
     }
     logusu('ocompra', "Marco Orden de Compra como Terminada Nro {$numero}");
     redirect("presupuesto/{$retorna}/dataedit/show/{$numero}");
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:61,代码来源:ocompra.php

示例10: convertir

 function convertir($numero)
 {
     $this->rapyd->load('dataobject');
     $requi = new DataObject("requi");
     $requi->rel_one_to_many('itrequi', 'itrequi', array('numero' => 'numero'));
     $requi->load($numero);
     $ocompra = $requi->get('ocompra');
     $do = new DataObject("ocompra");
     $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     if (!empty($ocompra)) {
         redirect("presupuesto/ocompra/dataedit/show/{$ocompra}");
     }
     $do->set('uejecutora', $requi->get('uejecuta'));
     $do->set('observa', $requi->get('objetivo'));
     //$do->set('responsable'     ,$requi->get('responsable'   ));
     $iva = $this->datasis->dameval("SELECT tasa FROM civa ORDER BY fecha DESC LIMIT 1");
     for ($i = 0; $i < $requi->count_rel('itrequi'); $i++) {
         $do->set_rel('itocompra', 'cantidad', $requi->get_rel('itrequi', 'cantidad', $i), $i);
         $do->set_rel('itocompra', 'unidad', $requi->get_rel('itrequi', 'unidad', $i), $i);
         $do->set_rel('itocompra', 'descripcion', $requi->get_rel('itrequi', 'descrip', $i), $i);
         $do->set_rel('itocompra', 'precio', $requi->get_rel('itrequi', 'precio', $i), $i);
         $do->set_rel('itocompra', 'importe', $requi->get_rel('itrequi', 'importe', $i), $i);
         $do->set_rel('itocompra', 'partida', $requi->get_rel('itrequi', 'partida', $i), $i);
         $do->set_rel('itocompra', 'iva', $iva, $i);
     }
     $do->set('estadmin', $requi->get('estadmin'));
     $do->set('fondo', $requi->get('fondo'));
     $do->set('fecha', date('Ymd'));
     $do->save();
     $numero = $do->get('numero');
     $requi->set('ocompra', $numero);
     $requi->set('status', 'X');
     $requi->save();
     redirect("presupuesto/ocompra/dataedit/modify/{$numero}");
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:35,代码来源:requisicion.php

示例11: reversar

 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $ord = new DataObject("ordinal");
     $mbanc = new DataObject("mbanc");
     $mbanc->rel_one_to_many('itppro', 'itppro', array('id' => 'mbanc'));
     $mbanc->load($id);
     $m_codbanc = $mbanc->get('codbanc');
     $m_monto = $mbanc->get('monto');
     $banc = new DataObject("banc");
     $banc->load($m_codbanc);
     $saldo = $banc->get('saldo');
     $activo = $banc->get('activo');
     $odirect = new DataObject("odirect");
     $odirect->rel_one_to_many('pacom', 'pacom', array('numero' => 'pago'));
     $odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $odirect->rel_one_to_many('islr', 'islr', array('numero' => 'odirect'));
     $ocompra = new DataObject("ocompra");
     $ocompra->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero'));
     $riva = new DataObject("riva");
     $presup = new DataObject("presupuesto");
     $presupante = new DataObject("presupuestoante");
     $ordinalante = new DataObject("ordinalante");
     $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
     if ($activo != 'S') {
         $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>";
     }
     $sta = $mbanc->get('status');
     if ($sta == "E2") {
         $t = 0;
         if (empty($error)) {
             for ($j = 0; $j < $mbanc->count_rel('itppro'); $j++) {
                 $orden = $mbanc->get_rel('itppro', 'orden', $j);
                 $it_monto = $mbanc->get_rel('itppro', 'monto', $j);
                 $odirect->load($orden);
                 $status = $odirect->get('status');
                 $od_numero = $odirect->get('numero');
                 $od_estadmin = $odirect->get('estadmin');
                 $od_fondo = $odirect->get('fondo');
                 $od_ivag = $odirect->get('ivag');
                 $od_ivaa = $odirect->get('ivaa');
                 $od_ivar = $odirect->get('ivar');
                 $od_reten = $odirect->get('reten');
                 $od_reteiva = $odirect->get('reteiva');
                 $od_subtotal = $odirect->get('subtotal');
                 $od_pr = $od_reten * 100 / $od_subtotal;
                 if ($status == "F3") {
                     for ($g = 0; $g < $odirect->count_rel('pacom'); $g++) {
                         $p_t = $odirect->get_rel('pacom', 'total', $g);
                         $p_compra = $odirect->get_rel('pacom', 'compra', $g);
                         $ocompra->load($p_compra);
                         $oc_codigoadm = $ocompra->get('estadmin');
                         $oc_fondo = $ocompra->get('fondo');
                         $oc_status = $ocompra->get('status');
                         //$pagado=$this->datasis->dameval("SELECT SUM(a.monto) FROM itppro a JOIN mbanc d ON d.id=a.mbanc JOIN odirect b ON a.orden=b.numero JOIN pacom c ON b.numero=c.pago WHERE c.compra=$p_compra AND d.status='E2'");
                         //$pagado+=$it_monto;
                         //
                         $ivaa = $ocompra->get('ivaa');
                         $ivag = $ocompra->get('ivag');
                         $ivar = $ocompra->get('ivar');
                         //$subtotal  =  $ocompra->get('subtotal');
                         $reteiva = $ocompra->get('reteiva');
                         $reteiva_prov = $ocompra->get('reteiva_prov');
                         $reten = $ocompra->get('reten');
                         $ivan = $ivag + $ivar + $ivaa;
                         //$total     =  $subtotal+($ivan-($reteiva+$reten));
                         //if($total==$pagado){
                         $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo);
                         $partidaiva = $this->datasis->traevalor("PARTIDAIVA");
                         $pk['codigopres'] = $partidaiva;
                         $presup->load($pk);
                         $pasignacion = $presup->get("asignacion");
                         $odirect->count_rel('pacom');
                         for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
                             $p_compra = $odirect->get_rel('pacom', 'compra', $h);
                             for ($k = 0; $k < $ocompra->count_rel('itocompra'); $k++) {
                                 $codigopres = $ocompra->get_rel('itocompra', 'partida', $k);
                                 $importe = $ocompra->get_rel('itocompra', 'importe', $k);
                                 $islrid = $ocompra->get_rel('itocompra', 'islrid', $k);
                                 $ordinal = $ocompra->get_rel('itocompra', 'ordinal', $k);
                                 $iva = $ocompra->get_rel('itocompra', 'iva', $k);
                                 if ($pasignacion > 0) {
                                     $mont = $importe;
                                 } else {
                                     $mont = $importe + ($importe * $iva / 100 - $importe * $iva / 100 * $reteiva_prov / 100);
                                 }
                                 $pk = array('codigoadm' => $oc_codigoadm, 'tipo' => $oc_fondo, 'codigopres' => $codigopres);
                                 $presup->load($pk);
                                 $pagado = $presup->get("pagado");
                                 $pagado = $pagado - $mont;
                                 $presup->set("pagado", $pagado);
                                 $presup->save();
                                 if (!empty($ordinal)) {
                                     $ord->load(array("codigoadm" => $oc_codigoadm, "fondo" => $oc_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
                                     $opa = $ord->get("pagado");
                                     $opa -= $mont;
                                     $ord->set("pagado", $opa);
                                     $ord->save();
                                 }
//.........这里部分代码省略.........
开发者ID:enderochoa,项目名称:tortuga,代码行数:101,代码来源:ppro.php

示例12: actualizar

 function actualizar($numero)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("casi");
     $do->rel_one_to_many('itcasi', 'itcasi', array('comprob' => 'comprob'));
     $do->load($numero);
     $error = '';
     $fecha = $do->get('fecha');
     $error .= $this->chcasise($fecha);
     $tdebe = $thaber = 0;
     for ($i = 0; $i < $do->count_rel('itcasi'); $i++) {
         $cuenta = $do->get_rel('itcasi', 'cuenta', $i);
         $debe = $do->get_rel('itcasi', 'debe', $i);
         $haber = $do->get_rel('itcasi', 'haber', $i);
         $tdebe += $debe;
         $thaber += $haber;
         if ($debe != 0 && $haber != 0) {
             $error .= "<div class='alert'><p>Error en la cuenta {$cuenta}: Uno de los campos debe o haber debe contener un valor positivo y el otro cero(0)</p></div>";
         }
     }
     if ($this->datasis->traevalor('CASIDESCUDRADO', 'N', 'PERMITE ACTURALIZAR UN ASIENTO DESCUADRADO') != 'S') {
         if (round($tdebe, 2) != round($thaber, 2)) {
             $error .= "<div class='alert'><p>Asiento Descuadrado</p></div>";
         }
     }
     if (empty($error)) {
         $do->set('debe', $tdebe);
         $do->set('haber', $thaber);
         $do->set('total', $tdebe - $thaber);
         $do->set('status', 'C2');
         $do->save();
     }
     if (empty($error)) {
         $fecha = $do->get('fecha');
         $mes = str_pad(date('m', strtotime($fecha)), 2, '0', STR_PAD_LEFT);
         $this->cal_nrocomp($mes);
         logusu('CASI', 'Actualizo Asiento Contable ' . $numero);
         redirect($this->url . "dataedit/show/{$numero}");
     } else {
         $data['content'] = "<div class='alert'>" . $error . "</div>" . anchor($this->url . "dataedit/show/{$numero}", 'Regresar');
         $data['title'] = "{$this->tits}";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
         return false;
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:46,代码来源:casi.php

示例13: reversar

 function reversar($id)
 {
     $this->rapyd->load('dataobject');
     $do = new DataObject("audis");
     $do->rel_one_to_many('itaudis', 'itaudis', array('numero' => 'numero'));
     $do->load($id);
     $sta = $do->get('status');
     if ($sta == 'C') {
         $tipo = $do->get('tipo');
         $campo = $tipo == 'AUMENTO' ? 'aumento' : 'disminucion';
         $factor = 1;
         $error = '';
         if ($tipo == 'AUMENTO') {
             for ($i = 0; $i < $do->count_rel('itaudis'); $i++) {
                 $codigopres = $do->get_rel('itaudis', 'codigopres', $i);
                 $monto = $do->get_rel('itaudis', 'monto', $i);
                 $ordinal = $do->get_rel('itaudis', 'ordinal', $i);
                 $codigoadm = $do->get_rel('itaudis', 'codigoadm', $i);
                 $fondo = $do->get_rel('itaudis', 'fondo', $i);
                 $error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, '$monto > ($presupuesto-$comprometido)', "El Monto ({$monto}) es mayor al disponible para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})");
             }
             if (empty($error)) {
                 $factor = -1;
             }
         }
         if (empty($error)) {
             for ($i = 0; $i < $do->count_rel('itaudis'); $i++) {
                 $codigopres = $do->get_rel('itaudis', 'codigopres', $i);
                 $monto = $do->get_rel('itaudis', 'monto', $i);
                 $ordinal = $do->get_rel('itaudis', 'ordinal', $i);
                 $codigoadm = $do->get_rel('itaudis', 'codigoadm', $i);
                 $fondo = $do->get_rel('itaudis', 'fondo', $i);
                 $error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 1 * $factor, array($campo));
             }
             if (empty($error)) {
                 $do->set('status', 'A');
                 $do->save();
                 $this->sp_presucalc($codigoadm);
             }
         }
     } else {
         $error .= "<div class='alert'><p>No se puede realizar la operacion para este aumento � disminucion</p></div>";
     }
     if (empty($error)) {
         logusu('audis', "reverso {$campo} numero {$id}");
         redirect("presupuesto/audis/dataedit/show/{$id}");
     } else {
         logusu('audis', "reverso {$campo} numero {$id} con error {$error}");
         $data['content'] = $error . anchor("presupuesto/audis/dataedit/show/{$id}", 'Regresar');
         $data['title'] = " Aumentos y Disminuciones ";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:codethics,项目名称:proteoerp,代码行数:54,代码来源:sinvlist.php

示例14: DataObject

 function cd_reversar($numero, $anular = false, $redirect = true)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $do = new DataObject("cdisp");
     $do->rel_one_to_many('itcdisp', 'itcdisp', array('numero' => 'numero'));
     $do->load($numero);
     $status = $do->get('status');
     if ($status == 'C') {
         $importes = array();
         for ($i = 0; $i < $do->count_rel('itcdisp'); $i++) {
             $codigoadm = $do->get_rel('itcdisp', 'codigoadm', $i);
             $fondo = $do->get_rel('itcdisp', 'fondo', $i);
             $codigopres = $do->get_rel('itcdisp', 'codigopres', $i);
             $importe = $do->get_rel('itcdisp', 'importe', $i);
             $soli = $do->get_rel('itcdisp', 'soli', $i);
             $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres;
             if (array_key_exists($cadena, $importes)) {
                 $importes[$cadena] += $soli;
             } else {
                 $importes[$cadena] = $soli;
             }
         }
         if (empty($error) && $status == 'C') {
             foreach ($importes as $cadena => $monto) {
                 $temp = explode('_._', $cadena);
                 $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($apartado),2)', 'El Monto ($monto) es mayor al apartado ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') ');
             }
         }
         //print_r($importes);
         //exit('Hello World'.$error);
         if (empty($error)) {
             foreach ($importes as $cadena => $monto) {
                 $temp = explode('_._', $cadena);
                 $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, -1, array("apartado"));
             }
         }
     } else {
         $error .= "<div class='alert'>No se puede realizar la operacion para el certificado</div>";
     }
     if (empty($error)) {
         if ($anular) {
             $do->set('fanulado', date('Ymd'));
             $do->set('status', 'A');
             logusu('cdisp', "Marco como anulado certificado nro {$numero}");
         } else {
             $do->set('ffinal', date('Ymd'));
             if ($status == 'F') {
                 $do->set('status', 'C');
             } else {
                 $do->set('status', 'F');
             }
             logusu('cdisp', "Marco como finalizado certificado nro {$numero}");
         }
         $do->save();
         if ($redirect) {
             redirect($this->url . "dataedit/show/{$numero}");
         }
     } else {
         logusu('cdisp', "Marco como anulado certificado nro {$numero} con ERROR {$error}");
         $data['content'] = $error . anchor($this->url . "dataedit/show/{$numero}", 'Regresar');
         $data['title'] = " {$this->tits}";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:66,代码来源:common.php

示例15: termina

 function termina($numero)
 {
     $this->rapyd->load('dataobject');
     $error = '';
     $do = new DataObject("anoprox");
     $do->rel_one_to_many('itanoprox', 'itanoprox', array('numero' => 'numero'));
     $do->load($numero);
     $status = $do->get('status');
     if ($status == 'H1') {
     } else {
         $error .= "<div class='alert'>No se puede realizar la operacion para el certificado</div>";
     }
     if (empty($error)) {
         $numero = $ncdisp = $this->datasis->fprox_numero('nanoprox');
         $do->set('numero', $ncdisp);
         //$do->pk    =array('numero'=>$ncdisp);
         for ($i = 0; $i < $do->count_rel('itanoprox'); $i++) {
             $do->set_rel('itanoprox', 'id', '', $i);
             $do->set_rel('itanoprox', 'numero', $ncdisp, $i);
         }
     }
     //print_r($do->get_all());
     if (empty($error)) {
         $do->set('status', 'H2');
         $do->save();
         logusu('canoprox', "Marco como terminado documento nro {$numero}");
         redirect($this->url . "dataedit/show/{$numero}");
     } else {
         logusu('anoprox', "Marco como terminado dosumento nro {$numero} con ERROR {$error}");
         $data['content'] = $error . anchor($this->url . "dataedit/show/{$numero}", 'Regresar');
         $data['title'] = " {$this->tits}";
         $data["head"] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $data);
     }
 }
开发者ID:enderochoa,项目名称:tortuga,代码行数:35,代码来源:anoprox.php


注:本文中的DataObject::count_rel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。