本文整理汇总了PHP中DataObject::set_rel方法的典型用法代码示例。如果您正苦于以下问题:PHP DataObject::set_rel方法的具体用法?PHP DataObject::set_rel怎么用?PHP DataObject::set_rel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataObject
的用法示例。
在下文中一共展示了DataObject::set_rel方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: terminada
function terminada($id)
{
$this->rapyd->load('dataobject');
$do = new DataObject("otrabajo");
$do->rel_one_to_many('itotrabajo', 'itotrabajo', array('numero' => 'numero'));
$do->load($id);
$numero = $do->get('numero');
if (strpos($numero, '_') === 0) {
$contador = $this->datasis->fprox_numero('notrabajo');
$do->set('numero', $contador);
for ($i = 0; $i < $do->count_rel('itotrabajo'); $i++) {
$do->set_rel('itotrabajo', 'id', '', $i);
$do->set_rel('itotrabajo', 'numero', $contador, $i);
}
$this->db->query("DELETE FROM itotrabajo WHERE numero='{$numero}'");
} else {
$contador = $id;
}
if (empty($error)) {
$do->set('status', 'C');
$do->save();
}
if (empty($error)) {
logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}");
redirect("presupuesto/otrabajo/dataedit/show/{$contador}");
} else {
logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}. con ERROR:{$error} ");
$data['content'] = $error . anchor("presupuesto/otrabajo/dataedit/show/{$id}", 'Regresar');
$data['title'] = " Orden de Trabajo ";
$data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js");
$this->load->view('view_ventanas', $data);
}
}
示例2: reversar
//.........这里部分代码省略.........
$importe = $odirect->get_rel('itodirect', 'importe', $g);
$piva = $odirect->get_rel('itodirect', 'iva', $g);
$islrid = $odirect->get_rel('itodirect', 'islrid', $g);
echo $ordinal = $odirect->get_rel('itodirect', 'ordinal', $g);
$i_islr = $importe * $od_pr / 100;
//exit('12');
if ($pasignacion > 0) {
$mont = $importe;
} else {
$mont = $importe + $importe * $piva / 100;
}
$pk['codigopres'] = $codigopres;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado = $pagado - ($mont - $i_islr);
$presup->set("pagado", $pagado);
$presup->save();
if (!empty($ordinal)) {
$ord->load(array("codigoadm" => $od_estadmin, "fondo" => $od_fondo, "codigopres" => $codigopres, "ordinal" => $ordinal));
print_r($ord->get_all());
$opa = $ord->get("pagado");
$opa -= $mont - $i_islr;
$ord->set("pagado", $opa);
$ord->save();
}
//exit('ww');
}
if ($status == "B3") {
$riva->load_where('odirect', $od_numero);
$riva->set('status', 'A');
$riva->save();
$ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva;
if ($pasignacion > 0) {
$pk['codigopres'] = $partidaiva;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado -= $ii;
$presup->set("pagado", $pagado);
$presup->save();
}
$odirect->set('status', 'B2');
$odirect->save();
$this->sp_presucalc($od_estadmin);
}
} elseif ($status == 'S3') {
$pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
for ($g = 0; $g < $odirect->count_rel('islr'); $g++) {
$islrid = '';
$codigopres = $odirect->get_rel('islr', 'partida', $g);
$i_islr = $odirect->get_rel('islr', 'islr', $g);
$pk['codigopres'] = $codigopres;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado -= $i_islr;
$presup->set("pagado", $pagado);
$presup->save();
$codigopres = $odirect->set_rel('islr', 'status', 'B', $g);
}
$odirect->set('status', 'S2');
$odirect->save();
$this->sp_presucalc($codigoadm);
} elseif ($status == 'R3') {
$odirect->set('status', 'R2');
} elseif ($status == 'G3') {
$odirect->set('status', 'G2');
} else {
$error .= "<div class='alert'><p>No se puede realizar la operacion para la orden de pago ({$od_numero})</p></div>";
}
}
$odirect->save();
//exit('hgghhgg');
if ($status == "B2") {
$islr = new DataObject("islr");
$islrid = $do->get->islr('islrid');
if (!empty($islrid)) {
$islr->load($islrid);
$islr->set('status', 'A');
$islr->save();
}
}
} else {
$error .= "<div class='alert'><p>Error aun no determinado</p></div>";
}
} else {
$error .= "<div class='alert'><p>No se Puede Completar la operacion s</p></div>";
}
if (empty($error)) {
$mbanc->set('status', 'E1');
$mbanc->save();
$saldo += $m_monto;
$banc->set('saldo', $saldo);
$banc->save();
redirect($this->url . "dataedit/show/{$id}");
} else {
$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);
}
}
示例3: actualizar
function actualizar($id)
{
$this->rapyd->load('dataobject');
$this->db->query("UPDATE mbanc x\n JOIN (\n SELECT a.id,GROUP_CONCAT(1*c.pago) opago\n FROM mbanc a\n JOIN desem b ON a.desem=b.numero\n JOIN pades c ON b.numero=c.desem\n JOIN odirect d ON c.pago=d.numero\n WHERE a.desem={$id}\n GROUP BY a.id\n )y ON x.id=y.id\n SET x.observa2 =y.opago");
$error = '';
$do = new DataObject("desem");
$do->rel_one_to_many('mbanc', 'mbanc', array('numero' => 'desem'));
$do->load($id);
$banc = new DataObject("banc");
$b = array();
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);
$this->chexiste_cheque($codbanc, $cheque, $tipo_doc, $mid, $e);
$error .= $e;
$error .= $this->chbanse($codbanc, $fecha);
//print_r($b);
if (in_array($codbanc, $b)) {
$b[$codbanc] += $monto;
} else {
$b[$codbanc] = $monto;
}
}
if (empty($error) && $mstatus == 'E1') {
foreach ($b as $codbanc => $monto) {
$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 ($monto > $saldo) {
$error .= "<div class='alert'><p>La suma de los Montos de los cheques ({$monto}) es mayor al disponible ({$saldo}) en el banco ({$banco})</p></div>";
}
}
}
if (empty($error)) {
$error .= $this->actpresup($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', 'mid', $i);
$do->set_rel('mbanc', 'status', 'E2', $i);
$banc->load($codbanc);
$saldo = $banc->get('saldo');
$saldo -= $monto;
$banc->set('saldo', $saldo);
$banc->save();
}
}
if (empty($error)) {
$do->set('status', 'D2');
$do->save();
logusu('desem', "Actualizo desembolso Nro {$id}");
redirect($this->url . "dataedit/show/{$id}");
} else {
logusu('desem', "Actualizo desembolso 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();
$this->load->view('view_ventanas', $data);
}
}
示例4: 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);
}
}
示例5: DataObject
function itfac2($data, $numero, $retorna)
{
//print_r($data);
// exit();
$this->rapyd->load("dataobject");
$do = new DataObject("ocompra");
$do->rel_one_to_many('itfac', 'itfac', array('numero' => 'nocompra'));
$do->load($numero);
$reteiva_prov = $do->get('reteiva_prov');
$creten = $do->get('creten');
$total2 = $do->get('total2');
$ivag = $do->get('ivag');
$ivar = $do->get('ivar');
$ivaa = $do->get('ivaa');
$i = $ttotal2 = $ttemp = 0;
$error = '';
$ivaplica = $this->datasis->ivaplica();
foreach ($data as $row) {
$temp = array();
foreach ($row as $cols) {
$temp[] = $cols;
}
if (strlen($temp[3]) > 0) {
$do->set_rel('itfac', 'nocompra', $numero, $i);
$do->set_rel('itfac', 'factura', $temp[3], $i);
$do->set_rel('itfac', 'controlfac', $temp[4], $i);
$do->set_rel('itfac', 'fechafac', human_to_dbdate($temp[2]), $i);
$temp[11] = 1 * $temp[11];
$do->set_rel('itfac', 'exento', 0, $i);
$do->set_rel('itfac', 'ivar', 0, $i);
$do->set_rel('itfac', 'ivaa', 0, $i);
$do->set_rel('itfac', 'ivag', 0, $i);
$do->set_rel('itfac', 'uivar', 'N', $i);
$do->set_rel('itfac', 'uivaa', 'N', $i);
$do->set_rel('itfac', 'uivag', 'N', $i);
$do->set_rel('itfac', 'ureten', 'N', $i);
$do->set_rel('itfac', 'uimptimbre', 'N', $i);
$ttemp = $temp[11] + round($ttemp, 2);
$temp[9] = str_replace(',', '', $temp[9]);
$temp[11] = str_replace(',', '', $temp[11]);
switch (1 * $temp[10] * 100) {
case $ivaplica['redutasa']:
$do->set_rel('itfac', 'ivar', 1 * $temp[11], $i);
$do->set_rel('itfac', 'uivar', 'S', $i);
break;
case $ivaplica['tasa']:
$do->set_rel('itfac', 'ivag', 1 * $temp[11], $i);
$do->set_rel('itfac', 'uivag', 'S', $i);
break;
case $ivaplica['sobretasa']:
$do->set_rel('itfac', 'ivaa', 1 * $temp[11], $i);
$do->set_rel('itfac', 'uivag', 'S', $i);
break;
}
$reteiva = 1 * $temp[11] * $reteiva_prov / 100;
$total2_t = 1 * $temp[9] + 1 * $temp[11];
$ttotal2 = $total2_t + round($ttotal2, 2);
$do->set_rel('itfac', 'reteiva', $reteiva, $i);
$do->set_rel('itfac', 'subtotal', 1 * $temp[9], $i);
$do->set_rel('itfac', 'total2', $total2_t, $i);
$rete = $this->datasis->damerow("SELECT base1,tari1,pama1 FROM rete WHERE codigo='{$creten}'");
if (substr($creten, 0, 1) == '1') {
$reten = round($temp[9] * $rete['base1'] * $rete['tari1'] / 10000, 2);
} else {
$reten = round(($temp[9] - $rete['pama1']) * $rete['base1'] * $rete['tari1'] / 10000, 2);
}
if ($reten < 0) {
$reten = 0;
}
$do->set_rel('itfac', 'reten', $reten, $i);
$do->set_rel('itfac', 'ureten', 'S', $i);
$do->set_rel('itfac', 'total', $total2_t - $reten - $reteiva, $i);
$i++;
}
}
//exit("ttotal2:".$ttemp);
//if(abs($ttotal2-$total2)>=0.4)
//$error.="El monto total cargado ($ttotal2) es diferente al Comprometido ($total2) ";
//if(((round((round($s,2) -round($subtotal,2)),2) > 0.02))|| (round(round($subtotal,2)-(round($s ,2)),2) > 0.02) )$error.="<div class='alert'><p>La Suma de los Subtotales ($subtotal) de las facturas es diferente al subtotal ($s) de la orden de pago</p></div>";
if (empty($error)) {
$do->save();
redirect("presupuesto/{$retorna}/dataedit/modify/{$numero}");
} else {
//logusu('ocompra',"Comprometio Orden de Compra Nro $id. con ERROR:$error ");
$data['content'] = "<div class='alert'>" . $error . "</div>" . anchor("presupuesto/{$retorna}/load/{$numero}", 'Regresar');
$data['title'] = " Error al cargar archivo de facturas ";
$data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js");
$this->load->view('view_ventanas', $data);
}
}
示例6: presup
//.........这里部分代码省略.........
$campo = array('comprometido');
$formula .= 'round($comprometido-$causado,2)';
if ($status != 'T2' && $status != 'C1') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
case 'E1':
$factor = 1;
$campo = array('pagado');
$formula .= 'round($opago-$pagado)';
if ($status != 'E2' && $status != 'O1') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
case 'O1':
$factor = 1;
$campo = array('opago');
$formula .= 'round($causado-$opago,2)';
if ($status != 'O2' && $status != 'T1') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
case 'T1':
$factor = 1;
$campo = array('causado');
$formula .= 'round($comprometido-$causado,2)';
if ($status != 'T2' && $status != 'C1') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
case 'C1':
$factor = 1;
$campo = array('comprometido');
$formula .= 'round($presupuesto-$comprometido,2)';
if ($status != 'C2') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
case 'F1':
$factor = 1;
$campo = array('pagado', 'opago', 'causado', 'comprometido');
$formula .= 'round($presupuesto-$comprometido,2)';
if ($status != 'C2') {
$error .= 'ERROR. No puede realizar la operacion para el documento en este momento.';
}
break;
}
if (empty($error)) {
for ($i = 0; $i < $do->count_rel('itreinte'); $i++) {
$codigopres = $do->get_rel('itreinte', 'codigopres', $i);
$monto = $do->get_rel('itreinte', 'monto', $i);
$ordinal = $do->get_rel('itreinte', 'ordinal', $i);
$codigoadm = $do->get_rel('itreinte', 'codigoadm', $i);
$fondo = $do->get_rel('itreinte', 'fondo', $i);
$error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, $formula, $formula . " {$fondo} {$codigoadm} {$codigopres}");
}
if (empty($error)) {
if ($accion == 'E2' || $accion == 'F2') {
if (strpos($id, '_') === 0) {
$contador = $this->datasis->fprox_numero('nreinte');
$do->set('numero', $contador);
$id = $contador;
}
}
for ($i = 0; $i < $do->count_rel('itreinte'); $i++) {
if ($accion == 'E2' || $accion == 'F2') {
$do->set_rel('itreinte', 'id', '', $i);
$do->set_rel('itreinte', 'numero', $contador, $i);
}
$codigopres = $do->get_rel('itreinte', 'codigopres', $i);
$monto = $do->get_rel('itreinte', 'monto', $i);
$ordinal = $do->get_rel('itreinte', 'ordinal', $i);
$codigoadm = $do->get_rel('itreinte', 'codigoadm', $i);
$fondo = $do->get_rel('itreinte', 'fondo', $i);
$error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, $factor, $campo);
}
if (empty($error)) {
if ($accion == 'F2') {
$accion = 'C2';
} elseif ($accion == 'F1') {
$accion = 'C1';
}
$do->set('status', $accion);
$do->save();
}
}
} else {
$error = "<div class='alert'><p>{$error}</p></div>";
}
if (empty($error)) {
logusu('audis', "actualizo {$campo} numero {$id}");
redirect($this->url . "/dataedit/show/{$id}");
} else {
logusu('audis', "actualizo {$campo} numero {$id} con error {$error}");
$data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar');
$data['title'] = " Aumentos y Disminuciones ";
$data["head"] = $this->rapyd->get_head();
$this->load->view('view_ventanas', $data);
}
}
示例7: reversar
function reversar($numero)
{
$this->rapyd->load('dataobject');
$do = new DataObject("nomi");
$do->rel_one_to_many('asignomi', 'asignomi', array('numero' => 'numero'));
$do->rel_one_to_many('retenomi', 'retenomi', array('numero' => 'numero'));
$do->load($numero);
$status = $do->get('status');
$tasig = 0;
$b = array();
$error = '';
if ($status == "C") {
for ($i = 0; $i < $do->count_rel('asignomi'); $i++) {
$ordinal = $do->get_rel('asignomi', 'ordinal', $i);
$codigopres = $do->get_rel('asignomi', 'codigopres', $i);
$codigoadm = $do->get_rel('asignomi', 'codigoadm', $i);
$fondo = $do->get_rel('asignomi', 'fondo', $i);
$monto = $do->get_rel('asignomi', 'monto', $i);
$error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 'round($monto,2) > round(($comprometido-$causado),2)', "El Monto ({$monto}) es mayor al disponible para descomprometer para la partida ({$codigopres})");
}
if (empty($error)) {
for ($i = 0; $i < $do->count_rel('asignomi'); $i++) {
$ordinal = $do->get_rel('asignomi', 'ordinal', $i);
$codigopres = $do->get_rel('asignomi', 'codigopres', $i);
$codigoadm = $do->get_rel('asignomi', 'codigoadm', $i);
$fondo = $do->get_rel('asignomi', 'fondo', $i);
$monto = $do->get_rel('asignomi', 'monto', $i);
$error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, -1, array("comprometido"));
}
if (empty($error)) {
$do->set('status', 'P');
//$do->set('fcomprome',date('Ymd'));
$do->save();
for ($i = 0; $i < $do->count_rel('retenomi'); $i++) {
$do->set_rel('retenomi', 'status', 'P', $i);
}
$do->save();
}
}
} else {
$error .= "No se puede realizar la operacion para la nomina {$numero}";
}
//$this->sp_presucalc($codigoadm);
if (empty($error)) {
logusu('nomi', "Descomprometio nomina Nro {$numero}");
redirect($this->url . "dataedit/show/{$numero}");
} else {
logusu('nomi', "Descomprometio nomina Nro {$numero} 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);
}
}
示例8: 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}");
}
示例9: reversar
function reversar($numero, $anular = 'N')
{
$this->rapyd->load('dataobject');
$error = '';
$odirect = new DataObject("odirect");
$odirect->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
$odirect->load($numero);
$nnumero = $odirect->get('numero');
if ($nnumero != $numero) {
$error .= "<div class='alert'>No se pudo cargar la orden de pago</div>";
}
$ostatus = $odirect->get('status');
if ($ostatus != 'K2') {
$error .= "<div class='alert'>No es Posible Realizar la operación para la orden de pago </div>";
}
$nomina = $odirect->get('nomina');
if (empty($nomina)) {
$error .= "<div class='alert'>La orden de pago no tiene asignada alguna nomina asignada</div>";
}
$do = new DataObject("nomi");
$do->rel_one_to_many('asignomi', 'asignomi', array('numero' => 'numero'));
$do->rel_one_to_many('retenomi', 'retenomi', array('numero' => 'numero'));
$do->load($nomina);
echo "--" . ($status = $do->get('status'));
if ($status != 'O') {
$error .= "<div class='alert'>No es Posible Realizar la operación para la nómina </div>";
}
$status = $do->get('status');
if (empty($error)) {
$tasig = 0;
$b = array();
$error = '';
if ($status == "O") {
for ($i = 0; $i < $do->count_rel('asignomi'); $i++) {
$codigopres = $do->get_rel('asignomi', 'codigopres', $i);
$codigoadm = $do->get_rel('asignomi', 'codigoadm', $i);
$fondo = $do->get_rel('asignomi', 'fondo', $i);
$monto = $do->get_rel('asignomi', 'monto', $i);
$error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, 'round($monto,2) > round(($opago-$pagado),2)', "El Monto ({$monto}) es mayor al disponible para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})");
//
}
if (empty($error)) {
for ($i = 0; $i < $do->count_rel('asignomi'); $i++) {
$codigopres = $do->get_rel('asignomi', 'codigopres', $i);
$codigoadm = $do->get_rel('asignomi', 'codigoadm', $i);
$fondo = $do->get_rel('asignomi', 'fondo', $i);
$monto = $do->get_rel('asignomi', 'monto', $i);
$error .= $this->afectapresup($codigoadm, $fondo, $codigopres, $ordinal, $monto, 0, -1, array("causado", "opago"));
}
if (empty($error)) {
if ($anular == 'S') {
$odirect->set('status', 'KA');
$odirect->set('fanulado', date('Ymd'));
$do->set('opago', '');
$do->set('status', 'C');
} else {
$odirect->set('status', 'K1');
$do->set('status', 'D');
}
$odirect->save();
for ($i = 0; $i < $do->count_rel('retenomi'); $i++) {
$do->set_rel('retenomi', 'status', 'C', $i);
}
$do->save();
}
}
} else {
$error .= "No se puede realizar la operacion para la nomina {$numero}";
}
}
if (empty($error)) {
logusu('nomi', "Reverso Orden de Pago de nomina Nro {$numero}");
redirect($this->url . "dataedit/show/{$numero}");
} else {
logusu('nomi', "Reverso Orden de Pago de nomina Nro {$numero} 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);
}
}
示例10: reversar
//.........这里部分代码省略.........
for ($l = 0; $l < $odirect->count_rel('itfac'); $l++) {
$iditfac = $odirect->get_rel('itfac', 'id', $l);
$riva = new DataObject('riva');
$riva->load_where('itfac', $iditfac);
$riva->set('status', 'AN');
$riva->save();
}
}
}
$ii = $od_ivaa + $od_ivag + $od_ivar - $od_reteiva;
if ($pasignacion > 0) {
$pk['codigopres'] = $partidaiva;
$presupante->load($pk);
$pagado = $presupante->get("pagado");
$pagado -= $ii;
$presupante->set("pagado", $pagado);
$presupante->save();
}
$odirect->set('status', 'N2');
$odirect->save();
$this->sp_presucalc($od_estadmin);
} elseif ($status == 'S3') {
$pk = array('codigoadm' => $od_estadmin, 'tipo' => $od_fondo);
for ($g = 0; $g < $odirect->count_rel('islr'); $g++) {
$islrid = '';
$codigopres = $odirect->get_rel('islr', 'partida', $g);
$i_islr = $odirect->get_rel('islr', 'islr', $g);
$pk['codigopres'] = $codigopres;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado -= $i_islr;
$presup->set("pagado", $pagado);
$presup->save();
$codigopres = $odirect->set_rel('islr', 'status', 'B', $g);
}
$odirect->set('status', 'S2');
$odirect->save();
$this->sp_presucalc($codigoadm);
} elseif ($status == "M3") {
if ($status == 'M3') {
$odirect->set('status', 'M2');
}
$odirect->save();
} elseif ($status == 'R3') {
$odirect->set('status', 'R2');
} elseif ($status == 'H3') {
$odirect->set('status', 'H2');
} elseif ($status == 'G3') {
$odirect->set('status', 'G2');
} elseif ($status == 'O3') {
$obr = $odirect->get('obr');
$iva = $odirect->get('iva');
$total2 = $odirect->get('total2');
$amortiza = $odirect->get('amortiza');
$obra = new DataObject("obra");
$obra->load($obr);
$codigoadm = $obra->get('codigoadm');
$fondo = $obra->get('fondo');
$codigopres = $obra->get('codigopres');
$ordinal = $obra->get('ordinal');
$mont = $total2 - $amortiza;
if (empty($error)) {
if (!empty($ordinal)) {
$pk = array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal);
$ord->load($pk);
$pag = $ord->get("pagado");
示例11: 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);
}
}
示例12: 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}");
}
示例13: DataObject
function cd_precomprometer($numero, $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 == 'P' || $status == 'F') {
$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);
$disponible = $this->datasis->dameval("SELECT saldo FROM v_presaldo WHERE codigoadm='{$codigoadm}' AND fondo='{$fondo}' AND codigo='{$codigopres}'");
$do->set_rel('itcdisp', 'disp', $disponible, $i);
$cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres;
if (array_key_exists($cadena, $importes)) {
$importes[$cadena] += $soli;
} else {
$importes[$cadena] = $soli;
}
}
if (empty($error)) {
foreach ($importes as $cadena => $monto) {
$temp = explode('_._', $cadena);
$error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $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] . ') ');
}
}
//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 ($status == 'P') {
$numero = $ncdisp = $this->datasis->fprox_numero('ncdisp');
$do->set('numero', $ncdisp);
//$do->pk =array('numero'=>$ncdisp);
for ($i = 0; $i < $do->count_rel('itcdisp'); $i++) {
$do->set_rel('itcdisp', 'id', '', $i);
$do->set_rel('itcdisp', 'numero', $ncdisp, $i);
}
}
}
//print_r($do->get_all());
if (empty($error)) {
$do->set('status', 'C');
$do->save();
logusu('cdisp', "Marco como terminado certificado nro {$numero}");
if ($redirect) {
redirect("presupuesto/cdisp/dataedit/show/{$numero}");
}
} else {
logusu('cdisp', "Marco como terminado 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);
}
}
示例14: actualizar
function actualizar($numero)
{
$this->rapyd->load('dataobject');
$do = new DataObject("econo");
$do->rel_one_to_many('itecono', 'itecono', array('numero' => 'numero'));
$do->load($numero);
$sta = $do->get('status');
$error = '';
if ($sta == 'P') {
for ($i = 0; $i < $do->count_rel('itecono'); $i++) {
$codigopres = $do->get_rel('itecono', 'codigopres', $i);
$monto = $do->get_rel('itecono', 'monto', $i);
$codigoadm = $do->get_rel('itecono', 'codigoadm', $i);
$fondo = $do->get_rel('itecono', 'fondo', $i);
$error .= $this->chequeapresup($codigoadm, $fondo, $codigopres, null, $monto, 0, 'round($monto,2) > round(($comprometido-$causado),2)', "El Monto ({$monto}) es mayor al MONTO DE COMPROMETIDO POR CAUSAR para la partida ({$codigoadm}) ({$fondo}) ({$codigopres})");
}
if (empty($error)) {
for ($i = 0; $i < $do->count_rel('itecono'); $i++) {
$codigopres = $do->get_rel('itecono', 'codigopres', $i);
$monto = $do->get_rel('itecono', 'monto', $i);
$codigoadm = $do->get_rel('itecono', 'codigoadm', $i);
$fondo = $do->get_rel('itecono', 'fondo', $i);
$error .= $this->afectapresup($codigoadm, $fondo, $codigopres, null, $monto, 0, -1, array('comprometido'));
}
}
} else {
$error .= "<div class='alert'><p>No se puede realizar la operacion para esta economia</p></div>";
}
if (empty($error)) {
if (strpos($numero, '_') === 0) {
$contador = $this->datasis->fprox_numero('necono');
$do->set('numero', $contador);
for ($i = 0; $i < $do->count_rel('itecono'); $i++) {
$do->set_rel('itecono', 'id', '', $i);
$do->set_rel('itecono', 'numero', $contador, $i);
}
$this->db->query("DELETE FROM itecono WHERE numero='{$numero}'");
$numero = $contador;
}
if (empty($error)) {
$do->set('status', 'C');
$do->save();
}
logusu('econo', "actualizo economia numero {$numero}");
redirect($this->url . "/dataedit/show/{$numero}");
} else {
logusu('econo', "actualizo economia numero {$numero} con error {$error}");
$data['content'] = $error . anchor($this->url . "/dataedit/show/{$numero}", 'Regresar');
$data['title'] = " Economias ";
$data["head"] = $this->rapyd->get_head();
$this->load->view('view_ventanas', $data);
}
}
示例15: actualizar
//.........这里部分代码省略.........
for ($h = 0; $h < $odirect->count_rel('pacom'); $h++) {
for ($g = 0; $g < $ocompra->count_rel('itocompra'); $g++) {
$islrid = '';
$codigopres = $ocompra->get_rel('itocompra', 'partida', $g);
$importe = $ocompra->get_rel('itocompra', 'importe', $g);
$iva = $ocompra->get_rel('itocompra', 'iva', $g);
$islrid = $ocompra->get_rel('itocompra', 'islrid', $g);
//$mont = $importe*(($iva+100)/100);
echo "i_islr" . ($i_islr = $importe * $pr / 100);
echo "mont" . ($mont = $importe - $i_islr);
$pk['codigopres'] = $codigopres;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado = $pagado + $mont;
$presup->set("pagado", $pagado);
$presup->save();
if (!empty($islrid)) {
$islr->load($islrid);
}
$islr->set('estadmin', $oc_codigoadm);
$islr->set('fondo', $oc_fondo);
$islr->set('partida', $codigopres);
$islr->set('codprov', $oc_cod_prov);
$islr->set('fechafac', $oc_fechafac);
$islr->set('benefi', $m_benefi);
$islr->set('porcen', $od_pr);
//$islr->set('sustraendo' , );
$islr->set('islr', $i_islr);
$islr->set('fecha', date('Ymd'));
$islr->set('creten', $oc_creten);
$islr->set('ocompra', $islrid);
$islr->save();
$islrid = $islr->get('id');
$ocompra->set_rel('itocompra', 'islrid', $islrid, $g);
}
$ii = $ivan - $reteiva;
$pk['codigopres'] = $partidaiva;
$presup->load($pk);
$pagado = $presup->get("pagado");
$pagado += $ii;
$presup->set("pagado", $pagado);
$presup->save();
$riva->load_where('ocompra', $p_compra);
$riva->set('ocompra', $p_compra);
$riva->set('emision', date('Ymd'));
$riva->set('periodo', date('Ym'));
$riva->set('tipo_doc', '');
$riva->set('fecha', date('Ymd'));
$riva->set('numero', $ocompra->get('factura'));
$riva->set('ffactura', $ocompra->get('fechafac'));
$riva->set('nfiscal', $ocompra->get('controlfac'));
$riva->set('clipro', $ocompra->get('cod_prov'));
$riva->set('nombre', $ocompra->get_pointer('nom_prov'));
$riva->set('rif', $ocompra->get_pointer('rif_prov'));
$riva->set('exento', $ocompra->get('exento'));
$riva->set('tasa', $ocompra->get('tivag'));
$riva->set('general', $ocompra->get('mivag'));
$riva->set('geneimpu', $ocompra->get('ivag'));
$riva->set('tasaadic', $ocompra->get('tivaa'));
$riva->set('adicional', $ocompra->get('mivag'));
$riva->set('adicimpu', $ocompra->get('ivaa'));
$riva->set('tasaredu', $ocompra->get('tivar'));
$riva->set('reducida', $ocompra->get('mivar'));
$riva->set('reduimpu', $ocompra->get('ivar'));
$riva->set('stotal', $ocompra->get('subtotal'));
$riva->set('impuesto', $ocompra->get('ivag') + $ocompra->get('ivar') + $ocompra->get('ivaa'));