Parcourir la source

维保计划排序,年检sql bug修改

别傲 il y a 5 ans
Parent
commit
15daa970e7

+ 3 - 2
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -239,11 +239,12 @@
             li.annual_inspection_date AS plan_date
         FROM lift li
         LEFT JOIN project_lift_relevance plr ON li.id = plr.lift_id
-        LEFT JOIN project_user pu ON pu.project_id = plr.project_id AND pu.mt_company_id = ai.mt_company_id
+        LEFT JOIN project_user pu ON pu.project_id = plr.project_id
         LEFT JOIN project pr ON plr.project_id = pr.id
         LEFT JOIN region re ON re.id = pr.region_id
         LEFT JOIN user_info ui ON re.user_id = ui.user_id
         LEFT JOIN annual_inspection ai ON ai.lift_id = li.id AND ai.mt_company_id = plr.mt_company_id AND ai.plan_date = li.annual_inspection_date
+        AND pu.mt_company_id = ai.mt_company_id
         WHERE
             li.annual_inspection_date <= date_add(curdate(), INTERVAL #{days} DAY)
         AND li.annual_inspection_date >= curdate() AND isnull(ai.id)
@@ -251,7 +252,7 @@
             AND plr.mt_company_id = #{mtCompanyId}
         </if>
         <if test="userId != null and userId > 0">
-            AND pu.userId = #{userId}
+            AND pu.user_id = #{userId}
         </if>
     </select>
     <select id="groupByRegistrationCode" resultType="cn.com.ty.lift.business.library.dao.entity.Lift">

+ 24 - 9
lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

@@ -101,6 +101,7 @@
 		<if test="request.registrationCode!=null and request.registrationCode!=''">
 			AND l.registration_code LIKE #{request.registrationCode,jdbcType=VARCHAR}
 		</if>
+		ORDER BY plan_date
 	</select>
 
 	<select id="queryPlanListByIds" parameterType="java.util.Map" resultMap="BaseResultMap">
@@ -135,13 +136,20 @@
 		       mp.status           AS status
 		FROM maintenance_plan mp
 				 LEFT JOIN project p ON mp.project_id = p.id
-		         LEFT JOIN project_user pu ON p.id = pu.project_id
+				<if test="request.currentRoleCode == REGION_DIRECTOR ">
+					LEFT JOIN project_user pu ON p.id = pu.project_id
+				</if>
 				 LEFT JOIN lift l ON mp.lift_id = l.id
 				 LEFT JOIN user_info ui ON mp.worker_id = ui.user_id
-		WHERE mp.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
-		<if test="request.userId!=null">
-			AND pu.user_id = #{request.userId,jdbcType=BIGINT}
-		</if>
+		 WHERE mp.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		  <choose>
+			  <when test="request.userId > 0 and request.currentRoleCode == REGION_DIRECTOR ">
+				  AND pu.user_id = #{request.userId,jdbcType=BIGINT}
+			  </when>
+		      <otherwise>
+				  AND mp.worker_id = #{request.userId,jdbcType=BIGINT}
+			  </otherwise>
+		  </choose>
 		<if test="request.status!=null and request.status!=''">
 			AND mp.status = #{request.status,jdbcType=VARCHAR}
 		</if>
@@ -168,13 +176,20 @@
 				  count(1) total
 		FROM maintenance_plan mp
 				LEFT JOIN project p ON mp.project_id = p.id
-				LEFT JOIN project_user pu ON p.id = pu.project_id
+				<if test="request.currentRoleCode == REGION_DIRECTOR ">
+					LEFT JOIN project_user pu ON p.id = pu.project_id
+				</if>
 				LEFT JOIN lift l ON mp.lift_id = l.id
 				LEFT JOIN user_info ui ON mp.worker_id = ui.user_id
 		WHERE mp.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
-		<if test="request.userId!=null">
-			AND pu.user_id = #{request.userId,jdbcType=BIGINT}
-		</if>
+		<choose>
+			<when test="request.userId > 0 and request.currentRoleCode == REGION_DIRECTOR ">
+				AND pu.user_id = #{request.userId,jdbcType=BIGINT}
+			</when>
+			<otherwise>
+				AND mp.worker_id = #{request.userId,jdbcType=BIGINT}
+			</otherwise>
+		</choose>
 		<if test="request.beginTime!=null">
 			AND <![CDATA[ mp.plan_date >= #{request.beginTime}]]>
 		</if>