diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 88dc045..9d389df 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -61,6 +61,11 @@ ruoyi-generator + + com.ruoyi + ruoyi-server + ${project.version} + diff --git a/ruoyi-server/pom.xml b/ruoyi-server/pom.xml index 71b1383..0917083 100644 --- a/ruoyi-server/pom.xml +++ b/ruoyi-server/pom.xml @@ -27,6 +27,11 @@ com.ruoyi ruoyi-system + + com.baomidou + mybatis-plus-annotation + 3.5.5 + diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/controller/ProjectBudgetsController.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/controller/ProjectBudgetsController.java new file mode 100644 index 0000000..ba66609 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/controller/ProjectBudgetsController.java @@ -0,0 +1,104 @@ +package com.ruoyi.server.project_budgets.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +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.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.server.project_budgets.domain.ProjectBudgets; +import com.ruoyi.server.project_budgets.service.IProjectBudgetsService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 项目预算Controller + * + * @author ruoyi + * @date 2024-07-02 + */ +@RestController +@RequestMapping("/system/project_budgets") +public class ProjectBudgetsController extends BaseController +{ + @Autowired + private IProjectBudgetsService projectBudgetsService; + + /** + * 查询项目预算列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:list')") + @GetMapping("/list") + public TableDataInfo list(ProjectBudgets projectBudgets) + { + startPage(); + List list = projectBudgetsService.selectProjectBudgetsList(projectBudgets); + return getDataTable(list); + } + + /** + * 导出项目预算列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:export')") + @Log(title = "项目预算", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProjectBudgets projectBudgets) + { + List list = projectBudgetsService.selectProjectBudgetsList(projectBudgets); + ExcelUtil util = new ExcelUtil(ProjectBudgets.class); + util.exportExcel(response, list, "项目预算数据"); + } + + /** + * 获取项目预算详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(projectBudgetsService.selectProjectBudgetsById(id)); + } + + /** + * 新增项目预算 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:add')") + @Log(title = "项目预算", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProjectBudgets projectBudgets) + { + return toAjax(projectBudgetsService.insertProjectBudgets(projectBudgets)); + } + + /** + * 修改项目预算 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:edit')") + @Log(title = "项目预算", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProjectBudgets projectBudgets) + { + return toAjax(projectBudgetsService.updateProjectBudgets(projectBudgets)); + } + + /** + * 删除项目预算 + */ + @PreAuthorize("@ss.hasPermi('system:project_budgets:remove')") + @Log(title = "项目预算", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(projectBudgetsService.deleteProjectBudgetsByIds(ids)); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/domain/ProjectBudgets.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/domain/ProjectBudgets.java new file mode 100644 index 0000000..d0cd7dd --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/domain/ProjectBudgets.java @@ -0,0 +1,95 @@ +package com.ruoyi.server.project_budgets.domain; + +import java.math.BigDecimal; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 项目预算对象 project_budgets + * + * @author ruoyi + * @date 2024-07-02 + */ +public class ProjectBudgets extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** */ + @Excel(name = "") + private Long id; + + /** 项目id */ + @Excel(name = "项目id") + private Long projectId; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String projectName; + + /** 总预算 */ + @Excel(name = "总预算") + private BigDecimal totalBudget; + + /** 预算分配 */ + @Excel(name = "预算分配") + private String allocation; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setProjectName(String projectName) + { + this.projectName = projectName; + } + + public String getProjectName() + { + return projectName; + } + public void setTotalBudget(BigDecimal totalBudget) + { + this.totalBudget = totalBudget; + } + + public BigDecimal getTotalBudget() + { + return totalBudget; + } + public void setAllocation(String allocation) + { + this.allocation = allocation; + } + + public String getAllocation() + { + return allocation; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("projectName", getProjectName()) + .append("totalBudget", getTotalBudget()) + .append("allocation", getAllocation()) + .toString(); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/mapper/ProjectBudgetsMapper.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/mapper/ProjectBudgetsMapper.java new file mode 100644 index 0000000..b57dff8 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/mapper/ProjectBudgetsMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_budgets.mapper; + +import java.util.List; +import com.ruoyi.server.project_budgets.domain.ProjectBudgets; + +/** + * 项目预算Mapper接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface ProjectBudgetsMapper +{ + /** + * 查询项目预算 + * + * @param id 项目预算主键 + * @return 项目预算 + */ + public ProjectBudgets selectProjectBudgetsById(Long id); + + /** + * 查询项目预算列表 + * + * @param projectBudgets 项目预算 + * @return 项目预算集合 + */ + public List selectProjectBudgetsList(ProjectBudgets projectBudgets); + + /** + * 新增项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + public int insertProjectBudgets(ProjectBudgets projectBudgets); + + /** + * 修改项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + public int updateProjectBudgets(ProjectBudgets projectBudgets); + + /** + * 删除项目预算 + * + * @param id 项目预算主键 + * @return 结果 + */ + public int deleteProjectBudgetsById(Long id); + + /** + * 批量删除项目预算 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProjectBudgetsByIds(Long[] ids); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/IProjectBudgetsService.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/IProjectBudgetsService.java new file mode 100644 index 0000000..3a1a006 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/IProjectBudgetsService.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_budgets.service; + +import java.util.List; +import com.ruoyi.server.project_budgets.domain.ProjectBudgets; + +/** + * 项目预算Service接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface IProjectBudgetsService +{ + /** + * 查询项目预算 + * + * @param id 项目预算主键 + * @return 项目预算 + */ + public ProjectBudgets selectProjectBudgetsById(Long id); + + /** + * 查询项目预算列表 + * + * @param projectBudgets 项目预算 + * @return 项目预算集合 + */ + public List selectProjectBudgetsList(ProjectBudgets projectBudgets); + + /** + * 新增项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + public int insertProjectBudgets(ProjectBudgets projectBudgets); + + /** + * 修改项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + public int updateProjectBudgets(ProjectBudgets projectBudgets); + + /** + * 批量删除项目预算 + * + * @param ids 需要删除的项目预算主键集合 + * @return 结果 + */ + public int deleteProjectBudgetsByIds(Long[] ids); + + /** + * 删除项目预算信息 + * + * @param id 项目预算主键 + * @return 结果 + */ + public int deleteProjectBudgetsById(Long id); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/impl/ProjectBudgetsServiceImpl.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/impl/ProjectBudgetsServiceImpl.java new file mode 100644 index 0000000..7a0d2fa --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_budgets/service/impl/ProjectBudgetsServiceImpl.java @@ -0,0 +1,106 @@ +package com.ruoyi.server.project_budgets.service.impl; + +import java.util.List; + +import com.ruoyi.server.project_proposals.domain.ProjectProposals; +import com.ruoyi.server.project_proposals.mapper.ProjectProposalsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.server.project_budgets.mapper.ProjectBudgetsMapper; +import com.ruoyi.server.project_budgets.domain.ProjectBudgets; +import com.ruoyi.server.project_budgets.service.IProjectBudgetsService; + +/** + * 项目预算Service业务层处理 + * + * @author ruoyi + * @date 2024-07-02 + */ +@Service +public class ProjectBudgetsServiceImpl implements IProjectBudgetsService +{ + @Autowired + private ProjectBudgetsMapper projectBudgetsMapper; + @Autowired + private ProjectProposalsMapper projectProposalsMapper; + + /** + * 查询项目预算 + * + * @param id 项目预算主键 + * @return 项目预算 + */ + @Override + public ProjectBudgets selectProjectBudgetsById(Long id) + { + return projectBudgetsMapper.selectProjectBudgetsById(id); + } + + /** + * 查询项目预算列表 + * + * @param projectBudgets 项目预算 + * @return 项目预算 + */ + @Override + public List selectProjectBudgetsList(ProjectBudgets projectBudgets) + { + return projectBudgetsMapper.selectProjectBudgetsList(projectBudgets); + } + + /** + * 新增项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + @Override + public int insertProjectBudgets(ProjectBudgets projectBudgets) + { + extracted(projectBudgets); + return projectBudgetsMapper.insertProjectBudgets(projectBudgets); + } + + private void extracted(ProjectBudgets projectBudgets) { + ProjectProposals projectProposals = projectProposalsMapper.selectProjectProposalsById(projectBudgets.getProjectId()); + if(projectProposals!=null) + projectBudgets.setProjectName(projectProposals.getProjectName()); + } + + /** + * 修改项目预算 + * + * @param projectBudgets 项目预算 + * @return 结果 + */ + @Override + public int updateProjectBudgets(ProjectBudgets projectBudgets) + { + extracted(projectBudgets); + return projectBudgetsMapper.updateProjectBudgets(projectBudgets); + } + + /** + * 批量删除项目预算 + * + * @param ids 需要删除的项目预算主键 + * @return 结果 + */ + @Override + public int deleteProjectBudgetsByIds(Long[] ids) + { + return projectBudgetsMapper.deleteProjectBudgetsByIds(ids); + } + + /** + * 删除项目预算信息 + * + * @param id 项目预算主键 + * @return 结果 + */ + @Override + public int deleteProjectBudgetsById(Long id) + { + return projectBudgetsMapper.deleteProjectBudgetsById(id); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/controller/ProjectProposalDetailsController.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/controller/ProjectProposalDetailsController.java new file mode 100644 index 0000000..2ac4223 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/controller/ProjectProposalDetailsController.java @@ -0,0 +1,104 @@ +package com.ruoyi.server.project_proposal_details.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +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.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.server.project_proposal_details.domain.ProjectProposalDetails; +import com.ruoyi.server.project_proposal_details.service.IProjectProposalDetailsService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 项目立项信息Controller + * + * @author ruoyi + * @date 2024-07-02 + */ +@RestController +@RequestMapping("/system/project_proposal_details") +public class ProjectProposalDetailsController extends BaseController +{ + @Autowired + private IProjectProposalDetailsService projectProposalDetailsService; + + /** + * 查询项目立项信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:list')") + @GetMapping("/list") + public TableDataInfo list(ProjectProposalDetails projectProposalDetails) + { + startPage(); + List list = projectProposalDetailsService.selectProjectProposalDetailsList(projectProposalDetails); + return getDataTable(list); + } + + /** + * 导出项目立项信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:export')") + @Log(title = "项目立项信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProjectProposalDetails projectProposalDetails) + { + List list = projectProposalDetailsService.selectProjectProposalDetailsList(projectProposalDetails); + ExcelUtil util = new ExcelUtil(ProjectProposalDetails.class); + util.exportExcel(response, list, "项目立项信息数据"); + } + + /** + * 获取项目立项信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(projectProposalDetailsService.selectProjectProposalDetailsById(id)); + } + + /** + * 新增项目立项信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:add')") + @Log(title = "项目立项信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProjectProposalDetails projectProposalDetails) + { + return toAjax(projectProposalDetailsService.insertProjectProposalDetails(projectProposalDetails)); + } + + /** + * 修改项目立项信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:edit')") + @Log(title = "项目立项信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProjectProposalDetails projectProposalDetails) + { + return toAjax(projectProposalDetailsService.updateProjectProposalDetails(projectProposalDetails)); + } + + /** + * 删除项目立项信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposal_details:remove')") + @Log(title = "项目立项信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(projectProposalDetailsService.deleteProjectProposalDetailsByIds(ids)); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/domain/ProjectProposalDetails.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/domain/ProjectProposalDetails.java new file mode 100644 index 0000000..ee70a37 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/domain/ProjectProposalDetails.java @@ -0,0 +1,93 @@ +package com.ruoyi.server.project_proposal_details.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 项目立项信息对象 project_proposal_details + * + * @author ruoyi + * @date 2024-07-02 + */ +public class ProjectProposalDetails extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long id; + + /** 立项ID */ + @Excel(name = "立项ID") + private Long proposalId; + + @Excel(name = "立项名称") + @TableField(exist = false) + private String proposalName; + + /** 详细描述 */ + @Excel(name = "详细描述") + private String detailDescription; + + /** 项目目标 */ + @Excel(name = "项目目标") + private String objective; + + public String getProposalName() { + return proposalName; + } + + public void setProposalName(String proposalName) { + this.proposalName = proposalName; + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProposalId(Long proposalId) + { + this.proposalId = proposalId; + } + + public Long getProposalId() + { + return proposalId; + } + public void setDetailDescription(String detailDescription) + { + this.detailDescription = detailDescription; + } + + public String getDetailDescription() + { + return detailDescription; + } + public void setObjective(String objective) + { + this.objective = objective; + } + + public String getObjective() + { + return objective; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("proposalId", getProposalId()) + .append("detailDescription", getDetailDescription()) + .append("objective", getObjective()) + .toString(); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/mapper/ProjectProposalDetailsMapper.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/mapper/ProjectProposalDetailsMapper.java new file mode 100644 index 0000000..dbf4e5c --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/mapper/ProjectProposalDetailsMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_proposal_details.mapper; + +import java.util.List; +import com.ruoyi.server.project_proposal_details.domain.ProjectProposalDetails; + +/** + * 项目立项信息Mapper接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface ProjectProposalDetailsMapper +{ + /** + * 查询项目立项信息 + * + * @param id 项目立项信息主键 + * @return 项目立项信息 + */ + public ProjectProposalDetails selectProjectProposalDetailsById(Long id); + + /** + * 查询项目立项信息列表 + * + * @param projectProposalDetails 项目立项信息 + * @return 项目立项信息集合 + */ + public List selectProjectProposalDetailsList(ProjectProposalDetails projectProposalDetails); + + /** + * 新增项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + public int insertProjectProposalDetails(ProjectProposalDetails projectProposalDetails); + + /** + * 修改项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + public int updateProjectProposalDetails(ProjectProposalDetails projectProposalDetails); + + /** + * 删除项目立项信息 + * + * @param id 项目立项信息主键 + * @return 结果 + */ + public int deleteProjectProposalDetailsById(Long id); + + /** + * 批量删除项目立项信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProjectProposalDetailsByIds(Long[] ids); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/IProjectProposalDetailsService.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/IProjectProposalDetailsService.java new file mode 100644 index 0000000..1827e07 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/IProjectProposalDetailsService.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_proposal_details.service; + +import java.util.List; +import com.ruoyi.server.project_proposal_details.domain.ProjectProposalDetails; + +/** + * 项目立项信息Service接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface IProjectProposalDetailsService +{ + /** + * 查询项目立项信息 + * + * @param id 项目立项信息主键 + * @return 项目立项信息 + */ + public ProjectProposalDetails selectProjectProposalDetailsById(Long id); + + /** + * 查询项目立项信息列表 + * + * @param projectProposalDetails 项目立项信息 + * @return 项目立项信息集合 + */ + public List selectProjectProposalDetailsList(ProjectProposalDetails projectProposalDetails); + + /** + * 新增项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + public int insertProjectProposalDetails(ProjectProposalDetails projectProposalDetails); + + /** + * 修改项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + public int updateProjectProposalDetails(ProjectProposalDetails projectProposalDetails); + + /** + * 批量删除项目立项信息 + * + * @param ids 需要删除的项目立项信息主键集合 + * @return 结果 + */ + public int deleteProjectProposalDetailsByIds(Long[] ids); + + /** + * 删除项目立项信息信息 + * + * @param id 项目立项信息主键 + * @return 结果 + */ + public int deleteProjectProposalDetailsById(Long id); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/impl/ProjectProposalDetailsServiceImpl.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/impl/ProjectProposalDetailsServiceImpl.java new file mode 100644 index 0000000..8b38126 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposal_details/service/impl/ProjectProposalDetailsServiceImpl.java @@ -0,0 +1,111 @@ +package com.ruoyi.server.project_proposal_details.service.impl; + +import java.util.List; +import java.util.Objects; + +import com.ruoyi.server.project_proposals.domain.ProjectProposals; +import com.ruoyi.server.project_proposals.mapper.ProjectProposalsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.server.project_proposal_details.mapper.ProjectProposalDetailsMapper; +import com.ruoyi.server.project_proposal_details.domain.ProjectProposalDetails; +import com.ruoyi.server.project_proposal_details.service.IProjectProposalDetailsService; + +/** + * 项目立项信息Service业务层处理 + * + * @author ruoyi + * @date 2024-07-02 + */ +@Service +public class ProjectProposalDetailsServiceImpl implements IProjectProposalDetailsService +{ + @Autowired + private ProjectProposalDetailsMapper projectProposalDetailsMapper; + @Autowired + private ProjectProposalsMapper projectProposalsMapper; + + /** + * 查询项目立项信息 + * + * @param id 项目立项信息主键 + * @return 项目立项信息 + */ + @Override + public ProjectProposalDetails selectProjectProposalDetailsById(Long id) + { + return projectProposalDetailsMapper.selectProjectProposalDetailsById(id); + } + + /** + * 查询项目立项信息列表 + * + * @param projectProposalDetails 项目立项信息 + * @return 项目立项信息 + */ + @Override + public List selectProjectProposalDetailsList(ProjectProposalDetails projectProposalDetails) + { + + //设置一下项目立项名 + List projectProposalDetails1 = projectProposalDetailsMapper.selectProjectProposalDetailsList(projectProposalDetails); + for (ProjectProposalDetails proposalDetails : projectProposalDetails1) { + Long id = proposalDetails.getProposalId(); + ProjectProposals projectProposals = projectProposalsMapper.selectProjectProposalsById(id); + if(Objects.nonNull(projectProposals)){ + proposalDetails.setProposalName(projectProposals.getProjectName()); + } + } + + + return projectProposalDetails1; + } + + /** + * 新增项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + @Override + public int insertProjectProposalDetails(ProjectProposalDetails projectProposalDetails) + { + return projectProposalDetailsMapper.insertProjectProposalDetails(projectProposalDetails); + } + + /** + * 修改项目立项信息 + * + * @param projectProposalDetails 项目立项信息 + * @return 结果 + */ + @Override + public int updateProjectProposalDetails(ProjectProposalDetails projectProposalDetails) + { + return projectProposalDetailsMapper.updateProjectProposalDetails(projectProposalDetails); + } + + /** + * 批量删除项目立项信息 + * + * @param ids 需要删除的项目立项信息主键 + * @return 结果 + */ + @Override + public int deleteProjectProposalDetailsByIds(Long[] ids) + { + return projectProposalDetailsMapper.deleteProjectProposalDetailsByIds(ids); + } + + /** + * 删除项目立项信息信息 + * + * @param id 项目立项信息主键 + * @return 结果 + */ + @Override + public int deleteProjectProposalDetailsById(Long id) + { + return projectProposalDetailsMapper.deleteProjectProposalDetailsById(id); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/controller/ProjectProposalsController.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/controller/ProjectProposalsController.java new file mode 100644 index 0000000..b8e350a --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/controller/ProjectProposalsController.java @@ -0,0 +1,105 @@ +package com.ruoyi.server.project_proposals.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.server.project_proposals.service.IProjectProposalsService; +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.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.server.project_proposals.domain.ProjectProposals; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 项目立项Controller + * + * @author ruoyi + * @date 2024-07-02 + */ +@RestController +@RequestMapping("/system/project_proposals") +public class ProjectProposalsController extends BaseController +{ + @Autowired + private IProjectProposalsService projectProposalsService; + + /** + * 查询项目立项列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:list')") + @GetMapping("/list") + public TableDataInfo list(ProjectProposals projectProposals) + { + startPage(); + List list = projectProposalsService.selectProjectProposalsList(projectProposals); + return getDataTable(list); + } + + /** + * 导出项目立项列表 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:export')") + @Log(title = "项目立项", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProjectProposals projectProposals) + { + List list = projectProposalsService.selectProjectProposalsList(projectProposals); + ExcelUtil util = new ExcelUtil(ProjectProposals.class); + util.exportExcel(response, list, "项目立项数据"); + } + + /** + * 获取项目立项详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(projectProposalsService.selectProjectProposalsById(id)); + } + + /** + * 新增项目立项 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:add')") + @Log(title = "项目立项", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProjectProposals projectProposals) + { + return toAjax(projectProposalsService.insertProjectProposals(projectProposals)); + } + + /** + * 修改项目立项 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:edit')") + @Log(title = "项目立项", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProjectProposals projectProposals) + { + return toAjax(projectProposalsService.updateProjectProposals(projectProposals)); + } + + /** + * 删除项目立项 + */ + @PreAuthorize("@ss.hasPermi('system:project_proposals:remove')") + @Log(title = "项目立项", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(projectProposalsService.deleteProjectProposalsByIds(ids)); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/domain/ProjectProposals.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/domain/ProjectProposals.java new file mode 100644 index 0000000..c2c2f7a --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/domain/ProjectProposals.java @@ -0,0 +1,111 @@ +package com.ruoyi.server.project_proposals.domain; + +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.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 项目立项对象 project_proposals + * + * @author ruoyi + * @date 2024-07-02 + */ +public class ProjectProposals extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String projectName; + + /** 项目描述 */ + @Excel(name = "项目描述") + private String projectDescription; + + /** 开始日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date startDate; + + /** 结束日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date endDate; + + /** 项目状态 */ + @Excel(name = "项目状态") + private String status; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectName(String projectName) + { + this.projectName = projectName; + } + + public String getProjectName() + { + return projectName; + } + public void setProjectDescription(String projectDescription) + { + this.projectDescription = projectDescription; + } + + public String getProjectDescription() + { + return projectDescription; + } + public void setStartDate(Date startDate) + { + this.startDate = startDate; + } + + public Date getStartDate() + { + return startDate; + } + public void setEndDate(Date endDate) + { + this.endDate = endDate; + } + + public Date getEndDate() + { + return endDate; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectName", getProjectName()) + .append("projectDescription", getProjectDescription()) + .append("startDate", getStartDate()) + .append("endDate", getEndDate()) + .append("status", getStatus()) + .toString(); + } +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/mapper/ProjectProposalsMapper.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/mapper/ProjectProposalsMapper.java new file mode 100644 index 0000000..7f8822d --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/mapper/ProjectProposalsMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_proposals.mapper; + +import java.util.List; +import com.ruoyi.server.project_proposals.domain.ProjectProposals; + +/** + * 项目立项Mapper接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface ProjectProposalsMapper +{ + /** + * 查询项目立项 + * + * @param id 项目立项主键 + * @return 项目立项 + */ + public ProjectProposals selectProjectProposalsById(Long id); + + /** + * 查询项目立项列表 + * + * @param projectProposals 项目立项 + * @return 项目立项集合 + */ + public List selectProjectProposalsList(ProjectProposals projectProposals); + + /** + * 新增项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + public int insertProjectProposals(ProjectProposals projectProposals); + + /** + * 修改项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + public int updateProjectProposals(ProjectProposals projectProposals); + + /** + * 删除项目立项 + * + * @param id 项目立项主键 + * @return 结果 + */ + public int deleteProjectProposalsById(Long id); + + /** + * 批量删除项目立项 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProjectProposalsByIds(Long[] ids); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/IProjectProposalsService.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/IProjectProposalsService.java new file mode 100644 index 0000000..919e830 --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/IProjectProposalsService.java @@ -0,0 +1,61 @@ +package com.ruoyi.server.project_proposals.service; + +import java.util.List; +import com.ruoyi.server.project_proposals.domain.ProjectProposals; + +/** + * 项目立项Service接口 + * + * @author ruoyi + * @date 2024-07-02 + */ +public interface IProjectProposalsService +{ + /** + * 查询项目立项 + * + * @param id 项目立项主键 + * @return 项目立项 + */ + public ProjectProposals selectProjectProposalsById(Long id); + + /** + * 查询项目立项列表 + * + * @param projectProposals 项目立项 + * @return 项目立项集合 + */ + public List selectProjectProposalsList(ProjectProposals projectProposals); + + /** + * 新增项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + public int insertProjectProposals(ProjectProposals projectProposals); + + /** + * 修改项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + public int updateProjectProposals(ProjectProposals projectProposals); + + /** + * 批量删除项目立项 + * + * @param ids 需要删除的项目立项主键集合 + * @return 结果 + */ + public int deleteProjectProposalsByIds(Long[] ids); + + /** + * 删除项目立项信息 + * + * @param id 项目立项主键 + * @return 结果 + */ + public int deleteProjectProposalsById(Long id); +} diff --git a/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/impl/ProjectProposalsServiceImpl.java b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/impl/ProjectProposalsServiceImpl.java new file mode 100644 index 0000000..f3e35be --- /dev/null +++ b/ruoyi-server/src/main/java/com/ruoyi/server/project_proposals/service/impl/ProjectProposalsServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.server.project_proposals.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.server.project_proposals.mapper.ProjectProposalsMapper; +import com.ruoyi.server.project_proposals.domain.ProjectProposals; +import com.ruoyi.server.project_proposals.service.IProjectProposalsService; + +/** + * 项目立项Service业务层处理 + * + * @author ruoyi + * @date 2024-07-02 + */ +@Service +public class ProjectProposalsServiceImpl implements IProjectProposalsService +{ + @Autowired + private ProjectProposalsMapper projectProposalsMapper; + + /** + * 查询项目立项 + * + * @param id 项目立项主键 + * @return 项目立项 + */ + @Override + public ProjectProposals selectProjectProposalsById(Long id) + { + return projectProposalsMapper.selectProjectProposalsById(id); + } + + /** + * 查询项目立项列表 + * + * @param projectProposals 项目立项 + * @return 项目立项 + */ + @Override + public List selectProjectProposalsList(ProjectProposals projectProposals) + { + return projectProposalsMapper.selectProjectProposalsList(projectProposals); + } + + /** + * 新增项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + @Override + public int insertProjectProposals(ProjectProposals projectProposals) + { + return projectProposalsMapper.insertProjectProposals(projectProposals); + } + + /** + * 修改项目立项 + * + * @param projectProposals 项目立项 + * @return 结果 + */ + @Override + public int updateProjectProposals(ProjectProposals projectProposals) + { + return projectProposalsMapper.updateProjectProposals(projectProposals); + } + + /** + * 批量删除项目立项 + * + * @param ids 需要删除的项目立项主键 + * @return 结果 + */ + @Override + public int deleteProjectProposalsByIds(Long[] ids) + { + return projectProposalsMapper.deleteProjectProposalsByIds(ids); + } + + /** + * 删除项目立项信息 + * + * @param id 项目立项主键 + * @return 结果 + */ + @Override + public int deleteProjectProposalsById(Long id) + { + return projectProposalsMapper.deleteProjectProposalsById(id); + } +} diff --git a/ruoyi-server/src/main/resources/mapper/system/ProjectBudgetsMapper.xml b/ruoyi-server/src/main/resources/mapper/system/ProjectBudgetsMapper.xml new file mode 100644 index 0000000..2f99c92 --- /dev/null +++ b/ruoyi-server/src/main/resources/mapper/system/ProjectBudgetsMapper.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + select id, project_id, project_name, total_budget, allocation from project_budgets + + + + + + + + insert into project_budgets + + project_id, + project_name, + total_budget, + allocation, + + + #{projectId}, + #{projectName}, + #{totalBudget}, + #{allocation}, + + + + + update project_budgets + + project_id = #{projectId}, + project_name = #{projectName}, + total_budget = #{totalBudget}, + allocation = #{allocation}, + + where id = #{id} + + + + delete from project_budgets where id = #{id} + + + + delete from project_budgets where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-server/src/main/resources/mapper/system/ProjectProposalDetailsMapper.xml b/ruoyi-server/src/main/resources/mapper/system/ProjectProposalDetailsMapper.xml new file mode 100644 index 0000000..162a7c3 --- /dev/null +++ b/ruoyi-server/src/main/resources/mapper/system/ProjectProposalDetailsMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + select id, proposal_id, detail_description, objective from project_proposal_details + + + + + + + + insert into project_proposal_details + + proposal_id, + detail_description, + objective, + + + #{proposalId}, + #{detailDescription}, + #{objective}, + + + + + update project_proposal_details + + proposal_id = #{proposalId}, + detail_description = #{detailDescription}, + objective = #{objective}, + + where id = #{id} + + + + delete from project_proposal_details where id = #{id} + + + + delete from project_proposal_details where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-server/src/main/resources/mapper/system/ProjectProposalsMapper.xml b/ruoyi-server/src/main/resources/mapper/system/ProjectProposalsMapper.xml new file mode 100644 index 0000000..d6fe68d --- /dev/null +++ b/ruoyi-server/src/main/resources/mapper/system/ProjectProposalsMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + select id, project_name, project_description, start_date, end_date, status from project_proposals + + + + + + + + insert into project_proposals + + project_name, + project_description, + start_date, + end_date, + status, + + + #{projectName}, + #{projectDescription}, + #{startDate}, + #{endDate}, + #{status}, + + + + + update project_proposals + + project_name = #{projectName}, + project_description = #{projectDescription}, + start_date = #{startDate}, + end_date = #{endDate}, + status = #{status}, + + where id = #{id} + + + + delete from project_proposals where id = #{id} + + + + delete from project_proposals where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/project_budgets.js b/ruoyi-ui/src/api/system/project_budgets.js new file mode 100644 index 0000000..4d03df4 --- /dev/null +++ b/ruoyi-ui/src/api/system/project_budgets.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目预算列表 +export function listProject_budgets(query) { + return request({ + url: '/system/project_budgets/list', + method: 'get', + params: query + }) +} + +// 查询项目预算详细 +export function getProject_budgets(id) { + return request({ + url: '/system/project_budgets/' + id, + method: 'get' + }) +} + +// 新增项目预算 +export function addProject_budgets(data) { + return request({ + url: '/system/project_budgets', + method: 'post', + data: data + }) +} + +// 修改项目预算 +export function updateProject_budgets(data) { + return request({ + url: '/system/project_budgets', + method: 'put', + data: data + }) +} + +// 删除项目预算 +export function delProject_budgets(id) { + return request({ + url: '/system/project_budgets/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/system/project_proposal_details.js b/ruoyi-ui/src/api/system/project_proposal_details.js new file mode 100644 index 0000000..c9b6611 --- /dev/null +++ b/ruoyi-ui/src/api/system/project_proposal_details.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目立项信息列表 +export function listProject_proposal_details(query) { + return request({ + url: '/system/project_proposal_details/list', + method: 'get', + params: query + }) +} + +// 查询项目立项信息详细 +export function getProject_proposal_details(id) { + return request({ + url: '/system/project_proposal_details/' + id, + method: 'get' + }) +} + +// 新增项目立项信息 +export function addProject_proposal_details(data) { + return request({ + url: '/system/project_proposal_details', + method: 'post', + data: data + }) +} + +// 修改项目立项信息 +export function updateProject_proposal_details(data) { + return request({ + url: '/system/project_proposal_details', + method: 'put', + data: data + }) +} + +// 删除项目立项信息 +export function delProject_proposal_details(id) { + return request({ + url: '/system/project_proposal_details/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/system/project_proposals.js b/ruoyi-ui/src/api/system/project_proposals.js new file mode 100644 index 0000000..cd775ce --- /dev/null +++ b/ruoyi-ui/src/api/system/project_proposals.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目立项列表 +export function listProject_proposals(query) { + return request({ + url: '/system/project_proposals/list', + method: 'get', + params: query + }) +} + +// 查询项目立项详细 +export function getProject_proposals(id) { + return request({ + url: '/system/project_proposals/' + id, + method: 'get' + }) +} + +// 新增项目立项 +export function addProject_proposals(data) { + return request({ + url: '/system/project_proposals', + method: 'post', + data: data + }) +} + +// 修改项目立项 +export function updateProject_proposals(data) { + return request({ + url: '/system/project_proposals', + method: 'put', + data: data + }) +} + +// 删除项目立项 +export function delProject_proposals(id) { + return request({ + url: '/system/project_proposals/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/system/project_budgets/index.vue b/ruoyi-ui/src/views/system/project_budgets/index.vue new file mode 100644 index 0000000..54bd287 --- /dev/null +++ b/ruoyi-ui/src/views/system/project_budgets/index.vue @@ -0,0 +1,334 @@ + + + diff --git a/ruoyi-ui/src/views/system/project_proposal_details/index.vue b/ruoyi-ui/src/views/system/project_proposal_details/index.vue new file mode 100644 index 0000000..afb6476 --- /dev/null +++ b/ruoyi-ui/src/views/system/project_proposal_details/index.vue @@ -0,0 +1,349 @@ + + + diff --git a/ruoyi-ui/src/views/system/project_proposals/index.vue b/ruoyi-ui/src/views/system/project_proposals/index.vue new file mode 100644 index 0000000..099e337 --- /dev/null +++ b/ruoyi-ui/src/views/system/project_proposals/index.vue @@ -0,0 +1,345 @@ + + +