Browse Source

新增详情设计

master
xzt 1 month ago
parent
commit
80bdc580f8
  1. 62
      jwtech-admin-page/src/api/earlyStage/detailDesign.js
  2. 1666
      jwtech-admin-page/src/views/project/detailDesign/index.vue
  3. 166
      jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectDetailDesignController.java
  4. 132
      jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectDetailDesign.java
  5. 44
      jwtech-system/src/main/java/com/kms/earlyStage/mapper/SpecialProjectDetailDesignMapper.java
  6. 226
      jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectDetailDesignService.java
  7. 344
      jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml

62
jwtech-admin-page/src/api/earlyStage/detailDesign.js

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 查询初步设计管理列表
export function listProDesign(query) {
return request({
url: '/earlyStage/detailDesign/list',
method: 'post',
data: query
})
}
// 查询初步设计管理详细
export function getProDesign(id) {
return request({
url: '/earlyStage/detailDesign/' + id,
method: 'get'
})
}
export function getByCode(projectCode){
return request({
url:'/earlyStage/detailDesign/getByNo/'+projectCode,
method:'get'
})
}
// 新增初步设计管理
export function addProDesign(data) {
return request({
url: '/earlyStage/detailDesign',
method: 'post',
data: data
})
}
// 修改初步设计管理
export function updateProDesign(data) {
return request({
url: '/earlyStage/detailDesign',
method: 'put',
data: data
})
}
// 删除初步设计管理
export function delProDesign(id) {
return request({
url: '/earlyStage/detailDesign/' + id,
method: 'delete'
})
}
// 导出初步设计管理
export function exportProDesign(query) {
return request({
url: '/earlyStage/detailDesign/export',
method: 'get',
params: query
})
}

1666
jwtech-admin-page/src/views/project/detailDesign/index.vue

File diff suppressed because it is too large

166
jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectDetailDesignController.java

@ -0,0 +1,166 @@
package com.kms.earlyStage.controller;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import cn.hutool.core.util.ObjectUtil;
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.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.StringUtils;
import com.jianwei.common.utils.poi.ExcelUtil;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.common.utils.UserUtils;
import com.kms.earlyStage.domain.SpecialProjectFeasibility;
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;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jianwei.common.mybaitsplus.BeanToWrapper;
import com.jianwei.common.annotation.Log;
import com.jianwei.common.core.domain.AjaxResult;
import com.jianwei.common.enums.BusinessType;
import com.kms.earlyStage.domain.SpecialProjectDetailDesign;
import com.kms.earlyStage.service.SpecialProjectDetailDesignService;
/**
* 初步设计管理Controller
*
* @author kms
* @date 2023-09-18
*/
@RestController
@RequestMapping("/earlyStage/detailDesign")
@Api(tags = "初步设计管理")
public class SpecialProjectDetailDesignController extends BaseController
{
@Autowired
private SpecialProjectDetailDesignService specialProjectDetailDesignService;
@Autowired
private SpecialProjectProposalService specialProjectProposalService;
@Autowired
private SysDeptService sysDeptService;
@Autowired
private SysXzqhService sysXzqhService;
/**
* 查询初步设计管理列表
*/
@PostMapping("/list")
@ApiOperation("初步设计管理列表")
public IPage list(@RequestBody SearchParam<SpecialProjectDetailDesign> sp)
{
IPage iPage = specialProjectDetailDesignService.selectPage(sp);
return iPage;
}
/**
* 导出初步设计管理列表
*/
@Log(title = "初步设计管理导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ApiOperation("初步设计管理导出")
public AjaxResult export(@RequestBody SpecialProjectDetailDesign specialProjectDetailDesign)
{
List<SpecialProjectDetailDesign> list = specialProjectDetailDesignService.listByIds(specialProjectDetailDesign.getIds());
ExcelUtil<SpecialProjectDetailDesign> util = new ExcelUtil<>(SpecialProjectDetailDesign.class);
return util.exportExcel(list, "detailDesign");
}
/**
* 获取初步设计管理详细信息
*/
@ApiOperation(" 初步设计管理详情")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
SpecialProjectDetailDesign byId = specialProjectDetailDesignService.getById(id);
if (ObjectUtil.isEmpty(byId)){
return AjaxResult.success();
}
SpecialProjectProposal one = specialProjectProposalService.getOne(Wrappers.lambdaQuery(SpecialProjectProposal.class)
.eq(SpecialProjectProposal::getProjectCode, byId.getProjectCode())
.eq(SpecialProjectProposal::getProNo, byId.getProNo()));
if (StringUtils.isEmpty(byId.getAdcd())||StringUtils.isEmpty(byId.getProjectName())){
if (ObjectUtil.isNotEmpty(one)) {
byId.setProjectName(one.getProjectName());
byId.setAdcd(one.getAdcd());
}
}
return AjaxResult.success(byId);
}
/**
* 新增初步设计管理
*/
@Log(title = "初步设计管理新增", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("初步设计管理新增")
public AjaxResult add(@RequestBody SpecialProjectDetailDesign specialProjectDetailDesign)
{
BaseEntityUtils.preInsert(specialProjectDetailDesign);
return toAjax(specialProjectDetailDesignService.save(specialProjectDetailDesign));
}
/**
* 修改初步设计管理
*/
@ApiOperation("初步设计管理修改")
@Log(title = "初步设计管理修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SpecialProjectDetailDesign specialProjectDetailDesign)
{
return toAjax(specialProjectDetailDesignService.updateById(specialProjectDetailDesign));
}
/**
* 删除初步设计管理
*/
@ApiOperation("初步设计管理删除")
@Log(title = "初步设计管理删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
return toAjax(specialProjectDetailDesignService.removeByIds(Arrays.asList(ids)));
}
@GetMapping(value = "getByNo/{projectCode}")
public AjaxResult getInfoByProNo(@PathVariable("projectCode")String projectCode){
LambdaQueryWrapper<SpecialProjectDetailDesign> lw=new LambdaQueryWrapper<>();
SpecialProjectDetailDesign one = specialProjectDetailDesignService.getOne(lw.eq(
SpecialProjectDetailDesign::getProjectCode, projectCode
));
SpecialProjectDetailDesign byNo= one;
return AjaxResult.success(byNo);
}
}

132
jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectDetailDesign.java

@ -0,0 +1,132 @@
package com.kms.earlyStage.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.kms.build.domain.BsSgcJsjdBuiSectionInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jianwei.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jianwei.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 初步设计管理对象 bs_sgc_qqjd_spe_pro_des_app
*
* @author kms
* @date 2023-09-18
*/
@TableName("bs_sgc_qqjd_spe_det_des_app")
@Data
@ApiModel("初步设计管理")
public class SpecialProjectDetailDesign extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 项目名称 */
@Excel(name = "项目名称")
@ApiModelProperty("项目名称")
private String projectName;
/** 建设性质 */
@Excel(name = "建设性质")
@ApiModelProperty("建设性质")
private String constructionNature;
/** 建设地点 */
@Excel(name = "建设地点")
@ApiModelProperty("建设地点")
private String constructionLocation;
/** 项目单位名称 */
@Excel(name = "项目单位名称")
@ApiModelProperty("项目单位名称")
private String projectUnitName;
/** 简介 */
@Excel(name = "简介")
@ApiModelProperty("简介")
private String briefIntroduction;
/** 项目用地情况 */
@Excel(name = "项目用地情况")
@ApiModelProperty("项目用地情况")
private String projectLandSituation;
/** 初步设计概算报告 */
@Excel(name = "初步设计概算报告")
@ApiModelProperty("初步设计概算报告")
private String designEstimateReport;
/** 相关上位规划附件 */
@Excel(name = "相关上位规划附件")
@ApiModelProperty("相关上位规划附件")
private String relatedAttachment;
/** 项目编码 */
@Excel(name = "项目编码")
@ApiModelProperty("项目编码")
private String projectCode;
/** 项目编号 */
@Excel(name = "项目编号")
@ApiModelProperty("项目编号")
private String proNo;
/** 创建人 */
@Excel(name = "创建人")
@ApiModelProperty("创建人")
private String createUid;
/** 更新人 */
@Excel(name = "更新人")
@ApiModelProperty("更新人")
private String updateUid;
/** 数源部门 */
@Excel(name = "数源部门")
@ApiModelProperty("数源部门")
private String owerDept;
@ApiModelProperty("项目类型")
private String projectType;
private String projectKind;
private String adcd;
@TableField(exist = false)
private String bindStatus;
private String approvalDepartment;
private String approvalNo;
private String approvalDuration;
private BigDecimal totalInvestment;
@JsonFormat(pattern = "yyyy-MM-dd", timezone="GMT+8")
private Date planWorkDate;
private String isApproval;
private String approvalTime;
private String reportTime;
private String approvalOpinion;
private String preparationUnit;
private String totalArea;
private String addArea;
@TableField(exist = false)
private List<BsSgcJsjdBuiSectionInfo>children;
}

44
jwtech-system/src/main/java/com/kms/earlyStage/mapper/SpecialProjectDetailDesignMapper.java

@ -0,0 +1,44 @@
package com.kms.earlyStage.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.build.domain.BsSgcjsjdBuiProInfo;
import com.kms.earlyStage.domain.SpecialProjectInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.earlyStage.domain.SpecialProjectDetailDesign;
import java.util.List;
/**
* 初步设计管理Mapper接口
*
* @author kms
* @date 2023-09-18
*/
@Repository
public interface SpecialProjectDetailDesignMapper extends BaseMapper<SpecialProjectDetailDesign> {
List<SpecialProjectDetailDesign> 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);
IPage<SpecialProjectDetailDesign> getByUserPro(@Param("userId") String userId,
@Param("userType") String userType,
@Param("id") String id,
@Param("projectName") String projectName,
@Param("adcd") String adcd,
@Param("projectKind")String projectKind,
@Param("orderBy") String orderBy,
Page page);
IPage<BsSgcjsjdBuiProInfo> listProject(@Param("userId") String userId,
@Param("adcd") String subString,
@Param("projectName") String projectName,
@Param("bindStatus") String bindStatus,
Page page);
}

226
jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectDetailDesignService.java

@ -0,0 +1,226 @@
package com.kms.earlyStage.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
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.mybaitsplus.BeanToWrapper;
import com.kms.build.domain.BsSgcJsjdBuiSectionInfo;
import com.kms.build.domain.BsSgcjsjdBuiProInfo;
import com.kms.build.mapper.BsSgcJsjdBuiSectionInfoMapper;
import com.kms.common.utils.UserUtils;
import com.kms.earlyStage.domain.*;
import com.kms.earlyStage.mapper.SpecialProjectDetailDesignMapper;
import com.kms.system.domain.SysUserPro;
import com.kms.system.mapper.SysUserProMapper;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysUserProService;
import com.kms.system.service.SysXzqhService;
//import javafx.print.Collation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jianwei.common.core.service.BaseService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 初步设计管理Service接口
*
* @author kms
* @date 2023-09-18
*/
@Service
public class SpecialProjectDetailDesignService extends BaseService<SpecialProjectDetailDesignMapper, SpecialProjectDetailDesign>{
@Autowired
private SpecialProjectDetailDesignMapper specialProjectDetailDesignMapper;
@Autowired
private SysXzqhService sysXzqhService;
@Autowired
private SysDeptService sysDeptService;
@Autowired
private SpecialProjectProposalService specialProjectProposalService;
@Autowired
private BsSgcJsjdBuiSectionInfoMapper bsSgcJsjdBuiSectionInfoMapper;
public IPage selectPage(SearchParam<SpecialProjectDetailDesign> sp) {
SysUser sysUser = UserUtils.getUser();
SpecialProjectDetailDesign data = sp.getData();
if (sysUser.getUserType().equals("00") && data.getAdcd() == null) {
String deptId = sysUser.getDeptId();
SysDept sysDept = sysDeptService.get(deptId);
String xzqhId = sysDept.getXzqhId();
data.setAdcd(xzqhId);
}
Map<String, Object> params = sp.getParams();
assert sysUser != null;
IPage<SpecialProjectDetailDesign> list = null;
if (ObjectUtil.isNotNull(data.getProNo())) {
Page page = specialProjectDetailDesignMapper.selectPage(new Page<>(sp.getPageNum(), sp.getPageSize()), BeanToWrapper.getWrapper(sp));
List<SpecialProjectDetailDesign>records = page.getRecords();
List<SpecialProjectDetailDesign>list1=new ArrayList<>();
for (SpecialProjectDetailDesign specialProjectDetailDesign:records){
SpecialProjectProposal one = specialProjectProposalService.getOne(Wrappers.lambdaQuery(SpecialProjectProposal.class)
.eq(SpecialProjectProposal::getProjectCode, specialProjectDetailDesign.getProjectCode())
.eq(SpecialProjectProposal::getProNo, specialProjectDetailDesign.getProNo()));
if (ObjectUtil.isNotEmpty(one)){
specialProjectDetailDesign.setAdcd(one.getAdcd());
specialProjectDetailDesign.setProjectName(one.getProjectName());
specialProjectDetailDesign.setProjectType(one.getProjectType());
specialProjectDetailDesign.setProjectKind(one.getProjectKind());
}
list1.add(specialProjectDetailDesign);
}
page.setRecords(list1);
return page;
}
if (ObjectUtil.isNull(params)) {
list = specialProjectDetailDesignMapper.getByUserPro(sysUser.getDeptId(),sysUser.getUserType(),data.getId(),data.getProjectName(),
sysXzqhService.getSubString(data.getAdcd()),sp.getData().getProjectKind(),"create_time",new Page<>(sp.getPageNum(),sp.getPageSize()));
}else {
list = specialProjectDetailDesignMapper.getByUserPro(sysUser.getDeptId(),sysUser.getUserType(),data.getId(),data.getProjectName(),
sysXzqhService.getSubString(data.getAdcd()),sp.getData().getProjectKind(),(String)params.get("orderBy"),new Page<>(sp.getPageNum(),sp.getPageSize()));
}
List<SpecialProjectDetailDesign> records = list.getRecords();
List<SpecialProjectDetailDesign>list1=new ArrayList<>();
for (SpecialProjectDetailDesign specialProjectDetailDesign:records){
SpecialProjectProposal one = specialProjectProposalService.getOne(Wrappers.lambdaQuery(SpecialProjectProposal.class)
.eq(SpecialProjectProposal::getProjectCode, specialProjectDetailDesign.getProjectCode())
.eq(SpecialProjectProposal::getProNo, specialProjectDetailDesign.getProNo()));
if (ObjectUtil.isNotEmpty(one)){
specialProjectDetailDesign.setAdcd(one.getAdcd());
specialProjectDetailDesign.setProjectName(one.getProjectName());
specialProjectDetailDesign.setProjectType(one.getProjectType());
specialProjectDetailDesign.setProjectKind(one.getProjectKind());
}
specialProjectDetailDesignMapper.updateById(specialProjectDetailDesign);
list1.add(specialProjectDetailDesign);
}
list.setRecords(list1);
return list;
}
@Autowired
SysUserProMapper sysUserProMapper;
public IPage<BsSgcjsjdBuiProInfo> listProject(SearchParam<BsSgcjsjdBuiProInfo> sp) {
BsSgcjsjdBuiProInfo data = sp.getData();
SysUser user = UserUtils.getUser();
IPage<BsSgcjsjdBuiProInfo> page=new Page<>();
if (StringUtil.isNotEmpty(user.getUserType())) {
if (user.getUserType().equals("00")) {
page = specialProjectDetailDesignMapper.listProject(user.getDeptId(), sysXzqhService.getSubString(data.getAdcd()), data.getProjectName(),
data.getBindStatus(),
new Page<>(sp.getPageNum(), sp.getPageSize()));
List<BsSgcjsjdBuiProInfo> record = page.getRecords();
for (BsSgcjsjdBuiProInfo pd : record) {
List<String> sysDeptList = new ArrayList<>();
LambdaQueryWrapper<BsSgcJsjdBuiSectionInfo> lw = new LambdaQueryWrapper<>();
List<SysUserPro> userPro = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("pro_no", pd.getProNo()));
if (CollUtil.isNotEmpty(userPro)) {
for (SysUserPro sysUserPro : userPro) {
SysDept sysDept = sysDeptService.get(sysUserPro.getUserId());
if (ObjectUtil.isNotEmpty(sysDept)) {
sysDeptList.add(sysDept.getDeptName());
}
List<BsSgcJsjdBuiSectionInfo> bsSgcJsjdBuiSectionInfos = bsSgcJsjdBuiSectionInfoMapper.selectList(lw.eq(BsSgcJsjdBuiSectionInfo::getProNo, pd.getProNo()));
for (BsSgcJsjdBuiSectionInfo se : bsSgcJsjdBuiSectionInfos) {
List<SysUserPro> userPros = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("section_no", se.getId()));
for (SysUserPro sysUserPro1 : userPros) {
SysDept sysDept1 = sysDeptService.get(sysUserPro1.getUserId());
if (ObjectUtil.isNotEmpty(sysDept1)) {
sysDeptList.add(sysDept1.getDeptName());
}
}
}
}
}
pd.setBindingMechanism(sysDeptList);
}
}
if (user.getUserType().equals("01")){
page = specialProjectDetailDesignMapper.listProject(user.getDeptId(), sysXzqhService.getSubString(data.getAdcd()), data.getProjectName(),
data.getBindStatus(),
new Page<>(sp.getPageNum(), sp.getPageSize()));
List<BsSgcjsjdBuiProInfo>records=page.getRecords();
List<BsSgcjsjdBuiProInfo>list=new ArrayList<>();
for (BsSgcjsjdBuiProInfo pd:records){
List<String>sysDeptList=new ArrayList<>();
LambdaQueryWrapper<BsSgcJsjdBuiSectionInfo>lw=new LambdaQueryWrapper<>();
List<SysUserPro> userProUnit = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("pro_no", pd.getProNo()));
if (CollUtil.isNotEmpty(userProUnit)) {
for (SysUserPro sysUserPro : userProUnit) {
SysDept sysDept = sysDeptService.get(sysUserPro.getUserId());
if (ObjectUtil.isNotEmpty(sysDept)) {
sysDeptList.add(sysDept.getDeptName());
}
}
}
List<SysUserPro> userPro = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("pro_no", pd.getProNo()).eq("user_id", user.getDeptId()));
if (CollUtil.isNotEmpty(userPro)){
pd.setBindStatus("1");
}else {
pd.setBindStatus("0");
}
List<BsSgcJsjdBuiSectionInfo> bsSgcJsjdBuiSectionInfos = bsSgcJsjdBuiSectionInfoMapper.selectList(lw.eq(BsSgcJsjdBuiSectionInfo::getProNo, pd.getProNo()));
for (BsSgcJsjdBuiSectionInfo se:bsSgcJsjdBuiSectionInfos){
List<SysUserPro> userProsUnit = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("section_no", se.getId()));
for (SysUserPro sysUserPro:userProsUnit){
SysDept sysDept = sysDeptService.get(sysUserPro.getUserId());
sysDeptList.add(sysDept.getDeptName());
}
List<SysUserPro> userPros = sysUserProMapper.selectList(new QueryWrapper<SysUserPro>().eq("section_no", se.getId()).eq("user_id", user.getDeptId()));
if (CollUtil.isNotEmpty(userPros)){
pd.setBindStatus("1");
se.setBindStatus("1");
}else {
se.setBindStatus("0");
}
}
pd.setBindingMechanism(sysDeptList);
if (CollUtil.isNotEmpty(bsSgcJsjdBuiSectionInfos)){
pd.setChildren(bsSgcJsjdBuiSectionInfos);
}
list.add(pd);
}
page.setRecords(list);
}
return page;
}
return page;
}
}

344
jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml

@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kms.earlyStage.mapper.SpecialProjectDetailDesignMapper">
<sql id="info">
select da.id,
da.project_name,
da.pro_no,
da.adcd,
da.project_type,
da.project_kind,
da.CONSTRUCTION_NATURE,
da.CONSTRUCTION_LOCATION,
da.PROJECT_UNIT_NAME,
da.BRIEF_INTRODUCTION,
da.PROJECT_LAND_SITUATION,
da.project_code,
da.create_time
from bs_sgc_qqjd_spe_det_des_app da left join bs_slgc_qqjd_spe_pro_proposal pp on pp.pro_no=da.pro_no
</sql>
<resultMap id="SpecialProjectDetailDesign" type="SpecialProjectDetailDesign">
<id property="id" column="id"/>
<result property="projectName" column="project_name"/>
<result property="proNo" column="pro_no"/>
<result property="adcd" column="adcd"/>
<result property="constructionNature" column="CONSTRUCTION_NATURE"/>
<result property="constructionLocation" column="CONSTRUCTION_LOCATION"/>
<result property="projectUnitName" column="PROJECT_UNIT_NAME"/>
<result property="briefIntroduction" column="BRIEF_INTRODUCTION"/>
<result property="projectLandSituation" column="PROJECT_LAND_SITUATION"/>
<result property="projectCode" column="project_code"/>
<result property="createTime" column="create_time"/>
</resultMap>
<select id="getXzqh" resultMap="SpecialProjectDetailDesign">
<bind name="pageNum" value="(pageNum-1)*pageSize"></bind>
<include refid="info"/>
<where>
<if test="projectName!=null and projectName!=''">
and project_name like concat('%',#{projectName},'%')
</if>
<include refid="com.kms.system.mapper.SysXzqhMapper.xzqhCondition"></include>
</where>
order by da.${orderBy} desc LIMIT #{pageNum},#{pageSize};
</select>
<select id="getByUserPro" resultMap="SpecialProjectDetailDesign">
<include refid="info"/>
<if test="userType==01">
WHERE
da.PRO_NO IN (
SELECT
PRO_NO
FROM
sys_user_pro
<where>
<if test="projectKind != null and projectKind != ''">
AND da.project_kind=#{projectKind}
</if>
<if test="userId!=null and userId!=''">
AND user_id=#{userId})
</if>
<if test="projectName!=null and projectName!=''">
and da.project_name like concat('%',#{projectName},'%')
</if>
<include refid="com.kms.system.mapper.SysXzqhMapper.xzqhCondition"></include>
</where>
order by da.${orderBy} desc
</if>
<if test="userType==00">
<where>
<if test="projectKind != null and projectKind != ''">
AND da.project_kind=#{projectKind}
</if>
<if test="projectName!=null and projectName!=''">
and da.project_name like concat('%',#{projectName},'%')
</if>
<if test="adcd!=null and adcd !=''">
and da.adcd like concat(#{adcd},'%')
</if>
</where>
order by da.${orderBy} desc
</if>
</select>
<resultMap id="listProject" type="BsSgcjsjdBuiProInfo">
<id property="id" column="id"/>
<result property="projectName" column="project_name"/>
<result property="adcd" column="adcd"/>
<result property="projectType" column="project_type"/>
<result property="proCode" column="pro_code"/>
<result property="constructionNature" column="CONSTRUCTION_NATURE"/>
<result property="total" column="total"/>
<result property="proNo" column="pro_no"/>
<result property="bindStatus" column="bind_status"/>
<result property="source" column="source"/>
</resultMap>
<select id="listProject" resultMap="listProject">
SELECT *,'项目过程管理' as source
FROM (
SELECT DISTINCT
pi.pro_no,
pi.project_name,
pi.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = pi.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
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
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND pi.project_name LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and pi.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
pi.pro_no, pi.project_name, pi.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
UNION
SELECT *,'项目建议书' as source
FROM (
SELECT DISTINCT
pp.pro_no,
pp.project_name,
pp.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = pp.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
FROM
bs_slgc_qqjd_spe_pro_proposal pp
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND pp.project_name LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and pp.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
pp.pro_no, pp.project_name, pp.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
UNION
SELECT *,'可行性研究报告' as source
FROM (
SELECT DISTINCT
fea.pro_no,
fea.project_name,
fea.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = fea.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
FROM
bs_slgc_qqjd_spe_pro_fea fea
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND fea.project_name LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and fea.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
fea.pro_no, fea.project_name, fea.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
UNION
SELECT *,'初步设计' as source
FROM (
SELECT DISTINCT
app.pro_no,
app.project_name,
app.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = app.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
FROM
bs_sgc_qqjd_spe_pro_des_app app
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND app.project_name LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and app.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
app.pro_no, app.project_name, app.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
UNION
SELECT *,'计划管理' as source
FROM (
SELECT DISTINCT
bsqpi.pro_no,
bsqpi.PLAN_NAME,
bsqpi.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = bsqpi.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
FROM
bs_slgc_qqjd_plan_info bsqpi
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND bsqpi.PLAN_NAME LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and bsqpi.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
bsqpi.pro_no, bsqpi.PLAN_NAME, bsqpi.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
UNION
SELECT *,'专题管理' as source
FROM (
SELECT DISTINCT
bsqspi.pro_no,
bsqspi.PROJECT_NAME,
bsqspi.adcd,
CASE
WHEN EXISTS (
SELECT 1
FROM sys_user_pro sup
WHERE sup.pro_no = bsqspi.pro_no
<if test="userId != null and userId != ''">
AND sup.user_id = #{userId}
</if>
) THEN 1
ELSE 0
END AS bind_status
FROM
bs_slgc_qqjd_spe_pro_info bsqspi
<where>
1 = 1
<if test="projectName != null and projectName != ''">
AND bsqspi.PROJECT_NAME LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="adcd != null and adcd != ''">
and bsqspi.adcd like concat(#{adcd},'%')
</if>
</where>
GROUP BY
bsqspi.pro_no, bsqspi.PROJECT_NAME, bsqspi.adcd
) AS subquery
<where>
1 = 1
<if test="bindStatus != null and bindStatus != ''">
AND bind_status = #{bindStatus}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save