浏览代码

维保计划sql修改

别傲 5 年之前
父节点
当前提交
a443f2fed7
共有 1 个文件被更改,包括 21 次插入7 次删除
  1. 21 7
      lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

+ 21 - 7
lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

@@ -73,12 +73,26 @@
 		LEFT JOIN platform_company_lift_relevance pclr ON plr.mt_company_id = pclr.mt_company_id AND plr.lift_id = pclr.lift_id
 		LEFT JOIN platform_company_lift_relevance pclr ON plr.mt_company_id = pclr.mt_company_id AND plr.lift_id = pclr.lift_id
 		LEFT JOIN lift l ON plr.lift_id = l.id
 		LEFT JOIN lift l ON plr.lift_id = l.id
 		LEFT JOIN project p ON plr.mt_company_id = p.mt_company_id AND plr.project_id = p.id
 		LEFT JOIN project p ON plr.mt_company_id = p.mt_company_id AND plr.project_id = p.id
-		LEFT JOIN maintenance_plan mp ON plr.mt_company_id = mp.mt_company_id AND plr.project_id = mp.project_id
-		AND mp.status = 0 AND mp.plan_date = (SELECT MIN(plan_date) FROM maintenance_plan WHERE status = 0
-		AND mt_company_id = #{request.mtCompanyId,jdbcType=VARCHAR} AND lift_id = plr.lift_id) AND plr.lift_id = mp.lift_id
-		LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
-		LEFT JOIN region r ON p.region_id = r.id
-		WHERE plr.mt_company_id = #{request.mtCompanyId,jdbcType=VARCHAR}
+			LEFT JOIN (
+		SELECT 	MIN(m.plan_date) plan_date,
+				m.lift_id,
+				m.id
+		FROM maintenance_plan m
+				  LEFT JOIN project_lift_relevance p ON m.mt_company_id = p.mt_company_id
+			AND p.project_id = m.project_id
+			AND m.lift_id = p.lift_id
+		WHERE m.STATUS = 0
+			AND m.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		GROUP BY m.lift_id
+		) lmp ON lmp.lift_id = plr.lift_id
+				LEFT JOIN maintenance_plan mp ON plr.mt_company_id = mp.mt_company_id
+		AND plr.project_id = mp.project_id
+		AND mp.STATUS = 0
+		AND mp.plan_date = lmp.plan_date
+		AND plr.lift_id = mp.lift_id
+				LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
+				LEFT JOIN region r ON p.region_id = r.id
+		WHERE plr.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
 		AND pclr.lift_company_status != '1'
 		AND pclr.lift_company_status != '1'
 		<if test="request.projectId!=null and request.projectId > 0">
 		<if test="request.projectId!=null and request.projectId > 0">
 			AND p.id = #{request.projectId,jdbcType=BIGINT}
 			AND p.id = #{request.projectId,jdbcType=BIGINT}
@@ -96,7 +110,7 @@
 			AND <![CDATA[mp.plan_date > #{request.beginTime}]]>
 			AND <![CDATA[mp.plan_date > #{request.beginTime}]]>
 		</if>
 		</if>
 		<if test="request.endTime!=null">
 		<if test="request.endTime!=null">
-			AND <![CDATA[mp.plan_date < #{request.endTime,jdbcType=VARCHAR}]]>
+			AND <![CDATA[mp.plan_date < #{request.endTime}]]>
 		</if>
 		</if>
 		<if test="request.registrationCode!=null and request.registrationCode!=''">
 		<if test="request.registrationCode!=null and request.registrationCode!=''">
 			AND l.registration_code LIKE #{request.registrationCode,jdbcType=VARCHAR}
 			AND l.registration_code LIKE #{request.registrationCode,jdbcType=VARCHAR}