浏览代码

合同基本增删改查

qianxb 2 年之前
父节点
当前提交
c2d97dce05

+ 19 - 0
blade-service-api/blade-control-api/src/main/java/org/springblade/control/vo/ControlContractInfoVO.java

@@ -0,0 +1,19 @@
+package org.springblade.control.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.control.entity.ControlContractInfo;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2023/6/6 15:22
+ **/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ControlContractInfoVO extends ControlContractInfo {
+    //合同类型值
+    private String contractTypeValue;
+    //项目名称
+    private String projectName;
+}

+ 55 - 3
blade-service/blade-control/src/main/java/org/springblade/control/controller/ContractInfoController.java

@@ -25,14 +25,66 @@ public class ContractInfoController {
     private final IContractInfoService contractInfoService;
     private final IContractInfoService contractInfoService;
 
 
     /**
     /**
-     * 新增项目
+     * 新增合同
      */
      */
     @PostMapping("/addContractInfo")
     @PostMapping("/addContractInfo")
-    @ApiOperationSupport(order = 2)
-    @ApiOperation(value = "新增项目")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "新增合同")
     public R addContractInfo(@RequestBody ControlContractInfo contractInfo) {
     public R addContractInfo(@RequestBody ControlContractInfo contractInfo) {
         contractInfoService.addContractInfo(contractInfo);
         contractInfoService.addContractInfo(contractInfo);
         return R.success("新增成功");
         return R.success("新增成功");
     }
     }
 
 
+    /**
+     * 删除合同
+     */
+    @GetMapping("/deleteContractInfoById")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "删除合同")
+    public R deleteContractInfoById(Long id) {
+        contractInfoService.deleteContractInfoById(id);
+        return R.success("删除成功");
+    }
+
+    /**
+     * 修改合同
+     */
+    @PostMapping("/updateContractInfo")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "修改合同")
+    public R updateContractInfo(@RequestBody ControlContractInfo contractInfo) {
+        contractInfoService.updateContractInfo(contractInfo);
+        return R.success("修改成功");
+    }
+
+    /**
+     * 查询单个合同信息
+     */
+    @GetMapping("/getContractInfoById")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "查询单个合同信息")
+    public R getContractInfoById(Long id) {
+        return R.data(contractInfoService.getContractInfoById(id));
+    }
+
+    /**
+     * 获取合同类型字典
+     */
+    @GetMapping("/getContractTypeDict")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取合同类型字典")
+    public R getContractTypeDict() {
+        return R.data(contractInfoService.getContractTypeDict());
+    }
+
+    /**
+     * 获取未被关联的项目
+     */
+    @GetMapping("getNoConnectionProject")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取未被关联的项目")
+    public R getNoConnectionProject(){
+        return R.data(contractInfoService.getNoConnectionProject());
+    }
+
 }
 }

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

@@ -6,6 +6,8 @@ import org.apache.ibatis.annotations.Param;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
+import org.springblade.control.vo.ControlContractInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.entity.DictBiz;
 
 
@@ -18,4 +20,9 @@ import java.util.List;
  **/
  **/
 public interface ContractInfoMapper extends BaseMapper<ControlContractInfo> {
 public interface ContractInfoMapper extends BaseMapper<ControlContractInfo> {
 
 
+    List<DictInfo> getContractTypeDict();
+
+    List<ControlProjectInfo> getNoConnectionProject();
+
+    ControlContractInfoVO getContractInfoById(@Param("id") Long id);
 }
 }

+ 13 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ContractInfoMapper.xml

@@ -3,6 +3,19 @@
 <mapper namespace="org.springblade.control.mapper.ContractInfoMapper">
 <mapper namespace="org.springblade.control.mapper.ContractInfoMapper">
 
 
 
 
+    <select id="getNoConnectionProject" resultType="org.springblade.control.entity.ControlProjectInfo">
+        select pi.id,pi.name from c_control_project_info pi left join c_control_contract_info ci on pi.id = ci.project_id WHERE ci.id is null
+    </select>
 
 
+    <select id="getContractTypeDict" resultType="org.springblade.control.entity.DictInfo">
+        SELECT * FROM c_dict_info WHERE CODE = 'contract_type' order by sort
+    </select>
 
 
+    <select id="getContractInfoById" resultType="org.springblade.control.vo.ControlContractInfoVO">
+        SELECT
+            ci.*,
+            (select dict_name  from c_dict_info WHERE code = 'contract_type' AND dict_value= ci.contract_type) as contractTypeValue,
+            (select name  from c_control_project_info WHERE id = ci.project_id) as projectName
+        FROM c_control_contract_info ci WHERE ci.id = #{id}
+    </select>
 </mapper>
 </mapper>

+ 3 - 2
blade-service/blade-control/src/main/java/org/springblade/control/mapper/ProjectInfoMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.entity.DictBiz;
 
 
@@ -20,8 +21,8 @@ public interface ProjectInfoMapper extends BaseMapper<ControlProjectInfo> {
 
 
     ControlProjectInfoVO getProjectInfoById(@Param("id") Long id);
     ControlProjectInfoVO getProjectInfoById(@Param("id") Long id);
 
 
-    List<DictBiz> getProjectTypeDict();
+    List<DictInfo> getProjectTypeDict();
 
 
-    List<DictBiz> getProjectServerTypeDict();
+    List<DictInfo> getProjectServerTypeDict();
 
 
 }
 }

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

@@ -43,12 +43,12 @@
         where pi.is_deleted = 0 and pi.id = #{id}
         where pi.is_deleted = 0 and pi.id = #{id}
     </select>
     </select>
 
 
-    <select id="getProjectTypeDict" resultType="org.springblade.system.entity.DictBiz">
-        SELECT * FROM c_dict_info WHERE CODE = 'project_type' order by sort
+    <select id="getProjectTypeDict" resultType="org.springblade.control.entity.DictInfo">
+        SELECT dict_name,dict_value FROM c_dict_info WHERE CODE = 'project_type' order by sort
     </select>
     </select>
 
 
-    <select id="getProjectServerTypeDict" resultType="org.springblade.system.entity.DictBiz">
-        SELECT * FROM c_dict_info WHERE CODE = 'project_server_type' order by sort
+    <select id="getProjectServerTypeDict" resultType="org.springblade.control.entity.DictInfo">
+        SELECT dict_name,dict_value FROM c_dict_info WHERE CODE = 'project_server_type' order by sort
     </select>
     </select>
 
 
 
 

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
+import org.springblade.control.vo.ControlContractInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.mp.support.Query;
@@ -20,4 +22,14 @@ public interface IContractInfoService extends BaseService<ControlContractInfo> {
 
 
 
 
     void addContractInfo(ControlContractInfo contractInfo);
     void addContractInfo(ControlContractInfo contractInfo);
+
+    List<DictInfo> getContractTypeDict();
+
+    List<ControlProjectInfo> getNoConnectionProject();
+
+    void deleteContractInfoById(Long id);
+
+    void updateContractInfo(ControlContractInfo contractInfo);
+
+    ControlContractInfoVO getContractInfoById(Long id);
 }
 }

+ 3 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/IProjectInfoService.java

@@ -3,6 +3,7 @@ package org.springblade.control.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.mp.support.Query;
@@ -26,8 +27,8 @@ public interface IProjectInfoService extends BaseService<ControlProjectInfo> {
 
 
     ControlProjectInfoVO getProjectInfoById(Long id);
     ControlProjectInfoVO getProjectInfoById(Long id);
 
 
-    List<DictBiz> getProjectTypeDict();
+    List<DictInfo> getProjectTypeDict();
 
 
-    List<DictBiz> getProjectServerTypeDict();
+    List<DictInfo> getProjectServerTypeDict();
 
 
 }
 }

+ 54 - 0
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ContractInfoServiceImpl.java

@@ -8,11 +8,13 @@ import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlContractInfo;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
 import org.springblade.control.mapper.ContractInfoMapper;
 import org.springblade.control.mapper.ContractInfoMapper;
 import org.springblade.control.mapper.ProjectInfoMapper;
 import org.springblade.control.mapper.ProjectInfoMapper;
 import org.springblade.control.service.IContractInfoService;
 import org.springblade.control.service.IContractInfoService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.service.IProjectProcessService;
+import org.springblade.control.vo.ControlContractInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.control.vo.ControlProjectInfoVO;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.mp.support.Query;
@@ -32,8 +34,60 @@ import java.util.List;
 @AllArgsConstructor
 @AllArgsConstructor
 public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper, ControlContractInfo> implements IContractInfoService {
 public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper, ControlContractInfo> implements IContractInfoService {
 
 
+    /**
+     * 添加合同信息
+     * @param contractInfo
+     */
     @Override
     @Override
     public void addContractInfo(ControlContractInfo contractInfo) {
     public void addContractInfo(ControlContractInfo contractInfo) {
         baseMapper.insert(contractInfo);
         baseMapper.insert(contractInfo);
     }
     }
+
+    /**
+     * 获取合同类型字典
+     * @return
+     */
+    @Override
+    public List<DictInfo> getContractTypeDict() {
+        return baseMapper.getContractTypeDict();
+    }
+
+    /**
+     * 获取没有被关联的项目
+     * @return
+     */
+    @Override
+    public List<ControlProjectInfo> getNoConnectionProject() {
+        return baseMapper.getNoConnectionProject();
+    }
+
+    /**
+     * 删除合同
+     * @param id
+     */
+    @Override
+    @Transactional
+    public void deleteContractInfoById(Long id) {
+        //合同回款记录和合同开票记录一起删除
+        baseMapper.deleteById(id);
+    }
+
+    /**
+     * 修改合同
+     * @param contractInfo
+     */
+    @Override
+    public void updateContractInfo(ControlContractInfo contractInfo) {
+        baseMapper.updateById(contractInfo);
+    }
+
+    /**
+     * 根据id查询合同
+     * @param id
+     * @return
+     */
+    @Override
+    public ControlContractInfoVO getContractInfoById(Long id) {
+        return baseMapper.getContractInfoById(id);
+    }
 }
 }

+ 3 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/ProjectInfoServiceImpl.java

@@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.dto.ControlProjectInfoDTO;
 import org.springblade.control.entity.ControlProjectInfo;
 import org.springblade.control.entity.ControlProjectInfo;
+import org.springblade.control.entity.DictInfo;
 import org.springblade.control.mapper.ProjectInfoMapper;
 import org.springblade.control.mapper.ProjectInfoMapper;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectInfoService;
 import org.springblade.control.service.IProjectProcessService;
 import org.springblade.control.service.IProjectProcessService;
@@ -112,7 +113,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public List<DictBiz> getProjectTypeDict() {
+    public List<DictInfo> getProjectTypeDict() {
         return infoMapper.getProjectTypeDict();
         return infoMapper.getProjectTypeDict();
     }
     }
 
 
@@ -121,7 +122,7 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, C
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public List<DictBiz> getProjectServerTypeDict() {
+    public List<DictInfo> getProjectServerTypeDict() {
         return infoMapper.getProjectServerTypeDict();
         return infoMapper.getProjectServerTypeDict();
     }
     }