From 98250a7cff913563152ae8b313c7f45cc27545ba Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 09:13:50 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 deletions(-)

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 3135e0c..eb84711 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
@@ -10,7 +10,7 @@
 import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest;
 import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse;
 import com.doumee.core.haikang.service.HKService;
-import com.doumee.service.business.third.WmsService;
+import com.doumee.dao.business.dao.UserActionMapper;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
@@ -75,6 +75,8 @@
 
     @Autowired
     private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private UserActionMapper userActionMapper;
     @Autowired
     private TmsService tmsService;
 
@@ -147,6 +149,30 @@
 
 
     @Override
+    @Transactional(rollbackFor = {BusinessException.class})
+    public  void deleteById(Integer id,LoginUserInfo user) {
+        Date date = new Date();
+        PlatformJob job = platformJobMapper.selectById(id);
+        if(job==null ||Constants.equalsInteger(Constants.ONE,job.getIsdeleted())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(! Constants.equalsInteger(Constants.PlatformJobStatus.CANCEL.getKey(),job.getStatus())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍙兘鍒犻櫎宸插彇娑堢殑浣滀笟浠诲姟锛�");
+        }
+        platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
+                        .set(PlatformJob::getIsdeleted,Constants.ONE)
+                        .set(PlatformJob::getEditDate,date)
+                        .set(PlatformJob::getEditor,user.getId())
+                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
+                        .eq(PlatformJob::getId,id));
+        String[] params = new String[3];
+        params[0] = user.getRealname();
+        params[1]=DateUtil.getPlusTime2(date);
+        params[2]=job.getBillCode()+"-銆愬徃鏈猴細"+job.getDriverName()+" "+job.getDrivierPhone()+"銆�-銆愯溅鐗屽彿锛�"+job.getCarCodeFront()+"銆�";
+        //璁板綍鍒犻櫎鏃ュ織
+        UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.PLATFROM_JOB_DEL,userActionMapper,date,params,JSONObject.toJSONString(job));
+    }
+    @Override
     public void delete(Integer id) {
         platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
                         .set(PlatformJob::getIsdeleted,Constants.ONE)
@@ -205,6 +231,7 @@
         IPage<PlatformJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<PlatformJob> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         queryWrapper
                 .selectAll(PlatformJob.class)
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
@@ -297,8 +324,8 @@
                 .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
                 .apply(pageWrap.getModel().getQueryStatusForPower() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatusForPower()+"')")
                 .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
-                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
-                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd()))
+                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformJob::getCreateDate,  pageWrap.getModel().getCreateDateStart())
+                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformJob::getCreateDate,  pageWrap.getModel().getCreateDateEnd())
                 .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()))
                 .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
@@ -471,7 +498,9 @@
                 platformJob.setWaitTime("棰勮绛夊緟锛�-灏忔椂-鍒嗛挓");
             }
         }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())
-        || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
+        || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+                || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+                || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())){
             //鏌ヨ鏈�鍚庡紑濮嬩换鍔$殑鏈堝彴璁板綍  鏃ュ織琛�  鍥犱负瀛樺湪寮傚父鎸傝捣 杞Щ 绛夐棶棰�
             PlatformLog platformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
                     .eq(PlatformLog::getJobId,platformJob.getId())
@@ -494,6 +523,7 @@
             }
 
         }
+        platformJob.setWorkTimeStr(DateUtil.getTimeStrBySecond(platformJob.getWorkTime()));
     }
     
     
@@ -597,11 +627,17 @@
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
         if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ZERO)){
+            if(!StringUtils.equals(platformJob.getDrivierPhone(),signInDTO.getLoginUserInfo().getMobile())){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
             if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅");
             }
             this.distanceSignIn(signInDTO,platformJob);
         }else if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ONE)){
+            if(!StringUtils.equals(platformJob.getDrivierPhone(),signInDTO.getLoginUserInfo().getMobile())){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
             if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅");
             }
@@ -649,7 +685,6 @@
                 || Objects.isNull(signInDTO.getLnt())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忕含搴︿俊鎭紓甯�");
         }
-
         //鑾峰彇绛惧埌鐐圭殑缁忕含搴�
         Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode());
         Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode());
@@ -674,11 +709,9 @@
         }
     }
 
-
     @Override
     public PlatformJob getDetail(JobDetailDTO jobDetailDTO){
-        if(Objects.isNull(jobDetailDTO)
-        || Objects.isNull(jobDetailDTO.getJobId())){
+        if(Objects.isNull(jobDetailDTO)   || Objects.isNull(jobDetailDTO.getJobId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         PlatformJob platformJob  = platformJobMapper.selectById(jobDetailDTO.getJobId());
@@ -688,14 +721,16 @@
         if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){
             //寰呯鍒� 璁$畻璺濈
             if(Objects.nonNull(jobDetailDTO.getLnt())&&Objects.nonNull(jobDetailDTO.getLat())){
-                //鑾峰彇绛惧埌鐐圭殑缁忕含搴�
-                Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode());
-                Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode());
-                //鑾峰彇2涓偣鐨勮窛绂籜绫�
-                Double getDistanceDouble = PositionUtil.getDistance(jobDetailDTO.getLnt(),jobDetailDTO.getLat(),lnt,lat);
-                //杞崲km
-                BigDecimal getDistance = BigDecimal.valueOf(getDistanceDouble).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP);
-                platformJob.setGetDistance(getDistance);
+                if(jobDetailDTO.getLat()!=null && jobDetailDTO.getLnt()!=null){
+                    //鑾峰彇绛惧埌鐐圭殑缁忕含搴�
+                    Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode());
+                    Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode());
+                    //鑾峰彇2涓偣鐨勮窛绂籜绫�
+                    Double getDistanceDouble = PositionUtil.getDistance(jobDetailDTO.getLnt(),jobDetailDTO.getLat(),lnt,lat);
+                    //杞崲km
+                    BigDecimal getDistance = BigDecimal.valueOf(getDistanceDouble).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP);
+                    platformJob.setGetDistance(getDistance);
+                }
             }
         }else if( Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                 || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())
@@ -883,7 +918,7 @@
         );
         
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) {
+        if(Objects.nonNull(platformJob.getDrivierPhone())) {
           this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob);
         }
         return platformJob;
@@ -892,7 +927,7 @@
     public void sendWxNotice(String objCode,PlatformJob platformJob){
         SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                 .eq(SystemUser::getDeleted, Constants.ZERO)
-                .eq(SystemUser::getType, Constants.ZERO)
+                .in(SystemUser::getType, Constants.ZERO,Constants.TWO)
                 .eq(SystemUser::getMobile,platformJob.getDrivierPhone())
                 .last(" limit 1 "));
         if (Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())) {
@@ -1134,7 +1169,7 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())){ 
+        if(Objects.nonNull(platformJob.getDrivierPhone())){
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob);
         }
 
@@ -1270,7 +1305,7 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) { 
+        if(Objects.nonNull(platformJob.getDrivierPhone())) {
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobMove,platformJob);
         }
 
@@ -1323,7 +1358,7 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())){
+        if(Objects.nonNull(platformJob.getDrivierPhone())){
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobOverNum,platformJob);
         }
 
@@ -1375,7 +1410,7 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) {
+        if(Objects.nonNull(platformJob.getDrivierPhone())) {
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobError,platformJob);
         }
 
@@ -1429,7 +1464,7 @@
                 SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null
         );
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) {
+        if(Objects.nonNull(platformJob.getDrivierPhone())) {
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobWorking,platformJob);
         }
         //骞挎挱 led閫氱煡
@@ -1530,7 +1565,7 @@
         );
 
         //鍏紬鍙锋ā鏉挎秷鎭�
-        if(Objects.nonNull(platformJob.getDriverId())) {
+        if(Objects.nonNull(platformJob.getDrivierPhone())) {
             this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobFinish,platformJob);
         }
 
@@ -2191,8 +2226,11 @@
             List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList());
             largeScreenDataVO.setWaitWorkList(calledList);
         }
+//        String u = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.BIGSCREEN_UUID);
+//        if(StringUtils.isBlank(u)){
         String u =  UUID.randomUUID().toString();
         redisTemplate.opsForValue().set(Constants.RedisKeys.BIGSCREEN_UUID,u,3, TimeUnit.MINUTES);
+//        }
         String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),Constants.WxUrlParams.BISCREEN_CODE,u);
         largeScreenDataVO.setQrCode(url);
         largeScreenDataVO.setAttention(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_ATTENTION).getCode());

--
Gitblit v1.9.3