本文整理汇总了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ó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);
}
}
示例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>";
//.........这里部分代码省略.........
示例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);
}
}
示例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);
}
}
示例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) {
//.........这里部分代码省略.........
示例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();
//.........这里部分代码省略.........
示例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);
}
}
示例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);
}
}
示例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}");
}
示例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}");
}
示例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();
}
//.........这里部分代码省略.........
示例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;
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}