张晓波
2023-12-12 d3e6773ef7cd0e11a444b41ec3da15938fabd85b
hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
@@ -490,6 +490,25 @@
                      )c where c.isExist = 0 order by c.ringnum limit 1
    </select>
    <select id="queryRingCompleteByMod" resultType="com.thhy.mobile.modules.biz.mouldcheck.entity.RingCompleteCheck">
        select a.ringnum,a.pipeModNum,a.allModNum
        from
            (
                select tpi.ring_num as ringnum,GROUP_CONCAT(sm.mould_num order by sm.mould_num) as pipeModNum,
                       (
                           select GROUP_CONCAT(sm1.mould_num order by sm1.mould_num)
                           from sys_mould sm1
                           where SUBSTRING_INDEX(sm1.mould_num,'-',-1) = SUBSTRING_INDEX(#{mouldNum},'-',-1) and sm1.is_use = 1 and sm1.pro_id = #{proId}
                           group by sm1.is_use
                       ) as allModNum
                from t_pipe_info tpi
                         left join sys_mould sm on sm.mould_id = tpi.mod_id
                where SUBSTRING_INDEX(sm.mould_num,'-',-1) = SUBSTRING_INDEX(#{mouldNum},'-',-1) and sm.is_use = 1 and tpi.pro_id = #{proId}
                GROUP BY tpi.ring_num
            ) a
        where a.pipeModNum != a.allModNum and a.pipeModNum not LIKE CONCAT('%',#{mouldNum},'%')
    </select>
    <select id="queryMaxRingNum" resultType="int">
        select case when a.maxRingNum is null then 1 else a.maxRingNum end as maxRingNum
        from
@@ -827,6 +846,32 @@
        group by m.mould_type
    </select>
    <select id="queryMouldByNumType" resultType="com.thhy.mobile.modules.biz.mouldcheck.entity.Mould">
        select
            t.mould_id as mouldId,
            t.come_factory_time as comeFactoryTime,
            t.create_time as createTime,
            t.create_user as createUser,
            t.current_cycle_time as currentCycleTime,
            t.is_use as isUse,
            t.max_cycle_time as maxCycleTime,
            t.mould_code as mouldCode,
            t.mould_num as mouldNum,
            t.mould_size as mouldSize,
            t.mould_turn as mouldTurn,
            t.mould_type as mouldType,
            t.pro_id as proId,
            t.product_date as productDate,
            t.status as status,
            t.supplier_id as supplierId,
            t.update_time as updateTime,
            t.update_user as updateUser,
            t.grouting_holes as groutingHoles,
            t.free
        from sys_mould t
        where t.pro_id = #{proId} and SUBSTRING_INDEX(t.mould_num,'-',-1) = #{numType}
    </select>
    <select id="queryMaxNumBySteelProduce" resultType="int">
        select
            max(a.number)
@@ -840,4 +885,138 @@
    <select id="countByRingNum" resultType="int">
        select count(pipe_id) from t_pipe_info where ring_num = #{ringNum}
    </select>
    <select id="compelteByRingNumAndPro" resultType="boolean">
        select (a.pipeBlock=b.proBlock) as result from
            (
                select GROUP_CONCAT(block_num order by sd.dict_value) as pipeBlock,tpi.pro_id
                from t_pipe_info tpi
                         left join sys_dict sd on sd.dict_id = tpi.block_num
                where tpi.ring_num = #{ringNum} and tpi.pro_id = #{proId} and tpi.check_result = 1
                group by tpi.ring_num,tpi.pro_id
            ) a
                left join
            (
                select GROUP_CONCAT(block_num order by sd1.dict_value) as proBlock,spb.pro_id
                from sys_pro_blok spb
                         left join sys_dict sd1 on sd1.dict_id = spb.block_num
                where spb.pro_id = #{proId}
                group by spb.pro_id
            ) b on a.pro_id = b.pro_id
    </select>
    <select id="queryByRingNumAndPro" resultType="com.thhy.mobile.modules.biz.cultivated.entity.PipeIntoListVo">
        select t.ring_num as ringNum,t.pipe_num as pipeNum,t.check_time as checkTime,sd.dict_name as blockNum,sp.pro_name as proName
        from t_pipe_info t
                 left join sys_dict sd on sd.dict_id = t.block_num
                 left join sys_project sp on sp.pro_id = t.pro_id
        where t.ring_num = #{ringNum} and t.pro_id = #{proId}
        order by t.pipe_num
    </select>
    <select id="queryWaterTimeByPipeNum" resultType="com.thhy.mobile.modules.biz.cultivated.entity.PipeCultivated">
        select pc.id,pc.ring_num as ringNum,pc.create_time as createTime,pc.out_time as outTime,pc.out_water as outWater
        from t_pipe_cultivated_pi pcp
                 left join t_pipe_cultivated pc on pcp.cultivated_id = pc.id
        where pipe_num = #{pipeNum}
    </select>
    <select id="queryRepoDate" resultType="com.thhy.mobile.modules.biz.repo.entity.RepoRecord">
        select rr.create_time as createTime,rr.record_id as recordId,rrp.out_repo as outRepo,rrp.out_repo_time as outRepoTime
        from t_repo_record_pipe rrp
                 left join t_repo_record rr on rrp.record_id = rr.record_id
        where rrp.pipe_num = #{pipeNum}
    </select>
    <update id="updatePipeDateByNum">
        update t_pipe_info
        <set>
            <if test="checkTime != null">
                check_time=#{checkTime},
            </if>
            <if test="inModTime != null">
                into_mod_time=#{inModTime},
            </if>
            <if test="outModTime != null">
                out_mod_time=#{outModTime},
            </if>
            <if test="pouringTime != null">
                pouring_time=#{pouringTime},
            </if>
            <if test="placingInTime != null">
                placing_in_time=#{placingInTime},
            </if>
            <if test="placingOutTime != null">
                placing_out_time=#{placingOutTime},
            </if>
            <if test="inRepoTime != null">
                in_repo_time = #{inRepoTime},
            </if>
        </set>
        where pipe_num=#{pipeNum}
    </update>
    <update id="updateInWaterTime">
        update t_pipe_cultivated set create_time = #{createTime} where id =#{id}
    </update>
    <update id="updateOutWaterTime">
        update t_pipe_cultivated set out_time = #{outTime} where id =#{id}
    </update>
    <update id="updateInRepoTime">
        update t_repo_record set create_time = #{createTime} where record_id =#{recordId}
    </update>
    <select id="queryAllNumType" resultType="integer">
        select DISTINCT a.numType from (select SUBSTRING_INDEX(m.mould_num,'-',-1) as numType from sys_mould m) a
    </select>
    <select id="materialInfo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingDto">
    select
   Piece as piece,
   MAX(CASE WHEN Material = '河砂' THEN FactAmnt END) AS sand,
   MAX(CASE WHEN Material = '小石子' THEN FactAmnt END) AS pebbles,
   MAX(CASE WHEN Material = '水泥3' THEN FactAmnt END) AS cement3,
   MAX(CASE WHEN Material = '粉煤灰2' THEN FactAmnt END) AS flyAsh2,
   MAX(CASE WHEN Material = '大石子' THEN FactAmnt END) AS dashizi,
   MAX(CASE WHEN Material = '水' THEN FactAmnt END) AS water,
   MAX(CASE WHEN Material = '外剂1' THEN FactAmnt END) AS externalAgent1,
   MAX(CASE WHEN Material = '粉煤灰1' THEN FactAmnt END) AS flyAsh1,
   MAX(CASE WHEN Material = '水泥4' THEN FactAmnt END) AS cement4,
   MAX(CASE WHEN Material = '水泥2' THEN FactAmnt END) AS cement2
   from
   t_raw_material where types=1
   GROUP BY Piece
   ORDER BY Piece desc limit 0,10
    </select>
    <select id="materialInfoTwo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingDto">
    select
   Piece as piece,
   MAX(CASE WHEN Material = '河砂' THEN FactAmnt END) AS sand,
   MAX(CASE WHEN Material = '小石子' THEN FactAmnt END) AS pebbles,
   MAX(CASE WHEN Material = '水泥3' THEN FactAmnt END) AS cement3,
   MAX(CASE WHEN Material = '粉煤灰2' THEN FactAmnt END) AS flyAsh2,
   MAX(CASE WHEN Material = '大石子' THEN FactAmnt END) AS dashizi,
   MAX(CASE WHEN Material = '水' THEN FactAmnt END) AS water,
   MAX(CASE WHEN Material = '外剂1' THEN FactAmnt END) AS externalAgent1,
   MAX(CASE WHEN Material = '粉煤灰1' THEN FactAmnt END) AS flyAsh1,
   MAX(CASE WHEN Material = '水泥4' THEN FactAmnt END) AS cement4,
   MAX(CASE WHEN Material = '水泥2' THEN FactAmnt END) AS cement2
   from
   t_raw_material where types=2
   GROUP BY Piece
   ORDER BY Piece desc limit 0,10
    </select>
    <select id="materialNumInfo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingNumDto">
        SELECT
   Material as material,
   CAST( SUM( FactAmnt ) AS FLOAT ) AS counts
FROM
   t_raw_material
GROUP BY
   Material
    </select>
</mapper>