diff --git a/jwtech-system/src/main/java/com/kms/build/controller/BsSgcjsjdBuiProInfoController.java b/jwtech-system/src/main/java/com/kms/build/controller/BsSgcjsjdBuiProInfoController.java index 16fb4e65..48337be0 100644 --- a/jwtech-system/src/main/java/com/kms/build/controller/BsSgcjsjdBuiProInfoController.java +++ b/jwtech-system/src/main/java/com/kms/build/controller/BsSgcjsjdBuiProInfoController.java @@ -8,14 +8,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.jianwei.common.core.controller.BaseController; import com.jianwei.common.core.domain.SearchParam; +import com.jianwei.common.core.domain.entity.SysDept; +import com.jianwei.common.core.domain.entity.SysUser; import com.jianwei.common.utils.poi.ExcelUtil; import com.kms.build.domain.BsSgcjsjdBuiProInfo; import com.kms.build.service.BsSgcjsjdBuiProInfoService; import com.kms.common.utils.BaseEntityUtils; +import com.kms.common.utils.UserUtils; +import com.kms.earlyStage.domain.SpecialProjectPlanInfo; import com.kms.earlyStage.domain.SpecialProjectProposal; import com.kms.earlyStage.service.SpecialProjectProposalService; +import com.kms.system.domain.SysXzqh; +import com.kms.system.service.SysDeptService; +import com.kms.system.service.SysXzqhService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -53,6 +60,12 @@ public class BsSgcjsjdBuiProInfoController extends BaseController @Autowired private SpecialProjectProposalService specialProjectProposalService; + @Autowired + private SysDeptService sysDeptService; + + @Autowired + private SysXzqhService sysXzqhService; + @GetMapping("/getProposal") public AjaxResult getSpecialProjectProposal() { @@ -70,7 +83,58 @@ public class BsSgcjsjdBuiProInfoController extends BaseController @ApiOperation("项目基本信息管理列表") public IPage list(@RequestBody SearchParam sp) { - return bsSgcjsjdBuiProInfoService.selectPage(sp); + + BsSgcjsjdBuiProInfo planInfo = sp.getData(); + String adcd = planInfo.getAdcd(); + SysUser sysUser = UserUtils.getUser(); + + if (sysUser.getUserName().equals("admin")) { + adcd = handleAdminUser(planInfo, adcd); + } else if (adcd == null) { + adcd = handleNullAdcd(); + } else { + adcd = handleAdcd(adcd); + } + + return bsSgcjsjdBuiProInfoService.selectPage(sp, adcd); + + } + + + private String handleAdminUser(BsSgcjsjdBuiProInfo planInfo, String adcd) { + if (planInfo != null && planInfo.getAdcd() != null) { + adcd = planInfo.getAdcd(); + adcd = handleAdcd(adcd); + } + return adcd; + } + + private String handleNullAdcd() { + SysUser user = UserUtils.getUser(); + String deptId = user.getDeptId(); + SysDept sysDept = sysDeptService.get(deptId); + String xzqhId = sysDept.getXzqhId(); + SysXzqh xzqh = sysXzqhService.getById(xzqhId); + return handleXzqh(xzqh); + } + + private String handleAdcd(String adcd) { + QueryWrapper sysXzqhQueryWrapper = new QueryWrapper<>(); + sysXzqhQueryWrapper.eq("XZQHDM", adcd); + SysXzqh xzqh = sysXzqhService.getOne(sysXzqhQueryWrapper); + return handleXzqh(xzqh); + } + + private String handleXzqh(SysXzqh xzqh) { + String adcd; + if (xzqh.getLayer()==1) { + adcd = xzqh.getXzqhdm().substring(0, 2); + } else if (xzqh.getLayer()==2) { + adcd = xzqh.getXzqhdm().substring(0, 4); + } else { + adcd = xzqh.getXzqhdm(); + } + return adcd; } /** diff --git a/jwtech-system/src/main/java/com/kms/build/domain/BsSgcjsjdBuiProInfo.java b/jwtech-system/src/main/java/com/kms/build/domain/BsSgcjsjdBuiProInfo.java index 130d6786..38628a16 100644 --- a/jwtech-system/src/main/java/com/kms/build/domain/BsSgcjsjdBuiProInfo.java +++ b/jwtech-system/src/main/java/com/kms/build/domain/BsSgcjsjdBuiProInfo.java @@ -32,6 +32,7 @@ public class BsSgcjsjdBuiProInfo extends BaseEntity /** 项目名称 */ @Excel(name = "项目名称") @ApiModelProperty("项目名称") + @TableField(exist = false) private String projectName; /** 项目法人 */ @@ -87,6 +88,7 @@ public class BsSgcjsjdBuiProInfo extends BaseEntity /** 行政区划 */ @Excel(name = "行政区划") @ApiModelProperty("行政区划") + @TableField(exist = false) private String adcd; /** 所属流域 */ @@ -97,6 +99,7 @@ public class BsSgcjsjdBuiProInfo extends BaseEntity /** 项目类型 */ @Excel(name = "项目类型") @ApiModelProperty("项目类型") + @TableField(exist = false) private String projectType; /** 资金来源 */ diff --git a/jwtech-system/src/main/java/com/kms/build/mapper/BsSgcjsjdBuiProInfoMapper.java b/jwtech-system/src/main/java/com/kms/build/mapper/BsSgcjsjdBuiProInfoMapper.java index a936f3f1..a926d2e1 100644 --- a/jwtech-system/src/main/java/com/kms/build/mapper/BsSgcjsjdBuiProInfoMapper.java +++ b/jwtech-system/src/main/java/com/kms/build/mapper/BsSgcjsjdBuiProInfoMapper.java @@ -1,9 +1,12 @@ package com.kms.build.mapper; import com.kms.build.domain.BsSgcjsjdBuiProInfo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; + /** * 项目基本信息管理Mapper接口 @@ -14,4 +17,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Repository public interface BsSgcjsjdBuiProInfoMapper extends BaseMapper { + List getXzqh(@Param("id") String id, + @Param("projectName") String projectName, + @Param("adcd") String adcd, + @Param("orderBy") String orderBy, + @Param("pageNum") int pageNum, + @Param("pageSize") int pageSize); } diff --git a/jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java b/jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java index 55dc567c..bbeeab0d 100644 --- a/jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java +++ b/jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** @@ -31,12 +32,21 @@ public class BsSgcjsjdBuiProInfoService extends BaseService sp) { + public IPage selectPage(SearchParam sp, String adcd) { - Page page = bsSgcjsjdBuiProInfoMapper.selectPage(new Page<>(sp.getPageNum(), sp.getPageSize()), BeanToWrapper.getWrapper(sp)); + BsSgcjsjdBuiProInfo data = sp.getData(); + Map params = sp.getParams(); + //create_time + String orderBy = (String) params.get("orderBy"); + + List list = bsSgcjsjdBuiProInfoMapper.getXzqh(data.getId(), data.getProjectName(), adcd, orderBy, sp.getPageNum(), sp.getPageSize()); + + Page page = new Page<>(); + page.setRecords(list); + page.setTotal(list.size()); List records = page.getRecords(); @@ -54,7 +64,7 @@ public class BsSgcjsjdBuiProInfoService extends BaseService { + List getXzqh(@Param("id") String id, + @Param("projectName") String projectName, + @Param("projectType") String projectType, + @Param("adcd") String adcd, + @Param("orderBy") String orderBy, + @Param("pageNum") int pageNum, + @Param("pageSize") int pageSize); } diff --git a/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectFeasibilityService.java b/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectFeasibilityService.java index 92e5a2b1..b97fca62 100644 --- a/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectFeasibilityService.java +++ b/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectFeasibilityService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jianwei.common.core.domain.SearchParam; +import com.kms.earlyStage.domain.SpecialProjectInfo; import com.kms.earlyStage.domain.SpecialProjectProposal; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,6 +12,7 @@ import com.jianwei.common.core.service.BaseService; import com.kms.earlyStage.mapper.SpecialProjectFeasibilityMapper; import com.kms.earlyStage.domain.SpecialProjectFeasibility; +import java.util.List; import java.util.Map; /** @@ -27,22 +29,18 @@ public class SpecialProjectFeasibilityService extends BaseService sp, String adcd) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - SpecialProjectFeasibility projectInfo = sp.getData(); - String projectName = projectInfo.getProjectName(); - String projectType = projectInfo.getProjectType(); - - queryWrapper.eq(projectInfo.getId()!=null,"id", projectInfo.getId()); - queryWrapper.like(projectName != null, "project_name", projectName); - queryWrapper.like(projectType != null, "project_type", projectType); - queryWrapper.likeRight(adcd != null, "ADCD", adcd); + SpecialProjectFeasibility data = sp.getData(); + Map params = sp.getParams(); - //create_time - String orderBy = (String) params.get("orderBy"); - queryWrapper.orderByDesc(orderBy); - Page page = new Page<>(sp.getPageNum(),sp.getPageSize()); - Page infoPage = specialProjectFeasibilityMapper.selectPage(page, queryWrapper); - return infoPage; + List list = specialProjectFeasibilityMapper.getXzqh(data.getId(),data.getProjectName(), + data.getProjectType(),adcd,(String)params.get("orderBy"),sp.getPageNum(),sp.getPageSize()); + + Page page = new Page<>(); + page.setRecords(list); + page.setTotal(list.size()); + + + return page; } } diff --git a/jwtech-system/src/main/resources/mapper/build/BsSgcjsjdBuiProInfoMapper.xml b/jwtech-system/src/main/resources/mapper/build/BsSgcjsjdBuiProInfoMapper.xml new file mode 100644 index 00000000..36b50d40 --- /dev/null +++ b/jwtech-system/src/main/resources/mapper/build/BsSgcjsjdBuiProInfoMapper.xml @@ -0,0 +1,39 @@ + + + + + + select pi.id, + pp.project_name, + pi.pro_code, + pp.adcd, + pp.project_type, + pi.CONSTRUCTION_NATURE + from bs_sgc_jsjd_bui_pro_info pi + left join bs_slgc_qqjd_spe_pro_proposal pp on pi.pro_code = pp.project_code and pi.pro_no = pp.pro_no + + + + + + + + + + + + + + diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectFeasibilityMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectFeasibilityMapper.xml new file mode 100644 index 00000000..17be4c72 --- /dev/null +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectFeasibilityMapper.xml @@ -0,0 +1,47 @@ + + + + + + select id, + project_name, + project_code, + adcd, + project_type, + compiling_unit, + PROJECT_INVESTMENT_ESTIMATE, + APPROVAL_OPINION, + create_time + from bs_slgc_qqjd_spe_pro_fea + + + + + + + + + + + + + + + + + diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectInfoMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectInfoMapper.xml index aee31a6e..5801fb98 100644 --- a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectInfoMapper.xml +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectInfoMapper.xml @@ -36,18 +36,13 @@ - - and id=#{id} - and project_name like concat('%',#{projectName},'%') and project_type=#{projectType} - - and adcd like concat(#{adcd},'%') - + order by ${orderBy} desc LIMIT #{pageNum},#{pageSize}; diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPlanInfoMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPlanInfoMapper.xml index 17f85652..88dbda5f 100644 --- a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPlanInfoMapper.xml +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPlanInfoMapper.xml @@ -35,18 +35,13 @@ - - and id=#{id} - and plan_name like concat('%',#{planName},'%') and plan_type=#{planType} - - and adcd like concat(#{adcd},'%') - + order by ${orderBy} desc LIMIT #{pageNum},#{pageSize}; diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPreDesignMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPreDesignMapper.xml index 5776f044..01f77acb 100644 --- a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPreDesignMapper.xml +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectPreDesignMapper.xml @@ -34,15 +34,10 @@ - - and id=#{id} - and project_name like concat('%',#{projectName},'%') - - and adcd like concat(#{adcd},'%') - + order by ${orderBy} desc LIMIT #{pageNum},#{pageSize}; diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectProposalMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectProposalMapper.xml index fb767327..44b546fd 100644 --- a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectProposalMapper.xml +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectProposalMapper.xml @@ -48,18 +48,13 @@ - - and id=#{id} - and project_name like concat('%',#{projectName},'%') and project_type=#{projectType} - - and adcd like concat(#{adcd},'%') - + order by ${orderBy} desc LIMIT #{pageNum},#{pageSize}; diff --git a/jwtech-system/src/main/resources/mapper/enterprise/BsSgcYxjdEnterpriseInfoMapper.xml b/jwtech-system/src/main/resources/mapper/enterprise/BsSgcYxjdEnterpriseInfoMapper.xml index 90022aa3..7bb0cd0e 100644 --- a/jwtech-system/src/main/resources/mapper/enterprise/BsSgcYxjdEnterpriseInfoMapper.xml +++ b/jwtech-system/src/main/resources/mapper/enterprise/BsSgcYxjdEnterpriseInfoMapper.xml @@ -55,12 +55,7 @@ and enterprise_name like concat('%',#{enterpriseName},'%') - - and adcd like concat(#{adcd},'%') - - - and id=#{id} - + order by ${orderBy} desc LIMIT #{pageNum},#{pageSize}; diff --git a/jwtech-system/src/main/resources/mapper/system/SysXzqhMapper.xml b/jwtech-system/src/main/resources/mapper/system/SysXzqhMapper.xml index 8433da71..40fb44b8 100644 --- a/jwtech-system/src/main/resources/mapper/system/SysXzqhMapper.xml +++ b/jwtech-system/src/main/resources/mapper/system/SysXzqhMapper.xml @@ -17,5 +17,14 @@ GROUP BY SUBSTRING(XZQHDM, 1, 4); + + + and adcd like concat(#{adcd},'%') + + + and id=#{id} + + +