|
|
@@ -4,7 +4,6 @@ import android.util.Log
|
|
|
import androidx.compose.runtime.snapshots.SnapshotStateMap
|
|
|
import androidx.compose.ui.geometry.Offset
|
|
|
import androidx.compose.ui.graphics.Color
|
|
|
-import com.google.gson.Gson
|
|
|
import com.iscs.bozzys.R
|
|
|
import com.iscs.bozzys.ui.pages.edit.step.compose.Anchor
|
|
|
import com.iscs.bozzys.ui.pages.edit.step.compose.Connection
|
|
|
@@ -139,10 +138,14 @@ data class Node(
|
|
|
val createTime: Long = 0L,
|
|
|
val approvalStatus: String = "",
|
|
|
val approvalOpinion: String = "",
|
|
|
- val isolationType: String? = null, // 隔离类型
|
|
|
- val isolationPoints: String? = null, // 解除隔离的点位
|
|
|
- val isolationNodeUuid: String? = null, // 解除隔离关联的节点uuid
|
|
|
- val nodeUserList: List<User>? = null, // 隔离和解除隔离关联的上锁人和共锁人
|
|
|
+ val isolationType: String? = null, // 隔离类型
|
|
|
+ val isolationPoints: String? = null, // 解除隔离的点位
|
|
|
+ val isolationNodeUuid: String? = null, // 解除隔离关联的节点uuid
|
|
|
+ val nodeUserList: List<User>? = null, // 隔离和解除隔离关联的上锁人和共锁人
|
|
|
+ val smsTemplateCode: String? = null, // 短信通知
|
|
|
+ val messageTemplateCode: String? = null, // 站内信息
|
|
|
+ val emailTemplateCode: String? = null, // 邮件通知
|
|
|
+ val appTemplateCode: String? = null, // app消息推送
|
|
|
) {
|
|
|
|
|
|
/**
|
|
|
@@ -175,6 +178,7 @@ data class Node(
|
|
|
val formId = forms.find { it.name == "formId" }?.value?.getOrNull(0) ?: "0"
|
|
|
val findWork = workFormList.find { it.id == formId.toInt() }
|
|
|
val formData = if (findWork != null) Json.encodeToString(findWork) else null
|
|
|
+ val noticeType = forms.find { it.name == "noticeType" }?.value ?: emptyList()
|
|
|
params["workerUserId"] = workerUserId.toInt()
|
|
|
params["formId"] = formId.toInt()
|
|
|
params["formData"] = formData
|
|
|
@@ -205,6 +209,15 @@ data class Node(
|
|
|
params["isolationNodeUuid"] = isolationNode
|
|
|
}
|
|
|
}
|
|
|
+ // 通知方式
|
|
|
+ // 短信
|
|
|
+ params["smsTemplateCode"] = if (noticeType.contains("sms")) "true" else "false"
|
|
|
+ // 站内信
|
|
|
+ params["messageTemplateCode"] = if (noticeType.contains("message")) "true" else "false"
|
|
|
+ // 邮件
|
|
|
+ params["emailTemplateCode"] = if (noticeType.contains("email")) "true" else "false"
|
|
|
+ // app通知
|
|
|
+ params["appTemplateCode"] = if (noticeType.contains("app")) "true" else "false"
|
|
|
}
|
|
|
return params
|
|
|
}
|
|
|
@@ -251,7 +264,8 @@ data class Node(
|
|
|
userList.addAll(it.nodeUserList ?: emptyList())
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ // 通知方式
|
|
|
+ val noticeType = forms.find { it.name == "noticeType" }?.value ?: emptyList()
|
|
|
return Node(
|
|
|
id = id,
|
|
|
workId = workId,
|
|
|
@@ -271,7 +285,11 @@ data class Node(
|
|
|
separator = ","
|
|
|
),
|
|
|
isolationNodeUuid = isolationNode,
|
|
|
- nodeUserList = if (userList.isEmpty()) null else userList
|
|
|
+ nodeUserList = if (userList.isEmpty()) null else userList,
|
|
|
+ smsTemplateCode = if (noticeType.contains("sms")) "true" else "false",
|
|
|
+ messageTemplateCode = if (noticeType.contains("message")) "true" else "false",
|
|
|
+ emailTemplateCode = if (noticeType.contains("email")) "true" else "false",
|
|
|
+ appTemplateCode = if (noticeType.contains("app")) "true" else "false"
|
|
|
)
|
|
|
}
|
|
|
return Node(
|
|
|
@@ -309,11 +327,6 @@ data class Node(
|
|
|
): List<FormField> {
|
|
|
Log.d("NodeOption", "buildFormList -> $this")
|
|
|
val list = ArrayList<FormField>()
|
|
|
- val gson = Gson()
|
|
|
- // 暂不解析,等后端确认后再解析
|
|
|
- // val dataMap: MutableMap<String, Any?> = gson.fromJson(data.ifEmpty { "{}" }, object : TypeToken<MutableMap<String, Any?>>() {}.type)
|
|
|
- // 携带数据
|
|
|
- // Log.d("NodeOption", "dataMap -> ${gson.toJson(dataMap)}")
|
|
|
// 添加节点名称
|
|
|
list += FormField(
|
|
|
id.toString(),
|
|
|
@@ -466,16 +479,21 @@ data class Node(
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
-// // 通知方式
|
|
|
-// list += FormField(
|
|
|
-// id.toString(), "checkbox", "通知方式", nodeName, false, listOf(), listOf(nodeName),
|
|
|
-// options = listOf(
|
|
|
-// FormOption("短信", "message"),
|
|
|
-// FormOption("站内信", "sms"),
|
|
|
-// FormOption("邮件", "email"),
|
|
|
-// FormOption("App通知", "app"),
|
|
|
-// )
|
|
|
-// )
|
|
|
+ val notices = arrayListOf<String>()
|
|
|
+ if (smsTemplateCode == "true") notices += "sms"
|
|
|
+ if (messageTemplateCode == "true") notices += "message"
|
|
|
+ if (emailTemplateCode == "true") notices += "email"
|
|
|
+ if (appTemplateCode == "true") notices += "app"
|
|
|
+ // 通知方式
|
|
|
+ list += FormField(
|
|
|
+ id.toString(), "checkbox", "通知方式", "noticeType", false, listOf(), notices,
|
|
|
+ options = listOf(
|
|
|
+ FormOption("短信", "sms"),
|
|
|
+ FormOption("站内信", "message"),
|
|
|
+ FormOption("邮件", "email"),
|
|
|
+ FormOption("App通知", "app"),
|
|
|
+ )
|
|
|
+ )
|
|
|
// // 通知人
|
|
|
// list += FormField(
|
|
|
// id.toString(), "select", "通知人", nodeName, false, listOf(), options = listOf(
|