From 80bdc580f8593584c43e3c418586a2defce74c39 Mon Sep 17 00:00:00 2001 From: xzt <1113240624@qq.com> Date: Tue, 11 Mar 2025 00:15:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=A6=E6=83=85=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/earlyStage/detailDesign.js | 62 + .../src/views/project/detailDesign/index.vue | 1666 +++++++++++++++++ .../SpecialProjectDetailDesignController.java | 166 ++ .../domain/SpecialProjectDetailDesign.java | 132 ++ .../SpecialProjectDetailDesignMapper.java | 44 + .../SpecialProjectDetailDesignService.java | 226 +++ .../SpecialProjectDetailDesignMapper.xml | 344 ++++ 7 files changed, 2640 insertions(+) create mode 100644 jwtech-admin-page/src/api/earlyStage/detailDesign.js create mode 100644 jwtech-admin-page/src/views/project/detailDesign/index.vue create mode 100644 jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectDetailDesignController.java create mode 100644 jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectDetailDesign.java create mode 100644 jwtech-system/src/main/java/com/kms/earlyStage/mapper/SpecialProjectDetailDesignMapper.java create mode 100644 jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectDetailDesignService.java create mode 100644 jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml diff --git a/jwtech-admin-page/src/api/earlyStage/detailDesign.js b/jwtech-admin-page/src/api/earlyStage/detailDesign.js new file mode 100644 index 00000000..029eb1d8 --- /dev/null +++ b/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 + }) +} diff --git a/jwtech-admin-page/src/views/project/detailDesign/index.vue b/jwtech-admin-page/src/views/project/detailDesign/index.vue new file mode 100644 index 00000000..f8a13ce9 --- /dev/null +++ b/jwtech-admin-page/src/views/project/detailDesign/index.vue @@ -0,0 +1,1666 @@ + + + + + + + + 新增 + 修改 + 删除 + + + + + + + + + + + + + + + + + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + 查看 + 修改 + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + 重大项目 + 面上项目 + + + + {{ dict.dictLabel }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 月 + + + + + + + 万元 + + + + + + + + + + + + + 亩 + + + + + + + 亩 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 详细设计管理信息 + + + + + 招标项目名称 + + {{ + this.designMsg.projectName + + "[" + + this.designMsg.projectCode + + "]" + }} + + + 行政区划 + {{ $formatAdcd(this.designMsg) }} + + + 项目类型 + {{ projectTypeFormat(this.designMsg) }} + + + 项目编码 + {{ this.designMsg.projectCode }} + + + + 建设性质 + {{ this.constructionNatureFormat(this.designMsg) }} + + + 建设地点 + {{ this.designMsg.constructionLocation }} + + + 项目单位名称 + {{ this.designMsg.projectUnitName }} + + + 编制单位 + {{ this.designMsg.preparationUnit }} + + + 批复时间 + {{ this.designMsg.approvalTime }} + + + 上报时间 + {{ this.designMsg.reportTime }} + + + 批复意见 + {{ this.designMsg.approvalOpinion }} + + + + 批复部门 + {{ this.designMsg.approvalDepartment }} + + + + 批复文号 + {{ this.designMsg.approvalNo }} + + + + 批复工期 + {{ this.designMsg.approvalDuration }} + + + 概算总投资 + {{ this.designMsg.totalInvestment }} + + + 计划开工时间 + {{ this.designMsg.planWorkDate }} + + + 总用地面积 + {{ this.designMsg.totalArea }} + + + 新增建设用地 + {{ this.designMsg.addArea }} + + + + 简介 + {{ this.designMsg.briefIntroduction }} + + + 项目用地情况 + {{ this.designMsg.projectLandSituation }} + + + 详细设计概算报告 + + + {{ item.name }} + + + + + + + 相关上位规划附件 + + + {{ item.name }} + + + + + + + + + + + + + diff --git a/jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectDetailDesignController.java b/jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectDetailDesignController.java new file mode 100644 index 00000000..40f6c750 --- /dev/null +++ b/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 sp) + { + IPage iPage = specialProjectDetailDesignService.selectPage(sp); + + return iPage; + } + + /** + * 导出初步设计管理列表 + */ + @Log(title = "初步设计管理导出", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("初步设计管理导出") + public AjaxResult export(@RequestBody SpecialProjectDetailDesign specialProjectDetailDesign) + { + List list = specialProjectDetailDesignService.listByIds(specialProjectDetailDesign.getIds()); + ExcelUtil 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 lw=new LambdaQueryWrapper<>(); + SpecialProjectDetailDesign one = specialProjectDetailDesignService.getOne(lw.eq( + SpecialProjectDetailDesign::getProjectCode, projectCode + )); + SpecialProjectDetailDesign byNo= one; + return AjaxResult.success(byNo); + } + +} diff --git a/jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectDetailDesign.java b/jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectDetailDesign.java new file mode 100644 index 00000000..b5776492 --- /dev/null +++ b/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 Listchildren; + +} diff --git a/jwtech-system/src/main/java/com/kms/earlyStage/mapper/SpecialProjectDetailDesignMapper.java b/jwtech-system/src/main/java/com/kms/earlyStage/mapper/SpecialProjectDetailDesignMapper.java new file mode 100644 index 00000000..84056756 --- /dev/null +++ b/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 { + + 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); + + IPage 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 listProject(@Param("userId") String userId, + @Param("adcd") String subString, + @Param("projectName") String projectName, + @Param("bindStatus") String bindStatus, + Page page); +} diff --git a/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectDetailDesignService.java b/jwtech-system/src/main/java/com/kms/earlyStage/service/SpecialProjectDetailDesignService.java new file mode 100644 index 00000000..b0642d55 --- /dev/null +++ b/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{ + + @Autowired + private SpecialProjectDetailDesignMapper specialProjectDetailDesignMapper; + + @Autowired + private SysXzqhService sysXzqhService; + + @Autowired + private SysDeptService sysDeptService; + + @Autowired + private SpecialProjectProposalService specialProjectProposalService; + + @Autowired + private BsSgcJsjdBuiSectionInfoMapper bsSgcJsjdBuiSectionInfoMapper; + + public IPage selectPage(SearchParam 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 params = sp.getParams(); + + + assert sysUser != null; + IPage list = null; + + if (ObjectUtil.isNotNull(data.getProNo())) { + Page page = specialProjectDetailDesignMapper.selectPage(new Page<>(sp.getPageNum(), sp.getPageSize()), BeanToWrapper.getWrapper(sp)); + Listrecords = page.getRecords(); + Listlist1=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 records = list.getRecords(); + Listlist1=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 listProject(SearchParam sp) { + BsSgcjsjdBuiProInfo data = sp.getData(); + + SysUser user = UserUtils.getUser(); + IPage 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 record = page.getRecords(); + for (BsSgcjsjdBuiProInfo pd : record) { + List sysDeptList = new ArrayList<>(); + LambdaQueryWrapper lw = new LambdaQueryWrapper<>(); + List userPro = sysUserProMapper.selectList(new QueryWrapper().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 bsSgcJsjdBuiSectionInfos = bsSgcJsjdBuiSectionInfoMapper.selectList(lw.eq(BsSgcJsjdBuiSectionInfo::getProNo, pd.getProNo())); + for (BsSgcJsjdBuiSectionInfo se : bsSgcJsjdBuiSectionInfos) { + List userPros = sysUserProMapper.selectList(new QueryWrapper().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())); + Listrecords=page.getRecords(); + Listlist=new ArrayList<>(); + + + for (BsSgcjsjdBuiProInfo pd:records){ + ListsysDeptList=new ArrayList<>(); + LambdaQueryWrapperlw=new LambdaQueryWrapper<>(); + List userProUnit = sysUserProMapper.selectList(new QueryWrapper().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 userPro = sysUserProMapper.selectList(new QueryWrapper().eq("pro_no", pd.getProNo()).eq("user_id", user.getDeptId())); + if (CollUtil.isNotEmpty(userPro)){ + pd.setBindStatus("1"); + }else { + pd.setBindStatus("0"); + } + List bsSgcJsjdBuiSectionInfos = bsSgcJsjdBuiSectionInfoMapper.selectList(lw.eq(BsSgcJsjdBuiSectionInfo::getProNo, pd.getProNo())); + for (BsSgcJsjdBuiSectionInfo se:bsSgcJsjdBuiSectionInfos){ + List userProsUnit = sysUserProMapper.selectList(new QueryWrapper().eq("section_no", se.getId())); + for (SysUserPro sysUserPro:userProsUnit){ + SysDept sysDept = sysDeptService.get(sysUserPro.getUserId()); + sysDeptList.add(sysDept.getDeptName()); + } + + List userPros = sysUserProMapper.selectList(new QueryWrapper().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; + } +} diff --git a/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml new file mode 100644 index 00000000..b4cd35fd --- /dev/null +++ b/jwtech-system/src/main/resources/mapper/earlyStage/SpecialProjectDetailDesignMapper.xml @@ -0,0 +1,344 @@ + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + and project_name like concat('%',#{projectName},'%') + + + + order by da.${orderBy} desc LIMIT #{pageNum},#{pageSize}; + + + + + + + WHERE + da.PRO_NO IN ( + SELECT + PRO_NO + FROM + sys_user_pro + + + AND da.project_kind=#{projectKind} + + + AND user_id=#{userId}) + + + and da.project_name like concat('%',#{projectName},'%') + + + + + order by da.${orderBy} desc + + + + + AND da.project_kind=#{projectKind} + + + and da.project_name like concat('%',#{projectName},'%') + + + and da.adcd like concat(#{adcd},'%') + + + order by da.${orderBy} desc + + + + + + + + + + + + + + + + + + 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 + + AND sup.user_id = #{userId} + + ) 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 + + 1 = 1 + + AND pi.project_name LIKE CONCAT('%', #{projectName}, '%') + + + and pi.adcd like concat(#{adcd},'%') + + + GROUP BY + pi.pro_no, pi.project_name, pi.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + + 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 + + AND sup.user_id = #{userId} + + + ) THEN 1 + ELSE 0 + END AS bind_status + FROM + bs_slgc_qqjd_spe_pro_proposal pp + + 1 = 1 + + AND pp.project_name LIKE CONCAT('%', #{projectName}, '%') + + + and pp.adcd like concat(#{adcd},'%') + + + GROUP BY + pp.pro_no, pp.project_name, pp.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + + 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 + + AND sup.user_id = #{userId} + + ) THEN 1 + ELSE 0 + END AS bind_status + FROM + bs_slgc_qqjd_spe_pro_fea fea + + 1 = 1 + + AND fea.project_name LIKE CONCAT('%', #{projectName}, '%') + + + and fea.adcd like concat(#{adcd},'%') + + + GROUP BY + fea.pro_no, fea.project_name, fea.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + + 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 + + AND sup.user_id = #{userId} + + ) THEN 1 + ELSE 0 + END AS bind_status + FROM + bs_sgc_qqjd_spe_pro_des_app app + + 1 = 1 + + AND app.project_name LIKE CONCAT('%', #{projectName}, '%') + + + and app.adcd like concat(#{adcd},'%') + + + GROUP BY + app.pro_no, app.project_name, app.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + + 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 + + AND sup.user_id = #{userId} + + ) THEN 1 + ELSE 0 + END AS bind_status + FROM + bs_slgc_qqjd_plan_info bsqpi + + 1 = 1 + + AND bsqpi.PLAN_NAME LIKE CONCAT('%', #{projectName}, '%') + + + and bsqpi.adcd like concat(#{adcd},'%') + + + GROUP BY + bsqpi.pro_no, bsqpi.PLAN_NAME, bsqpi.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + + 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 + + AND sup.user_id = #{userId} + + ) THEN 1 + ELSE 0 + END AS bind_status + FROM + bs_slgc_qqjd_spe_pro_info bsqspi + + 1 = 1 + + AND bsqspi.PROJECT_NAME LIKE CONCAT('%', #{projectName}, '%') + + + and bsqspi.adcd like concat(#{adcd},'%') + + + GROUP BY + bsqspi.pro_no, bsqspi.PROJECT_NAME, bsqspi.adcd + ) AS subquery + + 1 = 1 + + AND bind_status = #{bindStatus} + + + +