dongdingding
杜函宇 1 week ago
parent 86275b8b9f
commit 383b2d4d9e

@ -233,8 +233,11 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<repositories> <repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
<repository> <repository>
<id>public</id> <id>public</id>
<name>aliyun nexus</name> <name>aliyun nexus</name>

@ -16,6 +16,13 @@
</description> </description>
<dependencies> <dependencies>
<!-- iText 7 Core 最新版本 -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>8.0.4</version> <!-- 2023年最新版本 -->
<type>pom</type>
</dependency>
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId> <artifactId>poi-ooxml</artifactId>

@ -17,7 +17,9 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* (Enterprise) * (Enterprise)
@ -55,7 +57,7 @@ public class EnterpriseController extends BaseController {
* @param id * @param id
* @return * @return
*/ */
@GetMapping("{id}") @GetMapping("/{id}")
@ApiOperation(value = "通过主键查询单条数据", response = Enterprise.class) @ApiOperation(value = "通过主键查询单条数据", response = Enterprise.class)
public AjaxResult selectOne(@PathVariable Serializable id) { public AjaxResult selectOne(@PathVariable Serializable id) {
return success(enterpriseService.getById(id)); return success(enterpriseService.getById(id));
@ -98,7 +100,14 @@ public class EnterpriseController extends BaseController {
if (proList == null || proList.isEmpty()) { if (proList == null || proList.isEmpty()) {
throw new ServiceException("入驻企业信息数据不能为空"); throw new ServiceException("入驻企业信息数据不能为空");
} else { } else {
proList.forEach(x->{ List<Enterprise> pl = new ArrayList<>(proList.stream()
.collect(Collectors.toMap(
Enterprise::getCode, // 以 email 作为键
p -> p, // 值保留对象本身
(existing, replacement) -> existing // 保留第一个出现的元素
))
.values());
pl.forEach(x->{
x.setXmId(xmId); x.setXmId(xmId);
}); });
enterpriseService.saveBatch(proList); enterpriseService.saveBatch(proList);

@ -0,0 +1,110 @@
package com.ruoyi.gysl.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.gysl.entity.GyslProjectHandbook;
import com.ruoyi.gysl.service.GyslProjectHandbookService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.Serializable;
import java.util.List;
import static com.ruoyi.common.core.domain.AjaxResult.success;
/**
* (GyslProjectHandbook)
*
* @author makejava
* @since 2025-04-14 13:56:59
*/
@Api(tags = "项目手册")
@RestController
@RequestMapping("/gysl/handbook")
public class GyslProjectHandbookController {
/**
*
*/
@Resource
private GyslProjectHandbookService gyslProjectHandbookService;
/**
*
*
* @param page
* @param gyslProjectHandbook
* @return
*/
@GetMapping("/page")
@ApiOperation(value = "分页查询所有数据", response = GyslProjectHandbook.class)
public AjaxResult selectAll(Page<GyslProjectHandbook> page, GyslProjectHandbook gyslProjectHandbook) {
return success(gyslProjectHandbookService.page(page, new QueryWrapper<>(gyslProjectHandbook)));
}
/**
*
*
* @param id
* @return
*/
@GetMapping("/{id}")
@ApiOperation(value = "通过主键查询单条数据", response = GyslProjectHandbook.class)
public AjaxResult selectOne(@PathVariable Serializable id) {
return success(gyslProjectHandbookService.getById(id));
}
/**
*
*
* @param gyslProjectHandbook
* @return
*/
@PostMapping("/add")
@ApiOperation(value = "新增数据")
public AjaxResult insert(@RequestBody @Valid GyslProjectHandbook gyslProjectHandbook) {
return success(gyslProjectHandbookService.save(gyslProjectHandbook));
}
/**
*
*
* @param gyslProjectHandbook
* @return
*/
@PostMapping("/edit")
@ApiOperation("修改数据")
public AjaxResult update(@RequestBody @Valid GyslProjectHandbook gyslProjectHandbook) {
return success(gyslProjectHandbookService.updateById(gyslProjectHandbook));
}
/**
*
*
* @param idList
* @return
*/
@ApiOperation("删除数据")
@DeleteMapping("/delete")
public AjaxResult delete(@RequestParam("idList") List<Long> idList) {
return success(gyslProjectHandbookService.removeByIds(idList));
}
/**
*
*/
@ApiOperation(value = "导出项目手册")
@PostMapping(value = "/export")
public void export(HttpServletResponse response, @RequestParam Integer id)
throws Exception {
}
}

@ -27,7 +27,7 @@ import java.util.List;
@Api(tags ="项目评价清单(包括详情页)" ) @Api(tags ="项目评价清单(包括详情页)" )
@RestController @RestController
@RequestMapping("/gysl/xmpjqd") @RequestMapping("/gysl/xmpjqd")
public class XmpjqdController extends BaseController { public class XmpjqdController {
/** /**
* *
*/ */
@ -45,10 +45,11 @@ public class XmpjqdController extends BaseController {
Page<Xmpjqd> page = new Page<>(); Page<Xmpjqd> page = new Page<>();
page.setSize(req.getSize()); page.setSize(req.getSize());
page.setCurrent(req.getCurrent()); page.setCurrent(req.getCurrent());
return success(xmpjqdService.page(page, req)); return AjaxResult.success(xmpjqdService.page(page, req));
} }
/** /**
*
* *
* *
* @param id * @param id
@ -57,7 +58,7 @@ public class XmpjqdController extends BaseController {
@ApiOperation(value = "通过主键查询单条项目评价清单",response = XmpjqdOneResponse.class) @ApiOperation(value = "通过主键查询单条项目评价清单",response = XmpjqdOneResponse.class)
@GetMapping("/{id}") @GetMapping("/{id}")
public AjaxResult selectOne(@PathVariable Long id) { public AjaxResult selectOne(@PathVariable Long id) {
return success(xmpjqdService.selectOnePj(id)); return AjaxResult.success(xmpjqdService.selectOnePj(id));
} }
/** /**
@ -69,7 +70,7 @@ public class XmpjqdController extends BaseController {
@ApiOperation(value = "通过主键查询单条项目画像",response = XmhxResponse.class) @ApiOperation(value = "通过主键查询单条项目画像",response = XmhxResponse.class)
@GetMapping("/oneXmhx/{id}") @GetMapping("/oneXmhx/{id}")
public AjaxResult oneXmhx(@PathVariable Long id) { public AjaxResult oneXmhx(@PathVariable Long id) {
return success(xmpjqdService.oneXmhx(id)); return AjaxResult.success(xmpjqdService.oneXmhx(id));
} }
} }

@ -148,11 +148,8 @@ public class BasicInformation extends BaseModel {
private String fj; private String fj;
@ApiModelProperty("经度") @ApiModelProperty("经度")
@Excel(name = "经度", type = Excel.Type.EXPORT)
private String longitude; private String longitude;
@Excel(name = "纬度", type = Excel.Type.EXPORT)
@ApiModelProperty("纬度") @ApiModelProperty("纬度")
private String latitude; private String latitude;

@ -0,0 +1,58 @@
package com.ruoyi.gysl.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.gysl.entity.baseModel.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* (GyslProjectHandbook)
*
* @author makejava
* @since 2025-04-14 13:56:59
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("gysl_project_handbook")
@ApiModel(value="项目手册")
public class GyslProjectHandbook extends BaseModel {
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value ="手册名称" )
@NotBlank(message = "手册名称不能为空!")
private String name;
@ApiModelProperty(value ="副标题" )
@NotBlank(message = "副标题不能为空!")
private String subtitle;
@ApiModelProperty(value ="封面图片" )
@NotBlank(message = "封面图片不能为空!")
private String coverImg;
@ApiModelProperty(value ="项目id" )
@NotBlank(message = "请选择项目id!")
private String xmId;
@ApiModelProperty(value ="封尾图片" )
@NotBlank(message = "封尾图片不能为空!")
private String tailingImg;
@ApiModelProperty(value ="封尾标题" )
@NotBlank(message = "封尾图片不能为空!")
private String tail;
}

@ -2,6 +2,7 @@ package com.ruoyi.gysl.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.gysl.entity.baseModel.BaseModel; import com.ruoyi.gysl.entity.baseModel.BaseModel;
@ -29,6 +30,7 @@ public class QyrzInformation extends BaseModel implements Serializable {
private Long xmId; private Long xmId;
@ApiModelProperty("入住企业数") @ApiModelProperty("入住企业数")
@TableField(exist = false)
private Integer rzqys; private Integer rzqys;
@ApiModelProperty("入驻企业行业类型") @ApiModelProperty("入驻企业行业类型")

@ -33,14 +33,10 @@ public class Xmpjqd implements Serializable {
private String name; private String name;
@ApiModelProperty(value = "项目建设开始时间 yyyy-MM") @ApiModelProperty(value = "项目建设开始时间 yyyy-MM")
@DateTimeFormat(pattern = "yyyy-MM") private String begainTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM", timezone = "GMT+8")
private LocalDate begainTime;
@ApiModelProperty(value = "项目建设结束时间 yyyy-MM") @ApiModelProperty(value = "项目建设结束时间 yyyy-MM")
@DateTimeFormat(pattern = "yyyy-MM") private String endTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM", timezone = "GMT+8")
private LocalDate endTime;
@ApiModelProperty(value = "现状分类") @ApiModelProperty(value = "现状分类")
private Integer xzfl; private Integer xzfl;

@ -28,15 +28,11 @@ public class XmpjqdPageReq {
@ApiModelProperty(value = "项目名称") @ApiModelProperty(value = "项目名称")
private String name; private String name;
@ApiModelProperty(value = "项目建设开始时间 yyyy-MM-dd") @ApiModelProperty(value = "项目建设开始时间 yyyy-MM")
@DateTimeFormat(pattern = "yyyy-MM-dd") private String begainTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate begainTime; @ApiModelProperty(value = "项目建设结束时间 yyyy-MM")
private String endTime;
@ApiModelProperty(value = "项目建设结束时间 yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate endTime;
private Integer current = 1; private Integer current = 1;

@ -0,0 +1,15 @@
package com.ruoyi.gysl.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.gysl.entity.GyslProjectHandbook;
/**
* (gysl_project_handbook)访
*
* @author makejava
* @since 2025-02-24 09:25:51
*/
public interface ProjectHandBookMapper extends BaseMapper<GyslProjectHandbook> {
}

@ -0,0 +1,15 @@
package com.ruoyi.gysl.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.gysl.entity.GyslProjectHandbook;
/**
* (GyslProjectHandbook)
*
* @author makejava
* @since 2025-04-14 13:56:59
*/
public interface GyslProjectHandbookService extends IService<GyslProjectHandbook> {
}

@ -0,0 +1,19 @@
package com.ruoyi.gysl.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.gysl.entity.GyslProjectHandbook;
import com.ruoyi.gysl.mapper.ProjectHandBookMapper;
import com.ruoyi.gysl.service.GyslProjectHandbookService;
import org.springframework.stereotype.Service;
/**
* (GyslProjectHandbook)
*
* @author makejava
* @since 2025-04-14 13:56:59
*/
@Service("gyslProjectHandbookService")
public class GyslProjectHandbookServiceImpl extends ServiceImpl<ProjectHandBookMapper, GyslProjectHandbook> implements GyslProjectHandbookService {
}

@ -52,6 +52,7 @@ public class XmpjqdServiceImpl extends ServiceImpl<XmpjqdMapper, Xmpjqd> impleme
Page<Xmpjqd> page1 = xmpjqdMapper.page(page, req); Page<Xmpjqd> page1 = xmpjqdMapper.page(page, req);
for (int i = 0; i < page1.getRecords().size(); i++) { for (int i = 0; i < page1.getRecords().size(); i++) {
page1.getRecords().get(i).setPjdj(i + 1); page1.getRecords().get(i).setPjdj(i + 1);
page1.getRecords().get(i).setCount((int) page1.getTotal());
} }
return page1; return page1;
} }

@ -337,6 +337,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND a.is_fmqd = #{req.isFmqd} AND a.is_fmqd = #{req.isFmqd}
</if> </if>
</where> </where>
order by create_time desc
</select> </select>
<select id="projectList" resultType="com.ruoyi.gysl.entity.BasicInformation"> <select id="projectList" resultType="com.ruoyi.gysl.entity.BasicInformation">

@ -0,0 +1,6 @@
<?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.ruoyi.gysl.mapper.ProjectHandBookMapper">
</mapper>

@ -2,7 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.gysl.mapper.QyrzInformationMapper"> <mapper namespace="com.ruoyi.gysl.mapper.QyrzInformationMapper">
<select id="selectAll" resultType="com.ruoyi.gysl.entity.QyrzInformation"> <select id="selectAll" resultType="com.ruoyi.gysl.entity.QyrzInformation">
select * from gysl_qyrz_information select *,
(select count(*) from gysl_enterprise
<where>
<if test="req.xmId != null and req.xmId != ''">
AND xm_id = #{req.xmId}
</if>
</where>
) as rzqys
from gysl_qyrz_information
<where> <where>
<if test="req.xmId != null and req.xmId != ''"> <if test="req.xmId != null and req.xmId != ''">
AND xm_id = #{req.xmId} AND xm_id = #{req.xmId}

@ -1,8 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.gysl.mapper.XmpjqdMapper"> <mapper namespace="com.ruoyi.gysl.mapper.XmpjqdMapper">
<select id="page" resultType="com.ruoyi.gysl.entity.Xmpjqd">
<select id="selectOnePj" resultType="com.ruoyi.gysl.entity.response.XmpjqdOneResponse">
SELECT SELECT
c.pjpm,
'总投资额' AS ysmc,
c.total_count AS count
FROM
(
SELECT
ROW_NUMBER() OVER ( ORDER BY a.ztze DESC ) AS pjpm,
a.id, a.id,
a.NAME, a.NAME,
a.begain_time, a.begain_time,
@ -10,26 +19,57 @@
a.xzfl, a.xzfl,
a.xmfrdwxz, a.xmfrdwxz,
a.ztze, a.ztze,
COUNT(*) AS count, COUNT(*) OVER () AS total_count
FROM
gysl_basic_information a
GROUP BY
a.id
) c
WHERE
c.id = #{id}
</select>
<select id="zdzZtze" resultType="com.ruoyi.gysl.entity.response.XmhxDetail.XmhxDetail">
select IFNULL(MAX(ztze),0) as pjpm,
'总投资额' as ysmc
from gysl_basic_information
</select>
<select id="zwsZtze" resultType="java.math.BigDecimal">
SELECT ztze FROM gysl_basic_information where ztze is not null
order by ztze desc
</select>
<select id="meZtze" resultType="com.ruoyi.gysl.entity.response.XmhxDetail.XmhxDetail">
SELECT
ztze as pjpm,
'总投资额' as ysmc
FROM gysl_basic_information where id = #{id}
</select>
<select id="page" resultType="com.ruoyi.gysl.entity.Xmpjqd">
SELECT
a.id,
a.name,
a.begain_time,
a.end_time,
a.xzfl,
a.xmfrdwxz,
a.ztze,
b.floor, b.floor,
b.scgd, b.scgd,
b.two_and_four_cg as twoAndFourCg, b.two_and_four_cg as twoAndFourCg,
b.scdmhz, b.scdmhz,
b.two_and_three_lmhz as twoAndThreeLmhz b.two_and_three_lmhz as twoAndThreeLmhz
FROM gysl_basic_information a FROM gysl_basic_information a
left join gysl_building_information b on a.id = b.xm_id left join gysl_building_information b on a.id = b.xm_id and b.sfwzyld = 1
<where> <where>
b.sfwzyld = 1
<if test="req.xzfl != null"> <if test="req.xzfl != null">
AND xzfl = #{req.xzfl} AND xzfl = #{req.xzfl}
</if> </if>
<if test="req.name != null and req.name != '' "> <if test="req.name != null and req.name != '' ">
AND name like concat('%',#{req.name},'%') AND name like concat('%',#{req.name},'%')
</if> </if>
<if test="req.begainTime != null"> <if test="req.begainTime != null and req.begainTime!= ''">
AND begain_time = #{req.begainTime} AND begain_time = #{req.begainTime}
</if> </if>
<if test="req.endTime != null"> <if test="req.endTime != null and req.endTime!=''">
AND end_time = #{req.endTime} AND end_time = #{req.endTime}
</if> </if>
</where> </where>
@ -71,46 +111,6 @@
order by b.two_and_three_lmhz desc order by b.two_and_three_lmhz desc
</if> </if>
</select> </select>
<select id="selectOnePj" resultType="com.ruoyi.gysl.entity.response.XmpjqdOneResponse">
SELECT
c.pjpm,
'总投资额' AS ysmc,
c.total_count AS count
FROM
(
SELECT
ROW_NUMBER() OVER ( ORDER BY a.ztze DESC ) AS pjpm,
a.id,
a.NAME,
a.begain_time,
a.end_time,
a.xzfl,
a.xmfrdwxz,
a.ztze,
COUNT(*) OVER () AS total_count
FROM
gysl_basic_information a
GROUP BY
a.id
) c
WHERE
c.id = #{id}
</select>
<select id="zdzZtze" resultType="com.ruoyi.gysl.entity.response.XmhxDetail.XmhxDetail">
select IFNULL(MAX(ztze),0) as pjpm,
'总投资额' as ysmc
from gysl_basic_information
</select>
<select id="zwsZtze" resultType="java.math.BigDecimal">
SELECT ztze FROM gysl_basic_information where ztze is not null
order by ztze desc
</select>
<select id="meZtze" resultType="com.ruoyi.gysl.entity.response.XmhxDetail.XmhxDetail">
SELECT
ztze as pjpm,
'总投资额' as ysmc
FROM gysl_basic_information where id = #{id}
</select>
</mapper> </mapper>

Loading…
Cancel
Save