diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt index 6e0d556..175291e 100644 --- a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt @@ -18,11 +18,11 @@ import android.view.WindowManager import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.amap.api.location.AMapLocation import com.casic.electric.detector.R import com.casic.electric.detector.adapter.EditableImageAdapter import com.casic.electric.detector.base.SerialPortActivity -import com.casic.electric.detector.bean.LabelBean import com.casic.electric.detector.callback.ILocationListener import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.extensions.* @@ -43,6 +43,9 @@ import kotlinx.android.synthetic.main.include_label_marker_attribute.* import kotlinx.android.synthetic.main.include_label_object_attribute.* import kotlinx.android.synthetic.main.include_open_camera.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.IOException import java.util.* @@ -60,6 +63,7 @@ private lateinit var soundPool: SoundPool private lateinit var imageAdapter: EditableImageAdapter private lateinit var taskViewModel: TaskViewModel + private lateinit var labelData: LabelDataClass override fun initLayoutView(): Int = R.layout.activity_install_label @@ -108,7 +112,7 @@ tieCableView2.setText("tieCableView2".getDefaultValue()) jointCountView.setText("jointCountView".getDefaultValue()) casingHoleCountView.setText("casingHoleCountView".getDefaultValue()) - casingHoleLengthView.setText("casingHoleLengthView".getDefaultValue()) + casingHoleDiameterView.setText("casingHoleDiameterView".getDefaultValue()) heightView.setText("heightView".getDefaultValue()) lineNumberView.setText("lineNumberView".getDefaultValue()) inspectionUnitView.setText("inspectionUnitView".getDefaultValue()) @@ -136,7 +140,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -145,16 +148,6 @@ } } - //TODO - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - - DataBaseManager.get.insertLabel(labelBean) - } - override fun initEvent() { leftBackView.setOnClickListener { finish() } @@ -170,94 +163,66 @@ objectModeView.text = "类型:" wellCoverMaterialView.text = "井盖材质:" bottomDepthNameView.text = "井深:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, LocaleConstant.OBJECT_MODE_ARRAY, 0 + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_1, 0 + ) } 1 -> { //选择电缆通道 bottomDepthNameView.text = "底部深度:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.VISIBLE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, View.VISIBLE, + View.GONE + ) } 2 -> { //选择配电房 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.VISIBLE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, + View.VISIBLE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 3 -> { //选择开关站 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.VISIBLE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.VISIBLE, + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 4 -> { //选择台区 objectModeView.text = "变压器型号:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.VISIBLE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, arrayOf("变压器 KVA"), 0 + ) } 5 -> { //选择杆塔 wellCoverMaterialView.text = "对象材质:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.VISIBLE + setLayoutVisibility( + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.VISIBLE + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_2, 0 + ) } } } @@ -267,8 +232,6 @@ } } - objectModeSpinner.show(this, LocaleConstant.OBJECT_MODE_ARRAY, 0) - wellCoverMaterialSpinner.show(this, LocaleConstant.WELL_COVER_MATERIAL_ARRAY, 0) cabinetTypeSpinner.show(this, LocaleConstant.CABINET_TYPE_ARRAY, 0) casingMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) markerTypeSpinner.show(this, LocaleConstant.MARKER_TYPE_ARRAY, 0) @@ -399,45 +362,118 @@ installButton.setOnClickListener { if (isNetworkConnected()) { val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String -// taskViewModel.installLabel() + val itemPosition = objectTypeSpinner.selectedItemPosition + val objectTypeCode = itemPosition + 1 + + if (markerIdView.text.isNullOrBlank()) { + "ID号不能为空,请读标识器".show(this) + return@setOnClickListener + } + + if (constructDateView.text.isNullOrBlank()) { + "请选择建设时间".show(this) + return@setOnClickListener + } + + if (markerCountView.text.isNullOrBlank()) { + "请输入电子标签数量".show(this) + return@setOnClickListener + } //保存默认值 -// "objectCodeView".setDefaultValue() -// "objectNameView".setDefaultValue() -// "inlineNameView".setDefaultValue() -// "capacityView".setDefaultValue() -// "transformerSpecView".setDefaultValue() -// "sLengthView".setDefaultValue() -// "sWidthView".setDefaultValue() -// "sHeightView".setDefaultValue() -// "inlineCountView".setDefaultValue() -// "outlineCountView".setDefaultValue() -// "bottomDepthView".setDefaultValue() -// "rowCountView".setDefaultValue() -// "rowHoleCountView".setDefaultValue() -// "coverDepthView".setDefaultValue() -// "remainingChannelsView".setDefaultValue() -// "tieCableView1".setDefaultValue() -// "tieCableView2".setDefaultValue() -// "jointCountView".setDefaultValue() -// "casingHoleCountView".setDefaultValue() -// "casingHoleLengthView".setDefaultValue() -// "heightView".setDefaultValue() -// "lineNumberView".setDefaultValue() -// "inspectionUnitView".setDefaultValue() -// "areaView".setDefaultValue() -// "roadView".setDefaultValue() -// "objectRemarkView1".setDefaultValue() -// "objectRemarkView2".setDefaultValue() -// "objectRemarkView3".setDefaultValue() -// "ownerView".setDefaultValue() -// "markerDepthView".setDefaultValue() -// "markerCountView".setDefaultValue() -// "remarkView1".setDefaultValue() -// "remarkView2".setDefaultValue() -// "remarkView3".setDefaultValue() + "objectCodeView".setDefaultValue(objectCodeView) + "objectNameView".setDefaultValue(objectNameView) + "inlineNameView".setDefaultValue(inlineNameView) + "capacityView".setDefaultValue(capacityView) + "transformerSpecView".setDefaultValue(transformerSpecView) + "sLengthView".setDefaultValue(sLengthView) + "sWidthView".setDefaultValue(sWidthView) + "sHeightView".setDefaultValue(sHeightView) + "inlineCountView".setDefaultValue(inlineCountView) + "outlineCountView".setDefaultValue(outlineCountView) + "bottomDepthView".setDefaultValue(bottomDepthView) + "rowCountView".setDefaultValue(rowCountView) + "rowHoleCountView".setDefaultValue(rowHoleCountView) + "coverDepthView".setDefaultValue(coverDepthView) + "remainingChannelsView".setDefaultValue(remainingChannelsView) + "tieCableView1".setDefaultValue(tieCableView1) + "tieCableView2".setDefaultValue(tieCableView2) + "jointCountView".setDefaultValue(jointCountView) + "casingHoleCountView".setDefaultValue(casingHoleCountView) + "casingHoleDiameterView".setDefaultValue(casingHoleDiameterView) + "heightView".setDefaultValue(heightView) + "lineNumberView".setDefaultValue(lineNumberView) + "inspectionUnitView".setDefaultValue(inspectionUnitView) + "areaView".setDefaultValue(areaView) + "roadView".setDefaultValue(roadView) + "objectRemarkView1".setDefaultValue(objectRemarkView1) + "objectRemarkView2".setDefaultValue(objectRemarkView2) + "objectRemarkView3".setDefaultValue(objectRemarkView3) + "ownerView".setDefaultValue(ownerView) + "markerDepthView".setDefaultValue(markerDepthView) + "markerCountView".setDefaultValue(markerCountView) + "remarkView1".setDefaultValue(remarkView1) + "remarkView2".setDefaultValue(remarkView2) + "remarkView3".setDefaultValue(remarkView3) + + labelData = LabelDataClass( + companyId, + objectTypeCode.toString(), + objectCodeView.text.toString(), + objectNameView.text.toString(), + voltageLevelView.text.toString(), + objectModeSpinner.selectedItem.toString(), + "进线${inlineNameView.text}", + wellCoverMaterialSpinner.selectedItem.toString(), + "${capacityView.text}KVA", + transformerSpecView.text.toString(), + "${sLengthView.text}米长 x ${sWidthView.text}米宽 x ${sHeightView.text}米高", + inlineCountView.text.toString(), + outlineCountView.text.toString(), + cabinetTypeSpinner.selectedItem.toString(), + bottomDepthView.text.toString(), + "${rowCountView.text}排 x ${rowHoleCountView.text}孔", + "${coverDepthView.text}米", + crossPipeLineView.text.toString(), + remainingChannelsView.text.toString(), + tieCableView1.text.toString(), + tieCableView2.text.toString(), + jointCountView.text.toString(), + casingMaterialSpinner.selectedItem.toString(), + "${casingHoleCountView.text}孔,直径${casingHoleDiameterView.text}毫米", + "${heightView.text.toString()}米", + lineNumberView.text.toString(), + constructDateView.text.toString(), + inspectionUnitView.text.toString(), + areaView.text.toString(), + roadView.text.toString(), + objectRemarkView1.text.toString(), + objectRemarkView2.text.toString(), + objectRemarkView3.text.toString(), + markerIdView.text.toString(), + markerTypeSpinner.selectedItem.toString(), + ownerView.text.toString(), + markerDepthView.text.toString(), + installTimeView.text.toString(), + lngView.text.toString(), + latView.text.toString(), + markerCountView.text.toString(), + remarkView1.text.toString(), + remarkView2.text.toString(), + remarkView3.text.toString(), + realPaths + ) + + //先存本地 + lifecycleScope.launch { + withContext(Dispatchers.IO) { + DataBaseManager.get.insertLabel(labelData) + } + } + + //再存服务器 + taskViewModel.installLabel(labelData) } else { NoNetworkDialog.Builder() .setContext(context) @@ -523,6 +559,21 @@ }) } + //根据选择类型控制界面某些区域显隐 + private fun setLayoutVisibility(vararg args: Int) { + objectModeLayout.visibility = args[0] + inlineNameLayout.visibility = args[1] + wellCoverMaterialLayout.visibility = args[2] + capacityLayout.visibility = args[3] + sizeLayout.visibility = args[4] + inlineCountLayout.visibility = args[5] + outlineCountLayout.visibility = args[6] + wellDepthLayout.visibility = args[7] + pipeLineLayout.visibility = args[8] + jointCountLayout.visibility = args[9] + heightLayout.visibility = args[10] + } + override fun onDestroy() { soundPool.release() gpioManager.setGpioLow("18") diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt index 6e0d556..175291e 100644 --- a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt @@ -18,11 +18,11 @@ import android.view.WindowManager import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.amap.api.location.AMapLocation import com.casic.electric.detector.R import com.casic.electric.detector.adapter.EditableImageAdapter import com.casic.electric.detector.base.SerialPortActivity -import com.casic.electric.detector.bean.LabelBean import com.casic.electric.detector.callback.ILocationListener import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.extensions.* @@ -43,6 +43,9 @@ import kotlinx.android.synthetic.main.include_label_marker_attribute.* import kotlinx.android.synthetic.main.include_label_object_attribute.* import kotlinx.android.synthetic.main.include_open_camera.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.IOException import java.util.* @@ -60,6 +63,7 @@ private lateinit var soundPool: SoundPool private lateinit var imageAdapter: EditableImageAdapter private lateinit var taskViewModel: TaskViewModel + private lateinit var labelData: LabelDataClass override fun initLayoutView(): Int = R.layout.activity_install_label @@ -108,7 +112,7 @@ tieCableView2.setText("tieCableView2".getDefaultValue()) jointCountView.setText("jointCountView".getDefaultValue()) casingHoleCountView.setText("casingHoleCountView".getDefaultValue()) - casingHoleLengthView.setText("casingHoleLengthView".getDefaultValue()) + casingHoleDiameterView.setText("casingHoleDiameterView".getDefaultValue()) heightView.setText("heightView".getDefaultValue()) lineNumberView.setText("lineNumberView".getDefaultValue()) inspectionUnitView.setText("inspectionUnitView".getDefaultValue()) @@ -136,7 +140,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -145,16 +148,6 @@ } } - //TODO - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - - DataBaseManager.get.insertLabel(labelBean) - } - override fun initEvent() { leftBackView.setOnClickListener { finish() } @@ -170,94 +163,66 @@ objectModeView.text = "类型:" wellCoverMaterialView.text = "井盖材质:" bottomDepthNameView.text = "井深:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, LocaleConstant.OBJECT_MODE_ARRAY, 0 + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_1, 0 + ) } 1 -> { //选择电缆通道 bottomDepthNameView.text = "底部深度:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.VISIBLE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, View.VISIBLE, + View.GONE + ) } 2 -> { //选择配电房 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.VISIBLE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, + View.VISIBLE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 3 -> { //选择开关站 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.VISIBLE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.VISIBLE, + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 4 -> { //选择台区 objectModeView.text = "变压器型号:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.VISIBLE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, arrayOf("变压器 KVA"), 0 + ) } 5 -> { //选择杆塔 wellCoverMaterialView.text = "对象材质:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.VISIBLE + setLayoutVisibility( + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.VISIBLE + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_2, 0 + ) } } } @@ -267,8 +232,6 @@ } } - objectModeSpinner.show(this, LocaleConstant.OBJECT_MODE_ARRAY, 0) - wellCoverMaterialSpinner.show(this, LocaleConstant.WELL_COVER_MATERIAL_ARRAY, 0) cabinetTypeSpinner.show(this, LocaleConstant.CABINET_TYPE_ARRAY, 0) casingMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) markerTypeSpinner.show(this, LocaleConstant.MARKER_TYPE_ARRAY, 0) @@ -399,45 +362,118 @@ installButton.setOnClickListener { if (isNetworkConnected()) { val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String -// taskViewModel.installLabel() + val itemPosition = objectTypeSpinner.selectedItemPosition + val objectTypeCode = itemPosition + 1 + + if (markerIdView.text.isNullOrBlank()) { + "ID号不能为空,请读标识器".show(this) + return@setOnClickListener + } + + if (constructDateView.text.isNullOrBlank()) { + "请选择建设时间".show(this) + return@setOnClickListener + } + + if (markerCountView.text.isNullOrBlank()) { + "请输入电子标签数量".show(this) + return@setOnClickListener + } //保存默认值 -// "objectCodeView".setDefaultValue() -// "objectNameView".setDefaultValue() -// "inlineNameView".setDefaultValue() -// "capacityView".setDefaultValue() -// "transformerSpecView".setDefaultValue() -// "sLengthView".setDefaultValue() -// "sWidthView".setDefaultValue() -// "sHeightView".setDefaultValue() -// "inlineCountView".setDefaultValue() -// "outlineCountView".setDefaultValue() -// "bottomDepthView".setDefaultValue() -// "rowCountView".setDefaultValue() -// "rowHoleCountView".setDefaultValue() -// "coverDepthView".setDefaultValue() -// "remainingChannelsView".setDefaultValue() -// "tieCableView1".setDefaultValue() -// "tieCableView2".setDefaultValue() -// "jointCountView".setDefaultValue() -// "casingHoleCountView".setDefaultValue() -// "casingHoleLengthView".setDefaultValue() -// "heightView".setDefaultValue() -// "lineNumberView".setDefaultValue() -// "inspectionUnitView".setDefaultValue() -// "areaView".setDefaultValue() -// "roadView".setDefaultValue() -// "objectRemarkView1".setDefaultValue() -// "objectRemarkView2".setDefaultValue() -// "objectRemarkView3".setDefaultValue() -// "ownerView".setDefaultValue() -// "markerDepthView".setDefaultValue() -// "markerCountView".setDefaultValue() -// "remarkView1".setDefaultValue() -// "remarkView2".setDefaultValue() -// "remarkView3".setDefaultValue() + "objectCodeView".setDefaultValue(objectCodeView) + "objectNameView".setDefaultValue(objectNameView) + "inlineNameView".setDefaultValue(inlineNameView) + "capacityView".setDefaultValue(capacityView) + "transformerSpecView".setDefaultValue(transformerSpecView) + "sLengthView".setDefaultValue(sLengthView) + "sWidthView".setDefaultValue(sWidthView) + "sHeightView".setDefaultValue(sHeightView) + "inlineCountView".setDefaultValue(inlineCountView) + "outlineCountView".setDefaultValue(outlineCountView) + "bottomDepthView".setDefaultValue(bottomDepthView) + "rowCountView".setDefaultValue(rowCountView) + "rowHoleCountView".setDefaultValue(rowHoleCountView) + "coverDepthView".setDefaultValue(coverDepthView) + "remainingChannelsView".setDefaultValue(remainingChannelsView) + "tieCableView1".setDefaultValue(tieCableView1) + "tieCableView2".setDefaultValue(tieCableView2) + "jointCountView".setDefaultValue(jointCountView) + "casingHoleCountView".setDefaultValue(casingHoleCountView) + "casingHoleDiameterView".setDefaultValue(casingHoleDiameterView) + "heightView".setDefaultValue(heightView) + "lineNumberView".setDefaultValue(lineNumberView) + "inspectionUnitView".setDefaultValue(inspectionUnitView) + "areaView".setDefaultValue(areaView) + "roadView".setDefaultValue(roadView) + "objectRemarkView1".setDefaultValue(objectRemarkView1) + "objectRemarkView2".setDefaultValue(objectRemarkView2) + "objectRemarkView3".setDefaultValue(objectRemarkView3) + "ownerView".setDefaultValue(ownerView) + "markerDepthView".setDefaultValue(markerDepthView) + "markerCountView".setDefaultValue(markerCountView) + "remarkView1".setDefaultValue(remarkView1) + "remarkView2".setDefaultValue(remarkView2) + "remarkView3".setDefaultValue(remarkView3) + + labelData = LabelDataClass( + companyId, + objectTypeCode.toString(), + objectCodeView.text.toString(), + objectNameView.text.toString(), + voltageLevelView.text.toString(), + objectModeSpinner.selectedItem.toString(), + "进线${inlineNameView.text}", + wellCoverMaterialSpinner.selectedItem.toString(), + "${capacityView.text}KVA", + transformerSpecView.text.toString(), + "${sLengthView.text}米长 x ${sWidthView.text}米宽 x ${sHeightView.text}米高", + inlineCountView.text.toString(), + outlineCountView.text.toString(), + cabinetTypeSpinner.selectedItem.toString(), + bottomDepthView.text.toString(), + "${rowCountView.text}排 x ${rowHoleCountView.text}孔", + "${coverDepthView.text}米", + crossPipeLineView.text.toString(), + remainingChannelsView.text.toString(), + tieCableView1.text.toString(), + tieCableView2.text.toString(), + jointCountView.text.toString(), + casingMaterialSpinner.selectedItem.toString(), + "${casingHoleCountView.text}孔,直径${casingHoleDiameterView.text}毫米", + "${heightView.text.toString()}米", + lineNumberView.text.toString(), + constructDateView.text.toString(), + inspectionUnitView.text.toString(), + areaView.text.toString(), + roadView.text.toString(), + objectRemarkView1.text.toString(), + objectRemarkView2.text.toString(), + objectRemarkView3.text.toString(), + markerIdView.text.toString(), + markerTypeSpinner.selectedItem.toString(), + ownerView.text.toString(), + markerDepthView.text.toString(), + installTimeView.text.toString(), + lngView.text.toString(), + latView.text.toString(), + markerCountView.text.toString(), + remarkView1.text.toString(), + remarkView2.text.toString(), + remarkView3.text.toString(), + realPaths + ) + + //先存本地 + lifecycleScope.launch { + withContext(Dispatchers.IO) { + DataBaseManager.get.insertLabel(labelData) + } + } + + //再存服务器 + taskViewModel.installLabel(labelData) } else { NoNetworkDialog.Builder() .setContext(context) @@ -523,6 +559,21 @@ }) } + //根据选择类型控制界面某些区域显隐 + private fun setLayoutVisibility(vararg args: Int) { + objectModeLayout.visibility = args[0] + inlineNameLayout.visibility = args[1] + wellCoverMaterialLayout.visibility = args[2] + capacityLayout.visibility = args[3] + sizeLayout.visibility = args[4] + inlineCountLayout.visibility = args[5] + outlineCountLayout.visibility = args[6] + wellDepthLayout.visibility = args[7] + pipeLineLayout.visibility = args[8] + jointCountLayout.visibility = args[9] + heightLayout.visibility = args[10] + } + override fun onDestroy() { soundPool.release() gpioManager.setGpioLow("18") diff --git a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt index b587b1d..c51e2aa 100644 --- a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt @@ -7,6 +7,7 @@ import com.casic.electric.detector.extensions.toErrorMessage import com.casic.electric.detector.model.MarkerFileModel import com.casic.electric.detector.retrofit.RetrofitServiceManager +import com.casic.electric.detector.utils.LabelDataClass import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.extensions.launch @@ -46,65 +47,9 @@ // it.convertChinese().show(BaseApplication.get()) // }) - fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ) = launch({ + fun installLabel(labelData: LabelDataClass) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.installLabel( - companyId, - recordType, - markerObjectType, - pipeMaterial, - pipeDiameter, - depth, - belowType, - belowMaterial, - belowDiameter, - belowDepth, - layStyle, - area, - line, - road, - constructTime, - ownerComp, - markerObjectId, - markerId, - markerType, - markerDepth, - creator, - createTime, - longitude, - latitude, - colorType, - memo, - realPaths - ) + val response = RetrofitServiceManager.installLabel(labelData) if (response.separateResponseState()) { loadState.value = LoadState.Success } else { diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt index 6e0d556..175291e 100644 --- a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt @@ -18,11 +18,11 @@ import android.view.WindowManager import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.amap.api.location.AMapLocation import com.casic.electric.detector.R import com.casic.electric.detector.adapter.EditableImageAdapter import com.casic.electric.detector.base.SerialPortActivity -import com.casic.electric.detector.bean.LabelBean import com.casic.electric.detector.callback.ILocationListener import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.extensions.* @@ -43,6 +43,9 @@ import kotlinx.android.synthetic.main.include_label_marker_attribute.* import kotlinx.android.synthetic.main.include_label_object_attribute.* import kotlinx.android.synthetic.main.include_open_camera.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.IOException import java.util.* @@ -60,6 +63,7 @@ private lateinit var soundPool: SoundPool private lateinit var imageAdapter: EditableImageAdapter private lateinit var taskViewModel: TaskViewModel + private lateinit var labelData: LabelDataClass override fun initLayoutView(): Int = R.layout.activity_install_label @@ -108,7 +112,7 @@ tieCableView2.setText("tieCableView2".getDefaultValue()) jointCountView.setText("jointCountView".getDefaultValue()) casingHoleCountView.setText("casingHoleCountView".getDefaultValue()) - casingHoleLengthView.setText("casingHoleLengthView".getDefaultValue()) + casingHoleDiameterView.setText("casingHoleDiameterView".getDefaultValue()) heightView.setText("heightView".getDefaultValue()) lineNumberView.setText("lineNumberView".getDefaultValue()) inspectionUnitView.setText("inspectionUnitView".getDefaultValue()) @@ -136,7 +140,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -145,16 +148,6 @@ } } - //TODO - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - - DataBaseManager.get.insertLabel(labelBean) - } - override fun initEvent() { leftBackView.setOnClickListener { finish() } @@ -170,94 +163,66 @@ objectModeView.text = "类型:" wellCoverMaterialView.text = "井盖材质:" bottomDepthNameView.text = "井深:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, LocaleConstant.OBJECT_MODE_ARRAY, 0 + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_1, 0 + ) } 1 -> { //选择电缆通道 bottomDepthNameView.text = "底部深度:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.VISIBLE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, View.VISIBLE, + View.GONE + ) } 2 -> { //选择配电房 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.VISIBLE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, + View.VISIBLE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 3 -> { //选择开关站 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.VISIBLE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.VISIBLE, + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 4 -> { //选择台区 objectModeView.text = "变压器型号:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.VISIBLE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, arrayOf("变压器 KVA"), 0 + ) } 5 -> { //选择杆塔 wellCoverMaterialView.text = "对象材质:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.VISIBLE + setLayoutVisibility( + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.VISIBLE + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_2, 0 + ) } } } @@ -267,8 +232,6 @@ } } - objectModeSpinner.show(this, LocaleConstant.OBJECT_MODE_ARRAY, 0) - wellCoverMaterialSpinner.show(this, LocaleConstant.WELL_COVER_MATERIAL_ARRAY, 0) cabinetTypeSpinner.show(this, LocaleConstant.CABINET_TYPE_ARRAY, 0) casingMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) markerTypeSpinner.show(this, LocaleConstant.MARKER_TYPE_ARRAY, 0) @@ -399,45 +362,118 @@ installButton.setOnClickListener { if (isNetworkConnected()) { val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String -// taskViewModel.installLabel() + val itemPosition = objectTypeSpinner.selectedItemPosition + val objectTypeCode = itemPosition + 1 + + if (markerIdView.text.isNullOrBlank()) { + "ID号不能为空,请读标识器".show(this) + return@setOnClickListener + } + + if (constructDateView.text.isNullOrBlank()) { + "请选择建设时间".show(this) + return@setOnClickListener + } + + if (markerCountView.text.isNullOrBlank()) { + "请输入电子标签数量".show(this) + return@setOnClickListener + } //保存默认值 -// "objectCodeView".setDefaultValue() -// "objectNameView".setDefaultValue() -// "inlineNameView".setDefaultValue() -// "capacityView".setDefaultValue() -// "transformerSpecView".setDefaultValue() -// "sLengthView".setDefaultValue() -// "sWidthView".setDefaultValue() -// "sHeightView".setDefaultValue() -// "inlineCountView".setDefaultValue() -// "outlineCountView".setDefaultValue() -// "bottomDepthView".setDefaultValue() -// "rowCountView".setDefaultValue() -// "rowHoleCountView".setDefaultValue() -// "coverDepthView".setDefaultValue() -// "remainingChannelsView".setDefaultValue() -// "tieCableView1".setDefaultValue() -// "tieCableView2".setDefaultValue() -// "jointCountView".setDefaultValue() -// "casingHoleCountView".setDefaultValue() -// "casingHoleLengthView".setDefaultValue() -// "heightView".setDefaultValue() -// "lineNumberView".setDefaultValue() -// "inspectionUnitView".setDefaultValue() -// "areaView".setDefaultValue() -// "roadView".setDefaultValue() -// "objectRemarkView1".setDefaultValue() -// "objectRemarkView2".setDefaultValue() -// "objectRemarkView3".setDefaultValue() -// "ownerView".setDefaultValue() -// "markerDepthView".setDefaultValue() -// "markerCountView".setDefaultValue() -// "remarkView1".setDefaultValue() -// "remarkView2".setDefaultValue() -// "remarkView3".setDefaultValue() + "objectCodeView".setDefaultValue(objectCodeView) + "objectNameView".setDefaultValue(objectNameView) + "inlineNameView".setDefaultValue(inlineNameView) + "capacityView".setDefaultValue(capacityView) + "transformerSpecView".setDefaultValue(transformerSpecView) + "sLengthView".setDefaultValue(sLengthView) + "sWidthView".setDefaultValue(sWidthView) + "sHeightView".setDefaultValue(sHeightView) + "inlineCountView".setDefaultValue(inlineCountView) + "outlineCountView".setDefaultValue(outlineCountView) + "bottomDepthView".setDefaultValue(bottomDepthView) + "rowCountView".setDefaultValue(rowCountView) + "rowHoleCountView".setDefaultValue(rowHoleCountView) + "coverDepthView".setDefaultValue(coverDepthView) + "remainingChannelsView".setDefaultValue(remainingChannelsView) + "tieCableView1".setDefaultValue(tieCableView1) + "tieCableView2".setDefaultValue(tieCableView2) + "jointCountView".setDefaultValue(jointCountView) + "casingHoleCountView".setDefaultValue(casingHoleCountView) + "casingHoleDiameterView".setDefaultValue(casingHoleDiameterView) + "heightView".setDefaultValue(heightView) + "lineNumberView".setDefaultValue(lineNumberView) + "inspectionUnitView".setDefaultValue(inspectionUnitView) + "areaView".setDefaultValue(areaView) + "roadView".setDefaultValue(roadView) + "objectRemarkView1".setDefaultValue(objectRemarkView1) + "objectRemarkView2".setDefaultValue(objectRemarkView2) + "objectRemarkView3".setDefaultValue(objectRemarkView3) + "ownerView".setDefaultValue(ownerView) + "markerDepthView".setDefaultValue(markerDepthView) + "markerCountView".setDefaultValue(markerCountView) + "remarkView1".setDefaultValue(remarkView1) + "remarkView2".setDefaultValue(remarkView2) + "remarkView3".setDefaultValue(remarkView3) + + labelData = LabelDataClass( + companyId, + objectTypeCode.toString(), + objectCodeView.text.toString(), + objectNameView.text.toString(), + voltageLevelView.text.toString(), + objectModeSpinner.selectedItem.toString(), + "进线${inlineNameView.text}", + wellCoverMaterialSpinner.selectedItem.toString(), + "${capacityView.text}KVA", + transformerSpecView.text.toString(), + "${sLengthView.text}米长 x ${sWidthView.text}米宽 x ${sHeightView.text}米高", + inlineCountView.text.toString(), + outlineCountView.text.toString(), + cabinetTypeSpinner.selectedItem.toString(), + bottomDepthView.text.toString(), + "${rowCountView.text}排 x ${rowHoleCountView.text}孔", + "${coverDepthView.text}米", + crossPipeLineView.text.toString(), + remainingChannelsView.text.toString(), + tieCableView1.text.toString(), + tieCableView2.text.toString(), + jointCountView.text.toString(), + casingMaterialSpinner.selectedItem.toString(), + "${casingHoleCountView.text}孔,直径${casingHoleDiameterView.text}毫米", + "${heightView.text.toString()}米", + lineNumberView.text.toString(), + constructDateView.text.toString(), + inspectionUnitView.text.toString(), + areaView.text.toString(), + roadView.text.toString(), + objectRemarkView1.text.toString(), + objectRemarkView2.text.toString(), + objectRemarkView3.text.toString(), + markerIdView.text.toString(), + markerTypeSpinner.selectedItem.toString(), + ownerView.text.toString(), + markerDepthView.text.toString(), + installTimeView.text.toString(), + lngView.text.toString(), + latView.text.toString(), + markerCountView.text.toString(), + remarkView1.text.toString(), + remarkView2.text.toString(), + remarkView3.text.toString(), + realPaths + ) + + //先存本地 + lifecycleScope.launch { + withContext(Dispatchers.IO) { + DataBaseManager.get.insertLabel(labelData) + } + } + + //再存服务器 + taskViewModel.installLabel(labelData) } else { NoNetworkDialog.Builder() .setContext(context) @@ -523,6 +559,21 @@ }) } + //根据选择类型控制界面某些区域显隐 + private fun setLayoutVisibility(vararg args: Int) { + objectModeLayout.visibility = args[0] + inlineNameLayout.visibility = args[1] + wellCoverMaterialLayout.visibility = args[2] + capacityLayout.visibility = args[3] + sizeLayout.visibility = args[4] + inlineCountLayout.visibility = args[5] + outlineCountLayout.visibility = args[6] + wellDepthLayout.visibility = args[7] + pipeLineLayout.visibility = args[8] + jointCountLayout.visibility = args[9] + heightLayout.visibility = args[10] + } + override fun onDestroy() { soundPool.release() gpioManager.setGpioLow("18") diff --git a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt index b587b1d..c51e2aa 100644 --- a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt @@ -7,6 +7,7 @@ import com.casic.electric.detector.extensions.toErrorMessage import com.casic.electric.detector.model.MarkerFileModel import com.casic.electric.detector.retrofit.RetrofitServiceManager +import com.casic.electric.detector.utils.LabelDataClass import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.extensions.launch @@ -46,65 +47,9 @@ // it.convertChinese().show(BaseApplication.get()) // }) - fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ) = launch({ + fun installLabel(labelData: LabelDataClass) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.installLabel( - companyId, - recordType, - markerObjectType, - pipeMaterial, - pipeDiameter, - depth, - belowType, - belowMaterial, - belowDiameter, - belowDepth, - layStyle, - area, - line, - road, - constructTime, - ownerComp, - markerObjectId, - markerId, - markerType, - markerDepth, - creator, - createTime, - longitude, - latitude, - colorType, - memo, - realPaths - ) + val response = RetrofitServiceManager.installLabel(labelData) if (response.separateResponseState()) { loadState.value = LoadState.Success } else { diff --git a/app/src/main/res/layout/include_label_marker_attribute.xml b/app/src/main/res/layout/include_label_marker_attribute.xml index de7a99f..79c3607 100644 --- a/app/src/main/res/layout/include_label_marker_attribute.xml +++ b/app/src/main/res/layout/include_label_marker_attribute.xml @@ -190,7 +190,7 @@ + android:inputType="number" /> - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt index 6e0d556..175291e 100644 --- a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt @@ -18,11 +18,11 @@ import android.view.WindowManager import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.amap.api.location.AMapLocation import com.casic.electric.detector.R import com.casic.electric.detector.adapter.EditableImageAdapter import com.casic.electric.detector.base.SerialPortActivity -import com.casic.electric.detector.bean.LabelBean import com.casic.electric.detector.callback.ILocationListener import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.extensions.* @@ -43,6 +43,9 @@ import kotlinx.android.synthetic.main.include_label_marker_attribute.* import kotlinx.android.synthetic.main.include_label_object_attribute.* import kotlinx.android.synthetic.main.include_open_camera.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.IOException import java.util.* @@ -60,6 +63,7 @@ private lateinit var soundPool: SoundPool private lateinit var imageAdapter: EditableImageAdapter private lateinit var taskViewModel: TaskViewModel + private lateinit var labelData: LabelDataClass override fun initLayoutView(): Int = R.layout.activity_install_label @@ -108,7 +112,7 @@ tieCableView2.setText("tieCableView2".getDefaultValue()) jointCountView.setText("jointCountView".getDefaultValue()) casingHoleCountView.setText("casingHoleCountView".getDefaultValue()) - casingHoleLengthView.setText("casingHoleLengthView".getDefaultValue()) + casingHoleDiameterView.setText("casingHoleDiameterView".getDefaultValue()) heightView.setText("heightView".getDefaultValue()) lineNumberView.setText("lineNumberView".getDefaultValue()) inspectionUnitView.setText("inspectionUnitView".getDefaultValue()) @@ -136,7 +140,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -145,16 +148,6 @@ } } - //TODO - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - - DataBaseManager.get.insertLabel(labelBean) - } - override fun initEvent() { leftBackView.setOnClickListener { finish() } @@ -170,94 +163,66 @@ objectModeView.text = "类型:" wellCoverMaterialView.text = "井盖材质:" bottomDepthNameView.text = "井深:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, LocaleConstant.OBJECT_MODE_ARRAY, 0 + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_1, 0 + ) } 1 -> { //选择电缆通道 bottomDepthNameView.text = "底部深度:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.VISIBLE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, View.VISIBLE, + View.GONE + ) } 2 -> { //选择配电房 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.VISIBLE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, + View.VISIBLE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 3 -> { //选择开关站 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.VISIBLE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.VISIBLE, + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 4 -> { //选择台区 objectModeView.text = "变压器型号:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.VISIBLE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, arrayOf("变压器 KVA"), 0 + ) } 5 -> { //选择杆塔 wellCoverMaterialView.text = "对象材质:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.VISIBLE + setLayoutVisibility( + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.VISIBLE + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_2, 0 + ) } } } @@ -267,8 +232,6 @@ } } - objectModeSpinner.show(this, LocaleConstant.OBJECT_MODE_ARRAY, 0) - wellCoverMaterialSpinner.show(this, LocaleConstant.WELL_COVER_MATERIAL_ARRAY, 0) cabinetTypeSpinner.show(this, LocaleConstant.CABINET_TYPE_ARRAY, 0) casingMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) markerTypeSpinner.show(this, LocaleConstant.MARKER_TYPE_ARRAY, 0) @@ -399,45 +362,118 @@ installButton.setOnClickListener { if (isNetworkConnected()) { val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String -// taskViewModel.installLabel() + val itemPosition = objectTypeSpinner.selectedItemPosition + val objectTypeCode = itemPosition + 1 + + if (markerIdView.text.isNullOrBlank()) { + "ID号不能为空,请读标识器".show(this) + return@setOnClickListener + } + + if (constructDateView.text.isNullOrBlank()) { + "请选择建设时间".show(this) + return@setOnClickListener + } + + if (markerCountView.text.isNullOrBlank()) { + "请输入电子标签数量".show(this) + return@setOnClickListener + } //保存默认值 -// "objectCodeView".setDefaultValue() -// "objectNameView".setDefaultValue() -// "inlineNameView".setDefaultValue() -// "capacityView".setDefaultValue() -// "transformerSpecView".setDefaultValue() -// "sLengthView".setDefaultValue() -// "sWidthView".setDefaultValue() -// "sHeightView".setDefaultValue() -// "inlineCountView".setDefaultValue() -// "outlineCountView".setDefaultValue() -// "bottomDepthView".setDefaultValue() -// "rowCountView".setDefaultValue() -// "rowHoleCountView".setDefaultValue() -// "coverDepthView".setDefaultValue() -// "remainingChannelsView".setDefaultValue() -// "tieCableView1".setDefaultValue() -// "tieCableView2".setDefaultValue() -// "jointCountView".setDefaultValue() -// "casingHoleCountView".setDefaultValue() -// "casingHoleLengthView".setDefaultValue() -// "heightView".setDefaultValue() -// "lineNumberView".setDefaultValue() -// "inspectionUnitView".setDefaultValue() -// "areaView".setDefaultValue() -// "roadView".setDefaultValue() -// "objectRemarkView1".setDefaultValue() -// "objectRemarkView2".setDefaultValue() -// "objectRemarkView3".setDefaultValue() -// "ownerView".setDefaultValue() -// "markerDepthView".setDefaultValue() -// "markerCountView".setDefaultValue() -// "remarkView1".setDefaultValue() -// "remarkView2".setDefaultValue() -// "remarkView3".setDefaultValue() + "objectCodeView".setDefaultValue(objectCodeView) + "objectNameView".setDefaultValue(objectNameView) + "inlineNameView".setDefaultValue(inlineNameView) + "capacityView".setDefaultValue(capacityView) + "transformerSpecView".setDefaultValue(transformerSpecView) + "sLengthView".setDefaultValue(sLengthView) + "sWidthView".setDefaultValue(sWidthView) + "sHeightView".setDefaultValue(sHeightView) + "inlineCountView".setDefaultValue(inlineCountView) + "outlineCountView".setDefaultValue(outlineCountView) + "bottomDepthView".setDefaultValue(bottomDepthView) + "rowCountView".setDefaultValue(rowCountView) + "rowHoleCountView".setDefaultValue(rowHoleCountView) + "coverDepthView".setDefaultValue(coverDepthView) + "remainingChannelsView".setDefaultValue(remainingChannelsView) + "tieCableView1".setDefaultValue(tieCableView1) + "tieCableView2".setDefaultValue(tieCableView2) + "jointCountView".setDefaultValue(jointCountView) + "casingHoleCountView".setDefaultValue(casingHoleCountView) + "casingHoleDiameterView".setDefaultValue(casingHoleDiameterView) + "heightView".setDefaultValue(heightView) + "lineNumberView".setDefaultValue(lineNumberView) + "inspectionUnitView".setDefaultValue(inspectionUnitView) + "areaView".setDefaultValue(areaView) + "roadView".setDefaultValue(roadView) + "objectRemarkView1".setDefaultValue(objectRemarkView1) + "objectRemarkView2".setDefaultValue(objectRemarkView2) + "objectRemarkView3".setDefaultValue(objectRemarkView3) + "ownerView".setDefaultValue(ownerView) + "markerDepthView".setDefaultValue(markerDepthView) + "markerCountView".setDefaultValue(markerCountView) + "remarkView1".setDefaultValue(remarkView1) + "remarkView2".setDefaultValue(remarkView2) + "remarkView3".setDefaultValue(remarkView3) + + labelData = LabelDataClass( + companyId, + objectTypeCode.toString(), + objectCodeView.text.toString(), + objectNameView.text.toString(), + voltageLevelView.text.toString(), + objectModeSpinner.selectedItem.toString(), + "进线${inlineNameView.text}", + wellCoverMaterialSpinner.selectedItem.toString(), + "${capacityView.text}KVA", + transformerSpecView.text.toString(), + "${sLengthView.text}米长 x ${sWidthView.text}米宽 x ${sHeightView.text}米高", + inlineCountView.text.toString(), + outlineCountView.text.toString(), + cabinetTypeSpinner.selectedItem.toString(), + bottomDepthView.text.toString(), + "${rowCountView.text}排 x ${rowHoleCountView.text}孔", + "${coverDepthView.text}米", + crossPipeLineView.text.toString(), + remainingChannelsView.text.toString(), + tieCableView1.text.toString(), + tieCableView2.text.toString(), + jointCountView.text.toString(), + casingMaterialSpinner.selectedItem.toString(), + "${casingHoleCountView.text}孔,直径${casingHoleDiameterView.text}毫米", + "${heightView.text.toString()}米", + lineNumberView.text.toString(), + constructDateView.text.toString(), + inspectionUnitView.text.toString(), + areaView.text.toString(), + roadView.text.toString(), + objectRemarkView1.text.toString(), + objectRemarkView2.text.toString(), + objectRemarkView3.text.toString(), + markerIdView.text.toString(), + markerTypeSpinner.selectedItem.toString(), + ownerView.text.toString(), + markerDepthView.text.toString(), + installTimeView.text.toString(), + lngView.text.toString(), + latView.text.toString(), + markerCountView.text.toString(), + remarkView1.text.toString(), + remarkView2.text.toString(), + remarkView3.text.toString(), + realPaths + ) + + //先存本地 + lifecycleScope.launch { + withContext(Dispatchers.IO) { + DataBaseManager.get.insertLabel(labelData) + } + } + + //再存服务器 + taskViewModel.installLabel(labelData) } else { NoNetworkDialog.Builder() .setContext(context) @@ -523,6 +559,21 @@ }) } + //根据选择类型控制界面某些区域显隐 + private fun setLayoutVisibility(vararg args: Int) { + objectModeLayout.visibility = args[0] + inlineNameLayout.visibility = args[1] + wellCoverMaterialLayout.visibility = args[2] + capacityLayout.visibility = args[3] + sizeLayout.visibility = args[4] + inlineCountLayout.visibility = args[5] + outlineCountLayout.visibility = args[6] + wellDepthLayout.visibility = args[7] + pipeLineLayout.visibility = args[8] + jointCountLayout.visibility = args[9] + heightLayout.visibility = args[10] + } + override fun onDestroy() { soundPool.release() gpioManager.setGpioLow("18") diff --git a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt index b587b1d..c51e2aa 100644 --- a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt @@ -7,6 +7,7 @@ import com.casic.electric.detector.extensions.toErrorMessage import com.casic.electric.detector.model.MarkerFileModel import com.casic.electric.detector.retrofit.RetrofitServiceManager +import com.casic.electric.detector.utils.LabelDataClass import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.extensions.launch @@ -46,65 +47,9 @@ // it.convertChinese().show(BaseApplication.get()) // }) - fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ) = launch({ + fun installLabel(labelData: LabelDataClass) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.installLabel( - companyId, - recordType, - markerObjectType, - pipeMaterial, - pipeDiameter, - depth, - belowType, - belowMaterial, - belowDiameter, - belowDepth, - layStyle, - area, - line, - road, - constructTime, - ownerComp, - markerObjectId, - markerId, - markerType, - markerDepth, - creator, - createTime, - longitude, - latitude, - colorType, - memo, - realPaths - ) + val response = RetrofitServiceManager.installLabel(labelData) if (response.separateResponseState()) { loadState.value = LoadState.Success } else { diff --git a/app/src/main/res/layout/include_label_marker_attribute.xml b/app/src/main/res/layout/include_label_marker_attribute.xml index de7a99f..79c3607 100644 --- a/app/src/main/res/layout/include_label_marker_attribute.xml +++ b/app/src/main/res/layout/include_label_marker_attribute.xml @@ -190,7 +190,7 @@ + android:inputType="number" /> + android:inputType="number" /> + style="@style/inputEditTextStyle" + android:inputType="number" /> + style="@style/inputEditTextStyle" + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> diff --git a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java index fc45760..b2743b9 100644 --- a/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java +++ b/app/src/main/java/com/casic/electric/detector/bean/LabelBean.java @@ -94,22 +94,22 @@ private String markerMemo2; // 标识器备注3 private String markerMemo3; + // 图片路径 + private String imagePath; - @Generated(hash = 2134378052) - public LabelBean(Long id, String markerObjType, String markerNumber, - String objectName, String voltageLevel, String transformerModel, - String holeCount, String capacity, String wellCoverMaterial, - String coverDepth, String transformerSpec, String inlineName, - String size, String bottomDepth, String height, String crossPipeLine, - String inlineCount, String lineNumber, String jointCount, + @Generated(hash = 1984568625) + public LabelBean(Long id, String markerObjType, String markerNumber, String objectName, + String voltageLevel, String transformerModel, String holeCount, String capacity, + String wellCoverMaterial, String coverDepth, String transformerSpec, + String inlineName, String size, String bottomDepth, String height, + String crossPipeLine, String inlineCount, String lineNumber, String jointCount, String outlineCount, String remainingChannels, String cabinetType, - String tieCable1, String tieCable2, String casingMaterial, - String casingSpec, String constructTime, String inspectionUnit, - String area, String road, String memo1, String memo2, String memo3, - String markerId, String markerType, String owner, String markerDepth, - String electricTagCount, String installedTime, String longitude, - String latitude, String markerMemo1, String markerMemo2, - String markerMemo3) { + String tieCable1, String tieCable2, String casingMaterial, String casingSpec, + String constructTime, String inspectionUnit, String area, String road, + String memo1, String memo2, String memo3, String markerId, String markerType, + String owner, String markerDepth, String electricTagCount, String installedTime, + String longitude, String latitude, String markerMemo1, String markerMemo2, + String markerMemo3, String imagePath) { this.id = id; this.markerObjType = markerObjType; this.markerNumber = markerNumber; @@ -154,6 +154,7 @@ this.markerMemo1 = markerMemo1; this.markerMemo2 = markerMemo2; this.markerMemo3 = markerMemo3; + this.imagePath = imagePath; } @Generated(hash = 1285554626) @@ -511,4 +512,12 @@ public void setMarkerMemo3(String markerMemo3) { this.markerMemo3 = markerMemo3; } + + public String getImagePath() { + return this.imagePath; + } + + public void setImagePath(String imagePath) { + this.imagePath = imagePath; + } } diff --git a/app/src/main/java/com/casic/electric/detector/extensions/String.kt b/app/src/main/java/com/casic/electric/detector/extensions/String.kt index d44c315..a0db0eb 100644 --- a/app/src/main/java/com/casic/electric/detector/extensions/String.kt +++ b/app/src/main/java/com/casic/electric/detector/extensions/String.kt @@ -1,6 +1,7 @@ package com.casic.electric.detector.extensions import android.content.Context +import android.widget.TextView import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.model.ErrorMessageModel import com.casic.electric.detector.utils.FileType @@ -76,8 +77,8 @@ } //根据控件名字存默认值 -fun String.setDefaultValue(value: String) { - SaveKeyValues.putValue(this, value) +fun String.setDefaultValue(textView: TextView) { + SaveKeyValues.putValue(this, textView.text.toString()) } //根据控件名字取默认值 diff --git a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java index f4eba29..0afe589 100644 --- a/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java +++ b/app/src/main/java/com/casic/electric/detector/greendao/LabelBeanDao.java @@ -68,6 +68,7 @@ public final static Property MarkerMemo1 = new Property(41, String.class, "markerMemo1", false, "MARKER_MEMO1"); public final static Property MarkerMemo2 = new Property(42, String.class, "markerMemo2", false, "MARKER_MEMO2"); public final static Property MarkerMemo3 = new Property(43, String.class, "markerMemo3", false, "MARKER_MEMO3"); + public final static Property ImagePath = new Property(44, String.class, "imagePath", false, "IMAGE_PATH"); } @@ -126,7 +127,8 @@ "\"LATITUDE\" TEXT," + // 40: latitude "\"MARKER_MEMO1\" TEXT," + // 41: markerMemo1 "\"MARKER_MEMO2\" TEXT," + // 42: markerMemo2 - "\"MARKER_MEMO3\" TEXT);"); // 43: markerMemo3 + "\"MARKER_MEMO3\" TEXT," + // 43: markerMemo3 + "\"IMAGE_PATH\" TEXT);"); // 44: imagePath } /** Drops the underlying database table. */ @@ -358,6 +360,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -583,6 +590,11 @@ if (markerMemo3 != null) { stmt.bindString(44, markerMemo3); } + + String imagePath = entity.getImagePath(); + if (imagePath != null) { + stmt.bindString(45, imagePath); + } } @Override @@ -636,7 +648,8 @@ cursor.isNull(offset + 40) ? null : cursor.getString(offset + 40), // latitude cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41), // markerMemo1 cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42), // markerMemo2 - cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43) // markerMemo3 + cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43), // markerMemo3 + cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44) // imagePath ); return entity; } @@ -687,6 +700,7 @@ entity.setMarkerMemo1(cursor.isNull(offset + 41) ? null : cursor.getString(offset + 41)); entity.setMarkerMemo2(cursor.isNull(offset + 42) ? null : cursor.getString(offset + 42)); entity.setMarkerMemo3(cursor.isNull(offset + 43) ? null : cursor.getString(offset + 43)); + entity.setImagePath(cursor.isNull(offset + 44) ? null : cursor.getString(offset + 44)); } @Override diff --git a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt index 3b3ca5c..9d65bc5 100644 --- a/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/electric/detector/retrofit/RetrofitServiceManager.kt @@ -1,5 +1,6 @@ package com.casic.electric.detector.retrofit +import com.casic.electric.detector.utils.LabelDataClass import com.casic.electric.detector.utils.LocaleConstant import com.google.gson.JsonObject import com.pengxh.kt.lite.utils.RetrofitFactory @@ -101,62 +102,52 @@ * 安装新标识器 * Multipart上传图片,文件,带多参数上传 */ - suspend fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ): String { + suspend fun installLabel(labelData: LabelDataClass): String { val param = JsonObject() - param.addProperty("companyId", companyId) - param.addProperty("recordType", recordType) - param.addProperty("markerObjectType", markerObjectType) - param.addProperty("pipeMaterial", pipeMaterial) - param.addProperty("pipeDiameter", pipeDiameter) - param.addProperty("depth", depth) - param.addProperty("belowType", belowType) - param.addProperty("belowMaterial", belowMaterial) - param.addProperty("belowDiameter", belowDiameter) - param.addProperty("belowDepth", belowDepth) - param.addProperty("layStyle", layStyle) - param.addProperty("area", area) - param.addProperty("line", line) - param.addProperty("road", road) - param.addProperty("constructTime", constructTime) - param.addProperty("ownerComp", ownerComp) - param.addProperty("markerObjectId", markerObjectId) - param.addProperty("markerId", markerId) - param.addProperty("markerType", markerType) - param.addProperty("markerDepth", markerDepth) - param.addProperty("creator", creator) - param.addProperty("createTime", createTime) - param.addProperty("longitude", longitude) - param.addProperty("latitude", latitude) - param.addProperty("colorType", colorType) - param.addProperty("memo", memo) + param.addProperty("companyId", labelData.companyId) + param.addProperty("recordType", labelData.recordType) + param.addProperty("markerObjectId", labelData.markerObjectId) + param.addProperty("objectName", labelData.objectName) + param.addProperty("pressLevel", labelData.pressLevel) + param.addProperty("markerObjectType", labelData.markerObjectType) + param.addProperty("inlineName", labelData.inlineName) + param.addProperty("wellMaterial", labelData.wellMaterial) + param.addProperty("capacity", labelData.capacity) + param.addProperty("transformerSpec", labelData.transformerSpec) + param.addProperty("size", labelData.size) + param.addProperty("inlineCount", labelData.inlineCount) + param.addProperty("outlineCount", labelData.outlineCount) + param.addProperty("cabinetType", labelData.cabinetType) + param.addProperty("bottomDepth", labelData.bottomDepth) + param.addProperty("holeCount", labelData.holeCount) + param.addProperty("coverDepth", labelData.coverDepth) + param.addProperty("crossPipe", labelData.crossPipe) + param.addProperty("leftHoleCount", labelData.leftHoleCount) + param.addProperty("tieCable1", labelData.tieCable1) + param.addProperty("tieCable2", labelData.tieCable2) + param.addProperty("jointCount", labelData.jointCount) + param.addProperty("bushingMaterial", labelData.bushingMaterial) + param.addProperty("bushingSpec", labelData.bushingSpec) + param.addProperty("height", labelData.height) + param.addProperty("lineNo", labelData.lineNo) + param.addProperty("constructTime", labelData.constructTime) + param.addProperty("operComp", labelData.operComp) + param.addProperty("area", labelData.area) + param.addProperty("road", labelData.road) + param.addProperty("memo1", labelData.memo1) + param.addProperty("memo2", labelData.memo2) + param.addProperty("memo3", labelData.memo3) + param.addProperty("markerId", labelData.markerId) + param.addProperty("markerType", labelData.markerType) + param.addProperty("owner", labelData.owner) + param.addProperty("markerDepth", labelData.markerDepth) + param.addProperty("createTime", labelData.createTime) + param.addProperty("longitude", labelData.longitude) + param.addProperty("latitude", labelData.latitude) + param.addProperty("eleTagCount", labelData.eleTagCount) + param.addProperty("markerMemo1", labelData.markerMemo1) + param.addProperty("markerMemo2", labelData.markerMemo2) + param.addProperty("markerMemo3", labelData.markerMemo3) val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -164,7 +155,7 @@ res["jsonMarker"] = requestBody val multiParts = ArrayList() - realPaths.forEachIndexed { index, s -> + labelData.realPaths.forEachIndexed { index, s -> val file = File(s) val fileMultipart = MultipartBody.Part.createFormData( "fileBuffer${index + 1}", file.name, file.asRequestBody("image/png".toMediaType()) diff --git a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt index 5b3b5c1..798f310 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/DataBaseManager.kt @@ -5,6 +5,7 @@ import com.casic.electric.detector.bean.SmallLabelBean import com.casic.electric.detector.greendao.LabelBeanDao import com.casic.electric.detector.greendao.SmallLabelBeanDao +import com.pengxh.kt.lite.extensions.toJson import org.greenrobot.greendao.Property class DataBaseManager private constructor() { @@ -24,8 +25,60 @@ labelBeanDao.deleteAll() } - fun insertLabel(bean: LabelBean) { - labelBeanDao.insert(bean) + //下载服务器表格后存本地 + fun insertLabel(labelBean: LabelBean) { + labelBeanDao.insert(labelBean) + } + + //上传服务器之前存本地 + fun insertLabel(labelData: LabelDataClass) { + val labelBean = LabelBean() + labelBean.markerObjType = labelData.recordType + labelBean.markerNumber = labelData.markerObjectId + labelBean.objectName = labelData.objectName + labelBean.voltageLevel = labelData.pressLevel + labelBean.transformerModel = labelData.markerObjectType + labelBean.holeCount = labelData.holeCount + labelBean.capacity = labelData.capacity + labelBean.wellCoverMaterial = labelData.wellMaterial + labelBean.coverDepth = labelData.coverDepth + labelBean.transformerSpec = labelData.transformerSpec + labelBean.inlineName = labelData.inlineName + labelBean.size = labelData.size + labelBean.bottomDepth = labelData.bottomDepth + labelBean.height = labelData.height + labelBean.crossPipeLine = labelData.crossPipe + labelBean.inlineCount = labelData.inlineCount + labelBean.lineNumber = labelData.lineNo + labelBean.jointCount = labelData.jointCount + labelBean.outlineCount = labelData.outlineCount + labelBean.remainingChannels = labelData.leftHoleCount + labelBean.cabinetType = labelData.cabinetType + labelBean.tieCable1 = labelData.tieCable1 + labelBean.tieCable2 = labelData.tieCable2 + labelBean.casingMaterial = labelData.bushingMaterial + labelBean.casingSpec = labelData.bushingSpec + labelBean.constructTime = labelData.constructTime + labelBean.inspectionUnit = labelData.operComp + labelBean.area = labelData.area + labelBean.road = labelData.road + labelBean.memo1 = labelData.memo1 + labelBean.memo2 = labelData.memo2 + labelBean.memo3 = labelData.memo3 + labelBean.markerId = labelData.markerId + labelBean.markerType = labelData.markerType + labelBean.owner = labelData.owner + labelBean.markerDepth = labelData.markerDepth + labelBean.electricTagCount = labelData.eleTagCount + labelBean.installedTime = labelData.createTime + labelBean.longitude = labelData.longitude + labelBean.latitude = labelData.latitude + labelBean.markerMemo1 = labelData.markerMemo1 + labelBean.markerMemo2 = labelData.markerMemo2 + labelBean.markerMemo3 = labelData.markerMemo3 + labelBean.imagePath = labelData.realPaths.toJson() + + labelBeanDao.insert(labelBean) } fun loadLabels(): MutableList { diff --git a/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt new file mode 100644 index 0000000..a92a243 --- /dev/null +++ b/app/src/main/java/com/casic/electric/detector/utils/LabelDataClass.kt @@ -0,0 +1,49 @@ +package com.casic.electric.detector.utils + +data class LabelDataClass( + var companyId: String, + var recordType: String, + var markerObjectId: String, + var objectName: String, + var pressLevel: String, + var markerObjectType: String, + var inlineName: String, + var wellMaterial: String, + var capacity: String, + var transformerSpec: String, + var size: String, + var inlineCount: String, + var outlineCount: String, + var cabinetType: String, + var bottomDepth: String, + var holeCount: String, + var coverDepth: String, + var crossPipe: String, + var leftHoleCount: String, + var tieCable1: String, + var tieCable2: String, + var jointCount: String, + var bushingMaterial: String, + var bushingSpec: String, + var height: String, + var lineNo: String, + var constructTime: String, + var operComp: String, + var area: String, + var road: String, + var memo1: String, + var memo2: String, + var memo3: String, + var markerId: String, + var markerType: String, + var owner: String, + var markerDepth: String, + var createTime: String, + var longitude: String, + var latitude: String, + var eleTagCount: String, + var markerMemo1: String, + var markerMemo2: String, + var markerMemo3: String, + var realPaths: ArrayList +) diff --git a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt index 78bde44..33dd57f 100644 --- a/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/electric/detector/utils/LocaleConstant.kt @@ -32,7 +32,8 @@ var CONDITION_ARRAY = arrayOf("种类", "编号", "名称", "所属区域", "所属道路", "运检单位", "责任人", "建设时间", "标识器ID") var CONTENT_ARRAY = arrayOf("电缆井", "电缆通道", "配电房", "开关站", "台区", "杆塔") var OBJECT_MODE_ARRAY = arrayOf("直线井", "转弯井", "丁字井", "十字井", "其他") - var WELL_COVER_MATERIAL_ARRAY = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_1 = arrayOf("水泥盖板", "双重加重铁盖", "普通复合盖", "轻型连盖", "长方铁盖", "其他") + var WELL_COVER_MATERIAL_ARRAY_2 = arrayOf("水泥杆", "钢管杆", "铁塔", "其他") var CABINET_TYPE_ARRAY = arrayOf("无", "SM6", "SAFE", "RM6", "XGN15", "固体柜") var PIPE_MATERIAL_ARRAY = arrayOf("无", "PVC管", "波纹管", "镀锌钢管") var MARKER_TYPE_ARRAY = arrayOf("EM30", "EM50", "EM14") diff --git a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt index 6e0d556..175291e 100644 --- a/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/InstallLabelActivity.kt @@ -18,11 +18,11 @@ import android.view.WindowManager import android.widget.AdapterView import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.amap.api.location.AMapLocation import com.casic.electric.detector.R import com.casic.electric.detector.adapter.EditableImageAdapter import com.casic.electric.detector.base.SerialPortActivity -import com.casic.electric.detector.bean.LabelBean import com.casic.electric.detector.callback.ILocationListener import com.casic.electric.detector.callback.OnImageCompressListener import com.casic.electric.detector.extensions.* @@ -43,6 +43,9 @@ import kotlinx.android.synthetic.main.include_label_marker_attribute.* import kotlinx.android.synthetic.main.include_label_object_attribute.* import kotlinx.android.synthetic.main.include_open_camera.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import java.io.File import java.io.IOException import java.util.* @@ -60,6 +63,7 @@ private lateinit var soundPool: SoundPool private lateinit var imageAdapter: EditableImageAdapter private lateinit var taskViewModel: TaskViewModel + private lateinit var labelData: LabelDataClass override fun initLayoutView(): Int = R.layout.activity_install_label @@ -108,7 +112,7 @@ tieCableView2.setText("tieCableView2".getDefaultValue()) jointCountView.setText("jointCountView".getDefaultValue()) casingHoleCountView.setText("casingHoleCountView".getDefaultValue()) - casingHoleLengthView.setText("casingHoleLengthView".getDefaultValue()) + casingHoleDiameterView.setText("casingHoleDiameterView".getDefaultValue()) heightView.setText("heightView".getDefaultValue()) lineNumberView.setText("lineNumberView".getDefaultValue()) inspectionUnitView.setText("inspectionUnitView".getDefaultValue()) @@ -136,7 +140,6 @@ when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "标识器安装中,请稍后...") LoadState.Success -> { - saveLabelInLocal() LoadingDialogHub.dismiss() finish() } @@ -145,16 +148,6 @@ } } - //TODO - //安装成功后将标识器保存在本地 - private fun saveLabelInLocal() { - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String - - val labelBean = LabelBean() - - DataBaseManager.get.insertLabel(labelBean) - } - override fun initEvent() { leftBackView.setOnClickListener { finish() } @@ -170,94 +163,66 @@ objectModeView.text = "类型:" wellCoverMaterialView.text = "井盖材质:" bottomDepthNameView.text = "井深:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.VISIBLE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, LocaleConstant.OBJECT_MODE_ARRAY, 0 + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_1, 0 + ) } 1 -> { //选择电缆通道 bottomDepthNameView.text = "底部深度:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.VISIBLE - pipeLineLayout.visibility = View.VISIBLE - jointCountLayout.visibility = View.VISIBLE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, View.VISIBLE, + View.GONE + ) } 2 -> { //选择配电房 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.VISIBLE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.VISIBLE, View.VISIBLE, + View.VISIBLE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 3 -> { //选择开关站 - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.VISIBLE - inlineCountLayout.visibility = View.VISIBLE - outlineCountLayout.visibility = View.VISIBLE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.GONE, View.GONE, View.GONE, View.GONE, View.VISIBLE, + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE + ) } 4 -> { //选择台区 objectModeView.text = "变压器型号:" - - objectModeLayout.visibility = View.VISIBLE - inlineNameLayout.visibility = View.VISIBLE - wellCoverMaterialLayout.visibility = View.GONE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.GONE + setLayoutVisibility( + View.VISIBLE, View.VISIBLE, View.GONE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.GONE + ) + objectModeSpinner.show( + this@InstallLabelActivity, arrayOf("变压器 KVA"), 0 + ) } 5 -> { //选择杆塔 wellCoverMaterialView.text = "对象材质:" - - objectModeLayout.visibility = View.GONE - inlineNameLayout.visibility = View.GONE - wellCoverMaterialLayout.visibility = View.VISIBLE - capacityLayout.visibility = View.GONE - sizeLayout.visibility = View.GONE - inlineCountLayout.visibility = View.GONE - outlineCountLayout.visibility = View.GONE - wellDepthLayout.visibility = View.GONE - pipeLineLayout.visibility = View.GONE - jointCountLayout.visibility = View.GONE - heightLayout.visibility = View.VISIBLE + setLayoutVisibility( + View.GONE, View.GONE, View.VISIBLE, View.GONE, View.GONE, + View.GONE, View.GONE, View.GONE, View.GONE, View.GONE, + View.VISIBLE + ) + wellCoverMaterialSpinner.show( + this@InstallLabelActivity, LocaleConstant.WELL_COVER_MATERIAL_ARRAY_2, 0 + ) } } } @@ -267,8 +232,6 @@ } } - objectModeSpinner.show(this, LocaleConstant.OBJECT_MODE_ARRAY, 0) - wellCoverMaterialSpinner.show(this, LocaleConstant.WELL_COVER_MATERIAL_ARRAY, 0) cabinetTypeSpinner.show(this, LocaleConstant.CABINET_TYPE_ARRAY, 0) casingMaterialSpinner.show(this, LocaleConstant.PIPE_MATERIAL_ARRAY, 0) markerTypeSpinner.show(this, LocaleConstant.MARKER_TYPE_ARRAY, 0) @@ -399,45 +362,118 @@ installButton.setOnClickListener { if (isNetworkConnected()) { val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") as String - val objectId = SaveKeyValues.getValue(LocaleConstant.OBJECT_ID, "") as String -// taskViewModel.installLabel() + val itemPosition = objectTypeSpinner.selectedItemPosition + val objectTypeCode = itemPosition + 1 + + if (markerIdView.text.isNullOrBlank()) { + "ID号不能为空,请读标识器".show(this) + return@setOnClickListener + } + + if (constructDateView.text.isNullOrBlank()) { + "请选择建设时间".show(this) + return@setOnClickListener + } + + if (markerCountView.text.isNullOrBlank()) { + "请输入电子标签数量".show(this) + return@setOnClickListener + } //保存默认值 -// "objectCodeView".setDefaultValue() -// "objectNameView".setDefaultValue() -// "inlineNameView".setDefaultValue() -// "capacityView".setDefaultValue() -// "transformerSpecView".setDefaultValue() -// "sLengthView".setDefaultValue() -// "sWidthView".setDefaultValue() -// "sHeightView".setDefaultValue() -// "inlineCountView".setDefaultValue() -// "outlineCountView".setDefaultValue() -// "bottomDepthView".setDefaultValue() -// "rowCountView".setDefaultValue() -// "rowHoleCountView".setDefaultValue() -// "coverDepthView".setDefaultValue() -// "remainingChannelsView".setDefaultValue() -// "tieCableView1".setDefaultValue() -// "tieCableView2".setDefaultValue() -// "jointCountView".setDefaultValue() -// "casingHoleCountView".setDefaultValue() -// "casingHoleLengthView".setDefaultValue() -// "heightView".setDefaultValue() -// "lineNumberView".setDefaultValue() -// "inspectionUnitView".setDefaultValue() -// "areaView".setDefaultValue() -// "roadView".setDefaultValue() -// "objectRemarkView1".setDefaultValue() -// "objectRemarkView2".setDefaultValue() -// "objectRemarkView3".setDefaultValue() -// "ownerView".setDefaultValue() -// "markerDepthView".setDefaultValue() -// "markerCountView".setDefaultValue() -// "remarkView1".setDefaultValue() -// "remarkView2".setDefaultValue() -// "remarkView3".setDefaultValue() + "objectCodeView".setDefaultValue(objectCodeView) + "objectNameView".setDefaultValue(objectNameView) + "inlineNameView".setDefaultValue(inlineNameView) + "capacityView".setDefaultValue(capacityView) + "transformerSpecView".setDefaultValue(transformerSpecView) + "sLengthView".setDefaultValue(sLengthView) + "sWidthView".setDefaultValue(sWidthView) + "sHeightView".setDefaultValue(sHeightView) + "inlineCountView".setDefaultValue(inlineCountView) + "outlineCountView".setDefaultValue(outlineCountView) + "bottomDepthView".setDefaultValue(bottomDepthView) + "rowCountView".setDefaultValue(rowCountView) + "rowHoleCountView".setDefaultValue(rowHoleCountView) + "coverDepthView".setDefaultValue(coverDepthView) + "remainingChannelsView".setDefaultValue(remainingChannelsView) + "tieCableView1".setDefaultValue(tieCableView1) + "tieCableView2".setDefaultValue(tieCableView2) + "jointCountView".setDefaultValue(jointCountView) + "casingHoleCountView".setDefaultValue(casingHoleCountView) + "casingHoleDiameterView".setDefaultValue(casingHoleDiameterView) + "heightView".setDefaultValue(heightView) + "lineNumberView".setDefaultValue(lineNumberView) + "inspectionUnitView".setDefaultValue(inspectionUnitView) + "areaView".setDefaultValue(areaView) + "roadView".setDefaultValue(roadView) + "objectRemarkView1".setDefaultValue(objectRemarkView1) + "objectRemarkView2".setDefaultValue(objectRemarkView2) + "objectRemarkView3".setDefaultValue(objectRemarkView3) + "ownerView".setDefaultValue(ownerView) + "markerDepthView".setDefaultValue(markerDepthView) + "markerCountView".setDefaultValue(markerCountView) + "remarkView1".setDefaultValue(remarkView1) + "remarkView2".setDefaultValue(remarkView2) + "remarkView3".setDefaultValue(remarkView3) + + labelData = LabelDataClass( + companyId, + objectTypeCode.toString(), + objectCodeView.text.toString(), + objectNameView.text.toString(), + voltageLevelView.text.toString(), + objectModeSpinner.selectedItem.toString(), + "进线${inlineNameView.text}", + wellCoverMaterialSpinner.selectedItem.toString(), + "${capacityView.text}KVA", + transformerSpecView.text.toString(), + "${sLengthView.text}米长 x ${sWidthView.text}米宽 x ${sHeightView.text}米高", + inlineCountView.text.toString(), + outlineCountView.text.toString(), + cabinetTypeSpinner.selectedItem.toString(), + bottomDepthView.text.toString(), + "${rowCountView.text}排 x ${rowHoleCountView.text}孔", + "${coverDepthView.text}米", + crossPipeLineView.text.toString(), + remainingChannelsView.text.toString(), + tieCableView1.text.toString(), + tieCableView2.text.toString(), + jointCountView.text.toString(), + casingMaterialSpinner.selectedItem.toString(), + "${casingHoleCountView.text}孔,直径${casingHoleDiameterView.text}毫米", + "${heightView.text.toString()}米", + lineNumberView.text.toString(), + constructDateView.text.toString(), + inspectionUnitView.text.toString(), + areaView.text.toString(), + roadView.text.toString(), + objectRemarkView1.text.toString(), + objectRemarkView2.text.toString(), + objectRemarkView3.text.toString(), + markerIdView.text.toString(), + markerTypeSpinner.selectedItem.toString(), + ownerView.text.toString(), + markerDepthView.text.toString(), + installTimeView.text.toString(), + lngView.text.toString(), + latView.text.toString(), + markerCountView.text.toString(), + remarkView1.text.toString(), + remarkView2.text.toString(), + remarkView3.text.toString(), + realPaths + ) + + //先存本地 + lifecycleScope.launch { + withContext(Dispatchers.IO) { + DataBaseManager.get.insertLabel(labelData) + } + } + + //再存服务器 + taskViewModel.installLabel(labelData) } else { NoNetworkDialog.Builder() .setContext(context) @@ -523,6 +559,21 @@ }) } + //根据选择类型控制界面某些区域显隐 + private fun setLayoutVisibility(vararg args: Int) { + objectModeLayout.visibility = args[0] + inlineNameLayout.visibility = args[1] + wellCoverMaterialLayout.visibility = args[2] + capacityLayout.visibility = args[3] + sizeLayout.visibility = args[4] + inlineCountLayout.visibility = args[5] + outlineCountLayout.visibility = args[6] + wellDepthLayout.visibility = args[7] + pipeLineLayout.visibility = args[8] + jointCountLayout.visibility = args[9] + heightLayout.visibility = args[10] + } + override fun onDestroy() { soundPool.release() gpioManager.setGpioLow("18") diff --git a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt index b587b1d..c51e2aa 100644 --- a/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt +++ b/app/src/main/java/com/casic/electric/detector/vm/TaskViewModel.kt @@ -7,6 +7,7 @@ import com.casic.electric.detector.extensions.toErrorMessage import com.casic.electric.detector.model.MarkerFileModel import com.casic.electric.detector.retrofit.RetrofitServiceManager +import com.casic.electric.detector.utils.LabelDataClass import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.extensions.launch @@ -46,65 +47,9 @@ // it.convertChinese().show(BaseApplication.get()) // }) - fun installLabel( - companyId: String, - recordType: String, - markerObjectType: String, - pipeMaterial: String, - pipeDiameter: String, - depth: String, - belowType: String, - belowMaterial: String, - belowDiameter: String, - belowDepth: String, - layStyle: String, - area: String, - line: String, - road: String, - constructTime: String, - ownerComp: String, - markerObjectId: String, - markerId: String, - markerType: String, - markerDepth: String, - creator: String, - createTime: String, - longitude: String, - latitude: String, - colorType: String, - memo: String, - realPaths: ArrayList - ) = launch({ + fun installLabel(labelData: LabelDataClass) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.installLabel( - companyId, - recordType, - markerObjectType, - pipeMaterial, - pipeDiameter, - depth, - belowType, - belowMaterial, - belowDiameter, - belowDepth, - layStyle, - area, - line, - road, - constructTime, - ownerComp, - markerObjectId, - markerId, - markerType, - markerDepth, - creator, - createTime, - longitude, - latitude, - colorType, - memo, - realPaths - ) + val response = RetrofitServiceManager.installLabel(labelData) if (response.separateResponseState()) { loadState.value = LoadState.Success } else { diff --git a/app/src/main/res/layout/include_label_marker_attribute.xml b/app/src/main/res/layout/include_label_marker_attribute.xml index de7a99f..79c3607 100644 --- a/app/src/main/res/layout/include_label_marker_attribute.xml +++ b/app/src/main/res/layout/include_label_marker_attribute.xml @@ -190,7 +190,7 @@ + android:inputType="number" /> + android:inputType="number" /> + style="@style/inputEditTextStyle" + android:inputType="number" /> + style="@style/inputEditTextStyle" + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> + android:inputType="number" /> diff --git a/app/src/main/res/layout/include_open_camera.xml b/app/src/main/res/layout/include_open_camera.xml index 2ebfeea..105c34b 100644 --- a/app/src/main/res/layout/include_open_camera.xml +++ b/app/src/main/res/layout/include_open_camera.xml @@ -29,7 +29,7 @@ android:layout_marginVertical="@dimen/dp_12" android:gravity="bottom" android:text="长按图片可删除" - android:textColor="@color/hintColor" + android:textColor="@color/red" android:textSize="@dimen/sp_12" />