From c47f7b9c4899036c52ad0e4f46c4aff7102110bc Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 09 九月 2024 19:56:07 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 96 insertions(+), 4 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index 1af24c0..9cef87e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -31,6 +31,7 @@
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
+import javafx.application.Platform;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.xpath.operations.Bool;
@@ -89,6 +90,14 @@
     private CarUseBookJoinMapper carUseBookJoinMapper;
     @Autowired
     private NoticesJoinMapper noticesJoinMapper;
+    @Autowired
+    private PlatformBooksMapper platformBooksMapper;
+    @Autowired
+    private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private PlatformLogMapper platformLogMapper;
+    @Autowired
+    private PlatformReasonMapper platformReasonMapper;
 
 
 
@@ -382,6 +391,52 @@
     }
 
 
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId){
+        //鏌ヨ澶勭悊妯℃澘
+        ApproveTempl approveTempl = approveTemplMapper.selectById(tempId);
+        if(Objects.isNull(approveTempl)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌瀹℃壒娴侀厤缃ā鏉�");
+        }
+        //鏌ヨ閰嶇疆娴佺▼
+        List<ApproveParam> approveParamAllList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>()
+                .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO)
+                .eq(ApproveParam::getTemplId,approveTempl.getId())
+                .orderByAsc(ApproveParam::getType)
+                .orderByAsc(ApproveParam::getLevel)
+        );
+        if(Objects.isNull(approveParamAllList)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈厤缃鎵规祦绋�");
+        }
+        //瀹℃壒閰嶇疆
+        List<ApproveParam> approveParamList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList());
+        if(Objects.isNull(approveParamList)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈厤缃鎵规祦绋�");
+        }
+        List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList());
+
+        Member createMember = memberMapper.selectById(createMemberId);
+        if(Objects.isNull(createMember)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鐢宠浜虹粍缁囦俊鎭紓甯�");
+        }
+        List<Approve> approveList = new ArrayList<>();
+
+        this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList);
+
+        if(CollectionUtils.isEmpty(approveList)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒娴侀厤缃敊璇�");
+        }
+
+        //澶勭悊鎶勯�佹暟鎹�
+        if(CollectionUtils.isNotEmpty(approveCopyList)){
+            this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList);
+        }
+        approveJoinMapper.insert(approveList);
+
+    }
+
+
     /**
      * 缁勭粐瀹℃壒娴佹暟鎹�
      * @param approveTempl
@@ -549,8 +604,17 @@
             jsonMap.put("eTime", "缁撴潫鏃堕棿:" + DateUtil.DateToStr(carUseBook.getEndTime() , "yyyy-MM-dd HH:mm"));
             jsonMap.put("usrNum", StringUtils.isBlank(carUseBook.getMemberIds())?"涔樿溅浜烘暟: 0浜�": "涔樿溅浜烘暟: " +carUseBook.getMemberIds().split(",").length +"浜�");
             jsonMap.put("mdd", StringUtils.isBlank(carUseBook.getAddr())?"鐩殑鍦�: - ": "鐩殑鍦�:" +carUseBook.getAddr());
-        }else {
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+        }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){
+            //鐗╂祦杞﹂绾�
+            PlatformBooks platformBooks = platformBooksMapper.selectById(businessId);
+            if(Objects.isNull(platformBooks)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌涓氬姟鏁版嵁淇℃伅");
+            }
+            title = "銆愮墿娴佽溅鍏ュ洯棰勭害銆戠敵璇蜂汉 - " + platformBooks.getDriverName();
+            jsonMap.put("inType", "鍏ュ簱绫诲瀷锛�"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"鏁存墭鐩�":"浠剁儫"));
+            jsonMap.put("totalNum", "鎬昏繍杈撻噺锛�"+platformBooks.getTotalNum()+"涓囨敮");
+            jsonMap.put("arriveDate", "鍒板満鏃堕棿锛�" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm"));
+            jsonMap.put("carNum", "杞︾墝鐓э細"+platformBooks.getCarCodeFront());
         }
         return title;
     }
@@ -1339,8 +1403,36 @@
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                 Constants.approveObjectType.unCityUseCar)){
             this.updDriver(approveDTO,approve,true);
-        }else if(approveDTO.getObjType().equals(Constants.approveObjectType.logisticsCarUse)){
-            //TODO  鐗╂祦杞﹂绾�
+        }else if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
+            //鐗╂祦杞﹂绾�
+            PlatformBooks platformBooks = platformBooksMapper.selectById(approveDTO.getObjId());
+            if(Objects.isNull(platformBooks)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐗╂祦杞﹂绾﹁褰�");
+            }
+            platformBooks.setStatus(approveDTO.getStatus());
+            platformBooks.setEditDate(new Date());
+            platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId());
+            PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId());
+
+            //鐢熸垚浠诲姟璁板綍
+            PlatformJob platformJob = platformBooks.toPlatformJob();
+            platformJob.setPlatformGroupId(platformReason.getGroupId().intValue());
+            platformJob.setType(Constants.platformJobType.sgscxh);
+            platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
+            platformJobMapper.insert(platformJob);
+            platformBooks.setJobId(platformJob.getId());
+            platformBooksMapper.updateById(platformBooks);
+            //鐢熸垚浠诲姟鎿嶄綔璁板綍
+            PlatformLog platformLog = new PlatformLog();
+            platformLog.setCreateDate(new Date());
+            platformLog.setJobId(platformJob.getId());
+            platformLog.setIsdeleted(Constants.ZERO);
+            platformLog.setParam4(platformJob.getCarCodeFront());
+            platformLog.setContent(Constants.PlatformJobLogType.CREATE.getInfo());
+            platformLog.setObjType(Constants.PlatformJobLogType.CREATE.getKey());
+            platformLog.setObjId(platformJob.getId().toString());
+            platformLog.setAfterContent(JSONObject.toJSONString(platformJob));
+            platformLogMapper.insert(platformLog);
 
         }else{
             throw new BusinessException(ResponseStatus.BAD_REQUEST);

--
Gitblit v1.9.3