diff --git a/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdQualificationsController.java b/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdQualificationsController.java index aa24b5aa..a6b5fab3 100644 --- a/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdQualificationsController.java +++ b/jwtech-system/src/main/java/com/kms/enterprise/controller/BsSgcYxjdQualificationsController.java @@ -3,6 +3,8 @@ package com.kms.enterprise.controller; import java.util.Arrays; import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jianwei.common.core.controller.BaseController; import com.jianwei.common.core.domain.SearchParam; import com.jianwei.common.utils.poi.ExcelUtil; @@ -55,6 +57,32 @@ public class BsSgcYxjdQualificationsController extends BaseController return bsSgcYxjdQualificationsService.selectPage(sp); } + /** + * 获取父企业资质 + * @param eid + * @return + */ + @GetMapping("/getParent/{eid}") + public AjaxResult getParent(@PathVariable("eid") String eid) { + + List parent = bsSgcYxjdQualificationsService.getParent(eid); + return AjaxResult.success(parent); + + + } + + /** + * 获取企业资质 + * @param eid + * @return + */ + @GetMapping("/listByEid/{eid}") + public AjaxResult listByEid(@PathVariable("eid") String eid) { + + return AjaxResult.success(bsSgcYxjdQualificationsService.listByEid(eid)); + + } + /** * 导出企业资质列表 */ @@ -84,10 +112,22 @@ public class BsSgcYxjdQualificationsController extends BaseController @Log(title = "企业资质新增", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("企业资质新增") - public AjaxResult add(@RequestBody BsSgcYxjdQualifications bsSgcYxjdQualifications) - { + public AjaxResult add(@RequestBody BsSgcYxjdQualifications bsSgcYxjdQualifications) { BaseEntityUtils.preInsert(bsSgcYxjdQualifications); + //判断资质是否重复 + if (bsSgcYxjdQualifications.getParentId() == null) { + String enterpriseId = bsSgcYxjdQualifications.getEnterpriseId(); + String qualificationCategory = bsSgcYxjdQualifications.getQualificationCategory(); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BsSgcYxjdQualifications.class); + queryWrapper.eq(BsSgcYxjdQualifications::getEnterpriseId, enterpriseId); + queryWrapper.eq(BsSgcYxjdQualifications::getQualificationCategory, qualificationCategory); + List list = bsSgcYxjdQualificationsService.list(queryWrapper); + if (list.size() > 0){ + return AjaxResult.error("企业资质重复,请重新选择!"); + } + } return toAjax(bsSgcYxjdQualificationsService.save(bsSgcYxjdQualifications)); + } /** diff --git a/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdQualifications.java b/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdQualifications.java index f0d25620..a05e39df 100644 --- a/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdQualifications.java +++ b/jwtech-system/src/main/java/com/kms/enterprise/domain/BsSgcYxjdQualifications.java @@ -1,6 +1,9 @@ package com.kms.enterprise.domain; import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -35,7 +38,7 @@ public class BsSgcYxjdQualifications extends BaseEntity /** 父id */ @Excel(name = "父id") @ApiModelProperty("父id") - private Long parentId; + private String parentId; /** 资质类别 */ @Excel(name = "资质类别") @@ -104,4 +107,11 @@ public class BsSgcYxjdQualifications extends BaseEntity @ApiModelProperty("附件") private String owerDept; + + @TableField(exist = false) + private List children; + + @TableField(exist = false) + private Integer number; + } diff --git a/jwtech-system/src/main/java/com/kms/enterprise/service/BsSgcYxjdQualificationsService.java b/jwtech-system/src/main/java/com/kms/enterprise/service/BsSgcYxjdQualificationsService.java index 31008dcf..5627b188 100644 --- a/jwtech-system/src/main/java/com/kms/enterprise/service/BsSgcYxjdQualificationsService.java +++ b/jwtech-system/src/main/java/com/kms/enterprise/service/BsSgcYxjdQualificationsService.java @@ -1,10 +1,19 @@ package com.kms.enterprise.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kms.enterprise.domain.BsSgcYxjdEnterpriseInfo; +import com.kms.enterprise.mapper.BsSgcYxjdEnterpriseInfoMapper; import org.springframework.stereotype.Service; import com.jianwei.common.core.service.BaseService; import com.kms.enterprise.mapper.BsSgcYxjdQualificationsMapper; import com.kms.enterprise.domain.BsSgcYxjdQualifications; +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + /** * 企业资质Service接口 * @@ -14,4 +23,51 @@ import com.kms.enterprise.domain.BsSgcYxjdQualifications; @Service public class BsSgcYxjdQualificationsService extends BaseService{ + + @Resource + private BsSgcYxjdQualificationsMapper qualificationsMapper; + + @Resource + private BsSgcYxjdEnterpriseInfoMapper enterpriseInfoMapper; + + public List listByEid(String eid) { + //构造条件 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BsSgcYxjdQualifications.class); + queryWrapper.eq(BsSgcYxjdQualifications::getEnterpriseId, eid); + //查询全部同企业信息 + List list = qualificationsMapper + .selectList(queryWrapper); + //获取parentid为null的集合 + List master = list.stream().filter(e -> e.getParentId() == null).collect(Collectors.toList()); + + //遍历获取子资质 + for (BsSgcYxjdQualifications bsSgcYxjdQualifications : master) { + List children = list.stream().filter(e -> e.getParentId() != null && e.getParentId().equals(bsSgcYxjdQualifications.getId())) + .collect(Collectors.toList()); + //设置子资质数量 + bsSgcYxjdQualifications.setNumber(children.size()); + + bsSgcYxjdQualifications.setChildren(children); + + } + + + return master; + + + } + + public List getParent(String eid) { + + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BsSgcYxjdQualifications.class); + + queryWrapper.eq(BsSgcYxjdQualifications::getEnterpriseId, eid); + queryWrapper.isNull(BsSgcYxjdQualifications::getParentId); + + List list = qualificationsMapper.selectList(queryWrapper); + + return list; + + + } }