<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.smartfactory.dal.mysql.factoryinfo.FactoryInfoMapper">

    <!--
        一般情况下，尽可能使用 Mapper 进行 CRUD 增删改查即可。
        无法满足的场景，例如说多表关联查询，才使用 XML 编写 SQL。
        代码生成器暂时只生成 Mapper XML 文件本身，更多推荐 MybatisX 快速开发插件来生成查询。
        文档可见：https://www.iocoder.cn/MyBatis/x-plugins/
     -->

    <select id="getFactoryRollData"
            resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.screendata.factory.vo.FactoryRollDataRespVO">
        SELECT a.id                                                                     as id,
               a.name                                                                   as name,
               a.short_name                                                             as shortName,
               a.city_name                                                              as cityName,
               (select count(1) from sf_staff where factory_id = a.id and `status` = 1) as total,
               b.yl_num                                                                 AS kilnTotal,
               b.dbx_num                                                                AS packLineTotal,
               b.tp_num                                                                 AS trayTotal,
               b.bd_num                                                                 AS tieTotal,
               b.truck_total_num                                                        AS forkliftTotal
        FROM sf_factory_info AS a
                 LEFT JOIN sf_screen_factory_extra AS b ON a.id = b.factory_id
    </select>
    <select id="getWeatherCodeByFactoryId" resultType="java.lang.String">
        select
            a.area_code
        from sys_region as a
        left join sf_factory_info as b on a.code = #{areaCode}
        where b.id = #{factoryId}
    </select>
</mapper>