Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong
This commit is contained in:
commit
94f4d6cddc
@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.car.controller;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -10,7 +11,10 @@ import com.google.gson.JsonObject;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.XzSystemUserToCompanyProject;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IXzSystemUserToCompanyProjectService;
|
||||
import com.zhgd.xmgl.modules.car.entity.CarInfo;
|
||||
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
|
||||
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
|
||||
@ -29,10 +33,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@ -56,6 +58,12 @@ public class CarInfoController {
|
||||
@Autowired
|
||||
private IWorkerInfoService workerInfoService;
|
||||
|
||||
@Autowired
|
||||
private INoticeService noticeService;
|
||||
|
||||
@Autowired
|
||||
private IXzSystemUserToCompanyProjectService xzSystemUserToCompanyProjectService;
|
||||
|
||||
@ApiOperation(value = "分页列表查询项目下车辆黑白名单", notes = "分页列表查询项目下车辆黑白名单", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "isBlack", value = "是否黑名单,0白名单,1黑名单", paramType = "body", required = false, dataType = "String"),
|
||||
@ -102,7 +110,7 @@ public class CarInfoController {
|
||||
@OperLog(operModul = "车辆管理", operType = "添加车辆黑白名单", operDesc = "添加车辆黑白名单管理信息")
|
||||
@ApiOperation(value = "添加车辆黑白名单管理信息", notes = "添加车辆黑白名单管理信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/save")
|
||||
public Result<CarInfo> save(@RequestBody Map<String, Object> map) {
|
||||
public Result<Object> save(@RequestBody Map<String, Object> map) {
|
||||
log.info("开始添加车辆" + JSONObject.parseObject(JSON.toJSONString(map)));
|
||||
Object alarmPushWorkerId = map.get("alarmPushWorkerId");
|
||||
String userId = String.valueOf(map.get("enterpriseId"));
|
||||
@ -203,7 +211,23 @@ public class CarInfoController {
|
||||
if (outsideDriverIdCard != null) {
|
||||
carInfo.setOutsideDriverIdCard(outsideDriverIdCard.toString());
|
||||
}
|
||||
if (DateUtil.compare(carInfo.getReserveEndTime(), new Date()) < 0) {
|
||||
List<SystemUser> systemUserList = systemUserService.list(Wrappers.<SystemUser>lambdaQuery()
|
||||
.eq(SystemUser::getAccountType, 5)
|
||||
.eq(SystemUser::getSn, carInfo.getProjectSn()));
|
||||
List<XzSystemUserToCompanyProject> xzSystemUserToCompanyProjects = xzSystemUserToCompanyProjectService.list(Wrappers.<XzSystemUserToCompanyProject>lambdaQuery()
|
||||
.eq(XzSystemUserToCompanyProject::getType, 2)
|
||||
.eq(XzSystemUserToCompanyProject::getSn, carInfo.getProjectSn()));
|
||||
List<String> collect = systemUserList.stream().map(s -> s.getUserId().toString()).collect(Collectors.toList());
|
||||
collect.addAll(xzSystemUserToCompanyProjects.stream().map(x -> x.getUserId().toString()).collect(Collectors.toList()));
|
||||
collect.addAll(carInfo.getUserIds());
|
||||
for (String s : collect) {
|
||||
noticeService.addUserNotice(Long.valueOf(s), StrUtil.format("【预约时间已过期,({})车辆无法下发】", carInfo.getCarNumber()),
|
||||
"车辆下发道闸通知", "24");
|
||||
}
|
||||
} else {
|
||||
carInfoService.addCarInfo(carInfo);
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@ -197,14 +197,9 @@ public class XzMaterialController {
|
||||
}
|
||||
xzMaterial.setNum(index);
|
||||
}
|
||||
// JSONArray entryTime = obj.getJSONArray("entryTime");
|
||||
// if (entryTime != null) {
|
||||
// String begin = entryTime.getString(0);
|
||||
// String end = entryTime.getString(1);
|
||||
xzMaterial.setEntryBeginTime(DateUtil.parse(obj.getString("startTime") + ":00", DatePattern.NORM_DATETIME_FORMAT));
|
||||
xzMaterial.setEntryEndTime(DateUtil.parse(obj.getString("endTime") + ":00", DatePattern.NORM_DATETIME_FORMAT));
|
||||
xzMaterial.setCarNumber(obj.getString("carNumber"));
|
||||
// }
|
||||
JSONArray detail = obj.getJSONArray("detail");
|
||||
if (detail != null) {
|
||||
for (int i = 0; i < detail.size(); i++) {
|
||||
|
||||
@ -195,20 +195,13 @@ public class XzRiskPredictionController {
|
||||
resultMap.put("security", 0);
|
||||
}
|
||||
// 计算面积
|
||||
BigDecimal base = new BigDecimal(0.43);
|
||||
BigDecimal age = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal security = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal b1 = new BigDecimal(1).multiply(age).multiply(base);
|
||||
BigDecimal b2 = age.multiply(exam).multiply(base);
|
||||
BigDecimal b3 = exam.multiply(safe).multiply(base);
|
||||
BigDecimal b4 = safe.multiply(workerType1).multiply(base);
|
||||
BigDecimal b5 = workerType1.multiply(security).multiply(base);
|
||||
BigDecimal b6 = security.multiply(new BigDecimal(1)).multiply(base);
|
||||
BigDecimal area = b1.add(b2).add(b3).add(b4).add(b5).add(b6);
|
||||
resultMap.put("area", area.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
|
||||
BigDecimal age = new BigDecimal(resultMap.get("age").toString());
|
||||
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString());
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("age").toString());
|
||||
BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString());
|
||||
BigDecimal security = new BigDecimal(resultMap.get("age").toString());
|
||||
resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 6, Double.valueOf(1), age.doubleValue(),
|
||||
exam.doubleValue(), safe.doubleValue(), workerType1.doubleValue(), security.doubleValue()), 2));
|
||||
return Result.success(resultMap);
|
||||
}
|
||||
|
||||
@ -702,20 +695,14 @@ public class XzRiskPredictionController {
|
||||
resultMap.put("enterpriseId", enterpriseInfo.getId());
|
||||
|
||||
// 计算面积
|
||||
BigDecimal base = new BigDecimal(0.43);
|
||||
BigDecimal age = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal security = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal b1 = new BigDecimal(1).multiply(age).multiply(base);
|
||||
BigDecimal b2 = age.multiply(exam).multiply(base);
|
||||
BigDecimal b3 = exam.multiply(safe).multiply(base);
|
||||
BigDecimal b4 = safe.multiply(workerType1).multiply(base);
|
||||
BigDecimal b5 = workerType1.multiply(security).multiply(base);
|
||||
BigDecimal b6 = security.multiply(new BigDecimal(1)).multiply(base);
|
||||
BigDecimal area = b1.add(b2).add(b3).add(b4).add(b5).add(b6);
|
||||
resultMap.put("area", area.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
|
||||
// 计算面积
|
||||
BigDecimal age = new BigDecimal(resultMap.get("age").toString());
|
||||
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString());
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
|
||||
BigDecimal workerType1 = new BigDecimal(resultMap.get("workerType").toString());
|
||||
BigDecimal security = new BigDecimal(resultMap.get("security").toString());
|
||||
resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 6, Double.valueOf(1), age.doubleValue(),
|
||||
exam.doubleValue(), safe.doubleValue(), workerType1.doubleValue(), security.doubleValue()), 2));
|
||||
resultList.add(resultMap);
|
||||
}
|
||||
return Result.success(resultList);
|
||||
@ -758,18 +745,12 @@ public class XzRiskPredictionController {
|
||||
resultMap.put("limitTime", 0);
|
||||
}
|
||||
// 计算面积
|
||||
BigDecimal base = new BigDecimal(0.5);
|
||||
BigDecimal security = new BigDecimal(resultMap.get("security").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString()).multiply(new BigDecimal(100));
|
||||
|
||||
BigDecimal b1 = security.multiply(limitTime).multiply(base);
|
||||
BigDecimal b2 = limitTime.multiply(levelRisk).multiply(base);
|
||||
BigDecimal b3 = levelRisk.multiply(safe).multiply(base);
|
||||
BigDecimal b4 = safe.multiply(security).multiply(base);
|
||||
BigDecimal area = b1.add(b2).add(b3).add(b4);
|
||||
resultMap.put("area", area.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
|
||||
BigDecimal security = new BigDecimal(resultMap.get("security").toString());
|
||||
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString());
|
||||
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString());
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
|
||||
resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 4, security.doubleValue(),
|
||||
limitTime.doubleValue(), levelRisk.doubleValue(), safe.doubleValue()), 2));
|
||||
return Result.success(resultMap);
|
||||
}
|
||||
|
||||
@ -827,18 +808,12 @@ public class XzRiskPredictionController {
|
||||
}
|
||||
resultMap.put("enterpriseName", enterpriseInfo.getEnterpriseName());
|
||||
// 计算面积
|
||||
BigDecimal base = new BigDecimal(0.5);
|
||||
BigDecimal security = new BigDecimal(resultMap.get("security").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString()).multiply(new BigDecimal(100));
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString()).multiply(new BigDecimal(100));
|
||||
|
||||
BigDecimal b1 = security.multiply(limitTime).multiply(base);
|
||||
BigDecimal b2 = limitTime.multiply(levelRisk).multiply(base);
|
||||
BigDecimal b3 = levelRisk.multiply(safe).multiply(base);
|
||||
BigDecimal b4 = safe.multiply(security).multiply(base);
|
||||
BigDecimal area = b1.add(b2).add(b3).add(b4);
|
||||
resultMap.put("area", area.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP));
|
||||
BigDecimal security = new BigDecimal(resultMap.get("security").toString());
|
||||
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString());
|
||||
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString());
|
||||
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
|
||||
resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 4, security.doubleValue(),
|
||||
limitTime.doubleValue(), levelRisk.doubleValue(), safe.doubleValue()), 2));
|
||||
resultList.add(resultMap);
|
||||
}
|
||||
return Result.success(resultList);
|
||||
|
||||
@ -63,7 +63,7 @@ public class PolygonUtil {
|
||||
doubles.add(r1);
|
||||
}
|
||||
double sum = doubles.stream().mapToDouble(value -> value).sum();
|
||||
return sum / pentagonArea(1);
|
||||
return sum / polygonArea(r, edgeNum);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user