Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong

This commit is contained in:
guoshengxiong 2024-06-20 17:09:51 +08:00
commit 94f4d6cddc
4 changed files with 58 additions and 64 deletions

View File

@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.car.controller;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -10,7 +11,10 @@ import com.google.gson.JsonObject;
import com.zhgd.annotation.OperLog; import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; 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.ISystemUserService;
import com.zhgd.xmgl.modules.basicdata.service.IXzSystemUserToCompanyProjectService;
import com.zhgd.xmgl.modules.car.entity.CarInfo; import com.zhgd.xmgl.modules.car.entity.CarInfo;
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo; import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
import com.zhgd.xmgl.modules.car.service.ICarInfoService; 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 org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap; import java.util.stream.Collectors;
import java.util.List;
import java.util.Map;
/** /**
@ -56,6 +58,12 @@ public class CarInfoController {
@Autowired @Autowired
private IWorkerInfoService workerInfoService; private IWorkerInfoService workerInfoService;
@Autowired
private INoticeService noticeService;
@Autowired
private IXzSystemUserToCompanyProjectService xzSystemUserToCompanyProjectService;
@ApiOperation(value = "分页列表查询项目下车辆黑白名单", notes = "分页列表查询项目下车辆黑白名单", httpMethod = "POST") @ApiOperation(value = "分页列表查询项目下车辆黑白名单", notes = "分页列表查询项目下车辆黑白名单", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "isBlack", value = "是否黑名单0白名单1黑名单", paramType = "body", required = false, dataType = "String"), @ApiImplicitParam(name = "isBlack", value = "是否黑名单0白名单1黑名单", paramType = "body", required = false, dataType = "String"),
@ -102,7 +110,7 @@ public class CarInfoController {
@OperLog(operModul = "车辆管理", operType = "添加车辆黑白名单", operDesc = "添加车辆黑白名单管理信息") @OperLog(operModul = "车辆管理", operType = "添加车辆黑白名单", operDesc = "添加车辆黑白名单管理信息")
@ApiOperation(value = "添加车辆黑白名单管理信息", notes = "添加车辆黑白名单管理信息", httpMethod = "POST") @ApiOperation(value = "添加车辆黑白名单管理信息", notes = "添加车辆黑白名单管理信息", httpMethod = "POST")
@PostMapping(value = "/save") @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))); log.info("开始添加车辆" + JSONObject.parseObject(JSON.toJSONString(map)));
Object alarmPushWorkerId = map.get("alarmPushWorkerId"); Object alarmPushWorkerId = map.get("alarmPushWorkerId");
String userId = String.valueOf(map.get("enterpriseId")); String userId = String.valueOf(map.get("enterpriseId"));
@ -203,7 +211,23 @@ public class CarInfoController {
if (outsideDriverIdCard != null) { if (outsideDriverIdCard != null) {
carInfo.setOutsideDriverIdCard(outsideDriverIdCard.toString()); carInfo.setOutsideDriverIdCard(outsideDriverIdCard.toString());
} }
carInfoService.addCarInfo(carInfo); 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(); return Result.ok();
} }

View File

@ -197,14 +197,9 @@ public class XzMaterialController {
} }
xzMaterial.setNum(index); 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.setEntryBeginTime(DateUtil.parse(obj.getString("startTime") + ":00", DatePattern.NORM_DATETIME_FORMAT));
xzMaterial.setEntryEndTime(DateUtil.parse(obj.getString("endTime") + ":00", DatePattern.NORM_DATETIME_FORMAT)); xzMaterial.setEntryEndTime(DateUtil.parse(obj.getString("endTime") + ":00", DatePattern.NORM_DATETIME_FORMAT));
xzMaterial.setCarNumber(obj.getString("carNumber")); xzMaterial.setCarNumber(obj.getString("carNumber"));
// }
JSONArray detail = obj.getJSONArray("detail"); JSONArray detail = obj.getJSONArray("detail");
if (detail != null) { if (detail != null) {
for (int i = 0; i < detail.size(); i++) { for (int i = 0; i < detail.size(); i++) {

View File

@ -195,20 +195,13 @@ public class XzRiskPredictionController {
resultMap.put("security", 0); resultMap.put("security", 0);
} }
// 计算面积 // 计算面积
BigDecimal base = new BigDecimal(0.43); BigDecimal age = new BigDecimal(resultMap.get("age").toString());
BigDecimal age = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal exam = new BigDecimal(resultMap.get("exam").toString());
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString()).multiply(new BigDecimal(100)); BigDecimal safe = new BigDecimal(resultMap.get("age").toString());
BigDecimal safe = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString());
BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal security = new BigDecimal(resultMap.get("age").toString());
BigDecimal security = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 6, Double.valueOf(1), age.doubleValue(),
BigDecimal b1 = new BigDecimal(1).multiply(age).multiply(base); exam.doubleValue(), safe.doubleValue(), workerType1.doubleValue(), security.doubleValue()), 2));
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));
return Result.success(resultMap); return Result.success(resultMap);
} }
@ -702,20 +695,14 @@ public class XzRiskPredictionController {
resultMap.put("enterpriseId", enterpriseInfo.getId()); resultMap.put("enterpriseId", enterpriseInfo.getId());
// 计算面积 // 计算面积
BigDecimal base = new BigDecimal(0.43); // 计算面积
BigDecimal age = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal age = new BigDecimal(resultMap.get("age").toString());
BigDecimal exam = new BigDecimal(resultMap.get("exam").toString()).multiply(new BigDecimal(100)); BigDecimal exam = new BigDecimal(resultMap.get("exam").toString());
BigDecimal safe = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
BigDecimal workerType1 = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal workerType1 = new BigDecimal(resultMap.get("workerType").toString());
BigDecimal security = new BigDecimal(resultMap.get("age").toString()).multiply(new BigDecimal(100)); BigDecimal security = new BigDecimal(resultMap.get("security").toString());
BigDecimal b1 = new BigDecimal(1).multiply(age).multiply(base); resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 6, Double.valueOf(1), age.doubleValue(),
BigDecimal b2 = age.multiply(exam).multiply(base); exam.doubleValue(), safe.doubleValue(), workerType1.doubleValue(), security.doubleValue()), 2));
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));
resultList.add(resultMap); resultList.add(resultMap);
} }
return Result.success(resultList); return Result.success(resultList);
@ -758,18 +745,12 @@ public class XzRiskPredictionController {
resultMap.put("limitTime", 0); resultMap.put("limitTime", 0);
} }
// 计算面积 // 计算面积
BigDecimal base = new BigDecimal(0.5); BigDecimal security = new BigDecimal(resultMap.get("security").toString());
BigDecimal security = new BigDecimal(resultMap.get("security").toString()).multiply(new BigDecimal(100)); BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString());
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString()).multiply(new BigDecimal(100)); BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString());
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString()).multiply(new BigDecimal(100)); BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString()).multiply(new BigDecimal(100)); resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 4, security.doubleValue(),
limitTime.doubleValue(), levelRisk.doubleValue(), safe.doubleValue()), 2));
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));
return Result.success(resultMap); return Result.success(resultMap);
} }
@ -827,18 +808,12 @@ public class XzRiskPredictionController {
} }
resultMap.put("enterpriseName", enterpriseInfo.getEnterpriseName()); resultMap.put("enterpriseName", enterpriseInfo.getEnterpriseName());
// 计算面积 // 计算面积
BigDecimal base = new BigDecimal(0.5); BigDecimal security = new BigDecimal(resultMap.get("security").toString());
BigDecimal security = new BigDecimal(resultMap.get("security").toString()).multiply(new BigDecimal(100)); BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString());
BigDecimal limitTime = new BigDecimal(resultMap.get("limitTime").toString()).multiply(new BigDecimal(100)); BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString());
BigDecimal levelRisk = new BigDecimal(resultMap.get("levelRisk").toString()).multiply(new BigDecimal(100)); BigDecimal safe = new BigDecimal(resultMap.get("safe").toString());
BigDecimal safe = new BigDecimal(resultMap.get("safe").toString()).multiply(new BigDecimal(100)); resultMap.put("area", NumberUtils.percent(PolygonUtil.calRadioArea(1.0, 4, security.doubleValue(),
limitTime.doubleValue(), levelRisk.doubleValue(), safe.doubleValue()), 2));
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));
resultList.add(resultMap); resultList.add(resultMap);
} }
return Result.success(resultList); return Result.success(resultList);

View File

@ -63,7 +63,7 @@ public class PolygonUtil {
doubles.add(r1); doubles.add(r1);
} }
double sum = doubles.stream().mapToDouble(value -> value).sum(); double sum = doubles.stream().mapToDouble(value -> value).sum();
return sum / pentagonArea(1); return sum / polygonArea(r, edgeNum);
} }
public static void main(String[] args) { public static void main(String[] args) {