Forráskód Böngészése

首页成本情况

ljy121 1 éve
szülő
commit
9b537f8e45

+ 0 - 26
zjugis-business/src/main/java/com/zjugis/business/bean/dto/AmountDto.java

@@ -1,26 +0,0 @@
-package com.zjugis.business.bean.dto;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author ljy
- * @version 1.0
- * @date 2024/3/6 9:26
- */
-@Data
-public class AmountDto {
-
-    private String projectId;
-
-    private BigDecimal contractAmount;
-
-    private BigDecimal invoiceAmount;
-
-    private BigDecimal returnAmount;
-
-    private BigDecimal receivableAmount;
-
-    private BigDecimal contractBalance;
-}

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/response/ContractInfoResp.java

@@ -23,4 +23,10 @@ public class ContractInfoResp {
     private BigDecimal subToPay;
 
     private BigDecimal outToPay;
+
+    private BigDecimal paymentCost;
+
+    private BigDecimal reimbursementCost;
+
+    private BigDecimal travelCost;
 }

+ 4 - 0
zjugis-business/src/main/java/com/zjugis/business/mapper/ProjectAmountMapper.java

@@ -1,7 +1,9 @@
 package com.zjugis.business.mapper;
 
 import com.zjugis.business.bean.dto.ParentDto;
+import com.zjugis.business.bean.dto.ProjectDto;
 import com.zjugis.business.bean.entity.ProjectAmount;
+import com.zjugis.business.bean.response.ContractInfoResp;
 import com.zjugis.framework.mybatis.core.mapper.BaseMapperX;
 import org.apache.ibatis.annotations.Param;
 
@@ -19,4 +21,6 @@ public interface ProjectAmountMapper extends BaseMapperX<ProjectAmount> {
     List<ParentDto> selectInsertIds();
 
     List<ProjectAmount> selectAmountList(@Param("ids") List<String> projectIds);
+
+    ContractInfoResp selectCostSum(@Param("params") ProjectDto dto);
 }

+ 4 - 0
zjugis-business/src/main/java/com/zjugis/business/service/ProjectAmountService.java

@@ -1,7 +1,9 @@
 package com.zjugis.business.service;
 
 import com.zjugis.business.bean.dto.ParentDto;
+import com.zjugis.business.bean.dto.ProjectDto;
 import com.zjugis.business.bean.entity.ProjectAmount;
+import com.zjugis.business.bean.response.ContractInfoResp;
 
 import java.util.List;
 
@@ -30,4 +32,6 @@ public interface ProjectAmountService {
     List<ParentDto> selectInsertIds();
 
     List<ProjectAmount> selectAmountList(List<String> projectIds);
+
+    ContractInfoResp selectCostSum(ProjectDto projectAmountDto);
 }

+ 7 - 4
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractServiceImpl.java

@@ -3,10 +3,7 @@ package com.zjugis.business.service.impl;
 import com.alibaba.excel.util.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.zjugis.business.bean.dto.ContractApplyDto;
-import com.zjugis.business.bean.dto.ContractApplyToPayDto;
-import com.zjugis.business.bean.dto.ContractDto;
-import com.zjugis.business.bean.dto.ContractMessageDto;
+import com.zjugis.business.bean.dto.*;
 import com.zjugis.business.bean.entity.Contract;
 import com.zjugis.business.bean.entity.Project;
 import com.zjugis.business.bean.entity.ProjectAmount;
@@ -187,8 +184,10 @@ public class ContractServiceImpl implements ContractService{
         DeptDataPermissionRespDTO deptPermissions = deptDataPermissionRes.getCheckedData();
         ContractMessageDto dto = new ContractMessageDto();
         ContractApplyDto applyDto = new ContractApplyDto();
+        ProjectDto projectAmountDto = new ProjectDto();
         if(!deptPermissions.getAll()){
             dto.setDeptIds(deptPermissions.getDeptIds());
+            projectAmountDto.setDeptIds(deptPermissions.getDeptIds());
             applyDto.setDeptIds(deptPermissions.getDeptIds());
         }
         if(infoRequest.getYear() != null) {
@@ -205,6 +204,10 @@ public class ContractServiceImpl implements ContractService{
         resp.setNetAmount(resp.getSignAmount().subtract(yearDto.getSubAmount()));
         resp.setSubToPay(subToPayDto.getSubToPay());
         resp.setOutToPay(subToPayDto.getOutToPay());
+        ContractInfoResp cost =  projectAmountService.selectCostSum(projectAmountDto);
+        resp.setPaymentCost(cost.getPaymentCost());
+        resp.setReimbursementCost(cost.getReimbursementCost());
+        resp.setTravelCost(cost.getTravelCost());
         return resp;
     }
 

+ 11 - 0
zjugis-business/src/main/java/com/zjugis/business/service/impl/ProjectAmountServiceImpl.java

@@ -1,8 +1,10 @@
 package com.zjugis.business.service.impl;
 
 import com.zjugis.business.bean.dto.ParentDto;
+import com.zjugis.business.bean.dto.ProjectDto;
 import com.zjugis.business.bean.entity.ContractInvoiceRelation;
 import com.zjugis.business.bean.entity.ProjectAmount;
+import com.zjugis.business.bean.response.ContractInfoResp;
 import com.zjugis.business.mapper.ProjectAmountMapper;
 import com.zjugis.business.service.ContractInvoiceRelationService;
 import com.zjugis.business.service.ContractService;
@@ -111,4 +113,13 @@ public class ProjectAmountServiceImpl implements ProjectAmountService {
         }
         return res;
     }
+
+    /**
+     * @param
+     * @return
+     */
+    @Override
+    public ContractInfoResp selectCostSum(ProjectDto dto) {
+        return projectAmountMapper.selectCostSum(dto);
+    }
 }

+ 17 - 0
zjugis-business/src/main/resources/mapper/oracle/ProjectAmountMapper.xml

@@ -36,4 +36,21 @@
     <select id="selectInsertIds" resultType="com.zjugis.business.bean.dto.ParentDto">
         SELECT ID,PID FROM PROJECT WHERE ISVALID = 1 AND FLOW_STATUS IN (90,99) AND ID NOT IN (SELECT PROJECT_ID FROM PROJECT_AMOUNT)
     </select>
+
+    <select id="selectCostSum" resultType="com.zjugis.business.bean.response.ContractInfoResp">
+        select COALESCE(SUM(COALESCE(t.PAYMENT_COST,0)),0) AS paymentCost,
+        COALESCE(SUM(COALESCE(t.REIMBURSEMENT,0)),0) AS reimbursementCost,
+        COALESCE(SUM(COALESCE(t.TRAVEL_COST,0)),0) AS travelCost
+        FROM PROJECT_AMOUNT t
+        RIGHT JOIN PROJECT t1 on t1.ID = t.PROJECT_ID
+        <where>
+            t1.ISVALID = 1 AND t1.FLOW_STATUS = 90
+            <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+                AND t1.ZRBM_ID in
+                <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>