Advertisement
Guest User

MuthaYibi

a guest
Nov 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.95 KB | None | 0 0
  1. --------------
  2. Procedure
  3. -----------
  4.  
  5.  
  6. PROCEDURE USP_BANDEJA_INTERCONSULTA ( vn_estrOri In uci_estructura_centro.cod_estr%type,--Estrcutura Centro. Ejemplo: 2 --- Android
  7. vn_estrDes In uci_estructura_centro.cod_estr%type,--Estrcutura Destino. Ejemplo:13 --- Android
  8. vs_fecIni In varchar2, ---fecIni , Obligatorio. android si 01/02/2017
  9. vs_fecFin In varchar2, ---fecFin , Obligatorio. android si 01/02/2017
  10. vn_tipDoc In uci_persona_asegurado.tip_doc%type, ---TipoDoc. Opcional DNI: UCI_MAESTRO_TIPO 306
  11. vs_numdoc In uci_persona_asegurado.num_doc%type, ---NumDoc. Opcional NUM DOC: EDIT. 02406212
  12. vn_tipEst In uci_maestro_tipo.cod_tipo%type,--Estado x Defecto Pendiente., Atendido , Todos = 0 uci_maesto_tipo [ 5140 , TODOS)
  13. vr_cursor Out sys_refcursor,
  14. vs_retorno Out Varchar2 )
  15. As
  16. BEGIN
  17. BEGIN
  18.  
  19. IF (vn_tipDoc = 0) THEN
  20. BEGIN
  21.  
  22. OPEN vr_cursor FOR
  23.  
  24. Select i.cod_est_ori as EstrOri,
  25. (Select ec.des_estr From UCI_ESTRUCTURA_CENTRO ec Where ec.cod_estr = i.cod_est_ori ) as ProcInt,
  26. i.cod_est_des as EstrDes,
  27. (Select ec.des_estr From UCI_ESTRUCTURA_CENTRO ec Where ec.cod_estr = i.cod_est_des ) as DesInt,
  28. i.fec_sol_int as FecInt,
  29. i.num_sec_doc as nroInt,
  30. i.num_ate_res as nroAtencionMedica,
  31. mt.des_larga as motInt,
  32. (Select t.des_larga From UCI_MAESTRO_TIPO t Where t.cod_tipo = i.cod_est_int) as EstInt,
  33. d.cod_tip_doc || d.num_tip_doc || d.cod_per_doc as Profesional,
  34. (ps.num_doc ||' - '|| ps.ape_paterno ||' '|| ps.ape_materno ||' '|| ps.pri_nombre ||' '|| ps.seg_nombre ) as nomPro,
  35. (pa.num_doc ||' - '|| pa.ape_paterno ||' '|| pa.ape_materno ||' '|| pa.pri_nombre ||' '|| pa.seg_nombre ) as nomPac,
  36. DECODE ( i.cod_est_int ,5141,'1','0') as BTN_RES_INT ,
  37. DECODE ( i.cod_est_int ,5142,DECODE(i.flg_ate_ing ,'0','0','1' )) as BTN_ATE_INT,
  38. i.num_ate_res AS numAteRes,
  39. pa.cod_persona AS codPersona
  40. From UCI_INTERCONSULTA i,
  41. UCI_DOCUMENTO d,
  42. UCI_MAESTRO_TIPO mt,
  43. UCI_PERSONA_ASISTENCIAL ps,
  44. UCI_PERSONA_ASEGURADO pa
  45. Where d.num_sec_doc = i.num_sec_doc
  46. and ps.cod_persona = d.cod_per_doc
  47. and i.cod_per_ase = pa.cod_persona
  48. and mt.cod_tipo = i.cod_motivo
  49. and d.cod_tip_doc = '5015'
  50. and d.est_reg = '1'
  51. and i.est_reg = '1'
  52. AND ((i.cod_est_ori = vn_estrOri) Or ( vn_estrOri = 0))
  53. AND ((i.cod_est_des = vn_estrDes) Or ( vn_estrDes = 0))
  54. AND ((i.cod_est_int = vn_tipEst) Or ( vn_tipEst = 0))
  55. AND ((UPPER(pa.ape_paterno) LIKE UPPER(vs_numdoc) || '%')
  56. OR (UPPER(pa.ape_materno) LIKE UPPER(vs_numdoc) || '%')
  57. OR (UPPER(pa.pri_nombre) LIKE UPPER(vs_numdoc) || '%')
  58. OR (UPPER(pa.seg_nombre) LIKE UPPER(vs_numdoc) || '%'))
  59. AND TO_DATE(i.fec_sol_int, 'dd/mm/yy') BETWEEN TO_DATE(vs_fecIni, 'dd/mm/yy') AND TO_DATE(vs_fecFin, 'dd/mm/yy');
  60.  
  61. END;
  62. ELSE
  63. BEGIN
  64. OPEN vr_cursor FOR
  65.  
  66. Select i.cod_est_ori as EstrOri,
  67. (Select ec.des_estr From UCI_ESTRUCTURA_CENTRO ec Where ec.cod_estr = i.cod_est_ori ) as ProcInt,
  68. i.cod_est_des as EstrDes,
  69. (Select ec.des_estr From UCI_ESTRUCTURA_CENTRO ec Where ec.cod_estr = i.cod_est_des ) as DesInt,
  70. i.fec_sol_int as FecInt,
  71. i.num_sec_doc as nroInt,
  72. i.num_ate_res as nroAtencionMedica,
  73. mt.des_larga as motInt,
  74. (Select t.des_larga From UCI_MAESTRO_TIPO t Where t.cod_tipo = i.cod_est_int) as EstInt,
  75. d.cod_tip_doc || d.num_tip_doc || d.cod_per_doc as Profesional,
  76. (ps.num_doc ||' - '|| ps.ape_paterno ||' '|| ps.ape_materno ||' '|| ps.pri_nombre ||' '|| ps.seg_nombre ) as nomPro,
  77. (pa.num_doc ||' - '|| pa.ape_paterno ||' '|| pa.ape_materno ||' '|| pa.pri_nombre ||' '|| pa.seg_nombre ) as nomPac,
  78. DECODE ( i.cod_est_int ,5141,'1','0') as BTN_RES_INT ,
  79. DECODE ( i.cod_est_int ,5142,DECODE(i.flg_ate_ing ,'0','0','1' )) as BTN_ATE_INT,
  80. i.num_ate_res AS numAteRes,
  81. pa.cod_persona AS codPersona
  82. From UCI_INTERCONSULTA i,
  83. UCI_DOCUMENTO d,
  84. UCI_MAESTRO_TIPO mt,
  85. UCI_PERSONA_ASISTENCIAL ps,
  86. UCI_PERSONA_ASEGURADO pa
  87. Where d.num_sec_doc = i.num_sec_doc
  88. and ps.cod_persona = d.cod_per_doc
  89. and i.cod_per_ase = pa.cod_persona
  90. and mt.cod_tipo = i.cod_motivo
  91. and d.cod_tip_doc = '5015'
  92. and d.est_reg = '1'
  93. and i.est_reg = '1'
  94. AND ((i.cod_est_ori = vn_estrOri) Or ( vn_estrOri = 0))
  95. AND ((i.cod_est_des = vn_estrDes) Or ( vn_estrDes = 0))
  96. AND ((i.cod_est_int = vn_tipEst) Or ( vn_tipEst = 0))
  97. AND ((pa.num_doc = vs_numdoc) AND (pa.tip_doc = vn_tipDoc))
  98. AND TO_DATE(i.fec_sol_int, 'dd/mm/yy') BETWEEN TO_DATE(vs_fecIni, 'dd/mm/yy') AND TO_DATE(vs_fecFin, 'dd/mm/yy');
  99. END;
  100. END IF;
  101.  
  102.  
  103.  
  104.  
  105. vs_retorno:= '0';
  106.  
  107.  
  108. EXCEPTION
  109. WHEN OTHERS THEN
  110. CLOSE vr_cursor;
  111. vs_retorno := 'ERROR';
  112. END;
  113.  
  114. END USP_BANDEJA_INTERCONSULTA;
  115.  
  116.  
  117.  
  118. --------------
  119. Netbeans
  120. -------------
  121.  
  122. @POST()
  123. @Consumes(MediaType.APPLICATION_JSON)
  124. @Produces(MediaType.APPLICATION_JSON)
  125. @Path("/buscarBandeja")
  126. public Response postBuscarBandeja(BandejaInterConsultaRequest req) {
  127. ArrayList<BandejaInterConsulta> listaBandejaInterConsultas = null;
  128. String retorno = new String();
  129. CallableStatement obj_cstm = null;
  130. ResultSet obj_rs = null;
  131. try {
  132. con = createConnection();
  133. String query = "BEGIN PKG_MAESTRO.USP_BANDEJA_INTERCONSULTA(?,?,?,?,?,?,?,?,?); END;";
  134. obj_cstm = con.prepareCall(query);
  135.  
  136. obj_cstm.setString(1, req.getEstrOri());
  137. obj_cstm.setString(2, req.getEstrDes());
  138. obj_cstm.setString(3, req.getFecIni());
  139. obj_cstm.setString(4, req.getFecFin());
  140. obj_cstm.setString(5, req.getTipoDoc());
  141. obj_cstm.setString(6, req.getNroDoc());
  142. obj_cstm.setString(7, req.getTipoEst());
  143. obj_cstm.registerOutParameter(8, OracleTypes.CURSOR);
  144. obj_cstm.registerOutParameter(9, java.sql.Types.VARCHAR);
  145. obj_cstm.execute();
  146. retorno = obj_cstm.getString(9);
  147. if (retorno.equals("0")) {
  148. obj_rs = (ResultSet) obj_cstm.getObject(8);
  149. listaBandejaInterConsultas = new ArrayList<BandejaInterConsulta>();
  150. int i = 0;
  151. while (obj_rs.next()) {
  152. BandejaInterConsulta bandejaInterConsulta = new BandejaInterConsulta();
  153. bandejaInterConsulta.setEstrOri(obj_rs.getString("ESTRORI"));
  154. bandejaInterConsulta.setProcInt(obj_rs.getString("PROCINT"));
  155. bandejaInterConsulta.setDesInt(obj_rs.getString("DESINT"));
  156. bandejaInterConsulta.setFecInt(obj_rs.getString("FECINT"));
  157. bandejaInterConsulta.setNroInt(obj_rs.getString("NROINT"));
  158. bandejaInterConsulta.setMotInt(obj_rs.getString("MOTINT"));
  159. bandejaInterConsulta.setEstInt(obj_rs.getString("ESTINT"));
  160. bandejaInterConsulta.setProfesional(obj_rs.getString("PROFESIONAL"));
  161. bandejaInterConsulta.setNomPro(obj_rs.getString("NOMPRO"));
  162. bandejaInterConsulta.setNomPac(obj_rs.getString("NOMPAC"));
  163. bandejaInterConsulta.setBtnRestInt(obj_rs.getString("BTN_RES_INT"));
  164. bandejaInterConsulta.setBtnAteInt(obj_rs.getString("BTN_ATE_INT") == null ? "0" : obj_rs.getString("BTN_ATE_INT"));
  165.  
  166. bandejaInterConsulta.setNumAteRes(obj_rs.getString("NUMATERES"));
  167. bandejaInterConsulta.setEstrDes(obj_rs.getString("ESTRDES"));
  168. bandejaInterConsulta.setCodPersona(obj_rs.getString("CODPERSONA"));
  169.  
  170. listaBandejaInterConsultas.add(bandejaInterConsulta);
  171. }
  172. }
  173.  
  174. } catch (Exception e) {
  175. LOGGER.debug("Error: " + e.getMessage());
  176. retorno = e.getMessage();
  177. e.printStackTrace();
  178. } finally {
  179. /*JOSEPH GONZALES*/
  180. try {
  181. if (obj_rs != null) {
  182. obj_rs.close();
  183. }
  184. if (obj_cstm != null) {
  185. obj_cstm.close();
  186. }
  187. if (con != null) {
  188. cierraConexion();
  189. }
  190. } catch (SQLException e) {
  191. e.printStackTrace();
  192. }
  193. }
  194.  
  195. ResultData d = new ResultData();
  196. d.ok = true;
  197. d.error = new String[]{"200", ""};
  198. d.result = (Object) listaBandejaInterConsultas;
  199. return Response.status(200).entity(d).build();
  200.  
  201. }
  202.  
  203.  
  204.  
  205.  
  206.  
  207. ------------
  208. Postman
  209. -----------
  210. URL
  211. http://192.168.0.105:8085/uci/api/WsBandejaInterconsultaService/buscarBandeja
  212.  
  213. BODY
  214. {
  215. "estrDes": "6",
  216. "estrOri": "14",
  217. "fecFin": "23/11/2017",
  218. "fecIni": "16/11/2017",
  219. "nroDoc": "",
  220. "tipoDoc": "0",
  221. "tipoEst": "0"
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement