<?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="com.unis.basic.info.modular.gjjmapper.mapper.GjjMapper">

  <!-- 仓储单位信息 -->
  <select id="getDwGjjDate" parameterType="java.lang.String" resultType="java.util.Map">
      SELECT
          a.id,
          a.dwdm,-- 1、单位代码  K ---- 18位统一社会信用代码
          a.tydwbm,-- 2、统一单位编码 Y
          a.dwmc,-- 3、单位名称 Y
          b.DICT_LABEL dwlx,-- 4、单位类型  Y
          DATE_FORMAT(a.zcrq,'%Y-%m-%d') zcrq,-- 5.注册日期 Y
          a.zczb,-- 6 注册资本
          a.zcze,-- 7 资产总额
          a.fddbr,-- 8 法定代表人  Y
          a.frsfzh,-- 9法人身份证号 Y
          a.frlxfs,-- 10法人联系方式
          a.qylxr,-- 11企业联系人 Y
          a.bgdh,-- 12办公电话 Y
          -- CONCAT(a.zcdz) zcdz,-- 13注册地址 Y
          CONCAT(a.zcdz) zcdz,-- 13注册地址 Y 省（自治区、直辖市）+市（自治州、区）+县或县级市（自治县、街道）+详细地址（含门牌号）注：以工商注册地址为准
          a.dzyx,-- 14电子邮箱
          a.qygfwzdz,-- 15企业官方网站地址
          a.czhm,-- 16传真号码
          a.yzbm,-- 17邮政编码
          a.xzqhdm,-- 18行政区划代码 Y
          a.sjdwmc,-- 19上级单位名称
          a.sjdwdm,-- 20上级单位代码 18位统一社会信用代码
          a.kqs,-- 21 库区数 Y
          a.cfs,-- 22 仓房数 Y
          a.ygs,-- 23 油罐数 Y
          a.jd,-- 24 经度
          a.wd,-- 25 纬度
          a.dwzt,-- 26 单位状态 1:正常（默认） 2:退出储备粮承储
          DATE_FORMAT(a.update_time,'%Y-%m-%d %H:%i:%s') zhgxsj -- 28最后更新时间Y
      FROM
          province_all.biz_unit_info a
              left join dev_dict b on a.dwlx = b.id
              left join dev_dict c on a.zcdz_province = c.id
              left join dev_dict d on a.zcdz_city = d.id
              left join dev_dict e on a.zcdz_area = e.id
        where id = #{id}
    </select>
    
    <!-- 储备规模 -->
    <select id="getCbgmGjjDate" parameterType="java.lang.String" resultType="java.util.Map">
        SELECT
            CONCAT(DATE_FORMAT(a.create_time, '%Y'),'年') nf,-- 年份  K 如2022年
            b.xzqhdm, -- 行政区划代码 N
            b.dwdm ccqy,-- 承储企业 K
            c.enumCode ylpz,-- 粮食品种 K
            d.enumCode ylxz,-- 粮食性质 K
            a.reserve_plan_quantity, -- 储备规模计划数量 吨
            a.cbgmjhwh, -- 储备规模计划文号
            a.remark, -- 备注
            DATE_FORMAT(a.update_time, '%Y-%m-%d %H:%i:%s') zhgxsj   -- 最后更新时间--Y
        FROM
            biz_gr_reserve_scale a
                LEFT JOIN  biz_unit_info b on a.unit_info_id = b.id
                LEFT JOIN depot_qh.basic_enum c on c.enumId = a.grain_variety_id
                LEFT JOIN depot_qh.basic_enum d on d.enumId = a.grain_nature_id
        where a.`status` = 2 and a.id = #{id}
    </select>

    <!-- 项目信息 -->
    <select id="getXmxxGjjDate" parameterType="java.lang.String" resultType="java.util.Map">
        SELECT
            a.id xmdm, -- 1、项目代码 K
            -- xmdwtybm 2、项目单位统一编码 Y
            b.project_name xmmc,-- 3项目名称 Y
            b.administrative_division xzqhdm,-- 4 行政区划代码
            b.year nf,-- 5年份
            b.project_type xmlx,-- 6 项目类型
            b.construction_content_scale jsnr,-- 7建设内容及规模 Y
            b.planned_start_time nkgsj,-- 8\拟开工时间 Y
            b.planned_completion_time njcsj,-- 9拟建成时间 Y
            b.construction_status jszt,-- 10建设状态
            b.declaration_date sbrq, -- 11申报日期 Y
            b.approval_document_number spwh,-- 审批文号 N
            b.project_legal_unit xmdw,-- 13 项目（法人）单位 8位统一社会信用代码Y
            b.legal_representative_id_type fddbrzzlx,-- 14 法定代表人证照类型 Y
            b.legal_representative_id_number fddbrzzhm,-- 15法定代表人证照号码 Y
            b.contact_person lxr,-- 16 联系人 Y
            b.contact_information lxfs, -- 17 联系方式 N
            b.email dzyx,-- 18 电子邮箱
            CONCAT(d.DICT_LABEL,d1.DICT_LABEL,d2.DICT_LABEL,d3.DICT_LABEL) jsdd,-- 19建设地点
            b.total_investment ztz,-- 20总投资 Y
            b.fixed_asset_investment gdzctz,-- 21固定资产投资
            b.central_financial_funds zyczzj, -- 22中央财政资金
            b.provincial_financial_funds sczzj,-- 23省财政资金
            b.municipal_financial_funds sczzj01,-- 24市财政资金
            b.bank_loans yhdk,-- 25银行贷款
            b.stocks_bonds gpzq,-- 26股票债券
            b.other_funds qtzj,-- 27其他资金
            b.project_address_longitude xmdzjd,-- 28项目地址经度
            b.project_address_latitude, -- 29项目地址纬度
            b.update_time zhgxsj-- 31 最后更新时间
        FROM
            biz_pm_project_info a
                LEFT JOIN biz_pm_application b on a.pm_application_id = b.id
                LEFT JOIN dev_dict d on d.id = b.construction_location_province
                LEFT JOIN dev_dict d1 on d1.id = b.construction_location_city
                LEFT JOIN dev_dict d2 on d2.id = b.construction_location_district
                LEFT JOIN dev_dict d3 on d3.id = b.construction_location_address
        where b.`status` = 3 and  b.id= #{id}; -- 3：已批复
    </select>

    <!-- 轮换计划 -->
    <select id="getLhjhGjjDate" parameterType="java.lang.String" resultType="java.util.Map">
        SELECT
            a.id ,
            a.lhjhdh, -- 1、轮换计划单号  由下达计划单位统一社会信用代码+计划年度（yyyy）+3位顺序号组成 K
            a.plan_number jhwh,-- 2、计划文号
            a.plan_name jhmc,-- 3、计划名称
            a.plan_year jhnd,-- 4、计划年度
            a.start_date kszxrq,-- 5、开始执行日期
            a.end_date jzzxrq,-- 6、截止执行日期
            dw.dwdm jhxddw,-- 7、计划下达单位
            dw.tydwbm jhxddwtybm, -- 8、计划下达单位统一编码
            dw.dwmc jhxddwmc,-- 9、计划下达单位名称
            DATE_FORMAT(a.issuance_date, '%Y-%m-%d') jhxdsj, -- 10、计划下达时间
            a.update_time zhgxsj -- 12 最后更新时间
        FROM
            province_all.biz_rp_issuance a
                LEFT JOIN depot_qh.business_rp_report re on re.id = a.rp_report_id
                LEFT JOIN province_all.biz_unit_info dw on dw.id = re.unit_info_id
        where a.rp_report_id = #{id}
    </select>

    <!-- 轮换计划明细 -->
    <select id="getLhjhmxGjjDate" parameterType="java.lang.String" resultType="java.util.Map">

        SELECT
            --  jhmxdh -- 1、计划明细单号 由轮换计划单号+库区代码+四位顺序码组成 K
            -- a.lhjhdh,-- 2、轮换计划单号  Y
            e1.enumCode lspzdm, -- 3品种  Y
            e2.enumCode lsxzdm,  -- 5性质 Y
            '' AS lsdjdm, -- 4等级
            c.product_period shnd,-- 收货年度
            '' AS lhhwdm, -- 轮换货位代码
            '' As lhhwtybm, -- 轮换货位统一编码
            c.quantity, -- 轮换数量 吨
            '2' lhlx, -- 轮换类型 1:轮出，2:轮入，3:轮换
            -- 操作标志
            DATE_FORMAT(c.updatedate, '%Y-%m-%d') jhxdsj

        FROM
            province_all.biz_rp_issuance a
                left join depot_qh.business_rp_report b on b.id = a.rp_report_id
                left join depot_qh.business_rp_inbound c on c.rp_report_id = b.id
                left join depot_qh.basic_enum e1 on e1.enumid = c.grain_variety_id
                left join depot_qh.basic_enum e2 on e2.enumid = c.grain_nature_id
            -- left join depot_qh.basic_enum e3 on e3.enumid = c.grain_grade_id  -----等级
        where a.rp_report_id = #{id}
        UNION
        SELECT -- 出库
               -- 计划明细单号 jhmxdh
               -- a.lhjhdh,
               e1.enumCode lspzdm, -- 品种
               e2.enumCode lsxzdm,  -- 性质
               e3.enumCode lsdjdm, -- 等级
               '' As shnd,  -- 收货年度
               w.hwdm lhhwdm, -- 轮换货位代码
               w.tyhwbm lhhwtybm, -- 轮换货位统一编码
               c.sealing_quantity ,-- 轮换数量 吨
               '1' lhlx ,-- 轮换类型 1:轮出，2:轮入，3:轮换
               -- 操作标志
               DATE_FORMAT(c.updatedate, '%Y-%m-%d') jhxdsj
        FROM
            province_all.biz_rp_issuance a
                left join depot_qh.business_rp_report b on b.id = a.rp_report_id
                left join depot_qh.business_rp_outbound c on c.rp_report_id = b.id
                left join depot_qh.basic_enum e1 on e1.enumid = c.grain_variety_id
                left join depot_qh.basic_enum e2 on e2.enumid = c.grain_nature_id
                left join depot_qh.basic_enum e3 on e3.enumid = c.grain_grade_id
                left join depot_qh.basic_warehouse w on w.warehouse_id = c.warehouse_id
        where a.rp_report_id = #{id}
    </select>


    <!-- 储备计划 -->
    <select id="getCbjhGjjDate" parameterType="java.lang.String" resultType="java.util.Map">
        SELECT -- 入库
               a.id id,
               a.plan_order_no jhdh, -- 1、计划单号 K
               a.plan_no jhwh,-- 2、计划文号
               a.plan_name jhmc,-- 3、计划名称
               a.plan_year jhnd,-- 4、计划年度
               a.plan_unit jhzddw,-- 5、制定计划单位
               a.plan_release_time jhxdsj,-- 6、计划下达时间
               e1.enumCode lspzdm,-- 7、粮食品种代码
               e2.enumCode lsxzdm,-- 9、粮食性质代码
               e3.enumCode lsdjdm,-- 8粮食等级代码
               b.plan_quantity sl,-- 10数量
               DATE_FORMAT(a.update_time, '%Y-%m-%d %H:%i:%s') zhgxsj  -- 最后更新时间
        FROM
            biz_gops_plan a
                left join biz_gops_plan_buy b on a.id = b.gops_plan_id
                left join depot_qh.basic_enum e1 on e1.enumid = b.grain_variety_id
                left join depot_qh.basic_enum e2 on e2.enumid = b.grain_nature_id
                left join depot_qh.basic_enum e3 on e3.enumid = b.grain_grade_id
        where a.id = #{id}
        UNION
        SELECT -- 出库
               a.id id,
               a.plan_order_no jhdh,-- 1、计划单号 K
               a.plan_no jhwh,-- 2、计划文号
               a.plan_name jhmc,-- 3、计划名称
               a.plan_year jhnd,-- 4、计划年度
               a.plan_unit jhzddw,-- 5、制定计划单位
               a.plan_release_time jhxdsj,-- 6、计划下达时间
               e1.enumCode lspzdm,-- 7、粮食品种代码
               e2.enumCode lsxzdm,-- 9、粮食性质代码
               e3.enumCode lsdjdm,-- 8、粮食等级代码
               b.plan_quantity sl,-- 10数量
               DATE_FORMAT(a.update_time, '%Y-%m-%d %H:%i:%s') zhgxsj  -- 最后更新时间
        FROM
            biz_gops_plan a
                left join biz_gops_plan_sale b on a.id = b.gops_plan_id
                left join depot_qh.basic_enum e1 on e1.enumid = b.grain_variety_id
                left join depot_qh.basic_enum e2 on e2.enumid = b.grain_nature_id
                left join depot_qh.basic_enum e3 on e3.enumid = b.grain_grade_id
        where a.id = #{id}
    </select>
</mapper>