Browse Source

运营绩效功能,优化问题

zhaoxian 2 years ago
parent
commit
94650252a1

+ 20 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/AccountCompensationMapper.xml

@@ -20,6 +20,26 @@
         </foreach>
         AND t3.media_id = #{mediaId}
         GROUP BY t1.user_id
+        UNION
+        SELECT
+        t1.user_id as 'userId',
+        t2.realname as 'userName',
+        t.role_name as 'roleName',
+        t.role_code as 'roleCode',
+        t4.company_name as 'companyName'
+        FROM `sys_role` t
+        LEFT JOIN sys_user_role t1 ON t.id = t1.role_id
+        LEFT JOIN sys_user t2 ON t1.user_id = t2.id
+        LEFT JOIN ctop_transfer_account t5 ON t1.user_id = t5.transferor
+        LEFT JOIN ctop_user_allocation t3 ON t3.account_id = t5.account_id
+        LEFT JOIN user_company t4 on t4.user_id = t1.user_id
+        WHERE  t.role_code in
+        <foreach collection="roleCode" item="roleCode" separator="," open="(" close=")">
+            #{roleCode}
+        </foreach>
+        AND t3.media_id = #{mediaId}
+        GROUP BY t1.user_id
+
     </select>
 
     <select id="getCompMoney" resultType="java.math.BigDecimal">

+ 21 - 5
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouOperationReportServiceImpl.java

@@ -497,10 +497,18 @@ public class KuaishouOperationReportServiceImpl extends ServiceImpl<KuaishouOper
                 //发放系数
                 datum.put("paySalaryRatio", userEntity.getPaySalaryRatio());
                 //最终发放金额
-                datum.put("finalPutMoney", new BigDecimal(userEntity.getPaySalaryRatio()).multiply(putMoney).setScale(3, BigDecimal.ROUND_HALF_UP));
+                if ("是".equals(datum.getString("paySalary"))) {
+                    datum.put("finalPutMoney", new BigDecimal(userEntity.getPaySalaryRatio()).multiply(putMoney).setScale(3, BigDecimal.ROUND_HALF_UP));
+                } else {
+                    datum.put("finalPutMoney", 0.0);
+                }
             } else {
                 datum.put("paySalaryRatio", 1);
-                datum.put("finalPutMoney", putMoney);
+                if ("是".equals(datum.getString("paySalary"))) {
+                    datum.put("finalPutMoney", putMoney);
+                } else {
+                    datum.put("finalPutMoney", 0.0);
+                }
             }
         }
     }
@@ -978,11 +986,19 @@ public class KuaishouOperationReportServiceImpl extends ServiceImpl<KuaishouOper
             if (!Check.isNull(userEntity) && !Check.isNull(userEntity.getPaySalaryRatio())) {
                 //发放系数
                 datum.put("paySalaryRatio", userEntity.getPaySalaryRatio());
-                //最终发放金额
-                datum.put("finalPutMoney", new BigDecimal(userEntity.getPaySalaryRatio()).multiply(putMoney).setScale(3, BigDecimal.ROUND_HALF_UP));
+                if ("是".equals(datum.getString("paySalary"))) {
+                    //最终发放金额
+                    datum.put("finalPutMoney", new BigDecimal(userEntity.getPaySalaryRatio()).multiply(putMoney).setScale(3, BigDecimal.ROUND_HALF_UP));
+                } else {
+                    datum.put("finalPutMoney", 0.0);
+                }
             } else {
                 datum.put("paySalaryRatio", 1);
-                datum.put("finalPutMoney", putMoney);
+                if ("是".equals(datum.getString("paySalary"))) {
+                    datum.put("finalPutMoney", putMoney);
+                } else {
+                    datum.put("finalPutMoney", 0.0);
+                }
             }
         }
     }