import java.sql.DriverManager;\r
import java.sql.PreparedStatement;\r
import java.sql.ResultSet;\r
-import java.util.ArrayList;\r
import java.util.List;\r
\r
import org.apache.commons.lang.StringUtils;\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
\r
+import user.commons.IEntityBase;\r
+import user.commons.ListUtils;\r
import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
import user.jobengine.db.MediaFile;\r
import user.jobengine.db.MediaFileDAO;\r
import user.jobengine.server.IJobEngine;\r
\r
public class CheckTrafficMissingMaterialsStep extends JobStep {\r
private static final Logger logger = LogManager.getLogger();\r
+ private static final String MEDIA_CUBE_MEDIA = "mediaCubeMedia";\r
private static final String SQLSERVER_JDBC_SQL_SERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";\r
private static final String TRAFFIC_DB_PASSWORD = "traffic.db.password";\r
private static final String TRAFFIC_DB_USER = "traffic.db.user";\r
private static final String TRAFFIC_DB_URL = "traffic.db.url";\r
private static final String SQL = "{call clIFsp_EC_MAM(1001, 40, Null, Null, ?)}";\r
+ private static final String JOBTEMPLATE = null;\r
private IItemManager manager;\r
+ private IJobEngine jobEngine;\r
\r
@StepEntry\r
public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
- List<Media> result = new ArrayList<>();\r
+ this.jobEngine = jobEngine;\r
manager = jobEngine.getItemManager();\r
- try (Connection con = getSQLConnection(); PreparedStatement stmt = con.prepareStatement(SQL)) {\r
+ try (Connection con = getSQLConnection(); PreparedStatement stmt = con.prepareStatement(SQL, ResultSet.TYPE_SCROLL_SENSITIVE)) {\r
stmt.setInt(1, 7);\r
try (ResultSet rs = stmt.executeQuery()) {\r
- if (rs.next()) {\r
+ rs.last();\r
+ int count = rs.getRow();\r
+ while (rs.next()) {\r
String trafficId = rs.getString(5);\r
if (StringUtils.isNotBlank(trafficId)) {\r
try {\r
- processTrafficId(result, trafficId);\r
+ processTrafficId(trafficId);\r
} catch (Exception e) {\r
logger.error(getMarker(), "Hiba lépett fel az {} anyag visszatöltéskor. A rendszer hibaüzenete: {}", trafficId, e.getMessage());\r
}\r
throw e;\r
} finally {\r
}\r
- return new Object[] {};\r
+ return null;\r
}\r
\r
private Connection getSQLConnection() throws Exception {\r
return result;\r
}\r
\r
- private void processTrafficId(List<Media> result, String trafficId) throws Exception {\r
+ private void processTrafficId(String trafficId) throws Exception {\r
MediaFileDAO dao = (MediaFileDAO) manager.getBaseDAO(MediaFile.class);\r
- List<Media> medias = dao.getByHouseId(trafficId);\r
- if (medias.size() == 0) {\r
+ List<IEntityBase> medias = dao.getByHouseId(trafficId);\r
+ if (medias == null || medias.size() == 0) {\r
logger.error(getMarker(), "Az {} anyag nem található az archívumban.", trafficId);\r
return;\r
}\r
return;\r
}\r
\r
- result.add(medias.get(0));\r
-\r
+ String title = "Visszatöltés: " + trafficId;\r
+ jobEngine.submit(JOBTEMPLATE, title, ListUtils.asMap(MEDIA_CUBE_MEDIA, medias.get(0)));\r
}\r
\r
}\r