jihs 4 years ago
parent
commit
9c60222154

+ 22 - 0
src/main/java/org/jeecg/common/dto/archives/ProArchivesMilestoneListReqDTO.java

@@ -0,0 +1,22 @@
+package org.jeecg.common.dto.archives;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel("项目档案商务信息里程碑列表参数请求")
+@Data
+public class ProArchivesMilestoneListReqDTO {
+    @ApiModelProperty("项目档案主表id")
+    private String proArchivesId;
+    @ApiModelProperty("计划类型 1.收款计划 2.回款情况 3.付款计划 4.付款情况")
+    private Integer planType;
+
+    public ProArchivesMilestoneListReqDTO() {
+    }
+
+    public ProArchivesMilestoneListReqDTO(String proArchivesId, Integer planType) {
+        this.proArchivesId = proArchivesId;
+        this.planType = planType;
+    }
+}

+ 25 - 0
src/main/java/org/jeecg/common/dto/archives/ProArchivesMilestoneListRespDTO.java

@@ -0,0 +1,25 @@
+package org.jeecg.common.dto.archives;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel("项目档案商务信息里程碑列表响应")
+@Data
+public class ProArchivesMilestoneListRespDTO {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("收付款条线id")
+    private String planId;
+    @ApiModelProperty("收付款条线名称")
+    private String planName;
+
+    public ProArchivesMilestoneListRespDTO() {
+    }
+
+    public ProArchivesMilestoneListRespDTO(String id, String planId, String planName) {
+        this.id = id;
+        this.planId = planId;
+        this.planName = planName;
+    }
+}

+ 2 - 9
src/main/java/org/jeecg/common/dto/basedata/ArchivesBusinessListReqDTO.java

@@ -7,15 +7,8 @@ import lombok.Data;
 @ApiModel("项目档案—商务收款计划请求参数")
 @Data
 public class ArchivesBusinessListReqDTO {
-    @ApiModelProperty("项目档案id")
-    private String id;
-    @ApiModelProperty("项目档案条线id")
-    private String planId;
-    @ApiModelProperty("计划类型 1.收款计划 2.回款情况 3.付款计划 4.付款情况")
-    private String planType;
-    @ApiModelProperty("组织")
-    private String pkOrg;
-
+    @ApiModelProperty("项目档案--里程碑id")
+    private String businessId;
 
     public ArchivesBusinessListReqDTO() {
     }

+ 37 - 2
src/main/java/org/jeecg/common/dto/report/ProStatisticsRespDTO.java

@@ -3,14 +3,15 @@ package org.jeecg.common.dto.report;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.jeecg.modules.archives.entity.ProjectManageArchivesAndBusiness;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 @ApiModel("项目档案计划列表查询")
 @Data
 public class ProStatisticsRespDTO {
     private String id;
-//    项目编码	项目名称	项目组成员	收付款条线编码	收付款条线名称	里程碑计划开始时间	里程碑实际开始时间	里程碑计划结束时间	里程碑实际结束时间	里程碑计划工时	里程碑实际工时	里程碑计划收款	里程碑开票金额	里程碑实际收款	里程碑计划付款	里程碑收票	里程碑实际付款
     @ApiModelProperty("项目名称")
     private String proName;
     @ApiModelProperty("项目编码")
@@ -33,6 +34,40 @@ public class ProStatisticsRespDTO {
     private Double mileDduration;
     @ApiModelProperty("里程碑计划实际工时")
     private Double mileRealDduration;
-    //里程碑计划收款	里程碑开票金额	里程碑实际收款	里程碑计划付款	里程碑收票	里程碑实际付款
+    @ApiModelProperty("里程碑计划收款")
+    private BigDecimal mileCoPlan;
+    @ApiModelProperty("里程碑开票金额")
+    private BigDecimal mileInvoice;
+    @ApiModelProperty("里程碑实际收款")
+    private BigDecimal mileRealCollecion;
+    @ApiModelProperty("里程碑计划付款")
+    private BigDecimal milePayPlan;
+    @ApiModelProperty("里程碑收票金额")
+    private String mileTicket;
+    @ApiModelProperty("里程碑实际付款")
+    private BigDecimal mileRealPayment;
 
+    public ProStatisticsRespDTO() {
+    }
+
+    public ProStatisticsRespDTO(ProjectManageArchivesAndBusiness business) {
+        this.id = business.getId();
+        this.proName = business.getPlanName();
+        this.proCode =  proCode;
+        this.proMember = proMember;
+        this.coArchivesCode = coArchivesCode;
+        this.coArchivesName = business.getPlanName();
+        this.mileStartDate = mileStartDate;
+        this.mileRealStartDate = mileRealStartDate;
+        this.mileEndDate = mileEndDate;
+        this.mileRealEndtDate = mileRealEndtDate;
+        this.mileDduration = mileDduration;
+        this.mileRealDduration = mileRealDduration;
+        this.mileCoPlan = mileCoPlan;
+        this.mileInvoice = mileInvoice;
+        this.mileRealCollecion = mileRealCollecion;
+        this.milePayPlan = milePayPlan;
+        this.mileTicket = mileTicket;
+        this.mileRealPayment = mileRealPayment;
+    }
 }

+ 47 - 23
src/main/java/org/jeecg/modules/archives/controller/ProjectManageArchivesController.java

@@ -14,6 +14,8 @@ import org.jeecg.common.dto.archives.ExpensePriceReqDTO;
 import org.jeecg.common.dto.archives.ExpensePriceRespDTO;
 import org.jeecg.common.dto.archives.ProArchivesAddReqDTO;
 import org.jeecg.common.dto.archives.ProArchivesAddRespDTO;
+import org.jeecg.common.dto.archives.ProArchivesMilestoneListReqDTO;
+import org.jeecg.common.dto.archives.ProArchivesMilestoneListRespDTO;
 import org.jeecg.common.dto.archives.ProPlanListReqDTO;
 import org.jeecg.common.dto.archives.ProPlanListRespDTO;
 import org.jeecg.common.dto.basedata.ArchivesBusinessListReqDTO;
@@ -338,15 +340,14 @@ public class ProjectManageArchivesController {
 		return result;
 	}
 
-	@ApiOperation(value = "项目档案—商务收款计划", notes = "根据主表id查询项目档案计划列表")
+	@ApiOperation(value = "根据主表id与类型查询商务里程碑信息收付款条线列表", notes = "根据主表id和类型查询商务信息收付款条线列表")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name="id", value="项目档案id",required=true, dataType="String"),
-			@ApiImplicitParam(name="planType", value="计划类型",required=true, dataType="String"),
-			@ApiImplicitParam(name="pkOrg", value="组织",required=true, dataType="String")
+			@ApiImplicitParam(name="proArchivesId", value="项目档案主表id",required=true, dataType="String"),
+			@ApiImplicitParam(name="planType", value="计划类型 1.收款计划 2.回款情况 3.付款计划 4.付款情况",required=true, dataType="String"),
 	})
-	@GetMapping(value = "/getBusinessList")
-	public Result<List<ArchivesBusinessListRespDTO>> getBusinessList(@Valid ArchivesBusinessListReqDTO reqDTO, BindingResult bindingResult) {
-		Result<List<ArchivesBusinessListRespDTO>> result = new Result<List<ArchivesBusinessListRespDTO>>();
+	@GetMapping(value = "/getLineList")
+	public Result<List<ProArchivesMilestoneListRespDTO>> get(@Valid ProArchivesMilestoneListReqDTO reqDTO, BindingResult bindingResult) {
+		Result<List<ProArchivesMilestoneListRespDTO>> result = new Result<List<ProArchivesMilestoneListRespDTO>>();
 		try {
 			StringBuilder sb = new StringBuilder();
 			if(bindingResult.hasErrors()) {
@@ -357,21 +358,48 @@ public class ProjectManageArchivesController {
 			}
 			QueryWrapper<ProjectManageArchivesAndBusiness> queryWrapper = new QueryWrapper<>();
 			queryWrapper.eq("del_flag", "0")
-					.eq("pro_archives_id", reqDTO.getId());
-			if(StringUtils.isNotBlank(reqDTO.getPlanType())){
-				queryWrapper.eq("plan_type", reqDTO.getPlanType());
-			}
-			if(StringUtils.isNotBlank(reqDTO.getPkOrg())){
-				queryWrapper.eq("pkOrg", reqDTO.getPkOrg());
+					.eq("pro_archives_id", reqDTO.getProArchivesId())
+					.eq("plan_type", reqDTO.getPlanType());
+			List<ProjectManageArchivesAndBusiness> list = projectManageArchivesAndBusinessService.list(queryWrapper);
+
+			List<ProArchivesMilestoneListRespDTO> respDTOS = Lists.newArrayList();
+			for(ProjectManageArchivesAndBusiness  business : list){
+				respDTOS.add(new ProArchivesMilestoneListRespDTO(business.getId(), business.getPlanId(), business.getPlanName()));
 			}
-			if(StringUtils.isNotBlank(reqDTO.getPlanId())){
-				queryWrapper.eq("plan_id", reqDTO.getPlanId());
+
+			result.setResult(respDTOS);
+			result.setSuccess(true);
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+			log.info(e.getMessage());
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+
+	@ApiOperation(value = "根据id商务里程碑信息", notes = "根据主表id查询项目档案商务收款计划里程碑相关数据")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name="businessId", value="项目档案里程碑信息表id",required=true, dataType="String"),
+	})
+	@GetMapping(value = "/getMileNameById")
+	public Result<List<ArchivesBusinessListRespDTO>> getBusinessList(@Valid ArchivesBusinessListReqDTO reqDTO, BindingResult bindingResult) {
+		Result<List<ArchivesBusinessListRespDTO>> result = new Result<List<ArchivesBusinessListRespDTO>>();
+		try {
+			StringBuilder sb = new StringBuilder();
+			if(bindingResult.hasErrors()) {
+				//记录错误信息
+				bindingResult.getAllErrors().stream().forEach(error -> sb.append(error.getDefaultMessage() + "<br/>"));
+				result.error500(sb.toString());
+				return result;
 			}
-			    queryWrapper.orderByAsc("sort");
-			    List<ProjectManageArchivesAndBusiness> list = projectManageArchivesAndBusinessService.list(queryWrapper);
+			QueryWrapper<ProjectManageArchivesAndBusiness> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("del_flag", "0")
+					.eq("id", reqDTO.getBusinessId());
+			    ProjectManageArchivesAndBusiness business = projectManageArchivesAndBusinessService.getOne(queryWrapper);
 			    List<ArchivesBusinessListRespDTO> respDTOS = Lists.newArrayList();
-                if(!CollectionUtils.isEmpty(list)){
-					ProjectManageArchivesAndBusiness business = list.get(0);
+                if(business != null){
 					if(StringUtils.isNotBlank(business.getMileId1())){
 						respDTOS.add(new ArchivesBusinessListRespDTO(business.getId(), business.getMileId1(), business.getMilestone1(), business.getPrice1()));
 					}
@@ -389,8 +417,6 @@ public class ProjectManageArchivesController {
 						respDTOS.add(new ArchivesBusinessListRespDTO(business.getId(), business.getMileId5(), business.getMilestone5(), business.getPrice5()));
 					}
 				}
-
-
 				result.setResult(respDTOS);
 				result.setSuccess(true);
 		}
@@ -402,8 +428,6 @@ public class ProjectManageArchivesController {
 		return result;
 	}
 
-
-
 	/**
 	 * @desc 将计划列表转成树状结构
 	 */

+ 2 - 2
src/main/java/org/jeecg/modules/archives/entity/ProjectManageArchivesAndBusiness.java

@@ -29,9 +29,9 @@ public class ProjectManageArchivesAndBusiness implements Serializable {
     private String proArchivesId;
     @ApiModelProperty("计划类型 1.收款计划 2.回款情况 3.付款计划 4.付款情况")
     private Integer planType;
-    @ApiModelProperty("计划id")
+    @ApiModelProperty("收付款条线id")
     private String planId;
-    @ApiModelProperty("计划名称")
+    @ApiModelProperty("收付款条线名称")
     private String planName;
     @ApiModelProperty("第一笔")
     private BigDecimal price1;

+ 4 - 5
src/main/java/org/jeecg/modules/report/controller/ProReportController.java

@@ -11,6 +11,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.dto.report.CostAccountingReqDTO;
 import org.jeecg.common.dto.report.CostAccountingRespDTO;
+import org.jeecg.common.dto.report.ProStatisticsRespDTO;
 import org.jeecg.modules.report.service.ProReportService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.FileSystemResource;
@@ -70,14 +71,12 @@ public class ProReportController {
         return result;
     }
 
-
-
     @ApiModelProperty("项目情况统计表")
     @GetMapping("/getProStatistics")
-    public Result<List<CostAccountingRespDTO> > getProStatistics(CostAccountingReqDTO reqDTO) {
-        Result<List<CostAccountingRespDTO>> result = new Result<>();
+    public Result<List<ProStatisticsRespDTO> > getProStatistics(CostAccountingReqDTO reqDTO) {
+        Result<List<ProStatisticsRespDTO>> result = new Result<>();
         try {
-            List<CostAccountingRespDTO> respDTOS = proReportService.getProStatistics(reqDTO);
+            List<ProStatisticsRespDTO> respDTOS = proReportService.getProStatistics(reqDTO);
             result.setResult(respDTOS);
             result.setSuccess(true);
         }catch (Exception e){

+ 2 - 1
src/main/java/org/jeecg/modules/report/mapper/ProReportMapper.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.report.mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.jeecg.common.dto.report.CostAccountingReqDTO;
 import org.jeecg.common.dto.report.CostAccountingRespDTO;
+import org.jeecg.common.dto.report.ProStatisticsRespDTO;
 import java.util.List;
 
  /**
@@ -15,4 +16,4 @@ public interface ProReportMapper {
      * @desc 获取成本核算数据
      */
     List<CostAccountingRespDTO> getCostAccountingData(CostAccountingReqDTO reqDTO);
-}
+ }

+ 2 - 1
src/main/java/org/jeecg/modules/report/service/ProReportService.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.report.service;
 
 import org.jeecg.common.dto.report.CostAccountingReqDTO;
 import org.jeecg.common.dto.report.CostAccountingRespDTO;
+import org.jeecg.common.dto.report.ProStatisticsRespDTO;
 import java.util.List;
 
 /**
@@ -16,5 +17,5 @@ public interface ProReportService {
     /**
      * @desc 项目情况统计表
      */
-    List<CostAccountingRespDTO> getProStatistics(CostAccountingReqDTO reqDTO);
+    List<ProStatisticsRespDTO> getProStatistics(CostAccountingReqDTO reqDTO);
 }

+ 31 - 2
src/main/java/org/jeecg/modules/report/service/impl/ProReportServiceImpl.java

@@ -1,7 +1,14 @@
 package org.jeecg.modules.report.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Lists;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.dto.report.CostAccountingReqDTO;
 import org.jeecg.common.dto.report.CostAccountingRespDTO;
+import org.jeecg.common.dto.report.ProStatisticsRespDTO;
+import org.jeecg.modules.archives.entity.ProjectManageArchives;
+import org.jeecg.modules.archives.entity.ProjectManageArchivesAndBusiness;
+import org.jeecg.modules.archives.service.ProjectManageArchivesAndBusinessService;
 import org.jeecg.modules.archives.service.ProjectManageArchivesService;
 import org.jeecg.modules.report.mapper.ProReportMapper;
 import org.jeecg.modules.report.service.ProReportService;
@@ -19,6 +26,8 @@ public class ProReportServiceImpl implements ProReportService {
     @Autowired
     private ProjectManageArchivesService projectManageArchivesService;
     @Autowired
+    private ProjectManageArchivesAndBusinessService projectManageArchivesAndBusinessService;
+    @Autowired
     private ProReportMapper proReportMapper;
 
     /**
@@ -41,9 +50,29 @@ public class ProReportServiceImpl implements ProReportService {
       * @desc 项目情况统计表
       */
      @Override
-     public List<CostAccountingRespDTO> getProStatistics(CostAccountingReqDTO reqDTO) {
-//         proReportMapper.getProStatistics(reqDTO)
+     public List<ProStatisticsRespDTO> getProStatistics(CostAccountingReqDTO reqDTO) {
+         QueryWrapper<ProjectManageArchives> queryWrapper = new QueryWrapper();
+         queryWrapper.eq("del_flag", "0").eq("id", reqDTO.getId());
+         if(StringUtils.isNotBlank(reqDTO.getPkOrg())){
+             queryWrapper.eq("pk_org", reqDTO.getPkOrg());
+         }
+
+         ProjectManageArchives projectManageArchives = projectManageArchivesService.getOne(queryWrapper);
+
+         List<ProStatisticsRespDTO> respDTOS = getProStatisticsData(projectManageArchives);
          return null;
      }
+
+     private List<ProStatisticsRespDTO> getProStatisticsData(ProjectManageArchives projectManageArchives) {
+         QueryWrapper<ProjectManageArchivesAndBusiness> queryWrapper = new QueryWrapper<>();
+         queryWrapper.eq("del_flag", "0")
+                 .eq("pro_archives_id", projectManageArchives.getId());
+         List<ProjectManageArchivesAndBusiness> list = projectManageArchivesAndBusinessService.list(queryWrapper);
+         List<ProStatisticsRespDTO> respDTOS = Lists.newArrayList();
+         for(ProjectManageArchivesAndBusiness business : list){
+             respDTOS.add(new ProStatisticsRespDTO(business));
+         }
+         return respDTOS;
+     }
  }