From 947622a11997e34a92b5b74bc5982aba21562240 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 09 十二月 2025 12:29:09 +0800
Subject: [PATCH] 次破报表添加厚度以及相关功能
---
north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java | 6 ++
north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue | 5 +
north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java | 2
north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue | 3 +
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 81 ++++++++++++++++++++++++--
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java | 30 ++++++++--
north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java | 2
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java | 7 +-
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue | 3
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java | 6 +-
10 files changed, 124 insertions(+), 21 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
index d1ca37f..78a6330 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
@@ -18,6 +18,9 @@
{field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
{field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
{field: 'responsiblePersonnel', width: 120,title: t('rework.responsibilityInformation'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'project', width: 120,title: t('order.project'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
index 35d1b2d..c67cd3a 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -46,6 +46,7 @@
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken')},
{field: 'area', width: 120, title: t('reportingWorks.wornArea')},
{field: 'personnel', width: 120, title: t('reportingWorks.responsiblePersonnel')},
@@ -55,7 +56,7 @@
data:[],//琛ㄦ牸鏁版嵁
url :'/report/damageReport',
exportUrl :'/report/exportDamageReport',
- exportName:t('report.crossProcessBreakdown'),
+ exportName:t('report.secondaryBrokenTotal'),
footList:['breakageQuantity','area']
})
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue b/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
index 976b2b9..7bfd3e8 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
@@ -18,6 +18,9 @@
{field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
{field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
{field: 'responsiblePersonnel', width: 120,title: t('rework.responsibilityInformation'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'project', width: 120,title: t('order.project'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -28,7 +31,7 @@
data:[],//琛ㄦ牸鏁版嵁
url :'/report/notCrossProcessBreaking',
exportUrl :'/report/exportNotCrossProcessBreaking',
- exportName:t('report.crossProcessBreakdown'),
+ exportName:t('report.notCrossProcessBreakdown'),
footList:['breakageQuantity','area']
})
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
index 32a6f69..ba60fca 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
@@ -213,21 +213,21 @@
}
@ApiOperation("璺ㄥ伐搴忔鐮存姤琛ㄥ鍑�")
@PostMapping("/exportCrossProcessBreaking")
- public void exportCrossProcessBreaking(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportCrossProcessBreaking(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, CrossProcessBreakingDTO.class, reportService.exportCrossProcessBreakingSv(dates), "CrossProcessBreaking");
}
@ApiOperation("闈炶法宸ュ簭娆$牬鎶ヨ〃瀵煎嚭")
@PostMapping("/exportNotCrossProcessBreaking")
- public void exportNotCrossProcessBreaking(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportNotCrossProcessBreaking(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, CrossProcessBreakingDTO.class, reportService.exportNotCrossProcessBreakingSv(dates), "CrossProcessBreaking");
}
@ApiOperation("娆$牬鏄庣粏鎶ヨ〃瀵煎嚭")
@PostMapping("/exportDamageReport")
- public void exportDamageReport(HttpServletResponse response, @RequestBody Map<String, Object> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportDamageReport(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, DamageReportDTO.class, reportService.exportDamageReportSv(dates), "DamageReport");
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
index 7a76551..604dd86 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
@@ -45,4 +45,10 @@
private String creator;
@ExcelProperty("鎶ュ伐缂栧彿")
private String reportingWorkId;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
+ @ExcelProperty("瀹�")
+ private Double childWidth;
+ @ExcelProperty("楂�")
+ private Double childHeight;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
index eae38a9..4074604 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
@@ -54,4 +54,6 @@
private String creator;
@ExcelProperty("鎶ュ伐缂栧彿")
private String reportingWorkId;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
index 49bf585..720774b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
@@ -47,4 +47,6 @@
private Double incompleteArea;
@ExcelProperty("鎴愬搧鍚嶇О")
private String productName;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
}
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 08dcd08..9175bfb 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
@@ -8,6 +8,7 @@
import java.sql.Date;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -48,13 +49,13 @@
List<Map<String, String>> rawMaterialRequisitionMp(Date selectTime1, Date selectTime2, Report report);
- List<CrossProcessBreakingDTO> exportCrossProcessBreakingMp(List<LocalDate> dates);
+ List<CrossProcessBreakingDTO> exportCrossProcessBreakingMp(List<String> dates);
- List<CrossProcessBreakingDTO> exportNotCrossProcessBreakingMp(List<LocalDate> dates);
+ List<CrossProcessBreakingDTO> exportNotCrossProcessBreakingMp(List<LocalDateTime> dates);
Map<String, Integer> getDamageReportPageTotal(Integer offset, Integer pageSize, String selectTime1, String selectTime2, DamageReportDTO damageReportDTO);
- List<DamageReportDTO> exportDamageReportMp(List<LocalDate> dates);
+ List<DamageReportDTO> exportDamageReportMp(List<LocalDateTime> dates);
List<OrderPlanDecompositionDTO> exportOrderPlanDecompositionMp(List<LocalDate> dates);
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 6b1f586..e3b2045 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
@@ -15,9 +15,11 @@
import com.example.erp.entity.pp.Report;
import com.example.erp.mapper.pp.*;
import com.example.erp.mapper.sd.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
@@ -973,12 +975,22 @@
return map;
}
- public List exportCrossProcessBreakingSv(List<LocalDate> dates) {
+ public List exportCrossProcessBreakingSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
return reportMapper.exportCrossProcessBreakingMp(dates);
}
- public List exportNotCrossProcessBreakingSv(List<LocalDate> dates) {
- return reportMapper.exportNotCrossProcessBreakingMp(dates);
+ public List exportNotCrossProcessBreakingSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
+ return reportMapper.exportNotCrossProcessBreakingMp(dateTimeList);
}
// public List exportTeamOutputSv(Map<String, Object> dates) {
@@ -990,9 +1002,15 @@
// String laminating = reportMapper.getLaminating(process);
// return reportMapper.exportTeamOutputMp(date,process,laminating);
// }
- public List exportDamageReportSv(Map<String, Object> dates) {
- List<LocalDate> date= (List<LocalDate>) dates.get("date");
- return reportMapper.exportDamageReportMp(date);
+ public List exportDamageReportSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
+
+ // 杩欓噷鐢� LocalDateTime 鍘昏皟鐢� mapper
+ return reportMapper.exportDamageReportMp(dateTimeList);
}
public List exportOrderPlanDecompositionSv(List<LocalDate> dates) {
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 03253e7..f169955 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -278,13 +278,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -331,6 +335,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
GROUP BY dd.id
order by dd.id desc
limit #{offset},#{pageSize}
@@ -354,13 +367,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -406,6 +423,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
GROUP BY dd.id
order by dd.id desc
@@ -469,6 +495,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
order by dd.id desc
</select>
@@ -528,6 +563,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
order by dd.id desc
</select>
@@ -788,7 +832,8 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
FROM
sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
@@ -797,6 +842,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -852,6 +898,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
GROUP BY
dd.id
@@ -870,6 +919,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -924,6 +974,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
limit #{offset},#{pageSize};
</select>
@@ -1302,7 +1355,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1339,7 +1395,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1381,7 +1440,8 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
FROM sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
@@ -1389,6 +1449,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE rw.reporting_work_time >= #{dates[0]}
and rw.reporting_work_time <= #{dates[1]}
AND dd.available = 0 and rw.reviewed_state>=0
@@ -1461,7 +1522,8 @@
od.quantity - odpd.reporting_work_num as incompleteNum,
ROUND(ogd.child_width * ogd.child_height * (od.quantity - odpd.reporting_work_num) / 1000000,
2) as incompleteArea,
- od.product_name
+ od.product_name,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
from sd.order_detail AS od
LEFT JOIN sd.order_glass_detail AS ogd
@@ -1479,6 +1541,7 @@
and odpd.process_id = fc.process_id
left join sd.`order` as o
on o.order_id = od.order_id
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where o.create_order>0
and odpd.process = #{process}
and date(o.create_time) >= #{date[0]}
@@ -2668,6 +2731,7 @@
AND dd.technology_number = ogd.technology_number
LEFT JOIN sd.order_detail AS od ON o.order_id = od.order_id
AND od.order_number = ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -2723,6 +2787,9 @@
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
</if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
+ </if>
</select>
<select id="teamOutputFootSum">
--
Gitblit v1.8.0