treatmentservice: add method to check if record with pump id exists.
This commit is contained in:
parent
780a4dda36
commit
f12db81f96
1 changed files with 22 additions and 6 deletions
|
@ -248,12 +248,8 @@ public class TreatmentService extends OrmLiteBaseService<DatabaseHelper> {
|
||||||
|
|
||||||
if (treatment.source == Source.PUMP) {
|
if (treatment.source == Source.PUMP) {
|
||||||
// check for changed from pump change in NS
|
// check for changed from pump change in NS
|
||||||
QueryBuilder<Treatment, Long> queryBuilder = getDao().queryBuilder();
|
Treatment existingTreatment = getPumpRecordById(treatment.pumpId);
|
||||||
Where where = queryBuilder.where();
|
if (existingTreatment != null) {
|
||||||
where.eq("pumpId", treatment.pumpId);
|
|
||||||
PreparedQuery<Treatment> preparedQuery = queryBuilder.prepare();
|
|
||||||
List<Treatment> trList = getDao().query(preparedQuery);
|
|
||||||
if (trList.size() > 0) {
|
|
||||||
// do nothing, pump history record cannot be changed
|
// do nothing, pump history record cannot be changed
|
||||||
log.debug("TREATMENT: Pump record already found in database: " + treatment.toString());
|
log.debug("TREATMENT: Pump record already found in database: " + treatment.toString());
|
||||||
return false;
|
return false;
|
||||||
|
@ -322,6 +318,26 @@ public class TreatmentService extends OrmLiteBaseService<DatabaseHelper> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns the record for the given id, null if none, throws RuntimeException
|
||||||
|
* if multiple records with the same pump id exist. */
|
||||||
|
@Nullable
|
||||||
|
public Treatment getPumpRecordById(long pumpId) {
|
||||||
|
try {
|
||||||
|
QueryBuilder<Treatment, Long> queryBuilder = getDao().queryBuilder();
|
||||||
|
Where where = queryBuilder.where();
|
||||||
|
where.eq("pumpId", pumpId);
|
||||||
|
PreparedQuery<Treatment> preparedQuery = queryBuilder.prepare();
|
||||||
|
List<Treatment> result = getDao().query(preparedQuery);
|
||||||
|
switch (result.size()) {
|
||||||
|
case 0: return null;
|
||||||
|
case 1: return result.get(1);
|
||||||
|
default: throw new RuntimeException("Multiple records with the same pump id found: " + result.toString());
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void deleteNS(JSONObject json) {
|
public void deleteNS(JSONObject json) {
|
||||||
String _id = JsonHelper.safeGetString(json, "_id");
|
String _id = JsonHelper.safeGetString(json, "_id");
|
||||||
if (_id != null && !_id.isEmpty())
|
if (_id != null && !_id.isEmpty())
|
||||||
|
|
Loading…
Reference in a new issue