Эх сурвалжийг харах

管控平台,预算相关

qianxb 2 жил өмнө
parent
commit
0ead965006
13 өөрчлөгдсөн 345 нэмэгдсэн , 1 устгасан
  1. 61 0
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectReimbursement.java
  2. 61 0
      blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectReimbursementVO.java
  3. 20 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectInfoController.java
  4. 68 0
      blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectReimbursementController.java
  5. 5 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java
  6. 10 1
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.xml
  7. 12 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectReimbursementMapper.java
  8. 6 0
      blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectReimbursementMapper.xml
  9. 7 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectInfoService.java
  10. 20 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectReimbursementService.java
  11. 11 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java
  12. 52 0
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectReimbursementServiceImpl.java
  13. 12 0
      blade-service/blade-control/src/main/java/org/springblade/control/utils/BHUtils.java

+ 61 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/entity/ProjectReimbursement.java

@@ -0,0 +1,61 @@
+package org.springblade.control.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 13:39
+ **/
+@Data
+@TableName("c_control_project_reimbursement")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "项目报销表", description = "项目报销表")
+public class ProjectReimbursement extends BaseEntity {
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "报销编号")
+    private String number;
+
+    @ApiModelProperty(value = "报销类型")
+    private Integer type;
+
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @ApiModelProperty(value = "项目进程")
+    private Long projectProcessId;
+
+    @ApiModelProperty(value = "报销金额")
+    private BigDecimal reimbursementAmount;
+
+    @ApiModelProperty(value = "报销人")
+    private Long reimbursementUser;
+
+    @ApiModelProperty(value = "报销人姓名")
+    private String reimbursementUserName;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd"
+    )
+    @ApiModelProperty(value = "报销时间")
+    private LocalDate reimbursementTime;
+
+    @ApiModelProperty(value = "关联预算节点")
+    private Long budgetId;
+
+}

+ 61 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ProjectReimbursementVO.java

@@ -0,0 +1,61 @@
+package org.springblade.control.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 13:39
+ **/
+@Data
+@TableName("c_control_project_reimbursement")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "项目报销表", description = "项目报销表")
+public class ProjectReimbursementVO extends BaseEntity {
+    @ApiModelProperty(value = "项目id")
+    private Long projectId;
+
+    @ApiModelProperty(value = "报销编号")
+    private String number;
+
+    @ApiModelProperty(value = "报销类型")
+    private Integer type;
+
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @ApiModelProperty(value = "项目进程")
+    private Long projectProcessId;
+
+    @ApiModelProperty(value = "报销金额")
+    private BigDecimal reimbursementAmount;
+
+    @ApiModelProperty(value = "报销人")
+    private Long reimbursementUser;
+
+    @ApiModelProperty(value = "报销人姓名")
+    private String reimbursementUserName;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd"
+    )
+    @ApiModelProperty(value = "报销时间")
+    private LocalDate reimbursementTime;
+
+    @ApiModelProperty(value = "关联预算节点")
+    private Long budgetId;
+
+}

+ 20 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectInfoController.java

@@ -78,4 +78,24 @@ public class ProjectInfoController {
         return R.data(projectInfoService.getProjectInfoById(id));
     }
 
+    /**
+     * 获取项目类型字典
+     */
+    @GetMapping("/getProjectTypeDict")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取项目类型字典")
+    public R getProjectTypeDict(){
+        return R.data(projectInfoService.getProjectTypeDict());
+    }
+
+    /**
+     * 获取合同类型字典
+     */
+    @GetMapping("/getContractTypeDict")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取合同类型字典")
+    public R getContractTypeDict(){
+        return R.data(projectInfoService.getContractTypeDict());
+    }
+
 }

+ 68 - 0
blade-service/blade-control/src/main/java/org/springblade/control/controller/ProjectReimbursementController.java

@@ -0,0 +1,68 @@
+package org.springblade.control.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.control.dto.ControlProjectInfoDTO;
+import org.springblade.control.entity.ProjectReimbursement;
+import org.springblade.control.service.IProjectReimbursementService;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 14:00
+ **/
+@RestController
+@AllArgsConstructor
+@RequestMapping("/projectReimbursement")
+@Api(value = "项目报销接口", tags = "项目报销接口")
+public class ProjectReimbursementController {
+
+    private final IProjectReimbursementService reimbursementService;
+
+    /**
+     * 新增报销
+     */
+    @PostMapping("/addReimbursement")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "新增报销")
+    public R addReimbursement(@RequestBody ProjectReimbursement projectReimbursement){
+        reimbursementService.addReimbursement(projectReimbursement);
+        return R.success("新增成功");
+    }
+
+    /**
+     * 修改报销
+     */
+    @PostMapping("/updateReimbursement")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "修改报销")
+    public R updateReimbursement(@RequestBody ProjectReimbursement projectReimbursement){
+        reimbursementService.updateReimbursement(projectReimbursement);
+        return R.success("修改成功");
+    }
+
+    /**
+     * 删除报销
+     */
+    @GetMapping("removeReimbursement")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "删除项目")
+    public R removeReimbursement(Long id){
+        reimbursementService.removeReimbursement(id);
+        return R.success("删除成功");
+    }
+
+    /**
+     * 根据id获取报销信息
+     */
+    @GetMapping("/getReimbursementById")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "根据id获取报销信息")
+    public R getReimbursementById(Long id){
+        return R.data(reimbursementService.getReimbursementById(id));
+    }
+}

+ 5 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.vo.ControlProjectInfoVO;
+import org.springblade.system.entity.DictBiz;
 
 import java.util.List;
 
@@ -18,4 +19,8 @@ public interface ProjectInfoMapper extends BaseMapper<ControlProjectInfo> {
     List<ControlProjectInfoVO> selectByPage(IPage page, @Param("dto") ControlProjectInfoDTO dto);
 
     ControlProjectInfoVO getProjectInfoById(@Param("id") Long id);
+
+    List<DictBiz> getProjectTypeDict();
+
+    List<DictBiz> getContractTypeDict();
 }

+ 10 - 1
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.xml

@@ -4,7 +4,10 @@
 
 
     <select id="selectByPage" resultType="org.springblade.control.vo.ControlProjectInfoVO">
-        select pi.* from c_control_project_info pi
+        select pi.*,d1.dict_value as projectTypeValue,d2.dict_value as contractTypeValue
+        from c_control_project_info pi
+            LEFT JOIN ( SELECT * FROM blade_dict_biz WHERE CODE = 'project_type' ) d1 ON pi.project_type = d1.dict_key
+            LEFT JOIN ( SELECT * FROM blade_dict_biz WHERE CODE = 'contract_type' ) d2 ON pi.contract_type = d2.dict_key
         where pi.is_deleted = 0
         <if test="dto.projectType != null and dto.projectType != ''">
             and pi.project_type = #{dto.projectType}
@@ -26,5 +29,11 @@
         from c_control_project_info pi
         where pi.is_deleted = 0 and pi.id = #{id}
     </select>
+    <select id="getProjectTypeDict" resultType="org.springblade.system.entity.DictBiz">
+        SELECT * FROM blade_dict_biz WHERE CODE = 'project_type' and parent_id > 0
+    </select>
+    <select id="getContractTypeDict" resultType="org.springblade.system.entity.DictBiz">
+        SELECT * FROM blade_dict_biz WHERE CODE = 'contract_type' and parent_id > 0
+    </select>
 
 </mapper>

+ 12 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectReimbursementMapper.java

@@ -0,0 +1,12 @@
+package org.springblade.control.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.control.entity.ProjectReimbursement;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 13:56
+ **/
+public interface ProjectReimbursementMapper extends BaseMapper<ProjectReimbursement> {
+}

+ 6 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectReimbursementMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.control.mapper.ProjectReimbursementMapper">
+
+
+</mapper>

+ 7 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectInfoService.java

@@ -6,6 +6,9 @@ import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
+import org.springblade.system.entity.DictBiz;
+
+import java.util.List;
 
 /**
  * @Param
@@ -22,4 +25,8 @@ public interface IProjectInfoService extends BaseService<ControlProjectInfo> {
     void removeProjectInfo(Long id);
 
     ControlProjectInfoVO getProjectInfoById(Long id);
+
+    List<DictBiz> getProjectTypeDict();
+
+    List<DictBiz> getContractTypeDict();
 }

+ 20 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectReimbursementService.java

@@ -0,0 +1,20 @@
+package org.springblade.control.service;
+
+import org.springblade.control.entity.ProjectReimbursement;
+import org.springblade.control.vo.ProjectReimbursementVO;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 13:58
+ **/
+public interface IProjectReimbursementService extends BaseService<ProjectReimbursement> {
+    void addReimbursement(ProjectReimbursement projectReimbursement);
+
+    void updateReimbursement(ProjectReimbursement projectReimbursement);
+
+    void removeReimbursement(Long id);
+
+    ProjectReimbursementVO getReimbursementById(Long id);
+}

+ 11 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java

@@ -12,6 +12,7 @@ import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
+import org.springblade.system.entity.DictBiz;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -93,4 +94,14 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
         vo.setProjectProcessList(processService.getProjectProcess(id));
         return vo;
     }
+
+    @Override
+    public List<DictBiz> getProjectTypeDict() {
+        return infoMapper.getProjectTypeDict();
+    }
+
+    @Override
+    public List<DictBiz> getContractTypeDict() {
+        return infoMapper.getContractTypeDict();
+    }
 }

+ 52 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectReimbursementServiceImpl.java

@@ -0,0 +1,52 @@
+package org.springblade.control.service.impl;
+
+import lombok.AllArgsConstructor;
+import org.springblade.control.entity.ProjectReimbursement;
+import org.springblade.control.mapper.ProjectReimbursementMapper;
+import org.springblade.control.service.IProjectReimbursementService;
+import org.springblade.control.vo.ProjectReimbursementVO;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 13:59
+ **/
+@Service
+@AllArgsConstructor
+public class ProjectReimbursementServiceImpl extends BaseServiceImpl<ProjectReimbursementMapper, ProjectReimbursement> implements IProjectReimbursementService {
+    private final ProjectReimbursementMapper reimbursementMapper;
+
+    /**
+     * 新增报销
+     * @param projectReimbursement
+     */
+    @Override
+    public void addReimbursement(ProjectReimbursement projectReimbursement) {
+
+    }
+
+    /**
+     * 修改报销
+     * @param projectReimbursement
+     */
+    @Override
+    public void updateReimbursement(ProjectReimbursement projectReimbursement) {
+        reimbursementMapper.updateById(projectReimbursement);
+    }
+
+    /**
+     * 删除报销
+     * @param id
+     */
+    @Override
+    public void removeReimbursement(Long id) {
+        reimbursementMapper.deleteById(id);
+    }
+
+    @Override
+    public ProjectReimbursementVO getReimbursementById(Long id) {
+        return null;
+    }
+}

+ 12 - 0
blade-service/blade-control/src/main/java/org/springblade/control/utils/BHUtils.java

@@ -0,0 +1,12 @@
+package org.springblade.control.utils;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/5/15 15:59
+ **/
+public class BHUtils {
+    public static String getNextBH(String BH){
+        return null;
+    }
+}