diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java index b485eda..93f2cb5 100644 --- a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java +++ b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java @@ -14,6 +14,7 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 private List markerModels; public String getTaskId() { @@ -80,6 +81,14 @@ this.endTime = endTime; } + public String getIsFreeTask() { + return isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } + public List getMarkerModels() { return markerModels; } diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java index b485eda..93f2cb5 100644 --- a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java +++ b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java @@ -14,6 +14,7 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 private List markerModels; public String getTaskId() { @@ -80,6 +81,14 @@ this.endTime = endTime; } + public String getIsFreeTask() { + return isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } + public List getMarkerModels() { return markerModels; } diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f87932a..c133c63 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -227,10 +227,10 @@ /** * 上传自由巡检过程中发现的标识器 */ - suspend fun uploadTaskMarker(taskId: String, models: ArrayList): String { + suspend fun uploadTaskMarker(taskId: String, ids: ArrayList): String { val param = JsonObject() param.addProperty("taskId", taskId) - param.addProperty("ids", models.reformat()) + param.addProperty("ids", ids.reformat()) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java index b485eda..93f2cb5 100644 --- a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java +++ b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java @@ -14,6 +14,7 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 private List markerModels; public String getTaskId() { @@ -80,6 +81,14 @@ this.endTime = endTime; } + public String getIsFreeTask() { + return isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } + public List getMarkerModels() { return markerModels; } diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f87932a..c133c63 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -227,10 +227,10 @@ /** * 上传自由巡检过程中发现的标识器 */ - suspend fun uploadTaskMarker(taskId: String, models: ArrayList): String { + suspend fun uploadTaskMarker(taskId: String, ids: ArrayList): String { val param = JsonObject() param.addProperty("taskId", taskId) - param.addProperty("ids", models.reformat()) + param.addProperty("ids", ids.reformat()) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt index aa81f6b..a84c17d 100644 --- a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt @@ -38,6 +38,13 @@ if (task.endDate == null) { bean.endTime = "" } + bean.isFreeTask = "0" + if (!bean.isExist()) { + taskLocalBeanDao.insert(bean) + } + } + + fun saveTaskInLocale(bean: TaskLocalBean) { if (!bean.isExist()) { taskLocalBeanDao.insert(bean) } @@ -86,21 +93,25 @@ model.createTime = it.createTime model.status = it.status model.createUserName = it.createUserName + model.isFreeTask = it.isFreeTask - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) - ).list() val markers = ArrayList() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime + if (it.isFreeTask == "0") { + //非自由巡检才有Marker + val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) + ).list() + markerLocalBeans.forEach { marker -> + val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() + localModel.markerId = marker.markerId + localModel.lng = marker.lng + localModel.lat = marker.lat + localModel.isDetected = marker.isDetected + localModel.detectedTime = marker.detectedTime - markers.add(localModel) + markers.add(localModel) + } } model.markerModels = markers result.add(model) @@ -115,47 +126,19 @@ ).list().firstOrNull() ?: return taskLocalBeanDao.delete(task) - //删除此任务关联的Marker - val markers = taskMarkerLocalBeanDao.queryBuilder() - .where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markers.forEach { - taskMarkerLocalBeanDao.delete(it) + //删除此任务关联的Marker。非自由巡检才有Marker + if (task.isFreeTask == "0") { + val markers = taskMarkerLocalBeanDao.queryBuilder() + .where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) + ).list() + markers.forEach { + taskMarkerLocalBeanDao.delete(it) + } } } - fun queryTaskById(taskId: String, taskCode: String): TaskDetailLocalModel? { - val taskLocalBean = taskLocalBeanDao.queryBuilder().where( - TaskLocalBeanDao.Properties.Id.eq(taskId), - TaskLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list().firstOrNull() ?: return null - - val model = TaskDetailLocalModel() - model.taskId = taskId - model.taskCode = taskCode - model.description = taskLocalBean.description - model.createTime = taskLocalBean.createTime - model.status = taskLocalBean.status - model.createUserName = taskLocalBean.createUserName - - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime - } - - return model - } - fun queryTaskMarkerById( taskId: String, taskCode: String, markerId: String, state: String ): TaskMarkerLocalBean? { diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java index b485eda..93f2cb5 100644 --- a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java +++ b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java @@ -14,6 +14,7 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 private List markerModels; public String getTaskId() { @@ -80,6 +81,14 @@ this.endTime = endTime; } + public String getIsFreeTask() { + return isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } + public List getMarkerModels() { return markerModels; } diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f87932a..c133c63 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -227,10 +227,10 @@ /** * 上传自由巡检过程中发现的标识器 */ - suspend fun uploadTaskMarker(taskId: String, models: ArrayList): String { + suspend fun uploadTaskMarker(taskId: String, ids: ArrayList): String { val param = JsonObject() param.addProperty("taskId", taskId) - param.addProperty("ids", models.reformat()) + param.addProperty("ids", ids.reformat()) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt index aa81f6b..a84c17d 100644 --- a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt @@ -38,6 +38,13 @@ if (task.endDate == null) { bean.endTime = "" } + bean.isFreeTask = "0" + if (!bean.isExist()) { + taskLocalBeanDao.insert(bean) + } + } + + fun saveTaskInLocale(bean: TaskLocalBean) { if (!bean.isExist()) { taskLocalBeanDao.insert(bean) } @@ -86,21 +93,25 @@ model.createTime = it.createTime model.status = it.status model.createUserName = it.createUserName + model.isFreeTask = it.isFreeTask - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) - ).list() val markers = ArrayList() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime + if (it.isFreeTask == "0") { + //非自由巡检才有Marker + val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) + ).list() + markerLocalBeans.forEach { marker -> + val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() + localModel.markerId = marker.markerId + localModel.lng = marker.lng + localModel.lat = marker.lat + localModel.isDetected = marker.isDetected + localModel.detectedTime = marker.detectedTime - markers.add(localModel) + markers.add(localModel) + } } model.markerModels = markers result.add(model) @@ -115,47 +126,19 @@ ).list().firstOrNull() ?: return taskLocalBeanDao.delete(task) - //删除此任务关联的Marker - val markers = taskMarkerLocalBeanDao.queryBuilder() - .where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markers.forEach { - taskMarkerLocalBeanDao.delete(it) + //删除此任务关联的Marker。非自由巡检才有Marker + if (task.isFreeTask == "0") { + val markers = taskMarkerLocalBeanDao.queryBuilder() + .where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) + ).list() + markers.forEach { + taskMarkerLocalBeanDao.delete(it) + } } } - fun queryTaskById(taskId: String, taskCode: String): TaskDetailLocalModel? { - val taskLocalBean = taskLocalBeanDao.queryBuilder().where( - TaskLocalBeanDao.Properties.Id.eq(taskId), - TaskLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list().firstOrNull() ?: return null - - val model = TaskDetailLocalModel() - model.taskId = taskId - model.taskCode = taskCode - model.description = taskLocalBean.description - model.createTime = taskLocalBean.createTime - model.status = taskLocalBean.status - model.createUserName = taskLocalBean.createUserName - - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime - } - - return model - } - fun queryTaskMarkerById( taskId: String, taskCode: String, markerId: String, state: String ): TaskMarkerLocalBean? { diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index bc68f9f..136a097 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -39,6 +39,7 @@ import com.casic.detector.adapter.EditableImageAdapter import com.casic.detector.base.SerialPortActivity import com.casic.detector.bean.MarkerLocalBean +import com.casic.detector.bean.TaskLocalBean import com.casic.detector.bean.TaskMarkerLocalBean import com.casic.detector.callback.OnGetLocationListener import com.casic.detector.callback.OnImageCompressListener @@ -51,6 +52,7 @@ import com.casic.detector.extensions.appendDownloadUrl import com.casic.detector.extensions.calculateAngle import com.casic.detector.extensions.compressImage +import com.casic.detector.extensions.createTaskCode import com.casic.detector.extensions.drawCircle import com.casic.detector.extensions.getDefaultValue import com.casic.detector.extensions.hexToString @@ -136,6 +138,7 @@ private var latitude: Double = 0.0 private var longitude: Double = 0.0 private var isFreeTask = false + private var freeTaskTitle = "" private var ids = HashSet() private var signalTask: TimerTask? = null private var energyTask: TimerTask? = null @@ -233,7 +236,25 @@ }).build().show() } } - taskViewModel.freeTaskResult.observe(this) { freeTaskId = it } + taskViewModel.freeTaskResult.observe(this) { + freeTaskId = it + // 自由巡检保存在本地 + val bean = TaskLocalBean() + bean.id = freeTaskId.toString().toLong() + val currentTimeMillis = System.currentTimeMillis() + bean.taskCode = currentTimeMillis.createTaskCode() + bean.description = freeTaskTitle + val time = currentTimeMillis.timestampToCompleteDate() + bean.createTime = time + bean.status = "0" + val userName = SaveKeyValues.getValue(LocaleConstant.USER_NAME, "") as String + bean.createUserName = userName + bean.startTime = time + bean.endTime = "" + bean.isFreeTask = "1" + DataBaseManager.get.saveTaskInLocale(bean) + } + taskViewModel.uploadTaskMarkerResult.observe(this) { "自由巡检任务已完成".show(this) ids.clear() @@ -442,7 +463,9 @@ detectRedrawGraphic(task) isExecuteTask = true } else { - "此工单下无标识器,请联系管理员确认工单".show(context) + "此工单下无标识器,将执行自由巡检任务".show(context) + freeTaskId = task.taskId + openSerialPort() } } @@ -483,8 +506,6 @@ } }).build().show() } else { -// searchDialog.show() - //TODO 新探测界面 searchNewDialog.show() } } @@ -537,41 +558,46 @@ .setPositiveButton("确定") .setOnDialogButtonClickListener(object : AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { + freeTaskTitle = value val userId = SaveKeyValues.getValue(LocaleConstant.USER_ID, "") as String taskViewModel.createFreeTask(context, userId, value) - //调高串口电位 - gpioManager.setGpioHigh("18") - - isFreeTask = true - //自由巡检 - signalTask = object : TimerTask() { - override fun run() { - out.write('2'.code) - out.flush() - } - } - - energyTask = object : TimerTask() { - override fun run() { - out.write('6'.code) - out.flush() - } - } - - searchMarkerTimer = Timer() - searchMarkerTimer?.apply { - schedule(signalTask, 0, 200) - schedule(energyTask, 0, 251) - } - - binding.stopFreeTaskButton.visibility = View.VISIBLE + openSerialPort() } override fun onCancelClick() {} }).build().show() } + private fun openSerialPort() { + //调高串口电位 + gpioManager.setGpioHigh("18") + + isFreeTask = true + //自由巡检 + signalTask = object : TimerTask() { + override fun run() { + out.write('2'.code) + out.flush() + } + } + + energyTask = object : TimerTask() { + override fun run() { + out.write('6'.code) + out.flush() + } + } + + searchMarkerTimer = Timer() + searchMarkerTimer?.apply { + schedule(signalTask, 0, 200) + schedule(energyTask, 0, 251) + } + + binding.stopFreeTaskButton.visibility = View.VISIBLE + } + override fun onDataReceived(buffer: ByteArray) { val hex = buffer.toHex() // Log.d(kTag, "$kTag => $hex") @@ -1529,8 +1555,7 @@ marker.updateTime = binding.identifierInclude.installTimeView.text.toString() marker.lng = binding.identifierInclude.lngView.text.toString() marker.lat = binding.identifierInclude.latView.text.toString() - marker.color = - binding.identifierInclude.colorSpinner.selectedItem.toString().toColor() + marker.color = binding.identifierInclude.colorSpinner.selectedItem.toString().toColor() marker.remark = binding.remarkView.text.toString() marker.imagePath = realPaths.toJson() @@ -1673,7 +1698,8 @@ } withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( - dataPoints, object : RadarScanView.OnGetNearestPointCallback { + dataPoints, + object : RadarScanView.OnGetNearestPointCallback { override fun getNearestPoint(point: RadarScanView.DataPoint?) { if (point == null) { binding.distanceValueView.text = "大于550cm" diff --git a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java index dd93541..bab7eb2 100644 --- a/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java +++ b/app/src/main/java/com/casic/detector/bean/TaskLocalBean.java @@ -19,11 +19,12 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 - @Generated(hash = 931317614) + @Generated(hash = 1482022528) public TaskLocalBean(Long id, String taskCode, String description, String createTime, String status, String createUserName, - String startTime, String endTime) { + String startTime, String endTime, String isFreeTask) { this.id = id; this.taskCode = taskCode; this.description = description; @@ -32,6 +33,7 @@ this.createUserName = createUserName; this.startTime = startTime; this.endTime = endTime; + this.isFreeTask = isFreeTask; } @Generated(hash = 949704588) @@ -101,4 +103,12 @@ public void setEndTime(String endTime) { this.endTime = endTime; } + + public String getIsFreeTask() { + return this.isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } } diff --git a/app/src/main/java/com/casic/detector/extensions/Long.kt b/app/src/main/java/com/casic/detector/extensions/Long.kt new file mode 100644 index 0000000..85232e9 --- /dev/null +++ b/app/src/main/java/com/casic/detector/extensions/Long.kt @@ -0,0 +1,10 @@ +package com.casic.detector.extensions + +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +fun Long.createTaskCode(): String { + val dateFormat = SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA) + return dateFormat.format(Date(this)) +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java index d7cb739..d5d2885 100644 --- a/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java +++ b/app/src/main/java/com/casic/detector/greendao/TaskLocalBeanDao.java @@ -33,6 +33,7 @@ public final static Property CreateUserName = new Property(5, String.class, "createUserName", false, "CREATE_USER_NAME"); public final static Property StartTime = new Property(6, String.class, "startTime", false, "START_TIME"); public final static Property EndTime = new Property(7, String.class, "endTime", false, "END_TIME"); + public final static Property IsFreeTask = new Property(8, String.class, "isFreeTask", false, "IS_FREE_TASK"); } @@ -57,7 +58,8 @@ "\"STATUS\" TEXT," + // 4: status "\"CREATE_USER_NAME\" TEXT," + // 5: createUserName "\"START_TIME\" TEXT," + // 6: startTime - "\"END_TIME\" TEXT);"); // 7: endTime + "\"END_TIME\" TEXT," + // 7: endTime + "\"IS_FREE_TASK\" TEXT);"); // 8: isFreeTask } /** @@ -111,6 +113,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -156,6 +163,11 @@ if (endTime != null) { stmt.bindString(8, endTime); } + + String isFreeTask = entity.getIsFreeTask(); + if (isFreeTask != null) { + stmt.bindString(9, isFreeTask); + } } @Override @@ -173,7 +185,8 @@ cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // status cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // createUserName cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // startTime - cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7) // endTime + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // endTime + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // isFreeTask ); return entity; } @@ -188,6 +201,7 @@ entity.setCreateUserName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); entity.setStartTime(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setEndTime(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setIsFreeTask(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); } @Override diff --git a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java index b485eda..93f2cb5 100644 --- a/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java +++ b/app/src/main/java/com/casic/detector/model/TaskDetailLocalModel.java @@ -14,6 +14,7 @@ private String createUserName;//任务创建者名称 private String startTime;//任务被开始执行的时间 private String endTime;//任务执行结束的时间 + private String isFreeTask;//是否自由巡检。1-是,0-否 private List markerModels; public String getTaskId() { @@ -80,6 +81,14 @@ this.endTime = endTime; } + public String getIsFreeTask() { + return isFreeTask; + } + + public void setIsFreeTask(String isFreeTask) { + this.isFreeTask = isFreeTask; + } + public List getMarkerModels() { return markerModels; } diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f87932a..c133c63 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -227,10 +227,10 @@ /** * 上传自由巡检过程中发现的标识器 */ - suspend fun uploadTaskMarker(taskId: String, models: ArrayList): String { + suspend fun uploadTaskMarker(taskId: String, ids: ArrayList): String { val param = JsonObject() param.addProperty("taskId", taskId) - param.addProperty("ids", models.reformat()) + param.addProperty("ids", ids.reformat()) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) diff --git a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt index aa81f6b..a84c17d 100644 --- a/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/detector/utils/DataBaseManager.kt @@ -38,6 +38,13 @@ if (task.endDate == null) { bean.endTime = "" } + bean.isFreeTask = "0" + if (!bean.isExist()) { + taskLocalBeanDao.insert(bean) + } + } + + fun saveTaskInLocale(bean: TaskLocalBean) { if (!bean.isExist()) { taskLocalBeanDao.insert(bean) } @@ -86,21 +93,25 @@ model.createTime = it.createTime model.status = it.status model.createUserName = it.createUserName + model.isFreeTask = it.isFreeTask - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) - ).list() val markers = ArrayList() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime + if (it.isFreeTask == "0") { + //非自由巡检才有Marker + val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(it.id), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(it.taskCode) + ).list() + markerLocalBeans.forEach { marker -> + val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() + localModel.markerId = marker.markerId + localModel.lng = marker.lng + localModel.lat = marker.lat + localModel.isDetected = marker.isDetected + localModel.detectedTime = marker.detectedTime - markers.add(localModel) + markers.add(localModel) + } } model.markerModels = markers result.add(model) @@ -115,47 +126,19 @@ ).list().firstOrNull() ?: return taskLocalBeanDao.delete(task) - //删除此任务关联的Marker - val markers = taskMarkerLocalBeanDao.queryBuilder() - .where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markers.forEach { - taskMarkerLocalBeanDao.delete(it) + //删除此任务关联的Marker。非自由巡检才有Marker + if (task.isFreeTask == "0") { + val markers = taskMarkerLocalBeanDao.queryBuilder() + .where( + TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), + TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) + ).list() + markers.forEach { + taskMarkerLocalBeanDao.delete(it) + } } } - fun queryTaskById(taskId: String, taskCode: String): TaskDetailLocalModel? { - val taskLocalBean = taskLocalBeanDao.queryBuilder().where( - TaskLocalBeanDao.Properties.Id.eq(taskId), - TaskLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list().firstOrNull() ?: return null - - val model = TaskDetailLocalModel() - model.taskId = taskId - model.taskCode = taskCode - model.description = taskLocalBean.description - model.createTime = taskLocalBean.createTime - model.status = taskLocalBean.status - model.createUserName = taskLocalBean.createUserName - - val markerLocalBeans = taskMarkerLocalBeanDao.queryBuilder().where( - TaskMarkerLocalBeanDao.Properties.TaskId.eq(taskId), - TaskMarkerLocalBeanDao.Properties.TaskCode.eq(taskCode) - ).list() - markerLocalBeans.forEach { marker -> - val localModel = TaskDetailLocalModel.TaskMarkerLocalModel() - localModel.markerId = marker.markerId - localModel.lng = marker.lng - localModel.lat = marker.lat - localModel.isDetected = marker.isDetected - localModel.detectedTime = marker.detectedTime - } - - return model - } - fun queryTaskMarkerById( taskId: String, taskCode: String, markerId: String, state: String ): TaskMarkerLocalBean? { diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index bc68f9f..136a097 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -39,6 +39,7 @@ import com.casic.detector.adapter.EditableImageAdapter import com.casic.detector.base.SerialPortActivity import com.casic.detector.bean.MarkerLocalBean +import com.casic.detector.bean.TaskLocalBean import com.casic.detector.bean.TaskMarkerLocalBean import com.casic.detector.callback.OnGetLocationListener import com.casic.detector.callback.OnImageCompressListener @@ -51,6 +52,7 @@ import com.casic.detector.extensions.appendDownloadUrl import com.casic.detector.extensions.calculateAngle import com.casic.detector.extensions.compressImage +import com.casic.detector.extensions.createTaskCode import com.casic.detector.extensions.drawCircle import com.casic.detector.extensions.getDefaultValue import com.casic.detector.extensions.hexToString @@ -136,6 +138,7 @@ private var latitude: Double = 0.0 private var longitude: Double = 0.0 private var isFreeTask = false + private var freeTaskTitle = "" private var ids = HashSet() private var signalTask: TimerTask? = null private var energyTask: TimerTask? = null @@ -233,7 +236,25 @@ }).build().show() } } - taskViewModel.freeTaskResult.observe(this) { freeTaskId = it } + taskViewModel.freeTaskResult.observe(this) { + freeTaskId = it + // 自由巡检保存在本地 + val bean = TaskLocalBean() + bean.id = freeTaskId.toString().toLong() + val currentTimeMillis = System.currentTimeMillis() + bean.taskCode = currentTimeMillis.createTaskCode() + bean.description = freeTaskTitle + val time = currentTimeMillis.timestampToCompleteDate() + bean.createTime = time + bean.status = "0" + val userName = SaveKeyValues.getValue(LocaleConstant.USER_NAME, "") as String + bean.createUserName = userName + bean.startTime = time + bean.endTime = "" + bean.isFreeTask = "1" + DataBaseManager.get.saveTaskInLocale(bean) + } + taskViewModel.uploadTaskMarkerResult.observe(this) { "自由巡检任务已完成".show(this) ids.clear() @@ -442,7 +463,9 @@ detectRedrawGraphic(task) isExecuteTask = true } else { - "此工单下无标识器,请联系管理员确认工单".show(context) + "此工单下无标识器,将执行自由巡检任务".show(context) + freeTaskId = task.taskId + openSerialPort() } } @@ -483,8 +506,6 @@ } }).build().show() } else { -// searchDialog.show() - //TODO 新探测界面 searchNewDialog.show() } } @@ -537,41 +558,46 @@ .setPositiveButton("确定") .setOnDialogButtonClickListener(object : AlertInputDialog.OnDialogButtonClickListener { override fun onConfirmClick(value: String) { + freeTaskTitle = value val userId = SaveKeyValues.getValue(LocaleConstant.USER_ID, "") as String taskViewModel.createFreeTask(context, userId, value) - //调高串口电位 - gpioManager.setGpioHigh("18") - - isFreeTask = true - //自由巡检 - signalTask = object : TimerTask() { - override fun run() { - out.write('2'.code) - out.flush() - } - } - - energyTask = object : TimerTask() { - override fun run() { - out.write('6'.code) - out.flush() - } - } - - searchMarkerTimer = Timer() - searchMarkerTimer?.apply { - schedule(signalTask, 0, 200) - schedule(energyTask, 0, 251) - } - - binding.stopFreeTaskButton.visibility = View.VISIBLE + openSerialPort() } override fun onCancelClick() {} }).build().show() } + private fun openSerialPort() { + //调高串口电位 + gpioManager.setGpioHigh("18") + + isFreeTask = true + //自由巡检 + signalTask = object : TimerTask() { + override fun run() { + out.write('2'.code) + out.flush() + } + } + + energyTask = object : TimerTask() { + override fun run() { + out.write('6'.code) + out.flush() + } + } + + searchMarkerTimer = Timer() + searchMarkerTimer?.apply { + schedule(signalTask, 0, 200) + schedule(energyTask, 0, 251) + } + + binding.stopFreeTaskButton.visibility = View.VISIBLE + } + override fun onDataReceived(buffer: ByteArray) { val hex = buffer.toHex() // Log.d(kTag, "$kTag => $hex") @@ -1529,8 +1555,7 @@ marker.updateTime = binding.identifierInclude.installTimeView.text.toString() marker.lng = binding.identifierInclude.lngView.text.toString() marker.lat = binding.identifierInclude.latView.text.toString() - marker.color = - binding.identifierInclude.colorSpinner.selectedItem.toString().toColor() + marker.color = binding.identifierInclude.colorSpinner.selectedItem.toString().toColor() marker.remark = binding.remarkView.text.toString() marker.imagePath = realPaths.toJson() @@ -1673,7 +1698,8 @@ } withContext(Dispatchers.Main) { binding.radarScanView.renderPointData( - dataPoints, object : RadarScanView.OnGetNearestPointCallback { + dataPoints, + object : RadarScanView.OnGetNearestPointCallback { override fun getNearestPoint(point: RadarScanView.DataPoint?) { if (point == null) { binding.distanceValueView.text = "大于550cm" diff --git a/app/src/main/java/com/casic/detector/vm/TaskViewModel.kt b/app/src/main/java/com/casic/detector/vm/TaskViewModel.kt index d048cc3..33b8390 100644 --- a/app/src/main/java/com/casic/detector/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/detector/vm/TaskViewModel.kt @@ -43,12 +43,17 @@ it.printStackTrace() }) - fun uploadTaskMarker(context: Context, taskId: String, models: ArrayList) = launch({ - val response = RetrofitServiceManager.uploadTaskMarker(taskId, models) + fun uploadTaskMarker(context: Context, taskId: String, ids: ArrayList) = launch({ + val response = RetrofitServiceManager.uploadTaskMarker(taskId, ids) if (response.getResponseState()) { val element = JsonParser.parseString(response) val jsonObject = element.asJsonObject uploadTaskMarkerResult.value = jsonObject.get("success").asString + + //删除本地数据库 + val taskCode = SaveKeyValues.getValue(LocaleConstant.TASK_CODE, "") as String + DataBaseManager.get.deleteLocalTaskById(taskId, taskCode) + SaveKeyValues.putValue(LocaleConstant.TASK_ID, "") } else { response.getResponseMessage().show(context) }