server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -22,9 +22,10 @@ @Select(" select a.id , b.`NAME` as roomName , a.`NAME` as meetingName ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," + @Select(" select a.id , a.START_TIME , a.END_TIME , b.`NAME` as roomName , a.`NAME` as meetingName ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," + " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime, c.REALNAME as bookingUser ," + " CASE WHEN a.START_TIME > now() and a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() or a.`STATUS` = 1 THEN 3 ELSE 2 END meetingStatus , b.IMGURL as imgUrl " + " CASE WHEN a.START_TIME > now() and a.`STATUS` = 0 THEN 1 WHEN a.END_TIME < now() or a.`STATUS` = 1 THEN 3 ELSE 2 END meetingStatus , b.IMGURL as imgUrl ," + " a.remark " + " from meeting_book a inner join meeting_rooms b on a.ROOM_ID = b.ID " + " inner join system_user c on a.CREATOR = c.id " + " ${ew.customSqlSegment} ") @@ -32,7 +33,7 @@ @Select(" select a.id , 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.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() or a.`STATUS` = 1 THEN 3 ELSE 2 END meetingStatus ," + " a.CONTENT as meetingContent, c.MOBILE as bookingUserMobile , e.`NAME` as bookingUserDepartment , a.CREATOR as bookingUserId , a.remark " + server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingDetailResponse.java
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** @@ -35,6 +36,14 @@ @ApiModelProperty(value = "会议日期") private String meetingDate; @ApiModelProperty(value = "开始时间") private Date startTime; @ApiModelProperty(value = "结束时间") private Date endTime; @ApiModelProperty(value = "会议时间 ( a ~ b)") private String meetingTime; server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java
@@ -33,6 +33,8 @@ @ApiModelProperty(value = "会议时间 ( a ~ b)") private String meetingTime; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "会议开始时间",hidden = true) private Date startTime; server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -745,7 +745,7 @@ .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ) ") .eq("ISDELETED",MeetConstants.ZERO) // .eq("STATUS",MeetConstants.ZERO) .apply(" ROOM_ID in ( select r.id from rooms r where r.ISDELETED = 0 and r.STATUS = 0 )") .apply(" ROOM_ID in ( select r.id from meeting_rooms r where r.ISDELETED = 0 and r.STATUS = 0 )") .like(StringUtils.isNotBlank(dateMsg), "START_TIME", dateMsg)); } server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
@@ -79,8 +79,8 @@ @ExcelColumn(name="关联对象名称") private String objName; @ApiModelProperty(value = "类型") @ExcelColumn(name="类型") @ApiModelProperty(value = "类型 0访客审批 1访客报备 2用车审批 3隐患处理 4物流车审批 5系统系统") @ExcelColumn(name="类型 0访客审批 1访客报备 2用车审批 3隐患处理 4物流车审批 5系统系统") private Integer type; @ApiModelProperty(value = "类型描述") @@ -96,7 +96,7 @@ @ExcelColumn(name="关联参数2") private String param2; @ApiModelProperty(value = "关联参数3") @ApiModelProperty(value = "关联参数3",notes = "发起人") @ExcelColumn(name="关联参数3") private String param3; server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -7,10 +7,13 @@ import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.model.Visits; import com.doumee.dao.system.model.Notices; import com.doumee.service.business.MemberService; import com.doumee.service.business.VisitsService; import com.doumee.service.system.NoticesService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -31,6 +34,9 @@ @Autowired private VisitsService visitsService; @Autowired private NoticesService noticesService; @@ -63,4 +69,14 @@ return ApiResponse.success("操作成功"); } @ApiOperation("任务中心分页") @PostMapping("/taskPage") @RequiresPermissions("business:notices:query") public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<Notices> pageWrap) { pageWrap.getModel().setPalt(Constants.ZERO); return ApiResponse.success(noticesService.findPage(pageWrap)); } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/InternalHomeVO.java
@@ -13,4 +13,15 @@ private Integer taskNum; @ApiModelProperty(value = "待处理待办数量") private Long noticeWaitNum; @ApiModelProperty(value = "已处理待办数量") private Long noticeDealNum; @ApiModelProperty(value = "我发起的待办数量") private Integer noticeCreateNum; @ApiModelProperty(value = "抄送的待办数量") private Long noticeCopyNum; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -243,6 +243,36 @@ InternalHomeVO internalHomeVO = new InternalHomeVO(); internalHomeVO.setHomeImg(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HOME_IMAGE).getCode()); internalHomeVO.setTaskNum(approveMapper.selectCount(new QueryWrapper<Approve>().lambda().eq(Approve::getChekorId,memberId).eq(Approve::getStatus,Constants.ZERO))); //任务数据 List<Notices> noticesList = noticesJoinMapper.selectList(new QueryWrapper<Notices>().lambda().eq(Notices::getUserId,memberId).orderByDesc(Notices::getCreateDate)); if(CollectionUtils.isNotEmpty(noticesList)){ //待我处理的数据 internalHomeVO.setNoticeWaitNum( noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) &&Constants.equalsInteger(i.getStatus(),Constants.ZERO) &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) ).count() ); internalHomeVO.setNoticeDealNum( noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) &&Constants.equalsInteger(i.getStatus(),Constants.ONE) &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) ).count() ); internalHomeVO.setNoticeCreateNum( noticesJoinMapper.selectCount(new QueryWrapper<Notices>().lambda().eq(Notices::getParam3,memberId)) ); internalHomeVO.setNoticeCopyNum( noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) &&Constants.equalsInteger(i.getSendacopy(),Constants.ONE) ).count() ); } return internalHomeVO; } @@ -312,6 +342,27 @@ * @param approveList */ public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Integer businessId,List<Approve> approveList){ //创建默认人信息 Approve createUserApprove = new Approve(); createUserApprove.setRemark("发起申请"); createUserApprove.setCreateDate(new Date()); createUserApprove.setIsdeleted(Constants.ZERO); createUserApprove.setTemplatId(approveTempl.getId()); createUserApprove.setChekorId(createMember.getId()); createUserApprove.setStatus(Constants.approveStatus.pass); createUserApprove.setTitle("发起申请"); createUserApprove.setStatusInfo(""); createUserApprove.setIsEndCheck(Constants.ZERO); createUserApprove.setObjId(businessId); createUserApprove.setLevel(-1); createUserApprove.setObjType(approveTempl.getType()); createUserApprove.setApproveType(Constants.TWO); createUserApprove.setDriverParam(Constants.ZERO); createUserApprove.setAddrParam(Constants.ZERO); createUserApprove.setType(Constants.ZERO); approveList.add(createUserApprove); //审批业务数据 for (int i = 0; i < approveParamList.size(); i++) { ApproveParam approveParam = approveParamList.get(i); @@ -325,6 +376,24 @@ if(i==0){ if(jsonMap.isEmpty()){ title = this.createNoticesData(noticeType,businessId,title,jsonMap); } if(j==0){ //默认生成一条 申请人的数据 标记删除状态用于处理到 任务中心(我发起)使用 Notices notices = new Notices(); notices.setCreateDate(new Date()); notices.setIsdeleted(Constants.ONE); notices.setObjId(businessId); notices.setObjType(noticeType); notices.setType(noticeType); notices.setTitle(title); notices.setParam1(JSONObject.toJSONString(jsonMap)); notices.setStatus(Constants.ZERO); notices.setReaded(Constants.ZERO); notices.setSendacopy(Constants.ZERO); notices.setParam2("0"); notices.setParam3(createMember.getId().toString()); notices.setInfo("处理中"); noticesJoinMapper.insert(notices); } Notices notices = new Notices(); notices.setCreateDate(new Date()); @@ -340,6 +409,7 @@ notices.setReaded(Constants.ZERO); notices.setSendacopy(Constants.ZERO); notices.setParam2("0"); notices.setParam3(""); notices.setInfo("待处理"); noticesJoinMapper.insert(notices); } @@ -1053,6 +1123,7 @@ notices.setCreateDate(new Date()); notices.setEditDate(new Date()); notices.setParam2("2"); notices.setParam3(""); notices.setUserId(copyApprove.getChekorId()); notices.setStatus(Constants.ZERO); notices.setSendacopy(Constants.ONE); @@ -1089,6 +1160,7 @@ notices.setId(null); notices.setCreateDate(new Date()); notices.setParam2("0"); notices.setParam3(""); notices.setEditDate(new Date()); notices.setUserId(nextDealApprove.getChekorId()); notices.setStatus(Constants.ZERO); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -1,5 +1,6 @@ package com.doumee.service.business.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,6 +11,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.HiddenDangerLogMapper; import com.doumee.dao.business.HiddenDangerMapper; @@ -17,13 +19,17 @@ import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.join.NoticesJoinMapper; import com.doumee.dao.system.model.Multifile; import com.doumee.dao.system.model.Notices; import com.doumee.service.business.HiddenDangerLogService; import com.doumee.service.business.HiddenDangerService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.checkerframework.checker.units.qual.C; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -54,6 +60,9 @@ private HiddenDangerLogMapper hiddenDangerLogMapper; @Autowired private NoticesJoinMapper noticesJoinMapper; @Override public Integer create(HiddenDanger hiddenDanger) { if(Objects.isNull(hiddenDanger) @@ -73,6 +82,10 @@ HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId()); if(Objects.isNull(hiddenDangerParam)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患区域"); } HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(hiddenDanger.getCateId()); if(Objects.isNull(hiddenDangerCate)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型"); } hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId()); hiddenDanger.setAreaName(hiddenDangerParam.getName()); @@ -109,6 +122,46 @@ multifileMapper.insert(multifile); } } String title = "[隐患随手拍]提报人-"+hiddenDanger.getLoginUserInfo().getRealname(); //json数据 Map<String,Object> jsonMap = new HashMap<>(); jsonMap.put("name", "发现区域:" + hiddenDangerParam.getName()); jsonMap.put("name", "隐患类型:" + hiddenDangerCate.getName()); jsonMap.put("sTime", "发现时间:" + DateUtil.DateToStr(hiddenDanger.getSubmitTime() , "yyyy-MM-dd HH:mm")); //默认生成一条 申请人的数据 标记删除状态用于处理到 任务中心(我发起)使用 Notices createNotices = new Notices(); createNotices.setCreateDate(new Date()); createNotices.setIsdeleted(Constants.ONE); createNotices.setObjId(hiddenDanger.getId()); createNotices.setObjType(Constants.THREE); createNotices.setType(Constants.THREE); createNotices.setTitle(title); createNotices.setParam1(JSONObject.toJSONString(jsonMap)); createNotices.setStatus(Constants.ZERO); createNotices.setReaded(Constants.ZERO); createNotices.setSendacopy(Constants.ZERO); createNotices.setParam2("0"); createNotices.setParam3(hiddenDanger.getLoginUserInfo().getMemberId().toString()); createNotices.setInfo("处理中"); noticesJoinMapper.insert(createNotices); //存储处理人的通知消息 Notices notices = new Notices(); notices.setId(null); notices.setCreateDate(new Date()); notices.setIsdeleted(Constants.ZERO); notices.setTitle(title); notices.setParam1(JSONObject.toJSONString(jsonMap)); notices.setParam2("0"); notices.setObjId(hiddenDanger.getId()); notices.setObjType(Constants.THREE); notices.setType(Constants.THREE); notices.setEditDate(new Date()); notices.setUserId(hiddenDanger.getCheckUserId()); notices.setStatus(Constants.ZERO); notices.setSendacopy(Constants.ZERO); notices.setReaded(Constants.ZERO); noticesJoinMapper.insert(notices); return hiddenDanger.getId(); @@ -307,6 +360,17 @@ hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"隐患处理":"隐患退回"); hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); hiddenDangerLogMapper.insert(hiddenDangerLog); //处理待办信息 noticesJoinMapper.update(null,new UpdateWrapper<Notices>() .lambda() .set(Notices::getReaded,Constants.ONE) .set(Notices::getStatus,Constants.ONE) .set(Notices::getParam2,hiddenDanger.getStatus()) .eq(Notices::getObjId,hiddenDanger.getId()) .eq(Notices::getObjType,Constants.THREE) .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) ); } private void isParamValid(HiddenDanger hiddenDanger) { @@ -432,6 +496,26 @@ hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); hiddenDangerLog.setObjType(Constants.ONE); hiddenDangerLogMapper.insert(hiddenDangerLog); Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>() .lambda() .eq(Notices::getObjId,hiddenDanger.getId()) .eq(Notices::getObjType,Constants.THREE) .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) .last(" limit 1 ") ); if(Objects.nonNull(notices)){ Notices newNotices = new Notices(); BeanUtils.copyProperties(notices,newNotices); newNotices.setId(null); newNotices.setCreateDate(new Date()); newNotices.setParam2("3"); newNotices.setUserId(hiddenDanger.getCheckUserId()); noticesJoinMapper.insert(newNotices); notices.setStatus(Constants.ONE); notices.setEditDate(new Date()); notices.setReaded(Constants.ONE); noticesJoinMapper.updateById(notices); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1112,7 +1112,7 @@ queryWrapper.selectAll(Member.class) .selectAs(Company::getName,Member::getCompanyName) .eq(Member::getType,Constants.TWO) .exists("select d.id from car_driver b where b.isdeleted=0 and b.member_id=t.id"); .exists("select b.id from car_driver b where b.isdeleted=0 and b.member_id=t.id"); if(null != member.getType()) { queryWrapper.eq(Member::getType,member.getType());