From bea8febfa3c228b6b2ecc6ff2db5f84e6fcf41c1 Mon Sep 17 00:00:00 2001 From: pengwei Date: Sun, 26 Oct 2025 16:46:39 +0800 Subject: [PATCH] =?UTF-8?q?fiex:=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=20=E4=B8=8E=20=E4=BA=8C=E7=BA=A7=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rightsComfort/SuperviseController.java | 1 + .../subdatav/SubOneCaseVerifController.java | 6 +++- .../subdatav/SubOneGlobalController.java | 30 ++++++++++++++----- .../SubOneSupervisionNotifyController.java | 20 +++++++++++-- .../java/com/biutag/supervision/job/Job.java | 2 ++ .../supervision/mapper/NegativeMapper.java | 16 ++++++++++ .../mapper/RpcApplyPersonMapper.java | 2 +- .../mapper/RpcApplySuperviseMapper.java | 4 ++- .../pojo/vo/DayTimeSuperviseVo.java | 2 +- .../supervision/service/DataMailService.java | 15 +++++++++- .../service/RpcApplySuperviseService.java | 10 +++++-- .../mapper/RpcApplySuperviseMapper.xml | 3 +- 12 files changed, 93 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/rightsComfort/SuperviseController.java b/src/main/java/com/biutag/supervision/controller/rightsComfort/SuperviseController.java index 76942a4..ca82bbc 100644 --- a/src/main/java/com/biutag/supervision/controller/rightsComfort/SuperviseController.java +++ b/src/main/java/com/biutag/supervision/controller/rightsComfort/SuperviseController.java @@ -33,6 +33,7 @@ public class SuperviseController { * */ @GetMapping("/{id}") public Result getDetail(@PathVariable String id){ + log.info("传入id:{}",id); RpcSuperviseVo superviseVo = rpcApplySuperviseService.getDetail(id); if(ObjectUtil.isNotEmpty(superviseVo)){ return Result.success(superviseVo); diff --git a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneCaseVerifController.java b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneCaseVerifController.java index a4860fb..05d3d3e 100644 --- a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneCaseVerifController.java +++ b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneCaseVerifController.java @@ -111,7 +111,11 @@ public class SubOneCaseVerifController { ); overview.setTotal((int) total); int confirmed = overview.getConfirmed() != null?overview.getConfirmed():0; - overview.setRate(NumberUtil.div((Number) (confirmed * 100),total ).doubleValue()); + if(total != 0 && confirmed != 0) { + overview.setRate(NumberUtil.div((Number) (confirmed * 100),total ).doubleValue()); + }else{ + overview.setRate(0.00); + } JSONObject res = new JSONObject().fluentPut("overview", overview); return Result.success(res); } diff --git a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneGlobalController.java b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneGlobalController.java index 1477c44..d7cf4fd 100644 --- a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneGlobalController.java +++ b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneGlobalController.java @@ -2,10 +2,16 @@ package com.biutag.supervision.controller.subdatav; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.biutag.supervision.constants.enums.ProblemSourcesEnum; +import com.biutag.supervision.mapper.MailMapper; import com.biutag.supervision.mapper.NegativeMapper; +import com.biutag.supervision.mapper.SupExternalDepartMapper; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.entity.Negative; +import com.biutag.supervision.pojo.entity.SupExternalDepart; +import com.biutag.supervision.pojo.entity.mailbox.Mail; import com.biutag.supervision.pojo.vo.*; import com.biutag.supervision.service.*; import io.swagger.v3.oas.annotations.Operation; @@ -36,6 +42,8 @@ public class SubOneGlobalController { private final CountyStreetDeptService countyStreetDeptService; private final DataMailService dataMailService; private final NegativeService negativeService; + private final MailMapper mailMapper; + private final SupExternalDepartMapper externalDepartMapper; /** * 获取地图数据, 所有二级地图的json数据 * @@ -99,7 +107,8 @@ public class SubOneGlobalController { //region 中间 - + private final String VALID_SIGN = "terminated"; // 有效标识 + private final String EX_SOURCE = "局长信箱"; // 映射来源 /** * 获取首页大屏中央数据 * @@ -117,12 +126,19 @@ public class SubOneGlobalController { GlobalOverViewVo overview = negativeMapper.getSuoOneAllGlobalCount(departId, beginTime, endTime); MailOverviewVo vo = dataMailService.mailCount(departId,beginTime, endTime); - // 局长信箱 - long mailboxNumber = negativeService.count(new LambdaQueryWrapper() - .between(Negative::getCrtTime, beginTime, endTime) - .eq(Negative::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue()) - .eq(Negative::getSecondInvolveDepartId,departId) - ); + + QueryWrapper subOneMailQueryWrapper = new QueryWrapper<>(); + String exDepartId = externalDepartMapper.getExIdByInId(departId.toString(), "局长信箱"); + subOneMailQueryWrapper.ne("mail_state", VALID_SIGN); + subOneMailQueryWrapper.eq("second_dept_id", exDepartId); + subOneMailQueryWrapper.between("create_time", beginTime, endTime); + Long mailboxNumber = mailMapper.selectCount(subOneMailQueryWrapper); + // todo 局长信箱 +// long mailboxNumber = negativeService.count(new LambdaQueryWrapper() +// .between(Negative::getCrtTime, beginTime, endTime) +// .eq(Negative::getProblemSourcesCode, ProblemSourcesEnum.JZXX.getValue()) +// .eq(Negative::getSecondInvolveDepartId,departId) +// ); overview.setMailboxNumber(mailboxNumber); overview.setComplaintPro(vo.getCountryMail() + vo.getPoliceMail() + vo.getNumberMail()); diff --git a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneSupervisionNotifyController.java b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneSupervisionNotifyController.java index c0a5b0d..5286398 100644 --- a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneSupervisionNotifyController.java +++ b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneSupervisionNotifyController.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -71,11 +73,22 @@ public class SubOneSupervisionNotifyController { @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { DayTimeSuperviseVo policeRankOverview = negativeMapper.getPoliceRankOverview(departId, beginTime, endTime); DayTimeSuperviseVo teamRankOverview = negativeMapper.getTeamRankOverview(departId, beginTime, endTime); + List policeChangedRankList = negativeMapper.getPoliceChangedRankList(departId, beginTime, endTime); List teamChangedRankList = negativeMapper.getTeamChangedRankList(departId, beginTime, endTime); - DayTimeSuperviseVo overview = new DayTimeSuperviseVo().addVO(policeRankOverview,teamRankOverview); + + DayTimeSuperviseVo vo = negativeMapper.selectRankOverview(departId,beginTime,endTime); + if(vo.getProTotal() == null || vo.getProTotal() == 0 || vo.getChanged() == 0){ + vo.setCorrectionRate(0.0); + }else{ + BigDecimal result = new BigDecimal(vo.getChanged() * 100) + .divide(new BigDecimal(vo.getProTotal()), 1, RoundingMode.HALF_UP); + vo.setCorrectionRate(result.doubleValue()); + } + + JSONObject data = new JSONObject() - .fluentPut("overview",overview) + .fluentPut("overview",vo) .fluentPut("fxsjRankOverview", policeRankOverview) .fluentPut("jsdwRankOverview", teamRankOverview) .fluentPut("fxsjChangedRankList", policeChangedRankList) @@ -83,6 +96,9 @@ public class SubOneSupervisionNotifyController { return Result.success(data); } + public Long isZero(Long val){ + return val != null?val:0L; + } /** * 问题类型占比 * diff --git a/src/main/java/com/biutag/supervision/job/Job.java b/src/main/java/com/biutag/supervision/job/Job.java index 8fe9ab8..3d767f6 100644 --- a/src/main/java/com/biutag/supervision/job/Job.java +++ b/src/main/java/com/biutag/supervision/job/Job.java @@ -290,6 +290,7 @@ public class Job { rpcApply.setSource("gbase"); rpcApplySuperviseService.saveOrUpdate(rpcApply); //受害人列表 + rpcApplyPersonService.remove(new LambdaQueryWrapper().eq(RpcApplyPerson::getRpcId,item.getZj())); RpcApplyPerson rpcApplyPerson= new RpcApplyPerson(); rpcApplyPerson.setRpcId(item.getZj()); rpcApplyPerson.setType(RpcApplyTypeEnum.RIGHTS_PROTECTION.getValue()); @@ -344,6 +345,7 @@ public class Job { apply.setInfringerName(result); apply.setInfringerHandle(clfss); wfrwfxxes.forEach(x->{ + rpcInfringerResultService.remove(new LambdaQueryWrapper().eq(RpcInfringerResult::getRpcId,item.getZj())); RpcInfringerResult rpcInfringerResult =new RpcInfringerResult(); rpcInfringerResult.setId(IdUtil.fastSimpleUUID()); rpcInfringerResult.setRpcId(item.getZj()); diff --git a/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java b/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java index 3f5e667..b5b37bf 100644 --- a/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java @@ -643,6 +643,18 @@ public interface NegativeMapper extends BaseMapper { "AND sd.statistics_group_id=10 " + "AND crtTime BETWEEN #{beginTime} AND #{endTime} ") DayTimeSuperviseVo getPoliceRankOverview(Integer departId, Date beginTime, Date endTime); + + @Select("SELECT " + + "COUNT(DISTINCT ng.id) AS proTotal, " + + "COUNT( DISTINCT IF(ng.processing_status in ('signing', 'processing', 'approval'), ng.id, NULL) ) AS changing, " + + "COUNT( DISTINCT IF(ng.processing_status='completed', ng.id, NULL) ) AS changed, " + + "IFNULL(ROUND( COUNT( DISTINCT IF(ng.processing_status='completed', ng.id, NULL) )/COUNT( DISTINCT ng.id )*100, 1), 0) AS correctionRate " + + "FROM negative ng " + + "LEFT JOIN sup_depart sd ON ng.involveDepartId=sd.id " + + "WHERE ng.problemSourcesCode IN (13) " + + "AND ng.second_involve_depart_id=#{departId} " + + "AND crtTime BETWEEN #{beginTime} AND #{endTime} ") + DayTimeSuperviseVo selectRankOverview(Integer departId, Date beginTime, Date endTime); //分县级 - 现场督察 @Select("SELECT " + "COUNT(DISTINCT ng.id) AS proTotal, " + @@ -689,6 +701,10 @@ public interface NegativeMapper extends BaseMapper { "ORDER BY denominator DESC;") List getTeamChangedRankList(Integer departId, Date beginTime, Date endTime); + + + + @Select("SELECT sd.short_name as label, " + "sd.id AS departId, " + "count( DISTINCT ng.id) AS denominator, " + diff --git a/src/main/java/com/biutag/supervision/mapper/RpcApplyPersonMapper.java b/src/main/java/com/biutag/supervision/mapper/RpcApplyPersonMapper.java index d14715f..f373d05 100644 --- a/src/main/java/com/biutag/supervision/mapper/RpcApplyPersonMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/RpcApplyPersonMapper.java @@ -18,7 +18,7 @@ public interface RpcApplyPersonMapper extends BaseMapper { Page queryPage(@Param("page") Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - @Select(" SELECT a.*,sup.job_type as empType,sup.name as empName from rpc_apply_person as a " + + @Select(" SELECT distinct a.emp_no, a.id, a.rpc_id, a.provide_relief,a.injury_severity, a.injury_severity_name,a.handle_result,a.id_code, a.forms_of_tort, a.emp_type, a.gender ,sup.job_type as empType,sup.name as empName from rpc_apply_person as a " + " left join sup_police as sup " + " on a.emp_no = sup.emp_no where a.rpc_id = #{id} " ) List selectPerson(String id); diff --git a/src/main/java/com/biutag/supervision/mapper/RpcApplySuperviseMapper.java b/src/main/java/com/biutag/supervision/mapper/RpcApplySuperviseMapper.java index 7173634..499537d 100644 --- a/src/main/java/com/biutag/supervision/mapper/RpcApplySuperviseMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/RpcApplySuperviseMapper.java @@ -11,6 +11,8 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.util.List; + @Mapper public interface RpcApplySuperviseMapper extends BaseMapper { @@ -29,7 +31,7 @@ public interface RpcApplySuperviseMapper extends BaseMapper " LEFT JOIN sup_police sup ON a.input_emp_no = sup.emp_no " + " WHERE a.rpc_id = #{id} " ) - RpcApplyVo selectDataById(String id); + List selectDataById(String id); @Update(" UPDATE rpc_apply_supervise set " + " Incident_link_name = #{rpcApplyVo.incidentLinkName}, " + diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java b/src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java index 499b89e..5ab2f02 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java @@ -32,7 +32,7 @@ public class DayTimeSuperviseVo { public DayTimeSuperviseVo addVO(DayTimeSuperviseVo one,DayTimeSuperviseVo two){ DayTimeSuperviseVo vo =new DayTimeSuperviseVo(); //问题总数 - vo.setProTotal(one.getProTotal() + two.proTotal); + vo.setProTotal(one.getProTotal() + two.getProTotal()); //办理中 vo.setProcessingNumber(isZero(one.getProcessingNumber()) + isZero(two.getProcessingNumber())); //已办结 diff --git a/src/main/java/com/biutag/supervision/service/DataMailService.java b/src/main/java/com/biutag/supervision/service/DataMailService.java index 90bf47b..288d824 100644 --- a/src/main/java/com/biutag/supervision/service/DataMailService.java +++ b/src/main/java/com/biutag/supervision/service/DataMailService.java @@ -250,6 +250,10 @@ public class DataMailService extends ServiceImpl subOneMailQueryWrapper = new QueryWrapper<>(); + String exDepartId = supExternalDepartMapper.getExIdByInId(policeDepartId, "局长信箱"); + subOneMailQueryWrapper.ne("mail_state", VALID_SIGN); + subOneMailQueryWrapper.eq("second_dept_id", exDepartId); + subOneMailQueryWrapper.between("create_time", beginTime, endTime); + Long manageMail = mailMapper.selectCount(subOneMailQueryWrapper); + + re.setCommissionerTotal(manageMail.toString()); re.setNumTotal(numTotal.toString()); re.setTotal(total.toString()); } diff --git a/src/main/java/com/biutag/supervision/service/RpcApplySuperviseService.java b/src/main/java/com/biutag/supervision/service/RpcApplySuperviseService.java index 4d0e9cb..bacff4f 100644 --- a/src/main/java/com/biutag/supervision/service/RpcApplySuperviseService.java +++ b/src/main/java/com/biutag/supervision/service/RpcApplySuperviseService.java @@ -87,7 +87,7 @@ public class RpcApplySuperviseService extends ServiceImpl rpcApplyVoList = baseMapper.selectDataById(id); + if(CollectionUtil.isEmpty(rpcApplyVoList)){ + return null; + } + RpcApplyVo rpcApplyVo = rpcApplyVoList.get(0); if(ObjectUtil.isNotEmpty(rpcApplyVo)){ //获取数据 superviseVo.setRpcApplyVo(rpcApplyVo); //获取侵权人信息 - List rpcInfringerResults = rpcInfringerResultService.list(new LambdaQueryWrapper().eq(RpcInfringerResult::getRpcId,id)); + List rpcInfringerResults = rpcInfringerResultService.list(new LambdaQueryWrapper().select(RpcInfringerResult::getIdCode).eq(RpcInfringerResult::getRpcId,id)); if (ArrayUtil.isNotEmpty(rpcInfringerResults)){ superviseVo.setRpcInfringerResults(rpcInfringerResults); } diff --git a/src/main/resources/mapper/RpcApplySuperviseMapper.xml b/src/main/resources/mapper/RpcApplySuperviseMapper.xml index 3564850..05305b8 100644 --- a/src/main/resources/mapper/RpcApplySuperviseMapper.xml +++ b/src/main/resources/mapper/RpcApplySuperviseMapper.xml @@ -6,7 +6,8 @@