diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/controller/TaskController.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/controller/TaskController.java index f078488..270b5dd 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/business/controller/TaskController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/controller/TaskController.java @@ -24,6 +24,7 @@ import com.chinaweal.aiccs.aiccs.auditing.service.TSTaskListEnterTypeService; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; import com.chinaweal.aiccs.aiccs.business.entity.TSTwfProcessNode; import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskListDto; +import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskStatisticDto; import com.chinaweal.aiccs.aiccs.business.entity.dto.TaskListUnionDto; import com.chinaweal.aiccs.aiccs.business.entity.excel.TaskListRepairData; import com.chinaweal.aiccs.aiccs.business.mapper.TSTaskListMapper; @@ -1167,4 +1168,16 @@ public class TaskController extends BaseController { .sheet("信用修复超期名单") .doWrite(rs); } + + /** + * 信用修复预警统计 + */ + @RequestMapping("/repairTaskStatistic") + public RestResult repairTaskStatistic(@RequestBody PageRequestDto pageRequestDto,HttpServletRequest request) { + Map paramMap = pageRequestDto.getCustomParamMap(); + AICUser aicUser = getLoginUser(request); + //统计内外网的数量,只统计未完成的 + List repairTaskStatisticDto = taskListService.repairTaskStatistic(paramMap, aicUser); + return RestResult.ok(repairTaskStatisticDto); + } } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskListDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskListDto.java index cd60daa..6e5494e 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskListDto.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskListDto.java @@ -143,4 +143,14 @@ public class RepairTaskListDto implements Serializable{ */ private LocalDateTime createTime; + /** + * 机构编号 + */ + private String areaCode; + + /** + * 信用修复预警统计Dto + */ + private RepairTaskStatisticDto repairTaskStatisticDto; + } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskStatisticDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskStatisticDto.java new file mode 100644 index 0000000..a099985 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/entity/dto/RepairTaskStatisticDto.java @@ -0,0 +1,45 @@ +package com.chinaweal.aiccs.aiccs.business.entity.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 信用修复预警统计Dto + * + * @author zhouxy + * @since 2026-1-20 + */ +@Data +public class RepairTaskStatisticDto implements Serializable{ + + private static final long serialVersionUID=1L; + + /** + * 机构编号 + */ + private String orgNumber; + + /** + * 机构名称 + */ + private String orgName; + + /** + * 外网申请的数量 + */ + private Integer outerCount; + + /** + * 内网发起的数量 + */ + private Integer innerCount; + + /** + * 总计数量 + */ + private Integer total; + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/mapper/TSTaskListMapper.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/mapper/TSTaskListMapper.java index a03f93f..2733ce1 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/business/mapper/TSTaskListMapper.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/mapper/TSTaskListMapper.java @@ -7,6 +7,7 @@ import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAbnList; import com.chinaweal.aiccs.aiccs.abnormal.entity.excel.AbnListExcel; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskListDto; +import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskStatisticDto; import com.chinaweal.aiccs.aiccs.business.entity.dto.TaskListUnionDto; import com.chinaweal.aiccs.crgs.system.entity.TaskList; import org.apache.ibatis.annotations.Param; @@ -161,4 +162,6 @@ public interface TSTaskListMapper extends BaseMapper { List exportAbnList(@Param("customParamMap") Map customParamMap); IPage repairTaskQuery(Page page, @Param("customParamMap") Map paramMap); + + List repairTaskStatistic(@Param("customParamMap") Map paramMap); } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/service/TSTaskListService.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/service/TSTaskListService.java index f45f4fb..c8dcc86 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/business/service/TSTaskListService.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/service/TSTaskListService.java @@ -8,6 +8,7 @@ import com.chinaweal.aiccs.aiccs.abnormal.entity.vo.XyxfCqDto; import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskListDto; +import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskStatisticDto; import com.chinaweal.aiccs.aiccs.business.entity.dto.TaskListUnionDto; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.TSBizSerIllegalRem; import com.chinaweal.aiccs.crgs.system.entity.TaskList; @@ -229,4 +230,6 @@ public interface TSTaskListService extends BaseService { List exportxyxfCqList(Map paramMap); TSTaskList searchTaskListByBizId(String bizId); + + List repairTaskStatistic(Map paramMap,AICUser aicUser); } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/business/service/impl/TSTaskListServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/business/service/impl/TSTaskListServiceImpl.java index a84e998..efb95e4 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/business/service/impl/TSTaskListServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/business/service/impl/TSTaskListServiceImpl.java @@ -20,6 +20,7 @@ import com.chinaweal.aiccs.aiccs.business.entity.TSHwfProcessNode; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; import com.chinaweal.aiccs.aiccs.business.entity.TSTwfProcessNode; import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskListDto; +import com.chinaweal.aiccs.aiccs.business.entity.dto.RepairTaskStatisticDto; import com.chinaweal.aiccs.aiccs.business.entity.dto.ResultMap; import com.chinaweal.aiccs.aiccs.business.entity.dto.TaskListUnionDto; import com.chinaweal.aiccs.aiccs.business.mapper.TSTaskListMapper; @@ -41,6 +42,7 @@ import com.chinaweal.aiccs.door.service.ITUserportalService; import com.chinaweal.aiccs.org.entity.OrgUnits; import com.chinaweal.aiccs.org.mapper.AicorgMapper; import com.chinaweal.aiccs.org.mapper.TUsersMapper; +import com.chinaweal.aiccs.org.service.AicorgService; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -587,8 +589,13 @@ public class TSTaskListServiceImpl extends BaseServiceImpl data = baseMapper.repairTaskQuery(page, paramMap); + Map params = new HashMap<>(); + params.put("deleted", "0"); + params.put("unittype", "1"); for (RepairTaskListDto repairTaskListDto : data.getRecords()) { - repairTaskListDto.setOrgName(tUsersMapper.queryOrgByUserid(repairTaskListDto.getSignuserid())); + params.put("orgNumber", repairTaskListDto.getAreaCode()); + OrgUnits orgUnits = aicorgMapper.queryByOrgNumberMap(params); + repairTaskListDto.setOrgName(orgUnits==null?"":orgUnits.getOrgUnitName()); if (BaseDataConstant.CREDIT_REPAIR_ILLEGAL_BIZ.equals(repairTaskListDto.getBustype())) { List tsBizSerIllegalRemList = tsBizSerIllegalRemService.selectbizRembizseq(repairTaskListDto.getBizseqid()); @@ -701,4 +708,50 @@ public class TSTaskListServiceImpl extends BaseServiceImpl().eq(TSTaskList::getBizseqid, bizId)); } + @Override + public List repairTaskStatistic(Map paramMap,AICUser aicUser) { + //判断有没有受理机关的条件 + String orgNumber = (String) paramMap.get("orgNumber"); + Map params = new HashMap<>(); + params.put("deleted", "0"); + params.put("unittype", "1"); + if(StringUtils.isEmpty(orgNumber)){ + params.put("orgNumber", aicUser.getRegionID()); + OrgUnits org = aicorgMapper.queryByOrgNumberMap(params); + Integer orgLevel = org.getOrgLevel(); + //根据机构等级判断 + if (orgLevel == 1) { //省局 + paramMap.put("areaCode", StringUtils.substring(aicUser.getRegionID(), 0, 2)+"%"); + } else if (orgLevel == 2) { //市局 + paramMap.put("areaCode", StringUtils.substring(aicUser.getRegionID(), 0, 4)+"%"); + } else if (orgLevel == 3) { //区局 + paramMap.put("areaCode", StringUtils.substring(aicUser.getRegionID(), 0, 6)+"%"); + } else if (orgLevel >= 4) { //所 + paramMap.put("areaCode", StringUtils.substring(aicUser.getRegionID(), 0, 6)+"%"); + } + } + + boolean isGzrNum = paramMap.containsKey("gzrNumSwitch") && (boolean)paramMap.get("gzrNumSwitch"); + if (isGzrNum) { + int gzrNum = (int) paramMap.get("gzrNum"); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + if (gzrNum < 0) { + paramMap.put("gzrDate", LocalDateTime.now().format(formatter)); + } else { + LocalDateTime gzrEndDate = gzrNum == 0 ? LocalDateTime.now().withHour(23).withMinute(59).withSecond(59) : HolidaysUtil.getNextWorkingDay(gzrNum); + LocalDateTime gzrStartDate = gzrEndDate.withHour(0).withMinute(0).withSecond(0); + paramMap.put("gzrStartDate", gzrStartDate.format(formatter)); + paramMap.put("gzrEndDate", gzrEndDate.format(formatter)); + } + } + + List repairTaskStatisticDtos = baseMapper.repairTaskStatistic(paramMap); + for(RepairTaskStatisticDto dto : repairTaskStatisticDtos){ + params.put("orgNumber", dto.getOrgNumber()); + OrgUnits orgUnits = aicorgMapper.queryByOrgNumberMap(params); + dto.setOrgName(orgUnits==null?"":orgUnits.getOrgUnitName()); + } + return repairTaskStatisticDtos; + } + } diff --git a/src/main/resources/mybatis/mapper/aiccs/business/TSTaskListMapper.xml b/src/main/resources/mybatis/mapper/aiccs/business/TSTaskListMapper.xml index 6a6c73e..bb7a793 100644 --- a/src/main/resources/mybatis/mapper/aiccs/business/TSTaskListMapper.xml +++ b/src/main/resources/mybatis/mapper/aiccs/business/TSTaskListMapper.xml @@ -1494,25 +1494,73 @@ ta.BUSNAME, ta.SIGNTIME, ta.BUSTYPE, - case when ta.BUSTYPE = '33' then '严重违法失信名单信用修复' when ta.BUSTYPE = '7' then '企业经营异常名录信用修复' when ta.BUSTYPE = '12' then '个体户经营异常状态信用修复' when ta.BUSTYPE = '14' then '农专社经营异常名录信用修复' else '' end as busTypeName, + case + when ta.BUSTYPE = '33' then '严重违法失信名单信用修复' + when ta.BUSTYPE = '7' then '企业经营异常名录信用修复' + when ta.BUSTYPE = '12' then '个体户经营异常状态信用修复' + when ta.BUSTYPE = '14' then '农专社经营异常名录信用修复' + when ta.BUSTYPE = '27' then '行政处罚修复' + else '' + end as busTypeName, ta.BUSSTATUS, ta.SENDERTIME, ta.SENDERNAME, ta.SIGNLOGINNAME, ta.deadlineDate, ta.signuserid, - ta.createTime - FROM - tstasklist ta + ta.createTime, + ta.area_code as areaCode + FROM tstasklist ta JOIN MaxTaskList mt ON ta.TASKLISTID = mt.TASKLISTID AND mt.rn = 1 - left join ( - select tu.userID, left(tog.orgNumber,6) as orgNumber - from cxaicorg.t_users tu left join cxaicorg.t_orgunits tog on tu.orgUnitID = tog.orgUnitID - ) org on ta.SIGNUSERID = org.userID - - - where org.orgNumber = #{customParamMap.orgNumber} + WHERE ta.area_code = #{customParamMap.orgNumber} + + +