71 lines
4.7 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="de"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GetStationExport.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.workbenchclassic</a> &gt; <span class="el_source">GetStationExport.java</span></div><h1>GetStationExport.java</h1><pre class="source lang-java linenums">package com.workbenchclassic;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
@Path(&quot;/getStationExport&quot;)
<span class="nc" id="L22">public class GetStationExport {</span>
<span class="nc" id="L24"> private static final DBService DB_SERVICE = new DBService(&quot;dsMesMiiNJTA&quot;);</span>
<span class="nc" id="L25"> private static final ObjectMapper MAPPER = new ObjectMapper();</span>
/**
* Fetches station data via dbConnectAndGetRows and returns as a flat JSON
* structure for Excel import.
*
* @return JAX-RS Response with JSON array
*/
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response getStationsFlat(String jsonBody) {
<span class="nc" id="L37"> JSONObject json = new JSONObject(jsonBody);</span>
<span class="nc" id="L38"> String station = json.getString(&quot;station&quot;);</span>
<span class="nc" id="L39"> String query = &quot;SELECT mk.kap_nr, kap_bez, &quot;</span>
+ &quot;mg.ma_grp_nr, mg.ma_grp_bez, &quot;
+ &quot;li.line_nr, li.line_bez &quot;
+ &quot;FROM bde.kast mk &quot;
+ &quot;JOIN bde.ma_grp mg ON (mg.ma_grp_id = mk.ma_grp_id) &quot;
+ &quot;JOIN bde.line_ma_grp lm ON (lm.ma_grp_id = mk.ma_grp_id) &quot;
+ &quot;JOIN bde.line li ON (li.line_id = lm.line_id) &quot;
+ &quot;JOIN bde.werk we ON (li.werk_id = we.werk_id) &quot;
+ &quot;WHERE Line_typ ='T' &quot;
+ &quot;and mk.werk_id IN (SELECT werk_id FROM bde.kast WHERE kap_nr = ? )&quot;;
List&lt;Map&lt;String, Object&gt;&gt; rows;
<span class="nc" id="L52"> try (Connection conn = DB_SERVICE.getConnection();</span>
<span class="nc" id="L53"> PreparedStatement ps = conn.prepareStatement(query)) {</span>
<span class="nc" id="L54"> ps.setString(1, station);</span>
<span class="nc" id="L56"> rows = DB_SERVICE.preparedDbConnectAndGetRows(ps);</span>
<span class="nc" id="L57"> return Response.ok(MAPPER.writeValueAsString(rows)).build();</span>
<span class="nc" id="L58"> } catch (SQLException e) {</span>
<span class="nc" id="L59"> String errJson = String.format(&quot;{\&quot;error\&quot;:\&quot;DB error: %s\&quot;}&quot;, e.getMessage());</span>
<span class="nc" id="L60"> return Response.status(Response.Status.INTERNAL_SERVER_ERROR)</span>
<span class="nc" id="L61"> .entity(errJson)</span>
<span class="nc" id="L62"> .build();</span>
<span class="nc" id="L63"> } catch (JsonProcessingException e) {</span>
<span class="nc" id="L64"> String errJson = String.format(&quot;{\&quot;error\&quot;:\&quot;JSON processing error: %s\&quot;}&quot;, e.getMessage());</span>
<span class="nc" id="L65"> return Response.status(Response.Status.INTERNAL_SERVER_ERROR)</span>
<span class="nc" id="L66"> .entity(errJson)</span>
<span class="nc" id="L67"> .build();</span>
}
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.4.201905082037</span></div></body></html>