|
@@ -402,5 +402,43 @@
|
|
|
<include refid="assetsPerformanceDeductionByUserQuery" />
|
|
|
</select>
|
|
|
|
|
|
+ <!--评估部效率查询-->
|
|
|
+ <select id="getAssetsEvaluateDepEfficiencyVO" resultType="com.dayou.vo.AssetsEvaluateDepEfficiencyVO">
|
|
|
+ SELECT department.id AS departmentId,
|
|
|
+ department.name AS departmentName,
|
|
|
+ (SELECT COUNT(assets.id) FROM assets WHERE deleted = 0 AND assets.created BETWEEN #{dto.startTime} AND #{dto.endTime} AND department_id = department.id) AS currentPeriodOrderVolume,
|
|
|
+ (SELECT COUNT(assets.id) FROM assets WHERE deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL 1 YEAR) AND DATE_SUB(#{dto.endTime}, INTERVAL 1 YEAR) AND department_id = department.id) AS YoYOrderVolume,
|
|
|
+ (SELECT COUNT(assets.id) FROM assets WHERE deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND DATE_SUB(#{dto.endTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND department_id = department.id) AS QoQOrderVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type = 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN #{dto.startTime} AND #{dto.endTime} AND department_id = department.id) AS currentPeriodStatementVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type = 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL 1 YEAR) AND DATE_SUB(#{dto.endTime}, INTERVAL 1 YEAR) AND department_id = department.id) AS YoYStatementVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type = 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND DATE_SUB(#{dto.endTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND department_id = department.id) AS currentPeriodStatementVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type != 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN #{dto.startTime} AND #{dto.endTime} AND department_id = department.id) AS currentPeriodReportVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type != 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL 1 YEAR) AND DATE_SUB(#{dto.endTime}, INTERVAL 1 YEAR) AND department_id = department.id) AS YoYReportVolume,
|
|
|
+ (SELECT COUNT(production.id) FROM assets,assets_production AS production WHERE assets.id = production.business_id AND production_type != 'STATEMENT' AND production.deleted = 0 AND production.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND DATE_SUB(#{dto.endTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND department_id = department.id) AS QoQReportVolume,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.should_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN #{dto.startTime} AND #{dto.endTime} AND department_id = department.id) AS currentPeriodShouldAmountSum,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.should_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL 1 YEAR) AND DATE_SUB(#{dto.endTime}, INTERVAL 1 YEAR) AND department_id = department.id) AS YoYShouldAmountSum,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.should_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND DATE_SUB(#{dto.endTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND department_id = department.id) AS QoQShouldAmountSum,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.real_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN #{dto.startTime} AND #{dto.endTime} AND department_id = department.id) AS currentPeriodRealAmountSum,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.real_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL 1 YEAR) AND DATE_SUB(#{dto.endTime}, INTERVAL 1 YEAR) AND department_id = department.id) AS YoYRealAmountSum,
|
|
|
+ (SELECT COALESCE(SUM(order_fund.real_amount),0) FROM assets, order_fund WHERE assets.id = order_fund.business_id AND order_fund.deleted = 0 AND assets.created BETWEEN DATE_SUB(#{dto.startTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND DATE_SUB(#{dto.endTime}, INTERVAL DATEDIFF(#{dto.endTime},#{dto.startTime}) DAY) AND department_id = department.id) AS QoQRealAmountSum
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ department.id,
|
|
|
+ department.name
|
|
|
+ FROM
|
|
|
+ department,
|
|
|
+ sorted_department
|
|
|
+ WHERE
|
|
|
+ department.id = sorted_department.department_id
|
|
|
+ AND department.deleted = 0
|
|
|
+ AND sorted_department.business_type = 'ASSET_BUSINESS'
|
|
|
+ <if test="dto != null and dto.departmentId != null">
|
|
|
+ AND department.id = #{dto.departmentId}
|
|
|
+ </if>
|
|
|
+ ) AS department
|
|
|
+ GROUP BY department.id
|
|
|
+ </select>
|
|
|
+
|
|
|
|
|
|
</mapper>
|