springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActNeighborCircleDAO.java
@@ -6,6 +6,7 @@ import com.panzhihua.common.model.dtos.PageBaseDTO; import com.panzhihua.common.model.vos.community.StatisticsCommVO; import com.panzhihua.common.model.vos.neighbor.*; import com.panzhihua.service_community.entity.NewFightNeedProblemClaim; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -212,4 +213,14 @@ * @return */ List<ServiceDetailStaticsVO> selectServiceDetailListForPersonal(@Param("checkUnitId") Long checkUnitId, @Param("phone") String phone, @Param("date") String date, @Param("serviceType") Integer serviceType); /** * 根据手机好查询用户完成清单任务 * @param phone * @return */ List<NewFightNeedProblemClaim> getNewServiceNum(@Param("phone") String phone,@Param("unitId") String unitId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -1134,12 +1134,51 @@ @Override public R serviceStatic(ServiceStaticDTO serviceStaticDTO) { ServiceStaticsVO serviceStaticsVO = new ServiceStaticsVO(); if (serviceStaticDTO.getCheckUnitId() != null) { if (serviceStaticDTO.getCheckUnitId() != null) { //单位服务统计 serviceStaticsVO = this.baseMapper.selectStatsCheckUnit(serviceStaticDTO.getCheckUnitId(), serviceStaticDTO.getYear()); serviceStaticsVO.setServiceDetailStaticsList(this.baseMapper.selectServiceDetailList(serviceStaticDTO.getCheckUnitId(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType())); } else { List<ServiceDetailStaticsVO> serviceDetailStaticsVOList=this.baseMapper.selectServiceDetailList(serviceStaticDTO.getCheckUnitId(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType()); List<NewFightNeedProblemClaim> list=baseMapper.getNewServiceNum("",serviceStaticDTO.getCheckUnitId()+""); if(list.size()>0) { //设置次数 int timeNum=serviceStaticsVO.getTimes()+list.size(); serviceStaticsVO.setTimes(timeNum); //设置服务时间 int hours=serviceStaticsVO.getHours(); for (NewFightNeedProblemClaim item:list) { ServiceDetailStaticsVO newItem=new ServiceDetailStaticsVO(); String Ltime=item.getServiceTime(); if(!StringUtils.isEmpty(Ltime)) { int time=(int)(Long.valueOf(Ltime)/3600000); newItem.setServiceTime(time); hours=hours+(time); item.setServiceTime(time+""); } newItem.setServiceId(Long.valueOf(item.getTaskId())); newItem.setServiceType(1); newItem.setServiceAt(item.getCreationTime()); serviceDetailStaticsVOList.add(newItem); } serviceStaticsVO.setHours(hours); } serviceStaticsVO.setServiceDetailStaticsList(serviceDetailStaticsVOList); } else { //个人服务统计 serviceStaticsVO = this.baseMapper.selectStatsUser(serviceStaticDTO.getPhone(), serviceStaticDTO.getYear()); ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() .eq(ComPbMemberDO::getPhone, serviceStaticDTO.getPhone()).last("limit 1")); @@ -1147,8 +1186,40 @@ if (comPbMemberDO != null) { checkUnitId = comPbMemberDO.getCheckUnitId(); } serviceStaticsVO.setServiceDetailStaticsList(this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType())); List<ServiceDetailStaticsVO> serviceDetailStaticsVOList=this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType()); //获取新需求服务列表 List<NewFightNeedProblemClaim> list=baseMapper.getNewServiceNum(serviceStaticDTO.getPhone(),""); if(list.size()>0) { //设置次数 int timeNum=serviceStaticsVO.getTimes()+list.size(); //设置服务时间 int hours=serviceStaticsVO.getHours(); serviceStaticsVO.setTimes(timeNum); for (NewFightNeedProblemClaim item:list) { ServiceDetailStaticsVO newItem=new ServiceDetailStaticsVO(); String Ltime=item.getServiceTime(); if(!StringUtils.isEmpty(Ltime)) { int time=(int)(Long.valueOf(Ltime)/3600000); newItem.setServiceTime(time); hours=hours+(time); item.setServiceTime(time+""); } newItem.setServiceId(Long.valueOf(item.getTaskId())); newItem.setServiceType(1); newItem.setServiceAt(item.getCreationTime()); serviceDetailStaticsVOList.add(newItem); } } serviceStaticsVO.setServiceDetailStaticsList(serviceDetailStaticsVOList); } return R.ok(serviceStaticsVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActNeighborCircleDOMapper.xml
@@ -552,13 +552,45 @@ </if> </select> <select id="getNewServiceNum" resultType="com.panzhihua.service_community.entity.NewFightNeedProblemClaim"> SELECT id, user_id, update_time, unit_id, task_id, service_time, punch_start_time, punch_end_time, creation_time FROM new_fight_need_problem_claim <where> service_time is not null <if test=" phone != null and phone != '' "> and user_id =(SELECT user_id FROM sys_user WHERE phone=#{phone} and app_id="wx118de8a734d269f0" and type=1) </if> <if test=" unitId != null and unitId != '' "> and unit_id =#{unitId} </if> </where> </select> <select id="selectStatsUser" resultType="com.panzhihua.common.model.vos.neighbor.ServiceStaticsVO"> select count(t1.checkId) as times,sum(t1.hours) as hours from ((select real_service_time as hours,solve_id as checkId from com_act_neighbor_circle canc left join sys_user su on canc.solve_id = su.user_id where order_type = 2 AND canc.is_del = 2 and solve_status = 4 and su.phone = #{phone} and canc.order_time between concat(#{date},'-01-01 00:00:00') and concat(#{date},'-12-31 23:59:59')) union all (select duration as hours,caas.user_id as checkId from com_act_activity caa LEFT JOIN com_act_act_regist caas on caa.id = caas.activity_id left join sys_user su on caas.user_id = su.user_id where caas.sign_identity = 2 and caas.end_time is not null and su.phone =#{phone} and publish_at between concat(#{date},'-01-01 00:00:00') and concat(#{date},'-12-31 23:59:59') group by caa.id)) t1 select count(t1.checkId) as times, sum(t1.hours) as hours from ((select real_service_time as hours,solve_id as checkId from com_act_neighbor_circle canc left join sys_user su on canc.solve_id = su.user_id where order_type = 2 AND canc.is_del = 2 and solve_status = 4 and su.phone = #{phone} and canc.order_time between concat(#{date},'-01-01 00:00:00') and concat(#{date},'-12-31 23:59:59')) union all (select duration as hours,caas.user_id as checkId from com_act_activity caa LEFT JOIN com_act_act_regist caas on caa.id = caas.activity_id left join sys_user su on caas.user_id = su.user_id where caas.sign_identity = 2 and caas.end_time is not null and su.phone =#{phone} and publish_at between concat(#{date},'-01-01 00:00:00') and concat(#{date},'-12-31 23:59:59') group by caa.id)) t1 </select> <select id="selectListByPhone" resultType="com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO"> springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java
@@ -11,7 +11,6 @@ import com.panzhihua.service_dangjian.entity.UserTrade; import com.panzhihua.service_dangjian.service.NeedProblemClaimService; import com.panzhihua.service_dangjian.service.NeedProblemInventoryService; import io.swagger.annotations.ApiModelProperty; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -169,9 +168,25 @@ } else { int award=Integer.valueOf(dto.getAward()); int integralAvailableSum=Integer.valueOf(integral.getIntegralAvailableSum())+award; int integralSum=Integer.valueOf(integral.getIntegralSum())+award; int award=0; int integralAvailableSum=0; int integralSum=0; if(!StringUtils.isEmpty(dto.getAward())) { award=Integer.valueOf(dto.getAward()); } if(!StringUtils.isEmpty(integral.getIntegralAvailableSum())) { integralAvailableSum=Integer.valueOf(integral.getIntegralAvailableSum())+award; } if(!StringUtils.isEmpty(integral.getIntegralSum())) { integralSum=Integer.valueOf(integral.getIntegralSum())+award; } userTrade.setIntegralId(integral.getId()); integral.setIntegralAvailableSum(integralAvailableSum+""); integral.setIntegralSum(integralSum+"");