<?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.boco.nbd.wios.flow.mapper.def.VisualManagementMapper"> <select id="getNodeFlagByArea" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> SELECT area_id id, area_name name, node_flag, count(*) num FROM t_order WHERE status!=64 and type=1 and process_ins_id is not null and area_id IN (SELECT id FROM t_region WHERE parent_id = '1') <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> GROUP BY area_id,area_name,node_flag </select> <select id="getNodeFlagByInstallSupplierl" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> SELECT install_supplier_id id, install_supplier_name name, node_flag, count(*) num FROM t_order where status!=64 and type=1 and process_ins_id is not null <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and area_id = #{areaId} </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> GROUP BY install_supplier_id,install_supplier_name,node_flag </select> <select id="getOvertimeNodeFlagByAreaCount" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> select area_id id,area_name name,left(NAME_,3) node_flag,SUM(IF( NOW() > DUE_DATE_ ,1,0)) num from (SELECT a.area_id, a.area_name, b.* FROM t_order a right JOIN ACT_HI_TASKINST b on a.process_ins_id=b.PROC_INST_ID_ and a.node_flag=left(b.NAME_,3) WHERE a.STATUS != 64 AND a.type = 1 AND a.process_ins_id IS NOT NULL and a.area_id IN (SELECT id FROM t_region WHERE parent_id = '1') <if test="startTime != null and startTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(a.area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and a.install_supplier_id = #{installSupplierId} </if> ) c GROUP BY area_id,area_name,NAME_ </select> <select id="getOvertimeNodeFlagByInstallSupplierl" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> select install_supplier_id id,install_supplier_name name,left(NAME_,3) node_flag,SUM(IF( NOW() > DUE_DATE_ ,1,0)) num from (SELECT a.install_supplier_id, a.install_supplier_name, b.* FROM t_order a right JOIN ACT_HI_TASKINST b on a.process_ins_id=b.PROC_INST_ID_ and a.node_flag=left(b.NAME_,3) WHERE a.STATUS != 64 AND a.type = 1 AND a.process_ins_id IS NOT NULL <if test="startTime != null and startTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(a.area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and a.install_supplier_id = #{installSupplierId} </if> ) c GROUP BY install_supplier_id,install_supplier_name,NAME_ </select> <select id="getAboutOvertimeNodeFlagByAreaCount" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> SELECT area_id id, area_name NAME, node_flag, SUM( case node_flag when '101' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '103' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '115' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 72 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '104' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '106' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '107' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '108' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '111' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '112' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) else 0 end ) num FROM ( SELECT a.node_flag, a.area_id, a.area_name, b.* FROM t_order a RIGHT JOIN ACT_HI_TASKINST b ON a.process_ins_id = b.PROC_INST_ID_ AND a.node_flag = LEFT ( b.NAME_, 3 ) WHERE a.STATUS != 64 AND a.type = 1 AND a.process_ins_id IS NOT NULL AND a.area_id IN ( SELECT id FROM t_region WHERE parent_id = '1' ) AND b.DUE_DATE_ IS NOT NULL <if test="startTime != null and startTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(a.area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and a.install_supplier_id = #{installSupplierId} </if> ) c GROUP BY area_id, area_name, node_flag </select> <select id="getAboutOvertimeNodeFlagByInstallSupplierl" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementBO"> SELECT install_supplier_id id, install_supplier_name name, node_flag, SUM( case node_flag when '101' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '103' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '115' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 72 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '104' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '106' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '107' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '108' then IF ( ROUND(TIMESTAMPDIFF( MINUTE , NOW(), DUE_DATE_ )/60,2) < 4.8 AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '111' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) when '112' then IF ( TIMESTAMPDIFF( MINUTE , START_TIME_, DUE_DATE_ )*0.8 < TIMESTAMPDIFF( MINUTE , START_TIME_, NOW() ) AND TIMESTAMPDIFF( MINUTE, NOW(), DUE_DATE_ ) > 0, 1, 0 ) else 0 end ) num FROM ( SELECT a.node_flag, a.install_supplier_id, a.install_supplier_name, b.* FROM t_order a right JOIN ACT_HI_TASKINST b on a.process_ins_id=b.PROC_INST_ID_ and a.node_flag=left(b.NAME_,3) WHERE a.STATUS != 64 AND a.type = 1 AND a.process_ins_id IS NOT NULL <if test="startTime != null and startTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(a.create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(a.area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and a.install_supplier_id = #{installSupplierId} </if> ) c GROUP BY install_supplier_id, install_supplier_name, node_flag </select> <select id="getCustomerNode101ByArea" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementTowNumBO"> SELECT area_id id,area_name name, SUM( IF ( survey_reserve_time IS NOT NULL, 1, 0 )) num1, SUM( IF ( survey_follow_time IS NOT NULL, 1, 0 )) num2 FROM t_order where status!=64 and type=1 and node_flag > 101 and area_id IN (SELECT id FROM t_region WHERE parent_id = '1') <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> GROUP BY area_id, area_name </select> <select id="getOrderReceivingBySupplierl" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementTowNumBO"> SELECT install_supplier_id id,install_supplier_name name, SUM( IF ( refuse_order_reason IS NULL, 1, 0 )) num1, SUM( IF ( refuse_order_reason IS NOT NULL, 1, 0 )) num2 FROM t_order where status!=64 and type=1 and node_flag > 103 <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> GROUP BY install_supplier_id, install_supplier_name </select> <select id="getOrderReceivingByAreaAndSupplierlId" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementTowNumBO"> SELECT area_id id,area_name name, SUM( IF ( refuse_order_reason IS NULL, 1, 0 )) num1, SUM( IF ( refuse_order_reason IS NOT NULL, 1, 0 )) num2 FROM t_order where status!=64 and type=1 and node_flag > 103 and area_id IN (SELECT id FROM t_region WHERE parent_id = '1') <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> GROUP BY area_id, area_name </select> <select id="getOrderSettlementBySupplierl" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementTowNumBO"> SELECT install_supplier_id id,install_supplier_name name, SUM( IF ( node_flag = '113', 1, 0 )) num1, SUM( IF ( node_flag = '114', 1, 0 )) num2 FROM t_order where status!=64 and type=1 <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> GROUP BY install_supplier_name </select> <select id="getOrderSettlementByAreaAndSupplierlId" resultType="com.boco.nbd.wios.flow.entity.bo.VisualManagementTowNumBO"> SELECT area_id id,area_name name, SUM( IF ( node_flag = '113', 1, 0 )) num1, SUM( IF ( node_flag = '114', 1, 0 )) num2 FROM t_order where status!=64 and type=1 and area_id IN (SELECT id FROM t_region WHERE parent_id = '1') <if test="startTime != null and startTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')>= #{startTime} </if> <if test="endTime != null and endTime != ''"> and DATE_FORMAT(create_time,'%Y-%m-%d')<= #{endTime} </if> <if test="installSupplierId != null and installSupplierId != ''"> and install_supplier_id = #{installSupplierId} </if> <if test="areaId != null and areaId != ''"> and FIND_IN_SET(area_id, #{areaId}) </if> GROUP BY area_id, area_name </select> </mapper>