jiangping
2024-09-26 1519d4a21f845f1516883974475db19476d1200c
Merge remote-tracking branch 'origin/master'
已修改5个文件
137 ■■■■■ 文件已修改
admin/src/components/common/Tree.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/relativeMember.vue 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/Tree.vue
@@ -77,7 +77,12 @@
      //   this.tempItem.name = item[this.defaultProps.name]
      //   this.tempItem.erpId = item['erpId']
      // }
      item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0
      // item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0
      const fsDate = item.fsDate === 0 || !item.fsDate ? 1 : 0
      this.list.forEach(i => {
        i.fsDate = 0
      })
      item.fsDate = fsDate
      if (item.childList.length > 0) {
        item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0
      }
admin/src/views/business/relativeMember.vue
@@ -40,31 +40,42 @@
            </section>
        </el-form>
        <template v-slot:menu>
            <div style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">企业组织架构</div>
      <div
        style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
        企业组织架构</div>
            <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
                <Tree :list="companyTree" :defaultProps="{name: 'name', status: 'fsStatus', children: 'childList', id: 'id'}" @callback="callback" />
        <Tree :list="companyTree" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
          @callback="callback" />
            </div>
        </template>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create','business:traintime:create']">
      <ul class="toolbar"
        v-permissions="['business:member:delete', 'business:member:create,business:empower:create', 'business:traintime:create']">
<!--
                <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">同步</el-button></li>
-->
              <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('新建员工',null,department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">新建员工</el-button></li>
              <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入',searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li>
              <li><el-button type="primary" @click="$refs.OperaTrainTimeImportWindow.open('培训期导入',department,searchForm.companyType)"  icon="el-icon-plus" v-permissions="['business:traintime:create']">培训期导入</el-button></li>
              <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">批量删除</el-button></li>
                <li><el-button type="primary" v-permissions="['business:empower:create']"  @click="startEmpowerBatch()"  icon="el-icon-plus">下发授权</el-button></li>
        <li><el-button type="primary"
            @click="$refs.OperaMemberWindow.open('新建员工', null, department, searchForm.companyType)" icon="el-icon-plus"
            v-permissions="['business:member:create']">新建员工</el-button></li>
        <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入', searchForm.companyType)"
            icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li>
        <li><el-button type="primary"
            @click="$refs.OperaTrainTimeImportWindow.open('培训期导入', department, searchForm.companyType)"
            icon="el-icon-plus" v-permissions="['business:traintime:create']">培训期导入</el-button></li>
        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete"
            v-permissions="['business:member:delete']">批量删除</el-button></li>
        <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()"
            icon="el-icon-plus">下发授权</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
                @selection-change="handleSelectionChange"
            >
      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55"></el-table-column>
                <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="姓名" min-width="110px">
          <template slot-scope="{row}">
            <span>{{ row.name }}</span>
            <span class="zhuguan" v-if="row.headStatus == 1">主管</span>
          </template>
        </el-table-column>
                <el-table-column prop="phone" label="手机号" min-width="100px"></el-table-column>
                <el-table-column prop="idcardDecode" label="身份证号" min-width="100px"></el-table-column>
                <el-table-column label="性别" min-width="100px">
@@ -89,25 +100,15 @@
              </el-table-column>
              <el-table-column label="在职状态">
              <template slot-scope="{row}">
                <el-switch
                    @change="changeWorkStatus($event, row)"
                    v-model="row.workStatus"
                    active-color="#13ce66"
                    inactive-color="#ff4949"
                    :active-value="0"
                    :inactive-value="1">
            <el-switch @change="changeWorkStatus($event, row)" v-model="row.workStatus" active-color="#13ce66"
              inactive-color="#ff4949" :active-value="0" :inactive-value="1">
                </el-switch>
              </template>
            </el-table-column>
              <el-table-column label="是否可拜访">
                <template slot-scope="{row}">
                  <el-switch
                      @change="changeCanvisit($event, row)"
                      v-model="row.canVisit"
                      active-color="#13ce66"
                      inactive-color="#ff4949"
                      :active-value="1"
                      :inactive-value="0">
            <el-switch @change="changeCanvisit($event, row)" v-model="row.canVisit" active-color="#13ce66"
              inactive-color="#ff4949" :active-value="1" :inactive-value="0">
                  </el-switch>
                </template>
              </el-table-column>
@@ -145,41 +146,38 @@
              <el-table-column prop="code" label="工号" min-width="100px"></el-table-column>
              <el-table-column label="卡片" min-width="80px">
                <template slot-scope="{row}">
                  <el-button @click="$refs.cardOpeningRecord.open('开卡记录', row.id)" type="text">{{row.memberCardCount || '0'}}</el-button>
            <el-button @click="$refs.cardOpeningRecord.open('开卡记录', row.id)" type="text">{{ row.memberCardCount ||
              '0'}}</el-button>
                </template>
              </el-table-column>
              <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column>
              <el-table-column prop="editDate" label="最后操作时间" min-width="150px"></el-table-column>
                <el-table-column fixed="right" label="人脸信息" min-width="100px">
                    <template slot-scope="{row}">
                        <el-image
                            v-if="row.faceImgFull"
                            style="width: 60px; height: 60px"
                            :src="row.faceImgFull"
            <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull"
                            :preview-src-list="[row.faceImgFull]">
                        </el-image>
                    </template>
                </el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])"
                    label="操作"
                    min-width="280"
                    fixed="right"
                >
          label="操作" min-width="280" fixed="right">
                    <template slot-scope="{row}">
                        <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息',row,department)" v-permissions="['business:empower:update']">编辑</el-button>
                      <el-button type="text"  icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">重新授权</el-button>
                      <el-button type="text" :loading="heading" style="color: red" icon="el-icon-delete" @click="updateHead(row,0)" v-if="row.headStatus ==1 " v-permissions="['business:member:head']">取消主管</el-button>
                      <el-button type="text" :loading="heading"  icon="el-icon-edit" @click="updateHead(row,1)"  v-if="row.headStatus  == 0"  v-permissions="['business:member:head']">设为主管</el-button>
                        <el-button  type="text"  icon="el-icon-delete"   style="color: red" @click="empower(row.id)" v-permissions="['business:empower:delete']">删除</el-button>
            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息', row, department)"
              v-permissions="['business:empower:update']">编辑</el-button>
            <el-button type="text" icon="el-icon-plus" @click="empower(row.id)"
              v-permissions="['business:empower:create']">重新授权</el-button>
            <el-button type="text" :loading="heading" style="color: red" icon="el-icon-delete"
              @click="updateHead(row, 0)" v-if="row.headStatus == 1"
              v-permissions="['business:member:head']">取消主管</el-button>
            <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row, 1)"
              v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button>
            <el-button type="text" icon="el-icon-delete" style="color: red" @click="empower(row.id)"
              v-permissions="['business:empower:delete']">删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
            </pagination>
            <!--    查看人员开卡记录    -->
            <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" />
@@ -384,18 +382,28 @@
</script>
<style lang="scss" scoped>
@import '@/assets/style/variables.scss';
    .box {
        width: 100%;
        display: flex;
        align-items: center;
        .box_menu {
            width: 100px;
            height: 100%;
            flex-shrink: 0;
        }
        .box_tab {
            flex: 1;
            height: 100%;
        }
    }
.zhuguan {
  color: $primary-color;
  border: 1px solid $primary-color;
  padding: 0px 3px;
  border-radius: 4px;
  margin-left: 6px;
}
</style>
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -303,6 +303,9 @@
    @TableField(exist = false)
    private String platformName ;
    @ApiModelProperty(value = "WMS任务时间")
    @TableField(exist = false)
    private String ioCreatedate;
    @ApiModelProperty(value = "离场下发操作人名称", example = "1")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -12,10 +12,7 @@
import com.doumee.dao.business.PlatformShowParamMapper;
import com.doumee.dao.business.join.PlatformJobJoinMapper;
import com.doumee.dao.business.join.PlatformJoinMapper;
import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformGroup;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformShowParam;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.PlatformDataDTO;
import com.doumee.dao.web.response.PlatformGroupWorkVO;
import com.doumee.dao.web.response.PlatformWorkVO;
@@ -253,7 +250,10 @@
        }
        if(Constants.equalsInteger(platformDataDTO.getQueryData(),Constants.ONE)){
            //查询今天所有的任务数据
            List<PlatformJob> platformJobList =  platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
            List<PlatformJob> platformJobList =  platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
                            .selectAll(PlatformJob.class)
                            .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                            .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                    .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                            .in(PlatformJob::getStatus,
                                    Constants.PlatformJobStatus.WAIT_CALL.getKey(),
@@ -283,16 +283,20 @@
        PlatformWorkVO platformWorkVO = new PlatformWorkVO();
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
            //获取月台下的所有作业数据
            List<PlatformJob> platformJobs = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId()) || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
            List<PlatformJob> platformJobs = platformJobList.stream().filter(
                    i->Constants.equalsInteger(i.getPlatformId(),platform.getId())
                    || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
            ).collect(Collectors.toList());
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){
                platformWorkVO.setWorkNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
                );
                platformWorkVO.setCallNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                );
                platformWorkVO.setWaitNum(
                        platformJobs.stream().filter(i->
                                 Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                                ||  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -174,6 +174,7 @@
                .selectAs(PlatformGroup::getName,PlatformJob::getPlatformGroupName)
                .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                .selectAs(PlatformWmsJob::getIoCreatedate,PlatformJob::getIoCreatedate)
                .selectAs(SystemUser::getUsername,PlatformJob::getOutUserName)
                .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
@@ -916,7 +917,7 @@
        if(platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                .eq(PlatformJob::getPlatformId,platform.getId())
                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey(),Constants.PlatformJobStatus.WORKING.getKey())
        )>platform.getWorkingNum()){
        )>=platform.getWorkingNum()){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"超出月台可同时作业数量["+platform.getWorkingNum()+"辆]");
        };