| | |
| | | |
| | | <select id="workList" resultType="com.ycl.platform.domain.vo.YwUnitVO"> |
| | | SELECT |
| | | a.*, |
| | | COUNT(b.id) AS work_order_count |
| | | u.id AS id, u.unit_name, count(DISTINCT wot.id) AS work_order_count |
| | | FROM |
| | | t_yw_unit a |
| | | t_yw_unit u |
| | | LEFT JOIN |
| | | t_work_order b ON a.id = b.unit_id AND b.deleted = 0 AND b.status = 'WAIT_DISTRIBUTE' |
| | | WHERE |
| | | a.deleted = 0 |
| | | GROUP BY |
| | | a.id; |
| | | ( |
| | | SELECT |
| | | wo.id, |
| | | wo.unit_id |
| | | FROM |
| | | t_work_order wo |
| | | INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number |
| | | INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 |
| | | INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no |
| | | INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' |
| | | <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach |
| | | collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> |
| | | </if> |
| | | WHERE |
| | | wo.deleted = 0 |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | | </if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%')) |
| | | </if> |
| | | ) as wot ON wot.unit_id = u.id |
| | | WHERE u.deleted = 0 |
| | | group by u.id |
| | | </select> |
| | | |
| | | <insert id="insertYwUnit" parameterType="YwUnit" useGeneratedKeys="true" keyProperty="id"> |