Explorar o código

添加simple demo的工作票初始化

Frankensteinly hai 10 meses
pai
achega
29d6e45586

+ 87 - 1
app/src/main/java/com/grkj/iscs/presentation/PresentationManager.kt

@@ -1,6 +1,9 @@
 package com.grkj.iscs.presentation
 
 import com.google.gson.Gson
+import com.grkj.iscs.MyApplication
+import com.grkj.iscs.R
+import com.grkj.iscs.modbus.DockBean
 import com.grkj.iscs.modbus.ModBusController
 import com.grkj.iscs.model.DeviceConst
 import com.grkj.iscs.model.WorkTicketBean
@@ -8,6 +11,8 @@ import com.grkj.iscs.model.WorkTicketStatusBean
 import com.grkj.iscs.util.Executor
 import com.grkj.iscs.util.ToastUtils
 import com.grkj.iscs.util.log.LogUtil
+import java.text.SimpleDateFormat
+import java.util.Date
 
 object PresentationManager {
 
@@ -235,5 +240,86 @@ object PresentationManager {
 
 
     /*******************************新的Demo*******************************/
-    var mStep = 0;
+    var mStep = 0
+    var mSimpleCardRfid: String? = null
+    var mSimpleTicket: SimpleTicket? = null
+
+
+    data class SimpleTicket(
+        var sop: PresentationBean? = null,
+        var workTicketBean: WorkTicketBean? = null,
+        var startTime: String? = null,
+        var endTime: String? = null,
+        var status: Int? = null,     // 0:待上锁人上锁 1:部分共锁人上锁 2:待共锁人解锁 3:部分共锁人解锁 4:待上锁人解锁 5:待归还设备 6:已完成
+        var locker: PLockerBean? = null,    // 上锁人
+        var lockerTogetherList: MutableList<PLockerTogetherBean>? = null,  // 共锁人
+        var isAllLocksReturned: Boolean = false    // 是否归还所有锁具
+    )
+
+    fun initTicket(lockList: List<DockBean.LockBean>) {
+        val ctx = MyApplication.instance!!
+        val sop = PresentationBean(
+            1,
+            ctx.getString(R.string.simple_workshop_assemble),
+            ctx.getString(R.string.simple_line),
+            "${ctx.getString(R.string.simple_workshop_assemble)}-${ctx.getString(R.string.simple_line)}-${ctx.getString(R.string.simple_sop_type)}",
+            "${ctx.getString(R.string.simple_workshop_assemble)}-${ctx.getString(R.string.simple_line)}-${ctx.getString(R.string.simple_sop_type)}",
+            "SOP001",
+            ctx.getString(R.string.simple_sop_type),
+            mutableListOf(PPointBean("E-1", "1DA0C66D031080"), PPointBean("E-2", "1DCAD26D031080"))
+        )
+
+        val ticket = WorkTicketBean()
+        ticket.cardNo = mSimpleCardRfid
+        ticket.effectiveTime = 24
+
+        ticket.data = mutableListOf()
+
+        val dataDTO = WorkTicketBean.DataDTO()
+        dataDTO.taskCode = SimpleDateFormat("yyyyMMddHHmm").format(Date(System.currentTimeMillis()))
+        dataDTO.taskId = "123456"
+        dataDTO.codeId = 654321
+        dataDTO.dataList = mutableListOf()
+
+        for (i in sop.pointList.indices) {
+            val dataListDTO = WorkTicketBean.DataDTO.DataListDTO()
+            dataListDTO.dataId = i
+            dataListDTO.equipRfidNo = sop.pointList[i].rfid
+            dataListDTO.target = 0
+            if (i != 0) {
+                dataListDTO.prevId = i - 1
+            }
+            dataDTO.dataList?.add(dataListDTO)
+        }
+
+        ticket.data?.add(dataDTO)
+
+        ticket.lockList = mutableListOf()
+        for (i in lockList.indices) {
+            val lockListDTO = WorkTicketBean.LockListDTO()
+            lockListDTO.lockId = "${i + 1}"
+            lockListDTO.rfid = lockList[i].rfid
+            ticket.lockList?.add(lockListDTO)
+        }
+
+        mSimpleTicket = SimpleTicket(
+            sop,
+            ticket,
+            SimpleDateFormat("yyyy-MM-dd HH:mm").format(Date(System.currentTimeMillis())),
+            SimpleDateFormat("yyyy-MM-dd HH:mm").format(Date(System.currentTimeMillis())),
+            0,
+            mLockerList[0],
+            mLockerTogetherList.take(2) as MutableList
+        )
+    }
+
+    fun getSimpleTicketJson(): String {
+        val workTicketBean = mSimpleTicket?.workTicketBean
+        if (workTicketBean == null) {
+            ToastUtils.tip(R.string.simple_lock_no_ticket_to_handle)
+        }
+        val jsonStr = Gson().toJson(workTicketBean)
+        LogUtil.i("getSimpleTicketJson : $jsonStr")
+        return jsonStr
+    }
 }

+ 1 - 0
app/src/main/java/com/grkj/iscs/presentation/simple/SimpleLoginActivity.kt

@@ -77,6 +77,7 @@ class SimpleLoginActivity : BaseActivity<ActivitySimpleLoginBinding>() {
                 // 重置cardNo
                 cardNo = ""
                 if (mLockerList.any { it.rfid == formattedCard }) {
+                    PresentationManager.mSimpleCardRfid = formattedCard
                     startActivity(Intent(this, SimpleProcessActivity::class.java).apply {
                         PresentationManager.mStep = 0
                         putExtra("step", PresentationManager.mStep)

+ 18 - 0
app/src/main/java/com/grkj/iscs/presentation/simple/SimpleProcessActivity.kt

@@ -1,8 +1,11 @@
 package com.grkj.iscs.presentation.simple
 
 import android.view.View
+import com.grkj.iscs.R
 import com.grkj.iscs.base.BaseActivity
 import com.grkj.iscs.databinding.ActivitySimpleProcessBinding
+import com.grkj.iscs.presentation.PresentationManager
+import com.grkj.iscs.util.ToastUtils
 
 class SimpleProcessActivity : BaseActivity<ActivitySimpleProcessBinding>() {
     
@@ -18,6 +21,21 @@ class SimpleProcessActivity : BaseActivity<ActivitySimpleProcessBinding>() {
         mBinding?.tvReturnHome?.setOnClickListener {
             finish()
         }
+
+        val step = intent.getIntExtra("step", -1)
+        if (step == -1) {
+            ToastUtils.tip(R.string.simple_step_error)
+            return
+        }
+        changeStep(step)
+
+
+        mBinding?.tvStart?.setOnClickListener {
+            PresentationManager.mStep = 1
+            // TODO 检查锁具数量
+//            PresentationManager.initTicket()
+            changeStep(PresentationManager.mStep)
+        }
     }
     
     private fun changeStep(step: Int) {

+ 1 - 2
app/src/main/res/layout/activity_main.xml

@@ -98,8 +98,7 @@
             android:minHeight="0dp"
             android:text="Presentation"
             android:textSize="10sp"
-            android:layout_margin="5dp"
-            android:visibility="gone"/>
+            android:layout_margin="5dp"/>
 
         <Button
             android:id="@+id/presentation_login"

+ 5 - 0
app/src/main/res/values/strings.xml

@@ -126,4 +126,9 @@
     <string name="simple_close_all_key_buckles">钥匙仓关</string>
     <string name="simple_open_all_key_buckles">钥匙仓开</string>
     <string name="simple_setting_tip">设置⻚⾯,请专⼈操作</string>
+    <string name="simple_step_error">步骤异常</string>
+    <string name="simple_lock_no_ticket_to_handle">暂无可处理的工作票</string>
+    <string name="simple_workshop_assemble">组装车间</string>
+    <string name="simple_sop_type">保养</string>
+    <string name="simple_line">打包线</string>
 </resources>