jsk 数据概览 修改

This commit is contained in:
jiask 2026-02-05 17:01:09 +08:00
parent 3f42f95b41
commit 3c046f5ee6
2 changed files with 1203 additions and 1068 deletions

File diff suppressed because it is too large Load Diff

View File

@ -196,23 +196,32 @@
UNION
SELECT
0 AS storageNum,
0 AS checkNum,
COUNT(DISTINCT maId) as useNum,
0 as changeNum
FROM
(
SELECT
DISTINCT ps.machine as maId,
to_days(now()) -to_days(ps.start_date) as days
FROM
ma_type_project_storage ps
LEFT JOIN mm_machines mm on ps.machine = mm.ID
WHERE ps.`status` =1 and ps.is_count = 0
and mm.BATCH_STATUS = 6
GROUP BY ps.machine
) rs
WHERE rs.days> 180
0 AS storageNum,
0 AS checkNum,
COUNT(*) AS useNum,
0 AS changeNum
FROM (
SELECT 1
FROM
ma_type_project_storage ps
INNER JOIN mm_machines mm ON ps.machine = mm.ID
INNER JOIN mm_type mt ON mm.TYPE = mt.ID
LEFT JOIN mm_type mt2 ON mt.PARENT_ID = mt2.ID
LEFT JOIN wf_lease_agreement wla ON ps.agreement_id = wla.ID
LEFT JOIN bm_project bp ON wla.PROJECT = bp.ID
LEFT JOIN bm_company bc ON bp.COMPANY_ID = bc.ID
WHERE
ps.status = 1
AND ps.end_date IS NULL
AND mm.BATCH_STATUS = 6
AND DATEDIFF(NOW(), ps.start_date) > 180
GROUP BY
mt.ID,
mt2.ID,
wla.ID,
bp.ID,
bc.ID
) AS t
UNION
SELECT
@ -315,351 +324,307 @@
<select id="getOverview" parameterType="com.bonus.index.beans.IndexHomeBean" resultType="com.bonus.index.beans.PartOneBean">
SELECT
SUM(projectCount) projectCount,
SUM(equipmentTypes) equipmentTypes,
SUM(totalCount) totalCount,
SUM(stockCount) stockCount,
SUM(inUseCount) inUseCount,
SUM(repairCount) repairCount,
SUM(scrappedCount) scrappedCount
FROM
(
SELECT
COUNT( DISTINCT bp.ID ) AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
bm_project bp
WHERE
bp.IS_ACTIVE = 1 UNION
SELECT
0 AS projectCount,
COUNT( DISTINCT mt.ID ) AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
mm_type mt
WHERE
mt.`LEVEL` = 4
AND mt.IS_ACTIVE = 1 UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
ROUND(
IF
(
SUM( storageNum ) IS NULL,
0,
SUM( storageNum )))+ ROUND(
sum( leaseNum ))+ ROUND(
SUM( repairNum )) + ROUND(
SUM( checkNum )) + ROUND( SUM( waitInputNum ) ) AS totalCount,
0 AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
(
SELECT
mat1.ID AS typeId,
mat1.NUM storageNum,
0 leaseNum,
0 repairNum,
0 checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
mm_type mat1
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
mat1.`LEVEL` = 4
AND mat1.IS_ACTIVE = '1'
GROUP BY
mat1.ID UNION
SELECT
typeId,
0 storageNum,
sum( leaseNum ) - SUM( backNum ) leaseNum,
0 repairNum,
0 checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
(
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
SUM( wir.NUM ) AS leaseNum,
0 AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_task_record wtr ON wir.SUP_ID = wtr.ID
LEFT JOIN wf_task_record wtr2 ON wtr.SUP_ID = wtr2.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
LEFT JOIN wf_collar_details wcd ON wcd.TASK_ID = wtr.SUP_ID
AND wcd.MODEL_ID = wir.MODEL_ID
WHERE
wir.TYPE = 2
AND wtr2.IS_ACTIVE = 1
AND wcd.IS_APPROVAL = 1
GROUP BY
mt.ID UNION
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
0 AS leaseNum,
SUM( wir.NUM ) AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_return_material_details wrd ON wir.SUP_ID = wrd.ID
LEFT JOIN wf_task_record wtr ON wrd.TASK_ID = wtr.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
WHERE
wir.TYPE = 4
AND wtr.IS_ACTIVE = 1
GROUP BY
mt.ID
) a
GROUP BY
typeId UNION
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
SUM( wrd.REPAIR_NUM ) - SUM( wrd.ALREPAIR_NUM ) - SUM( SCRAP_NUM ) AS repairNum,
0 checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
wf_repair_details wrd
LEFT JOIN mm_type mat1 ON wrd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrd.MODEL_ID UNION
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
SUM( wrc.CHECK_NUM ) - SUM( wrc.ALCHECK_NUM ) AS checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
wf_repair_check wrc
LEFT JOIN mm_type mat1 ON wrc.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrc.MODEL_ID UNION
SELECT DISTINCT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
0 checkNum,
0 AS scrapNum,
0 loseNum,
SUM(
IFNULL( PRE_PUT_NUM, 0 )) - sum(
IFNULL( AL_PUT_NUM, 0 )) AS waitInputNum,
1 AS isCount
FROM
wf_put_storage_details wpd
LEFT JOIN mm_type mat1 ON wpd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
wpd.IS_SURE = 0
GROUP BY
wpd.MODEL_ID
) res UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
SUM( mat1.NUM ) AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
mm_type mat1
WHERE
mat1.`LEVEL` = 4
AND mat1.IS_ACTIVE = '1' UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
sum( leaseNum ) - SUM( backNum ) inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
(
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
SUM( wir.NUM ) AS leaseNum,
0 AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_task_record wtr ON wir.SUP_ID = wtr.ID
LEFT JOIN wf_task_record wtr2 ON wtr.SUP_ID = wtr2.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
LEFT JOIN wf_collar_details wcd ON wcd.TASK_ID = wtr.SUP_ID
AND wcd.MODEL_ID = wir.MODEL_ID
WHERE
wir.TYPE = 2
AND wtr2.IS_ACTIVE = 1
AND wcd.IS_APPROVAL = 1
GROUP BY
mt.ID UNION
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
0 AS leaseNum,
SUM( wir.NUM ) AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_return_material_details wrd ON wir.SUP_ID = wrd.ID
LEFT JOIN wf_task_record wtr ON wrd.TASK_ID = wtr.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
WHERE
wir.TYPE = 4
AND wtr.IS_ACTIVE = 1
GROUP BY
mt.ID
) a UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 inUseCount,
SUM( repairNum )+ SUM( checkNum )+ SUM( waitInputNum ) AS repairCount,
0 AS scrappedCount
FROM
(
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
SUM( wrd.REPAIR_NUM ) - SUM( wrd.ALREPAIR_NUM ) - SUM( SCRAP_NUM ) AS repairNum,
0 checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
wf_repair_details wrd
LEFT JOIN mm_type mat1 ON wrd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrd.MODEL_ID UNION
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
SUM( wrc.CHECK_NUM ) - SUM( wrc.ALCHECK_NUM ) AS checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
1 AS isCount
FROM
wf_repair_check wrc
LEFT JOIN mm_type mat1 ON wrc.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrc.MODEL_ID UNION
SELECT DISTINCT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
0 checkNum,
0 AS scrapNum,
0 loseNum,
SUM(
IFNULL( PRE_PUT_NUM, 0 )) - sum(
IFNULL( AL_PUT_NUM, 0 )) AS waitInputNum,
1 AS isCount
FROM
wf_put_storage_details wpd
LEFT JOIN mm_type mat1 ON wpd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
wpd.IS_SURE = 0
GROUP BY
wpd.MODEL_ID
) res UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 inUseCount,
0 AS repairCount,
SUM( wsd.ALSCRAP_NUM ) AS scrappedCount
FROM
wf_scrap_details wsd
LEFT JOIN mm_type mat1 ON wsd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
wsd.IS_SURE = 1
) rs
SELECT
SUM( projectCount ) projectCount,
SUM( equipmentTypes ) equipmentTypes,
SUM( totalCount ) totalCount,
SUM( stockCount ) stockCount,
SUM( inUseCount ) inUseCount,
SUM( repairCount ) repairCount,
SUM( scrappedCount ) scrappedCount
FROM
(
SELECT
COUNT( DISTINCT bp.ID ) AS projectCount,
0 AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
bm_project bp
WHERE
bp.IS_ACTIVE = 1 UNION
SELECT
0 AS projectCount,
COUNT( DISTINCT mt.ID ) AS equipmentTypes,
0 AS totalCount,
0 AS stockCount,
0 AS inUseCount,
0 AS repairCount,
0 AS scrappedCount
FROM
mm_type mt
WHERE
mt.`LEVEL` = 4
AND mt.IS_ACTIVE = 1 UNION
SELECT
0 AS projectCount,
0 AS equipmentTypes,
sum( maTotal ) AS totalCount,
sum( storageNum ) AS stockCount,
SUM( inuseNum ) AS inUseCount,
SUM( repairNum ) AS repairCount,
SUM( scrapNum ) AS scrappedCount
FROM
(
SELECT
rs.typeId,
mat2.`NAME` maType,
mat1.`NAME` maName,
mat1.UNIT AS maUnit,
SUM( rs.storageNum )+ SUM( rs.inuseNum ) + SUM( rs.repairNum ) AS maTotal,
SUM( rs.storageNum ) storageNum,
SUM( rs.inuseNum ) inuseNum,
SUM( rs.repairNum ) repairNum,
SUM( rs.scrapNum ) scrapNum,
SUM( rs.projectNum ) projectNum,
SUM( rs.inuseCount ) inuseCount,
SUM( rs.backCount ) backCount,
SUM( rs.pyNum ) AS pyNum,
SUM( rs.pkNum ) AS pkNum,
rs.isCount
FROM
(
SELECT
mat1.ID AS typeId,
mat1.NUM storageNum,
0 inuseNum,
0 repairNum,
0 scrapNum,
0 projectNum,
0 inuseCount,
0 backCount,
0 AS pyNum,
0 AS pkNum,
mat1.IS_COUNT AS isCount
FROM
mm_type mat1
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
mat1.`LEVEL` = 4
AND mat1.IS_ACTIVE = '1'
GROUP BY
mat1.ID UNION
SELECT
typeId,
0 storageNum,
sum( leaseNum ) - SUM( backNum ) inuseNum,
0 repairNum,
0 scrapNum,
0 projectNum,
sum( leaseNum ) inuseCount,
SUM( backNum ) backCount,
0 AS pyNum,
0 AS pkNum,
isCount AS isCount
FROM
(
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
SUM( wir.NUM ) AS leaseNum,
0 AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_task_record wtr ON wir.SUP_ID = wtr.ID
LEFT JOIN wf_task_record wtr2 ON wtr.SUP_ID = wtr2.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
LEFT JOIN wf_collar_details wcd ON wcd.TASK_ID = wtr.SUP_ID
AND wcd.MODEL_ID = wir.MODEL_ID
WHERE
wir.TYPE = 2
AND wtr2.IS_ACTIVE = 1
AND wcd.IS_APPROVAL = 1
GROUP BY
mt.ID UNION
SELECT
mmt1.`NAME` AS pMachineName,
mmt.`NAME` AS machineName,
mt.`NAME` AS machineModel,
mt.ID AS typeId,
mt.BUY_PRICE AS buyPrice,
mt.UNIT,
0 AS leaseNum,
SUM( wir.NUM ) AS backNum,
mt.IS_COUNT AS isCount
FROM
wf_info_record wir
LEFT JOIN wf_return_material_details wrd ON wir.SUP_ID = wrd.ID
LEFT JOIN wf_task_record wtr ON wrd.TASK_ID = wtr.ID
LEFT JOIN mm_type mt ON wir.MODEL_ID = mt.ID
LEFT JOIN mm_type mmt ON mt.PARENT_ID = mmt.ID
LEFT JOIN mm_type mmt1 ON mmt.PARENT_ID = mmt1.ID
WHERE
wir.TYPE = 4
AND wtr.IS_ACTIVE = 1
GROUP BY
mt.ID
) a
GROUP BY
typeId UNION
SELECT
typeId,
0 storageNum,
0 inuseNum,
SUM( repairNum ) + SUM( checkNum ) + SUM( waitInputNum ) AS repairNum,
0 scrapNum,
0 projectNum,
0 inuseCount,
0 backCount,
0 AS pyNum,
0 AS pkNum,
isCount
FROM
(
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
SUM( wrd.REPAIR_NUM ) - SUM( wrd.ALREPAIR_NUM ) - SUM( SCRAP_NUM ) AS repairNum,
0 checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
mat1.IS_COUNT AS isCount
FROM
wf_repair_details wrd
LEFT JOIN mm_type mat1 ON wrd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrd.MODEL_ID UNION
SELECT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
SUM( wrc.CHECK_NUM ) - SUM( wrc.ALCHECK_NUM ) AS checkNum,
0 scrapNum,
0 loseNum,
0 waitInputNum,
mat1.IS_COUNT AS isCount
FROM
wf_repair_check wrc
LEFT JOIN mm_type mat1 ON wrc.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
GROUP BY
wrc.MODEL_ID UNION
SELECT DISTINCT
mat1.ID AS typeId,
0 storageNum,
0 leaseNum,
0 repairNum,
0 checkNum,
0 AS scrapNum,
0 loseNum,
SUM(
IFNULL( PRE_PUT_NUM, 0 )) - sum(
IFNULL( AL_PUT_NUM, 0 )) AS waitInputNum,
mat1.IS_COUNT AS isCount
FROM
wf_put_storage_details wpd
LEFT JOIN mm_type mat1 ON wpd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
wpd.IS_SURE = 0
GROUP BY
wpd.MODEL_ID
) res
GROUP BY
typeId UNION
SELECT
mat1.ID AS typeId,
0 storageNum,
0 inuseNum,
0 AS repairNum,
SUM( wsd.ALSCRAP_NUM ) AS scrapNum,
0 projectNum,
0 inuseCount,
0 backCount,
0 AS pyNum,
0 AS pkNum,
mat1.IS_COUNT AS isCount
FROM
wf_scrap_details wsd
LEFT JOIN mm_type mat1 ON wsd.MODEL_ID = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
LEFT JOIN mm_type mat3 ON mat3.ID = mat2.PARENT_ID
WHERE
wsd.IS_SURE = 1
GROUP BY
wsd.MODEL_ID UNION
SELECT
mps.type AS typeId,
0 storageNum,
0 inuseNum,
0 AS repairNum,
0 AS scrapNum,
COUNT( DISTINCT wla.PROJECT ) AS projectNum,
0 inuseCount,
0 backCount,
0 AS pyNum,
0 AS pkNum,
mat1.IS_COUNT AS isCount
FROM
ma_type_project_storage mps
LEFT JOIN wf_lease_agreement wla ON mps.agreement_id = wla.ID
LEFT JOIN mm_type mat1 ON mps.type = mat1.ID
WHERE
mps.`status` = 1
GROUP BY
mps.type UNION
SELECT
typeId,
0 storageNum,
0 inuseNum,
0 AS repairNum,
0 AS scrapNum,
0 AS projectNum,
0 inuseCount,
0 backCount,
SUM( pyNum ) AS pyNum,
SUM( pkNum ) AS pkNum,
isCount
FROM
(
SELECT
mli.TYPE_ID AS typeId,
mli.IS_PROFIT AS type,
IF
( mli.IS_PROFIT = 1, SUM( mli.IN_NUMS ), 0 ) AS pyNum,
IF
( mli.IS_PROFIT = 0, SUM( mli.IN_NUMS ), 0 ) AS pkNum,
mat1.IS_COUNT AS isCount
FROM
ma_lib_inventroy mli
LEFT JOIN mm_type mat1 ON mli.TYPE_ID = mat1.ID
GROUP BY
mli.TYPE_ID,
mli.IS_PROFIT
) res
GROUP BY
typeId
) rs
LEFT JOIN mm_type mat1 ON rs.typeId = mat1.ID
LEFT JOIN mm_type mat2 ON mat2.ID = mat1.PARENT_ID
GROUP BY
rs.typeId
) a
WHERE
typeId IN ( SELECT DISTINCT mt.ID FROM mm_type mt WHERE mt.`LEVEL` = 4 AND mt.IS_ACTIVE = 1 )
) rs
</select>