From 8ed7183c1d062263a9564169f3190070b514b0a1 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期日, 29 九月 2024 18:41:22 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                                              |   61 ++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                                            |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java                                       |    5 
 admin/src/views/business/deviceLed.vue                                                                                                |   10 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java                                 |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java                                            |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsInfoRequest.java |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java                                         |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java                                   |   51 ++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java                                         |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java                                          |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelSingleRequest.java          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/LargeScreenDataVO.java                                         |   29 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java                              |   68 ++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java                            |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java                        |  238 ++++++++++++++++---------
 admin/src/components/business/OperaDeviceLedWindow.vue                                                                                |    9 
 server/system_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java                                                        |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java                                   |    4 
 admin/src/api/business/device.js                                                                                                      |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java                   |    4 
 22 files changed, 412 insertions(+), 120 deletions(-)

diff --git a/admin/src/api/business/device.js b/admin/src/api/business/device.js
index 5dbdb73..207ca0b 100644
--- a/admin/src/api/business/device.js
+++ b/admin/src/api/business/device.js
@@ -31,5 +31,5 @@
 }
 // 鍙戠敓led灞忓唴瀹�
 export function setLedContent (data) {
-  return request.post('/visitsAdmin/cloudService/business/device/setLedContent', data)
+  return request.post('/visitsAdmin/cloudService/business/hksync/setLedContent', data)
 }
diff --git a/admin/src/components/business/OperaDeviceLedWindow.vue b/admin/src/components/business/OperaDeviceLedWindow.vue
index f22ae44..289c955 100644
--- a/admin/src/components/business/OperaDeviceLedWindow.vue
+++ b/admin/src/components/business/OperaDeviceLedWindow.vue
@@ -9,6 +9,9 @@
             <el-form-item label="鏄剧ず鍐呭" prop="title">
                 <el-input v-model="form.title" placeholder="璇疯緭鍏ED灞忔樉绀哄唴瀹�" v-trim/>
             </el-form-item>
+            <el-form-item label="鎾斁閫熷害" prop="title">
+                <el-input type="number" v-model="form.speed" placeholder="璇疯緭鍏ユ挱鏀鹃�熷害(澶т簬0鏁板瓧锛�" v-trim/>
+            </el-form-item>
         </el-form>
     </GlobalWindow>
 </template>
@@ -25,7 +28,8 @@
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
-        title: ''
+        title: '',
+        speed: 13
       },
       // 楠岃瘉瑙勫垯
       rules: {
@@ -54,7 +58,8 @@
       // 璋冪敤鏂板缓鎺ュ彛
       this.isWorking = true
       this.api.setLedContent({
-        id: this.form.id,
+        deviceId: this.form.id,
+        speed: this.form.speed,
         content: this.form.title
       })
         .then(() => {
diff --git a/admin/src/views/business/deviceLed.vue b/admin/src/views/business/deviceLed.vue
index a79b284..4cdd754 100644
--- a/admin/src/views/business/deviceLed.vue
+++ b/admin/src/views/business/deviceLed.vue
@@ -32,6 +32,16 @@
                 </el-table-column>
                 <el-table-column prop="ip" label="璁惧ip"></el-table-column>
                 <el-table-column prop="port" label="璁惧绔彛"></el-table-column>
+              <el-table-column
+                  v-if="containPermissions(['business:device:update' ])"
+                  label="鎿嶄綔"
+                  min-width="120"
+                  fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <el-button type="text" @click="$refs.OperaDeviceLedWindow.open('璁剧疆灞忔樉鍐呭', row)" icon="el-icon-edit" v-permissions="['business:device:update']">璁剧疆灞忔樉鍐呭</el-button>
+                </template>
+              </el-table-column>
             </el-table>
             <pagination
                 @size-change="handleSizeChange"
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 5e3d67b..1c38558 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -36,6 +36,7 @@
     public static final int ONE = 1 ;
     public static final int TWO = 2 ;
     public static final String HK_PARAM ="HK_PARAM" ;
+    public static final String LED_CONTENT_SPEED ="LED_CONTENT_SPEED" ;
     public static final String HK_HOST ="HK_HOST" ;
     public static final String HK_APPKEY ="HK_APPKEY" ;
     public static final String HK_APPSECRET ="HK_APPSECRET" ;
@@ -919,6 +920,64 @@
             this.info = info;
         }
     }
+    /**
+     * 骞挎挱閫氱煡鍐呭
+     1. 鍙彿涓細鐨朅12345璇峰墠寰�1鍙锋湀鍙扮瓑寰呬綔涓�
+     2. 浣滀笟瀹屾垚锛氱殩A12345浣滀笟瀹屾垚锛岃灏藉揩椹剁
+     3. 閿欒鍋滈潬锛氱殩A12345鏈堝彴鍋滈潬閿欒锛岃灏藉揩椹剁
+     4. 瓒呮椂鍋滈潬锛氱殩A12345鏈堝彴鍋滈潬瓒呮椂锛岃灏藉揩椹剁璇峰敖蹇┒绂�
+     */
+    public  enum PlatformBroadcastContent {
+        CALLING(1, "鍙彿涓�"," ${param}璇峰墠寰�${param2}绛夊緟浣滀笟"),
+        DONE(2, "浣滀笟瀹屾垚","${param}浣滀笟瀹屾垚锛岃灏藉揩椹剁" ),
+        WRONG_IN(3, "閿欒鍋滈潬","${param}鏈堝彴鍋滈潬閿欒锛岃灏藉揩椹剁" ),
+        TIMEOUT_IN(4, "瓒呮椂鍋滈潬","${param}鏈堝彴鍋滈潬瓒呮椂锛岃灏藉揩椹剁璇峰敖蹇┒绂�" ),
+        ;
+
+        // 鎴愬憳鍙橀噺
+        private int key;
+        private String name;
+        private String info;
+
+        // 鏋勯�犳柟娉�
+        PlatformBroadcastContent(int key, String name,String info ) {
+            this.key = key;
+            this.info = info;
+            this.name = name;
+        }
+        public static String getName(int index) {
+            for (PlatformBroadcastContent c : PlatformBroadcastContent.values()) {
+                if (c.getKey() == index) {
+                    return c.name;
+                }
+            }
+            return null;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+    }
 
     /**
      * 鏈堝彴浣滀笟 鐘舵��
@@ -931,7 +990,7 @@
         IN_WAIT(3, "鍏ュ洯绛夊緟","鍏ュ洯绛夊緟" ),
         CALLED(4, "宸插彨鍙�","宸插彨鍙�" ),
         WORKING(5, "浣滀笟涓�","浣滀笟涓�" ),
-        DONE(6, "浣滀笟瀹屾垚 ","浣滀笟瀹屾垚 " ),
+        DONE(6, "浣滀笟瀹屾垚 ","浣滀笟瀹屾垚" ),
         TRANSFERING(7, "杞Щ涓�","杞Щ涓�" ),
         EXCEPTION(8, "寮傚父鎸傝捣","寮傚父鎸傝捣" ),
         AUTHED_LEAVE(9, "宸叉巿鏉冪鍥�","宸叉巿鏉冪鍥�" ),
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java b/server/system_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
index 3bd91a7..4595df5 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
@@ -122,7 +122,7 @@
     }
 
     public static void main(String[] args) {
-        String url= "http://10.50.250.178:8088/file/member/20240910/c9a4d1cc-76ca-4aa1-bead-5dfd5daf1e76.jpg";// 寰呭鐞嗙殑鍥剧墖
+        String url= "http://10.50.250.253:8088/file/member/20240910/c9a4d1cc-76ca-4aa1-bead-5dfd5daf1e76.jpg";// 寰呭鐞嗙殑鍥剧墖
         String imgbese = Image2Base64(url);
         System.out.println(imgbese.replace("\r\n", ""));
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
index e9c0ba9..6329411 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
@@ -12,6 +12,7 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.LargeScreenDataVO;
 import com.doumee.dao.web.reqeust.*;
 import com.doumee.dao.web.response.DriverHomeVO;
 import com.doumee.dao.web.response.LineUpVO;
@@ -160,4 +161,11 @@
     }
 
 
+    @LoginNoRequired
+    @ApiOperation("绛惧埌澶у睆鏁版嵁")
+    @GetMapping("/getLargeScreenData")
+    public ApiResponse<LargeScreenDataVO> getLargeScreenData() {
+        return ApiResponse.success(platformJobService.getLargeScreenData());
+    }
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelSingleRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelSingleRequest.java
index 3d48f21..090b98c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelSingleRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TransparentChannelSingleRequest.java
@@ -12,4 +12,6 @@
   */
  private String content	; //String	true	鍐呭
  private Integer deviceId; //	String	false	璁惧涓婚敭
+ private int speed; //	鎾斁閫熷害
+ private int color; // 瀛椾綋棰滆壊(1:绾㈣壊锛�2锛氱豢鑹诧紝4:榛勮壊锛�8锛氳摑鑹诧紝16锛氱传鑹诧紝32锛氶潚鑹诧紝64锛氱櫧鑹�)
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java
index 18c6f1f..07de411 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java
@@ -6,7 +6,7 @@
 
 @Data
 public class EventPlatformCarsDataRequest {
-    private List<EventPlatformCarsStatusInfoRequest> HPVehicleStatus;//
+    private  EventPlatformCarsStatusInfoRequest  HPVehicleStatus;//
     private  EventPlatformAttrInfoRequest targetAttrs;//
    private String dataType;//HPVehicleStatus
         private String sendTime;//2017-04-22T15:39:01.000+08:00
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsInfoRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsInfoRequest.java
index 4c89337..2536785 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsInfoRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsInfoRequest.java
@@ -16,5 +16,5 @@
     private Integer  timeout	;//Number	鑴夊啿瓒呮椂鏃堕棿	鏄�		鍗曚綅锛氱
     private String  happenTime	;//String	浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂达級	鏄�	64
     private String   srcParentIndex	;//String	浜嬩欢鍙戠敓鐨勪簨浠舵簮鐖惰澶囩紪鍙�	鍚�	64
-    private List<EventPlatformCarsDataRequest> data;
+    private  EventPlatformCarsDataRequest  data;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java
index 3465f3b..0b0848e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java
@@ -2,11 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.PlatformDevice;
+import com.github.yulichang.base.MPJBaseMapper;
 
 /**
  * @author 姹熻箘韫�
  * @date 2024/06/28 10:03
  */
-public interface PlatformDeviceMapper extends BaseMapper<PlatformDevice> {
+public interface PlatformDeviceMapper extends MPJBaseMapper<PlatformDevice> {
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java
index de2d0dc..894d5b0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java
@@ -2,11 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.PlatformJob;
+import com.github.yulichang.base.MPJBaseMapper;
 
 /**
  * @author 姹熻箘韫�
  * @date 2024/06/28 10:03
  */
-public interface PlatformJobMapper extends BaseMapper<PlatformJob> {
+public interface PlatformJobMapper extends MPJBaseMapper<PlatformJob> {
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java
index 10fe1fc..e6ddd64 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java
@@ -59,8 +59,8 @@
     @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
     private String objId;
 
-    @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟", example = "1")
-    @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟")
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟 1鍏朵粬", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟 1鍏朵粬")
     private Integer objType;
 
     @ApiModelProperty(value = "鎻愰啋娆℃暟", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java
index fbdeb5b..80aca22 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java
@@ -78,5 +78,8 @@
     @ApiModelProperty(value = "璁惧鐘舵�� 0鍦ㄧ嚎 1绂荤嚎", example = "1")
     @ExcelColumn(name="璁惧鐘舵�� 0鍦ㄧ嚎 1绂荤嚎")
     private Integer status;
+    @ApiModelProperty(value = "璁惧绶ㄧ⒓")
+    @ExcelColumn(name="璁惧绶ㄧ⒓")
+    private String hkNo;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index 0871a62..ce6cfd2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -287,6 +287,10 @@
     @ExcelColumn(name="纭浠诲姟鏃堕棿")
     private Date confirmTaskDate;
 
+    @ApiModelProperty(value = "绛惧埌搴忓彿", example = "1")
+    @ExcelColumn(name="绛惧埌搴忓彿")
+    private Integer signNum;
+
     @ApiModelProperty(value = "鏈�鏂板彨鍙锋椂闂�")
     @TableField(exist = false)
     private Date newCallDate;
@@ -393,12 +397,18 @@
     @TableField(exist = false)
     private BigDecimal workTimes ;
 
-
+    @ApiModelProperty(value = "甯傚叕鍙歌溅棰勭害璁板綍")
+    @TableField(exist = false)
+    private Integer bookId;
 
     @ApiModelProperty(value = "澶氱姸鎬佹煡璇� 澶氫釜浠�,鍒嗗壊")
     @TableField(exist = false)
     private String queryStatus;
 
+    @ApiModelProperty(value = "浣滀笟绫诲瀷鏌ヨ 澶氫釜浠�,鍒嗗壊")
+    @TableField(exist = false)
+    private String queryType;
+
     @ApiModelProperty(value = "鐢靛瓙閿佺姸鎬侊細0=鏈笂閿� 1=涓嶅垎涓婇攣 2=鍏ㄩ儴涓婇攣")
     @TableField(exist = false)
     private Integer  lockStatus;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/LargeScreenDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/LargeScreenDataVO.java
new file mode 100644
index 0000000..ab4d25c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/LargeScreenDataVO.java
@@ -0,0 +1,29 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.dao.business.model.Approve;
+import com.doumee.dao.business.model.PlatformJob;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/5/23 14:56
+ */
+@Data
+public class LargeScreenDataVO {
+
+    @ApiModelProperty(value = "鍏ㄩ儴鏁版嵁鍒楄〃")
+    private List<PlatformJob> allList;
+
+    @ApiModelProperty(value = "宸叉湀鍙板彨鍙峰垪琛�")
+    private List<PlatformJob> waitWorkList;
+
+    @ApiModelProperty(value = "浜岀淮鐮佸��")
+    private String qrCode;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 0ea961a..9e465a0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -5,6 +5,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Platform;
 import com.doumee.dao.business.model.PlatformJob;
+import com.doumee.dao.business.vo.LargeScreenDataVO;
 import com.doumee.dao.openapi.request.*;
 import com.doumee.dao.openapi.response.*;
 import com.doumee.dao.web.reqeust.*;
@@ -225,4 +226,8 @@
     CarNumByStatusResponse carStatusNum(CarNumByStatusRequest param);
 
     PlatformQueuingListResponse queueList(PlatformQueuingListRequest param);
+
+    LargeScreenDataVO getLargeScreenData();
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index d213cd9..7d23ade 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -1,6 +1,8 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
@@ -12,21 +14,21 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.PlatformBroadcastLogMapper;
 import com.doumee.dao.business.model.Device;
+import com.doumee.dao.business.model.PlatformBroadcastLog;
 import com.doumee.service.business.DeviceService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 璁惧淇℃伅琛⊿ervice瀹炵幇
@@ -38,6 +40,10 @@
 
     @Autowired
     private DeviceMapper deviceMapper;
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
 
 
     @Override
@@ -230,15 +236,15 @@
                 || !Constants.equalsInteger(device.getType(),Constants.TWO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
+/*      TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
         TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
         TransparentChannelBodyParamRequest request = new TransparentChannelBodyParamRequest();
         TransparentChannelBodyRegionRequest regions = new TransparentChannelBodyRegionRequest();
         head.setAbility("cld");//鍥哄畾鍊�
         head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
-        head.setDeviceIndexCode(device.getHkId());
+        head.setDeviceIndexCode(device.getNo());
         body.setMethod("ControlLedGereral");//鍥哄畾鍊�
-        request.setIndexCode(device.getHkId());
+        request.setIndexCode(device.getNo());
         request.setOperationType(219);//鍥哄畾鍊�
         regions.setActionType(32);
         regions.setContent(model.getContent());
@@ -254,9 +260,36 @@
         regions.setRegionRightBottomYPos(31);
         request.setRegions(new ArrayList<>());
         request.getRegions().add(regions);
-        regions.setSpeed(13);
+        regions.setSpeed(8);
         body.setParams(request);
-        BaseResponse response =  HKService.transparentchannel(head,body);
+        BaseResponse response =  HKService.transparentchannel(head,body);*/
+        if(model.getSpeed()<=0){
+            int speed = 13;
+            try {
+                speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+            }catch (Exception e){
+            }
+            model.setSpeed(speed);
+        }
+        BaseResponse response =  HkSyncPushServiceImpl.dealLedContentBiz(device.getNo(),model.getContent(),model.getSpeed(),1);
+        PlatformBroadcastLog log = new PlatformBroadcastLog();
+        log.setCreateDate(new Date());
+        log.setBizType(Constants.ONE);
+        log.setHkDate(new Date());
+        log.setDeviceType(Constants.ONE);
+        log.setObjType(Constants.ONE);
+        log.setHkId(device.getHkId());
+        if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+            log.setHkInfo("璇锋眰澶辫触锛�"+JSONObject.toJSONString(response));
+            log.setHkStatus(Constants.THREE);
+        }else{
+            log.setHkInfo("璇锋眰鎴愬姛");
+            log.setHkStatus(Constants.TWO);
+        }
+        log.setName("璁剧疆LED灞忔樉鍐呭");
+        log.setInfo(model.getContent());
+        log.setNum(Constants.ONE);
+        platformBroadcastLogMapper.insert(log);
         if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆澶辫触"+(response!=null?response.getMsg():""));
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index 9e6f5d5..bd14ef9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -273,9 +273,13 @@
                 PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platform,platformJobList);
                 platform.setPlatformWorkVO(platformWorkVO);
             }
-        }
-        for (PlatformGroup platformGroup:platformGroups) {
-            platformGroup.setPlatformList(allPlatformList.stream().filter(m->Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList()));
+            for (PlatformGroup platformGroup:platformGroups) {
+                platformGroup.setPlatformList(allPlatformList.stream().filter(m->m.getShowConfig()&&Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList()));
+            }
+        }else{
+            for (PlatformGroup platformGroup:platformGroups) {
+                platformGroup.setPlatformList(allPlatformList.stream().filter(m->Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList()));
+            }
         }
         return platformGroups;
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index cd03e09..5d37270 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -22,6 +22,7 @@
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
 import com.doumee.dao.business.join.PlatformJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.LargeScreenDataVO;
 import com.doumee.dao.openapi.request.*;
 import com.doumee.dao.openapi.response.*;
 import com.doumee.dao.system.model.SystemUser;
@@ -45,10 +46,7 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -256,6 +254,7 @@
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
 
                 .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
+                .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
                 .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                 .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
 
@@ -290,11 +289,13 @@
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper
                 .selectAll(PlatformJob.class)
+                .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
+                .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                 .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
 
@@ -556,7 +557,14 @@
         || System.currentTimeMillis() < DateUtil.getDateByString(DateUtil.getCurrDate() + " " + platformGroup.getStartTime() + ":00" ).getTime()){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈湪宸ヤ綔鏃堕棿["+platformGroup.getStartTime() + "-" + platformGroup.getEndTime() +"]锛屾棤娉曡繘琛岀鍒�");
         }
-
+        //鏌ヨ浠婃棩鏈�澶х殑绛惧埌鏁�
+        List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null  "));
+        if(CollectionUtils.isEmpty(signList)){
+            platformJob.setSignNum(Constants.ONE);
+        } else{
+            int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList()));
+            platformJob.setSignNum(maxNumber + Constants.ONE);
+        }
         platformJob.setSignDate(new Date());
         platformJob.setSingType(signInDTO.getSignType());
         platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());
@@ -842,10 +850,10 @@
                             ParkReservationAddResponse parkReservationAddResponse = (ParkReservationAddResponse) response.getData();
                             visitPark.setHkId(parkReservationAddResponse.getReserveOrderNo());
                             visitPark.setHkStatus(Constants.ONE);
-                            visitPark.setRemark("鍖呮湡鎴愬姛");
+                            visitPark.setRemark("杞﹁締鏉冮檺涓嬪彂鎴愬姛");
                         }else{
                             visitPark.setHkStatus(Constants.TWO);
-                            visitPark.setRemark("鍖呮湡澶辫触~");
+                            visitPark.setRemark("杞﹁締鏉冮檺涓嬪彂澶辫触~");
                             //涓嬪彂澶辫触  鏍囪涓讳笟鍔$姸鎬佷负涓嬪彂澶辫触
                             sendStatus = false;
                         }
@@ -1665,5 +1673,51 @@
     }
 
 
+    @Override
+    public LargeScreenDataVO getLargeScreenData(){
+        LargeScreenDataVO largeScreenDataVO = new LargeScreenDataVO();
+        List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+                .selectAll(PlatformJob.class)
+                .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+                .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate  ")
+                .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 order by pl.CREATE_DATE desc  limit 1  ) as newCallDate  ")
+                .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+                .in(PlatformJob::getStatus,
+                        Constants.PlatformJobStatus.WAIT_CALL.getKey(),
+                        Constants.PlatformJobStatus.WORKING.getKey(),
+                        Constants.PlatformJobStatus.CALLED.getKey(),
+                        Constants.PlatformJobStatus.IN_WAIT.getKey()
+                )
+                .orderByDesc(PlatformJob::getStatus)
+                .orderByAsc(PlatformJob::getSignDate)
+        );
+        if(CollectionUtils.isEmpty(platformJobList)){
+            for (PlatformJob platformJob:platformJobList) {
+                if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+                    //璁$畻宸蹭綔涓氭椂闀� 鏍规嵁鏈堝彴宸ヤ綔鏁堢巼 璁$畻浠诲姟閲忛渶瑕佹椂闂�
+                    if(Objects.isNull(platformJob.getTotalNum()) || Objects.isNull(platformJob.getWorkRate())){
+                        platformJob.setOptTime(0L);
+                    }else{
+                        Integer workMinute = platformJob.getTotalNum().multiply(new BigDecimal(60)).divide(platformJob.getWorkRate()).intValue();
+                        Date overDate = DateUtil.getXMinuteAfterDate(platformJob.getNewStartDate(),workMinute);
+                        platformJob.setOptTime(overDate.getTime()/1000);
+                    }
+                }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
+                    //璁$畻宸插彨鍙锋椂闂�
+                    platformJob.dealTime();
+                }
+            }
+            largeScreenDataVO.setAllList(platformJobList);
+            List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList());
+            largeScreenDataVO.setWaitWorkList(calledList);
+        }
+        largeScreenDataVO.setQrCode(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode());
+        return largeScreenDataVO;
+
+    }
+
+
+
+
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
index 37627fa..d5f023d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -79,6 +79,7 @@
                 platformDevice.setType(Constants.ZERO);
                 platformDevice.setDeviceId(ledId.toString());
                 platformDevice.setHkId(device.getHkId());
+                platformDevice.setHkNo(device.getNo());
                 platformDevice.setName(device.getName());
                 platformDeviceList.add(platformDevice);
             }
@@ -100,6 +101,7 @@
                 platformDevice.setType(Constants.TWO);
                 platformDevice.setDeviceId(broadcastId.toString());
                 platformDevice.setHkId(device.getHkId());
+                platformDevice.setHkNo(device.getNo());
                 platformDevice.setName(device.getName());
                 platformDeviceList.add(platformDevice);
             }
@@ -154,6 +156,7 @@
                 platformDevice.setType(Constants.ZERO);
                 platformDevice.setDeviceId(ledId.toString());
                 platformDevice.setHkId(device.getHkId());
+                platformDevice.setHkNo(device.getNo());
                 platformDevice.setName(device.getName());
                 platformDeviceList.add(platformDevice);
             }
@@ -177,6 +180,7 @@
                 platformDevice.setType(Constants.TWO);
                 platformDevice.setDeviceId(broadcastId.toString());
                 platformDevice.setHkId(device.getHkId());
+                platformDevice.setHkNo(device.getNo());
                 platformDevice.setName(device.getName());
                 platformDeviceList.add(platformDevice);
             }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
index 4935818..aee048b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
@@ -165,7 +165,9 @@
                     editList.add(model);
                     //娓呯┖鐩戞帶鐐规暟鎹�
                     platformDeviceMapper.delete(new UpdateWrapper<PlatformDevice>().lambda()
-                            .eq(PlatformDevice::getPlatformId,model.getId()));
+                            .eq(PlatformDevice::getPlatformId,model.getId())
+                            .eq(PlatformDevice::getType,Constants.ONE)
+                    );
                     deviceList.addAll(getCameraList(device.getCameras(),model));
                 }else{
                     //濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 1b26bdc..1ccf736 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -3,10 +3,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.config.DataSyncConfig;
 import com.doumee.config.SpringContextUtil;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
@@ -75,7 +77,11 @@
     @Autowired
     private PlatformMapper platformMapper;
     @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
     private PlatformDeviceMapper platformDeviceMapper;
+    @Autowired
+    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
     @Autowired
     private PlatformJobMapper platformJobMapper;
     @Autowired
@@ -864,71 +870,71 @@
             List<EventPlatformCarsInfoRequest> events  = param.getParams().getEvents();
             List<PlatformEvent> eventList = new ArrayList<>();
             for(EventPlatformCarsInfoRequest request : events){
-                if( request.getData() ==null ||  request.getData().size()==0){
+                if( request.getData() ==null  ){
                     continue;
                 }
                 Integer  workStatus = 0;
-                for(EventPlatformCarsDataRequest data :  request.getData()){
-                    if( data.getHPVehicleStatus() ==null ||  data.getHPVehicleStatus().size() ==0){
-                        continue;//濡備綍鎺ㄩ�佺姸鎬侀泦鍚堜负绌猴紝涓嶅鐞嗚烦杩�
-                    }
-                    PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
-                            .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
-                            .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
-                            .last("limit 1"));
-                    if(model ==null){
-                        continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
+                EventPlatformCarsDataRequest data = request.getData();
+                if( data.getHPVehicleStatus() ==null  ){
+                    continue;//濡備綍鎺ㄩ�佺姸鎬侀泦鍚堜负绌猴紝涓嶅鐞嗚烦杩�
+                }
+                PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
+                        .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
+                        .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
+                        .last("limit 1"));
+                if(model ==null){
+                    continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
 
-                    }
+                }
                     //鍚勮溅閬撹溅杈嗙姸鎬�
-                    for(EventPlatformCarsStatusInfoRequest status : data.getHPVehicleStatus()){
-                        eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
-                        if(StringUtils.isBlank(status.getPlateNo())){
-                            continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
-                        }
-                        PlatformJob job = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
-                                .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//鍓嶈溅鐗屽彿
-                                .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
-                                .eq(PlatformJob::getIsdeleted,Constants.ZERO )
-                                .last("limit 1 "));
-                        PlatformJob update = new PlatformJob();
-                        update.setId(job.getId());
-                        update.setEditDate(new Date());
-                        if(StringUtils.equals(status.getMotionStatus(),"leave")){
-                            //濡傛灉鏄溅杈嗙寮�,涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
-                         /*   if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
-                                continue;//濡傛灉娌℃煡鍒板搴旂殑浣滀笟鎴栬�呬綔涓氬苟闈炰綔涓氫腑锛屼笉鍋氫笟鍔″鐞�
-                            }
-                            if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){
-                                //濡傛灉鏄痺ms鎺ㄩ�佺殑澶栧崗杞﹁締澶栧崗杞﹁締
-                               if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda()
-                                       .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
-                                       .eq(PlatformWmsDetail::getJobId,job.getId())
-                                       .ne(PlatformWmsDetail::getLockStatus,Constants.ONE)) >0){
-                                   continue;//濡傛灉澶栧崗浠诲姟浣滀笟锛屽悎鍚屽彿鏈夋湭涓婇攣鐨勬儏鍐碉紝涓嶅仛鑷姩瀹屾垚浣滀笟閫昏緫澶勭悊锛岃烦杩囦笉澶勭悊
-                               }
-                            }
-                            //濡傛灉鏄鍦ㄤ綔涓氱殑鐘舵�侊紝鏍囪浣滀笟宸插畬鎴�
-                            update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
-                            update.setDoneDate(update.getEditDate());*/
-                        }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
-                            //濡傛灉鏄溅杈嗚繘鍏�
-                            if(job ==null || !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
-                                //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
-                                dealCarsInErrorPlatformBiz(job,status);
-                            }
-                            if(job.getStartDate() == null){
-                                update.setStartDate(update.getEditDate());
-                            }
-                            update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
-                        }else{
-                            continue;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩�
-                        }
+                EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus();
+                eventList.add(initPlatformEventModel(request,data,status));//灏佽浜嬩欢锛堝凡鏈堝彴閫氶亾涓虹淮搴︼級
+                if(StringUtils.isBlank(status.getPlateNo())){
+                    continue;//濡傛灉杞﹁締淇℃伅涓虹┖锛屼笉澶勭悊鐩存帴璺宠繃
+                }
+                PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
+                        .selectAll(PlatformJob.class)
+                        .selectAs(Platform::getName,PlatformJob::getPlatformName)
+                        .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+                        .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//鍓嶈溅鐗屽彿
+                        .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
+                        .eq(PlatformJob::getIsdeleted,Constants.ZERO )
+                        .last("limit 1 "));
+                PlatformJob update = new PlatformJob();
+                update.setId(job.getId());
+                update.setEditDate(new Date());
+                if(StringUtils.equals(status.getMotionStatus(),"leave")){
+                    //濡傛灉鏄溅杈嗙寮�,涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
+                 /*   if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+                        continue;//濡傛灉娌℃煡鍒板搴旂殑浣滀笟鎴栬�呬綔涓氬苟闈炰綔涓氫腑锛屼笉鍋氫笟鍔″鐞�
+                    }
+                    if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){
+                        //濡傛灉鏄痺ms鎺ㄩ�佺殑澶栧崗杞﹁締澶栧崗杞﹁締
+                       if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda()
+                               .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+                               .eq(PlatformWmsDetail::getJobId,job.getId())
+                               .ne(PlatformWmsDetail::getLockStatus,Constants.ONE)) >0){
+                           continue;//濡傛灉澶栧崗浠诲姟浣滀笟锛屽悎鍚屽彿鏈夋湭涓婇攣鐨勬儏鍐碉紝涓嶅仛鑷姩瀹屾垚浣滀笟閫昏緫澶勭悊锛岃烦杩囦笉澶勭悊
+                       }
+                    }
+                    //濡傛灉鏄鍦ㄤ綔涓氱殑鐘舵�侊紝鏍囪浣滀笟宸插畬鎴�
+                    update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
+                    update.setDoneDate(update.getEditDate());*/
+                }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
+                    //濡傛灉鏄溅杈嗚繘鍏�
+                    if(job ==null || !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
+                        //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
+                        dealCarsInErrorPlatformBiz(job,status);
+                    }
+                    if(job.getStartDate() == null){
+                        update.setStartDate(update.getEditDate());
+                    }
+                    update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
+                }else{
+                    continue;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩�
+                }
                         //鏆傛椂涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
 //                        dealPlatformJobLogBiz(update,status);//璁板綍浣滀笟鏃ュ織
-                    }
-                    break;//鍙鐞嗙涓�涓暟鎹姸鎬�
-                }
             }
             if(eventList.size()>0){
                 //鐢熸垚浜嬩欢
@@ -1039,62 +1045,118 @@
         savePlatformWarnEventDTO.setEventType(Constants.PlatformWarnEvent.STOP_ERROR.getKey());
         platformWarnEventService.savePlatformWarnEvent(savePlatformWarnEventDTO);
 
+        int speed = 13;
+        try {
+            speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+        }catch (Exception e){
+
+        }
         List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda()
                 .eq(PlatformDevice::getPlatformId,model.getPlatformId())
                 .eq(PlatformDevice::getIsdeleted,Constants.ZERO));
         if(deviceList ==null || deviceList.size() == 0){
             return;
         }
-        String content ="杞﹁締"+model.getCarCodeFront()+"鍋滈敊鏈堝彴浜�";
+        String content =Constants.PlatformLedContent.WRONG_IN.getInfo();
+        content = content.replace("${param}",model.getPlatformName());
+        content = content.replace("${param2}",model.getCarCodeFront());
         List<String> broadcastList = new ArrayList<>();
+        List<String> ledList = new ArrayList<>();
+        List<PlatformBroadcastLog> logList = new ArrayList<>();
         for(PlatformDevice device : deviceList){
             if(StringUtils.isNotBlank(device.getHkId())){
                 continue;
             }
             if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
                 //濡傛灉鏄疞ED
-                TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
-                TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
-                TransparentChannelBodyParamRequest request = new TransparentChannelBodyParamRequest();
-                TransparentChannelBodyRegionRequest regions = new TransparentChannelBodyRegionRequest();
-                head.setAbility("cld");//鍥哄畾鍊�
-                head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
-                head.setDeviceIndexCode(device.getHkId());
-                body.setMethod("ControlLedGereral");//鍥哄畾鍊�
-                request.setIndexCode(device.getHkId());
-                request.setOperationType(219);//鍥哄畾鍊�
-                regions.setActionType(32);
-                regions.setContent(content);
-                regions.setRegionNo(1);
-                regions.setRegionType(14);
-                regions.setFontColor(1);
-                regions.setCircleTimes(1);//寰幆娆℃暟
-                regions.setFontSize(32);//
-                regions.setStayTime(1);//鍗曚綅锛燂紵
-                regions.setRegionLeftTopXPos(0);
-                regions.setRegionLeftTopYPos(0);
-                regions.setRegionRightBottomXPos(255);
-                regions.setRegionRightBottomYPos(31);
-                request.setRegions(new ArrayList<>());
-                request.getRegions().add(regions);
-                regions.setSpeed(13);
-                body.setParams(request);
-                HKService.transparentchannel(head,body);
+                PlatformBroadcastLog log = new PlatformBroadcastLog();
+                log.setCreateDate(new Date());
+                log.setBizType(Constants.ONE);
+                log.setHkDate(new Date());
+                log.setObjType(Constants.ONE);
+                log.setIds(device.getHkNo());
+                log.setInfo(content);
+                log.setNum(Constants.ONE);
+                BaseResponse response = dealLedContentBiz(device.getHkNo(),content,speed,1);
+                if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+                    log.setHkInfo("璇锋眰澶辫触锛�"+JSONObject.toJSONString(response));
+                    log.setHkStatus(Constants.THREE);
+                }else{
+                    log.setHkInfo("璇锋眰鎴愬姛");
+                    log.setHkStatus(Constants.TWO);
+                }
+                log.setDeviceType(Constants.ONE);
+                log.setName("璁剧疆LED灞忔樉鍐呭");
+                logList.add(log);
+                ledList.add(device.getHkId());
             }else  if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
                 //濡傛灉鏄箍鎾偣
                 broadcastList.add(device.getHkId());
             }
         }
+
         if(broadcastList.size()>0){
+            String content1 =Constants.PlatformBroadcastContent.WRONG_IN.getInfo();
+            content1 = content1.replace("${param}",model.getCarCodeFront());
+            PlatformBroadcastLog log = new PlatformBroadcastLog();
+            log.setCreateDate(new Date());
+            log.setBizType(Constants.ONE);
+            log.setHkDate(new Date());
+            log.setObjType(Constants.ONE);
+            log.setInfo(content1);
+            log.setNum(Constants.ONE);
+            log.setIds(String.join(",",broadcastList));
             CustomBroadcastRequest request = new CustomBroadcastRequest();
             request.setAudioPointIndexCode(broadcastList);
             request.setPlayDuration(15);//鍗曚綅绉�
             request.setBroadCastMode("tts");
             request.setPriority(1);
             request.setState(1);//鎾斁/鍋滄鏍囪瘑 1-鎾斁锛�0-鍋滄
-            request.setPlayTtsContent(content);
-            HKService.customBroadcast(request);
+            request.setPlayTtsContent(content1);
+            BaseResponse response =  HKService.customBroadcast(request);
+            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+                log.setHkInfo("璇锋眰澶辫触锛�"+JSONObject.toJSONString(response));
+                log.setHkStatus(Constants.THREE);
+            }else{
+                log.setHkInfo("璇锋眰鎴愬姛");
+                log.setHkStatus(Constants.TWO);
+            }
+            log.setDeviceType(Constants.ONE);
+            log.setName("鍙戦�佸箍鎾挱鎶ュ唴瀹�");
+            logList.add(log);
         }
+        if(logList.size()>0){
+            platformBroadcastLogMapper.insert(logList);
+        }
+    }
 
+    public static BaseResponse dealLedContentBiz(String hkNo, String content,int speed,int color) {
+        TransparentChannelBodyRequest body = new TransparentChannelBodyRequest();
+        TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
+        TransparentChannelBodyParamRequest request = new TransparentChannelBodyParamRequest();
+        TransparentChannelBodyRegionRequest regions = new TransparentChannelBodyRegionRequest();
+        head.setAbility("cld");//鍥哄畾鍊�
+        head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
+        head.setDeviceIndexCode(hkNo);
+        body.setMethod("ControlLedGereral");//鍥哄畾鍊�
+        request.setIndexCode(hkNo);
+        request.setOperationType(219);//鍥哄畾鍊�
+        regions.setActionType(32);
+        regions.setContent(content);
+        regions.setRegionNo(1);
+        regions.setRegionType(14);
+        regions.setFontColor(color>0?color:1);
+        regions.setCircleTimes(1);//寰幆娆℃暟
+        regions.setFontSize(32);//
+        regions.setStayTime(1);//鍗曚綅锛燂紵
+        regions.setRegionLeftTopXPos(0);
+        regions.setRegionLeftTopYPos(0);
+        regions.setRegionRightBottomXPos(255);
+        regions.setRegionRightBottomYPos(31);
+        request.setRegions(new ArrayList<>());
+        request.getRegions().add(regions);
+        regions.setSpeed(speed>0?speed:13);
+        body.setParams(request);
+       return HKService.transparentchannel(head,body);
     }
 }

--
Gitblit v1.9.3