From 7b51c9e1abc198a501f7858599da9c116130fd6f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 27 三月 2025 16:47:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java |   77 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 25 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 04e8f33..afa0558 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -91,6 +91,8 @@
     private PlatformGroupMapper platformGroupMapper;
     @Autowired
     private TmsService tmsService;
+    @Autowired
+    private PlatformDeviceMapper platformDeviceMapper;
 
     @Value("${debug_model}")
     private Boolean isDebug;
@@ -132,6 +134,7 @@
                         .select(PlatformJob::getTotalNum)
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .eq(PlatformJob::getOrigin,Constants.ONE)
+                        .in(PlatformJob::getType,new Integer[]{0,2,4})
                         .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey()
                                 , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
                                 , Constants.PlatformJobStatus.LEAVED.getKey())
@@ -148,6 +151,7 @@
                 List<PlatformJob> jobs = platformJobMapper.selectList (new MPJLambdaWrapper<PlatformJob>()
                         .select(PlatformJob::getTotalNum)
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                                .apply(" ( origin = 0 or origin is null)  ")
                         .eq(PlatformJob::getPlatformGroupId,platformGroupId)
                         .apply("to_days(done_date) = to_days(now())")
                         .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey()
@@ -801,11 +805,13 @@
                         .selectAll(PlatformJob.class)
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .eq(PlatformJob::getCarCodeFront,param.getCarCode())
-                        .in(PlatformJob::getStatus,
+                        .notIn(PlatformJob::getStatus,
                                 Constants.PlatformJobStatus.DONE.getKey(),
                                 Constants.PlatformJobStatus.LEAVED.getKey(),
                                 Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),
-                                Constants.PlatformJobStatus.CALLED.getKey())
+                                Constants.PlatformJobStatus.CANCEL.getKey()
+                        )
+                        .orderByAsc(PlatformJob::getId)
                         .last("limit 1"));
 
         dealJobDetailAndContractBiz(job,data);
@@ -951,10 +957,23 @@
                         .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
                         .select(PlatformJob::getStatus,PlatformJob::getStatus)
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),
                                 Constants.PlatformJobStatus.LEAVED.getKey(),
                                 Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                         .apply("year(done_date) = year('"+DateUtil.getPlusTime2(month)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(month)+"') "));
+
+        List<PlatformJob>  yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
+                new MPJLambdaWrapper<PlatformJob>()
+                        .selectAs(PlatformJob::getId,PlatformJob::getId)
+                        .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
+                        .select(PlatformJob::getType,PlatformJob::getType)
+//                        .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
+                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"')   and done_date<=  now()  "));
         List<PlatformJob>  monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
                         .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -967,17 +986,7 @@
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                         .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and  done_date<= '"
                                 +DateUtil.getPlusTime2(lastMonth)+"'"));
-        List<PlatformJob>  yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
-                new MPJLambdaWrapper<PlatformJob>()
-                        .selectAs(PlatformJob::getId,PlatformJob::getId)
-                        .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
-                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
-                        .select(PlatformJob::getType,PlatformJob::getType)
-//                        .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
-                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
-                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
-                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
-                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"')   and done_date<= '"+DateUtil.getPlusTime2(year)+"'"));
+        
         List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
                         .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -987,7 +996,7 @@
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
-                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"')  and done_date<= '"+DateUtil.getPlusTime2(lastYear)+"'"));
+                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"')  and done_date<=  now()  "));
 
         data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//鏈湀鍑哄簱閲�
         data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//涓婃湀鍑哄簱閲�
@@ -1904,6 +1913,10 @@
                     .orderByDesc(PlatformJob::getStatus )
                     .orderByAsc(PlatformJob::getId )
             );
+            List<PlatformDevice> platformDevices = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda().eq(PlatformDevice::getType,Constants.ONE)
+                    .eq(PlatformDevice::getIsdeleted,Constants.ZERO).isNotNull(PlatformDevice::getDeviceId));
+
+            String videoUrl = getVideoUrl();
             //鏈堝彴鐘舵�侊細0=浣滀笟涓紱1=绌洪棽涓紱2=浣滀笟瓒呮椂;3=鍙彿
             for(Platform model : platformList){
                 PlatformWorkDataVO platformDurationVO = new PlatformWorkDataVO();
@@ -1911,6 +1924,13 @@
                 platformDurationVO.setPlatformId(model.getId());
                 platformDurationVO.setPlatformCode(model.getCode());
                 platformDurationVO.setPlatformSort(model.getSortnum());
+                if(CollectionUtils.isNotEmpty(platformDevices)){
+                    List<PlatformDevice> deviceList = platformDevices.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),model.getId())).collect(Collectors.toList());
+                    if (CollectionUtils.isNotEmpty(deviceList)) {
+                        platformDurationVO.setDeviceId(deviceList.get(Constants.ZERO).getDeviceId());
+                        platformDurationVO.setVideoPluginUrl(videoUrl);
+                    }
+                }
                 PlatformJob job = getJobFromListById(model.getId(),jobList);
                 if(job != null){
                     if(Constants.equalsInteger(job.getType(),Constants.ONE) || Constants.equalsInteger(job.getType(),Constants.THREE)){
@@ -1971,7 +1991,7 @@
         List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                 .selectAll( PlatformJob.class)
 //                .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", create_date)
-                .apply("to_days(t.create_date) = to_days(now())")
+                .apply("to_days(t.done_date) = to_days(now())")
                 .eq(Platform::getIsdeleted, Constants.ZERO)
                 .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey()
                         , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
@@ -1985,7 +2005,7 @@
         }
         int curtotalNum = 0;
         Date today =  Utils.Date.getStart(new Date());
-        long curTime=0, lastTime=0;
+        long curTime=0, lastTime=0 ;
         for (int i = 0; i < 8; i++) {
             lastTime = curTime;//涓婃鐨勬椂闂�
             int curHour = 8+(i*2);
@@ -2008,7 +2028,7 @@
                 curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ;
             }
             workEfficiencyVO.setTotalWorkNum(curtotalNum);//绱鍊�
-            if(System.currentTimeMillis() < curTime){
+            if((System.currentTimeMillis() + 2*60*60*1000) < curTime ){
                 workEfficiencyVO.setTotalWorkNum(0);
             }
             workEfficiencyVOList.add(workEfficiencyVO);
@@ -2191,15 +2211,22 @@
         //宸蹭綔涓氭暟
         data.setWorkedNum(platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>()
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
-                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey());})
-                .and(w->{w.in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()
+                .and(w-> w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
+                        .or().in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()
                                 ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
-                                ,Constants.PlatformJobStatus.LEAVED.getKey())
-                        .apply("to_days(done_date) = to_days(now())");})
-                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey())
-                        .apply("to_days(error_date) = to_days(now())");})
-                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey())
-                        .apply("to_days(trans_platform_date) = to_days(now())");})
+                                ,Constants.PlatformJobStatus.LEAVED.getKey()).apply("to_days(done_date) = to_days(now())")
+                        .or().eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey()).apply("to_days(done_date) = to_days(now())")
+                        .or().eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey()).apply("to_days(trans_platform_date) = to_days(now())")
+                )
+//                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey());})
+//                .and(w->{w.in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()
+//                                ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
+//                                ,Constants.PlatformJobStatus.LEAVED.getKey())
+//                        .apply("to_days(done_date) = to_days(now())");})
+//                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey())
+//                        .apply("to_days(error_date) = to_days(now())");})
+//                .and(w->{w.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.TRANSFERING.getKey())
+//                        .apply("to_days(trans_platform_date) = to_days(now())");})
         ).intValue());
 
         data.setVideoPluginUrl(getVideoUrl());

--
Gitblit v1.9.3