From 0b1705d8b0e39d5accb79cb9e40e6eeaf00f33a7 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Tue, 2 Apr 2024 14:44:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE/=E5=8D=95=E9=A1=B9=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/background/dto/ParamDto.java | 6 + .../entity/background/vo/ProjectVo.java | 57 ++++ .../entity/background/vo/SignProVo.java | 99 +++++++ .../entity/system/dto/SelectDto.java | 3 + .../controller/SignProController.java | 70 ++++- .../background/mapper/ISignProMapper.java | 119 ++++++++ .../background/service/ISignProService.java | 79 ++++++ .../service/impl/SignProServiceImpl.java | 149 +++++++++++ .../main/resources/mapper/DeviceBdMapper.xml | 2 +- .../main/resources/mapper/SignProMapper.xml | 253 +++++++++++++++++- .../base/controller/SelectController.java | 11 + .../system/base/mapper/ISelectMapper.java | 27 +- .../system/base/service/ISelectService.java | 25 ++ .../base/service/impl/SelectServiceImpl.java | 22 ++ .../resources/mapper/base/SelectMapper.xml | 15 ++ 15 files changed, 930 insertions(+), 7 deletions(-) create mode 100644 securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/SignProVo.java diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java index 3411723..6e7cad7 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/dto/ParamDto.java @@ -55,4 +55,10 @@ public class ParamDto { @ApiModelProperty(value = "人员id") private String userId; + + @ApiModelProperty(value = "项目编码") + private String proNo; + + @ApiModelProperty(value = "单项编码") + private String signNo; } diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/ProjectVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/ProjectVo.java index 3b46775..53d2cc3 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/ProjectVo.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/ProjectVo.java @@ -2,6 +2,10 @@ package com.securitycontrol.entity.background.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; /** * @author:cwchen @@ -16,17 +20,70 @@ public class ProjectVo { private String id; @ApiModelProperty("项目名称") + @NotBlank(message = "项目名称不能为空", groups = {Query.class}) + @Length(max = 200, message = "项目名称字符长度不能超过200", groups = {Query.class}) private String proName; @ApiModelProperty("项目编码") + @NotBlank(message = "项目编码不能为空", groups = {Query.class}) + @Length(max = 30, message = "项目编码字符长度不能超过30", groups = {Query.class}) private String proNo; @ApiModelProperty("建管单位ID") + @NotBlank(message = "建管单位不能为空", groups = {Query.class}) + @Length(max = 32, message = "建管单位字符长度不能超过32", groups = {Query.class}) private String orgId; + @ApiModelProperty("建管单位名称") + private String orgName; + @ApiModelProperty("电压等级") private String vlotage; @ApiModelProperty("工程类型") private String proType; + + @ApiModelProperty("建设性质") + private String constructionNature; + + @ApiModelProperty("计划性质") + private String planNature; + + @ApiModelProperty("建设规模-线路") + @Length(max = 32, message = "建设规模-线路字符长度不能超过32", 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}) + private String line; + + @ApiModelProperty("建设规模-变电") + @Length(max = 32, message = "建设规模-变电字符长度不能超过32", 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}) + private String power; + + @ApiModelProperty("计划开始时间") + @NotBlank(message = "计划开始时间不能为空", groups = {Query.class}) + @Length(max = 32, message = "计划开始时间字符长度不能超过32", groups = {Query.class}) + private String planStartTime; + + @ApiModelProperty("计划结束时间") + @NotBlank(message = "计划结束时间不能为空", groups = {Query.class}) + @Length(max = 32, message = "计划结束时间字符长度不能超过32", groups = {Query.class}) + private String planEndTime; + + @ApiModelProperty("实际开始时间") + private String startTime; + + @ApiModelProperty("实际结束时间") + private String endTime; + + @ApiModelProperty("投产时间") + private String tcTime; + + @ApiModelProperty("1.新增 2.修改") + private int type; + + /** + * 查询条件限制 + */ + public interface Query { + } } diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/SignProVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/SignProVo.java new file mode 100644 index 0000000..115cf83 --- /dev/null +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/SignProVo.java @@ -0,0 +1,99 @@ +package com.securitycontrol.entity.background.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; + +/** + * @author:cwchen + * @date:2024-04-02-13:10 + * @version:1.0 + * @description:单项工程-vo + */ +@Data +public class SignProVo { + + @ApiModelProperty("项目ID") + private String id; + + @ApiModelProperty("单项工程名称") + @NotBlank(message = "单项工程名称不能为空", groups = {Query.class}) + @Length(max = 200, message = "单项工程名称字符长度不能超过200", groups = {Query.class}) + private String singleName; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("单项工程编码") + @NotBlank(message = "单项工程编码不能为空", groups = {Query.class}) + @Length(max = 80, message = "单项工程编码字符长度不能超过80", groups = {Query.class}) + private String signleNo; + + @ApiModelProperty("项目编码") + @NotBlank(message = "项目编码不能为空", groups = {Query.class}) + @Length(max = 50, message = "项目编码字符长度不能超过50", groups = {Query.class}) + private String proNo; + + @ApiModelProperty("wbs编码") + @Length(max = 255, message = "wbs编码字符长度不能超过255", groups = {Query.class}) + private String wbsCode; + + @ApiModelProperty("单项工程描述") + @Length(max = 255, message = "单项工程描述长度不能超过255", groups = {Query.class}) + private String singleDesc; + + @ApiModelProperty("电压等级") + @Length(max = 32, message = "电压等级长度不能超过32", groups = {Query.class}) + private String volLevel; + + @ApiModelProperty("可研线路长度") + @Length(max = 32, message = "线路长度字符长度不能超过32", 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}) + private String lineLength; + + @ApiModelProperty("可研变电容量") + @Length(max = 32, message = "建设规模-线路字符长度不能超过32", 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}) + private String subsCap; + + @ApiModelProperty("单项类型(1:变电;2:线路)") + @NotBlank(message = "单项类型不能为空", groups = {Query.class}) + @Length(max = 11, message = "单项工程编码字符长度不能超过11", groups = {Query.class}) + private String proType; + + @ApiModelProperty("变电站类型包括:1 土建,2 电气,3 变电") + @Length(max = 11, message = "变电站类型字符长度不能超过11", groups = {Query.class}) + private String subsType; + + @ApiModelProperty("估算类型") + private String estimateType; + + @ApiModelProperty("建管单位ID") + @NotBlank(message = "建管单位不能为空", groups = {Query.class}) + @Length(max = 30, message = "建管单位字符长度不能超过30", groups = {Query.class}) + private String orgId; + + @ApiModelProperty("建管单位名称") + private String orgName; + + @ApiModelProperty("实际开工时间") + private String startDate; + + @ApiModelProperty("实际投产时间") + private String endDate; + + @ApiModelProperty("实际竣工时间") + private String completeDate; + + @ApiModelProperty("1.新增 2.修改") + private int type; + + /** + * 查询条件限制 + */ + public interface Query { + } +} diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/dto/SelectDto.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/dto/SelectDto.java index fe9eced..9e3ec92 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/dto/SelectDto.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/dto/SelectDto.java @@ -27,4 +27,7 @@ public class SelectDto { private String orgId; @ApiModelProperty(value = "cityName") private String cityName; + + @ApiModelProperty(value = "项目编码") + private String proNo; } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/SignProController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/SignProController.java index 270772b..93bb59f 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/SignProController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/SignProController.java @@ -2,15 +2,15 @@ package com.securitycontrol.background.controller; import com.securitycontrol.background.service.ISignProService; import com.securitycontrol.common.core.web.controller.BaseController; +import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.common.core.web.page.TableDataInfo; import com.securitycontrol.common.log.annotation.Log; import com.securitycontrol.common.log.enums.OperationType; import com.securitycontrol.entity.background.dto.ParamDto; import com.securitycontrol.entity.background.vo.ProjectVo; +import com.securitycontrol.entity.background.vo.SignProVo; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; @@ -38,4 +38,68 @@ public class SignProController extends BaseController { list = service.getProLists(dto); return getDataTable(list); } + + @ApiOperation(value = "新增项目") + @PostMapping("addProject") + @Log(title = "工程管理", menu = "工程管理->项目管理", grade = OperationType.ADD_BUSINESS, details = "新增项目", type = "业务日志") + public AjaxResult addProject(@RequestBody ProjectVo vo) { + return service.addOrUpdateProject(vo); + } + + @ApiOperation(value = "修改项目") + @PostMapping("updateProject") + @Log(title = "工程管理", menu = "工程管理->项目管理", grade = OperationType.ADD_BUSINESS, details = "修改项目", type = "业务日志") + public AjaxResult updateProject(@RequestBody ProjectVo vo) { + return service.addOrUpdateProject(vo); + } + + @ApiOperation(value = "项目详情") + @GetMapping(value="getProjectById") + public AjaxResult getProjectById(ParamDto dto){ + return service.getProjectById(dto); + } + + @ApiOperation(value = "删除项目") + @PostMapping(value="delProjectById") + @Log(title = "工程管理", menu = "工程管理->项目管理", grade = OperationType.DELETE_BUSINESS, details = "删除项目", type = "业务日志") + public AjaxResult delProjectById(@RequestBody ParamDto dto){ + return service.delProjectById(dto); + } + + @ApiOperation(value = "获取单项工程列表") + @GetMapping("getSignProLists") + @Log(title = "工程管理", menu = "工程管理->单项工程管理", grade = OperationType.QUERY_BUSINESS, details = "查询单项工程列表", type = "业务日志") + public TableDataInfo getSignProLists(ParamDto dto) { + startPage(); + List list = new ArrayList<>(); + list = service.getSignProLists(dto); + return getDataTable(list); + } + + @ApiOperation(value = "新增单项工程") + @PostMapping("addSignProject") + @Log(title = "工程管理", menu = "工程管理->单项工程管理", grade = OperationType.ADD_BUSINESS, details = "新增单项工程", type = "业务日志") + public AjaxResult addSignProject(@RequestBody SignProVo vo) { + return service.addOrUpdateSignProject(vo); + } + + @ApiOperation(value = "修改单项工程") + @PostMapping("updateSignProject") + @Log(title = "工程管理", menu = "工程管理->单项工程管理", grade = OperationType.ADD_BUSINESS, details = "修改单项工程", type = "业务日志") + public AjaxResult updateSignProject(@RequestBody SignProVo vo) { + return service.addOrUpdateSignProject(vo); + } + + @ApiOperation(value = "单项工程详情") + @GetMapping(value="getSignProById") + public AjaxResult getSignProById(ParamDto dto){ + return service.getSignProById(dto); + } + + @ApiOperation(value = "删除单项工程") + @PostMapping(value="delSignProById") + @Log(title = "工程管理", menu = "工程管理->项目管理", grade = OperationType.DELETE_BUSINESS, details = "删除单项工程", type = "业务日志") + public AjaxResult delSignProById(@RequestBody ParamDto dto){ + return service.delSignProById(dto); + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ISignProMapper.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ISignProMapper.java index 9d7bd6f..f3c0f18 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ISignProMapper.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/ISignProMapper.java @@ -2,6 +2,7 @@ package com.securitycontrol.background.mapper; import com.securitycontrol.entity.background.dto.ParamDto; import com.securitycontrol.entity.background.vo.ProjectVo; +import com.securitycontrol.entity.background.vo.SignProVo; import org.springframework.stereotype.Repository; import java.util.List; @@ -18,6 +19,7 @@ public interface ISignProMapper { /** * 获取项目列表 + * * @param dto * @return List * @description @@ -25,4 +27,121 @@ public interface ISignProMapper { * @date 2024/4/1 20:02 */ List getProLists(ParamDto dto); + + /** + * 项目工程是否存在 + * + * @param vo + * @param type + * @return int + * @description + * @author cwchen + * @date 2024/4/2 10:24 + */ + int isProject(ProjectVo vo); + + /** + * 新增/修改 项目 + * + * @param vo + * @description + * @author cwchen + * @date 2024/4/2 10:36 + */ + void addOrUpdateProject(ProjectVo vo); + + /** + * 项目详情 + * + * @param dto + * @return ProjectVo + * @description + * @author cwchen + * @date 2024/4/2 10:48 + */ + ProjectVo getProjectById(ParamDto dto); + + /** + * 项目包含是否单项工程 + * + * @param dto + * @return int + * @description + * @author cwchen + * @date 2024/4/2 10:53 + */ + int isHasChildPro(ParamDto dto); + + /** + * 删除项目 + * + * @param dto + * @description + * @author cwchen + * @date 2024/4/2 10:53 + */ + void delProjectById(ParamDto dto); + + /** + * 单项工程列表 + * + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/4/2 13:18 + */ + List getSignProLists(ParamDto dto); + + /** + * 单项工程是否存在 + * + * @param vo + * @return int + * @description + * @author cwchen + * @date 2024/4/2 13:36 + */ + int isSignPro(SignProVo vo); + + /** + * 新增/修改 单项工程 + * + * @param vo + * @description + * @author cwchen + * @date 2024/4/2 13:36 + */ + void addOrUpdateSignProject(SignProVo vo); + + /** + * 单项工程详情 + * + * @param dto + * @return SignProVo + * @description + * @author cwchen + * @date 2024/4/2 13:49 + */ + SignProVo getSignProById(ParamDto dto); + + /** + * 单项工程是否包含标段工程 + * + * @param dto + * @return int + * @description + * @author cwchen + * @date 2024/4/2 13:49 + */ + int isHasBidChildPro(ParamDto dto); + + /** + * 删除单项工程 + * @param dto + * @description + * @author cwchen + * @date 2024/4/2 13:49 + */ + void delSignProById(ParamDto dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ISignProService.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ISignProService.java index 07dc326..c9dc519 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ISignProService.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/ISignProService.java @@ -1,7 +1,9 @@ package com.securitycontrol.background.service; +import com.securitycontrol.common.core.web.domain.AjaxResult; import com.securitycontrol.entity.background.dto.ParamDto; import com.securitycontrol.entity.background.vo.ProjectVo; +import com.securitycontrol.entity.background.vo.SignProVo; import java.util.List; @@ -14,6 +16,7 @@ import java.util.List; public interface ISignProService { /** * 获取项目列表 + * * @param dto * @return List * @description @@ -21,4 +24,80 @@ public interface ISignProService { * @date 2024/4/1 19:59 */ List getProLists(ParamDto dto); + + /** + * 新增/修改项目 + * + * @param vo + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 10:17 + */ + AjaxResult addOrUpdateProject(ProjectVo vo); + + /** + * 项目详情 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 10:46 + */ + AjaxResult getProjectById(ParamDto dto); + + /** + * 删除项目 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 10:50 + */ + AjaxResult delProjectById(ParamDto dto); + + /** + * 获取单项工程列表 + * + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/4/2 13:17 + */ + List getSignProLists(ParamDto dto); + + /** + * 新增/修改 单项工程 + * + * @param vo + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 13:29 + */ + AjaxResult addOrUpdateSignProject(SignProVo vo); + + /** + * 单项工程详情 + * + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 13:46 + */ + AjaxResult getSignProById(ParamDto dto); + + /** + * 删除单项工程 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 13:46 + */ + AjaxResult delSignProById(ParamDto dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/SignProServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/SignProServiceImpl.java index 362ab66..5841429 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/SignProServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/SignProServiceImpl.java @@ -2,11 +2,18 @@ package com.securitycontrol.background.service.impl; import com.securitycontrol.background.mapper.ISignProMapper; import com.securitycontrol.background.service.ISignProService; +import com.securitycontrol.common.core.utils.StringUtils; +import com.securitycontrol.common.core.utils.uuid.IdUtils; import com.securitycontrol.common.core.web.domain.AjaxResult; +import com.securitycontrol.common.security.utils.ValidatorsUtils; import com.securitycontrol.entity.background.dto.ParamDto; +import com.securitycontrol.entity.background.vo.HumanManageVo; import com.securitycontrol.entity.background.vo.ProjectVo; +import com.securitycontrol.entity.background.vo.SignProVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.util.ArrayList; @@ -25,6 +32,9 @@ public class SignProServiceImpl implements ISignProService { @Resource(name = "ISignProMapper") private ISignProMapper mapper; + @Resource(name = "ValidatorsUtils") + private ValidatorsUtils validatorsUtils; + @Override public List getProLists(ParamDto dto) { List list = new ArrayList<>(); @@ -35,4 +45,143 @@ public class SignProServiceImpl implements ISignProService { } return list; } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult addOrUpdateProject(ProjectVo vo) { + try { + String validResult = validatorsUtils.valid(vo, ProjectVo.Query.class); + if (StringUtils.isNotBlank(validResult)) { + return AjaxResult.error(validResult); + } + int result = mapper.isProject(vo); + if (result > 0) { + return AjaxResult.error("项目编码不能重复"); + } + if (StringUtils.isEmpty(vo.getId())) { + String id = IdUtils.getUUId(); + vo.setId(id); + vo.setType(1); + } else { + vo.setType(2); + } + mapper.addOrUpdateProject(vo); + } catch (Exception e) { + log.error("新增/修改项目",e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + return AjaxResult.success(); + } + + @Override + public AjaxResult getProjectById(ParamDto dto) { + ProjectVo vo = new ProjectVo(); + try { + if(StringUtils.isEmpty(dto.getId())){ + return AjaxResult.error("参数不完整"); + } + vo = mapper.getProjectById(dto); + } catch (Exception e) { + log.error("项目详情",e); + } + return AjaxResult.success(vo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult delProjectById(ParamDto dto) { + try { + if(StringUtils.isEmpty(dto.getId()) || StringUtils.isEmpty(dto.getProNo())){ + return AjaxResult.error("参数不完整"); + } + int result = mapper.isHasChildPro(dto); + if(result > 0){ + return AjaxResult.error("项目包含单项工程"); + } + mapper.delProjectById(dto); + } catch (Exception e) { + log.error("删除项目",e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + return AjaxResult.success(); + } + + @Override + public List getSignProLists(ParamDto dto) { + List list = new ArrayList<>(); + try { + list = mapper.getSignProLists(dto); + } catch (Exception e) { + log.error("单项工程列表",e); + } + return list; + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult addOrUpdateSignProject(SignProVo vo) { + try { + String validResult = validatorsUtils.valid(vo, SignProVo.Query.class); + if (StringUtils.isNotBlank(validResult)) { + return AjaxResult.error(validResult); + } + int result = mapper.isSignPro(vo); + if (result > 0) { + return AjaxResult.error("单项编码不能重复"); + } + if (StringUtils.isEmpty(vo.getId())) { + String id = IdUtils.getUUId(); + vo.setId(id); + vo.setType(1); + } else { + vo.setType(2); + } + mapper.addOrUpdateSignProject(vo); + } catch (Exception e) { + log.error("新增/修改单项工程",e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + return AjaxResult.success(); + } + + @Override + public AjaxResult getSignProById(ParamDto dto) { + SignProVo vo = new SignProVo(); + try { + if(StringUtils.isEmpty(dto.getId())){ + return AjaxResult.error("参数不完整"); + } + vo = mapper.getSignProById(dto); + } catch (Exception e) { + log.error("单项工程详情",e); + } + return AjaxResult.success(vo); + } + + @Override + public AjaxResult delSignProById(ParamDto dto) { + try { + if(StringUtils.isEmpty(dto.getId()) || StringUtils.isEmpty(dto.getSignNo())){ + return AjaxResult.error("参数不完整"); + } + int result = mapper.isHasBidChildPro(dto); + if(result > 0){ + return AjaxResult.error("单项工程包含标段工程"); + } + mapper.delSignProById(dto); + } catch (Exception e) { + log.error("删除单项工程",e); + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + return AjaxResult.success(); + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml index 9d88416..01c0267 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/DeviceBdMapper.xml @@ -62,7 +62,7 @@ device_name, create_time, update_time, - del_flage, + del_flag, device_model, bd_id, area_id, diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/SignProMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/SignProMapper.xml index 76b1b65..883e0eb 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/SignProMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/SignProMapper.xml @@ -1,9 +1,260 @@ + + + + INSERT INTO tb_jj_project + + id, + pro_name, + pro_no, + org_id, + vlotage, + pro_type, + del_flag, + construction_nature, + plan_nature, + line, + power, + plan_start_time, + plan_end_time, + start_time, + end_time, + tc_time, + + + #{id}, + #{proName}, + #{proNo}, + #{orgId}, + #{vlotage}, + #{proType}, + 0, + #{constructionNature}, + #{planNature}, + #{line}, + #{power}, + #{planStartTime}, + #{planEndTime}, + #{startTime}, + #{endTime}, + #{tcTime}, + + + + UPDATE tb_jj_project + + pro_name = #{proName}, + pro_no = #{proNo}, + org_id = #{orgId}, + vlotage = #{vlotage}, + pro_type = #{proType}, + construction_nature = #{constructionNature}, + plan_nature = #{planNature}, + line = #{line}, + power = #{power}, + plan_start_time = #{planStartTime}, + plan_end_time = #{planEndTime}, + start_time = #{startTime}, + end_time = #{endTime}, + tc_time = #{tcTime}, + + WHERE id = #{id} + + + + + + INSERT INTO tb_sign_project + + id, + single_name, + signle_no, + wbs_code, + project_no, + single_desc, + del_flag, + vol_level, + line_length, + subs_cap, + pro_type, + subs_type, + estimate_type, + org_id, + start_date, + end_date, + complete_date, + + + #{id}, + #{singleName}, + #{signleNo}, + #{wbsCode}, + #{proNo}, + #{singleDesc}, + 0, + #{volLevel}, + #{lineLength}, + #{subsCap}, + #{proType}, + #{subsType}, + #{estimateType}, + #{orgId}, + #{startDate}, + #{endDate}, + #{completeDate}, + + + + UPDATE tb_sign_project + + single_name = #{singleName}, + signle_no = #{signleNo}, + wbs_code = #{wbsCode}, + project_no = #{proNo}, + single_desc = #{singleDesc}, + vol_level = #{volLevel}, + line_length = #{lineLength}, + subs_cap = #{subsCap}, + pro_type = #{proType}, + subs_type = #{subsType}, + estimate_type = #{estimateType}, + org_id = #{orgId}, + start_date = #{startDate}, + end_date = #{endDate}, + complete_date = #{completeDate}, + + WHERE id = #{id} + + + + + UPDATE tb_jj_project SET del_flag = 1 WHERE id = #{id} + + + + UPDATE tb_sign_project SET del_flag = 1 WHERE id = #{id} + + + + + + + + + + + + + + + \ No newline at end of file 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 b2787ec..da27ff7 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 @@ -118,4 +118,15 @@ public class SelectController extends BaseController { } + @ApiOperation(value = "项目下拉选") + @GetMapping("getProjectList") + public AjaxResult getProjectList(SelectDto dto){ + return service.getProjectList(dto); + } + + @ApiOperation(value = "单项工程下拉选") + @GetMapping("getSignProList") + public AjaxResult getSignProList(SelectDto dto){ + return service.getSignProList(dto); + } } 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 19162f0..eba93e9 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 @@ -123,6 +123,7 @@ public interface ISelectMapper { /** * 边带下拉选 + * * @param dto * @return List * @description @@ -132,7 +133,8 @@ public interface ISelectMapper { List getBdLists(SelectDto dto); /** - * 工程下拉选集合 + * 工程下拉选集合 + * * @param dto * @return */ @@ -140,5 +142,26 @@ public interface ISelectMapper { List getSelectLists(); - List getGtLists(@Param("bidCode") String bidCode); + List getGtLists(@Param("bidCode") String bidCode); + + /** + * 项目下拉选 + * + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/4/2 14:12 + */ + List getProjectList(SelectDto dto); + + /** + * 单项工程下拉选 + * @param dto + * @return List + * @description + * @author cwchen + * @date 2024/4/2 14:12 + */ + List getSignProList(SelectDto dto); } 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 db3f1be..a44d703 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 @@ -119,6 +119,7 @@ public interface ISelectService { /** * 边带下拉选 + * * @param dto * @return AjaxResult * @description @@ -129,6 +130,7 @@ public interface ISelectService { /** * 下拉选 + * * @param code * @return */ @@ -136,6 +138,7 @@ public interface ISelectService { /** * 获取工程下拉选 + * * @param dto * @return */ @@ -143,13 +146,35 @@ public interface ISelectService { /** * 建管单位下拉选 + * * @return */ AjaxResult getSelectLists(); /** * 杆塔表下拉选 + * * @return */ AjaxResult getGtLists(String bidCode); + + /** + * 项目下拉选 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 14:11 + */ + AjaxResult getProjectList(SelectDto dto); + + /** + * 单项工程下拉选 + * @param dto + * @return AjaxResult + * @description + * @author cwchen + * @date 2024/4/2 14:11 + */ + AjaxResult getSignProList(SelectDto dto); } 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 183ef85..38da4de 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 @@ -227,4 +227,26 @@ public class SelectServiceImpl implements ISelectService { } return AjaxResult.success(list); } + + @Override + public AjaxResult getProjectList(SelectDto dto) { + List list = new ArrayList<>(); + try { + list = mapper.getProjectList(dto); + } catch (Exception e) { + log.error("项目下拉选"); + } + return AjaxResult.success(list); + } + + @Override + public AjaxResult getSignProList(SelectDto dto) { + List list = new ArrayList<>(); + try { + list = mapper.getSignProList(dto); + } catch (Exception e) { + log.error("单项工程下拉选"); + } + 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 0990765..39bd695 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 @@ -143,4 +143,19 @@ SELECT gt_id AS gtId,gt_name AS name FROM t_pro_gt tpg WHERE tpg.bid_code = #{bidCode} + + + + \ No newline at end of file