35 changed files with 1055 additions and 194 deletions
@ -0,0 +1,81 @@
|
||||
package com.biutag.supervision.controller.data; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.biutag.supervision.pojo.Result; |
||||
import com.biutag.supervision.pojo.dto.DataDataPetitionComplainDistribute; |
||||
import com.biutag.supervision.pojo.dto.DataDataPetitionComplainDistribute12337; |
||||
import com.biutag.supervision.pojo.entity.DataPetition12337; |
||||
import com.biutag.supervision.pojo.entity.DataPetitionComplaint; |
||||
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; |
||||
import com.biutag.supervision.pojo.vo.DataPetition12337Vo; |
||||
import com.biutag.supervision.service.DataPetition12337Service; |
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
@Slf4j |
||||
@RequiredArgsConstructor |
||||
@RequestMapping("data/petitionComplaint12337") |
||||
@RestController |
||||
public class DataPetitionComplaint12337Controller { |
||||
|
||||
|
||||
private final DataPetition12337Service dataPetition12337Service; |
||||
|
||||
|
||||
/** |
||||
* 12337 分页列表 |
||||
* @param queryParam |
||||
* @return |
||||
*/ |
||||
@GetMapping |
||||
public Result<Page<DataPetition12337Vo>> list(DataPetitionComplaintQueryParam queryParam) { |
||||
Page<DataPetition12337> dataPetition12337Page = dataPetition12337Service.page(queryParam); |
||||
Page<DataPetition12337Vo> dataPetition12337VoPage =null; |
||||
// 获取分页内容并转换为 DataPetition12337Vo 对象
|
||||
if ( dataPetition12337Page !=null ){ |
||||
List<DataPetition12337> records = dataPetition12337Page.getRecords(); |
||||
ArrayList<DataPetition12337Vo> voList = new ArrayList<>(); |
||||
for (DataPetition12337 oneRecord : records) { |
||||
DataPetition12337Vo dataPetition12337Vo = new DataPetition12337Vo(); |
||||
BeanUtils.copyProperties(oneRecord,dataPetition12337Vo); |
||||
voList.add(dataPetition12337Vo); |
||||
} |
||||
dataPetition12337VoPage = new Page<>(dataPetition12337Page.getCurrent(), dataPetition12337Page.getSize(), dataPetition12337Page.getTotal()); |
||||
dataPetition12337VoPage.setRecords(voList); |
||||
} |
||||
|
||||
return Result.success(dataPetition12337VoPage); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 删除 |
||||
* @param id |
||||
* @return |
||||
*/ |
||||
@DeleteMapping("{id}") |
||||
public Result<Boolean> del(@PathVariable String id) { |
||||
return Result.success(dataPetition12337Service.removeById(id)); |
||||
} |
||||
|
||||
/** |
||||
* 下发 |
||||
*/ |
||||
@PostMapping("distribute") |
||||
public Result<Boolean> distribute(@RequestBody DataDataPetitionComplainDistribute12337 dataDistribute) { |
||||
return Result.success(dataPetition12337Service.distribution(dataDistribute)); |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,44 @@
|
||||
package com.biutag.supervision.controller.datav; |
||||
|
||||
import com.biutag.supervision.pojo.Result; |
||||
import io.swagger.v3.oas.annotations.Operation; |
||||
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
import jakarta.annotation.Resource; |
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestParam; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @author: sh |
||||
* @date: 20224/11/5 |
||||
*/ |
||||
@RestController |
||||
@RequiredArgsConstructor |
||||
@RequestMapping("datav/dataScreen") |
||||
public class DataScreenController { |
||||
|
||||
|
||||
// private final DataScreenService dataScreenService;
|
||||
|
||||
|
||||
/** |
||||
* todo 获取地图数据 |
||||
*/ |
||||
@GetMapping("/mapData") |
||||
public Result<List<Map<String, Object>>> mapData(@RequestParam Map<String, Object> params) { |
||||
if (params.isEmpty()) { |
||||
// return Result.success(dataScreenService.mapData());
|
||||
} else { |
||||
String deptId = params.get("id").toString(); |
||||
// return Result.success(dataScreenService.mapCountyData(deptId));
|
||||
} |
||||
return null; |
||||
} |
||||
|
||||
} |
||||
@ -1,13 +1,50 @@
|
||||
package com.biutag.supervision.job; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||
import com.biutag.supervision.pojo.entity.SupDepart; |
||||
import com.biutag.supervision.service.SupDepartPoliceSizeService; |
||||
import com.biutag.supervision.service.SupDepartService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.scheduling.annotation.Async; |
||||
import org.springframework.scheduling.annotation.Scheduled; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author wxc |
||||
* @date 2024/11/4 |
||||
*/ |
||||
@RequiredArgsConstructor |
||||
@Component |
||||
public class DepartJob { |
||||
|
||||
private final SupDepartService departService; |
||||
|
||||
private final SupDepartPoliceSizeService departPoliceSizeService; |
||||
|
||||
@Async |
||||
public void updateDepartPath() { |
||||
List<SupDepart> departs = departService.list(); |
||||
departs.forEach(item -> { |
||||
String pathTrace = departService.getPathTrace(item); |
||||
if (!pathTrace.equals(item.getPathTrace())) { |
||||
departService.update(new LambdaUpdateWrapper<SupDepart>().eq(SupDepart::getId, item.getId()).set(SupDepart::getPathTrace, pathTrace)); |
||||
} |
||||
}); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 1个小时 |
||||
*/ |
||||
@Scheduled(fixedRate = 1000 * 60 * 60) |
||||
public void updatePoliceSize() { |
||||
List<SupDepart> departs = departService.list(new LambdaQueryWrapper<SupDepart>().eq(SupDepart::getLevel, 3)); |
||||
departs.forEach(item -> { |
||||
departPoliceSizeService.saveOrUpdate(item.getId()); |
||||
}); |
||||
|
||||
} |
||||
} |
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package com.biutag.supervision.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.biutag.supervision.pojo.entity.SupDepartPoliceSize; |
||||
|
||||
public interface SupDepartPoliceSizeMapper extends BaseMapper<SupDepartPoliceSize> { |
||||
|
||||
} |
||||
@ -0,0 +1,38 @@
|
||||
package com.biutag.supervision.pojo.dto; |
||||
|
||||
import com.biutag.supervision.pojo.entity.DataPetition12337; |
||||
import com.biutag.supervision.pojo.entity.DataPetitionComplaint; |
||||
import jakarta.validation.constraints.NotBlank; |
||||
import lombok.Getter; |
||||
import lombok.Setter; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author wxc |
||||
* @date 2024/10/24 |
||||
*/ |
||||
@Setter |
||||
@Getter |
||||
public class DataDataPetitionComplainDistribute12337 { |
||||
|
||||
List<DataPetition12337> data = new ArrayList<>(); |
||||
|
||||
// 办理时限
|
||||
@NotBlank |
||||
private String timeLimit; |
||||
|
||||
// 最大签收时长(天)
|
||||
private Integer maxSignDuration; |
||||
|
||||
// 最大办理时长(天)
|
||||
private Integer maxHandleDuration; |
||||
|
||||
// 最大延期时长(天)
|
||||
private Integer maxExtensionDuration; |
||||
|
||||
// 审批流程
|
||||
@NotBlank |
||||
private String approvalFlow; |
||||
} |
||||
@ -0,0 +1,26 @@
|
||||
package com.biutag.supervision.pojo.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import lombok.Getter; |
||||
import lombok.Setter; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
@Accessors(chain = true) |
||||
@Setter |
||||
@Getter |
||||
public class SupDepartPoliceSize { |
||||
|
||||
//
|
||||
@TableId(value = "depart_id") |
||||
private String departId; |
||||
|
||||
// 民警人数
|
||||
@TableField("police_size") |
||||
private Long policeSize; |
||||
|
||||
// 协警人数
|
||||
@TableField("aux_size") |
||||
private Long auxSize; |
||||
|
||||
} |
||||
@ -0,0 +1,173 @@
|
||||
package com.biutag.supervision.pojo.vo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* |
||||
* @TableName data_petition_12337 |
||||
*/ |
||||
@Data |
||||
public class DataPetition12337Vo implements Serializable { |
||||
/** |
||||
* 唯一编号 |
||||
*/ |
||||
private String onlyId; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 信息受理登记时间 |
||||
*/ |
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm") |
||||
private LocalDateTime discoverTime; |
||||
|
||||
/** |
||||
* 线索来源 |
||||
*/ |
||||
private String letterSource; |
||||
|
||||
/** |
||||
* 举报人姓名 |
||||
*/ |
||||
private String name; |
||||
|
||||
/** |
||||
* 手机号码 |
||||
*/ |
||||
private String phone; |
||||
|
||||
/** |
||||
* 身份证号 |
||||
*/ |
||||
private String idCode; |
||||
|
||||
/** |
||||
* 现住地详址 |
||||
*/ |
||||
private String address; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 被举报人姓名 |
||||
*/ |
||||
private String reportedName; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 人员类别 |
||||
*/ |
||||
private String personType; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 单位名称 |
||||
*/ |
||||
private String orgName; |
||||
|
||||
|
||||
/** |
||||
* 具体职务 |
||||
*/ |
||||
private String jobName; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 被举报单位名称 |
||||
*/ |
||||
private String reportedOrgName; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 涉嫌违纪问题项目 |
||||
*/ |
||||
private String againstProProject; |
||||
|
||||
/** |
||||
* 涉嫌贪污贿赂类犯罪 |
||||
*/ |
||||
private String corruptionGuilt; |
||||
|
||||
/** |
||||
* 涉嫌渎职类犯罪 |
||||
*/ |
||||
private String omissionGuilt; |
||||
|
||||
/** |
||||
* 涉嫌侵犯公民人身权利类犯罪 |
||||
*/ |
||||
private String invadeEntitlementGuilt; |
||||
|
||||
/** |
||||
* 涉嫌侵犯财产类犯罪 |
||||
*/ |
||||
private String invadeFinanceGuilt; |
||||
|
||||
/** |
||||
* 其他 |
||||
*/ |
||||
private String otherGuilt; |
||||
|
||||
/** |
||||
* 顽瘴痼疾项目 |
||||
*/ |
||||
private String hardProProject; |
||||
|
||||
/** |
||||
* 涉嫌违纪违法事项 |
||||
*/ |
||||
private String wjwfProject; |
||||
|
||||
|
||||
|
||||
/** |
||||
* 办理结果 |
||||
*/ |
||||
private String processResult; |
||||
|
||||
|
||||
/** |
||||
* 是否办结 |
||||
*/ |
||||
private String isOver; |
||||
|
||||
/** |
||||
* 二级机构id |
||||
*/ |
||||
private String secondDepartId; |
||||
|
||||
/** |
||||
* 二级机构名字 |
||||
*/ |
||||
private String secondDepartName; |
||||
|
||||
/** |
||||
* 三级机构id |
||||
*/ |
||||
private String thirdDepartId; |
||||
|
||||
/** |
||||
* 三级机构简称 |
||||
*/ |
||||
private String thirdDepartName; |
||||
|
||||
/** |
||||
* 下发状态 |
||||
*/ |
||||
private String distributionState; |
||||
|
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
} |
||||
@ -0,0 +1,105 @@
|
||||
package com.biutag.supervision.service; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.biutag.supervision.constants.enums.DistributionStateEnum; |
||||
import com.biutag.supervision.constants.enums.HostLevelEnums; |
||||
import com.biutag.supervision.constants.enums.ProblemSourcesEnum; |
||||
import com.biutag.supervision.mapper.DataPetition12337Mapper; |
||||
import com.biutag.supervision.pojo.dto.DataDataPetitionComplainDistribute; |
||||
import com.biutag.supervision.pojo.dto.DataDataPetitionComplainDistribute12337; |
||||
import com.biutag.supervision.pojo.dto.NegativeDto; |
||||
import com.biutag.supervision.pojo.entity.DataPetition12337; |
||||
import com.biutag.supervision.pojo.entity.DataPetitionComplaint; |
||||
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @author 舒云 |
||||
* @description 针对表【data_petition_12337】的数据库操作Service实现 |
||||
* @createDate 2024-11-04 10:50:37 |
||||
*/ |
||||
@Service |
||||
@RequiredArgsConstructor |
||||
public class DataPetition12337Service extends ServiceImpl<DataPetition12337Mapper, DataPetition12337> { |
||||
private final NegativeService negativeService; |
||||
|
||||
public Page<DataPetition12337> page(DataPetitionComplaintQueryParam queryParam) { |
||||
LambdaQueryWrapper<DataPetition12337> queryWrapper = new LambdaQueryWrapper<>(); |
||||
queryWrapper.like(StrUtil.isNotBlank(queryParam.getOriginId()), DataPetition12337::getOnlyId, queryParam.getOriginId()) |
||||
.like(StrUtil.isNotBlank(queryParam.getThingDesc()), DataPetition12337::getWjwfProject, queryParam.getThingDesc()) |
||||
// 按创建时间倒序排序
|
||||
.orderByDesc(DataPetition12337::getDiscoverTime); |
||||
// 如果 discoveryTime 有两个值(表示时间范围),则添加范围查询条件
|
||||
if (queryParam.getDiscoveryTime().size() == 2) { |
||||
queryWrapper.between(DataPetition12337::getDiscoverTime, queryParam.getDiscoveryTime().get(0), queryParam.getDiscoveryTime().get(1)); |
||||
} |
||||
|
||||
// 如果 responderKey 和 responderValue 都不为空,则根据 responderKey 匹配相应的字段
|
||||
if (StrUtil.isNotBlank(queryParam.getResponderKey()) && StrUtil.isNotBlank(queryParam.getResponderValue())) { |
||||
switch (queryParam.getResponderKey()) { |
||||
case "name": |
||||
queryWrapper.like(DataPetition12337::getName, queryParam.getResponderValue()); |
||||
break; |
||||
case "phone": |
||||
queryWrapper.like(DataPetition12337::getPhone, queryParam.getResponderValue()); |
||||
break; |
||||
} |
||||
} |
||||
return page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 下发 |
||||
* @param dataDistribute |
||||
* @return |
||||
*/ |
||||
public boolean distribution(DataDataPetitionComplainDistribute12337 dataDistribute) { |
||||
dataDistribute.getData().forEach(item -> { |
||||
NegativeDto negativeDto = new NegativeDto(); |
||||
negativeDto.setOriginId(item.getOnlyId()); |
||||
negativeDto.setDiscoveryTime(item.getDiscoverTime()); |
||||
negativeDto.setProblemSourcesCode("24"); |
||||
negativeDto.setProblemSources("12337信访"); |
||||
// negativeDto.setBusinessTypeCode(BusinessTypeEnum.ABWW);
|
||||
// negativeDto.setBusinessTypeName();
|
||||
negativeDto.setResponderName(item.getName()); |
||||
negativeDto.setContactPhone(item.getPhone()); |
||||
negativeDto.setThingDesc(item.getWjwfProject()); |
||||
String departId; |
||||
String departName; |
||||
if (StrUtil.isBlank(item.getThirdDepartId())) { |
||||
departId = item.getSecondDepartId(); |
||||
departName = item.getSecondDepartName(); |
||||
} else { |
||||
departId = item.getThirdDepartId(); |
||||
departName = item.getThirdDepartName(); |
||||
} |
||||
negativeDto.setInvolveDepartId(departId); |
||||
negativeDto.setInvolveDepartName(departName); |
||||
negativeDto.setHostLevel(HostLevelEnums.SECOND.getValue()); |
||||
|
||||
negativeDto.setApprovalFlow(dataDistribute.getApprovalFlow()); |
||||
negativeDto.setDepartId(departId); |
||||
negativeDto.setDepartName(departName); |
||||
negativeDto.setTimeLimit(dataDistribute.getTimeLimit()); |
||||
negativeDto.setMaxSignDuration(dataDistribute.getMaxSignDuration()); |
||||
negativeDto.setMaxHandleDuration(dataDistribute.getMaxHandleDuration()); |
||||
negativeDto.setMaxExtensionDuration(dataDistribute.getMaxExtensionDuration()); |
||||
negativeDto.setCaseNumber(item.getOnlyId()); |
||||
negativeService.save(negativeDto); |
||||
update(new LambdaUpdateWrapper<DataPetition12337>().eq(DataPetition12337::getOnlyId, item.getOnlyId()) |
||||
.set(DataPetition12337::getDistributionState, DistributionStateEnum.DISTRIBUTED.getValue())); |
||||
}); |
||||
return true; |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
package com.biutag.supervision.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.biutag.supervision.mapper.DataPetition12337Mapper; |
||||
import com.biutag.supervision.pojo.entity.DataPetition12337; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @author 舒云 |
||||
* @description 针对表【data_petition_12337】的数据库操作Service实现 |
||||
* @createDate 2024-11-04 10:50:37 |
||||
*/ |
||||
@Service |
||||
@RequiredArgsConstructor |
||||
public class DataPetition12337ServiceImpl extends ServiceImpl<DataPetition12337Mapper, DataPetition12337> { |
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
//package com.biutag.supervision.service;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
//import lombok.RequiredArgsConstructor;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//
|
||||
//@RequiredArgsConstructor
|
||||
//@Service
|
||||
//public class DataScreenService extends ServiceImpl {
|
||||
//
|
||||
//
|
||||
// public List<Map<String, Object>> mapData() {
|
||||
// return null;
|
||||
// }
|
||||
//}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.biutag.supervision.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.biutag.supervision.constants.enums.PersonTypeEnum; |
||||
import com.biutag.supervision.mapper.SupDepartPoliceSizeMapper; |
||||
import com.biutag.supervision.pojo.entity.SupDepartPoliceSize; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
@RequiredArgsConstructor |
||||
@Service |
||||
public class SupDepartPoliceSizeService extends ServiceImpl<SupDepartPoliceSizeMapper, SupDepartPoliceSize> { |
||||
|
||||
private final SupDepartService departService; |
||||
|
||||
private final SupPoliceService policeService; |
||||
|
||||
public boolean saveOrUpdate(String departId) { |
||||
List<String> departChildrenIds = departService.getAllNodeIds(departId); |
||||
List<String> list = new ArrayList<>(departChildrenIds); |
||||
list.add(departId); |
||||
long policeSize = policeService.countByOrgIdsAndPersonTypes(list, List.of(PersonTypeEnum.police.getValue())); |
||||
long auxSize = policeService.countByOrgIdsAndPersonTypes(list, PersonTypeEnum.getAuxPersonType()); |
||||
SupDepartPoliceSize departPoliceSize = new SupDepartPoliceSize().setDepartId(departId).setPoliceSize(policeSize).setAuxSize(auxSize); |
||||
return saveOrUpdate(departPoliceSize); |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue