jiangping
2024-02-28 e29143bcea863a5aac369b2fa570c5bbb5b98e8b
整理
已修改3个文件
51 ■■■■ 文件已修改
admin/src/views/business/internalCompany.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/internalMember.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/internalCompany.vue
@@ -18,7 +18,7 @@
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']">
                <li><el-button type="primary" v-permissions="['business:company:create']" @click="$refs.OperaInternalCompanyWindow.open('新建企业')">新建</el-button></li>
                <li><el-button type="primary" v-permissions="['business:company:sync']" @click="synchronous()">同步</el-button></li>
                <li><el-button type="primary"  v-permissions="['business:company:sync']" :loading="loading" @click="synchronous()">同步</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
@@ -62,6 +62,7 @@
  data () {
    return {
      // 搜索
      loading:false,
      searchForm: {
        type: 1
      },
@@ -98,7 +99,7 @@
    async synchronous () {
      this.$dialog.actionConfirm('操作确认提醒', '您确认同步全部信息吗?')
        .then(() => {
          this.isWorking.delete = true
          this.loading = true
          companySync({})
            .then(res => {
              this.$tip.apiSuccess(res || '同步成功')
@@ -108,7 +109,7 @@
              this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking.delete = false
              this.loading = false
            })
        })
        .catch(() => {})
admin/src/views/business/internalMember.vue
@@ -24,6 +24,13 @@
                    <el-option label="拉黑/冻结" value="2"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="" prop="hkStatus">
                <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" placeholder="海康同步状态">
                    <el-option label="待同步" value="0"></el-option>
                    <el-option label="同步成功" value="1"></el-option>
                    <el-option label="同步失败" value="2"></el-option>
                </el-select>
            </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
@@ -37,9 +44,9 @@
        </template>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:member:delete']">
            <ul class="toolbar" v-permissions="['business:member:delete','business:member:sync']">
                <li><el-button type="primary">门禁授权</el-button></li>
                <li><el-button type="primary" v-permissions="['business:member:sync']"  @click="synchronous()">同步</el-button></li>
                <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">同步</el-button></li>
                <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li>
            </ul>
            <el-table
@@ -53,23 +60,30 @@
                <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column>
                <el-table-column label="性别" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.sex === 1">男</span>
                        <span v-if="row.sex === 2">女</span>
                        <span v-if="row.sex == 1">男</span>
                        <span v-if="row.sex == 2">女</span>
                    </template>
                </el-table-column>
              <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column>
                <el-table-column prop="status" label="状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.status === 0">正常</span>
                        <span v-if="row.status === 1">禁用</span>
                        <span v-if="row.status === 2">拉黑/冻结</span>
                        <span v-if="row.status == 0" style="color: green">正常</span>
                        <span v-if="row.status == 1" style="color: red">禁用</span>
                        <span v-if="row.status == 2" style="color: red">拉黑/冻结</span>
                    </template>
                </el-table-column>
                <el-table-column prop="code" label="工号" min-width="100px"></el-table-column>
                <el-table-column label="可拜访" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.canVisit === '0'">否</span>
                        <span v-if="row.canVisit === '1'">是</span>
                        <span v-if="row.canVisit != 1">否</span>
                        <span v-if="row.canVisit == 1">是</span>
                    </template>
                </el-table-column>
                <el-table-column label="海康同步状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.hkStatus == 0" style="color: #435EBE">待同步</span>
                        <span v-if="row.hkStatus == 1" style="color: green">同步成功</span>
                        <span v-if="row.hkStatus == 2" style="color: red">同步失败</span>
                    </template>
                </el-table-column>
                <el-table-column label="门禁角色" min-width="100px">
@@ -135,6 +149,7 @@
      searchForm: {
        name: '',
        status: '',
        hkStatus: '',
        canVisit: '',
        keyword: '',
        type: 2,
@@ -142,6 +157,7 @@
        companyId: '',
        hasFace: ''
      },
      loading:false,
      companyTree: []
    }
  },
@@ -169,7 +185,7 @@
    async synchronous () {
      this.$dialog.actionConfirm('操作确认提醒', '您确认同步全部信息吗?')
        .then(() => {
          this.isWorking.delete = true
          this.loading = true
          memberSync({})
            .then(res => {
              this.$tip.apiSuccess(res || '同步成功')
@@ -179,7 +195,7 @@
              this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking.delete = false
              this.loading = false
            })
        })
        .catch(() => {})
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest;
import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
import com.doumee.core.haikang.service.HKService;
@@ -1152,9 +1153,12 @@
        if(!visits.getStatus().equals(Constants.VisitStatus.signin)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客记录状态错误,请刷新重试");
        }
        VisitAppointmentOutRequest request = new VisitAppointmentOutRequest();
        request.setOrderId(visits.getHkId());
        //调用海康强制签离
        BaseResponse response =  HKService.outVisitAppiontment(request);
        visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout)
                .eq(Visits::getId,visitId));
    }
}