ljy121 1 year ago
parent
commit
ff3d2c8cd2

+ 2 - 2
zjugis-business/src/main/java/com/zjugis/business/bean/entity/Project.java

@@ -109,13 +109,13 @@ public class Project extends BaseEntity {
 
     @TableField(exist = false)
     private BigDecimal receivableAmount;
-
     @TableField(exist = false)
     private BigDecimal contractBalance;
+    @TableField(exist = false)
+    private BigDecimal projectCost;
     // 预估合同额
     private BigDecimal planContractAmount;
     //总成本
-    private BigDecimal projectCost;
 //总产值
     private BigDecimal outputValue;
 //分成系数

+ 4 - 7
zjugis-business/src/main/resources/mapper/oracle/ProjectMapper.xml

@@ -5,7 +5,7 @@
 
 
     <select id="calculate" resultType="com.zjugis.business.bean.response.ProjectCalculateResponse">
-        SELECT NVL(SUM(NVL(PROJECT_COST, 0)), 0) as cost,NVL(SUM(NVL(OUTPUT_VALUE, 0)), 0) as output
+        SELECT NVL(SUM(NVL(OUTPUT_VALUE, 0)), 0) as output
         FROM project
     </select>
 
@@ -23,19 +23,16 @@
     </select>
 
     <select id="page" resultType="com.zjugis.business.bean.entity.Project">
-        SELECT P.*,D.NAME as zrbm
+        SELECT P.*,D.NAME as zrbm,PA.RECEIVABLE_AMOUNT,PA.CONTRACT_BALANCE,PA.PROJECT_COST
         <if test="params != null and params.isRelContract != null and params.isRelContract == 1">
-            ,
-            (CASE WHEN (CH.ccount >0 or P.FLOW_STATUS = 99)  then P.OUTPUT_VALUE
-             ELSE C.contractAmount end
-            ) as contractAmount
             ,C.contractNumber as contractNumber
         </if>
         FROM PROJECT P
+        LEFT JOIN PROJECT_AMOUNT PA ON PA.PROJECT_ID = P.ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_DEPT D ON D.ID = P.ZRBM_ID
         <if test="params != null and params.isRelContract != null and params.isRelContract == 1">
             LEFT JOIN (SELECT PID,count(1) as ccount FROM PROJECT WHERE FLOW_STATUS = 99 GROUP BY PID) CH ON CH.PID = P.ID
-            LEFT JOIN(SELECT PROJECT_ID,NVL(SUM(NVL(CONTRACT_AMOUNT,0)),0) as contractAmount,max(CONTRACT_NUMBER) as contractNumber FROM  CONTRACT where FLOW_STATUS in (90,99) GROUP BY PROJECT_ID) C ON C.PROJECT_ID = P.ID
+            LEFT JOIN(SELECT PROJECT_ID,max(CONTRACT_NUMBER) as contractNumber FROM  CONTRACT where FLOW_STATUS in (90,99) GROUP BY PROJECT_ID) C ON C.PROJECT_ID = P.ID
         </if>
         <if test="params != null and params.userId != null  and params.userId != ''">
             LEFT JOIN PROJECT_WORKER_RELATION PW ON PW.PROJECT_ID = P.ID