소스 검색

Merge remote-tracking branch 'origin/master'

ljy121 1 년 전
부모
커밋
e91bdcba3f

+ 25 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/controller/vo/UseMoneyTypeRespVO.java

@@ -0,0 +1,25 @@
+package com.zjugis.business.flow.usemoney.controller.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/1/9 15:41
+ * @Version 1.0
+ */
+@Data
+public class UseMoneyTypeRespVO extends UseMoneyBaseVO {
+
+    @Schema(description = "项目id")
+    private String projectId;
+    @Schema(description = "分包费用")
+    private BigDecimal subAmount;
+    @Schema(description = "外包费用")
+    private BigDecimal outAmount;
+    @Schema(description = "其他费用")
+    private BigDecimal otherAmount;
+}

+ 3 - 4
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/dao/UseMoneyDao.java

@@ -1,10 +1,7 @@
 package com.zjugis.business.flow.usemoney.dao;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.zjugis.business.flow.usemoney.controller.vo.UseMoneyEarnestRespVO;
-import com.zjugis.business.flow.usemoney.controller.vo.UseMoneyOverviewVO;
-import com.zjugis.business.flow.usemoney.controller.vo.UseMoneyPageReqVO;
-import com.zjugis.business.flow.usemoney.controller.vo.UseMoneyRespVO;
+import com.zjugis.business.flow.usemoney.controller.vo.*;
 import com.zjugis.business.flow.usemoney.entity.UseMoneyDO;
 import com.zjugis.framework.common.pojo.PageResult;
 import com.zjugis.framework.mybatis.core.mapper.BaseMapperX;
@@ -88,4 +85,6 @@ public interface UseMoneyDao extends BaseMapperX<UseMoneyDO> {
     UseMoneyOverviewVO getUseMoneyOverviewHx(@Param("params")UseMoneyPageReqVO pageReqVO);
 
     List<String> getAllIdByProject(String project);
+
+    UseMoneyTypeRespVO getDataByProject(String project);
 }

+ 3 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/service/UseMoneyService.java

@@ -6,6 +6,7 @@ import com.zjugis.business.flow.usemoney.controller.vo.*;
 import com.zjugis.business.flow.usemoney.entity.UseMoneyDO;
 import com.zjugis.framework.common.pojo.PageResult;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -97,4 +98,6 @@ public interface UseMoneyService {
     Integer getCount(UseMoneyDO entity);
 
     UseMoneyRespVO flowAdd(String flowInstanceId, String userId);
+
+    List<UseMoneyTypeRespVO> getDataByProject(List<String> projectId);
 }

+ 13 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/service/UseMoneyServiceImpl.java

@@ -749,4 +749,17 @@ public class UseMoneyServiceImpl implements UseMoneyService {
         }
         return null;
     }
+
+    @Override
+    public List<UseMoneyTypeRespVO> getDataByProject(List<String> projectId) {
+        UseMoneyPageReqVO pageReqVO=new UseMoneyPageReqVO();
+        pageReqVO.setProjectId(projectId);
+        List<UseMoneyTypeRespVO> result=new ArrayList<UseMoneyTypeRespVO>();
+        for(String pid:projectId){
+            UseMoneyTypeRespVO useMoneyTypeRespVO = useMoneyDao.getDataByProject(pid);
+            useMoneyTypeRespVO.setProjectId(pid);
+            result.add(useMoneyTypeRespVO);
+        }
+        return result;
+    }
 }

+ 13 - 0
zjugis-business/src/main/resources/mapper/oracle/UseMoneyMapper.xml

@@ -221,4 +221,17 @@
             and (t1.PROJECT_ID=#{project} or t2.PROJECT_ID=#{project})
         </where>
     </select>
+    <select id="getDataByProject" resultType="com.zjugis.business.flow.usemoney.controller.vo.UseMoneyTypeRespVO">
+        SELECT
+        sum(case when t1.COST_TYPE ='0101' or t1.COST_TYPE ='0102' then t1.AMOUNT else 0  end ) as subAmount,
+        sum(case when t1.COST_TYPE ='03'  then t1.AMOUNT else 0  end ) as outAmount,
+        sum(case when t1.COST_TYPE !='03' and  t1.COST_TYPE !='0101' and t1.COST_TYPE !='0102' then t1.AMOUNT else 0  end ) as otherAmount
+        from
+        WF_USE_MONEY_DETAIL T1
+        LEFT JOIN WF_USE_MONEY T2 ON T1.USE_MONEY_ID = T2.ID
+        <where>
+            T1.ISVALID = 1 and T2.FLOW_STATUS=90 AND T2.ISVALID = 1
+            and (t1.PROJECT_ID=#{project} or t2.PROJECT_ID=#{project})
+        </where>
+    </select>
 </mapper>