Commit 3b1fe34d authored by 耿迪迪's avatar 耿迪迪
parents f36ebc5e 7c8ae314
package com.zehong.web.controller.supervise;
import java.io.File;
import java.util.List;
import com.zehong.common.config.GassafetyProgressConfig;
import org.springframework.security.access.prepost.PreAuthorize;
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.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.enums.BusinessType;
import com.zehong.system.domain.TProjectInfo;
import com.zehong.system.service.ITProjectInfoService;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.common.core.page.TableDataInfo;
/**
* 工程项目信息Controller
*
* @author zehong
* @date 2022-03-16
*/
@RestController
@RequestMapping("/project/info")
public class TProjectInfoController extends BaseController
{
@Autowired
private ITProjectInfoService tProjectInfoService;
/**
* 查询工程项目信息列表
*/
@PreAuthorize("@ss.hasPermi('project:info:list')")
@GetMapping("/list")
public TableDataInfo list(TProjectInfo tProjectInfo)
{
startPage();
List<TProjectInfo> list = tProjectInfoService.selectTProjectInfoList(tProjectInfo);
return getDataTable(list);
}
/**
* 导出工程项目信息列表
*/
@PreAuthorize("@ss.hasPermi('project:info:export')")
@Log(title = "工程项目信息", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(TProjectInfo tProjectInfo)
{
List<TProjectInfo> list = tProjectInfoService.selectTProjectInfoList(tProjectInfo);
ExcelUtil<TProjectInfo> util = new ExcelUtil<TProjectInfo>(TProjectInfo.class);
return util.exportExcel(list, "工程项目信息数据");
}
/**
* 获取工程项目信息详细信息
*/
@PreAuthorize("@ss.hasPermi('project:info:query')")
@GetMapping(value = "/{projectId}")
public AjaxResult getInfo(@PathVariable("projectId") Long projectId)
{
return AjaxResult.success(tProjectInfoService.selectTProjectInfoById(projectId));
}
/**
* 新增工程项目信息
*/
@PreAuthorize("@ss.hasPermi('project:info:add')")
@Log(title = "工程项目信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TProjectInfo tProjectInfo)
{
//查询是否已经有重复的年份数据
List<TProjectInfo> tProjectInfos = tProjectInfoService.selectSameYear(tProjectInfo.getProjectYear());
//说明有重复的年份 将重复的年份删除
if (tProjectInfos.size()!=0){
//重复年份删除方法
tProjectInfoService.deleteisSameYear(tProjectInfo.getProjectYear());
}
return toAjax(tProjectInfoService.insertTProjectInfo(tProjectInfo));
}
/**
* 修改工程项目信息
*/
@PreAuthorize("@ss.hasPermi('project:info:edit')")
@Log(title = "工程项目信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody TProjectInfo tProjectInfo)
{
//查询修改文件之前的路径
TProjectInfo tProjectInfos = tProjectInfoService.selectNearbyAddress(tProjectInfo.getProjectId());
if (tProjectInfos.getNearbyAddress()!=null){
// 上传文件路径
String filePath = GassafetyProgressConfig.getUploadPath();
String[] strs = tProjectInfos.getNearbyAddress().split("upload");
//删除
File file = new File(filePath+strs[1].toString());
// 上传文件路径
if(file.isFile()){
file.delete();
}
}
return toAjax(tProjectInfoService.updateTProjectInfo(tProjectInfo));
}
/**
* 删除工程项目信息
*/
@PreAuthorize("@ss.hasPermi('project:info:remove')")
@Log(title = "工程项目信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{projectIds}")
public AjaxResult remove(@PathVariable Long[] projectIds)
{
return toAjax(tProjectInfoService.deleteTProjectInfoByIds(projectIds));
}
}
......@@ -30,6 +30,8 @@ public class DeviceData {
private int iconType;
private String iconUrl;
//下级设备数据封装类数组
private List<SubordinateEquipmentList> subordinateEquipmentList;
......@@ -87,6 +89,13 @@ public class DeviceData {
//探测器报警中
private int detectorInAlarm;
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String iconUrl) {
this.iconUrl = iconUrl;
}
public List<SubordinateEquipmentList> getSubordinateEquipmentList() {
return subordinateEquipmentList;
......@@ -351,6 +360,7 @@ public class DeviceData {
", pressureFlows=" + pressureFlows +
", beyondEnterpriseName='" + beyondEnterpriseName + '\'' +
", iconType=" + iconType +
", iconUrl='" + iconUrl + '\'' +
", subordinateEquipmentList=" + subordinateEquipmentList +
", numberPressureGauges=" + numberPressureGauges +
", onlineEquipment=" + onlineEquipment +
......
package com.zehong.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
/**
* 工程项目信息对象 t_project_info
*
* @author zehong
* @date 2022-03-16
*/
public class TProjectInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 工程项目主键ID */
private Long projectId;
/** 工程项目年度 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "工程项目年度", width = 30, dateFormat = "yyyy-MM-dd")
private Date projectYear;
/** 门站地址 */
@Excel(name = "门站地址")
private String gateStationAddress;
/** 门站金额 */
@Excel(name = "门站金额")
private BigDecimal gateStationInvestment;
/** 门站数量 */
@Excel(name = "门站数量")
private Long numberGateStations;
/** 管道长度 */
@Excel(name = "管道长度")
private Long pipeLength;
/** 管道金额 */
@Excel(name = "管道金额")
private BigDecimal pipeInvestment;
/** 附件地址 */
private String nearbyAddress;
/** 是否删除(0正常,1删除) */
private String isDel;
/** 备注 */
@Excel(name = "备注")
private String remarks;
public void setProjectId(Long projectId)
{
this.projectId = projectId;
}
public Long getProjectId()
{
return projectId;
}
public void setProjectYear(Date projectYear)
{
this.projectYear = projectYear;
}
public Date getProjectYear()
{
return projectYear;
}
public void setGateStationAddress(String gateStationAddress)
{
this.gateStationAddress = gateStationAddress;
}
public String getGateStationAddress()
{
return gateStationAddress;
}
public void setGateStationInvestment(BigDecimal gateStationInvestment)
{
this.gateStationInvestment = gateStationInvestment;
}
public BigDecimal getGateStationInvestment()
{
return gateStationInvestment;
}
public void setNumberGateStations(Long numberGateStations)
{
this.numberGateStations = numberGateStations;
}
public Long getNumberGateStations()
{
return numberGateStations;
}
public void setPipeLength(Long pipeLength)
{
this.pipeLength = pipeLength;
}
public Long getPipeLength()
{
return pipeLength;
}
public void setPipeInvestment(BigDecimal pipeInvestment)
{
this.pipeInvestment = pipeInvestment;
}
public BigDecimal getPipeInvestment()
{
return pipeInvestment;
}
public void setNearbyAddress(String nearbyAddress)
{
this.nearbyAddress = nearbyAddress;
}
public String getNearbyAddress()
{
return nearbyAddress;
}
public void setIsDel(String isDel)
{
this.isDel = isDel;
}
public String getIsDel()
{
return isDel;
}
public void setRemarks(String remarks)
{
this.remarks = remarks;
}
public String getRemarks()
{
return remarks;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("projectId", getProjectId())
.append("projectYear", getProjectYear())
.append("gateStationAddress", getGateStationAddress())
.append("gateStationInvestment", getGateStationInvestment())
.append("numberGateStations", getNumberGateStations())
.append("pipeLength", getPipeLength())
.append("pipeInvestment", getPipeInvestment())
.append("nearbyAddress", getNearbyAddress())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("isDel", getIsDel())
.append("remarks", getRemarks())
.toString();
}
}
......@@ -22,6 +22,8 @@ public class TSiteStationInfoData {
private String buildCompany;
private String powerCompany;
private String pictureAddress;
//流量计数组
private List<PressureFlow> pressureFlows;
......@@ -86,6 +88,14 @@ public class TSiteStationInfoData {
//探测器报警中
private int detectorInAlarm;
public String getPictureAddress() {
return pictureAddress;
}
public void setPictureAddress(String pictureAddress) {
this.pictureAddress = pictureAddress;
}
public List<SubordinateEquipmentList> getSubordinateEquipmentList() {
return subordinateEquipmentList;
}
......@@ -357,6 +367,7 @@ public class TSiteStationInfoData {
", buildyear='" + buildyear + '\'' +
", buildCompany='" + buildCompany + '\'' +
", powerCompany='" + powerCompany + '\'' +
", pictureAddress='" + pictureAddress + '\'' +
", pressureFlows=" + pressureFlows +
", subordinateEquipmentList=" + subordinateEquipmentList +
", iconType=" + iconType +
......
package com.zehong.system.mapper;
import java.util.Date;
import java.util.List;
import com.zehong.system.domain.TProjectInfo;
/**
* 工程项目信息Mapper接口
*
* @author zehong
* @date 2022-03-16
*/
public interface TProjectInfoMapper
{
/**
* 查询工程项目信息
*
* @param projectId 工程项目信息ID
* @return 工程项目信息
*/
public TProjectInfo selectTProjectInfoById(Long projectId);
/**
* 查询工程项目信息列表
*
* @param tProjectInfo 工程项目信息
* @return 工程项目信息集合
*/
public List<TProjectInfo> selectTProjectInfoList(TProjectInfo tProjectInfo);
/**
* 新增工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
public int insertTProjectInfo(TProjectInfo tProjectInfo);
/**
* 修改工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
public int updateTProjectInfo(TProjectInfo tProjectInfo);
/**
* 删除工程项目信息
*
* @param projectId 工程项目信息ID
* @return 结果
*/
public int deleteTProjectInfoById(Long projectId);
/**
* 批量删除工程项目信息
*
* @param projectIds 需要删除的数据ID
* @return 结果
*/
public int deleteTProjectInfoByIds(Long[] projectIds);
/**
* 查询是否已经有重复的年份数据
* @param projectYear
* @return
*/
List<TProjectInfo> selectSameYear(Date projectYear);
/**
* 重复年份删除方法
* @param isSameYear
*/
void deleteisSameYear(Date isSameYear);
/**
* 查询修改文件之前的路径
* @param projectId
* @return
*/
TProjectInfo selectNearbyAddress(Long projectId);
}
package com.zehong.system.service;
import java.util.Date;
import java.util.List;
import com.zehong.system.domain.TProjectInfo;
/**
* 工程项目信息Service接口
*
* @author zehong
* @date 2022-03-16
*/
public interface ITProjectInfoService
{
/**
* 查询工程项目信息
*
* @param projectId 工程项目信息ID
* @return 工程项目信息
*/
public TProjectInfo selectTProjectInfoById(Long projectId);
/**
* 查询工程项目信息列表
*
* @param tProjectInfo 工程项目信息
* @return 工程项目信息集合
*/
public List<TProjectInfo> selectTProjectInfoList(TProjectInfo tProjectInfo);
/**
* 新增工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
public int insertTProjectInfo(TProjectInfo tProjectInfo);
/**
* 修改工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
public int updateTProjectInfo(TProjectInfo tProjectInfo);
/**
* 批量删除工程项目信息
*
* @param projectIds 需要删除的工程项目信息ID
* @return 结果
*/
public int deleteTProjectInfoByIds(Long[] projectIds);
/**
* 删除工程项目信息信息
*
* @param projectId 工程项目信息ID
* @return 结果
*/
public int deleteTProjectInfoById(Long projectId);
/**
* 查询是否已经有重复的年份数据
* @param projectYear
* @return
*/
List<TProjectInfo> selectSameYear(Date projectYear);
/**
* 重复年份删除方法
* @param isSameYear
*/
void deleteisSameYear(Date isSameYear);
/**
* 查询修改文件之前的路径
* @param projectId
*/
TProjectInfo selectNearbyAddress(Long projectId);
}
package com.zehong.system.service.impl;
import java.util.Date;
import java.util.List;
import com.zehong.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TProjectInfoMapper;
import com.zehong.system.domain.TProjectInfo;
import com.zehong.system.service.ITProjectInfoService;
/**
* 工程项目信息Service业务层处理
*
* @author zehong
* @date 2022-03-16
*/
@Service
public class TProjectInfoServiceImpl implements ITProjectInfoService
{
@Autowired
private TProjectInfoMapper tProjectInfoMapper;
/**
* 查询工程项目信息
*
* @param projectId 工程项目信息ID
* @return 工程项目信息
*/
@Override
public TProjectInfo selectTProjectInfoById(Long projectId)
{
return tProjectInfoMapper.selectTProjectInfoById(projectId);
}
/**
* 查询工程项目信息列表
*
* @param tProjectInfo 工程项目信息
* @return 工程项目信息
*/
@Override
public List<TProjectInfo> selectTProjectInfoList(TProjectInfo tProjectInfo)
{
return tProjectInfoMapper.selectTProjectInfoList(tProjectInfo);
}
/**
* 新增工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
@Override
public int insertTProjectInfo(TProjectInfo tProjectInfo)
{
tProjectInfo.setCreateTime(DateUtils.getNowDate());
return tProjectInfoMapper.insertTProjectInfo(tProjectInfo);
}
/**
* 修改工程项目信息
*
* @param tProjectInfo 工程项目信息
* @return 结果
*/
@Override
public int updateTProjectInfo(TProjectInfo tProjectInfo)
{
tProjectInfo.setUpdateTime(DateUtils.getNowDate());
return tProjectInfoMapper.updateTProjectInfo(tProjectInfo);
}
/**
* 批量删除工程项目信息
*
* @param projectIds 需要删除的工程项目信息ID
* @return 结果
*/
@Override
public int deleteTProjectInfoByIds(Long[] projectIds)
{
return tProjectInfoMapper.deleteTProjectInfoByIds(projectIds);
}
/**
* 删除工程项目信息信息
*
* @param projectId 工程项目信息ID
* @return 结果
*/
@Override
public int deleteTProjectInfoById(Long projectId)
{
return tProjectInfoMapper.deleteTProjectInfoById(projectId);
}
/**
* 查询是否已经有重复的年份数据
* @param projectYear
* @return
*/
@Override
public List<TProjectInfo> selectSameYear(Date projectYear) {
List<TProjectInfo> tProjectInfos = tProjectInfoMapper.selectSameYear(projectYear);
return tProjectInfos;
}
/**
* 重复年份删除方法
* @param isSameYear
*/
@Override
public void deleteisSameYear(Date isSameYear) {
tProjectInfoMapper.deleteisSameYear(isSameYear);
}
/**
* 查询修改文件之前的路径
* @param projectId
* @return
*/
@Override
public TProjectInfo selectNearbyAddress(Long projectId) {
TProjectInfo tProjectInfo = tProjectInfoMapper.selectNearbyAddress(projectId);
return tProjectInfo;
}
}
......@@ -30,6 +30,7 @@
<result property="companyType" column="device_id" />
<result property="beyondEnterpriseName" column="beyond_enterprise_name" />
<result property="companyType" column="beyond_enterprise_id" />
<result property="iconUrl" column="icon_url" />
</resultMap>
<!--下级设备数据-->
......@@ -52,6 +53,7 @@
<result property="buildCompany" column="build_unit" />
<result property="powerCompany" column="beyond_enterprise_name" />
<result property="companyType" column="beyond_enterprise_id" />
<result property="pictureAddress" column="picture_address" />
</resultMap>
<!--监控数据-->
......@@ -109,7 +111,7 @@
<!--调压箱数据查询方法-->
<select id="selectDeviceData" resultMap="DeviceDateResult">
select beyond_enterprise_id,device_id,device_type,device_name,device_code,device_addr,longitude,latitude,beyond_enterprise_name from t_device_info
select beyond_enterprise_id,icon_url,device_id,device_type,device_name,device_code,device_addr,longitude,latitude,beyond_enterprise_name from t_device_info
where device_type='2' and is_del='0'
</select>
......@@ -121,7 +123,7 @@
<!--场站信息查询方法-->
<select id="selectTSiteStationInfoData" resultMap="TSiteStationInfoDataResult">
select beyond_enterprise_id,site_station_id,site_station_name,site_station_type,longitude,latitude,create_time,build_unit,beyond_enterprise_name
select beyond_enterprise_id,picture_address,site_station_id,site_station_name,site_station_type,longitude,latitude,create_time,build_unit,beyond_enterprise_name
from t_site_station_info where is_del='0'
</select>
......@@ -150,7 +152,7 @@
<!--查询阀门井数据-->
<select id="selectvalveData" resultMap="DeviceDateResult">
select beyond_enterprise_id,device_id,device_type,device_name,device_code,device_addr,longitude,latitude,beyond_enterprise_name from t_device_info
select beyond_enterprise_id,device_id,icon_url,device_type,device_name,device_code,device_addr,longitude,latitude,beyond_enterprise_name from t_device_info
where device_type='1' and is_del='0'
</select>
......
<?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.zehong.system.mapper.TProjectInfoMapper">
<resultMap type="TProjectInfo" id="TProjectInfoResult">
<result property="projectId" column="project_id" />
<result property="projectYear" column="project_year" />
<result property="gateStationAddress" column="gate_station_address" />
<result property="gateStationInvestment" column="gate_station_investment" />
<result property="numberGateStations" column="number_gate_stations" />
<result property="pipeLength" column="pipe_length" />
<result property="pipeInvestment" column="pipe_investment" />
<result property="nearbyAddress" column="nearby_address" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="isDel" column="is_del" />
<result property="remarks" column="remarks" />
</resultMap>
<sql id="selectTProjectInfoVo">
select project_id, project_year, gate_station_address, gate_station_investment, number_gate_stations, pipe_length, pipe_investment, nearby_address, create_by, create_time, update_by, update_time, is_del, remarks from t_project_info
</sql>
<select id="selectTProjectInfoList" parameterType="TProjectInfo" resultMap="TProjectInfoResult">
<include refid="selectTProjectInfoVo"/>
<where>
is_del='0'
<if test="projectYear != null "> and project_year = #{projectYear}</if>
<if test="gateStationAddress != null and gateStationAddress != ''"> and gate_station_address = #{gateStationAddress}</if>
<if test="gateStationInvestment != null "> and gate_station_investment = #{gateStationInvestment}</if>
<if test="numberGateStations != null "> and number_gate_stations = #{numberGateStations}</if>
<if test="pipeLength != null "> and pipe_length = #{pipeLength}</if>
<if test="pipeInvestment != null "> and pipe_investment = #{pipeInvestment}</if>
<if test="nearbyAddress != null and nearbyAddress != ''"> and nearby_address = #{nearbyAddress}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
</where>
group by project_id desc
</select>
<select id="selectTProjectInfoById" parameterType="Long" resultMap="TProjectInfoResult">
<include refid="selectTProjectInfoVo"/>
where project_id = #{projectId} and is_del='0'
</select>
<insert id="insertTProjectInfo" parameterType="TProjectInfo" useGeneratedKeys="true" keyProperty="projectId">
insert into t_project_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectYear != null">project_year,</if>
<if test="gateStationAddress != null">gate_station_address,</if>
<if test="gateStationInvestment != null">gate_station_investment,</if>
<if test="numberGateStations != null">number_gate_stations,</if>
<if test="pipeLength != null">pipe_length,</if>
<if test="pipeInvestment != null">pipe_investment,</if>
<if test="nearbyAddress != null">nearby_address,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="isDel != null">is_del,</if>
<if test="remarks != null">remarks,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectYear != null">#{projectYear},</if>
<if test="gateStationAddress != null">#{gateStationAddress},</if>
<if test="gateStationInvestment != null">#{gateStationInvestment},</if>
<if test="numberGateStations != null">#{numberGateStations},</if>
<if test="pipeLength != null">#{pipeLength},</if>
<if test="pipeInvestment != null">#{pipeInvestment},</if>
<if test="nearbyAddress != null">#{nearbyAddress},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="isDel != null">#{isDel},</if>
<if test="remarks != null">#{remarks},</if>
</trim>
</insert>
<update id="updateTProjectInfo" parameterType="TProjectInfo">
update t_project_info
<trim prefix="SET" suffixOverrides=",">
<if test="projectYear != null">project_year = #{projectYear},</if>
<if test="gateStationAddress != null">gate_station_address = #{gateStationAddress},</if>
<if test="gateStationInvestment != null">gate_station_investment = #{gateStationInvestment},</if>
<if test="numberGateStations != null">number_gate_stations = #{numberGateStations},</if>
<if test="pipeLength != null">pipe_length = #{pipeLength},</if>
<if test="pipeInvestment != null">pipe_investment = #{pipeInvestment},</if>
<if test="nearbyAddress != null">nearby_address = #{nearbyAddress},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="isDel != null">is_del = #{isDel},</if>
<if test="remarks != null">remarks = #{remarks},</if>
</trim>
where project_id = #{projectId}
</update>
<update id="deleteTProjectInfoById" parameterType="Long">
update t_project_info set is_del='1' where project_id = #{projectId}
</update>
<update id="deleteTProjectInfoByIds" parameterType="String">
update t_project_info set is_del='1' where project_id in
<foreach item="projectId" collection="array" open="(" separator="," close=")">
#{projectId}
</foreach>
</update>
<!--查询是否已经有重复的年份数据-->
<select id="selectSameYear" resultMap="TProjectInfoResult">
select project_id from t_project_info where project_year=#{projectYear}
</select>
<!--重复年份删除方法-->
<update id="deleteisSameYear">
update t_project_info set is_del='1' where project_year=#{isSameYear}
</update>
<!--查询修改文件之前的路径-->
<select id="selectNearbyAddress" resultMap="TProjectInfoResult">
select nearby_address from t_project_info where project_id=#{projectId}
</select>
</mapper>
import request from '@/utils/request'
// 查询工程项目信息列表
export function listInfo(query) {
return request({
url: '/project/info/list',
method: 'get',
params: query
})
}
// 查询工程项目信息详细
export function getInfo(projectId) {
return request({
url: '/project/info/' + projectId,
method: 'get'
})
}
// 新增工程项目信息
export function addInfo(data) {
return request({
url: '/project/info',
method: 'post',
data: data
})
}
// 修改工程项目信息
export function updateInfo(data) {
return request({
url: '/project/info',
method: 'put',
data: data
})
}
// 删除工程项目信息
export function delInfo(projectId) {
return request({
url: '/project/info/' + projectId,
method: 'delete'
})
}
// 导出工程项目信息
export function exportInfo(query) {
return request({
url: '/project/info/export',
method: 'get',
params: query
})
}
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="项目年度" prop="projectYear">
<el-date-picker clearable size="small"
v-model="queryParams.projectYear"
type="year"
value-format="yyyy-MM-dd"
placeholder="选择工程项目年度">
</el-date-picker>
</el-form-item>
<el-form-item label="门站地址" prop="gateStationAddress">
<el-input
v-model="queryParams.gateStationAddress"
placeholder="请输入门站地址"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['project:info:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['project:info:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['project:info:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
:loading="exportLoading"
@click="handleExport"
v-hasPermi="['project:info:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="工程项目年度" align="center" prop="projectYear" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.projectYear, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="门站地址" align="center" prop="gateStationAddress" />
<el-table-column label="门站金额" align="center" prop="gateStationInvestment" />
<el-table-column label="门站数量" align="center" prop="numberGateStations" />
<el-table-column label="管道长度" align="center" prop="pipeLength" />
<el-table-column label="管道金额" align="center" prop="pipeInvestment" />
<el-table-column label="附件" align="center" prop="nearbyAddress">
<template slot-scope="scope">
<span
class="dbtn"
@click="checkFile(scope.row.nearbyAddress)"
v-if="scope.row.dealPlan != ''"
>
<i class="el-icon el-icon-view"></i>查看/下载
</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remarks" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['project:info:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['project:info:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改工程项目信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="11">
<el-form-item label="项目年度" prop="projectYear">
<el-date-picker style="width: 100%"
v-model="form.projectYear"
type="year"
placeholder="选择年"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="门站地址" prop="gateStationAddress">
<el-input v-model="form.gateStationAddress" placeholder="请输入门站地址" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="门站数量" prop="numberGateStations">
<el-input @change="numberGateStations()" v-model="form.numberGateStations" placeholder="请输入门站数量" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="门站金额" prop="gateStationInvestment">
<el-input :disabled="isGateStationDisabled" v-model="form.gateStationInvestment" placeholder="请输入门站金额" >
<template slot="append"></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="管道长度" prop="pipeLength">
<el-input @change="conduitGateStations()" v-model="form.pipeLength" placeholder="请输入管道长度" />
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item label="管道金额" prop="pipeInvestment">
<el-input :disabled="isPipelineAmount" v-model="form.pipeInvestment" placeholder="请输入管道金额" >
<template slot="append"></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="23">
<el-form-item label="附件" prop="nearbyAddress">
<FileUpload
listType="picture"
@resFun="getFileInfo"
@remove="listRemove"
:fileArr="fileList"
/>
<el-input v-show="false" disabled v-model="form.nearbyAddress"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/regulation/project";
import FileUpload from '@/components/FileUpload';
export default {
name: "Info",
components: {
FileUpload,
},
data() {
return {
// 上传文件列表
fileList: [],
//门站金额输入框是否输入
isGateStationDisabled:true,
//管道金额输入框是否输入
isPipelineAmount:true,
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工程项目信息表格数据
infoList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
projectYear: null,
gateStationAddress: null,
gateStationInvestment: null,
numberGateStations: null,
pipeLength: null,
pipeInvestment: null,
nearbyAddress: null,
remarks: null
},
// 表单参数
form: {},
// 表单校验
rules: {
projectYear: [
{ required: true, message: "请选择项目年度", trigger: "blur" },
]
}
};
},
created() {
this.getList();
},
methods: {
/**文件上传方法*/
getFileInfo(res){
this.form.dealPlan = res.fileName;
this.form.nearbyAddress = res.url;
this.fileList.push({
name: res.fileName,
url: uploadfile,
});
},
listRemove(e) {
this.form.dealPlan = "";
this.fileList = [];
},
checkFile(url) {
window.open(url,'_blank');
},
//门站数量输入框监听事件
numberGateStations(){
if (this.form.numberGateStations){
this.isGateStationDisabled=false;
}else {
this.isGateStationDisabled=true;
}
},
//管道数量输入框监听事件
conduitGateStations(){
if (this.form.pipeLength){
this.isPipelineAmount=false;
}else {
this.isPipelineAmount=true;
}
},
/** 查询工程项目信息列表 */
getList() {
this.loading = true;
listInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
this.fileList = [];
},
// 表单重置
reset() {
this.form = {
projectId: null,
projectYear: null,
gateStationAddress: null,
gateStationInvestment: null,
numberGateStations: null,
pipeLength: null,
pipeInvestment: null,
nearbyAddress: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
isDel: null,
remarks: null
};
this.resetForm("form");
this.fileList = [];
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.projectId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
//门站金额输入框是否输入
this.isGateStationDisabled=true,
//管道金额输入框是否输入
this.isPipelineAmount=true,
this.reset();
this.open = true;
this.title = "添加工程项目信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const projectId = row.projectId || this.ids
getInfo(projectId).then(response => {
this.form = response.data;
//文件回显
if (this.form.nearbyAddress) {
this.fileList.push({
name: '附件',
url: this.form.nearbyAddress,
});
}
this.open = true;
this.title = "修改工程项目信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.projectId != null) {
updateInfo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
//循环查询出来的列表 与添加的年份是否有相同的
let is_identical = 0;
for (let i = 0; i < this.infoList.length; i++) {
if (this.infoList[i].projectYear == this.form.projectYear) {
is_identical = 1;
}
}
//如果有相同的年份 弹出提示框 是否进行覆盖
if (is_identical == 1) {
this.$confirm('查询到已存在' + this.form.projectYear + '年份的数据,继续创建会自动覆盖之前的数据,是否创建', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
addInfo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
this.reset();
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
}else {
//没有年份相同的就执行添加方法
addInfo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
this.reset();
});
}
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const projectIds = row.projectId || this.ids;
this.$confirm('是否确认删除工程项目信息编号为"' + projectIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delInfo(projectIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有工程项目信息数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.exportLoading = true;
return exportInfo(queryParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
<style>
.dbtn {
display: inline-block;
line-height: normal;
padding-left: 2px;
padding-right: 2px;
cursor: pointer;
border-radius: 3px;
border-style: solid;
border-width: 0;
color: rgb(48, 180, 107);
}
.dbtn:hover {
border-width: 1px;
border-color: rgb(48, 180, 107);
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment