jiangping
2025-03-05 2162e93732df17ce5b59e0fb4146c6f3248107a9
最新版本541200007
已添加1个文件
已修改11个文件
173 ■■■■ 文件已修改
admin/src/api/platform/platform.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/LogisticsRecord/subscribe.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/VisitEventCountVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/platform/platform.js
@@ -42,6 +42,10 @@
export function deleteById (id) {
  return request.get(`/visitsAdmin/cloudService/business/platform/delete/${id}`)
}
// åˆ é™¤
export function deletebooksById (id) {
  return request.get(`/visitsAdmin/cloudService/business/platformBooks/delete/${id}`)
}
// æ‰¹é‡åˆ é™¤
export function deleteByIdInBatch (ids) {
@@ -54,4 +58,4 @@
// æŸ¥è¯¢å¯é¢„约量
export function checkSurplusNum (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBooks/checkSurplusNum', data)
}
}
admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -106,8 +106,8 @@
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 { checkSurplusNum, deletebooksById } 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'
@@ -120,7 +120,7 @@
    GlobalWindow,
    UploadAvatarImage
  },
  data() {
  data () {
    return {
      isShowDriver: false,
      exLoading: false,
@@ -153,7 +153,7 @@
        reasonId: [{ required: true, message: '请选择', trigger: 'blur' }],
        arriveDate: [{ required: true, message: '请选择', trigger: 'blur' }],
        inType: [{ required: true, message: '请选择', trigger: 'blur' }],
        driverName: [{ required: true, message: '请选择', trigger: 'blur' }],
        driverName: [{ required: true, message: '请选择', trigger: 'blur' }]
      },
      queryFormConfig: {
        formItems: [
@@ -181,7 +181,7 @@
              { value: 1, label: '审批中' },
              { value: 2, label: '审批通过' },
              { value: 3, label: '审批驳回' },
              { value: 4, label: '已取消' },
              { value: 4, label: '已取消' }
            ]
          },
          {
@@ -200,12 +200,12 @@
      }
    }
  },
  created() {
  created () {
    this.changeRadio('0')
    this.getList()
  },
  methods: {
    checkSurplus() {
    checkSurplus () {
      const { arriveDate, reasonId, totalNum } = this.param
      if (!arriveDate || !reasonId || !totalNum) return
      checkSurplusNum({
@@ -220,28 +220,28 @@
        }
      })
    },
    changeRadio(day) {
    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)
      this.getList()
    },
    changeForm(str) {
    changeForm (str) {
      if (str === 'selDate') {
        this.$set(this.filters, 'fastdate', null)
        this.getList()
      }
    },
    getList(page) {
    getList (page) {
      const { pagination, filters } = this
      this.loading = true
      platformBooksPage({
        model: {
          ...filters,
          arriveDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
          arriveDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
          arriveDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null
        },
        capacity: pagination.pageSize,
        page: page || pagination.page,
        page: page || pagination.page
      }).then(res => {
        this.loading = false
        this.list = res.records || []
@@ -253,7 +253,7 @@
        this.loading = false
      })
    },
    handleEx() {
    handleEx () {
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
          const { filters } = this
@@ -264,8 +264,8 @@
            model: {
              ...filters,
              arriveDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
              arriveDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
            },
              arriveDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null
            }
          })
            .then(response => {
              this.download(response)
@@ -278,8 +278,8 @@
            })
        })
    },
    onSubmit() {
      this.$refs['ruleForm'].validate((valid) => {
    onSubmit () {
      this.$refs.ruleForm.validate((valid) => {
        const param = this.param
        param.inReason = this.reasonList.find(item => param.reasonId == item.id).reason
        if (valid) {
@@ -294,42 +294,42 @@
        }
      })
    },
    uploadSuccess(file) {
    uploadSuccess (file) {
      this.$set(this.param, 'transportImg', file.imgurl)
      this.$set(this.param, 'transportImgFull', file.imgurlfull)
    },
    handleEdit(row) {
    handleEdit (row) {
      this.isShowEdit = true
      this.param = {
        inType: 0
      }
      this.$nextTick(() => {
        this.$refs['ruleForm'].clearValidate()
        this.$refs.ruleForm.clearValidate()
      })
      this.$set(this.param, 'arriveDate', dayjs().format('YYYY-MM-DD HH:mm:ss'))
      this.getplatformReason()
    },
    getplatformReason() {
    getplatformReason () {
      platformReasonList().then(res => {
        this.reasonList = res || []
      })
    },
    handleSub() {
    handleSub () {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          alert('submit!')
        }
      })
    },
    clear() {
    clear () {
      this.pagination.page = 1
      this.filters = {
        selDate: [],
        selDate: []
      }
      this.getList()
      // this.changeRadio('0')
    },
    handleDetail(row) {
    handleDetail (row) {
      this.isShowDriver = true
      this.$nextTick(() => {
        this.$refs.DriverDetailRef.id = row.id
@@ -338,8 +338,22 @@
        this.$refs.DriverDetailRef.isShowModal = true
      })
    },
    handleDel() { },
    handleSizeChange(capacity) {
    handleDel (row) {
      this.$confirm('确定删除该记录吗, æ˜¯å¦ç»§ç»­?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deletebooksById(row.id)
          .then(res => {
            this.$message.success('操作成功')
            this.page = 1
            this.getList()
          })
      }).catch(() => {
      })
    },
    handleSizeChange (capacity) {
      this.pagination.pageSize = capacity
      this.getList()
    }
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -49,7 +49,7 @@
            " ${ew.customSqlSegment} ")
    List<MeetingListResponse> meetingList(@Param(Constants.WRAPPER) Wrapper wrapper);
    @Select(" select a.id , a.START_TIME , a.END_TIME , b.id as roomId,  b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Yå¹´%m月%d日') as meetingDate ," +
    @Select(" select a.id ,a.ISDELETED, a.START_TIME , a.END_TIME , b.id as roomId,  b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Yå¹´%m月%d日') as meetingDate ," +
            " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUserName ," +
            //"  CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN a.END_TIME < now() AND a.`STATUS` = 0  THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            "  CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN (  a.status = 2   ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
@@ -58,7 +58,7 @@
            " left join system_user c on a.CREATOR = c.id " +
            " left join system_department_user d on c.id = d.USER_ID " +
            " left JOIN system_department e on d.DEPARTMENT_ID = e.ID   " +
            "  where a.id = #{id} ")
            "  where a.id = #{id} and a.isdeleted=0")
    MeetingDetailResponse meetingDetail(@Param("id") Integer id);
@@ -102,7 +102,7 @@
            "SUM( CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60),DECIMAL(5,1))) c\n" +
            "FROM meeting_book b\n" +
            "LEFT JOIN meeting_rooms r ON r.ID = b.ROOM_ID \n" +
            "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) \n" +
            "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) and b.isdeleted=0\n" +
            "GROUP BY b.ROOM_ID , DATE_FORMAT(b.START_TIME,'%m')\n" +
            ") t) t1 GROUP BY t1.name")
    List<RoomStatisticsVo> getRoomStatistics(@Param("yearNum") Integer yearNum);
@@ -149,7 +149,7 @@
            "meeting_user_rel ur\n" +
            "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" +
            "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" +
            "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2)" +
            "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) and b.isdeleted=0" +
            "<if test='userId != null'>"+
            "and ur.USER_ID = #{userId}\n" +
            "</if>"+
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -107,7 +107,6 @@
    @ApiModelProperty(value = "提前开始时间")
    private Date startTimeReal;
    @ApiModelProperty(value = "是否发送参会人通知:0=通知;1=不通知")
    private Integer joinNotice;
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java
@@ -23,6 +23,8 @@
    @ApiModelProperty(value = "主键")
    private Integer id;
    @ApiModelProperty(value = "是否已删除")
    private Integer isdeleted;
    @ApiModelProperty(value = "会议名称")
    private String meetingName;
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1091,7 +1091,8 @@
    @Override
    public MeetingDetailResponse getMeetingDetail(Integer id,Integer sysUserId) {
        MeetingDetailResponse meetingDetailResponse = bookingsMapper.meetingDetail(id);
        if (Objects.isNull(meetingDetailResponse)) {
        if (Objects.isNull(meetingDetailResponse)
                || Constants.equalsInteger(meetingDetailResponse.getIsdeleted(),Constants.ONE) ) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "未查询到会议详情");
        }
        //预约人
@@ -1184,6 +1185,7 @@
    public Integer reservationMeeting(BookingsRequest bookingsRequest) {
        Bookings bookings = new Bookings();
        BeanUtils.copyProperties(bookingsRequest, bookings);
        bookings.setJoinNotice(bookingsRequest.getJoinNotice());
        if (Objects.isNull(bookingsRequest.getId())) {
            this.create(bookings);
            return bookings.getId();
@@ -1579,7 +1581,7 @@
                            .replace("{会议主题}",StringUtils.defaultString(bookings.getName(),""))
                            .replace("{会议室名称}",StringUtils.defaultString(bookings.getRoomName(),""))
                            .replace("{会议时间段}",StringUtils.defaultString(timeInfo,""))
                            .replace("{会议备注}",StringUtils.defaultString(smsEmail.getRemark(),"")));
                            .replace("{会议备注}",StringUtils.defaultString(bookings.getRemark(),"")));
                    smsEmailList.add(smsEmail);
                }
            }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java
@@ -4,6 +4,7 @@
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.dao.business.vo.VisitEventCountVO;
import com.doumee.service.business.third.model.ApiResponse;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -87,4 +88,10 @@
    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(visitEventService.findById(id));
    }
    @ApiOperation("查询指定之间范围内的统计数据(人次和人数)")
    @PostMapping("/countNum")
    @CloudRequiredPermission("business:visitevent:query")
    public ApiResponse<VisitEventCountVO> countNum(@RequestBody VisitEvent model, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(visitEventService.countNum(model));
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/VisitEventCountVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.doumee.dao.business.vo;
import com.doumee.dao.business.model.Approve;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
 *
 * @create 2024/5/23 14:56
 */
@Data
public class VisitEventCountVO {
    @ApiModelProperty(value = "人次")
    private Long eventNum;
    @ApiModelProperty(value = "人数")
    private Long visitorNum;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business;
import com.doumee.dao.business.vo.VisitEventCountVO;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.dao.business.model.VisitEvent;
@@ -112,4 +113,6 @@
     * @return PageData<VisitEventVo>
     */
    List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap);
    VisitEventCountVO countNum(VisitEvent model);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -330,7 +330,8 @@
        queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
        queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
                    .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
                    .leftJoin("company t4 on t1.company_id=t4.id");   //数据权限开始--------------------start----------------
                    .leftJoin("company t4 on t1.company_id=t4.id");
        //数据权限开始--------------------start----------------
        LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
        if(userInfo!=null && userInfo.getCompanyIdList()!=null){
            if( userInfo.getCompanyIdList().size() ==0){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -132,12 +132,14 @@
                .set(PlatformBooks::getEditDate,date)
                .set(PlatformBooks::getEditor,user.getId())
                .eq(PlatformBooks::getId,id));
        platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
                .set(PlatformJob::getIsdeleted,Constants.ONE)
                .set(PlatformJob::getEditDate,new Date())
                .set(PlatformJob::getEditor,user.getId())
                .eq(PlatformJob::getBookId,id)
                .eq(PlatformJob::getIsdeleted,Constants.ZERO));
        if(model.getJobId()!=null){
            platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
                    .set(PlatformJob::getIsdeleted,Constants.ONE)
                    .set(PlatformJob::getEditDate,new Date())
                    .set(PlatformJob::getEditor,user.getId())
                    .eq(PlatformJob::getPlatformId,model.getJobId())
                    .eq(PlatformJob::getIsdeleted,Constants.ZERO));
        }
        String[] params = new String[3];
        params[0] = user.getRealname();
        params[1]=DateUtil.getPlusTime2(date);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ReUtil;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.dao.business.vo.VisitEventCountVO;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -242,7 +243,35 @@
        }
        return PageData.from(visitEventDTOIPage);
    }
    @Override
    public VisitEventCountVO countNum(VisitEvent model){
        VisitEventCountVO data = new VisitEventCountVO();
        data.setEventNum(0l);
        data.setVisitorNum(0l);
        Long count = visitEventJoinMapper.selectCount(new QueryWrapper<VisitEvent>().lambda()
                .ge(StringUtils.isNotBlank(model.getStartTime()), VisitEvent::getCreateDate, model.getStartTime())
                .le(StringUtils.isNotBlank(model.getEndTime()), VisitEvent::getCreateDate,model.getEndTime())
                .eq(VisitEvent::getInOrOut,Constants.ZERO)
                .isNotNull(VisitEvent::getVisitorId)
                .eq(VisitEvent::getEventType,HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS)
                );
        if(count!=null){
            data.setEventNum(count);
        }
        Long count1 = visitEventJoinMapper.selectCount(new QueryWrapper<VisitEvent>().lambda()
                .ge(StringUtils.isNotBlank(model.getStartTime()),VisitEvent::getCreateDate, model.getStartTime())
                .le(StringUtils.isNotBlank(model.getEndTime()), VisitEvent::getCreateDate,model.getEndTime())
                .eq( VisitEvent::getInOrOut,Constants.ZERO)
                .eq( VisitEvent::getInOrOut,Constants.ZERO)
                .isNotNull(VisitEvent::getVisitorId)
                .eq( VisitEvent::getEventType,HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS)
                .groupBy(VisitEvent::getVisitorId)
                );
        if(count1!=null){
            data.setVisitorNum(count);
        }
        return data;
    }
    @Override
    public List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap) {
        IPage<VisitEvent> visitEventExcel = getDataInfo(pageWrap);