三轮车功能修改,用户权限表关系改为user_role_relation

master
Zangzhipeng 1 year ago
parent b304a4c71a
commit 973f00ec7e
  1. 244
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/HighDangerController.java
  2. 8
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/TricycleController.java
  3. 1
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/mapper/HighDangerMapper.java
  4. 2
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/HighDangerService.java
  5. 13
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/service/impl/HighDangerBaseServiceImpl.java
  6. 4
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ConfigMapper.xml
  7. 31
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/HighDangerMapper.xml
  8. 4
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/OperatorMapper.xml
  9. 2
      hiatmp-hidden-danger-server/src/main/resources/sql-mapper/ThtTricycleInfoBaseMapper.xml
  10. 2
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/DTO/SectionDTO.java
  11. 28
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HighDangerBase.java
  12. 9
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/enums/RoleEnum.java

@ -165,6 +165,8 @@ public class HighDangerController {
@RequestParam(defaultValue = "") String search,
@RequestParam(defaultValue = "") String approve,
@RequestParam(defaultValue = "") String classification, // 1 已完成 2 个人上报 3 系统下发
@RequestParam(defaultValue = "", required = false) Float longitude,
@RequestParam(defaultValue = "", required = false) Float latitude,
@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime,
HttpServletRequest request
@ -208,15 +210,18 @@ public class HighDangerController {
int nearDay = base.getNearDay();
int nearHour = base.getNearHour();
// 获取审批流程列表
List<ThtApprove> processRecord = highDangerService.getProcessRecord(base.getBusinessId());
// 待办状态数据
if (Objects.equals(approve, "1")) {
if (!processRecord.isEmpty()) {
// 取审批流程最后一条流程
ThtApprove thtApprove = processRecord.get(processRecord.size() - 1);
// 状态不是驳回
if (!Objects.equals(thtApprove.getApproveResult(), "-1")) {
String approveTime = "";
String approveStatus = "";
String format = dateFormat.format(thtApprove.getOperateTime());
@ -244,7 +249,8 @@ public class HighDangerController {
// base.setEnumname(base.getEnumname() + "(" + approveTime + ") " + approveStatus + " " + format);
}
}
} else {
} else { // 已完成
// 获取审批状态流程表
ThtApprove thtApprove = highDangerMapper.getProcessRecordByNid(base.getBusinessId());
if (thtApprove != null) {
String approveTime = "";
@ -282,6 +288,7 @@ public class HighDangerController {
}
}
}
if (base.getTimeStatus() == null || base.getTimeStatus().equals("9")) {
base.setDeadlineStatus("正常");
base.setDeadlineType("3");
@ -306,45 +313,6 @@ public class HighDangerController {
base.setDeadlineStatus("超期" + delayDay + "天" + delayHour + "小时");
}
base.setDeadlineType("1");
// System.out.println("时间差为 " + days + " 天 " + hours + " 小时");
// String[] split = base.getTimeDiffEnd().split(" ");
// if(split.length > 1){
// base.setDeadlineStatus("正常");
// base.setDeadlineType("3");
// }
//
// // 使用正则表达式匹配天数和小时数
// Pattern pattern = Pattern.compile("(\\d+) days (\\d+):(\\d+):(\\d+\\.\\d+)");
// Matcher matcher = pattern.matcher(base.getTimeDiffEnd());
//
// if (matcher.find()) {
// int days = Integer.parseInt(matcher.group(1));
// int hours = Integer.parseInt(matcher.group(2));
// int minutes = Integer.parseInt(matcher.group(3));
// int seconds = Integer.parseInt(matcher.group(4));
// base.setDeadlineStatus("超期" + days + " 天 " + hours + " 小时");
// base.setDeadlineType("1");
// System.out.println("时间差为: " + days + " 天 " + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒");
// } else {
// System.out.println("无法匹配时间差格式");
// }
// Duration timeDiffEnd = Duration.parse(base.getTimeDiffEnd());
// // 获取总的秒数
// long totalSeconds = timeDiffEnd.getSeconds();
//
// // 计算天数
// long days = totalSeconds / (24 * 3600);
// // 计算剩余小时数
// long hours = (totalSeconds % (24 * 3600)) / 3600;
//
// base.setDeadlineStatus("超期" + days + " 天 " + hours + " 小时");
//
//// System.out.println("时间差为: " + days + " 天 " + hours + " 小时");
// base.setDeadlineType("1");
// continue;
}
if (Objects.equals(base.getTimeStatus(), "2")) {
// // 获取相差的时间戳
@ -365,131 +333,73 @@ public class HighDangerController {
}
base.setDeadlineType("2");
}
// Date pcEndTime = base.getPcEndTime();
// Date pcStartTime = base.getPcStartTime();
//
// if (pcEndTime != null) {
// long diff = nowDate.getTime() - pcEndTime.getTime();
// // 时间差,天数
// long diffDays = diff / (24 * 60 * 60 * 1000);
// diffDays = Math.abs(diffDays);
//
// // 小时
// long remainingHours = (diff % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000);
// remainingHours = Math.abs(remainingHours);
//
// // 判断不足一小时
// long diffHours = diff / (60 * 60 * 1000);
// diffHours = Math.abs(diffHours);
//
// int comparison = nowDate.compareTo(pcEndTime);
// if (comparison > 0) { // 超期逻辑
// if (diffHours < 1) {
// base.setDeadlineStatus("超期不足一小时");
// base.setDeadlineType("1");
// continue;
// }
// if(diffDays == 0){
// base.setDeadlineStatus("超期" + remainingHours + "小时");
// base.setDeadlineType("1");
// continue;
// }else if(remainingHours == 0){
// base.setDeadlineStatus("超期" + diffDays + "天");
// base.setDeadlineType("1");
// continue;
// }
// base.setDeadline(diffDays);
// base.setDeadlineStatus("超期" + diffDays + "天" + remainingHours + "小时");
// base.setDeadlineType("1");
// } else if (comparison < 0 && diffDays <= 3) { // 临期逻辑
// if (diffHours < 1) {
// base.setDeadlineStatus("临期不足一小时");
// base.setDeadlineType("2");
// continue;
// }
// base.setDeadline(diffDays);
// if(diffDays == 0){
// base.setDeadlineStatus("临期" + remainingHours + "小时");
// base.setDeadlineType("2");
// continue;
// }else if(remainingHours == 0){
// base.setDeadlineStatus("临期" + diffDays + "天");
// base.setDeadlineType("2");
// continue;
// }
// base.setDeadlineStatus("临期" + diffDays + "天" + remainingHours + "小时");
// base.setDeadlineType("2");
// } else { // 正常
// base.setDeadline(diffDays);
// base.setDeadlineStatus("正常");
// base.setDeadlineType("3");
// }
// // 排查开始时间判断
// } else if(pcStartTime != null){
// // 无排查结束时间,根据开始时间判断
// long diff = nowDate.getTime() - pcStartTime.getTime();
//
// // 时间差,天数
// long diffDays = diff / (24 * 60 * 60 * 1000);
// diffDays = Math.abs(diffDays);
//
// // 小时
// long remainingHours = (diff % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000);
// remainingHours = Math.abs(remainingHours);
//
// // 判断不足一小时
// long diffHours = diff / (60 * 60 * 1000);
// diffHours = Math.abs(diffHours);
//
// int comparison = nowDate.compareTo(pcStartTime);
// if (comparison > 0) { // 超期
// if (diffHours < 1) {
// base.setDeadlineStatus("超期不足一小时");
// base.setDeadlineType("1");
// continue;
// }
// if(diffDays == 0){
// base.setDeadlineStatus("超期" + remainingHours + "小时");
// base.setDeadlineType("1");
// continue;
// }else if(remainingHours == 0){
// base.setDeadlineStatus("超期" + diffDays + "天");
// base.setDeadlineType("1");
// continue;
// }
// base.setDeadline(diffDays);
// base.setDeadlineStatus("超期" + diffDays + "天" + remainingHours + "小时");
// base.setDeadlineType("1");
// } else if (comparison < 0 && diffDays <= termTime) { // 临期
// if (diffHours < 1) {
// base.setDeadlineStatus("临期不足一小时");
// base.setDeadlineType("2");
// continue;
// }
// base.setDeadline(diffDays);
// if (diffDays == 0) {
// base.setDeadlineStatus("临期" + remainingHours + "小时");
// base.setDeadlineType("2");
// continue;
// } else if (remainingHours == 0) {
// base.setDeadlineStatus("临期" + diffDays + "天");
// base.setDeadlineType("2");
// continue;
// }
// base.setDeadlineStatus("临期" + diffDays + "天" + remainingHours + "小时");
// base.setDeadlineType("2");
// }else{
// base.setDeadlineStatus("正常");
// base.setDeadlineType("3");
// }
//// base.setDeadlineStatus("无排查结束时间");
//// base.setDeadlineType("3");
// }else{
// base.setDeadlineStatus("无排查结束和开始时间");
// base.setDeadlineType("3");
if("1".equals(approve) && "3".equals(classification)){
// 为列表数据添加时间
LinkedList<Map<String, Double>> pointList = new LinkedList<>();
SectionDTO sectionDTO = new SectionDTO();
// 路口
if("1".equals(base.getIfCross())){
sectionDTO = highDangerMapper.getCrossingByCode(base.getCrossCode());
}
// 路段
if("2".equals(base.getIfCross())){
sectionDTO = highDangerMapper.getSectionByCode(base.getSectionCode());
}
if (sectionDTO.getPosition() == null) {
continue;
}
// 将单条路段的坐标点依次取出进行对比
String[] split = sectionDTO.getPosition().split(",");
Point Dpoint = new Point();
Double minDistance = 0.0;
Point point = new Point();
point.setX(longitude);
point.setY(latitude);
for (int i = 0; i < split.length; i += 2) {
float xPoint = Float.parseFloat(split[i]);
float yPoint = Float.parseFloat(split[i + 1]);
Map<String, Double> pointMap = new LinkedHashMap<>();
CoordinateConverter.AMap aMap = CoordinateConverter.transform(longitude, latitude);
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
pointList.add(pointMap);
Dpoint.setX(xPoint);
Dpoint.setY(yPoint);
// 计算两点间的距离
Double pointDistance = highDangerService.getPointDistance(Dpoint, point);
if (minDistance == null || minDistance == 0) {
minDistance = pointDistance;
continue;
} else {
if (pointDistance < minDistance) {
minDistance = pointDistance;
}
}
}
// 设置距离
base.setDistance((int) Math.ceil(minDistance));
}
}
if("1".equals(approve) && "3".equals(classification)) {
// 根据距离排序
statusCounts.sort(new Comparator<HighDangerBase>() {
@Override
public int compare(HighDangerBase o1, HighDangerBase o2) {
return o1.getDistance() - o2.getDistance();
}
});
}
PageInfo<HighDangerBase> pageInfo = new PageInfo<>(statusCounts);
log.info("/getHigDangerDealt(查询各个状态的数据列表)接口数据返回,调用ip: {}, 出参:{}", request.getRemoteAddr(), statusCounts);
@ -1191,6 +1101,7 @@ public class HighDangerController {
basicInfoVO.setRoadCode(manualInvestigation.getSectionCode());
}
basicInfoVO.setBusinessId(hidden_businessId);
// 插入列表
highDangerMapper.insertSectionInfo(basicInfoVO);
}
}
@ -1797,16 +1708,17 @@ public class HighDangerController {
}
/*
获取最新版本号
获取当前操作人信息
*/
@GetMapping("/getCurOperator")
public ServerResponse<?> getCurOperator(@RequestParam String businessId) {
HighDangerBase curOperator = highDangerMapper.getCurOperator(businessId);
HighDangerBase curOperator = highDangerService.getCurOperator(businessId);
return ServerResponse.ok(curOperator.getCurOperUser());
}
/*
获取单隐患数据
获取单隐患数据
*/
@GetMapping("/getHiddenDangerBaseById")
public ServerResponse<?> getHiddenDangerBaseById(@RequestParam String businessId) {

@ -106,7 +106,6 @@ public class TricycleController {
){
log.info("/saveTricycleInfo(【三轮车】保存登记数据)接口被调用,调用ip: {}, 入参:{}", request.getRemoteAddr(), tricycleInfo);
int affect = tricycleService.saveTricycleInfo(tricycleInfo);
if(affect > 0 ){
log.info("/saveTricycleInfo(【三轮车】保存登记数据))接口数据返回,调用ip: {}, 出参:{}", request.getRemoteAddr(), tricycleInfo);
@ -131,7 +130,6 @@ public class TricycleController {
return ServerResponse.ok(tricycleInfoEnumType);
}
/**
* 回显单条数据的详情信息
* @param request
@ -154,7 +152,6 @@ public class TricycleController {
return ServerResponse.ok(tricycleInfoBaseById);
}
/**
* 获取预警处理列表
* @param request
@ -201,7 +198,6 @@ public class TricycleController {
*/
List<TricycleWarningListVO> tricycleWarningListList = tricycleService.getTricycleWarningList(cdepartmentid,roleFlag,status,search);
tricycleWarningListList.forEach(item -> {
// 使用预留字段 ctime 接收 createtime 格式化的时间(Date->String)
item.setWarningTimeFormat(dateFormat.format(item.getWarningTime()));
@ -223,7 +219,9 @@ public class TricycleController {
log.info("/getSquadronVillageList(【三轮车】获取中队绑定村庄列表)接口被调用, 调用ip: {},入参:{}", request.getRemoteAddr(),nuserId);
List<StreetCommunity> streetCommunityBySquadron = configMapper.getStreetCommunityBySquadron(nuserId);
Operator operatorById = operatorService.getOperatorById(nuserId);
List<StreetCommunity> streetCommunityBySquadron = configMapper.getStreetCommunityBySquadron(operatorById.getCdepartmentid());
log.info("/getSquadronVillageList(【三轮车】获取中队绑定村庄列表)接口数据返回,调用ip: {}, 出参:{}", request.getRemoteAddr(), streetCommunityBySquadron);

@ -24,7 +24,6 @@ public interface HighDangerMapper{
// 主页获取各类型数据
List<HighDangerBaseNum> getStatusCounts(@Param("cdepartmentid") String cdepartmentid, @Param("nuserid") String nuserid,@Param("role") Integer role);
//
List<HighDangerBase> getHigDangerDealt(@Param("status") String status,
@Param("cdepartmentid") String cdepartmentid,
@Param("search") String search,

@ -55,4 +55,6 @@ public interface HighDangerService {
String randomNumber(int number);
void getCurData();
HighDangerBase getCurOperator(String businessId);
}

@ -410,6 +410,19 @@ public class HighDangerBaseServiceImpl implements HighDangerService {
}
@Override
public HighDangerBase getCurOperator(String businessId) {
HighDangerBase curOperator = highDangerMapper.getCurOperator(businessId);
// Operator operatorById = operatorMapper.getOperatorById(curOperator.getCurOperUser());
// LinkedHashMap<String, String> operatorMap = new LinkedHashMap<>();
// operatorMap.put("nuserId", operatorById.getNuserid());
// operatorMap.put("cuserName", operatorById.getCusername());
return curOperator;
}
// public Map<String, Map<Double,String>> sortMapByValue(HashMap<String, Object> unsortedMap) {
// Map<String, Map<Double,String>> sortedMap = new LinkedHashMap<>();
// Comparator<Double> valueComparator = Comparator.naturalOrder();

@ -27,8 +27,8 @@
</select>
<select id="getStreetCommunityByXq" resultType="com.hisense.hiatmp.server_api.model.StreetCommunity">
select DISTINCT
*
SELECT DISTINCT on (jdcode)
jdname,jdcode,xqcode,xqname
from
tlv_street_community
<if test="xqcode != ''">

@ -473,7 +473,6 @@
WHERE
1 = 1
<if test="status == '10' and approve == 1">
AND hdb.status in ('0','10')
AND COALESCE(hdb.approve_status,'0')IN('0','-1')
@ -512,7 +511,6 @@
)
</if>
AND hdr.nid is not null
<if test="cdepartmentid != null and cdepartmentid != ''">
@ -527,10 +525,24 @@
and COALESCE(hdb.last_mod_date, hdb.insert_time) &lt;= to_date(#{endTime}, 'yyyy-MM-DD') + 1
</if>
<if test="classification == 2">
<if test="status != '60' and approve == 1 and classification == 1">
-- 时间最早
Order by CASE
WHEN hdb.last_mod_date IS NULL AND hdb.insert_time IS NULL THEN 1
ELSE 0 END,
COALESCE(hdb.last_mod_date, hdb.insert_time) DESC
</if>
<if test="status != '60' and approve == 1 and classification == 2">
-- 时间最晚
Order by CASE
WHEN hdb.last_mod_date IS NULL AND hdb.insert_time IS NULL THEN 1
ELSE 0 END,
COALESCE(hdb.last_mod_date, hdb.insert_time) ASC
</if>
<if test="approve == 2 and classification == 2">
AND hdb.source = '2'
</if>
<if test="classification == 3">
<if test="approve == 2 and classification == 3">
AND hdb.source = '1'
</if>
@ -546,11 +558,12 @@
hdb.name asc
</if>
) t1
<if test="status != '60'">
ORDER BY
time_status asc,
t1.planEndTime asc
</if>
<!-- <if test="status != '60'">-->
<!-- ORDER BY-->
<!-- time_status asc,-->
<!-- t1.planEndTime asc-->
<!-- </if>-->
</select>

@ -28,9 +28,9 @@
</select>
<select id="getRoleById" resultType="String">
select r.rolename from role_operation_relation ror
select r.rolename from user_role_relation ror
LEFT JOIN "public"."role" r on ror.roleid = r.roleid
where ror.operationid = #{nuserid}
where ror.nuserid = #{nuserid}
</select>
<select id="getOperatorDataSum" resultType="com.hisense.hiatmp.model.common.HighDangerBaseNum">

@ -43,6 +43,8 @@
<if test="search != null and search != ''">
AND ttib.vehicle_license like concat(concat('%',#{search}),'%')
</if>
Order by
ttib.driver_name COLLATE "zh_CN.utf8" ASC
</select>
<!-- <select id="getTricycleList" resultType="com.hisense.hiatmp.model.common.VO.TricycleListVO">-->

@ -10,7 +10,7 @@ public class SectionDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String sectionCode;
private String crossingCode;
private String crossCode;
private String businessId;
private String roadCode;
private String sectionName;

@ -20,6 +20,7 @@ public class HighDangerBase implements Serializable {
*/
private String nid;
@JsonIgnore
private String taNid;
/**
@ -40,16 +41,19 @@ public class HighDangerBase implements Serializable {
/**
* source
*/
@JsonIgnore
private String source;
/**
* find_way
*/
@JsonIgnore
private String findWay;
/**
* area
*/
@JsonIgnore
private String area;
/**
@ -60,6 +64,7 @@ public class HighDangerBase implements Serializable {
/**
* find_time
*/
@JsonIgnore
private Date findTime;
/**
@ -72,53 +77,62 @@ public class HighDangerBase implements Serializable {
/**
* insert_time
*/
@JsonIgnore
private Date insertTime;
/**
* pc_start_time
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pcStartTime;
/**
* pc_end_time
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date pcEndTime;
@JsonIgnore
private Date roadPcEndTime;
/**
* zl_start_time
*/
@JsonIgnore
private String zlStartTime;
/**
* zl_end_time
*/
@JsonIgnore
private String zlEndTime;
/**
* gz_start_time
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String gzStartTime;
/**
* gz_end_time
*/
@JsonIgnore
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String gzEndTime;
/**
* report_dept
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonIgnore
private String reportDept;
/**
* handle_dept
*/
@JsonIgnore
private String handleDept;
/**
@ -143,6 +157,7 @@ public class HighDangerBase implements Serializable {
/**
* split_id
*/
@JsonIgnore
private String splitId;
/**
@ -158,11 +173,13 @@ public class HighDangerBase implements Serializable {
/**
* fa_start_time
*/
@JsonIgnore
private String faStartTime;
/**
* fa_end_time
*/
@JsonIgnore
private String faEndTime;
/**
@ -188,9 +205,11 @@ public class HighDangerBase implements Serializable {
private String coordinate;
// 地址类型
@JsonIgnore
private String coordinateType;
// 画圆半径
@JsonIgnore
private String radius;
// 辖区
@ -204,14 +223,19 @@ public class HighDangerBase implements Serializable {
// 道路名称
private String sectionName;
@JsonIgnore
private String timeStatus;
@JsonIgnore
private int delayDay;
@JsonIgnore
private int delayHour;
@JsonIgnore
private int nearDay;
@JsonIgnore
private int nearHour;
private String cuserName;
@ -224,4 +248,6 @@ public class HighDangerBase implements Serializable {
private String enumname;
private int distance;
}

@ -1,19 +1,20 @@
package com.hisense.hiatmp.model.common.enums;
import lombok.Data;
import lombok.Getter;
@Getter
public enum RoleEnum {
VILLAGE_CADRE("村干部农三轮"),
TRICYCLE_SQUADRON_POLICE_OFFICERS("中队民警农三轮")
;
private String name;
private final String name;
RoleEnum(String roleEnum) {
this.name = roleEnum;
}
public String getName() {
return name;
}
}

Loading…
Cancel
Save