Created
October 30, 2014 10:56
-
-
Save wilfredor/b92f66eb5fbe36f54b09 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public function copiaItensPrescAnterior($idPrescNova, $idPrescripItem,$data) | |
{ | |
$dadosPrescricao = $this->getPrescricoes($idPrescNova); | |
$dadosPrescricao = $dadosPrescricao[0]; | |
$sql = "INSERT INTO CapPrescripItem(IDPRESCRIPTION, IDFREQUENCY, IDALTERNATE, SCMEDICAMENT, MEDICAMENTTYPE, APPLICTYPEGROUP, ITEM, "; | |
$sql.= "SUBITEM, REFERENCE, PHARMACYITEM, USETYPE, CONTROLTYPE, SENDALTERNATE, SCHEDULECOUNT, APPLICATIONCOUNT, APPLICATIONDONE, "; | |
$sql.= "PARTIALAPPLICATION, PARTIALCOUNT, STARTHOUR, STARTDATE, ENDDATE, QUANTITY, MU, SCHEDULE, MEDICAMENT, INSTRUCTIONS, "; | |
$sql.= "FLOWMU, DURATION, FLOWVALUE,SERUMCOUNT, SYSTEMINSTRUCTIONS, HD_Origin) "; | |
$sql.= "SELECT $idPrescNova, IDFREQUENCY, IDALTERNATE, SCMEDICAMENT, MEDICAMENTTYPE, APPLICTYPEGROUP, "; | |
$sql.= "(SELECT COALESCE(MAX(ITEM) + 1, 1) FROM CapPrescripItem WHERE IDPrescription = $idPrescNova), "; | |
$sql.= "SUBITEM, REFERENCE, PHARMACYITEM, USETYPE, CONTROLTYPE, SENDALTERNATE, SCHEDULECOUNT, APPLICATIONCOUNT, APPLICATIONDONE, "; | |
$sql.= "PARTIALAPPLICATION, PARTIALCOUNT, STARTHOUR, '" . $dadosPrescricao->StartDateTimeStamp . "', '" . $dadosPrescricao->HorizonDateTimeStamp . "', "; | |
$sql.= "QUANTITY, MU, SCHEDULE, MEDICAMENT, INSTRUCTIONS, FLOWMU, DURATION, FLOWVALUE,SERUMCOUNT, SYSTEMINSTRUCTIONS, 'HDWEB' "; | |
$sql.= " FROM CapPrescripItem "; | |
$sql.= " WHERE IDPRESCRIPTION = (SELECT IDPRESCRIPTION FROM CapPrescripItem WHERE ID = $idPrescripItem) "; | |
$sql.= " AND ITEM IN (SELECT ITEM FROM CapPrescripItem WHERE ID = $idPrescripItem) ORDER BY ITEM,SUBITEM"; | |
$this->db->trans_begin(); | |
$r = $this->db->query(utf8_encode($sql)); | |
if ($this->db->affected_rows() == 0) { | |
$this->db->trans_rollback(); | |
return "ERRO"; | |
} | |
$idPrescripItemNew = $this->db->insert_id(); | |
$sqlUpdate = "UPDATE CapPrescripItem | |
SET IdPrescripItemRef = ID | |
WHERE IDPrescription = $idPrescNova AND IdPrescripItemRef IS NULL"; | |
$r = $this->db->query($sqlUpdate); | |
if ($this->db->affected_rows() == 0) { | |
$this->db->trans_rollback(); | |
return "ERRO"; | |
} | |
$this->db->trans_commit(); | |
$sql = "SELECT ID | |
FROM CapPrescripItem | |
WHERE ITEM IN(SELECT ITEM FROM CapPrescripItem WHERE ID = $idPrescripItemNew) | |
AND IDPRescription = $idPrescNova"; | |
$r = $this->db->query($sql); | |
if ($r->num_rows() > 0) { | |
$result = $r->result(); | |
foreach ($result as $item) { | |
$this->insereScheduleItem($item->ID,isset($data['IDPrescriptionPrev'])?$data['IDPrescriptionPrev']:'NULL' ); | |
$this->updateResponsabilidadesItem($item->ID); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment