浏览代码

兰兰 李超的管理消耗修改

zxa 2 年之前
父节点
当前提交
545eb2ced5

+ 4 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouOperationReportMapper.java

@@ -30,11 +30,13 @@ public interface KuaishouOperationReportMapper extends BaseMapper<KuaishouOperat
 
     Set<JSONObject> getKsQuarterlyOnJobOperatorsCharge(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 
+    List<String> getManagers(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 
-    BigDecimal getManageChargeCommission(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
+    BigDecimal getManageChargeCommission(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 
     Set<JSONObject> getTtQuarterlyOnJobOperatorsCharge(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 
-    BigDecimal getTtManageChargeCommission(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
+    BigDecimal getTtManageChargeCommission(@Param("userIds") List<String> userIds, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 
+    List<String> getTtManagers(@Param("userId") String userId, @Param("startDate") Integer startDate, @Param("endDate") Integer endDate);
 }

+ 69 - 33
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouOperationReportMapper.xml

@@ -222,48 +222,84 @@
     <select id="getManageChargeCommission" resultType="java.math.BigDecimal">
         SELECT IFNULL(ROUND(t1.totalCharge - t2.JLCharge - t2.KFCharge, 3), 0.0)
         FROM (
-                 SELECT SUM(charge) AS 'totalCharge'
-                 FROM application.kuaishou_operation_performance_base
-                 WHERE leader_id = #{userId}
-                   AND user_id NOT IN (
-                     SELECT assistant_id
-                     FROM sys_operate_rel
-                     WHERE operate_id = #{userId}
-                       AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
-                       AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
-                 )
-                   AND stat_date >= #{startDate}
-                   AND stat_date &lt;= #{endDate}
-             ) t1
-                 LEFT JOIN (
-            SELECT SUM(contract_rebate_real_charged_in_yuan) as 'KFCharge', SUM(direct_rebate_real_charged_in_yuan) as
+        SELECT SUM(charge) AS 'totalCharge'
+        FROM application.kuaishou_operation_performance_base
+        WHERE leader_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND user_id NOT IN (
+        SELECT assistant_id
+        FROM sys_operate_rel
+        WHERE operate_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
+        AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
+        )
+        AND stat_date >= #{startDate}
+        AND stat_date &lt;= #{endDate}
+        ) t1
+        LEFT JOIN (
+        SELECT SUM(contract_rebate_real_charged_in_yuan) as 'KFCharge', SUM(direct_rebate_real_charged_in_yuan) as
         'JLCharge'
-            FROM application.kuaishou_operation_performance_back_charge_base
-            WHERE leader_id = #{userId}
-              AND user_id NOT IN (
-                SELECT assistant_id
-                FROM sys_operate_rel
-                WHERE operate_id = #{userId}
-                  AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
-                  AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
-            )
-              AND stat_date >= #{startDate}
-              AND stat_date &lt;= #{endDate}
+        FROM application.kuaishou_operation_performance_back_charge_base
+        WHERE leader_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND user_id NOT IN (
+        SELECT assistant_id
+        FROM sys_operate_rel
+        WHERE operate_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
+        AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
+        )
+        AND stat_date >= #{startDate}
+        AND stat_date &lt;= #{endDate}
         ) t2 ON 1 = 1
     </select>
 
     <select id="getTtManageChargeCommission" resultType="java.math.BigDecimal">
         SELECT IFNULL(ROUND(SUM(cost), 3), 0.0)
         FROM application.bytedance_operation_performance_base
-        WHERE leader_id = #{userId}
-          AND user_id NOT IN (
-            SELECT assistant_id
-            FROM sys_operate_rel
-            WHERE operate_id = #{userId}
-              AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
-              AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
+        WHERE leader_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND user_id NOT IN (
+        SELECT assistant_id
+        FROM sys_operate_rel
+        WHERE operate_id in
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+        AND stat_month >= DATE_FORMAT(#{startDate}, '%Y-%m')
+        AND stat_month &lt;= DATE_FORMAT(#{endDate}, '%Y-%m')
         )
+        AND stat_date >= #{startDate}
+        AND stat_date &lt;= #{endDate}
+    </select>
+
+    <select id="getTtManagers" resultType="java.math.BigDecimal">
+        SELECT user_id
+        FROM application.bytedance_operation_performance_base
+        WHERE leader_id = #{userId}
+          AND stat_date >= #{startDate}
+          AND stat_date &lt;= #{endDate}
+        GROUP BY user_id
+    </select>
+
+    <select id="getManagers" resultType="java.math.BigDecimal">
+        SELECT user_id
+        FROM application.kuaishou_operation_performance_base
+        WHERE leader_id = #{userId}
           AND stat_date >= #{startDate}
           AND stat_date &lt;= #{endDate}
+        GROUP BY user_id
     </select>
 </mapper>

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

@@ -544,15 +544,23 @@ public class KuaishouOperationReportServiceImpl extends ServiceImpl<KuaishouOper
             String roleName = datum.getString("roleName");
             if (roleName.contains("经理")) {
                 BigDecimal managenCharge = null;
-                if ("off".equals(type)) {
-                    managenCharge = baseMapper.getTtManageChargeCommission(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(DateUtils.formatDate(datum.getString("quitTime"), "yyyy-MM-dd")));
+                //兰兰和李超 就这俩人定制化
+                if ("461857c245f54ba5813bcb5900a23092".equals(userId) ||
+                        "f6a6843879c949618e4a859140c8a127".equals(userId)) {
+                    List<String> managers = baseMapper.getTtManagers(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    managenCharge = baseMapper.getTtManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    managenCharge.add(baseMapper.getTtManageChargeCommission(managers, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate"))));
                 } else {
-                    if (Check.isNull(monthCount) || monthCount == 3) {
-                        managenCharge = baseMapper.getTtManageChargeCommission(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
-                    } else if (monthCount == 2) {
-                        managenCharge = baseMapper.getTtManageChargeCommission(userId, dates.getInteger("startDate2"), DateUtils.getDateInteger(dateMap.get("endDate")));
-                    } else if (monthCount == 1) {
-                        managenCharge = baseMapper.getTtManageChargeCommission(userId, dates.getInteger("startDate3"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    if ("off".equals(type)) {
+                        managenCharge = baseMapper.getTtManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(DateUtils.formatDate(datum.getString("quitTime"), "yyyy-MM-dd")));
+                    } else {
+                        if (Check.isNull(monthCount) || monthCount == 3) {
+                            managenCharge = baseMapper.getTtManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        } else if (monthCount == 2) {
+                            managenCharge = baseMapper.getTtManageChargeCommission(Arrays.asList(userId), dates.getInteger("startDate2"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        } else if (monthCount == 1) {
+                            managenCharge = baseMapper.getTtManageChargeCommission(Arrays.asList(userId), dates.getInteger("startDate3"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        }
                     }
                 }
                 //季度管理消耗
@@ -1131,15 +1139,23 @@ public class KuaishouOperationReportServiceImpl extends ServiceImpl<KuaishouOper
             String roleName = datum.getString("roleName");
             if (roleName.contains("经理")) {
                 BigDecimal managenCharge = null;
-                if ("off".equals(type)) {
-                    managenCharge = baseMapper.getManageChargeCommission(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(DateUtils.formatDate(datum.getString("quitTime"), "yyyy-MM-dd")));
+                //兰兰和李超 就这俩人定制化
+                if ("461857c245f54ba5813bcb5900a23092".equals(userId) ||
+                        "f6a6843879c949618e4a859140c8a127".equals(userId)) {
+                    List<String> managers = baseMapper.getManagers(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    managenCharge = baseMapper.getManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    managenCharge.add(baseMapper.getManageChargeCommission(managers, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate"))));
                 } else {
-                    if (Check.isNull(monthCount) || monthCount == 3) {
-                        managenCharge = baseMapper.getManageChargeCommission(userId, DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
-                    } else if (monthCount == 2) {
-                        managenCharge = baseMapper.getManageChargeCommission(userId, dates.getInteger("startDate2"), DateUtils.getDateInteger(dateMap.get("endDate")));
-                    } else if (monthCount == 1) {
-                        managenCharge = baseMapper.getManageChargeCommission(userId, dates.getInteger("startDate3"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                    if ("off".equals(type)) {
+                        managenCharge = baseMapper.getManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(DateUtils.formatDate(datum.getString("quitTime"), "yyyy-MM-dd")));
+                    } else {
+                        if (Check.isNull(monthCount) || monthCount == 3) {
+                            managenCharge = baseMapper.getManageChargeCommission(Arrays.asList(userId), DateUtils.getDateInteger(dateMap.get("startDate")), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        } else if (monthCount == 2) {
+                            managenCharge = baseMapper.getManageChargeCommission(Arrays.asList(userId), dates.getInteger("startDate2"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        } else if (monthCount == 1) {
+                            managenCharge = baseMapper.getManageChargeCommission(Arrays.asList(userId), dates.getInteger("startDate3"), DateUtils.getDateInteger(dateMap.get("endDate")));
+                        }
                     }
                 }
                 //季度管理消耗