From 30fbba6b6bbda98d854fd3bd08fac6b2bab67a84 Mon Sep 17 00:00:00 2001 From: lijun Date: Sun, 22 Dec 2024 00:40:50 +0800 Subject: [PATCH] update code --- .../yanzhu/manage/domain/ProCostOutput.java | 242 +++++++++++ .../manage/mapper/ProCostOutputMapper.java | 89 ++++ .../mapper/manage/ProCostOutputMapper.xml | 380 ++++++++++++++++++ yanzhu-modules/yanzhu-manage/pom.xml | 6 + .../controller/ProCostOutputController.java | 145 +++++++ .../manage/service/IProCostOutputService.java | 103 +++++ .../impl/ProCostOutputServiceImpl.java | 255 ++++++++++++ yanzhu-ui-vue3/src/api/manage/costOutput.js | 44 ++ .../src/views/manage/costOutput/index.vue | 369 +++++++++++++++++ .../src/views/manage/proProjectInfo/index.vue | 2 +- .../manage/proProjectInfoDepts/index.vue | 2 +- 11 files changed, 1635 insertions(+), 2 deletions(-) create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProCostOutput.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProCostOutputMapper.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProCostOutputMapper.xml create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProCostOutputService.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java create mode 100644 yanzhu-ui-vue3/src/api/manage/costOutput.js create mode 100644 yanzhu-ui-vue3/src/views/manage/costOutput/index.vue diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProCostOutput.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProCostOutput.java new file mode 100644 index 00000000..d8b5ebef --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProCostOutput.java @@ -0,0 +1,242 @@ +package com.yanzhu.manage.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.yanzhu.common.core.annotation.Excel; +import com.yanzhu.common.core.web.domain.BaseEntity; + +import java.util.Date; + +/** + * 项目成本产值对象 pro_cost_output + * + * @author yanzhu + * @date 2024-12-21 + */ +public class ProCostOutput extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 部门ID */ + @Excel(name = "部门ID") + private Long comId; + + /** 项目编号 */ + @Excel(name = "项目编号") + private Long projectId; + + /** 金额 */ + @Excel(name = "金额") + private Long money; + + /** 金额2 */ + @Excel(name = "金额2") + private Long money2; + + /** 金额2 */ + @Excel(name = "金额3") + private Long money3; + + /** 金额2 */ + @Excel(name = "金额4") + private Long money4; + + /** 金额2 */ + @Excel(name = "金额5") + private Long money5; + + + /** 月份 */ + @Excel(name = "月份") + private Long month; + + /** 年份 */ + @Excel(name = "年份") + private Long year; + + /** 类型,字典project_cost_output_type */ + @Excel(name = "类型,字典project_cost_output_type") + private Long costType; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Date date1; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Date date2; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long isDel; + + private String compName; + + public Long getMoney3() { + return money3; + } + + public void setMoney3(Long money3) { + this.money3 = money3; + } + + public Long getMoney4() { + return money4; + } + + public void setMoney4(Long money4) { + this.money4 = money4; + } + + public Long getMoney5() { + return money5; + } + + public void setMoney5(Long money5) { + this.money5 = money5; + } + + public String getCompName() { + return compName; + } + + public void setCompName(String compName) { + this.compName = compName; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + private String projectName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setComId(Long comId) + { + this.comId = comId; + } + + public Long getComId() + { + return comId; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setMoney(Long money) + { + this.money = money; + } + + public Long getMoney() + { + return money; + } + public void setMoney2(Long money2) + { + this.money2 = money2; + } + + public Long getMoney2() + { + return money2; + } + public void setMonth(Long month) + { + this.month = month; + } + + public Long getMonth() + { + return month; + } + public void setYear(Long year) + { + this.year = year; + } + + public Long getYear() + { + return year; + } + public void setCostType(Long costType) + { + this.costType = costType; + } + + public Long getCostType() + { + return costType; + } + public void setDate1(Date date1) + { + this.date1 = date1; + } + + public Date getDate1() + { + return date1; + } + public void setDate2(Date date2) + { + this.date2 = date2; + } + + public Date getDate2() + { + return date2; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("comId", getComId()) + .append("projectId", getProjectId()) + .append("money", getMoney()) + .append("money2", getMoney2()) + .append("month", getMonth()) + .append("year", getYear()) + .append("costType", getCostType()) + .append("date1", getDate1()) + .append("date2", getDate2()) + .append("remark", getRemark()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProCostOutputMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProCostOutputMapper.java new file mode 100644 index 00000000..af7bb881 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProCostOutputMapper.java @@ -0,0 +1,89 @@ +package com.yanzhu.manage.mapper; + +import java.util.List; +import com.yanzhu.manage.domain.ProCostOutput; + +/** + * 项目成本产值Mapper接口 + * + * @author yanzhu + * @date 2024-12-21 + */ +public interface ProCostOutputMapper +{ + + /** + * 查询项目成本产值 + * + * @param id 项目成本产值主键 + * @return 项目成本产值 + */ + public ProCostOutput selectProCostOutputById(Long id); + + /** + * 查询项目成本产值列表 + * + * @param proCostOutput 项目成本产值 + * @return 项目成本产值集合 + */ + public List selectProCostOutputList(ProCostOutput proCostOutput); + + /** + * 新增项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + public int insertProCostOutput(ProCostOutput proCostOutput); + + /** + * 修改项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + public int updateProCostOutput(ProCostOutput proCostOutput); + + /** + * 删除项目成本产值 + * + * @param id 项目成本产值主键 + * @return 结果 + */ + public int deleteProCostOutputById(Long id); + + /** + * 批量删除项目成本产值 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProCostOutputByIds(Long[] ids); + + + public List selectYearAndMonth(ProCostOutput where); + + List sumByDeptId(ProCostOutput where); + + + /** + * 分类汇总,用于大屏 【工程审批】【付款金额】 + * @param where + * @return + */ + public List sumForBsEnginAuditing(ProCostOutput where); + + /** + * 项目付款明细,用于大屏【工程审批】【付款金额】 + * @param where + * @return + */ + public List selectForBigEnginList(ProCostOutput where); + + /** + * 项目详情-项目分类汇总 + * @param where + * @return + */ + public List groupBYProject(ProCostOutput where); +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProCostOutputMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProCostOutputMapper.xml new file mode 100644 index 00000000..17f5cce6 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProCostOutputMapper.xml @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select po.id, po.com_id, po.project_id, po.money, po.money2,po.money3,po.money4,po.money5, po.month, po.year, po.cost_type, po.date1, po.date2, + po.remark, po.is_del, po.create_by, po.create_time, po.update_by, po.update_time,dp.`dept_name` comp_name,pi.`project_name` + from pro_cost_output po + LEFT JOIN sys_dept dp ON po.`com_id`=dp.`dept_id` + LEFT JOIN pro_project_info pi ON po.`project_id`=pi.`id` + + + + + + + + insert into pro_cost_output + + com_id, + project_id, + money, + money2, + money3, + money4, + money5, + month, + year, + cost_type, + date1, + date2, + remark, + is_del, + create_by, + create_time, + update_by, + update_time, + + + #{comId}, + #{projectId}, + #{money}, + #{money2}, + #{money3}, + #{money4}, + #{money5}, + #{month}, + #{year}, + #{costType}, + #{date1}, + #{date2}, + #{remark}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update pro_cost_output + + com_id = #{comId}, + project_id = #{projectId}, + money = #{money}, + money2 = #{money2}, + money3 = #{money3}, + money4 = #{money4}, + money5 = #{money5}, + month = #{month}, + year = #{year}, + cost_type = #{costType}, + date1 = #{date1}, + date2 = #{date2}, + remark = #{remark}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from pro_cost_output where id = #{id} + + + + delete from pro_cost_output where id in + + #{id} + + + + + + + + + + + + + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/pom.xml b/yanzhu-modules/yanzhu-manage/pom.xml index c51fea3e..0f8f1138 100644 --- a/yanzhu-modules/yanzhu-manage/pom.xml +++ b/yanzhu-modules/yanzhu-manage/pom.xml @@ -121,6 +121,9 @@ com.lowagie iTextAsian + 1.0.0 + system + ${pom.basedir}\libs\iTextAsian-1.0.0.jar @@ -138,6 +141,9 @@ com.aspose aspose-words + 15.8.0 + system + ${pom.basedir}\libs\aspose-words-15.8.0-jdk16.jar diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java new file mode 100644 index 00000000..45f44af7 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java @@ -0,0 +1,145 @@ +package com.yanzhu.manage.controller; + +import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import com.yanzhu.common.core.utils.poi.ExcelUtil; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.log.annotation.Log; +import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.manage.domain.ProCostOutput; +import com.yanzhu.manage.service.IProCostOutputService; +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; + +/** + * 项目成本产值Controller + * + * @author yanzhu + * @date 2024-12-21 + */ +@RestController +@RequestMapping("/costOutput") +public class ProCostOutputController extends BaseController +{ + @Autowired + private IProCostOutputService proCostOutputService; + + /** + * 查询项目成本产值列表 + */ + @RequiresPermissions("manage:costOutput:list") + @GetMapping("/list") + public TableDataInfo list(ProCostOutput proCostOutput) + { + startPage(); + List list = proCostOutputService.selectProCostOutputList(proCostOutput); + return getDataTable(list); + } + + /** + * 导出项目成本产值列表 + */ + @RequiresPermissions("manage:costOutput:export") + @Log(title = "项目成本产值", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProCostOutput proCostOutput) + { + List list = proCostOutputService.selectProCostOutputList(proCostOutput); + ExcelUtil util = new ExcelUtil(ProCostOutput.class); + util.exportExcel(response, list, "项目成本产值数据"); + } + + /** + * 获取项目成本产值详细信息 + */ + @RequiresPermissions("manage:costOutput:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(proCostOutputService.selectProCostOutputById(id)); + } + + /** + * 新增项目成本产值 + */ + @RequiresPermissions("manage:costOutput:add") + @Log(title = "项目成本产值", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProCostOutput proCostOutput) + { + return toAjax(proCostOutputService.insertProCostOutput(proCostOutput)); + } + + /** + * 修改项目成本产值 + */ + @RequiresPermissions("manage:costOutput:edit") + @Log(title = "项目成本产值", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProCostOutput proCostOutput) + { + return toAjax(proCostOutputService.updateProCostOutput(proCostOutput)); + } + + /** + * 删除项目成本产值 + */ + @RequiresPermissions("manage:costOutput:remove") + @Log(title = "项目成本产值", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(proCostOutputService.deleteProCostOutputByIds(ids)); + } + + + @PostMapping("/selectYearAndMonth") + public AjaxResult selectYearAndMonth(@RequestBody ProCostOutput where){ + List list=proCostOutputService.selectYearAndMonth(where); + if(list.size()==0){ + proCostOutputService.initProject(where.getProjectId(),where.getComId()); + } + list=proCostOutputService.selectYearAndMonth(where); + return AjaxResult.success(list); + } + + @PostMapping("/sumByDeptId") + public AjaxResult sumByDeptId(@RequestBody ProCostOutput where){ + List list=proCostOutputService.sumByDeptId(where); + return AjaxResult.success(list); + } + + /** + * 分类汇总,用于大屏 【工程审批】【付款金额】 + * @param where + * @return + */ + @PostMapping("/sumForBsEnginAuditing") + public AjaxResult sumForBsEnginAuditing(@RequestBody ProCostOutput where){ + Long deptId=where.getId(); + List list=proCostOutputService.sumForBsEnginAuditing(where); + return AjaxResult.success(list); + } + + /** + * 项目付款明细,用于大屏【工程审批】【付款金额】 + * @param where + * @return + */ + @PostMapping("/selectForBigEnginList") + public AjaxResult selectForBigEnginList(@RequestBody ProCostOutput where){ + Map>> list=proCostOutputService.selectForBigEnginList(where); + return AjaxResult.success(list); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProCostOutputService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProCostOutputService.java new file mode 100644 index 00000000..7f795c4a --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProCostOutputService.java @@ -0,0 +1,103 @@ +package com.yanzhu.manage.service; + +import java.util.List; +import java.util.Map; + +import com.yanzhu.manage.domain.ProCostOutput; + +/** + * 项目成本产值Service接口 + * + * @author yanzhu + * @date 2024-12-21 + */ +public interface IProCostOutputService +{ + /** + * 查询项目成本产值 + * + * @param id 项目成本产值主键 + * @return 项目成本产值 + */ + public ProCostOutput selectProCostOutputById(Long id); + + /** + * 查询项目成本产值列表 + * + * @param proCostOutput 项目成本产值 + * @return 项目成本产值集合 + */ + public List selectProCostOutputList(ProCostOutput proCostOutput); + + /** + * 新增项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + public int insertProCostOutput(ProCostOutput proCostOutput); + + /** + * 修改项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + public int updateProCostOutput(ProCostOutput proCostOutput); + + /** + * 批量删除项目成本产值 + * + * @param ids 需要删除的项目成本产值主键集合 + * @return 结果 + */ + public int deleteProCostOutputByIds(Long[] ids); + + /** + * 删除项目成本产值信息 + * + * @param id 项目成本产值主键 + * @return 结果 + */ + public int deleteProCostOutputById(Long id); + + /** + * 项目初始化 + * @param projectId + */ + public void initProject(long projectId,long comId); + + public void addYearInvestment(ProCostOutput where); + + public void addMonthInvestment(ProCostOutput where); + + public List selectYearAndMonth(ProCostOutput where); + + public List sumByDeptId(ProCostOutput where); + + /** + * 批量操作数据 + * @param list + * @return + */ + public int batchUpdate(List list); + /** + * 分类汇总,用于大屏 【工程审批】【付款金额】 + * @param where + * @return + */ + public List sumForBsEnginAuditing(ProCostOutput where); + + /** + * 项目付款明细,用于大屏【工程审批】【付款金额】 + * @param where + * @return + */ + public Map>> selectForBigEnginList(ProCostOutput where); + /** + * 项目详情-项目分类汇总 + * @param where + * @return + */ + public List groupBYProject(ProCostOutput where); +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java new file mode 100644 index 00000000..02ee3180 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java @@ -0,0 +1,255 @@ +package com.yanzhu.manage.service.impl; + +import java.util.*; + +import com.yanzhu.common.core.context.SecurityContextHolder; +import com.yanzhu.common.core.utils.DateUtils; +import com.yanzhu.manage.domain.ProCostOutput; +import com.yanzhu.manage.mapper.ProCostOutputMapper; +import com.yanzhu.manage.service.IProCostOutputService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.web.mappings.MappingsEndpoint; +import org.springframework.stereotype.Service; + +/** + * 项目成本产值Service业务层处理 + * + * @author yanzhu + * @date 2024-12-21 + */ +@Service +public class ProCostOutputServiceImpl implements IProCostOutputService +{ + @Autowired + private ProCostOutputMapper proCostOutputMapper; + @Autowired + private MappingsEndpoint mappingsEndpoint; + + /** + * 查询项目成本产值 + * + * @param id 项目成本产值主键 + * @return 项目成本产值 + */ + @Override + public ProCostOutput selectProCostOutputById(Long id) + { + return proCostOutputMapper.selectProCostOutputById(id); + } + + /** + * 查询项目成本产值列表 + * + * @param proCostOutput 项目成本产值 + * @return 项目成本产值 + */ + @Override + public List selectProCostOutputList(ProCostOutput proCostOutput) + { + return proCostOutputMapper.selectProCostOutputList(proCostOutput); + } + + /** + * 新增项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + @Override + public int insertProCostOutput(ProCostOutput proCostOutput) + { + proCostOutput.setCreateBy(SecurityContextHolder.getUserName()); + proCostOutput.setCreateTime(DateUtils.getNowDate()); + return proCostOutputMapper.insertProCostOutput(proCostOutput); + } + + /** + * 修改项目成本产值 + * + * @param proCostOutput 项目成本产值 + * @return 结果 + */ + @Override + public int updateProCostOutput(ProCostOutput proCostOutput) + { + proCostOutput.setUpdateBy(SecurityContextHolder.getUserName()); + proCostOutput.setUpdateTime(DateUtils.getNowDate()); + return proCostOutputMapper.updateProCostOutput(proCostOutput); + } + + /** + * 批量删除项目成本产值 + * + * @param ids 需要删除的项目成本产值主键 + * @return 结果 + */ + @Override + public int deleteProCostOutputByIds(Long[] ids) + { + return proCostOutputMapper.deleteProCostOutputByIds(ids); + } + + /** + * 删除项目成本产值信息 + * + * @param id 项目成本产值主键 + * @return 结果 + */ + @Override + public int deleteProCostOutputById(Long id) + { + return proCostOutputMapper.deleteProCostOutputById(id); + } + + @Override + public void initProject(long projectId,long comId) { + Calendar calendar=Calendar.getInstance(); + int year=calendar.get(Calendar.YEAR); + ProCostOutput it=new ProCostOutput(); + it.setProjectId(projectId); + it.setComId(comId); + it.setMoney(0l); + it.setRemark(""); + it.setIsDel(0l); + it.setCostType(1l);//总投资 + insertProCostOutput(it); + it.setCostType(2l);//年度投资 + it.setYear(year*1l); + insertProCostOutput(it); + it.setYear(null); + it.setCostType(3l);//合同金额 + insertProCostOutput(it); + it.setCostType(4l);//合同支付金额 + insertProCostOutput(it); + it.setCostType(5l);//合同挂账金额 + insertProCostOutput(it); + it.setCostType(6l);//安措金额 + insertProCostOutput(it); + it.setCostType(7l);//安措支付金额 + insertProCostOutput(it); + it.setCostType(8l);//安措挂账金额 + insertProCostOutput(it); + it.setCostType(10l);//建安费金额 + insertProCostOutput(it); + it.setCostType(9l);//月度投资 + it.setYear(year*1l); + for(int i=1;i<=12;i++){ + it.setMonth(i*1l); + insertProCostOutput(it); + } + } + + @Override + public void addYearInvestment(ProCostOutput it) { + it.setMoney(0l); + it.setRemark(""); + it.setIsDel(0l); + it.setCostType(2l);//年度投资 + insertProCostOutput(it); + } + + @Override + public void addMonthInvestment(ProCostOutput it) { + it.setMoney(0l); + it.setRemark(""); + it.setIsDel(0l); + it.setCostType(9l);//月度投资 + for(int i=1;i<=12;i++){ + it.setMonth(i*1l); + insertProCostOutput(it); + } + } + + @Override + public List selectYearAndMonth(ProCostOutput where) { + return proCostOutputMapper.selectYearAndMonth(where); + } + + @Override + public List sumByDeptId(ProCostOutput where) { + return proCostOutputMapper.sumByDeptId(where); + } + + @Override + public int batchUpdate(List list) { + ProCostOutput where=new ProCostOutput(); + where.setProjectId(list.get(0).getProjectId()); + where.setCostType(11l);//工程进度款支付 + List contractList=selectProCostOutputList(where); + where.setCostType(12l);//安措费支付明细 + List safetyList=selectProCostOutputList(where); + List contractIds=new ArrayList<>(); + List safetyIds=new ArrayList<>(); + for(ProCostOutput it:list){ + if(it.getId()!=null){ + updateProCostOutput(it); + if(it.getCostType().equals(11l)){ + contractIds.add(it.getId()); + } + if(it.getCostType().equals(12l)){ + safetyIds.add(it.getId()); + } + }else{ + insertProCostOutput(it); + } + } + for(ProCostOutput it :contractList){ + if(!contractIds.contains(it.getId())){ + deleteProCostOutputById(it.getId()); + } + } + for(ProCostOutput it :safetyList){ + if(!safetyIds.contains(it.getId())){ + deleteProCostOutputById(it.getId()); + } + } + return list.size(); + } + /** + * 分类汇总,用于大屏 【工程审批】【付款金额】 + * @param where + * @return + */ + @Override + public List sumForBsEnginAuditing(ProCostOutput where) { + return proCostOutputMapper.sumForBsEnginAuditing(where); + } + + @Override + public Map>> selectForBigEnginList(ProCostOutput where) { + List list=proCostOutputMapper.selectForBigEnginList(where); + Map>> map=new HashMap<>(); + List list11;//=new ArrayList<>(); + List list12;//=new ArrayList<>(); + List> plist; + for(ProCostOutput it:list){ + String pname=it.getRemark(); + if(!map.containsKey(pname)){ + list12=new ArrayList<>(); + list11=new ArrayList<>(); + plist=new ArrayList<>(); + plist.add(list12); + plist.add(list11); + map.put(pname,plist); + } + plist=map.get(pname); + list12=plist.get(0); + list11=plist.get(1); + if(it.getCostType().equals(12l)){ + list12.add(it); + }else{ + list11.add(it); + } + } + return map; + } + /** + * 项目详情-项目分类汇总 + * @param where + * @return + */ + @Override + public List groupBYProject(ProCostOutput where) { + return proCostOutputMapper.groupBYProject(where); + } +} diff --git a/yanzhu-ui-vue3/src/api/manage/costOutput.js b/yanzhu-ui-vue3/src/api/manage/costOutput.js new file mode 100644 index 00000000..44a0e23f --- /dev/null +++ b/yanzhu-ui-vue3/src/api/manage/costOutput.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目成本产值列表 +export function listCostOutput(query) { + return request({ + url: '/manage/costOutput/list', + method: 'get', + params: query + }) +} + +// 查询项目成本产值详细 +export function getCostOutput(id) { + return request({ + url: '/manage/costOutput/' + id, + method: 'get' + }) +} + +// 新增项目成本产值 +export function addCostOutput(data) { + return request({ + url: '/manage/costOutput', + method: 'post', + data: data + }) +} + +// 修改项目成本产值 +export function updateCostOutput(data) { + return request({ + url: '/manage/costOutput', + method: 'put', + data: data + }) +} + +// 删除项目成本产值 +export function delCostOutput(id) { + return request({ + url: '/manage/costOutput/' + id, + method: 'delete' + }) +} diff --git a/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue b/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue new file mode 100644 index 00000000..63b40894 --- /dev/null +++ b/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue @@ -0,0 +1,369 @@ + + + diff --git a/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue b/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue index 6d1d212e..d543881f 100644 --- a/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue +++ b/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue @@ -115,7 +115,7 @@ - +
- +