diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceBdDetailVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceBdDetailVo.java index e1c0d1a..d35aed6 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceBdDetailVo.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/DeviceBdDetailVo.java @@ -31,12 +31,12 @@ public class DeviceBdDetailVo { @ApiModelProperty("最大阈值") @Length(max = 50, message = "最大阈值字符长度不能超过50", groups = {Query.class}) - @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "最大阈值为大于0的数字",groups = {SignProVo.Query.class}) + @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "最大阈值为大于0的数字",groups = {Query.class}) private String maxValueData; @ApiModelProperty("最小阈值") @Length(max = 50, message = "最小阈值长字符度不能超过50", groups = {Query.class}) - @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "最小阈值为大于0的数字",groups = {SignProVo.Query.class}) + @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "最小阈值为大于0的数字",groups = {Query.class}) private String minValueData; @ApiModelProperty("采集值类型") diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/ProVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/ProVo.java index a27f650..354d60a 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/ProVo.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/ProVo.java @@ -1,11 +1,13 @@ package com.securitycontrol.entity.system.base.vo; import com.fasterxml.jackson.annotation.JsonInclude; +import com.securitycontrol.entity.background.vo.DeviceBdDetailVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; import java.util.List; @@ -49,6 +51,7 @@ public class ProVo { @ApiModelProperty(value = "工程成本") @NotBlank(message = "工程成本不能为空", groups = {Query.class}) + @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "工程成本为大于0的数字",groups = {Query.class}) @Length(max = 50, message = "工程成本字符长度不能超过50", groups = {Query.class}) private String proCost; diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/AppServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/AppServiceImpl.java index 6d739b9..14f4f52 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/AppServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/AppServiceImpl.java @@ -213,10 +213,12 @@ public class AppServiceImpl implements IAppService { @Override public AjaxResult proManagement(ParamDto dto) { Map dataMap = new HashMap<>(16); + Map proCost = new HashMap<>(16); ProVo vo = new ProVo(); JSONObject item = new JSONObject(); List> proGxPlanList = new ArrayList<>(); List proCostList = new ArrayList<>(); + double proCostData = 0.0,residueCostData = 0.0,expenditureCostData = 0.0; try { // 工程详情 vo = mapper.getProBrief(dto); @@ -236,13 +238,49 @@ public class AppServiceImpl implements IAppService { } // 标段工程成本 proCostList = mapper.getProCost(dto); + if(CollectionUtils.isNotEmpty(proCostList)){ + BigDecimal value = new BigDecimal("0"); + for (ProjectCostVo costVo : proCostList) { + String amount = costVo.getAmount(); + if(isNumeric(amount)){ + BigDecimal bigDecimal = new BigDecimal(amount); + value = value.add(bigDecimal); + } + } + expenditureCostData = value.doubleValue(); + } } catch (Exception e) { log.error("工程管理", e); } + // 计划成本 已支出 剩余 + if (vo != null && StringUtils.isNotEmpty(vo.getProCost()) && isNumeric(vo.getProCost())) { + proCostData = Double.parseDouble(vo.getProCost()); + } + if(proCostData >= expenditureCostData){ + BigDecimal value = BigDecimal.valueOf(proCostData); + BigDecimal value2 = BigDecimal.valueOf(expenditureCostData); + residueCostData = value.subtract(value2).doubleValue(); + } + proCost.put("proCostList", proCostList); + proCost.put("residueCost", residueCostData); + proCost.put("expenditureCost", expenditureCostData); + proCost.put("planCost", proCostData); dataMap.put("vo", vo); dataMap.put("item", item); dataMap.put("proGxPlan", proGxPlanList); - dataMap.put("proCost", proCostList); + dataMap.put("proCost", proCost); return AjaxResult.success(dataMap); } + + public static boolean isNumeric(String str) { + if (str == null || str.isEmpty()) { + return false; + } + try { + Double.parseDouble(str); + return true; + } catch (NumberFormatException e) { + return false; + } + } } diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SelectController.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SelectController.java index da27ff7..870d77c 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SelectController.java +++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SelectController.java @@ -117,7 +117,6 @@ public class SelectController extends BaseController { return service.getSelectLists(); } - @ApiOperation(value = "项目下拉选") @GetMapping("getProjectList") public AjaxResult getProjectList(SelectDto dto){ @@ -129,4 +128,22 @@ public class SelectController extends BaseController { public AjaxResult getSignProList(SelectDto dto){ return service.getSignProList(dto); } + + @ApiOperation(value = "围栏类型下拉选") + @GetMapping("getRailLists") + public AjaxResult getRailLists() { + return service.getRailLists(); + } + + @ApiOperation(value = "报警下拉选") + @GetMapping("getGiveAnAlarmLists") + public AjaxResult getGiveAnAlarmLists() { + return service.getGiveAnAlarmLists(); + } + + @ApiOperation(value = "警戒等级下拉选") + @GetMapping("getGuardAgainstLists") + public AjaxResult getGuardAgainstLists() { + return service.getGuardAgainstLists(); + } } diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISelectMapper.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISelectMapper.java index b3b90a2..d3efa9c 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISelectMapper.java +++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISelectMapper.java @@ -173,4 +173,34 @@ public interface ISelectMapper { * @date 2024/4/2 14:12 */ List getSignProList(SelectDto dto); + + /** + * 围栏类型下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + List getRailLists(); + + /** + * 报警下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + List getGiveAnAlarmLists(); + + /** + * 警戒等级下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + List getGuardAgainstLists(); } diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISelectService.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISelectService.java index 3daaf96..1893505 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISelectService.java +++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISelectService.java @@ -177,4 +177,31 @@ public interface ISelectService { * @date 2024/4/2 14:11 */ AjaxResult getSignProList(SelectDto dto); + + /** + * 围栏类型下拉选 + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + AjaxResult getRailLists(); + + /** + * 报警下拉选 + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + AjaxResult getGiveAnAlarmLists(); + + /** + * 警戒等级下拉选 + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + AjaxResult getGuardAgainstLists(); } diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SelectServiceImpl.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SelectServiceImpl.java index 38da4de..ee8f949 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SelectServiceImpl.java +++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SelectServiceImpl.java @@ -249,4 +249,61 @@ public class SelectServiceImpl implements ISelectService { } return AjaxResult.success(list); } + + /** + * 围栏类型下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + @Override + public AjaxResult getRailLists() { + List list = new ArrayList<>(); + try { + list = mapper.getRailLists(); + } catch (Exception e) { + log.error("围栏类型下拉选",e); + } + return AjaxResult.success(list); + } + + /** + * 报警下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + @Override + public AjaxResult getGiveAnAlarmLists() { + List list = new ArrayList<>(); + try { + list = mapper.getGiveAnAlarmLists(); + } catch (Exception e) { + log.error("报警下拉选",e); + } + return AjaxResult.success(list); + } + + /** + * 警戒等级下拉选 + * + * @return AjaxResult + * @description + * @author jjLv + * @date 2024/4/2 14:11 + */ + @Override + public AjaxResult getGuardAgainstLists() { + List list = new ArrayList<>(); + try { + list = mapper.getGuardAgainstLists(); + } catch (Exception e) { + log.error("警戒等级下拉选",e); + } + return AjaxResult.success(list); + } } diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml index 9412347..0d3fe08 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml +++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SelectMapper.xml @@ -160,4 +160,28 @@ AND project_no = #{proNo} + + + \ No newline at end of file