Xlsexport_model.php 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3. /**
  4. *
  5. * Model Xlsexport_model_model
  6. *
  7. * This Model for ...
  8. *
  9. * @package CodeIgniter
  10. * @category Model
  11. * @author Setiawan Jodi <jodisetiawan@fisip-untirta.ac.id>
  12. * @link https://github.com/setdjod/myci-extension/
  13. * @param ...
  14. * @return ...
  15. *
  16. */
  17. class Xlsexport_model extends CI_Model
  18. {
  19. // ------------------------------------------------------------------------
  20. public function __construct()
  21. {
  22. parent::__construct();
  23. }
  24. // ------------------------------------------------------------------------
  25. // ------------------------------------------------------------------------
  26. public function getLicitaciones($having = "")
  27. {
  28. $sql = "SELECT
  29. CF.id,
  30. LI.id_licitacion,
  31. GROUP_CONCAT( PROJI.itemClassification_value ) AS itemClassification_attr,
  32. LI.link_uri,
  33. LI.updated,
  34. CF.contractFolderID,
  35. CF.contractFolderStatusCode,
  36. LP.buyerProfileURIID,
  37. LP.contractingPartyTypeCode,
  38. MP.partyName,
  39. MP.codpostal,
  40. MP.websiteURI,
  41. MP.city,
  42. MP.direccion,
  43. MP.contact_name,
  44. MP.contact_email,
  45. MPI.idPartyIdent AS partyItem,
  46. MPI.attr as tipoIdParty,
  47. PROJ.NAME as nameProject,
  48. PROJ.estimatedOverallContractAmount,
  49. PROJ.taxExclusiveAmount,
  50. PROJ.totalAmount,
  51. PROJ.countrySubentityCode,
  52. PROJ.countrySubentity,
  53. PROJ.durationMesure,
  54. PROJ.medida,
  55. PROJ.duracion_inicio,
  56. PROJ.duracion_fin,
  57. PROJ.contractExtension,
  58. TT.procurementLegislationDocumentReference,
  59. TT.allowedSubcontractTerms,
  60. RCF.descripcion AS contrato_status,
  61. RLP.nombre AS tipo_administracion,
  62. TPC.descripcion AS tipo_contrato,
  63. RTP.nombre AS tipoTender,
  64. RTPC.nombre AS contrato_sistema,
  65. RTPS.nombre AS submision,
  66. RTPU.nombre AS urgency,
  67. LI.fecha_creacion_log
  68. FROM
  69. maestro_datos_iniciales_licitacion LI
  70. JOIN maestro_contract_folder CF ON CF.id_ajena_licitacion = LI.id_licitacion
  71. JOIN maestro_located_contracting_party LP ON LP.id_ajena_licitacion = LI.id_licitacion
  72. JOIN maestro_party MP ON MP.id_ajena_licitacion = LI.id_licitacion
  73. JOIN maestro_party_party_idenfitication MPI on MPI.id_ajena_licitacion = LI.id_licitacion AND MPI.attr = 'DIR3'
  74. JOIN maestro_procurement_project PROJ ON PROJ.id_ajena_licitacion = LI.id_licitacion
  75. JOIN maestro_procurement_project_itemclass PROJI ON PROJI.id_ajena_licitacion = LI.id_licitacion
  76. JOIN maestro_tendering_process TP ON TP.id_ajena_licitacion = LI.id_licitacion
  77. JOIN maestro_tendering_terms TT ON TT.id_ajena_licitacion = LI.id_licitacion
  78. JOIN relacionada_contract_status RCF ON RCF.CODE = CF.contractFolderStatusCode
  79. JOIN relacionada_located_contracting_party RLP ON RLP.CODE = LP.contractingPartyTypeCode
  80. JOIN relacionada_tipo_contrato TPC ON TPC.CODE = PROJ.typeCode
  81. JOIN relacionada_tender_process RTP ON RTP.CODE = TP.procedureCode
  82. JOIN relacionada_tender_process_contracting_code RTPC ON RTPC.CODE = TP.contractingSystemCode
  83. JOIN relacionada_tender_process_submission RTPS ON RTPS.CODE = TP.submissionMethodCode
  84. JOIN relacionada_tender_process_urgency_code RTPU ON RTPU.CODE = TP.urgencyCode /*WHERE
  85. LI.id < 17174 */
  86. GROUP BY
  87. id_licitacion
  88. $having
  89. ORDER BY
  90. CF.id";
  91. $result = $this->db->query($sql);
  92. $datos['datos'] = $result->result();
  93. $datos['num_rows'] = $result->num_rows();
  94. return $datos;
  95. }
  96. public function getFullDatosUltimasInsertadas()
  97. {
  98. $sql = "SELECT *
  99. FROM
  100. vista_datos_licitacion";
  101. $result = $this->db->query($sql);
  102. $datos['datos'] = $result->result();
  103. $datos['num_rows'] = $result->num_rows();
  104. return $datos;
  105. }
  106. public function getTablaByFechaLog($tabla)
  107. {
  108. $sql = "SELECT * FROM $tabla
  109. WHERE fecha_creacion_log = '2022-02-24 14:38:36'";
  110. $result = $this->db->query($sql);
  111. $datos['datos'] = $result->result_array();
  112. $datos['num_rows'] = $result->num_rows();
  113. return $datos;
  114. }
  115. public function getProjectLotItem()
  116. {
  117. $sql = "SELECT
  118. MP.idProcurementLot,
  119. MP.countrySubentity,
  120. MP.countrySubentityCode,
  121. MP.totalAmount,
  122. MP.taxExclusiveAmount,
  123. MP.`name`,
  124. MP.id_ajena_licitacion,
  125. GROUP_CONCAT( MPI.idItem ) AS itemClassification_attr
  126. FROM
  127. maestro_procurement_project_lot MP
  128. JOIN maestro_procurement_project_lot_item MPI ON MP.id_compuesta = MPI.id_compuesta_padre
  129. WHERE
  130. MPI.fecha_creacion_log = '2022-02-24 14:38:36'
  131. GROUP BY
  132. MP.id_compuesta";
  133. $result = $this->db->query($sql);
  134. $datos['datos'] = $result->result_array();
  135. $datos['num_rows'] = $result->num_rows();
  136. return $datos;
  137. }
  138. public function getFechasPublicadas($idLicitacion)
  139. {
  140. $sql = "SELECT MIN(fechas) as fecha
  141. FROM
  142. maestro_valid_notice_info_fecha WHERE id_ajena_licitacion = '$idLicitacion'";
  143. $result = $this->db->query($sql);
  144. $datos['datos'] = $result->row();
  145. $datos['num_rows'] = $result->num_rows();
  146. return $datos;
  147. }
  148. public function getDatosByTablaAndLicitacion($tabla, $licitacionID)
  149. {
  150. $sql = "SELECT *
  151. FROM
  152. $tabla
  153. WHERE id_ajena_licitacion = $licitacionID";
  154. $result = $this->db->query($sql);
  155. $datos['datos'] = $result->result_array();
  156. $datos['num_rows'] = $result->num_rows();
  157. return $datos['datos'];
  158. }
  159. public function getTablaWithoutLicitacion($tabla)
  160. {
  161. $sql = "SELECT
  162. *
  163. FROM
  164. $tabla t1";
  165. $result = $this->db->query($sql);
  166. $datos['datos'] = $result->result_array();
  167. $datos['num_rows'] = $result->num_rows();
  168. return $datos;
  169. }
  170. public function getDatosRelacionadosByTablaAndLicitacion($tabla, $tablaAjena, $idRelacionada, $idAjenaLicitacion)
  171. {
  172. $sql = "SELECT
  173. *
  174. FROM
  175. $tabla
  176. JOIN $tablaAjena TBAJ ON TBAJ.code = " . $tabla . "." . $idRelacionada . "
  177. WHERE id_ajena_licitacion = $idAjenaLicitacion";
  178. $result = $this->db->query($sql);
  179. $datos['datos'] = $result->result_array();
  180. $datos['num_rows'] = $result->num_rows();
  181. return $datos['datos'];
  182. }
  183. public function getDatosRelacionadasTablaWithoutLicitacion($tablaRelacion, $tabla, $txtIdAjena, $id = "t1.id")
  184. {
  185. $sql = "SELECT
  186. *
  187. FROM
  188. $tabla t1
  189. JOIN
  190. $tablaRelacion t2 ON t2." . $txtIdAjena . " = t1.id";
  191. $result = $this->db->query($sql);
  192. $datos['datos'] = $result->result_array();
  193. $datos['num_rows'] = $result->num_rows();
  194. return $datos;
  195. }
  196. public function getTenderProcessRelacion()
  197. {
  198. $sql = "SELECT
  199. t2.nombre as procedureCode, t3.nombre as contractingSystemCode, t4.nombre as submissionMethodCode, t5.nombre as urgencyCode,
  200. t1.id_ajena_licitacion, t1.partPresentationCode, t1.maximumLotPresentationQuantity, t1.maximumTendererAwardedLotsQuantity, t1.lotsCombinationContractingAuthorityRights,
  201. t1.deadLineEndDate, t1.deadLineEndTime, t1.deadLineDescription, t1.auctionTerms, t1.documentAvailablePeriod_EndDate, t1.documentAvailablePeriod_EndTime
  202. FROM
  203. maestro_tendering_process t1
  204. JOIN relacionada_tender_process t2 ON t2.code = t1.procedureCode
  205. JOIN relacionada_tender_process_contracting_code t3 ON t3.code = t1.contractingSystemCode
  206. JOIN relacionada_tender_process_submission t4 ON t4.code = t1.submissionMethodCode
  207. JOIN relacionada_tender_process_urgency_code t5 ON t5.code = t1.urgencyCode";
  208. $result = $this->db->query($sql);
  209. $datos['datos'] = $result->result_array();
  210. $datos['num_rows'] = $result->num_rows();
  211. return $datos;
  212. }
  213. public function getValidNoticeInfoRelacion()
  214. {
  215. $sql = "SELECT
  216. t2.nombre as noticeTypeCode, t1.id_ajena_licitacion, t1.publicationMediaName
  217. FROM
  218. maestro_valid_notice_info t1
  219. JOIN relacionada_valid_notice_info t2 ON t2.code = t1.noticeTypeCode";
  220. $result = $this->db->query($sql);
  221. $datos['datos'] = $result->result_array();
  222. $datos['num_rows'] = $result->num_rows();
  223. return $datos;
  224. }
  225. public function getTenderResult()
  226. {
  227. $sql = "SELECT
  228. t2.nombre as resultCode, t1.id_ajena_licitacion, t1.description, t1.awardDate, t1.receivedTenderQuantity, t1.lowerTenderAmount , t1.higherTenderAmount, t1.startDate,
  229. t1.smeawardedIndicator, t1.contract_id, t1.contract_issueDate, t1.partyIdentification, t1.partyName, t1.TaxExclusiveAmount, t1.PayableAmount
  230. FROM
  231. maestro_tender_result t1
  232. JOIN relacionada_tender_result t2 ON t2.code = t1.resultCode";
  233. $result = $this->db->query($sql);
  234. $datos['datos'] = $result->result_array();
  235. $datos['num_rows'] = $result->num_rows();
  236. return $datos;
  237. }
  238. public function getTenderingTermsGarantia()
  239. {
  240. $sql = "SELECT
  241. t1.id_ajena_licitacion, t2.nombre as guaranteeTypeCode, t1.requiredCurriculaIndicator, t1.variantConstraintIndicator, t1.fundingProgramCode, t1.requiredFinancialGuarantee_Amount,
  242. t1.language, t1.allowedSubcontractTerms, t1.description, t1.personalSituation, t1.procurementLegislationDocumentReference
  243. FROM
  244. maestro_tendering_terms t1
  245. JOIN relacionada_codigo_tipo_garantia t2 ON t2.code = t1.guaranteeTypeCode";
  246. $result = $this->db->query($sql);
  247. $datos['datos'] = $result->result_array();
  248. $datos['num_rows'] = $result->num_rows();
  249. return $datos;
  250. }
  251. public function getTenderingTermsCriteriosFinanciacion()
  252. {
  253. $sql = "SELECT
  254. t2.id_ajena_licitacion,
  255. t3.nombre AS evaluationCriteriaTypeCode,
  256. t1.description
  257. FROM
  258. maestro_tendering_terms_financial_evaluation t1
  259. JOIN maestro_tendering_terms t2 ON t1.id_ajena_licitacion = t2.id
  260. JOIN relacionada_tendering_terms_financial t3 ON t3.CODE = t1.evaluationCriteriaTypeCode";
  261. $result = $this->db->query($sql);
  262. $datos['datos'] = $result->result_array();
  263. $datos['num_rows'] = $result->num_rows();
  264. return $datos;
  265. }
  266. public function getTenderingTermsCriteriosTecnicos()
  267. {
  268. $sql = "SELECT
  269. t2.id_ajena_licitacion, t3.nombre as evaluationCriteriaTypeCode, t1.description
  270. FROM
  271. maestro_tendering_terms_qualification_request t1
  272. JOIN maestro_tendering_terms t2 ON t1.id_ajena_licitacion = t2.id
  273. JOIN relacionada_tendering_terms_qualification_request t3 ON t3.code = t1.evaluationCriteriaTypeCode";
  274. $result = $this->db->query($sql);
  275. $datos['datos'] = $result->result_array();
  276. $datos['num_rows'] = $result->num_rows();
  277. return $datos;
  278. }
  279. public function getTenderingTermsRequisitos()
  280. {
  281. $sql = "SELECT
  282. t2.id_ajena_licitacion, t3.nombre as evaluationCriteriaTypeCode, t1.description
  283. FROM
  284. maestro_tendering_terms_qualification_request t1
  285. JOIN maestro_tendering_terms t2 ON t1.id_ajena_licitacion = t2.id
  286. JOIN relacionada_tendering_terms_qualification_request t3 ON t3.code = t1.evaluationCriteriaTypeCode";
  287. $result = $this->db->query($sql);
  288. $datos['datos'] = $result->result_array();
  289. $datos['num_rows'] = $result->num_rows();
  290. return $datos;
  291. }
  292. public function getProjectLotActivityByProjectLot($projectLotId)
  293. {
  294. $sql = "SELECT
  295. *
  296. FROM
  297. maestro_procurement_project_lot_item
  298. WHERE id_compuesta_padre = '$projectLotId'";
  299. $result = $this->db->query($sql);
  300. $datos['datos'] = $result->result_array();
  301. $datos['num_rows'] = $result->num_rows();
  302. return $datos;
  303. }
  304. }
  305. /* End of file Xlsexport_model_model.php */
  306. /* Location: ./application/models/Xlsexport_model_model.php */