瀏覽代碼

项目管理模块财务模块

lichaoliu 4 年之前
父節點
當前提交
f2b9c8f9f1

+ 13 - 0
src/main/java/com/migao/controller/ProjectController.java

@@ -7,9 +7,11 @@ import com.migao.config.response.ResponseBean;
 import com.migao.config.validation.Insert;
 import com.migao.config.validation.Update;
 import com.migao.entity.vo.req.*;
+import com.migao.entity.vo.res.CompanyEvaluationQueryRes;
 import com.migao.entity.vo.res.DictionaryListRes;
 import com.migao.entity.vo.res.OverviewRes;
 import com.migao.entity.vo.res.ProjectQueryRes;
+import com.migao.service.CompanyEvaluationService;
 import com.migao.service.MilestoneService;
 import com.migao.service.ProjectService;
 import com.migao.service.PurchasingApprovalService;
@@ -30,6 +32,8 @@ public class ProjectController {
 
     @Resource
     private ProjectService projectService;
+    @Resource
+    private CompanyEvaluationService companyEvaluationService;
 
 
     @ApiOperationSupport(order = 3)
@@ -59,4 +63,13 @@ public class ProjectController {
     ) {
         return projectService.selectById(id);
     }
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("新增项目评价")
+    @PostMapping(value = "/insertGive")
+    public ResponseBean<CompanyEvaluationQueryRes> insertGive(
+            @RequestBody CompanyEvaluationInsertReq companyEvaluationInsertReq
+    ) {
+        return companyEvaluationService.insertGive(companyEvaluationInsertReq);
+    }
 }

+ 10 - 4
src/main/java/com/migao/entity/po/CompanyEvaluation.java

@@ -29,11 +29,17 @@ public class CompanyEvaluation implements Serializable {
     @Column(name = "id", columnDefinition = "int comment '主键'")
     private Integer id;
 
-    @Column(name = "company_id", columnDefinition = "bigint(20) comment '公司id'")
-    private Integer companyId;
+    @Column(name = "project_id", columnDefinition = "int COMMENT '项目id'")
+    private Integer projectId;
 
-    @Column(name = "company_evaluation", columnDefinition = "text comment '公司评价'")
-    private String companyEvaluation;
+    @Column(name = "username", columnDefinition = "varchar(255) COMMENT '评价人'")
+    private String username;
+
+    @Column(name = "content", columnDefinition = "text comment '评价内容'")
+    private String content;
+
+    @Column(name = "give", columnDefinition = "text comment '评分'")
+    private String give;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @Column(name = "deleted", columnDefinition = "tinyint(4) comment '逻辑删除 0未删除 1已删除'")

+ 1 - 1
src/main/java/com/migao/entity/po/Finances.java

@@ -35,7 +35,7 @@ public class Finances implements Serializable {
     @Column(name = "name", columnDefinition = "varchar(255) comment '预算项目名称'")
     private String name;
 
-    @Column(name = "company_nme", columnDefinition = "varchar(255) comment '收款单位名称'")
+    @Column(name = "company_name", columnDefinition = "varchar(255) comment '收款单位名称'")
     private String companyName ;
 
     @Column(name = "no", columnDefinition = "varchar(255) comment '收款单位供应商编码'")

+ 38 - 0
src/main/java/com/migao/entity/vo/req/CompanyEvaluationInsertReq.java

@@ -0,0 +1,38 @@
+package com.migao.entity.vo.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @version 1.0
+ * @Author lcl
+ * @Date 2020/10/20 17:00
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class CompanyEvaluationInsertReq {
+
+    @ApiModelProperty(value = "评价内容")
+    private String content;
+
+    @ApiModelProperty(value = "评分")
+    private String give;
+
+    @ApiModelProperty(value = "项目id")
+    private Integer projectId;
+
+    @ApiModelProperty(value = "评价人")
+    private String username;
+
+}

+ 38 - 0
src/main/java/com/migao/entity/vo/req/CompanyEvaluationQueryReq.java

@@ -0,0 +1,38 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author lcl
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class CompanyEvaluationQueryReq {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "评价内容")
+    private String content;
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "评分")
+    private String give;
+    @ApiModelProperty(value = "项目id")
+    private Integer projectId;
+    @ApiModelProperty(value = "评价人")
+    private String username;
+
+}

+ 49 - 0
src/main/java/com/migao/entity/vo/req/CompanyEvaluationUpdateReq.java

@@ -0,0 +1,49 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @version 1.0
+ * @Author lcl
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class CompanyEvaluationUpdateReq {
+
+    @ApiModelProperty(value = "主键")
+        @NotNull(message = "主键不能为空")
+    private Integer id;
+    @ApiModelProperty(value = "评价内容")
+        @NotEmpty(message = "评价内容不能为空")
+    private String content;
+    @ApiModelProperty(value = "创建时间")
+        @NotNull(message = "创建时间不能为空")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+        @NotNull(message = "不能为空")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+        @NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
+    private Integer deleted;
+    @ApiModelProperty(value = "评分")
+        @NotEmpty(message = "评分不能为空")
+    private String give;
+    @ApiModelProperty(value = "项目id")
+        @NotNull(message = "项目id不能为空")
+    private Integer projectId;
+    @ApiModelProperty(value = "评价人")
+        @NotEmpty(message = "评价人不能为空")
+    private String username;
+
+}

+ 37 - 0
src/main/java/com/migao/entity/vo/res/CompanyEvaluationQueryRes.java

@@ -0,0 +1,37 @@
+package com.migao.entity.vo.res;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author lcl
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class CompanyEvaluationQueryRes {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+
+    @ApiModelProperty(value = "评价内容")
+    private String content;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "评分")
+    private String give;
+
+    @ApiModelProperty(value = "评价人")
+    private String username;
+
+}

+ 3 - 0
src/main/java/com/migao/entity/vo/res/OverviewRes.java

@@ -115,4 +115,7 @@ public class OverviewRes {
 
     @ApiModelProperty(value = "档案管理")
     private List<ContractQueryRes> contractList=new ArrayList<>();
+
+    @ApiModelProperty(value = "评价")
+    private List<CompanyEvaluationQueryRes> companyEvaluationList=new ArrayList<>();
 }

+ 5 - 1
src/main/java/com/migao/service/CompanyEvaluationService.java

@@ -1,10 +1,14 @@
 package com.migao.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.migao.config.response.ResponseBean;
 import com.migao.entity.po.CompanyEvaluation;
+import com.migao.entity.vo.req.CompanyEvaluationInsertReq;
+import com.migao.entity.vo.res.CompanyEvaluationQueryRes;
 
 /**
  * @author dingsong
  */
-public interface CompanyEvaluationService extends IService<CompanyEvaluation> {
+public interface CompanyEvaluationService{
+    ResponseBean<CompanyEvaluationQueryRes> insertGive(CompanyEvaluationInsertReq companyEvaluationInsertReq);
 }

+ 18 - 0
src/main/java/com/migao/service/impl/CompanyEvaluationServiceImpl.java

@@ -1,13 +1,20 @@
 package com.migao.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.response.ResponseBuilder;
 import com.migao.entity.po.CompanyEvaluation;
+import com.migao.entity.vo.req.CompanyEvaluationInsertReq;
+import com.migao.entity.vo.res.CompanyEvaluationQueryRes;
 import com.migao.mapper.CompanyEvaluationMapper;
 import com.migao.service.CompanyEvaluationService;
+import com.migao.util.EntityUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+
 /**
  * @author dingsong
  */
@@ -15,4 +22,15 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 @Transactional(rollbackFor = {Exception.class})
 public class CompanyEvaluationServiceImpl extends ServiceImpl<CompanyEvaluationMapper, CompanyEvaluation> implements CompanyEvaluationService {
+
+    @Resource
+    private CompanyEvaluationMapper companyEvaluationMapper;
+
+    @Override
+    public ResponseBean<CompanyEvaluationQueryRes> insertGive(CompanyEvaluationInsertReq companyEvaluationInsertReq) {
+        CompanyEvaluation companyEvaluation = EntityUtils.copyProperties(companyEvaluationInsertReq, CompanyEvaluation.class);
+        companyEvaluation.setDeleted(0);
+        companyEvaluationMapper.insert(companyEvaluation);
+        return ResponseBuilder.ok();
+    }
 }

+ 69 - 1
src/main/java/com/migao/service/impl/ProjectServiceImpl.java

@@ -26,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import sun.net.ConnectionResetException;
 
 
 import javax.annotation.Resource;
@@ -63,6 +64,16 @@ public class ProjectServiceImpl implements ProjectService {
     private ProjectTypeMapper projectTypeMapper;
     @Resource
     private ProjectTypeStageMapper projectTypeStageMapper;
+    @Resource
+    private MilestoneMapper milestoneMapper;
+    @Resource
+    private ProjectMemberMapper projectMemberMapper;
+    @Resource
+    private DemandLibraryMapper demandLibraryMapper;
+    @Resource
+    private FinancesMapper financesMapper;
+    @Resource
+    private CompanyEvaluationMapper companyEvaluationMapper;
 
     /**
      * 增
@@ -473,17 +484,74 @@ public class ProjectServiceImpl implements ProjectService {
         overviewRes.setStageList(projectStagesList);
         //项目里程碑
         List<MilestoneQueryRes> milestoneList = new ArrayList<>();
+        LambdaQueryWrapper<Milestone> milestoneWrapper=new LambdaQueryWrapper<>();
+        milestoneWrapper.eq(Milestone::getProjectId,project.getId());
+        List<Milestone> milestones = milestoneMapper.selectList(milestoneWrapper);
+        for (Milestone milestone : milestones) {
+            MilestoneQueryRes milestoneQueryRes = EntityUtils.copyProperties(milestone, MilestoneQueryRes.class);
+            milestoneList.add(milestoneQueryRes);
+        }
+        overviewRes.setMilestoneList(milestoneList);
         //采购审批
         List<PurchasingApprovalQueryRes> purchasingApprovalList = new ArrayList<>();
+        LambdaQueryWrapper<PurchasingApproval> approvalWrapper=new LambdaQueryWrapper<>();
+        approvalWrapper.eq(PurchasingApproval::getProjectId,project.getId());
+        List<PurchasingApproval> approvals = purchasingApprovalMapper.selectList(approvalWrapper);
+        for (PurchasingApproval approval : approvals) {
+            PurchasingApprovalQueryRes approvalQueryRes = EntityUtils.copyProperties(approval, PurchasingApprovalQueryRes.class);
+            purchasingApprovalList.add(approvalQueryRes);
+        }
+        overviewRes.setPurchasingApprovalList(purchasingApprovalList);
         //项目需求
         List<DemandLibraryPageQueryRes> demandList = new ArrayList<>();
+        LambdaQueryWrapper<DemandLibrary> demandWrapper=new LambdaQueryWrapper<>();
+        demandWrapper.eq(DemandLibrary::getAssociatedProjectId,project.getId());
+        List<DemandLibrary> demandLibraries = demandLibraryMapper.selectList(demandWrapper);
+        for (DemandLibrary demandLibrary : demandLibraries) {
+            DemandLibraryPageQueryRes demandLibraryPageQueryRes = EntityUtils.copyProperties(demandLibrary, DemandLibraryPageQueryRes.class);
+            demandList.add(demandLibraryPageQueryRes);
+        }
+        overviewRes.setDemandList(demandList);
         //项目财务
         List<FinancesQueryRes> financesList = new ArrayList<>();
+        LambdaQueryWrapper<Finances> financesWrapper=new LambdaQueryWrapper<>();
+        financesWrapper.eq(Finances::getProjectId,project.getId());
+        List<Finances> finances = financesMapper.selectList(financesWrapper);
+        for (Finances finance : finances) {
+            FinancesQueryRes financesQueryRes = EntityUtils.copyProperties(finance, FinancesQueryRes.class);
+            financesList.add(financesQueryRes);
+        }
+        overviewRes.setFinancesList(financesList);
         //项目成员
         List<ProjectMemberQueryRes> projectMemberList = new ArrayList<>();
+        LambdaQueryWrapper<ProjectMember> memberWrapper=new LambdaQueryWrapper<>();
+        memberWrapper.eq(ProjectMember::getProjectId,project.getId());
+        List<ProjectMember> projectMembers = projectMemberMapper.selectList(memberWrapper);
+        for (ProjectMember projectMember : projectMembers) {
+            ProjectMemberQueryRes projectMemberQueryRes = EntityUtils.copyProperties(projectMember, ProjectMemberQueryRes.class);
+            projectMemberList.add(projectMemberQueryRes);
+        }
+        overviewRes.setProjectMemberList(projectMemberList);
         //档案管理
         List<ContractQueryRes> contractList = new ArrayList<>();
-
+        LambdaQueryWrapper<Contract> contractWrapper=new LambdaQueryWrapper<>();
+        contractWrapper.eq(Contract::getProjectId,project.getId());
+        List<Contract> contracts = contractMapper.selectList(contractWrapper);
+        for (Contract contract : contracts) {
+            ContractQueryRes contractQueryRes = EntityUtils.copyProperties(contract, ContractQueryRes.class);
+            contractList.add(contractQueryRes);
+        }
+        overviewRes.setContractList(contractList);
+        //评价
+        List<CompanyEvaluationQueryRes> companyEvaluationList=new ArrayList<>();
+        LambdaQueryWrapper<CompanyEvaluation> evaluationWrapper=new LambdaQueryWrapper<>();
+        evaluationWrapper.eq(CompanyEvaluation::getProjectId,project.getId());
+        List<CompanyEvaluation> companyEvaluations = companyEvaluationMapper.selectList(evaluationWrapper);
+        for (CompanyEvaluation companyEvaluation : companyEvaluations) {
+            CompanyEvaluationQueryRes companyEvaluationQueryRes = EntityUtils.copyProperties(companyEvaluation, CompanyEvaluationQueryRes.class);
+            companyEvaluationList.add(companyEvaluationQueryRes);
+        }
+        overviewRes.setCompanyEvaluationList(companyEvaluationList);
         return ResponseBuilder.ok(overviewRes);
     }
 }