Skip to content

Instantly share code, notes, and snippets.

@wilfredor
Created October 30, 2014 10:56
Show Gist options
  • Save wilfredor/b92f66eb5fbe36f54b09 to your computer and use it in GitHub Desktop.
Save wilfredor/b92f66eb5fbe36f54b09 to your computer and use it in GitHub Desktop.
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