From e7b6e88a424a751ac657e150f52d72f1173321c9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 03 六月 2024 14:02:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java |   39 ++++++++++++++++++++++++---------------
 1 files changed, 24 insertions(+), 15 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 72e088c..19b432d 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
@@ -550,6 +550,7 @@
                         .leftJoin(Member.class,Member::getId,Approve::getChekorId)
                         .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                         .eq(Approve::getIsdeleted,Constants.ZERO)
+                        .ne(Approve::getStatus,Constants.approveStatus.cancel)
                         .eq(Approve::getObjId,businessId)
                         .eq(Approve::getObjType,businessType)
                         .orderByAsc(Approve::getLevel)
@@ -574,7 +575,7 @@
             Approve waitModel = new Approve();
             waitModel.setApproveType(Constants.ONE);
             waitModel.setTitle("鎶勯�佷汉");
-            waitModel.setStatus(Constants.ONE);
+            waitModel.setStatus(copyList.get(Constants.ZERO).getStatus());
             waitModel.setType(Constants.ONE);
             waitModel.setApproveList(copyList);
             approveDateVO.getApproveList().add(waitModel);
@@ -604,8 +605,8 @@
         Approve  refuseModel = new Approve();//宸叉嫆缁濈殑璁板綍
         List<Approve> waitList = new ArrayList<>();  //鏌ヨ鍏ㄩ儴鏈鐞嗙殑闆嗗悎
         List<Approve> otherPassList = new ArrayList<>();//浠栦汉宸插鐞嗙殑璁板綍闆�
-        List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList());
-        dealGroupListBiz(level,levelApprove,approveGroupList,passList,refuseModel,waitList,otherPassList);
+        int appType = Constants.formatIntegerNum(level.getApproveType());//褰撳墠瀹℃壒绫诲瀷
+        dealGroupListBiz(level,approveGroupList,passList,refuseModel,waitList,otherPassList);
         if(Objects.nonNull(refuseModel) && Objects.nonNull(refuseModel.getId())){
             //瀛樺湪鎷掔粷鐨勶紝鍙渶瑕佽繑鍥炰竴鏉″鐞嗘暟鎹紝鍚庣画涓嶉渶瑕佸洖鏄�
             refuseModel.setApproveType(Constants.ZERO);
@@ -613,11 +614,12 @@
             return list;
         }
         list.addAll(sortByCreateTime(passList));
-        if(Constants.equalsInteger(level.getApproveType(),Constants.ONE)){
+        if(Constants.equalsInteger(appType,Constants.ONE)){
             //濡傛灉鏄細绛�
             if(waitList.size()>1){
                 Approve waitModel = new Approve();
                 waitModel.setApproveType(Constants.ONE);
+                waitModel.setType(Constants.ZERO);
                 waitModel.setTitle(StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�"));
                 waitModel.setStatus(Constants.equalsInteger(waitList.get(Constants.ZERO).getStatus(),Constants.ONE)?Constants.ONE:Constants.ZERO);
                 waitModel.setStatusInfo("澶勭悊涓�");
@@ -630,6 +632,7 @@
             }else if(waitList.size()>0){
                 Approve approve = waitList.get(Constants.ZERO);
                 approve.setApproveType(Constants.ZERO);
+                approve.setType(Constants.ZERO);
                 list.add(approve);
             }
         }else {
@@ -638,8 +641,10 @@
                 waitModel.setApproveType(Constants.ONE);
                 if(Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){
                     waitModel.setStatus(Constants.approveStatus.pass);
+                    waitModel.setType(Constants.ONE);
                     waitModel.setTitle("瀹℃壒浜猴紙鎶勯�佹垨绛惧鎵逛汉锛�");
                 }else{
+                    waitModel.setType(Constants.ZERO);
                     waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�"):"鎶勯�佹垨绛惧鎵逛汉");
                     waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO);
                 }
@@ -669,10 +674,15 @@
 
     }
 
-    private void dealGroupListBiz(Approve level, List<Approve> levelApprove,List<Approve> approveGroupList, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) {
+    private void dealGroupListBiz(Approve level, List<Approve> approveGroupList,  List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) {
         //鏌ヨ鏄惁瀛樺湪鎷掔粷鏁版嵁
+        List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList());
         for (Approve approve:levelApprove) {
+            if(!Constants.equalsInteger(level.getLevel(),approve.getLevel())){
+                continue;
+            }
             if(Constants.equalsInteger(Constants.approveStatus.pass,approve.getStatus())){
+                approve.setApproveType(Constants.ZERO);
                 passList.add(approve);
             }else if(Constants.equalsInteger(Constants.approveStatus.otherDeal,approve.getStatus())){
                 otherPassList.add(approve);
@@ -703,7 +713,8 @@
             if(Constants.equalsInteger(approve.getType(),Constants.ONE)){
                 continue;
             }
-            if(Constants.equalsInteger(approve.getChekorId(),memberId)){
+            if(Constants.equalsInteger(approve.getChekorId(),memberId)
+                    &&Constants.equalsInteger(approve.getStatus(), Constants.ONE)){
                 approveDataVO.setCanBeApproved(Constants.ONE);
                 approveDataVO.setDriverParam(approve.getDriverParam());
             }
@@ -711,11 +722,9 @@
                 approveList.add(approve);
             }
         }
-
         if(CollectionUtils.isEmpty(approveList)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒淇℃伅锛氱骇鍒暟鎹紓甯�");
         }
-
         return  approveList;
     }
 
@@ -769,8 +778,6 @@
                         .orderByAsc(Approve::getLevel)
                         .orderByAsc(Approve::getId)
         );
-
-
         String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                 +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
         for (Approve approve:approveAllList ) {
@@ -856,6 +863,9 @@
                 .lambda()
                 .eq(Approve::getObjId,approveDTO.getObjId())
                 .eq(Approve::getObjType,approveDTO.getObjType())
+                .eq(Approve::getChekorId,approveDTO.getLoginUserInfo().getMemberId())
+                .eq(Approve::getType,Constants.ZERO)
+                .eq(Approve::getStatus,Constants.approveStatus.auditIng)
                 .last(" limit 1")
         );
         if(Objects.isNull(approve)){
@@ -869,9 +879,9 @@
         approve.setStatus(approveDTO.getStatus());
         approve.setCheckInfo(approveDTO.getCheckInfo());
         approve.setCheorId(approveDTO.getLoginUserInfo().getMemberId().toString());
-        approve.setCheckorName(approve.getLoginUserInfo().getRealname());
+        approve.setCheckorName(approveDTO.getLoginUserInfo().getRealname());
         approve.setCheckDate(new Date());
-        approve.setStatusInfo(approveDTO.getStatus()==Constants.TWO?"瀹℃壒閫氳繃":approveDTO.getCheckInfo());
+        approve.setStatusInfo(approveDTO.getStatus()==Constants.TWO?"宸插悓鎰�":approveDTO.getCheckInfo());
         Visits visits = new Visits();
         CarUseBook carUseBook = new CarUseBook();
         this.dealBusinessData(approveDTO,approve,visits,carUseBook);
@@ -952,10 +962,9 @@
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                 Constants.approveObjectType.unCityUseCar)){
             // 甯傚唴澶栫敤杞︾敵璇�
-            carUseBookMapper.updateById(carUseBook);
             if(dealBusinessBean){
                 //TODO 鍙戦�佸鎵归�氳繃娑堟伅
-
+                carUseBookMapper.updateById(carUseBook);
             }else if(approveDTO.getStatus().equals(Constants.THREE)){
                 //TODO 瀹℃壒鏈�氳繃閫氱煡
 
@@ -1052,7 +1061,7 @@
             carUseBook.setEditDate(new Date());
             carUseBook.setEditor(approveDTO.getLoginUserInfo().getMemberId());
             //濡傛灉閰嶇疆淇敼鍙告満 涓� 鍏ュ弬浜嗘洿鎹㈠悗鍙告満淇℃伅
-            if(approveDTO.getStatus()==Constants.TWO&&approve.getDriverParam().equals(Constants.ONE)){
+            if(approveDTO.getStatus()==Constants.TWO&&Constants.equalsInteger(approve.getDriverParam(),Constants.ONE)){
                 CarDriver carDriver = carDriverMapper.selectById(approveDTO.getDriverId());
                 if(Objects.isNull(carDriver)){
                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌鍙告満淇℃伅");

--
Gitblit v1.9.3