From 4167298accee956c10ed1b5e3d6ce909cad38edd Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期二, 02 四月 2024 16:37:26 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java                        |    1 
 admin/src/api/business/staging.js                                                                                   |    3 +
 admin/src/views/business/visits_hk.vue                                                                              |    3 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java          |   11 +++
 admin/src/views/business/visits.vue                                                                                 |   36 +++++++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |    2 
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java                                  |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java                   |   75 ++++++++++++++++++++-----
 8 files changed, 114 insertions(+), 19 deletions(-)

diff --git a/admin/src/api/business/staging.js b/admin/src/api/business/staging.js
index ef02d7c..72c4caa 100644
--- a/admin/src/api/business/staging.js
+++ b/admin/src/api/business/staging.js
@@ -19,3 +19,6 @@
 export function level (visitId) {
   return request.get(`/business/staging/level?visitId=${visitId}`)
 }
+export function visitCancel (visitId) {
+  return request.get(`/business/visits/visitCancel?visitId=${visitId}`)
+}
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index 2c4ea45..99866d0 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -95,7 +95,9 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" v-permissions="['business:visits:update']">鏌ョ湅璇︽儏</el-button>
+                      <el-button type="text" @click="departure(row.id)" v-permissions="['business:visits:level']" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲巶</el-button>
+                      <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" icon="el-icon-delete"   style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button>
+                        <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" icon="el-icon-view">璇︽儏</el-button>
 <!--                        <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>-->
                     </template>
                 </el-table-column>
@@ -142,5 +144,37 @@
     })
     this.search()
   },
+  methods: {
+    departure(id) {
+      this.$confirm('纭畾绂诲満鍚�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        level(id)
+            .then(res => {
+              this.page = 1
+              this.getData()
+            })
+      }).catch(() => {
+
+      });
+    },
+    cancel(id) {
+      this.$confirm('纭畾鍙栨秷棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        visitCancel(id)
+            .then(res => {
+              this.page = 1
+              this.getData()
+            })
+      }).catch(() => {
+
+      });
+    },
+  }
 }
 </script>
diff --git a/admin/src/views/business/visits_hk.vue b/admin/src/views/business/visits_hk.vue
index 98d857a..8bc3819 100644
--- a/admin/src/views/business/visits_hk.vue
+++ b/admin/src/views/business/visits_hk.vue
@@ -88,7 +88,7 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" v-permissions="['business:visits:update']">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)"  >鏌ョ湅璇︽儏</el-button>
 <!--                        <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>-->
                     </template>
                 </el-table-column>
@@ -137,6 +137,7 @@
     this.search()
   },
   methods: {
+
   }
 }
 </script>
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
index dcb78f3..ebedc9e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
@@ -58,7 +58,7 @@
 
     @ApiModelProperty(value = "瑙掕壊缂栫爜锛堝叧鑱攄oor_role),澶氫釜鑻辨枃閫楀彿闅斿紑")
     @ExcelColumn(name="瑙掕壊缂栫爜锛堝叧鑱攄oor_role)")
-    private String roleId;
+    private Integer roleId;
     @ApiModelProperty(value = "鍙娇鐢ㄩ棬绂佺紪鐮侀泦鍚堬紝澶氫釜鑻辨枃閫楀彿闅斿紑")
     @TableField(exist = false)
     private String doorIds;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 11f0431..2838d4a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -857,6 +857,7 @@
                         model.setDeviceId(deviceRole.getId());
                         model.setSendStatus(Constants.ZERO);
                         model.setSendType(Constants.ZERO);
+                        model.setFailFlag(Constants.ZERO);
                         list.add(model);
                     }
                     //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index af0009f..1f7fec6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -927,13 +927,57 @@
             }
         }
     }
-    private   List<Integer>  getRoleIdByParam(Integer[] param, Member member) {
+    private    Integer   getRoleIdByParam(Integer[] param, Member member) {
         //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁
         member.setRoleId(null);
-        if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){
+        List<MemberRole> roleList = memberRoleMapper.selectList( new QueryWrapper<MemberRole>().lambda()
+               .eq(MemberRole::getIsdeleted,Constants.ZERO)
+               .eq(MemberRole::getMemberId,member.getId()));
+       if((param == null || param.length==0 ) &&( roleList==null || roleList.size()==0)){
+           //妫�鏌ョ敤鎴锋潈闄愭槸鍚﹀彂鐜板彉鍖�
+            return  0;
+       }
+        if((param == null || param.length==0 ) &&( roleList!=null && roleList.size()>0) ){
+            //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎
             memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
+            return 1;
         }
         if(!Objects.isNull(param)&&param.length>Constants.ZERO){
+            if(roleList!=null && roleList.size()>0) {
+                //鍜屽師鏈夋潈闄愯繘琛屽姣旓紝鐪嬫槸鍚︽潈闄愬彂鐢熷彉鍖�
+                boolean ischange1=false;
+                for (MemberRole role : roleList) {
+                    ischange1=false;
+                    for (int j = 0; j < param.length; j++) {
+                        if(Constants.equalsInteger(role.getRoleId(),param[j])){
+                            ischange1=true;
+                           break;
+                        }
+                    }
+                    if(!ischange1){
+                        break;
+                    }
+                }
+
+                boolean ischange2 =false;
+                for (int j = 0; j < param.length; j++) {
+                    ischange2=false;
+                    for (MemberRole role : roleList) {
+                        if(Constants.equalsInteger(role.getRoleId(),param[j])){
+                            ischange2=true;
+                            break;
+                        }
+                    }
+                    if(!ischange2){
+                        break;
+                    }
+                }
+                if(ischange2 && ischange1){
+                    return 0;//鏉冮檺鏈彂鐢熸敼鍙�
+                }
+            }
+            //濡傛灉鍘熸潵鏈夋潈闄愶紝鎺ュ彛杩涜鏉冮檺鍒犻櫎
+            memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
             //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
             List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                     .eq(DeviceRole::getType,Constants.TWO)
@@ -964,15 +1008,16 @@
                     memberRole.setCreateDate(new Date());
                     memberRole.setMemberId(member.getId());
                     memberRole.setIsdeleted(Constants.ZERO);
-                    memberRole.setRoleId(deviceRole.getId().toString());
+                    memberRole.setRoleId(deviceRole.getId());
                     memberRoleList.add(memberRole);
                 }
+                member.setRoleId(ids);
                 memberRoleMapper.insertBatchSomeColumn(memberRoleList);
                 member.setRoleId(ids);
-                return  r;
+                return  1;
             }
         }
-        return  null;
+        return  0;
     }
 
 
@@ -992,22 +1037,22 @@
             if(Objects.isNull(member)){
                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛淇℃伅涓嶅瓨鍦紒");
             }
-            List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member);
+            Integer ischange = getRoleIdByParam(param.getRoleIds(),member);
+            if(ischange == 0){
+                return;//鏈彂鐜版潈闄愬彉鍖栵紝鐩存帴杩斿洖
+            }
             if(param.getRoleIds()!=null && param.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
             }
+            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                .eq(Member::getId,member.getId())
+                .set(Member::getRoleId,member.getRoleId())
+                .set(Member::getStartTime,param.getValidStartTime())
+                .set(Member::getEndTime,param.getValidEndTime())
+                .set(Member::getEditDate,new Date()) );
             //閲嶆柊鎺堟潈
             HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper);
 
-
-       /* memberMapper.update(null,new UpdateWrapper<Member>().lambda()
-                    .eq(Member::getId,member.getId())
-                    .set(Member::getRoleId,member.getRoleId())
-                    .set(Member::getRemark,"寰呭悓姝ュ畨闃插钩鍙�")
-                    .set(Member::getStartTime,param.getValidStartTime())
-                    .set(Member::getEndTime,param.getValidEndTime())
-                    .set(Member::getEditDate,new Date())
-                    .set(Member::getHkStatus,Constants.ZERO ));*/
     }
 
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index d0e107c..4d5b295 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -92,7 +92,7 @@
                                 boolean iscard = false;//鏄惁鏈夊崱鐗囦笅鍙戞垚鍔�
                                 //鏇存柊宸插畬鎴愪笅杞戒换鍔�
                                 String remark = "";
-                                String cardInfo = "鍗$墖涓嬪彂澶辫触";
+                                String cardInfo ="";
                                 TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
                                 if (d.getCards() != null && d.getCards().size() > 0) {
                                     for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
@@ -103,7 +103,11 @@
                                     }
                                     if(iscard){
                                         cardInfo = "鍗$墖銆�"+cardInfo+"銆戜笅鍙戞垚鍔�";
+                                    }else{
+                                        cardInfo = "鍗$墖涓嬪彂澶辫触";
                                     }
+                                }else {
+                                    cardInfo = "鍗$墖涓嬪彂澶辫触";
                                 }
                                 if (d.getFaces() == null || d.getFaces().size() == 0) {
                                     remark = cardInfo + "锛� 鏃犱汉鑴镐笅鍙戯紒";
@@ -393,6 +397,11 @@
 //        }
 //        Constants.DEALING_HK_EMPOWER =true;
             //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
+            if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
+                    .eq(Empower::getSendStatus,Constants.EmpowerStatus.ing)) > 1000){
+                //濡傛灉褰撳墠浠诲姟澶т簬1000涓紙澶ф10涓换鍔★級
+                return endId;
+            }
             List<Empower> allList =getAllWaitDealList( endId);
             if(allList !=null && allList.size()>0){
                 //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙�
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index bc8ff99..d3606b1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -402,6 +402,7 @@
                 model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setRemark("寰呭悓姝ュ畨闃插钩鍙�");
                 model.setStartTime(member.getStartTime());
+                model.setFailFlag(Constants.ZERO);
                 model.setEndTime(member.getEndTime());
                 //榛樿缁欎簬铏氭嫙鍗�
                 model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId());
@@ -461,6 +462,7 @@
                 model.setCreateDate(new Date());
                 model.setMemberId(member.getId());
                 model.setIsdeleted(Constants.ZERO);
+                model.setFailFlag(Constants.ZERO);
                 model.setDeviceId(deviceRole.getId());
                 model.setSendStatus(Constants.ZERO);
                 model.setSendInfo("寰呭悓姝ュ畨闃插钩鍙�");

--
Gitblit v1.9.3