jiangping
2024-10-16 24c767e8012d882f0aa8083d79503878c4647caf
Merge remote-tracking branch 'origin/master'
已修改35个文件
466 ■■■■■ 文件已修改
admin/src/api/platform/platform.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/base/BaseTable.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/MenuSelect.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/index.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/common/FileLink.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/selectMember.vue 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/LogisticsRecord/subscribe.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/set/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/platform/platform.js
@@ -51,3 +51,7 @@
    }
  })
}
// 查询可预约量
export function checkSurplusNum (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBooks/checkSurplusNum', data)
}
admin/src/components/base/BaseTable.vue
@@ -220,4 +220,4 @@
    }
  }
}
</script>
</script>
admin/src/components/common/MenuSelect.vue
@@ -12,7 +12,8 @@
<script>
import TreeSelect from './TreeSelect'
import { fetchTree, fetchTree1 } from '@/api/system/menu'
// import { fetchTree, fetchTree1 } from '@/api/system/menu'
import { fetchTree } from '@/api/system/menu'
export default {
  name: 'MenuSelect',
  components: { TreeSelect },
@@ -51,14 +52,14 @@
    // 获取所有菜单
    fetchData () {
      if (this.type === '1') {
        fetchTree1()
          .then(records => {
            this.data = []
            this.__fillData(this.data, records)
          })
          .catch(e => {
            this.$tip.apiFailed(e)
          })
        // fetchTree1()
        //   .then(records => {
        //     this.data = []
        //     this.__fillData(this.data, records)
        //   })
        //   .catch(e => {
        //     this.$tip.apiFailed(e)
        //   })
      } else {
        fetchTree()
          .then(records => {
admin/src/views/index.vue
@@ -89,21 +89,10 @@
                  <div class="echart" id="echart1"></div>
                </div>
                <div class="list">
                  <div class="item">
                    <div class="icon"></div>
                    <div class="text">访客</div>
                    <div class="num">{{ headerData.inParkVisitUserNum }}</div>
                  </div>
                  <div class="item">
                    <div :style="{ background: colors[0] }" class="icon"></div>
                    <div class="text">内部员工</div>
                    <div class="num">{{ headerData.todayInParkUserNum - headerData.inParkLwUserNum -
                      headerData.inParkVisitUserNum }}</div>
                  </div>
                  <div class="item">
                    <div :style="{ background: colors[1] }" class="icon"></div>
                    <div class="text">长期相关方</div>
                    <div class="num">{{ headerData.inParkLwUserNum }}</div>
                  <div class="item" v-for="item, i in manningRatio" :key="i">
                    <div :style="{ background: colors[i] }" class="icon"></div>
                    <div class="text">{{ item.name }}</div>
                    <div class="num">{{ item.value }}</div>
                  </div>
                </div>
              </div>
@@ -189,7 +178,7 @@
                <div class="btn" @click="departure(item.id)">离场</div>
              </div>
            </div>
          </div>
          </div>
          <div v-if="warningList.length == 0" class="empty">
            <img src="@/assets/images/default_nodata.png" alt="">
          </div>
@@ -243,6 +232,7 @@
      nowWeek: '',
      headerData: {},
      staticData: {},
      manningRatio: [],
      taskList: [],
      taskTotal: 0,
      warningList: [],
@@ -320,6 +310,12 @@
    getWorkHead() {
      getWorkbenchData({ queryType: 1 }).then(res => {
        this.headerData = res || {}
        let arr = []
        arr.push({ name: '访客', value: this.headerData.inParkVisitUserNum })
        arr.push({ name: '内部员工', value: this.headerData.todayInParkUserNum - this.headerData.inParkLwUserNum - this.headerData.inParkVisitUserNum })
        arr.push({ name: '长期相关方', value: this.headerData.inParkLwUserNum })
        arr.sort((a, b) => b.value - a.value)
        this.manningRatio = arr
        this.initEchart1()
      })
    },
@@ -340,7 +336,7 @@
      })
    },
    handleDetail (row) {
    handleDetail(row) {
      if (row.objType === 2) {
        this.$refs.OperaDetailsWindow.open('公务车申请详情', { ...row, id: row.objId })
        return
@@ -386,6 +382,9 @@
      let that = this
      const option = {
        tooltip: {
          trigger: 'item'
        },
        series: [
          {
            type: 'pie',
@@ -398,11 +397,12 @@
            labelLine: {
              show: false
            },
            data: [
              { value: that.headerData.inParkVisitUserNum, name: '访客' },
              { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '内部员工' },
              { value: that.headerData.inParkLwUserNum, name: '长期相关方' }
            ]
            data: that.manningRatio
            // data: [
            //   { value: that.headerData.inParkVisitUserNum, name: '访客' },
            //   { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '内部员工' },
            //   { value: that.headerData.inParkLwUserNum, name: '长期相关方' }
            // ]
          }
        ]
      }
@@ -929,19 +929,21 @@
        }
      }
    }
    .more{
    .more {
      cursor: pointer;
    }
    .empty {
        height: 300px;
        display: flex;
        justify-content: center;
        align-items: center;
        img {
          width: 140px;
        }
    .empty {
      height: 300px;
      display: flex;
      justify-content: center;
      align-items: center;
      img {
        width: 140px;
      }
    }
  }
  .static_wrap {
@@ -979,6 +981,7 @@
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        .echart_wrap {
          position: relative;
admin/src/views/meeting/components/common/FileLink.vue
@@ -21,7 +21,7 @@
</template>
<script>
import { fileType } from '@/utils/util';
// import { fileType } from '@/utils/util';
import FileLinkItem from './FileLinkItem.vue';
import PDFPreview from './PDFPreview'
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
@@ -52,12 +52,12 @@
  },
  computed: {
    // 图片地址
    srcList() {
      return this.links.filter(item => {
        let link = item[this.linkName]
        return fileType(link) == 1
      }).map(item => item[this.linkName])
    }
    // srcList() {
    //   return this.links.filter(item => {
    //     let link = item[this.linkName]
    //     return fileType(link) == 1
    //   }).map(item => item[this.linkName])
    // }
  },
  methods: {
    deleteFile(index) {
@@ -68,21 +68,21 @@
    },
    showFile(url) {
      debugger
      let type = fileType(url)
      switch (type) {
        case 1:
          this.tempIndex = this.srcList.findIndex(item => item == url)
          this.showViewer = true
          break;
        case 2:
          this.$refs.PDFPreview.open('', { url })
          break;
        case 3:
          window.open(url, '_blank')
          break;
        default:
          break;
      }
      // let type = fileType(url)
      // switch (type) {
      //   case 1:
      //     this.tempIndex = this.srcList.findIndex(item => item == url)
      //     this.showViewer = true
      //     break;
      //   case 2:
      //     this.$refs.PDFPreview.open('', { url })
      //     break;
      //   case 3:
      //     window.open(url, '_blank')
      //     break;
      //   default:
      //     break;
      // }
    },
    close() {
      this.showViewer = false
admin/src/views/meeting/components/selectMember.vue
@@ -51,7 +51,7 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import { findTreeUser } from '@/api/system/department'
// import { findTreeUser } from '@/api/system/department'
import { fetchList as userList } from '@/api/system/user'
export default {
  name: 'selectMember',
@@ -133,34 +133,34 @@
      } else {
        parentId = node.data.id
      }
      findTreeUser({parentId})
        .then(res => {
          // this.data = [res]
          if (!parentId) {
            resolve([res])
          } else {
            let resolveList = []
            if (res.userList) {
              res.userList.forEach(item => {
                let index = this.selectList.findIndex(sel => sel.id == item.id)
                resolveList.push({
                  ...item,
                  name: item.realname,
                  isUser: true,
                  isSelect: index !== -1
                })
              });
            }
            if (res.children) {
              res.children.forEach(item => {
                resolveList.push(item)
              })
            }
      // findTreeUser({parentId})
      //   .then(res => {
      //     // this.data = [res]
      //     if (!parentId) {
      //       resolve([res])
      //     } else {
      //       let resolveList = []
      //       if (res.userList) {
      //         res.userList.forEach(item => {
      //           let index = this.selectList.findIndex(sel => sel.id == item.id)
      //           resolveList.push({
      //             ...item,
      //             name: item.realname,
      //             isUser: true,
      //             isSelect: index !== -1
      //           })
      //         });
      //       }
      //       if (res.children) {
      //         res.children.forEach(item => {
      //           resolveList.push(item)
      //         })
      //       }
            resolve(resolveList)
          }
      //       resolve(resolveList)
      //     }
        })
      //   })
    },
    inputAction() {
      if (!this.filterText) {
admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -53,7 +53,7 @@
      <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px">
        <div class="param_title">运输信息</div>
        <el-form-item label="入园原因" prop="reasonId">
          <el-select v-model="param.reasonId" class="w300" placeholder="请选择">
          <el-select v-model="param.reasonId" @change="checkSurplus" class="w300" placeholder="请选择">
            <el-option v-for="item in reasonList" :key="item.id" :label="item.reason" :value="item.id">
            </el-option>
          </el-select>
@@ -62,7 +62,7 @@
          <el-input v-model="param.contractNum" class="w300" placeholder="请输入合同号"></el-input>
        </el-form-item>
        <el-form-item label="到场时间" prop="arriveDate">
          <el-date-picker v-model="param.arriveDate" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
          <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
            placeholder="请选择">
          </el-date-picker>
        </el-form-item>
@@ -73,7 +73,7 @@
          </div>
        </el-form-item>
        <el-form-item label="总运输量" prop="totalNum">
          <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="请输入" class="w300"></el-input>
          <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="请输入" class="w300"></el-input>
          <span class="ml10">万支</span>
        </el-form-item>
        <el-form-item label="准运证照片" prop="transportImg">
@@ -105,9 +105,11 @@
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api'
import { checkSurplusNum } from '@/api/platform/platform'
import DriverDetail from "@/views/task/driverDetail"
import GlobalWindow from '@/components/common/GlobalWindow'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
import { Message } from 'element-ui'
import dayjs from 'dayjs'
export default {
  components: {
@@ -203,6 +205,21 @@
    this.getList()
  },
  methods: {
    checkSurplus() {
      const { arriveDate, reasonId, totalNum } = this.param
      if(!arriveDate || !reasonId || !totalNum) return
      checkSurplusNum({
        arriveDate,
        reasonId,
        totalNum
      }).then(res => {
        console.log('res', res);
        if( res == 0 ||  res < Number(totalNum)){
          Message.error(`当日剩余可预约作业量${res}万支不足请选择其他到场日期`)
        }
      })
    },
    changeRadio (day) {
      const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
      this.$set(this.filters, 'selDate', arr)
admin/src/views/platform/index.vue
@@ -86,7 +86,7 @@
                <span>运输公司:</span>
                <span>{{ task.carrierName }}</span>
              </div>
              <div class="ite"></div>
              <!-- <div class="ite"></div> -->
            </div>
            <div class="line">
              <div class="left">
admin/src/views/platform/set/index.vue
@@ -162,7 +162,8 @@
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import GlobalWindow from '@/components/common/GlobalWindow'
import { getPlatform, PlatformEdit, PlatformDel } from '@/api'
// import { getPlatform, PlatformEdit, PlatformDel } from '@/api'
import { PlatformEdit, PlatformDel } from '@/api'
export default {
  components: {
    Pagination,
@@ -202,12 +203,12 @@
    getList (page) {
      const { filters, pagination } = this
      pagination.page = page || pagination.page
      getPlatform({
        model: { ...filters },
        ...pagination
      }).then(res => {
        this.dataList = res.records
      })
      // getPlatform({
      //   model: { ...filters },
      //   ...pagination
      // }).then(res => {
      //   this.dataList = res.records
      // })
    },
    handleDel (item) {
      this.$confirm('确定删除该月台吗, 是否继续?', '提示', {
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -122,7 +122,7 @@
    public static final String HK_NGINX_URL = "HK_NGINX_URL";
    public static final String PLATFORM_BOOKING_TIPS = "PLATFORM_BOOKING_TIPS";
    public static final String PLATFORM_GUIDEMAP = "PLATFORM_GUIDEMAP";
    public static final String WSM_PARAM ="WSM_PARAM" ;
    public static final String WMS_PARAM ="WMS_PARAM" ;
    public static final String WMS_INBOUND_PLATFROM_URL ="WMS_INBOUND_PLATFROM_URL" ;
    public static final String WMS_GET_INVENTORYLIST_URL ="WMS_GET_INVENTORYLIST_URL" ;
    public static final String WMS_OUTBOUND_PLATFROM_URL ="WMS_OUTBOUND_PLATFROM_URL" ;
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
@@ -75,7 +75,7 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    //@CloudRequiredPermission("business:carevent:query")
    @CloudRequiredPermission("business:carevent:query")
    public ApiResponse<PageData<CarEventDTO>> findPage (@RequestBody PageWrap<CarEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(carEventService.findVisitCarPage(pageWrap));
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
@@ -70,14 +70,14 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    //@CloudRequiredPermission("business:deviceevent:query")
    @CloudRequiredPermission("business:deviceevent:query")
    public ApiResponse<PageData<DeviceEventDTO>> findPage (@RequestBody PageWrap<DeviceEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(deviceEventService.findDeviceEventDTOPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    //@CloudRequiredPermission("business:deviceevent:exportExcel")
    @CloudRequiredPermission("business:deviceevent:exportExcel")
    public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        ExcelExporter.build(DeviceEventDTO.class).export(deviceEventService.findDeviceEventDTOPage(pageWrap).getRecords(), "门禁事件推送记录表", response);
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
@@ -69,14 +69,14 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    //@CloudRequiredPermission("business:retention:query")
    @CloudRequiredPermission("business:retention:query")
    public ApiResponse<PageData<Retention>> findPage (@RequestBody PageWrap<Retention> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(retentionService.findTrainTimePage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    //@CloudRequiredPermission("business:retention:exportExcel")
    @CloudRequiredPermission("business:retention:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Retention> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        ExcelExporter.build(Retention.class).export(retentionService.findTrainTimePage(pageWrap).getRecords(), "实时在场人员", response);
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -43,7 +43,7 @@
        String xkzx = "xkzx";//消控中心
        String ngzx = "ngzx";//能管中心
        String jsc = "jsc";//物业后勤
        String kqgl = "kqgl";//考勤管理
        String kqgzt = "kqgzt";//考勤管理
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1093,7 +1093,7 @@
        }else  if(Constants.equalsInteger(type,Constants.THREE)){
            menuId = HKConstants.MenuPageId.jsc;
        }else  if(Constants.equalsInteger(type,Constants.FOUR)){
            menuId = HKConstants.MenuPageId.kqgl;
            menuId = HKConstants.MenuPageId.kqgzt;
        }
        log.info("【海康获取工作台菜单免密登陆调整地址】================开始====menuId:"+menuId+"==token:"+token);
        try {
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -91,9 +91,13 @@
    @ApiModelProperty(value = "人员组织公司")
    @ExcelColumn(name="公司/部门",index = 9,width = 16)
    private String personCompanyName;
    @ApiModelProperty(value = "访客公司1")
    private String visitCompanyName;
    @ApiModelProperty(value = "组织类型:0=相关方;1=内部")
    private String companyType;
    @ApiModelProperty(value = "姓名")
    @ExcelColumn(name="姓名",index = 7,width = 16)
    private String personName;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -107,6 +107,9 @@
    @ExcelColumn(name="公司/组织",index = 4,width = 16)
    private String personCompanyName;
    @ApiModelProperty(value = "组织类型:0=相关方;1=内部")
    private String companyType;
    @ApiModelProperty(value = "手机号")
    @ExcelColumn(name="手机号",index = 3,width = 10)
    private String personPhone;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
@@ -250,10 +250,13 @@
    @ApiModelProperty(value = "小时 ")
    @TableField(exist = false)
    private Integer hour  ;
    @ApiModelProperty(value = "人员类型 0劳务访客 1普通访客  2员工")
    @ApiModelProperty(value = "人员类型 0相关方 1普通访客  2员工")
    @TableField(exist = false)
    private Integer memberType  ;
    @ApiModelProperty(value = "人员类型 0=相关方;1=访客人员;2=内部人员")
    @TableField(exist = false)
    private Integer  queryUserType;
    @ApiModelProperty(value = "访客公司名称")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -269,9 +269,15 @@
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "人员类型")
//    @ApiModelProperty(value = "人员类型 0=相关方;1=访客人员;2=内部人员")
//    @TableField(exist = false)
//    private Integer  personType;
    @ApiModelProperty(value = "人员类型 0=相关方;1=访客人员;2=内部人员")
    @TableField(exist = false)
    private String  personType;
    private Integer  queryUserType;
    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -388,6 +388,16 @@
    @TableField(exist = false)
    private Date beginWorkDateEnd;
    @ApiModelProperty(value = "完成作业时间起")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginDoneDateStart;
    @ApiModelProperty(value = "完成作业时间止")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginDoneDateEnd;
    @ApiModelProperty(value = "创建时间起")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -143,4 +143,11 @@
    @TableField(exist = false)
    private Integer num;
    @ApiModelProperty(value = "查询人员类型")
    @TableField(exist = false)
    private Integer queryUserType;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -1561,6 +1561,7 @@
            platformBooks.setStatus(approveDTO.getStatus());
            platformBooks.setEditDate(new Date());
            platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId());
            platformBooksMapper.updateById(platformBooks);
            if(Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)){
                PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId());
                if(Objects.isNull(platformReason)){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -328,8 +328,8 @@
                .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode)
                .selectAs(Member::getName,CarEventDTO::getPersonName)
                .selectAs(Member::getVisitCompanyName,CarEventDTO::getVisitCompanyName)
                .selectAs(Company::getName,CarEventDTO::getPersonCompanyName);
                .selectAs(Company::getName,CarEventDTO::getPersonCompanyName)
                .selectAs(Company::getType,CarEventDTO::getCompanyType);
        queryWrapper
                .like(StringUtils.isNotBlank(pageWrap.getModel().getPlateNos()),
                CarEvent::getPlateNos,
@@ -340,9 +340,18 @@
                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                        Company::getName,
                        pageWrap.getModel().getCompanyName())
                .eq( pageWrap.getModel().getMemberType()!=null,
                        Member::getType,
                        pageWrap.getModel().getMemberType())
                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
                        Company::getType, Constants.ZERO)
                .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
                        Member::getCompanyId)
                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
                        Company::getType, Constants.ONE)
                .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                        CarEvent::getEventType,
                        pageWrap.getModel().getEventType())
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -107,7 +107,7 @@
        carUseBook.setCreateDate(new Date());
        carUseBook.setIsdeleted(Constants.ZERO);
        Cars cars = carsMapper.selectById(carUseBook.getCarId());
        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){
        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ZERO)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"车辆信息异常");
        }
        carUseBook.setCarCode(cars.getCode());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -368,12 +368,24 @@
                .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
                .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
                .selectAs(Device::getName,DeviceEventDTO::getDevName)
                .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
                .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName)
                .selectAs(Company::getType,DeviceEventDTO::getCompanyType);
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->
                        w.like(Member::getName,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone,pageWrap.getModel().getKeyWords()))
                .eq(StringUtils.equals(pageWrap.getModel().getPersonType(),Constants.TWO+""),
                        Member::getType,
                        pageWrap.getModel().getPersonType())
                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
                        Company::getType, Constants.ZERO)
                .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
                        Member::getCompanyId)
                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
                        Company::getType, Constants.ONE)
                .eq(Member::getIsdeleted,Constants.ZERO)
                .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                        DeviceEvent::getEventType,
                        pageWrap.getModel().getEventType())
@@ -385,7 +397,7 @@
                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                        DeviceEvent::getCreateDate,
                        pageWrap.getModel().getEndTime())
                .isNull(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()) && !StringUtils.equals(pageWrap.getModel().getPersonType(),Constants.TWO+""),Member::getId)//除了内部人员都是外来访客
                .orderByDesc(DeviceEvent::getCreateDate);
        queryWrapper.orderByDesc(DeviceEvent::getHappenTime);
        IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -386,7 +386,7 @@
        QueryWrapper<DeviceRole> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id) as memberNum");
        queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id ) as memberNum");
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(DeviceRole::getId, pageWrap.getModel().getId());
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -108,6 +108,7 @@
        wrapper.select(Device::getId, Device::getName, Device::getDoorName,Device::getRegionPathName, Device::getRegionName);
        wrapper.eq(null != param.getType(),Device::getType,param.getType())
               .eq(null !=param.getIsdeleted(),Device::getIsdeleted,param.getIsdeleted())
               .eq(Objects.isNull(param.getIsdeleted()),Device::getIsdeleted,Constants.ZERO)
               .eq(null != param.getHkStatus(),Device::getHkStatus,param.getHkStatus());
        return deviceMapper.selectList(wrapper);
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
@@ -150,8 +150,10 @@
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
            for (HiddenDangerLog bean:hiddenDangerLogList) {
                if(StringUtils.isNotBlank(bean.getAvatar())){
                if(StringUtils.isNotBlank(bean.getAvatar() ) && bean.getAvatar().indexOf("HKIMG")<0 ){
                    bean.setAvatar(path + bean.getAvatar());
                }else{
                    bean.setAvatar(null);
                }
            }
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -209,10 +209,12 @@
        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
        insert.setHkStatus(Constants.ONE);
        insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别
        insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
        if(StringUtils.isNotBlank(member.getIdcardNo())){
            insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
            insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//身份证号加密
            insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo()));
        }
        insert.setPhone(member.getPhone());
        insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//身份证号加密
        insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo()));
        insert.setStatus(Constants.ZERO);
        return  insert;
    }
@@ -330,11 +332,13 @@
        if (StringUtils.isNotBlank(member.getIdcardNo()) && !IdcardUtil.isValidCard(member.getIdcardNo())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误");
        }
        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
                .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
                .eq(Member::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "身份证号【"+member.getIdcardNo()+"】已被使用,不能重复");
        if(StringUtils.isNotBlank(member.getIdcardNo())){
            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                    .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
                    .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "身份证号【"+member.getIdcardNo()+"】已被使用,不能重复");
            }
        }
        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                .eq(Member::getPhone,  member.getPhone())
@@ -502,16 +506,7 @@
        if (PhoneUtil.isPhone(member.getPhone())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"电话号码格式有误");
        }
        if (IdcardUtil.isValidCard(member.getIdcardNo())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误");
        }
        if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"性别有误");
        }
        //获取出生日期
        String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo());
        //脱敏操作
        String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14);
//
        //转换日期
        Member insert = new Member();
        insert.setCreator(loginUserInfo.getId());
@@ -524,11 +519,23 @@
        insert.setImgurl(member.getImgurl());
        insert.setType(Constants.ZERO);
        insert.setName(member.getName());
        insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard));
        insert.setPhone(member.getPhone());
        insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo()));
        IdcardUtil.isValidCard(member.getIdcardNo());
        insert.setIdcardDecode(hide);
        if(StringUtils.isNotBlank(member.getIdcardNo())){
            if (IdcardUtil.isValidCard(member.getIdcardNo())){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误");
            }
            if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"性别有误");
            }
            //获取出生日期
            String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo());
            insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard));
            insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo()));
            IdcardUtil.isValidCard(member.getIdcardNo());
            //脱敏操作
            String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14);
            insert.setIdcardDecode(hide);
        }
        insert.setStatus(Constants.ZERO);
        insert.setParentId(member.getParentId());
        memberMapper.insert(insert);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -191,10 +191,12 @@
                .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                .selectAs(PlatformWmsJob::getIoCreatedate,PlatformJob::getIoCreatedate)
                .selectAs(SystemUser::getRealname,PlatformJob::getOutUserName)
                .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
                .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getOutUserId)
                .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
                .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -275,11 +277,13 @@
                .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
                .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
                .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
                .le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()))
                .eq(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
                .ne(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
                .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -116,6 +116,7 @@
                .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                .ne(PlatformWaterGas::getId,platformWaterGas.getId())
                .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')")
                .eq(PlatformWaterGas::getType, platformWaterGas.getType())
                .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该年月数据已存在,请勿重新录入,可以尝试搜索后进行数据修改!");
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
@@ -108,7 +108,8 @@
                wmsJobContractVO.setPlatformWmsDetailList(
                        platformWmsDetailList.stream().filter(i->i.getIocode().equals(ioCode)).collect(Collectors.toList())
                );
                if(Objects.isNull(wmsJobContractVO.getLockStatus())&& com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){
                if(Objects.isNull(wmsJobContractVO.getLockStatus())&&
                        com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){
                    wmsJobContractVO.setLockStatus(
                            wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus()
                    );
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -262,6 +262,7 @@
        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getCompanyId);
        queryWrapper.selectAll(Retention.class)
                .selectAs(Company::getName,Retention::getCompanyName)
                .selectAs(Company::getType,Retention::getCompanyType)
                .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ");
        queryWrapper.eq(Retention::getIsdeleted,Constants.ZERO)
                .like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
@@ -269,6 +270,12 @@
                .eq(Objects.nonNull(pageWrap.getModel().getType()),
                        Retention::getType,
                        pageWrap.getModel().getType())
                .isNull(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
                       Retention::getCompanyId)
                .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
                        Company::getType,Constants.ZERO)
                .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
                        Company::getType,Constants.ONE)
                //过滤车辆数据
                .ne(Retention::getType,3)
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1506,7 +1506,7 @@
            //在园长期相关方人数
            pcWorkPlatformDataVO.setInParkLwUserNum(
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
            );
            pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO);
            pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO);
@@ -1569,17 +1569,6 @@
            pcWorkPlatformDataVO.setWeekVisitList(weekVisitList );
            pcWorkPlatformDataVO.setWeekCarList(weekCarList);
//            List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
//                    new MPJLambdaWrapper<Retention>()
//                            .selectAll(Retention.class)
//                            .selectAs(Company::getType,Retention::getCompanyType)
//                            .selectAs(Company::getName,Retention::getCompanyName)
//                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
//                            .eq(Company::getType,Constants.ZERO)
//                            .groupBy(Company::getId,Company::getName)
//                            .orderByDesc(Retention::getNum)
//            );
            List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
                    .eq(Company::getType,Constants.ZERO)
                    .eq(Company::getIsdeleted,Constants.ZERO)
@@ -1616,6 +1605,11 @@
            List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
            pcWorkPlatformDataVO.setNoticesList(noticesList);
            pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
            if(noticesList.size() > 5 ){
                pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
            }else{
                pcWorkPlatformDataVO.setNoticesList(noticesList);
            }
        }else{
            String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
            MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
@@ -1646,8 +1640,14 @@
                    }
                });
            }
            pcWorkPlatformDataVO.setTimeOutVisitList(result);
            pcWorkPlatformDataVO.setTimeOutVisitNum(result.size());
            if(result.size() > 3 ){
                pcWorkPlatformDataVO.setTimeOutVisitList(result.subList(0,3));
            }else{
                pcWorkPlatformDataVO.setTimeOutVisitList(result);
            }
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -7,12 +7,15 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.utils.SmsConstants;
import com.doumee.core.wms.model.request.*;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.impl.SmsEmailServiceImpl;
import com.doumee.service.business.third.EmayService;
import com.doumee.service.business.third.WmsService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
@@ -47,7 +50,12 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private WmsInterfaceLogMapper wmsInterfaceLogMapper;
    @Autowired
    private SmsConfigMapper smsConfigMapper;
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private EmayService emayService;
    /**
     * 入库通知任务业务处理
     * @param job 参数
@@ -77,13 +85,18 @@
         o.setCarrierBillCode(job.getBillCode());
         o.setRailwayNo(job.getPlatformWmsCode());
         param.getData().add(o);
         String url = type == 0?systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
         String name = type ==0?"【WMS】入庫作业单分配月台":"【WMS】出库作业的分配月台";
         String url = type == 0?systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():
                 systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
         String name = type ==0?"【WMS】入库作业单分配月台":"【WMS】出库作业的分配月台";
         WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){});
         PlatformJob update = new PlatformJob();
         update.setId(job.getId());
         update.setWmsSendDate(new Date());
         update.setWmsSendNum(job.getWmsSendNum() + 1);
         if(Objects.isNull(job.getWmsSendNum())){
             job.setWmsSendNum(1);
         }else{
             update.setWmsSendNum(job.getWmsSendNum() + 1);
         }
         update.setWmsSendPlatformCode(job.getPlatformWmsCode());
         if(response!=null && response.getData() !=null
                && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
@@ -105,7 +118,7 @@
     */
    @Override
    public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){
         String url =  systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
         String url =  systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
         String name = "【WMS】库存查询" ;
         WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){});
        if(response!=null
@@ -274,9 +287,17 @@
        return returnSuccessReuslt(null);
    }
    private void startEndNoticeToDriver(List<PlatformJob> jobList) {
        for(PlatformJob job : jobList){
            //-----TODO-----------任康,发送司机公众号和短信通知
            //-----TODO-----------任康,发送司机公众号和
            //短信通知
            if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())){
                SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
                        emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,job.getId(),
                        SmsConstants.platformJobContent.platformJobNewJob,null,null
                );
            }
        }
    }
@@ -313,6 +334,9 @@
            if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
                //如果车辆在园
                job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//在园无作业状态,则自动【已签到】处理
                job.setArriveDate(new Date());
                job.setSingType(Constants.TWO);
                job.setSignDate(new Date());
            }
        }
        PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()