浏览代码

@task: update state delete upload_flag

bai 3 年之前
父节点
当前提交
dbbd9b22d1

+ 11 - 8
demo/src/main/java/com/framework/mvvm/model/db/entity/BaseEntity.kt

@@ -7,15 +7,18 @@ import androidx.room.ColumnInfo
  */
 interface BaseEntity {
     val id: String               // id
-    var valid: Int?              // 有效标识, // 1 正常 0 删除
-    /*var creator: String?         // 创建人
-    var creationTime: String?    // 创建时间
-    var modifier: String?        // 修改人
-    var modifiedTime: String?    // 修改时间*/
-    var uploadFlag: String?      // 设备唯一标识
-    var state: String?            // 数据状态:0:未处理,1:已处理过 2:已上传
+    var valid: Int               // 有效标识, // 1 正常 0 删除
+    var state: Int               // 数据状态:-1 默认, 0:本地创建,1:修改过的网络数据 2:已上传的本地数据或者从网络来的数据
     val projectId: String?       // 项目id
     val buildingId: String?      // 建筑id
     val floorId: String?         // 楼层id
-    val ts: Long
+    val ts: Long                 // 服务端用时间戳
+}
+
+fun BaseEntity.state() {
+    if (state == -1)
+        state = 0
+
+    if (state == 2)
+        state = 1
 }

+ 12 - 13
demo/src/main/java/com/framework/mvvm/model/db/entity/task/FileEntity.kt

@@ -12,19 +12,18 @@ import com.framework.mvvm.model.db.entity.BaseEntity
 data class FileEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
     @ColumnInfo(name = "project_id") override val projectId: String,
-    @ColumnInfo(name = "building_id") override val buildingId: String?,
-    @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "building_id") override val buildingId: String,
+    @ColumnInfo(name = "floor_id") override val floorId: String,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "biz_type") val bizType: String?,            // 业务类型(object:对象附件|problem_arch:空间问题附件|problem_equip:设备问题附件)
-    @ColumnInfo(name = "file_path") val filePath: String?,          // 文件存储路径
-    @ColumnInfo(name = "file_type") val fileType: String?,          // 文件类型(photo|video|file|...)
-    @ColumnInfo(name = "client_path") val clientPath: String?,      // app端文件存储路径
-    @ColumnInfo(name = "ref_obj_id") val refObjId: String?,         // 关联的对象id
-    @ColumnInfo(name = "ref_info_code") val refInfoCode: String?,   // 关联的对象信息点code
-    @ColumnInfo(name = "remark") val remark: String?,               // 描述
-    @ColumnInfo(name = "order_num") val orderNum: Int?,             // 文件附件(照片)的排序序号
+    @ColumnInfo(name = "biz_type") val bizType: String? = "",            // 业务类型(object:对象附件|problem_arch:空间问题附件|problem_equip:设备问题附件)
+    @ColumnInfo(name = "file_path") val filePath: String? = "",          // 文件存储路径
+    @ColumnInfo(name = "file_type") val fileType: String? = "",          // 文件类型(photo|video|file|...)
+    @ColumnInfo(name = "client_path") val clientPath: String? = "",      // app端文件存储路径
+    @ColumnInfo(name = "ref_obj_id") val refObjId: String? = "",         // 关联的对象id
+    @ColumnInfo(name = "ref_info_code") val refInfoCode: String? = "",   // 关联的对象信息点code
+    @ColumnInfo(name = "remark") val remark: String? = "",               // 描述
+    @ColumnInfo(name = "order_num") val orderNum: Int? = -1,             // 文件附件(照片)的排序序号
     @ColumnInfo(name = "file_id") val fileId: String? = "",              // 文件服务中存储的id
 ) : BaseEntity

+ 2 - 3
demo/src/main/java/com/framework/mvvm/model/db/entity/task/JobSpaceEntity.kt

@@ -15,9 +15,8 @@ data class JobSpaceEntity(
     @ColumnInfo(name = "project_id") override val projectId: String?,
     @ColumnInfo(name = "building_id") override val buildingId: String?,
     @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "valid") override var valid: Int?,
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
     @ColumnInfo(name = "space_id") val spaceId: String,               // 空间id
     @ColumnInfo(name = "work_id") val workId: String?,                // 交付工作流程id

+ 20 - 21
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ObjectEntity.kt

@@ -17,28 +17,27 @@ import java.io.Serializable
 @Entity(tableName = "object")
 data class ObjectEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
-    @ColumnInfo(name = "project_id") override val projectId: String?,
-    @ColumnInfo(name = "building_id") override val buildingId: String?,
-    @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
-    @ColumnInfo(name = "name") val name: String?,
+    @ColumnInfo(name = "project_id") override val projectId: String,
+    @ColumnInfo(name = "building_id") override val buildingId: String,
+    @ColumnInfo(name = "floor_id") override val floorId: String,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "obj_type") val objType: String?,             // 对象类型
-    @ColumnInfo(name = "class_code") var classCode: String?,         // 对象类型编码
-    @ColumnInfo(name = "local_id") var localId: String?,            // 对象位置编码
-    @ColumnInfo(name = "local_name") val localName: String?,        // 对象位置名称
-    @ColumnInfo(name = "group_code") val groupCode: String?,        // 集团编码
-    @ColumnInfo(name = "grouping") val grouping: Int?,              // 1 表示单个对象,2 表示对象组
-    @ColumnInfo(name = "client_device") val clientDevice: String?,  // 标识客户端设备
-    @ColumnInfo(name = "client_id") val clientId: String?,          // 客户端生成id
-    @ColumnInfo(name = "delivery_state") val deliveryState: Int?,   // BDTP交付状态: 1 已交付, 0 待交付
-    @ColumnInfo(name = "d2m_state") val d2mState: Int?,             // 逆向数据的数模同步状态(0:未同步;1:已同步)
-    @ColumnInfo(name = "virtual_codes") val virtualCodes: String?,  // 虚点清单: Json 数据格式
-    @ColumnInfo(name = "infos") var infos: JsonElement?,             // 信息点数据: Json 数据格式
-    @ColumnInfo(name = "floor_map") var floorMap: String?,          // 楼层地图
-    @ColumnInfo(name = "container_id") var containerId: String? = ""     // 无模型设备的上级设备id
+    @ColumnInfo(name = "name") val name: String? = "",
+    @ColumnInfo(name = "obj_type") val objType: String? = "",             // 对象类型
+    @ColumnInfo(name = "class_code") var classCode: String? = "",         // 对象类型编码
+    @ColumnInfo(name = "local_id") var localId: String? = "",             // 对象位置编码
+    @ColumnInfo(name = "local_name") val localName: String? = "",         // 对象位置名称
+    @ColumnInfo(name = "group_code") val groupCode: String? = "",         // 集团编码
+    @ColumnInfo(name = "grouping") val grouping: Int = 1,                 // 1 表示单个对象,2 表示对象组
+    @ColumnInfo(name = "client_device") val clientDevice: String? = "",   // 标识客户端设备
+    @ColumnInfo(name = "client_id") val clientId: String? = "",           // 客户端生成id
+    @ColumnInfo(name = "delivery_state") val deliveryState: Int? = null,  // BDTP交付状态: 1 已交付, 0 待交付
+    @ColumnInfo(name = "d2m_state") val d2mState: Int? = null,            // 逆向数据的数模同步状态(0:未同步;1:已同步)
+    @ColumnInfo(name = "virtual_codes") val virtualCodes: String? = "",   // 虚点清单: Json 数据格式
+    @ColumnInfo(name = "infos") var infos: JsonElement? = null,           // 信息点数据: Json 数据格式
+    @ColumnInfo(name = "floor_map") var floorMap: String? = "",           // 楼层地图
+    @ColumnInfo(name = "container_id") var containerId: String? = ""      // 无模型设备的上级设备id
 ) : BaseEntity
 
 

+ 18 - 19
demo/src/main/java/com/framework/mvvm/model/db/entity/task/PipeEntity.kt

@@ -12,24 +12,23 @@ import com.google.gson.JsonElement
 @Entity(tableName = "pipe")
 data class PipeEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
-    @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "project_id") override val projectId: String?,
-    @ColumnInfo(name = "building_id") override val buildingId: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
+    @ColumnInfo(name = "floor_id") override val floorId: String? = "",
+    @ColumnInfo(name = "project_id") override val projectId: String? = "",
+    @ColumnInfo(name = "building_id") override val buildingId: String? = "",
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
+    @ColumnInfo(name = "state") override var state: Int = -1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "obj_from") val objFrom: String?,              // 管道的from端对象
-    @ColumnInfo(name = "type_from") val typeFrom: String?,            // from端对象类型(equipment:设备;pipe:管道)
-    @ColumnInfo(name = "obj_to") val objTo: String?,                  // 管道的to端对象
-    @ColumnInfo(name = "type_to") val typeTo: String?,                // to端对象类型(equipment:设备;pipe:管道)
-    @ColumnInfo(name = "direction") val direction: Int?,              // 管道方向(1:正向from->to;-1:反向to->from;0:无方向
-    @ColumnInfo(name = "pipe_type") val pipeType: String?,            // 管道的数据字典类型(OTLAPL: 液体管道|OTAAPL: 气体管道)'
-    @ColumnInfo(name = "pipe_sub_type") val pipeSubType: String?,     // 管道用途
-    @ColumnInfo(name = "route") val route: JsonElement? = null,                   // 管道路由(坐标列表格式:[{x:1,y:1,z:1}])
-    @ColumnInfo(name = "infos") val infos: JsonElement? = null,                   // 管道的信息点
-    @ColumnInfo(name = "d2m_state") val d2mState: String?,            // 逆向数据的数模同步状态(0:未同步;1:已同步)
-    @ColumnInfo(name = "delivery_state") val deliveryState: String?,  // 交付BDTP状态:1已交付,0待交付
-    var objFromLocalId: String?,
-    var objToLocalId: String?,
+    @ColumnInfo(name = "obj_from") val objFrom: String? = "",              // 管道的from端对象
+    @ColumnInfo(name = "type_from") val typeFrom: String? = "",            // from端对象类型(equipment:设备;pipe:管道)
+    @ColumnInfo(name = "obj_to") val objTo: String? = "",                  // 管道的to端对象
+    @ColumnInfo(name = "type_to") val typeTo: String? = "",                // to端对象类型(equipment:设备;pipe:管道)
+    @ColumnInfo(name = "direction") val direction: Int? = null,            // 管道方向(1:正向from->to;-1:反向to->from;0:无方向
+    @ColumnInfo(name = "pipe_type") val pipeType: String? = "",            // 管道的数据字典类型(OTLAPL: 液体管道|OTAAPL: 气体管道)'
+    @ColumnInfo(name = "pipe_sub_type") val pipeSubType: String? = "",     // 管道用途
+    @ColumnInfo(name = "route") val route: JsonElement? = null,            // 管道路由(坐标列表格式:[{x:1,y:1,z:1}])
+    @ColumnInfo(name = "infos") val infos: JsonElement? = null,            // 管道的信息点
+    @ColumnInfo(name = "d2m_state") val d2mState: String? = null,                 // 逆向数据的数模同步状态(0:未同步;1:已同步)
+    @ColumnInfo(name = "delivery_state") val deliveryState: String? = null,       // 交付BDTP状态:1已交付,0待交付
+    var objFromLocalId: String? = "",
+    var objToLocalId: String? = "",
 ) : BaseEntity

+ 8 - 9
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ProblemArchEntity.kt

@@ -15,14 +15,13 @@ data class ProblemArchEntity(
     @ColumnInfo(name = "floor_id") override val floorId: String,
     @ColumnInfo(name = "project_id") override val projectId: String,
     @ColumnInfo(name = "building_id") override val buildingId: String,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "geom_type") val geomType: String?,         // 问题记录的几何类型(point|line|polygon)
-    @ColumnInfo(name = "work_id") val workId: String?,             // 交付工作流程id
-    @ColumnInfo(name = "problem_type") val problemType: String?,   // 问题类型
-    @ColumnInfo(name = "problem_state") var problemState: Int?,    // 建筑结构核查任务状态(0:删除;1:有效;2:已解决)
-    @ColumnInfo(name = "message") val message: String?,            // 问题描述
-    @ColumnInfo(name = "geom") val geom: JsonElement?,                  // 问题记录的几何数据(Json)
+    @ColumnInfo(name = "geom_type") val geomType: String? = "",        // 问题记录的几何类型(point|line|polygon)
+    @ColumnInfo(name = "work_id") val workId: String? = "",            // 交付工作流程id
+    @ColumnInfo(name = "problem_type") val problemType: String? = "",  // 问题类型
+    @ColumnInfo(name = "problem_state") var problemState: Int? = null, // 建筑结构核查任务状态(0:删除;1:有效;2:已解决)
+    @ColumnInfo(name = "message") val message: String? = "",                // 问题描述
+    @ColumnInfo(name = "geom") val geom: JsonElement? = null,                 // 问题记录的几何数据(Json)
 ) : BaseEntity

+ 6 - 7
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ProblemEquipEntity.kt

@@ -14,13 +14,12 @@ data class ProblemEquipEntity(
     @ColumnInfo(name = "floor_id") override val floorId: String,
     @ColumnInfo(name = "project_id") override val projectId: String,
     @ColumnInfo(name = "building_id") override val buildingId: String,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
     @ColumnInfo(name = "equip_id") val equipId: String,            // 设备id
-    @ColumnInfo(name = "work_id") val workId: String?,             // 交付工作流程id
-    @ColumnInfo(name = "problem_type") val problemType: String?,   // 问题类型
-    @ColumnInfo(name = "problem_state") val problemState: Int?,    // 建筑结构核查任务状态(0:删除;1:有效;2:已解决)
-    @ColumnInfo(name = "message") val message: String?,            // 问题描述
+    @ColumnInfo(name = "work_id") val workId: String? = null,             // 交付工作流程id
+    @ColumnInfo(name = "problem_type") val problemType: String? = null,   // 问题类型
+    @ColumnInfo(name = "problem_state") val problemState: Int? = null,    // 建筑结构核查任务状态(0:删除;1:有效;2:已解决)
+    @ColumnInfo(name = "message") val message: String? = null,            // 问题描述
 ) : BaseEntity

+ 6 - 7
demo/src/main/java/com/framework/mvvm/model/db/entity/task/QrCodeEntity.kt

@@ -15,12 +15,11 @@ data class QrCodeEntity(
     @ColumnInfo(name = "project_id") override val projectId: String,
     @ColumnInfo(name = "building_id") override val buildingId: String,
     @ColumnInfo(name = "floor_id") override val floorId: String,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "qr_code") val qrCode: String,                       // 二维码数据值
-    @ColumnInfo(name = "obj_id") val objId: String,                         // 二维码对应的对象id
-    @ColumnInfo(name = "remark") val remark: String?,                       // 描述信息
-    @ColumnInfo(name = "location") val location: JsonElement?,                   // 位置坐标({x:1,y:1,z:1})
+    @ColumnInfo(name = "qr_code") val qrCode: String = "",                       // 二维码数据值
+    @ColumnInfo(name = "obj_id") val objId: String = "",                         // 二维码对应的对象id
+    @ColumnInfo(name = "remark") val remark: String? = "",                       // 描述信息
+    @ColumnInfo(name = "location") val location: JsonElement? = null,                   // 位置坐标({x:1,y:1,z:1})
 ) : BaseEntity

+ 18 - 19
demo/src/main/java/com/framework/mvvm/model/db/entity/task/RelationEntity.kt

@@ -11,24 +11,23 @@ import com.framework.mvvm.model.db.entity.BaseEntity
 @Entity(tableName = "relation")
 data class RelationEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
-    @ColumnInfo(name = "project_id") override val projectId: String?,
-    @ColumnInfo(name = "building_id") override val buildingId: String?,
-    @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "project_id") override val projectId: String? = null,
+    @ColumnInfo(name = "building_id") override val buildingId: String? = null,
+    @ColumnInfo(name = "floor_id") override val floorId: String? = null,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "group_code") val groupCode: String?,         // 集团代码
-    @ColumnInfo(name = "graph_id") val graphId: String?,             // 图id
-    @ColumnInfo(name = "graph_code") val graphCode: String?,         // 图编码
-    @ColumnInfo(name = "rel_code") val relCode: String?,             // 关系编码
-    @ColumnInfo(name = "rel_value") val relValue: String?,           // 关系值
-    @ColumnInfo(name = "obj_from") val objFrom: String?,             // 关系源对象
-    @ColumnInfo(name = "obj_to") val objTo: String?,                 // 关系目标对象
-    @ColumnInfo(name = "client_id") val clientId: String?,           // 客户端生成id
-    @ColumnInfo(name = "client_device") val clientDevice: String?,   // 标识客户端设备
-    @ColumnInfo(name = "delivery_state") val deliveryState: Int?,    // BDTP交付状态: 1 已交付, 0 待交付
-    @ColumnInfo(name = "d2m_state") val d2mState: Int?,              // 逆向数据的数模同步状态(0:未同步;1:已同步)
-    var objFromLocalId: String?,
-    var objToLocalId: String?,
+    @ColumnInfo(name = "group_code") val groupCode: String? = null,         // 集团代码
+    @ColumnInfo(name = "graph_id") val graphId: String? = null,             // 图id
+    @ColumnInfo(name = "graph_code") val graphCode: String? = null,         // 图编码
+    @ColumnInfo(name = "rel_code") val relCode: String? = null,             // 关系编码
+    @ColumnInfo(name = "rel_value") val relValue: String? = null,           // 关系值
+    @ColumnInfo(name = "obj_from") val objFrom: String? = null,             // 关系源对象
+    @ColumnInfo(name = "obj_to") val objTo: String? = null,                 // 关系目标对象
+    @ColumnInfo(name = "client_id") val clientId: String? = null,           // 客户端生成id
+    @ColumnInfo(name = "client_device") val clientDevice: String? = null,   // 标识客户端设备
+    @ColumnInfo(name = "delivery_state") val deliveryState: Int = -1,       // BDTP交付状态: 1 已交付, 0 待交付
+    @ColumnInfo(name = "d2m_state") val d2mState: Int = -1,                 // 逆向数据的数模同步状态(0:未同步;1:已同步)
+    var objFromLocalId: String? = null,
+    var objToLocalId: String? = null,
 ) : BaseEntity

+ 9 - 10
demo/src/main/java/com/framework/mvvm/model/db/entity/task/ServeAreaEntity.kt

@@ -13,15 +13,14 @@ import com.google.gson.JsonElement
 data class ServeAreaEntity(
     @PrimaryKey @ColumnInfo(name = "id") override val id: String,
     @ColumnInfo(name = "project_id") override val projectId: String,
-    @ColumnInfo(name = "building_id") override val buildingId: String?,
-    @ColumnInfo(name = "floor_id") override val floorId: String?,
-    @ColumnInfo(name = "state") override var state: String? = "0",
-    @ColumnInfo(name = "upload_flag") override var uploadFlag: String?,
-    @ColumnInfo(name = "valid") override var valid: Int?,
+    @ColumnInfo(name = "building_id") override val buildingId: String,
+    @ColumnInfo(name = "floor_id") override val floorId: String,
+    @ColumnInfo(name = "state") override var state: Int = -1,
+    @ColumnInfo(name = "valid") override var valid: Int = 1,
     @ColumnInfo(name = "ts") override val ts: Long = 0L,
-    @ColumnInfo(name = "obj_id") var objId: String?,            // 服务该区域提供的设备id
-    @ColumnInfo(name = "geom_type") var geomType: String?,      // 服务区域的几何类型(polygon:多边形|circle:圆形|ellipse:椭圆)
-    @ColumnInfo(name = "geom") var geom: JsonElement? = null,          // 服务区域的轮廓几何信息(polygon对应xy坐标数组, circle和ellipse对应对象(圆心半径))
-    @ColumnInfo(name = "serve_type") var serveType: String?,    // 服务的类型,照明回路等,暂时为空
-    @ColumnInfo(name = "remark") var remark: String?,           // 描述信息
+    @ColumnInfo(name = "obj_id") var objId: String? = "",            // 服务该区域提供的设备id
+    @ColumnInfo(name = "geom_type") var geomType: String? = "",      // 服务区域的几何类型(polygon:多边形|circle:圆形|ellipse:椭圆)
+    @ColumnInfo(name = "geom") var geom: JsonElement? = null,        // 服务区域的轮廓几何信息(polygon对应xy坐标数组, circle和ellipse对应对象(圆心半径))
+    @ColumnInfo(name = "serve_type") var serveType: String? = "",    // 服务的类型,照明回路等,暂时为空
+    @ColumnInfo(name = "remark") var remark: String? = "",           // 描述信息
 ) : BaseEntity

+ 57 - 26
demo/src/main/java/com/framework/mvvm/model/repository/AdmRepository.kt

@@ -310,15 +310,33 @@ class AdmRepository(
             to = { building ->
                 block?.invoke(building)
                 try {
-                    building.file?.let { db.fileDao().insFiles(it) }
-                    building.jobSpace?.let { db.jobSpaceDao().insSpaces(it) }
-                    building.objects?.let { db.objectDao().insObjects(it) }
-                    building.problemArch?.let { db.problemArchDao().insProblems(it) }
-                    building.problemEquip?.let { db.problemEquipDao().insProblems(it) }
-                    building.qrCode?.let { db.qrCodeDao().insQrCodes(it) }
-                    building.relations?.let { db.relationDao().insRelations(it) }
-                    building.pipes?.let { db.pipeDao().insPipes(it) }
-                    building.areas?.let { db.serveAreaDao().insertAreas(it) }
+                    building.file
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.fileDao().insFiles(it) }
+                    building.jobSpace
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.jobSpaceDao().insSpaces(it) }
+                    building.objects
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.objectDao().insObjects(it) }
+                    building.problemArch
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.problemArchDao().insProblems(it) }
+                    building.problemEquip
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.problemEquipDao().insProblems(it) }
+                    building.qrCode
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.qrCodeDao().insQrCodes(it) }
+                    building.relations
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.relationDao().insRelations(it) }
+                    building.pipes
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.pipeDao().insPipes(it) }
+                    building.areas
+                        ?.onEach { it.state = 2 }
+                        ?.let { db.serveAreaDao().insertAreas(it) }
 
                 } catch (e: Exception) {
                     Log.d(
@@ -368,19 +386,32 @@ class AdmRepository(
             val problemEquipDao = db.problemEquipDao()
             val serveAreaDao = db.serveAreaDao()
 
-            val pipes = pipeDao.getPipeByBuildingId(buildingId).filter { it.state == "1" }
-            val files = fileDao.getFileByBuildingId(buildingId).filter { it.state == "1" }
-            val spaces = spaceDao.getSpaceByBuildingId(buildingId).filter { it.state == "1" }
-            val qrCodes = qrCodeDao.getQrCodeByBuildingId(buildingId).filter { it.state == "1" }
-            val objects = objectDao.getObjectByBuildingId(buildingId).filter { it.state == "1" }
+            val pipes =
+                pipeDao.getPipeByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
+            val files =
+                fileDao.getFileByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
+            val spaces =
+                spaceDao.getSpaceByBuildingId(buildingId).filter { it.state == 0 || it.state == 1 }
+            val qrCodes = qrCodeDao.getQrCodeByBuildingId(buildingId)
+                .filter { it.state == 0 || it.state == 1 }
+
+            val objects = objectDao.getObjectByBuildingId(buildingId)
+                .filter { it.state == 0 || it.state == 1 }
+
             val relations =
-                relationDao.getRelationByBuildingId(buildingId).filter { it.state == "1" }
+                relationDao.getRelationByBuildingId(buildingId)
+                    .filter { it.state == 0 || it.state == 1 }
+
             val problemArchs =
-                problemArchDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
+                problemArchDao.getProblemByBuildingId(buildingId)
+                    .filter { it.state == 0 || it.state == 1 }
+
             val problemEquips =
-                problemEquipDao.getProblemByBuildingId(buildingId).filter { it.state == "1" }
+                problemEquipDao.getProblemByBuildingId(buildingId)
+                    .filter { it.state == 0 || it.state == 1 }
 
-            val areas = serveAreaDao.getAreasByBuildingId(buildingId).filter { it.state == "1" }
+            val areas = serveAreaDao.getAreasByBuildingId(buildingId)
+                .filter { it.state == 0 || it.state == 1 }
 
             val deviceId = sp.getString(DEVICE_ID, "") ?: ""
 
@@ -413,35 +444,35 @@ class AdmRepository(
                     val result = response.data
                     Log.e("AdmViewModel", """uploadBuilding success: $result""")
                     files.forEach {
-                        it.state = "2"
+                        it.state = 2
                         fileDao.insFile(it)
                     }
                     pipes.forEach {
-                        it.state = "2"
+                        it.state = 2
                         pipeDao.insPipe(it)
                     }
                     spaces.forEach {
-                        it.state = "2"
+                        it.state = 2
                         spaceDao.insSpace(it)
                     }
                     objects.forEach {
-                        it.state = "2"
+                        it.state = 2
                         objectDao.insObject(it)
                     }
                     qrCodes.forEach {
-                        it.state = "2"
+                        it.state = 2
                         qrCodeDao.insQrCode(it)
                     }
                     relations.forEach {
-                        it.state = "2"
+                        it.state = 2
                         relationDao.insRelation(it)
                     }
                     problemArchs.forEach {
-                        it.state = "2"
+                        it.state = 2
                         problemArchDao.insProblem(it)
                     }
                     problemEquips.forEach {
-                        it.state = "2"
+                        it.state = 2
                         problemEquipDao.insProblem(it)
                     }
                 }

+ 2 - 4
demo/src/main/java/com/sybotan/android/demo/viewmodel/ContainerVM.kt

@@ -2,7 +2,7 @@ package com.sybotan.android.demo.viewmodel
 
 import android.app.Application
 import androidx.lifecycle.viewModelScope
-import com.framework.mvvm.model.db.entity.task.*
+import com.framework.mvvm.model.db.entity.task.ObjectEntity
 import com.framework.mvvm.model.repository.AdmRepository
 import com.sybotan.android.demo.activities.BaseActivity
 import com.sybotan.android.demo.bean.ContainerParentBean
@@ -12,8 +12,6 @@ import org.kodein.di.DI
 import org.kodein.di.DIAware
 import org.kodein.di.android.x.closestDI
 import org.kodein.di.instance
-import java.util.*
-import kotlin.collections.ArrayList
 
 
 /**
@@ -63,7 +61,7 @@ class ContainerVM(
     fun deleteObject(item: ObjectEntity, deviceId: String) {
         viewModelScope.launch {
             item.valid = 0
-            item.state = "1"
+            if (item.state == 2) item.state = 1
             repo.insObject(item)
             getConfig(deviceId)
         }

+ 10 - 32
demo/src/main/java/com/sybotan/android/demo/viewmodel/EquipDetailVM.kt

@@ -182,20 +182,11 @@ class EquipDetailVM(
                     classCode = equipEntity.code!!,
                     localId = localId,
                     localName = localName,
-                    groupCode = "",
-                    grouping = 1,
                     buildingId = buildingId,
                     floorId = floorId,
-                    clientDevice = "",
                     clientId = uuid,
-                    uploadFlag = "",
-                    valid = 1,
-                    deliveryState = null,
-                    d2mState = null,
-                    virtualCodes = null,
                     infos = gson.toJsonTree(hashMap),
-                    floorMap = null,
-                    state = "1",
+                    state = 0,
                     containerId = if (TextUtils.isEmpty(containerId)) "" else containerId
                 )
                 repo.insObject(objectEntity)
@@ -205,7 +196,7 @@ class EquipDetailVM(
                 equip!!.classCode = equipEntity.code!!
                 equip.localId = localId
                 equip.infos = gson.toJsonTree(hashMap)
-                equip.state = "1"
+                equip.state = 0
                 repo.insObject(equip)
             }
             //插入文件数据
@@ -227,14 +218,11 @@ class EquipDetailVM(
                             fileType = "photo",
                             clientPath = photo.path,
                             refObjId = if (TextUtils.isEmpty(deviceId)) uuid else deviceId,
-                            refInfoCode = "",
-                            remark = "",
                             orderNum = order,
                             projectId = projectId,
                             buildingId = buildingId,
                             floorId = floorId,
-                            valid = 1,
-                            uploadFlag = "", state = "1"
+                            state = 0
                         )
                         repo.insFile(file)
                     }
@@ -544,17 +532,11 @@ class EquipDetailVM(
                 buildingId = buildingId,
                 floorId = floorId,
                 graphCode = groupRelConfigEntity.graphCode,
-                graphId = null,
-                groupCode = null,
                 relCode = groupRelConfigEntity.relCode,
-                relValue = null,
                 objFrom = objFrom,
                 objTo = objto,
-                clientId = null,
-                clientDevice = null,
-                uploadFlag = null,
-                deliveryState = null,
-                valid = 1, d2mState = null, objFromLocalId = null, objToLocalId = null, state = "1"
+                valid = 1,
+                state = 0
             )
             repo.insRelation(relEntity)
             getRelConfig(equipEntity, deviceId, uuid)
@@ -565,7 +547,9 @@ class EquipDetailVM(
      * 增加管道
      */
     fun addPipe(
-        deviceId: String, uuid: String, equipEntity: EquipmentEntity,
+        deviceId: String,
+        uuid: String,
+        equipEntity: EquipmentEntity,
         equip: ObjectEntity,
         groupPipeConfigEntity: PipeConfigEntity,
         direction: String
@@ -602,19 +586,13 @@ class EquipDetailVM(
                 floorId = floorId,
                 objFrom = objFrom,
                 objTo = objto,
-                uploadFlag = null,
-                deliveryState = null,
                 valid = 1,
-                d2mState = null,
-                objFromLocalId = null,
-                objToLocalId = null,
                 direction = pipeDirection,
                 typeFrom = "equipment",
                 typeTo = "equipment",
                 pipeType = groupPipeConfigEntity.pipeType,
                 pipeSubType = groupPipeConfigEntity.pipeSubType,
-                route = null,
-                infos = null, state = "1"
+                state = 0
             )
             repo.insPipe(relEntity)
             getRelConfig(equipEntity, deviceId, uuid)
@@ -669,7 +647,7 @@ class EquipDetailVM(
             hashMap.put("location", z)
             hashMap.put("zRegion", position.z.region)
             obj.infos = gson.toJsonTree(hashMap)
-            obj.state = "1"
+            if (obj.state == 2) obj.state = 1
             repo.insObject(obj)
             mEmitter.SendDirective(UPDATE_LOCATION, null)
         }

+ 5 - 8
demo/src/main/java/com/sybotan/android/demo/viewmodel/GraphyVM.kt

@@ -171,7 +171,7 @@ class GraphyVM(
                 space.archState = 2
                 space.equipState = 2
             }
-            space.state = "1"
+            space.state()
             repo.insSpace(space)
             mEmitter.SendDirective(SET_JOB, null)
         }
@@ -398,18 +398,15 @@ class GraphyVM(
                         projectId = projectId,
                         buildingId = buildingId,
                         equipId = deviceId,
-                        workId = null,
-                        problemType = null,
                         problemState = 1,
-                        message = null,
-                        uploadFlag = null,
-                        valid = 1, state = "1"
+                        valid = 1,
+                        state = 0
                     )
                     repo.insProblemEquipEntity(entity)
                 }
             } else {
                 equip?.valid = 0
-                equip?.state = "1"
+                equip?.state()
                 repo.insObject(equip!!)
             }
             getSpaceEq(space)
@@ -449,7 +446,7 @@ class GraphyVM(
             hashMap.put("location", z)
             hashMap.put("zRegion", position.z.region)
             obj.infos = gson.toJsonTree(hashMap)
-            obj.state = "1"
+            obj.state()
             repo.insObject(obj)
             mEmitter.SendDirective(UPDATE_LOCATION, null)
         }

+ 1 - 1
demo/src/main/java/com/sybotan/android/demo/viewmodel/SpaceDetailVM.kt

@@ -112,7 +112,7 @@ class SpaceDetailVM(
         viewModelScope.launch {
             val spaceObj = repo.getObject(space.id!!)
             spaceObj!!.infos = gson.toJsonTree(hashMap)
-            spaceObj.state = "1"
+            spaceObj.state()
             repo.insObject(spaceObj)
             mActivity.setResult(RESULT_OK)
             mActivity.finish()

+ 11 - 24
demo/src/main/java/com/sybotan/android/demo/viewmodel/SpaceMapVM.kt

@@ -13,6 +13,7 @@ import cn.sagacloud.android.cadengine.types.FloorData
 import cn.sagacloud.android.cadengine.types.Photos
 import cn.sagacloud.android.cadengine.types.Point
 import cn.sagacloud.android.cadengine.types.PointZ
+import com.framework.mvvm.model.db.entity.state
 import com.framework.mvvm.model.db.entity.task.*
 import com.framework.mvvm.model.repository.AdmRepository
 import com.google.gson.Gson
@@ -28,8 +29,6 @@ import org.kodein.di.DI
 import org.kodein.di.DIAware
 import org.kodein.di.android.x.closestDI
 import org.kodein.di.instance
-import java.util.*
-import kotlin.collections.ArrayList
 
 
 /**
@@ -173,13 +172,10 @@ class SpaceMapVM(
                 projectId = projectId,
                 buildingId = buildingId,
                 geomType = if (array.size == 1) "point" else "line",
-                workId = "",
-                problemType = "",
                 problemState = 1,
                 message = content,
-                uploadFlag = "",
                 valid = 1,
-                state = "1",
+                state = 0,
                 geom = toJson
             )
             repo.insProblem(problem)
@@ -201,14 +197,11 @@ class SpaceMapVM(
                         fileType = "photo",
                         clientPath = photo.path,
                         refObjId = toString,
-                        refInfoCode = "",
-                        remark = "",
                         orderNum = order,
                         projectId = projectId,
                         buildingId = buildingId,
                         floorId = floorId,
-                        valid = 1,
-                        uploadFlag = "", state = "1"
+                        state = 0
                     )
                     repo.insFile(file)
                 }
@@ -297,8 +290,8 @@ class SpaceMapVM(
                 buildingId = buildingId,
                 floorId = floorId,
                 remark = "wall",
-                valid = 1,
-                uploadFlag = "", state = "1", location = toJson
+                state = 0,
+                location = toJson
             )
             repo.insQrcode(qrcode)
             mEmitter.SendDirective(BIND_QECODE, null)
@@ -363,7 +356,7 @@ class SpaceMapVM(
                     space.equipState = 2
                 }
             }
-            space.state = "1"
+            space.state()
             repo.insSpace(space)
             mEmitter.SendDirective(SET_JOB, null)
         }
@@ -403,17 +396,14 @@ class SpaceMapVM(
                     projectId = projectId,
                     buildingId = buildingId,
                     floorId = floorId,
-                    state = "1",
-                    uploadFlag = null,
-                    valid = 1,
+                    state = 0,
                     objId = deviceId,
                     geomType = "polygon",
                     geom = gson.toJsonTree(geom),
-                    serveType = null, remark = null
                 )
             } else {
                 entity.geom = gson.toJsonTree(geom)
-                entity.state = "1"
+                entity.state()
             }
             repo.insServeArea(entity)
             mActivity.finish()
@@ -433,17 +423,14 @@ class SpaceMapVM(
                     projectId = projectId,
                     buildingId = buildingId,
                     floorId = floorId,
-                    state = "1",
-                    uploadFlag = null,
-                    valid = 1,
+                    state = 0,
                     objId = deviceId,
                     geomType = "polygon",
                     geom = gson.toJsonTree(geom),
-                    serveType = null, remark = null
                 )
             } else {
                 entity.geom = gson.toJsonTree(geom)
-                entity.state = "1"
+                entity.state()
             }
             repo.insServeArea(entity)
             mActivity.finish()
@@ -477,7 +464,7 @@ class SpaceMapVM(
             val entity = repo.getServeAreaByObjId(deviceId)
             if (entity != null) {
                 entity.valid = 0
-                entity.state = "1"
+                entity.state()
                 repo.insServeArea(entity)
             }
         }