From 291baf8ad5bd225c426b5cbfff38168ffda251cd Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 21 十月 2024 15:15:15 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                       |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java               |    4 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java       |   40 ++++++++++++++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                     |    3 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   48 ++++++++++++++++++++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java         |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java               |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java   |    2 
 8 files changed, 90 insertions(+), 12 deletions(-)

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 6398f41..dab4847 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
@@ -797,7 +797,7 @@
      * 5銆佽秴鏃跺仠闈狅細1鍙锋湀鍙� 鐨朅12345 褰撳墠杞﹁締瓒呮椂鍋滈潬锛岃灏藉揩椹剁
      */
     public  enum PlatformLedContent {
-        IDEL_CONTNET(1, "绌洪棽涓�","{param}" ),
+        IDEL_CONTNET(1, "绌洪棽涓�","瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃" ),
         CALLING(2, "鍙彿涓�","${param} ${param2}  鍙彿涓�"),
         WORKING(3, "浣滀笟涓�","${param} ${param2} 浣滀笟涓�" ),
         WRONG_IN(4, "閿欒鍋滈潬","${param} ${param2} 褰撳墠杞﹁締閿欒鍋滈潬锛岃灏藉揩椹剁" ),
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
index 2f2bb09..54c03c4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
@@ -85,7 +85,6 @@
     @LoginNoRequired
     @PostMapping("/tms/lockStatusQuery")
     public TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockStatusQuery(@RequestBody  TmsLockStatusQueryRequest request )   {
-
         return  tmsService.lockStatusQuery(request);
     }
     @ApiOperation("銆怲MS銆戝悎鍚屽垪琛ㄦ帴鍙�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
index 00c7355..1e13ae2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
@@ -14,6 +14,6 @@
 public class TmsLockStatusQueryRequest {
 
 
-    private List<String> contractNumbers; //鏄�	闆嗗悎	鍚堝悓鍙�	蹇呭~锛岃嚦灏戜紶涓�涓悎鍚屽彿
+    private List<String> contractNumbers; //鏄泦鍚� 鍚堝悓鍙�	蹇呭~锛岃嚦灏戜紶涓�涓悎鍚屽彿
 
 }
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 bcfb1f3..2f8c59e 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
@@ -313,6 +313,9 @@
     @ApiModelProperty(value = "浣滀笟鏈堝彴鍚嶇О")
     @TableField(exist = false)
     private String platformName ;
+    @ApiModelProperty(value = "鏈堝彴绌洪棽鏂囨")
+    @TableField(exist = false)
+    private String ledContent ;
 
     @ApiModelProperty(value = "鏄惁瓒呮椂锛�0=鏄紱1=鍚�", example = "1")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
index f4d58da..620b11a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -84,5 +84,7 @@
     @ApiModelProperty(value = "鐗╂枡杞崲鐜�")
     @ExcelColumn(name="鐗╂枡杞崲鐜�")
     private String rate;
-
+    @ApiModelProperty(value = "涓婇攣鏃堕棿")
+    @ExcelColumn(name="涓婇攣鏃堕棿")
+    private String lockDate;
 }
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 2dc4f6b..e1f87b4 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
@@ -13,6 +13,9 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
+import com.doumee.core.tms.model.response.TmsBaseResponse;
+import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
 import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
@@ -34,6 +37,7 @@
 import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
 import com.doumee.service.business.impl.thrid.WmsServiceImpl;
 import com.doumee.service.business.third.EmayService;
+import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.WmsService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
@@ -63,6 +67,8 @@
 
     @Autowired
     private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private TmsService tmsService;
 
     @Autowired
     private PlatformDeviceMapper platformDeviceMapper;
@@ -1347,14 +1353,42 @@
         savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.DONE.getInfo());
 
-        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)){
-            //TODO 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+        if(Constants.equalsInteger(platformJob.getType(),Constants.THREE)){
+            // 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+            List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda()
+                    .eq(PlatformWmsDetail::getJobId,platformJob.getId())
+                    .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+            );
+            if(details!=null && details.size()>0){
+                Date date = new Date();
+                List<String> codeList =new ArrayList<>();
+                for(PlatformWmsDetail d : details){
+                    codeList.add(d.getIocode());
+                }
+                TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest();
+                tmsLock.setContractNumbers(codeList);
+                TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
+                if(lockResult!=null && lockResult.isSuccess()&& lockResult.getData()!=null ){
+                     for(TmsLockStatusQueryResponse s : lockResult.getData()){
+                         platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+                                 .eq(PlatformWmsDetail::getIocode,s.getContractNumber())
+                                 .set(PlatformWmsDetail::getEditDate,date)
+                                 .set(PlatformWmsDetail::getLockDate,s.getOutDate())
+                                 .set(PlatformWmsDetail::getLockStatus,Constants.ONE)
+                                 .eq(PlatformWmsDetail::getJobId,platformJob.getId())
+                                 .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO));
+                     }
+                }
+            }
 
         }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
             //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐�
 
         }
- 
+
+
+
+
         //鍙戦�佺煭淇′俊鎭�
         SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
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 cc37400..ebad326 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
@@ -27,6 +27,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -1023,6 +1024,7 @@
                 PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                         .selectAll(PlatformJob.class)
                         .selectAs(Platform::getName,PlatformJob::getPlatformName)
+                        .selectAs(Platform::getLedContent,PlatformJob::getLedContent)
                         .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() )//鍚庤溅鐗屽彿
@@ -1054,15 +1056,21 @@
                     update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
                     update.setDoneDate(update.getEditDate());*/
                     if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) ||
+                            Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey()) ||
+                            Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey()) ||
                             Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
                         if(((StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeFront(),status.getPlateNo()))
                                 ||(!StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeBack(),status.getPlateNo()))
                         )){
                             //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
 //                          dealCarsInErrorPlatformBiz(job,status);
-                            update.setInOut(Constants.ZERO);//杞﹁締宸茬粡绂诲紑
-                            platformJobMapper.updateById(update);
-                        }
+                            if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())  ||
+                                    Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+                                update.setInOut(Constants.ZERO);//杞﹁締宸茬粡绂诲紑
+                                platformJobMapper.updateById(update);
+                            }
+                            dealPlatformContentForLeave(job);
+                         }
                     }
                 }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
                     //濡傛灉鏄溅杈嗚繘鍏�
@@ -1078,7 +1086,8 @@
                             platformJobMapper.updateById(update);
                         }
                     }
-                    /*if(job.getStartDate() == null){
+                    /*
+                    if(job.getStartDate() == null){
                         update.setStartDate(update.getEditDate());
                     }
                     update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
@@ -1104,6 +1113,37 @@
         return  null;
     }
 
+    /**
+     * 鏈堝彴杞﹁締绂诲紑 璁剧疆鏈堝彴鏂囨涓衡�滅┖闂蹭腑 鏂囨鈥�
+     * @param model
+     */
+    private void dealPlatformContentForLeave(PlatformJob model) {
+        List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda()
+                .eq(PlatformDevice::getType, Constants.ZERO)
+                .eq(PlatformDevice::getPlatformId,model.getPlatformId())
+                .eq(PlatformDevice::getIsdeleted,Constants.ZERO));
+        if(deviceList ==null || deviceList.size() == 0){
+            return;
+        }
+        int speed = 13;
+        try {
+            speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+        }catch (Exception e){
+        }
+        String content = StringUtils.defaultString(model.getLedContent(), Constants.PlatformLedContent.IDEL_CONTNET.getInfo());
+        List<PlatformBroadcastLog> logList = new ArrayList<>();
+        for(PlatformDevice device : deviceList){
+            if(StringUtils.isBlank(device.getHkId())){
+                continue;
+            }
+            PlatformBroadcastLog log = dealLedContentBiz(model.getId(),device.getHkNo(),device.getName(),content,speed,1);
+            logList.add(log);
+        }
+        if(logList.size()>0){
+            platformBroadcastLogMapper.insert(logList);
+        }
+    }
+
     private PlatformEvent initPlatformEventModel(EventPlatformCarsInfoRequest request, EventPlatformCarsDataRequest data, EventPlatformCarsStatusInfoRequest status) {
         PlatformEvent model = new PlatformEvent();
         model.setCreateDate(new Date());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index a4defe8..9a98862 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -67,7 +67,7 @@
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                 +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_LOCK_STATUS_URL).getCode();
 
-        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"鐢靛瓙閿佷笂閿佹椂闂存帴鍙�",JSONObject.toJSONString(param)
+        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"銆怲MS銆戠數瀛愰攣涓婇攣鏃堕棿鎺ュ彛",JSONObject.toJSONString(param)
                 ,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){});
         return  response;
     }

--
Gitblit v1.9.3