SELECT
aaa.id AS id,
aaa.create_user AS createUser,
aaa.create_time AS createTime,
aaa.status AS status,
COUNT(bbb.dev_id) AS devCount,
aaa.order_number AS orderNumber,
SUM(CASE WHEN mdi.entry_status = 1 THEN 1 ELSE 0 END) AS agree,
SUM(CASE WHEN mdi.entry_status = 2 THEN 1 ELSE 0 END) AS reject
FROM
cs_device_status aaa
LEFT JOIN cs_device_real_dev bbb ON aaa.id = bbb.cs_id
LEFT JOIN ma_dev_info mdi ON bbb.dev_id = mdi.ma_id AND mdi.is_active = '1'
where aaa.is_active = 1
and aaa.status = #{status}
GROUP BY
aaa.id
ORDER BY aaa.status DESC
SELECT
cds.order_number AS orderNumber,
cds.create_user AS createUser,
cds.create_time AS createTime,
cds.status AS status,
mtv.proType,
mtv.mainGx,
mtv.childGx,
mtv.devCategory,
mtv.devSubcategory,
mtv.devName,
mtv.devModel,
mtv.unit_name,
d.ma_id as maId,
d.code as code,
d.identify_code as identifyCode,
d.device_name as deviceName,
d.device_count as deviceCount,
d.brand as brand,
d.production_date as productionDate,
d.working_hours as workingHours,
d.person as person,
d.person_phone as personPhone,
d.create_time as createTime,
d.update_time as updateTime,
d.on_company as companyId,
sd.dept_name as companyName,
c.operate_address as operateAddress,
d.entry_status AS entryStatus,
d.buy_price AS buyPrice
FROM cs_device_real_dev cdrd
LEFT JOIN ma_dev_info d ON cdrd.dev_id = d.ma_id AND d.is_active = '1'
LEFT JOIN cs_device_status cds ON cdrd.cs_id = cds.id
LEFT JOIN sys_dept sd ON d.on_company = sd.dept_id
LEFT JOIN bm_company_info c ON sd.dept_id = c.company_id
LEFT JOIN ma_type_view mtv ON mtv.typeId = d.type_id
and cdrd.cs_id = #{orderId}
INSERT INTO cs_device_status (create_user, order_number)
VALUES (#{createUser}, #{orderNumber})
INSERT INTO cs_device_real_dev (cs_id, dev_id)
VALUES (#{orderId}, #{maId})
UPDATE cs_device_status
SET status = #{status}
WHERE id = #{id}
UPDATE ma_dev_info
SET entry_status = 0
WHERE ma_id IN (select dev_id
from cs_device_real_dev
where cs_id = #{id})
update cs_device_status
set is_active = 0
where id = #{id}
UPDATE ma_dev_info SET entry_status = #{data.value} WHERE ma_id = #{data.key}
select count(1)
from ma_dev_info
where ma_id IN (select dev_id
from cs_device_real_dev
where cs_id = #{id})
and is_active = 1
and entry_status = 0
-- 查询一级类型(顶级类型)
SELECT type_id AS value,
level,
type_name AS label,
parent_id AS parentId
FROM ma_type
WHERE parent_id IS NULL
AND del_flag = '0'; -- 排除已删除的数据
-- 根据一级类型ID查询二、三级类型
-- 假设一级类型ID为:100(实际使用时替换为具体的一级类型ID)
SELECT t2.type_id AS value,
t2.level,
t2.type_name AS label,
t2.parent_id AS parentId
FROM ma_type t1
JOIN ma_type t2 ON t1.type_id = t2.parent_id
OR t1.type_id = (SELECT parent_id FROM ma_type WHERE type_id = t2.parent_id)
WHERE t1.type_id = #{firstLevelId} -- 一级类型ID
AND t1.parent_id IS NULL -- 确保t1是一级类型
AND t2.del_flag = '0';
-- 根据三级类型ID查询四、五、六级类型
-- 假设三级类型ID为:300(实际使用时替换为具体的三级类型ID)
SELECT t.type_id AS value,
t.level,
t.type_name AS label,
t.parent_id AS parentId
FROM ma_type t3
JOIN ma_type t ON t3.type_id = t.parent_id
OR t3.type_id = (SELECT parent_id FROM ma_type WHERE type_id = t.parent_id)
OR t3.type_id = (SELECT parent_id
FROM ma_type
WHERE type_id = (SELECT parent_id FROM ma_type WHERE type_id = t.parent_id))
WHERE t3.type_id = #{thirdLevelId} -- 三级类型ID
AND t.del_flag = '0';
-- MySQL 5.x兼容版本:查询二至五级类型
SELECT t.type_id AS value,
t.level,
t.type_name AS label,
t.parent_id AS parentId
FROM ma_type t1
-- 二级:直接子节点
LEFT JOIN ma_type t2 ON t1.type_id = t2.parent_id AND t2.del_flag = '0'
-- 三级:二级的子节点
LEFT JOIN ma_type t3 ON t2.type_id = t3.parent_id AND t3.del_flag = '0'
-- 四级:三级的子节点
LEFT JOIN ma_type t4 ON t3.type_id = t4.parent_id AND t4.del_flag = '0'
-- 五级:四级的子节点
LEFT JOIN ma_type t5 ON t4.type_id = t5.parent_id AND t5.del_flag = '0'
-- 合并所有层级结果
JOIN (SELECT type_id
FROM ma_type
WHERE parent_id = #{firstLevelId}
AND del_flag = '0' -- 二级
UNION
SELECT t3.type_id
FROM ma_type t2
JOIN ma_type t3 ON t2.type_id = t3.parent_id
WHERE t2.parent_id = #{firstLevelId}
AND t3.del_flag = '0' -- 三级
UNION
SELECT t4.type_id
FROM ma_type t2
JOIN ma_type t3 ON t2.type_id = t3.parent_id
JOIN ma_type t4 ON t3.type_id = t4.parent_id
WHERE t2.parent_id = #{firstLevelId}
AND t4.del_flag = '0' -- 四级
UNION
SELECT t5.type_id
FROM ma_type t2
JOIN ma_type t3 ON t2.type_id = t3.parent_id
JOIN ma_type t4 ON t3.type_id = t4.parent_id
JOIN ma_type t5 ON t4.type_id = t5.parent_id
WHERE t2.parent_id = #{firstLevelId}
AND t5.del_flag = '0' -- 五级
) AS all_levels ON t.type_id = all_levels.type_id
WHERE t1.type_id = #{firstLevelId}
AND t1.parent_id IS NULL -- 确保是一级类型
AND t.del_flag = '0';
SELECT COUNT(*)
FROM cs_device_status
WHERE DATE(create_time) = CURDATE()
AND order_number IS NOT NULL