springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/GridEventStatisticsVO.java
@@ -34,4 +34,10 @@ @ApiModelProperty("实有房屋总数") private Integer houseTotal = 0; @ApiModelProperty("走访任务当日完成数量") private Integer zfTodayNum = 0; @ApiModelProperty("走访任务当月完成数量") private Integer zfMonthNum = 0; } springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/UserApi.java
@@ -84,6 +84,7 @@ } if(StringUtils.isNotEmpty(userInfoAppDTO.getNickName())){ loginUserInfo.setNickName(userInfoAppDTO.getNickName()); loginUserInfo.setName(userInfoAppDTO.getNickName()); loginUserInfo.setImageUrl(null); } return userService.putUser(loginUserInfo); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActMicroWishDAO.java
@@ -71,7 +71,7 @@ "AND w.`status` = #{comActMicroWishVO.status} " + " </if> " + "<if test='comActMicroWishVO.status == 3 and comActMicroWishVO.isPageMyWish==null'>" + "AND ( w.`status` = 3 or w.`status` = 5 ) " + "AND w.`status` = 3 " + " </if> " + "<if test='comActMicroWishVO.status != null and comActMicroWishVO.status!=0 and comActMicroWishVO.isPageMyWish!=null and comActMicroWishVO.status==1'>" + "AND w.`status` =1 " + springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridMemberWarnLogServiceImpl.java
@@ -137,51 +137,42 @@ .lambda().eq(EventGridMemberGpsLogDO::getPositionStation,EventGridMemberGpsLogDO.positionStation.no)); if(!memberGpsLogDOS.isEmpty()){ memberGpsLogDOS.forEach(memberGpsLog -> { //取出经纬度信息 if(StringUtils.isNotEmpty(memberGpsLog.getLngLat())){ String []lngLat = memberGpsLog.getLngLat().split(","); Double lat = Double.valueOf(lngLat[0]); Double lng = Double.valueOf(lngLat[1]); //遍历所有网格信息匹配网格员的坐标点是否在网格内 Boolean isOk = true; Integer workStatus = 2; for (EventGridDataDO gridData:gridDataDOList) { if(StringUtils.isNotEmpty(gridData.getData())){ List<LatLngVO> latLngList = LngLatUtils.getLatLngFromText(gridData.getData()); if(LngLatUtils.isInPolygon(latLngList,lng,lat)){//匹配通过 isOk = false; memberGpsLog.setGridId(gridData.getId()); memberGpsLog.setGridCommunityId(gridData.getGridCommunityId()); memberGpsLog.setGridStreetId(gridData.getGridStreetId()); memberGpsLog.setGridName(gridData.getGridName()); Integer workStatus = 0; //判断当前网格员与此网格是否有关系 Integer count = eventGridMemberRelationMapper.selectCount(new QueryWrapper<EventGridMemberRelationDO>() .lambda().eq(EventGridMemberRelationDO::getGridMemberId,memberGpsLog.getGridMemberId()) .eq(EventGridMemberRelationDO::getGridId,memberGpsLog.getGridId())); if(count > 0){ //有关系说明此网格员未脱岗 memberGpsLog.setPositionStation(EventGridMemberGpsLogDO.positionStation.normal); isOk = false; workStatus = 1; }else{ //没关系说明此网格员脱岗了,需要添加预警信息 memberGpsLog.setPositionStation(EventGridMemberGpsLogDO.positionStation.abnormal); workStatus = 2; //新增网格员预警信息 EventGridMemberWarnLogDO memberWarnLogDO = new EventGridMemberWarnLogDO(); BeanUtils.copyProperties(memberGpsLog,memberWarnLogDO); memberWarnLogDO.setId(null); memberWarnLogDO.setContent("工作时间未在网格内预警"); memberWarnLogDO.setHappenAt(memberGpsLog.getCreateAt()); this.baseMapper.insert(memberWarnLogDO); } memberGpsLog.setGridId(gridData.getId()); memberGpsLog.setGridCommunityId(gridData.getGridCommunityId()); memberGpsLog.setGridStreetId(gridData.getGridStreetId()); memberGpsLog.setGridName(gridData.getGridName()); memberGpsLog.setPositionStation(EventGridMemberGpsLogDO.positionStation.normal); eventGridMemberGpsLogMapper.updateById(memberGpsLog); //修改用户工作状态 this.baseMapper.setUserWorkStatus(memberGpsLog.getGridMemberId(),workStatus); }else{ break; } } } } if(isOk){//此网格员脱岗 memberGpsLog.setPositionStation(EventGridMemberGpsLogDO.positionStation.abnormal); workStatus = 2; //新增网格员预警信息 EventGridMemberWarnLogDO memberWarnLogDO = new EventGridMemberWarnLogDO(); BeanUtils.copyProperties(memberGpsLog,memberWarnLogDO); @@ -192,19 +183,7 @@ eventGridMemberGpsLogMapper.updateById(memberGpsLog); //修改用户工作状态 this.baseMapper.setUserWorkStatus(memberGpsLog.getGridMemberId(),2); } } } //判断这个网格员的点是否能匹配上所有的网格 if(isOk){ //新增网格员预警信息 EventGridMemberWarnLogDO memberWarnLogDO = new EventGridMemberWarnLogDO(); BeanUtils.copyProperties(memberGpsLog,memberWarnLogDO); memberWarnLogDO.setId(null); memberWarnLogDO.setContent("工作时间未在网格内预警"); memberWarnLogDO.setHappenAt(memberGpsLog.getCreateAt()); this.baseMapper.insert(memberWarnLogDO); this.baseMapper.setUserWorkStatus(memberGpsLog.getGridMemberId(),workStatus); } } }); springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1923,7 +1923,12 @@ */ @Override public R getGridEventStatisticsByApp(Long gridId){ return R.ok(this.baseMapper.getGridEventStatisticsByApp(gridId)); GridEventStatisticsVO result = this.baseMapper.getGridEventStatisticsByApp(gridId); if(result != null){ result.setTodayNum(result.getTodayNum() + result.getZfTodayNum()); result.setMonthNum(result.getMonthNum() + result.getZfMonthNum()); } return R.ok(result); } /** springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -598,7 +598,10 @@ AND grid_id = #{gridId} </if> ) AS todayEducationNum, ( SELECT count( id ) FROM `event` WHERE event_category = 2 AND event_status = 2 ) AS educationNum, ( SELECT count( id ) FROM `event` WHERE event_category = 2 AND event_status = 2 <if test="gridId!=null"> AND grid_id = #{gridId} </if>) AS educationNum, ( SELECT count( id ) @@ -615,7 +618,10 @@ AND grid_id = #{gridId} </if> ) AS todaySpecialTotal, ( SELECT count( id ) FROM `event` WHERE event_category = 1 AND event_type = 6 AND event_status = 2 AND event_process_status = 2 ) AS specialTotal, ( SELECT count( id ) FROM `event` WHERE event_category = 1 AND event_type = 6 AND event_status = 2 AND event_process_status = 2 <if test="gridId!=null"> AND grid_id = #{gridId} </if>) AS specialTotal, ( SELECT count( cmph.id ) @@ -626,7 +632,31 @@ <if test="gridId!=null"> egd.id = #{gridId} </if> ) AS houseTotal ) AS houseTotal, ( SELECT count( id ) FROM event_visiting_tasks WHERE event_status = 2 AND submit_date BETWEEN DATE_FORMAT( CURDATE(), '%Y-%m-%d %H:%i:%s' ) AND NOW() <if test="gridId!=null"> AND grid_id = #{gridId} </if> ) as zfTodayNum, ( SELECT count( id ) FROM event_visiting_tasks WHERE event_status = 2 AND submit_date BETWEEN DATE_FORMAT( DATE_ADD( curdate(), INTERVAL - DAY ( curdate())+ 1 DAY ), '%Y-%m-%d %H:%i:%s' ) AND NOW() <if test="gridId!=null"> AND grid_id = #{gridId} </if> ) as zfMonthNum FROM `event` WHERE @@ -892,7 +922,7 @@ </select> <select id="getUserBaseInfo" parameterType="java.lang.Long" resultType="java.util.Map"> select name,image_url from sys_user where user_id = #{gridMemberId} select nick_name,image_url from sys_user where user_id = #{gridMemberId} </select> <select id="getScreenEventList" parameterType="com.panzhihua.common.model.dtos.community.bigscreen.event.ScreenEventListDTO"