From 87762cbb012e4729521dada41a587640c4b5213e Mon Sep 17 00:00:00 2001 From: jiang Date: Wed, 9 Jul 2025 15:00:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=85=B7=E5=BA=93=E5=AD=98=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/mybatis/wf/TaskRecordMapper.xml | 432 +++++------------- .../ReturnMaterialTaskRecordController.java | 5 + src/com/bonus/sys/Page.java | 12 +- 3 files changed, 136 insertions(+), 313 deletions(-) diff --git a/resources/mybatis/wf/TaskRecordMapper.xml b/resources/mybatis/wf/TaskRecordMapper.xml index e9f52f7..de2cc32 100644 --- a/resources/mybatis/wf/TaskRecordMapper.xml +++ b/resources/mybatis/wf/TaskRecordMapper.xml @@ -51,325 +51,135 @@ - +( SELECT - wtr.id, - wtr.DEFINITION_ID AS definitionId, - wtr.NUMBER AS number, - wtr.IS_FINISH as isFinish, - wpd.NAME AS processName, - wtd.NAME AS definitionName, - pu.`NAME` AS creatorName, - DATE_FORMAT( wtr.OPERATION_TIME, '%Y-%m-%d' ) AS operationTime + wtr.id AS id, + CASE + WHEN wtr.DEFINITION_ID IN (1,2,8) THEN wtr.NUMBER + WHEN wtr.DEFINITION_ID IN (5,11) THEN wtr1.NUMBER + END AS number, + wpd.NAME AS processName, + wtd.NAME AS definitionName, + pu.NAME AS creatorName, + DATE_FORMAT(wtr.OPERATION_TIME, '%Y-%m-%d') AS operationTime, + wtr.DEFINITION_ID AS definitionId, + CASE + WHEN wtr.DEFINITION_ID = 11 THEN wtr1.IS_FINISH + ELSE wtr.IS_FINISH + END AS isFinish, + 'TASK' AS source FROM - wf_task_record wtr - LEFT JOIN pm_user pu ON pu.id = wtr.OPERATION_USER - LEFT JOIN wf_task_definition wtd ON wtd.ID = wtr.DEFINITION_ID - LEFT JOIN wf_process_definition wpd ON wpd.id = wtr.PROCESS_ID - LEFT JOIN wf_agreement_task wat ON wat.TASK_ID = wtr.ID - LEFT JOIN wf_lease_agreement wla ON wla.ID = wat.AGREEMENT_ID + wf_task_record wtr +LEFT JOIN wf_task_record wtr1 ON wtr1.ID = wtr.SUP_ID +LEFT JOIN pm_user pu ON pu.id = wtr.OPERATION_USER +LEFT JOIN wf_task_definition wtd ON wtd.ID = wtr.DEFINITION_ID +LEFT JOIN wf_process_definition wpd ON wpd.id = wtr.PROCESS_ID WHERE + wtr.DEFINITION_ID IN (1, 2, 5, 8, 11) + AND ( + (wtr.DEFINITION_ID = 11 AND wtr1.IS_FINISH = #{param.isFinish}) + OR (wtr.DEFINITION_ID != 11 AND wtr.IS_FINISH = #{param.isFinish}) + ) + AND wtr.IS_ACTIVE = 1 + + AND wtr.OPERATION_USER = #{param.operationUserId} + + + AND ( + wpd.NAME LIKE CONCAT('%', #{param.keyWord}, '%') + OR wtd.NAME LIKE CONCAT('%', #{param.keyWord}, '%') + OR pu.NAME LIKE CONCAT('%', #{param.keyWord}, '%') + ) + +) - wtr.DEFINITION_ID = 2 and wtr.IS_FINISH = #{param.isFinish} - AND wtr.IS_ACTIVE = 1 UNION +UNION ALL + +( SELECT - wtr.id, - wtr.DEFINITION_ID AS definitionId, - wtr1.NUMBER AS number, - wtr.IS_FINISH as isFinish, - wpd.NAME AS processName, - wtd.NAME AS definitionName, - pu.`NAME` AS creatorName, - DATE_FORMAT( wtr.OPERATION_TIME, '%Y-%m-%d' ) AS operationTime + cpa.id AS id, + cpa.code AS number, + '用车计划' AS processName, + '用车申请' AS definitionName, + pu.NAME AS creatorName, + DATE_FORMAT(cpa.create_time, '%Y-%m-%d') AS operationTime, + NULL AS definitionId, + NULL AS isFinish, + 'PLAN' AS source FROM - wf_task_record wtr - LEFT JOIN pm_user pu ON pu.id = wtr.OPERATION_USER - LEFT JOIN wf_task_definition wtd ON wtd.ID = wtr.DEFINITION_ID - LEFT JOIN wf_process_definition wpd ON wpd.id = wtr.PROCESS_ID - LEFT JOIN wf_agreement_task wat ON wat.TASK_ID = wtr.ID - LEFT JOIN wf_lease_agreement wla ON wla.ID = wat.AGREEMENT_ID - LEFT JOIN wf_task_record wtr1 ON wtr1.ID = wtr.SUP_ID + car_plan_apply cpa +LEFT JOIN pm_user pu ON pu.id = cpa.creator WHERE + cpa.status = '1' + AND ( + + 1 = 1 + + + cpa.status_type = '3' + + + cpa.status_type = '4' + + + 1 = 0 + + ) + + AND pu.NAME LIKE CONCAT('%', #{param.keyWord}, '%') + +) + +UNION ALL + +( +SELECT + cpo.id AS id, + cpa.code AS number, + '派车计划' AS processName, + CASE cpo.type + WHEN 1 THEN '车辆派车' + WHEN 2 THEN '吊车派车' + ELSE '派车' + END AS definitionName, + pu.NAME AS creatorName, + DATE_FORMAT(cpo.create_time, '%Y-%m-%d') AS operationTime, + NULL AS definitionId, + cpo.status AS isFinish, + 'OUT' AS source +FROM + car_plan_out cpo +LEFT JOIN pm_user pu ON pu.id = cpo.creator +LEFT JOIN car_plan_apply cpa ON cpo.apply_id = cpa.id +WHERE + 1 = 1 + + AND cpo.status = '0' + + + AND cpo.status = '1' + + + + 1 = 0 + + + AND pu.NAME LIKE CONCAT('%', #{param.keyWord}, '%') + +) + +ORDER BY id DESC + - wtr.DEFINITION_ID = 5 and wtr.IS_FINISH = #{param.isFinish} - AND wtr.IS_ACTIVE = 1 - UNION - SELECT - wtr.id, - wtr.DEFINITION_ID AS definitionId, - wtr.NUMBER AS number, - wtr.IS_FINISH as isFinish, - wpd.NAME AS processName, - wtd.NAME AS definitionName, - pu.`NAME` AS creatorName, - DATE_FORMAT( wtr.OPERATION_TIME, '%Y-%m-%d' ) AS operationTime -FROM - wf_task_record wtr - LEFT JOIN pm_user pu ON pu.id = wtr.OPERATION_USER - LEFT JOIN wf_task_definition wtd ON wtd.ID = wtr.DEFINITION_ID - LEFT JOIN wf_process_definition wpd ON wpd.id = wtr.PROCESS_ID - LEFT JOIN wf_agreement_task wat ON wat.TASK_ID = wtr.ID - LEFT JOIN wf_lease_agreement wla ON wla.ID = wat.AGREEMENT_ID -WHERE - - wtr.DEFINITION_ID = 8 and wtr.IS_FINISH =#{param.isFinish} - AND wtr.IS_ACTIVE = 1 - UNION - - - SELECT - wtr.id, - wtr.DEFINITION_ID AS definitionId, - wtr1.NUMBER AS number, - wtr1.IS_FINISH as isFinish, - wpd.NAME AS processName, - wtd.NAME AS definitionName, - pu.`NAME` AS creatorName, - DATE_FORMAT( wtr.OPERATION_TIME, '%Y-%m-%d' ) AS operationTime -FROM - wf_task_record wtr - LEFT JOIN pm_user pu ON pu.id = wtr.OPERATION_USER - LEFT JOIN wf_task_definition wtd ON wtd.ID = wtr.DEFINITION_ID - LEFT JOIN wf_process_definition wpd ON wpd.id = wtr.PROCESS_ID - LEFT JOIN wf_agreement_task wat ON wat.TASK_ID = wtr.ID - LEFT JOIN wf_lease_agreement wla ON wla.ID = wat.AGREEMENT_ID - LEFT join wf_task_record wtr1 on wtr1.ID=wtr.SUP_ID -WHERE - - wtr.DEFINITION_ID = 11 and wtr1.IS_FINISH = #{param.isFinish} - AND wtr.IS_ACTIVE = 1 -)a - WHERE - a.isFinish= #{param.isFinish} - - AND ( - wpd.NAME LIKE concat("%",#{param.keyWord},"%") or - wtd.NAME LIKE concat("%",#{param.keyWord},"%") or - pu.NAME LIKE concat("%",#{param.keyWord},"%") or - bp.`NAME` LIKE concat("%",#{param.keyWord},"%") - ) - - GROUP BY a.id - ORDER BY a.id DESC - + +