From f0eda3267b919bbfa7a23b73c990f557dce4f43f Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 30 五月 2025 10:37:31 +0800
Subject: [PATCH] 班组产量报表添加报工设备字段
---
north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java | 2 ++
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 50 +++++++++++++++++++++++++++++++++++++++++---------
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java | 3 ++-
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java | 2 +-
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue | 3 +++
5 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue b/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
index 3288d90..c14b0d7 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -298,6 +298,9 @@
{field: 'width', width: 90, title: t('order.width')},
{field: 'height', width: 90, title: t('order.height')},
{field: 'mmTotal', width: 90, title: t('order.totalThickness')},
+ {
+ field: 'processId', width: 140, title: t('machine.basicName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }
+ },
{field: 'workProcessName', width: 120, title: t('report.workProcessName')},
{field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')},
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java
index 7c01ca0..33695c0 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java
@@ -45,4 +45,6 @@
private String examineTime;
@ExcelProperty("鍦ㄥ埗鍝佸悕绉�")
private String workProcessName;
+ @ExcelProperty("鎶ュ伐璁惧")
+ private String deviceName;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
index aafc76b..936b03b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -86,7 +86,7 @@
Map<String, Integer> workInProgressTotal(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO);
- List<TeamOutputDTO> exportTeamOutputMp(List<LocalDate> date, String process);
+ List<TeamOutputDTO> exportTeamOutputMp(List<LocalDate> date, String process, String laminating);
Map<String,Float> workInProgressOrderFootSum(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index 3b5b03f..ef5cc4a 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -459,6 +459,7 @@
if (process.equals("鍏ㄩ儴")){
process="";
}
- return reportMapper.exportTeamOutputMp(date,process);
+ String laminating = reportMapper.getLaminating(process);
+ return reportMapper.exportTeamOutputMp(date,process,laminating);
}
}
diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index a264be9..ebcc5bf 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -126,6 +126,7 @@
<result column="reviewed" property="reviewed"/>
<result column="examine_time" property="examineTime"/>
<result column="workProcessName" property="workProcessName"/>
+ <result column="device_name" property="deviceName"/>
</resultMap>
<resultMap id="scheduleProductionScheduleMap" type="com.example.erp.dto.pp.ScheduleProductionScheduleDTO">
@@ -1347,6 +1348,7 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
rw.reviewed,
rw.examine_time,
+ rw.device_name,
-- GROUP_CONCAT(ogd.glass_child SEPARATOR '+') as workProcessName
CASE
WHEN LOCATE('step',#{laminating})>0 THEN GROUP_CONCAT(ogd.glass_child SEPARATOR '+')
@@ -1377,6 +1379,9 @@
<if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''">
and od.edging_type regexp #{teamOutputDTO.edgingType}
</if>
+ <if test="teamOutputDTO.deviceName != null and teamOutputDTO.deviceName != ''">
+ and rw.device_name regexp #{teamOutputDTO.deviceName}
+ </if>
<choose>
<when test="laminating == ''">
@@ -1390,11 +1395,15 @@
</when>
<otherwise>
GROUP BY
+ <if test="laminating == 'stepA' || laminating == 'stepC'" >
+ ogd.`group`,
+ </if>
rw.reporting_work_id,
rw.process_id,
rw.this_process,
rw.teams_groups_name,
rwd.order_number
+
</otherwise>
</choose>
ORDER BY
@@ -1420,7 +1429,14 @@
rwd.completed_quantity as completed_quantity,
ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*rwd.completed_quantity/1000000,2) as area,
od.product_name,
- JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
+ rw.reviewed,
+ rw.examine_time,
+ rw.device_name,
+ CASE
+ WHEN LOCATE('step',#{laminating})>0 THEN GROUP_CONCAT(ogd.glass_child SEPARATOR '+')
+ ELSE MAX( ogd.glass_child )
+ END AS workProcessName
FROM
reporting_work as rw left join reporting_work_detail as rwd on rwd.reporting_work_id=rw.reporting_work_id
left join flow_card as fc on fc.order_id=rw.order_id and fc.process_id=rw.process_id and fc.order_number=rwd.order_number and fc.technology_number=rwd.technology_number
@@ -1428,15 +1444,31 @@
left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number
left join sd.`order` as o on o.order_id=od.order_id
where o.create_order>0 and rw.reviewed_state>=0 and rwd.completed_quantity>0
- and date(rw.reporting_work_time) >= #{date[0]}
- and date(rw.reporting_work_time) <= #{date[1]}
+ and date(rw.reporting_work_time) >= #{date[0]}
+ and date(rw.reporting_work_time) <= #{date[1]}
and position(#{process} in rw.this_process)
- GROUP BY
- rw.reporting_work_id,
- rw.process_id,
- rw.this_process,
- rw.teams_groups_name,
- rwd.order_number
+ <choose>
+ <when test="laminating == ''">
+ GROUP BY
+ rw.reporting_work_id,
+ rw.process_id,
+ rw.this_process,
+ rw.teams_groups_name,
+ rwd.order_number,
+ rwd.technology_number
+ </when>
+ <otherwise>
+ GROUP BY
+ <if test="laminating == 'stepA' || laminating == 'stepC'" >
+ ogd.`group`,
+ </if>
+ rw.reporting_work_id,
+ rw.process_id,
+ rw.this_process,
+ rw.teams_groups_name,
+ rwd.order_number
+ </otherwise>
+ </choose>
ORDER BY
rw.this_process,
rw.process_id,
--
Gitblit v1.8.0