chenlu
2025-11-27 b70ea28f51757ed39992d5a71b2e15b1d4cc7c7d
xml中筛选条件匹配方法修改
7个文件已修改
296 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/BrokenReportTemplate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/Report.xml 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/BrokenReportTemplate.vue
@@ -11,6 +11,7 @@
import {useI18n} from "vue-i18n";
import useOrderInfoStore from "@/stores/sd/order/orderInfo";
import companyInfo from "@/stores/sd/companyInfo";
import {VxeUI} from "vxe-pc-ui";
const { t } = useI18n()
const xGrid = ref()
const company = companyInfo()
@@ -207,7 +208,9 @@
  }
}
const handleCellDblClick = ({ row, column, cell, $event }) => {
  VxeUI.clipboard.copy(row[column.property])
}
</script>
<template>
@@ -236,6 +239,7 @@
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          @cell-dblclick="handleCellDblClick"
      >
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row }">
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -44,8 +44,8 @@
    {field: 'breakageReason', width: 120, title: t('reportingWorks.breakageReason'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'thisProcess',width: 120, title: t('reportingWorks.reportingProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {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: 'childWidth', width: 100, title: t('order.width')},
    {field: 'childHeight', width: 100, title: t('order.height')},
    {field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken')},
    {field: 'area', width: 120, title: t('reportingWorks.wornArea')},
    {field: 'personnel', width: 120, title: t('reportingWorks.responsiblePersonnel')},
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
@@ -92,6 +92,7 @@
    gridOptions.loading = false
  } else {
    ElMessage.warning(res.msg)
    gridOptions.loading = false
  }
})
@@ -99,14 +100,16 @@
const selectPageList = () => {
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  gridOptions.loading = true
  request.post(`/report/qualityReport/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => {
    if (res.code == 200) {
      produceList = deepClone(res.data.data)
      xGrid.value.reloadData(produceList)
      gridOptions.loading = false
    } else {
      gridOptions.loading = false
      ElMessage.warning(res.msg)
    }
  })
@@ -114,7 +117,7 @@
//点击查询
const getWorkOrder = () => {
  gridOptions.loading = true
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  request.post(`/report/qualityReport/${startTime}/${endTime}`, filterData.value).then((res) => {
@@ -125,8 +128,10 @@
      // pageTotal.value = res.data.total
      produceList = deepClone(res.data.data)
      xGrid.value.reloadData(produceList)
      gridOptions.loading = false
    } else {
      ElMessage.warning(res.msg)
      gridOptions.loading = false
    }
  })
}
@@ -173,6 +178,7 @@
//子组件接收参数
const xGrid = ref()
const gridOptions = reactive({
  loading: true,
  border: "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -666,7 +666,7 @@
            result.put("footSum", footSumFuture.get());
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("并行查询异常:" + e.getMessage(), e);
            throw new RuntimeException("次破总表并行查询异常:" + e.getMessage(), e);
        }
        // 回传前端的时间(现在是带时分秒的)
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -914,7 +914,7 @@
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("并行查询报工记录异常:" + e.getMessage(), e);
            throw new RuntimeException("报工查询并行查询报工记录异常:" + e.getMessage(), e);
        }
        return result;
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -293,43 +293,43 @@
          and rw.this_process != dd.responsible_process
        and o.create_order>0
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) regexp #{crossProcessBreakingDTO.code}
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.processId != null and crossProcessBreakingDTO.processId != ''">
            and rw.process_id regexp #{crossProcessBreakingDTO.processId}
            and rw.process_id  like concat('%', #{crossProcessBreakingDTO.processId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.thisProcess != null and crossProcessBreakingDTO.thisProcess != ''">
            and rw.this_process regexp #{crossProcessBreakingDTO.thisProcess}
            and rw.this_process  like concat('%', #{crossProcessBreakingDTO.thisProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleProcess != null and crossProcessBreakingDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{crossProcessBreakingDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{crossProcessBreakingDTO.responsibleProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleTeam != null and crossProcessBreakingDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{crossProcessBreakingDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{crossProcessBreakingDTO.responsibleTeam}, '%')
        </if>
        <if test="crossProcessBreakingDTO.glassChild != null and crossProcessBreakingDTO.glassChild != ''">
            and ogd.glass_child regexp #{crossProcessBreakingDTO.glassChild}
            and ogd.glass_child like concat('%', #{crossProcessBreakingDTO.glassChild}, '%')
        </if>
        <if test="crossProcessBreakingDTO.breakageType != null and crossProcessBreakingDTO.breakageType != ''">
            and dd.breakage_type regexp #{crossProcessBreakingDTO.breakageType}
            and dd.breakage_type like concat('%', #{crossProcessBreakingDTO.breakageType}, '%')
        </if>
        <if test="crossProcessBreakingDTO.project != null and crossProcessBreakingDTO.project != ''">
            and o.project regexp #{crossProcessBreakingDTO.project}
            and o.project like concat('%', #{crossProcessBreakingDTO.project}, '%')
        </if>
        <if test="crossProcessBreakingDTO.orderId != null and crossProcessBreakingDTO.orderId != ''">
            and o.order_id regexp #{crossProcessBreakingDTO.orderId}
            and o.order_id like concat('%', #{crossProcessBreakingDTO.orderId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsiblePersonnel != null and crossProcessBreakingDTO.responsiblePersonnel != ''">
            and dd.responsible_personnel regexp #{crossProcessBreakingDTO.responsiblePersonnel}
            and dd.responsible_personnel like concat('%', #{crossProcessBreakingDTO.responsiblePersonnel}, '%')
        </if>
        <if test="crossProcessBreakingDTO.creator != null and crossProcessBreakingDTO.creator != ''">
            and rw.creator regexp #{crossProcessBreakingDTO.creator}
            and rw.creator like concat('%', #{crossProcessBreakingDTO.creator}, '%')
        </if>
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{crossProcessBreakingDTO.code}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{crossProcessBreakingDTO.reportingWorkId}
            and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
        </if>
        GROUP BY dd.id
        order by dd.id desc
@@ -369,43 +369,43 @@
        and rw.this_process = dd.responsible_process
        and o.create_order>0
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) regexp #{crossProcessBreakingDTO.code}
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.processId != null and crossProcessBreakingDTO.processId != ''">
            and rw.process_id regexp #{crossProcessBreakingDTO.processId}
            and rw.process_id  like concat('%', #{crossProcessBreakingDTO.processId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.thisProcess != null and crossProcessBreakingDTO.thisProcess != ''">
            and rw.this_process regexp #{crossProcessBreakingDTO.thisProcess}
            and rw.this_process  like concat('%', #{crossProcessBreakingDTO.thisProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleProcess != null and crossProcessBreakingDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{crossProcessBreakingDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{crossProcessBreakingDTO.responsibleProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleTeam != null and crossProcessBreakingDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{crossProcessBreakingDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{crossProcessBreakingDTO.responsibleTeam}, '%')
        </if>
        <if test="crossProcessBreakingDTO.glassChild != null and crossProcessBreakingDTO.glassChild != ''">
            and ogd.glass_child regexp #{crossProcessBreakingDTO.glassChild}
            and ogd.glass_child like concat('%', #{crossProcessBreakingDTO.glassChild}, '%')
        </if>
        <if test="crossProcessBreakingDTO.breakageType != null and crossProcessBreakingDTO.breakageType != ''">
            and dd.breakage_type regexp #{crossProcessBreakingDTO.breakageType}
            and dd.breakage_type like concat('%', #{crossProcessBreakingDTO.breakageType}, '%')
        </if>
        <if test="crossProcessBreakingDTO.project != null and crossProcessBreakingDTO.project != ''">
            and o.project regexp #{crossProcessBreakingDTO.project}
            and o.project like concat('%', #{crossProcessBreakingDTO.project}, '%')
        </if>
        <if test="crossProcessBreakingDTO.orderId != null and crossProcessBreakingDTO.orderId != ''">
            and o.order_id regexp #{crossProcessBreakingDTO.orderId}
            and o.order_id like concat('%', #{crossProcessBreakingDTO.orderId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsiblePersonnel != null and crossProcessBreakingDTO.responsiblePersonnel != ''">
            and dd.responsible_personnel regexp #{crossProcessBreakingDTO.responsiblePersonnel}
            and dd.responsible_personnel like concat('%', #{crossProcessBreakingDTO.responsiblePersonnel}, '%')
        </if>
        <if test="crossProcessBreakingDTO.creator != null and crossProcessBreakingDTO.creator != ''">
            and rw.creator regexp #{crossProcessBreakingDTO.creator}
            and rw.creator like concat('%', #{crossProcessBreakingDTO.creator}, '%')
        </if>
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{crossProcessBreakingDTO.code}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{crossProcessBreakingDTO.reportingWorkId}
            and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
        </if>
        GROUP BY dd.id
        order by dd.id desc
@@ -431,40 +431,43 @@
          and rw.reviewed_state>=0
          and rw.this_process != dd.responsible_process
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) regexp #{crossProcessBreakingDTO.code}
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.processId != null and crossProcessBreakingDTO.processId != ''">
            and rw.process_id regexp #{crossProcessBreakingDTO.processId}
            and rw.process_id  like concat('%', #{crossProcessBreakingDTO.processId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.thisProcess != null and crossProcessBreakingDTO.thisProcess != ''">
            and rw.this_process regexp #{crossProcessBreakingDTO.thisProcess}
            and rw.this_process  like concat('%', #{crossProcessBreakingDTO.thisProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleProcess != null and crossProcessBreakingDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{crossProcessBreakingDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{crossProcessBreakingDTO.responsibleProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleTeam != null and crossProcessBreakingDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{crossProcessBreakingDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{crossProcessBreakingDTO.responsibleTeam}, '%')
        </if>
        <if test="crossProcessBreakingDTO.glassChild != null and crossProcessBreakingDTO.glassChild != ''">
            and ogd.glass_child regexp #{crossProcessBreakingDTO.glassChild}
            and ogd.glass_child like concat('%', #{crossProcessBreakingDTO.glassChild}, '%')
        </if>
        <if test="crossProcessBreakingDTO.breakageType != null and crossProcessBreakingDTO.breakageType != ''">
            and dd.breakage_type regexp #{crossProcessBreakingDTO.breakageType}
            and dd.breakage_type like concat('%', #{crossProcessBreakingDTO.breakageType}, '%')
        </if>
        <if test="crossProcessBreakingDTO.project != null and crossProcessBreakingDTO.project != ''">
            and o.project regexp #{crossProcessBreakingDTO.project}
            and o.project like concat('%', #{crossProcessBreakingDTO.project}, '%')
        </if>
        <if test="crossProcessBreakingDTO.orderId != null and crossProcessBreakingDTO.orderId != ''">
            and o.order_id regexp #{crossProcessBreakingDTO.orderId}
            and o.order_id like concat('%', #{crossProcessBreakingDTO.orderId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsiblePersonnel != null and crossProcessBreakingDTO.responsiblePersonnel != ''">
            and dd.responsible_personnel regexp #{crossProcessBreakingDTO.responsiblePersonnel}
            and dd.responsible_personnel like concat('%', #{crossProcessBreakingDTO.responsiblePersonnel}, '%')
        </if>
        <if test="crossProcessBreakingDTO.creator != null and crossProcessBreakingDTO.creator != ''">
            and rw.creator like concat('%', #{crossProcessBreakingDTO.creator}, '%')
        </if>
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{crossProcessBreakingDTO.code}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{crossProcessBreakingDTO.reportingWorkId}
            and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
        </if>
        order by dd.id desc
    </select>
@@ -488,37 +491,43 @@
        and reviewed_state != 2
        and rw.this_process = dd.responsible_process
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) regexp #{crossProcessBreakingDTO.code}
            and JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.processId != null and crossProcessBreakingDTO.processId != ''">
            and rw.process_id regexp #{crossProcessBreakingDTO.processId}
            and rw.process_id  like concat('%', #{crossProcessBreakingDTO.processId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.thisProcess != null and crossProcessBreakingDTO.thisProcess != ''">
            and rw.this_process regexp #{crossProcessBreakingDTO.thisProcess}
            and rw.this_process  like concat('%', #{crossProcessBreakingDTO.thisProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleProcess != null and crossProcessBreakingDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{crossProcessBreakingDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{crossProcessBreakingDTO.responsibleProcess}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsibleTeam != null and crossProcessBreakingDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{crossProcessBreakingDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{crossProcessBreakingDTO.responsibleTeam}, '%')
        </if>
        <if test="crossProcessBreakingDTO.glassChild != null and crossProcessBreakingDTO.glassChild != ''">
            and ogd.glass_child regexp #{crossProcessBreakingDTO.glassChild}
            and ogd.glass_child like concat('%', #{crossProcessBreakingDTO.glassChild}, '%')
        </if>
        <if test="crossProcessBreakingDTO.breakageType != null and crossProcessBreakingDTO.breakageType != ''">
            and dd.breakage_type regexp #{crossProcessBreakingDTO.breakageType}
            and dd.breakage_type like concat('%', #{crossProcessBreakingDTO.breakageType}, '%')
        </if>
        <if test="crossProcessBreakingDTO.project != null and crossProcessBreakingDTO.project != ''">
            and o.project regexp #{crossProcessBreakingDTO.project}
            and o.project like concat('%', #{crossProcessBreakingDTO.project}, '%')
        </if>
        <if test="crossProcessBreakingDTO.orderId != null and crossProcessBreakingDTO.orderId != ''">
            and o.order_id regexp #{crossProcessBreakingDTO.orderId}
            and o.order_id like concat('%', #{crossProcessBreakingDTO.orderId}, '%')
        </if>
        <if test="crossProcessBreakingDTO.responsiblePersonnel != null and crossProcessBreakingDTO.responsiblePersonnel != ''">
            and dd.responsible_personnel regexp #{crossProcessBreakingDTO.responsiblePersonnel}
            and dd.responsible_personnel like concat('%', #{crossProcessBreakingDTO.responsiblePersonnel}, '%')
        </if>
        <if test="crossProcessBreakingDTO.creator != null and crossProcessBreakingDTO.creator != ''">
            and rw.creator like concat('%', #{crossProcessBreakingDTO.creator}, '%')
        </if>
        <if test="crossProcessBreakingDTO.code != null and crossProcessBreakingDTO.code != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{crossProcessBreakingDTO.code}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{crossProcessBreakingDTO.code}, '%')
        </if>
        <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
            and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
        </if>
        order by dd.id desc
    </select>
@@ -792,49 +801,49 @@
        AND dd.available = 0 and rw.reviewed_state>=0
        <if test="damageReportDTO.orderId != null and damageReportDTO.orderId != ''">
            and o.order_id regexp #{damageReportDTO.orderId}
            and o.order_id like concat('%', #{damageReportDTO.orderId}, '%')
        </if>
        <if test="damageReportDTO.project != null and damageReportDTO.project != ''">
            and o.project regexp #{damageReportDTO.project}
            and o.project like concat('%', #{damageReportDTO.project}, '%')
        </if>
        <if test="damageReportDTO.processId != null and damageReportDTO.processId != ''">
            and rw.process_id regexp #{damageReportDTO.processId}
            and rw.process_id like concat('%', #{damageReportDTO.processId}, '%')
        </if>
        <if test="damageReportDTO.orderNumber != null and damageReportDTO.orderNumber != ''">
            and dd.order_number regexp #{damageReportDTO.orderNumber}
            and dd.order_number like concat('%', #{damageReportDTO.orderNumber}, '%')
        </if>
        <if test="damageReportDTO.technologyNumber != null and damageReportDTO.technologyNumber != ''">
            and dd.technology_number regexp #{damageReportDTO.technologyNumber}
            and dd.technology_number like concat('%', #{damageReportDTO.technologyNumber}, '%')
        </if>
        <if test="damageReportDTO.responsibleProcess != null and damageReportDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{damageReportDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{damageReportDTO.responsibleProcess}, '%')
        </if>
        <if test="damageReportDTO.responsibleTeam != null and damageReportDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{damageReportDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{damageReportDTO.responsibleTeam}, '%')
        </if>
        <if test="damageReportDTO.responsibleEquipment != null and damageReportDTO.responsibleEquipment != ''">
            and dd.responsible_equipment regexp #{damageReportDTO.responsibleEquipment}
            and dd.responsible_equipment like concat('%', #{damageReportDTO.responsibleEquipment}, '%')
        </if>
        <if test="damageReportDTO.breakageType != null and damageReportDTO.breakageType != ''">
            and dd.breakage_type regexp #{damageReportDTO.breakageType}
            and dd.breakage_type like concat('%', #{damageReportDTO.breakageType}, '%')
        </if>
        <if test="damageReportDTO.breakageReason != null and damageReportDTO.breakageReason != ''">
            and dd.breakage_reason regexp #{damageReportDTO.breakageReason}
            and dd.breakage_reason like concat('%', #{damageReportDTO.breakageReason}, '%')
        </if>
        <if test="damageReportDTO.glassChild != null and damageReportDTO.glassChild != ''">
            and ogd.glass_child regexp #{damageReportDTO.glassChild}
            and ogd.glass_child like concat('%', #{damageReportDTO.glassChild}, '%')
        </if>
        <if test="damageReportDTO.glassNumber != null and damageReportDTO.glassNumber != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{damageReportDTO.glassNumber}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{damageReportDTO.glassNumber}, '%')
        </if>
        <if test="damageReportDTO.thisProcess != null and damageReportDTO.thisProcess != ''">
            and rw.this_process regexp #{damageReportDTO.thisProcess}
            and rw.this_process like concat('%', #{damageReportDTO.thisProcess}, '%')
        </if>
        <if test="damageReportDTO.creator != null and damageReportDTO.creator != ''">
            and rw.creator regexp #{damageReportDTO.creator}
            and rw.creator like concat('%', #{damageReportDTO.creator}, '%')
        </if>
        <if test="damageReportDTO.reportingWorkId != null and damageReportDTO.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{damageReportDTO.reportingWorkId}
            and rw.reporting_work_id like concat('%', #{damageReportDTO.reportingWorkId}, '%')
        </if>
        GROUP BY
        dd.id
@@ -852,42 +861,55 @@
        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.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
        WHERE
        rw.reporting_work_time >= #{selectTime1}
        AND rw.reporting_work_time &lt;=  #{selectTime2}
        AND dd.available = 0 and rw.reviewed_state>=0
        <if test="damageReportDTO.orderId != null and damageReportDTO.orderId != ''">
            and o.order_id regexp #{damageReportDTO.orderId}
            and o.order_id like concat('%', #{damageReportDTO.orderId}, '%')
        </if>
        <if test="damageReportDTO.project != null and damageReportDTO.project != ''">
            and o.project regexp #{damageReportDTO.project}
            and o.project like concat('%', #{damageReportDTO.project}, '%')
        </if>
        <if test="damageReportDTO.processId != null and damageReportDTO.processId != ''">
            and rw.process_id regexp #{damageReportDTO.processId}
            and rw.process_id like concat('%', #{damageReportDTO.processId}, '%')
        </if>
        <if test="damageReportDTO.orderNumber != null and damageReportDTO.orderNumber != ''">
            and dd.order_number regexp #{damageReportDTO.orderNumber}
            and dd.order_number like concat('%', #{damageReportDTO.orderNumber}, '%')
        </if>
        <if test="damageReportDTO.technologyNumber != null and damageReportDTO.technologyNumber != ''">
            and dd.technology_number regexp #{damageReportDTO.technologyNumber}
            and dd.technology_number like concat('%', #{damageReportDTO.technologyNumber}, '%')
        </if>
        <if test="damageReportDTO.responsibleProcess != null and damageReportDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{damageReportDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{damageReportDTO.responsibleProcess}, '%')
        </if>
        <if test="damageReportDTO.responsibleTeam != null and damageReportDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{damageReportDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{damageReportDTO.responsibleTeam}, '%')
        </if>
        <if test="damageReportDTO.responsibleEquipment != null and damageReportDTO.responsibleEquipment != ''">
            and dd.responsible_equipment regexp #{damageReportDTO.responsibleEquipment}
            and dd.responsible_equipment like concat('%', #{damageReportDTO.responsibleEquipment}, '%')
        </if>
        <if test="damageReportDTO.breakageType != null and damageReportDTO.breakageType != ''">
            and dd.breakage_type regexp #{damageReportDTO.breakageType}
            and dd.breakage_type like concat('%', #{damageReportDTO.breakageType}, '%')
        </if>
        <if test="damageReportDTO.breakageReason != null and damageReportDTO.breakageReason != ''">
            and dd.breakage_reason regexp #{damageReportDTO.breakageReason}
            and dd.breakage_reason like concat('%', #{damageReportDTO.breakageReason}, '%')
        </if>
        <if test="damageReportDTO.glassChild != null and damageReportDTO.glassChild != ''">
            and ogd.glass_child regexp #{damageReportDTO.glassChild}
            and ogd.glass_child like concat('%', #{damageReportDTO.glassChild}, '%')
        </if>
        <if test="damageReportDTO.glassNumber != null and damageReportDTO.glassNumber != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{damageReportDTO.glassNumber}, '%')
        </if>
        <if test="damageReportDTO.thisProcess != null and damageReportDTO.thisProcess != ''">
            and rw.this_process like concat('%', #{damageReportDTO.thisProcess}, '%')
        </if>
        <if test="damageReportDTO.creator != null and damageReportDTO.creator != ''">
            and rw.creator like concat('%', #{damageReportDTO.creator}, '%')
        </if>
        <if test="damageReportDTO.reportingWorkId != null and damageReportDTO.reportingWorkId != ''">
            and rw.reporting_work_id like concat('%', #{damageReportDTO.reportingWorkId}, '%')
        </if>
        limit #{offset},#{pageSize};
    </select>
@@ -2478,29 +2500,48 @@
        <if test="terminationVals != '1' and terminationVals != 1">
            and fc.termination_status !=1
        </if>
        <if test="workInProgressDTO.thisProcess != null and workInProgressDTO.thisProcess != ''">
            and d.process like concat('%', #{workInProgressDTO.thisProcess}, '%')
        </if>
        <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
            and o.customer_name regexp #{workInProgressDTO.customerName}
            and o.customer_name like concat('%', #{workInProgressDTO.customerName}, '%')
        </if>
        <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
            and o.project regexp #{workInProgressDTO.project}
            and o.project like concat('%', #{workInProgressDTO.project}, '%')
        </if>
        <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
            and o.order_id regexp #{workInProgressDTO.orderId}
            and o.order_id like concat('%', #{workInProgressDTO.orderId}, '%')
        </if>
        <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
            and o.batch regexp #{workInProgressDTO.batch}
            and o.batch like concat('%', #{workInProgressDTO.batch}, '%')
        </if>
        <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
            and fc.process_id regexp #{workInProgressDTO.processId}
            and fc.process_id like concat('%', #{workInProgressDTO.processId}, '%')
        </if>
        <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''">
            and ogd.order_number regexp #{workInProgressDTO.orderNumber}
            and ogd.order_number like concat('%', #{workInProgressDTO.orderNumber}, '%')
        </if>
        <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''">
            and ogd.technology_number regexp #{workInProgressDTO.technologyNumber}
            and ogd.technology_number like concat('%', #{workInProgressDTO.technologyNumber}, '%')
        </if>
        <if test="workInProgressDTO.quantity != null and workInProgressDTO.quantity != ''">
            and od.quantity like concat('%', #{workInProgressDTO.quantity}, '%')
        </if>
        <if test="workInProgressDTO.childWidth != null and workInProgressDTO.childWidth != ''">
            and ogd.child_width regexp REGEXP_REPLACE(#{workInProgressDTO.childWidth},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.childHeight != null and workInProgressDTO.childHeight != ''">
            and ogd.child_height regexp REGEXP_REPLACE(#{workInProgressDTO.childHeight},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.stockNum != null and workInProgressDTO.stockNum != ''">
            and (d.numCounts + d.patchNumSum - d.numCount -d.broken_num) like concat('%', #{workInProgressDTO.stockNum}, '%')
        </if>
        <if test="workInProgressDTO.stockArea != null and workInProgressDTO.stockArea != ''">
            and ROUND(ogd.child_width * ogd.child_height * (d.numCounts + d.patchNumSum - d.numCount -
            d.broken_num) / 1000000, 2) regexp REGEXP_REPLACE(#{workInProgressDTO.stockArea},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.glassNumber != null and workInProgressDTO.glassNumber != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{workInProgressDTO.glassNumber}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{workInProgressDTO.glassNumber}, '%')
        </if>
        group by fc.process_id, fc.order_number, fc.technology_number,d.process
@@ -2561,40 +2602,49 @@
          AND rw.reporting_work_time &lt;=  #{selectTime2}
          AND dd.available = 0 and rw.reviewed_state>=0
        <if test="damageReportDTO.orderId != null and damageReportDTO.orderId != ''">
            and o.order_id regexp #{damageReportDTO.orderId}
            and o.order_id like concat('%', #{damageReportDTO.orderId}, '%')
        </if>
        <if test="damageReportDTO.project != null and damageReportDTO.project != ''">
            and o.project regexp #{damageReportDTO.project}
            and o.project like concat('%', #{damageReportDTO.project}, '%')
        </if>
        <if test="damageReportDTO.processId != null and damageReportDTO.processId != ''">
            and rw.process_id regexp #{damageReportDTO.processId}
            and rw.process_id like concat('%', #{damageReportDTO.processId}, '%')
        </if>
        <if test="damageReportDTO.orderNumber != null and damageReportDTO.orderNumber != ''">
            and dd.order_number regexp #{damageReportDTO.orderNumber}
            and dd.order_number like concat('%', #{damageReportDTO.orderNumber}, '%')
        </if>
        <if test="damageReportDTO.technologyNumber != null and damageReportDTO.technologyNumber != ''">
            and dd.technology_number regexp #{damageReportDTO.technologyNumber}
            and dd.technology_number like concat('%', #{damageReportDTO.technologyNumber}, '%')
        </if>
        <if test="damageReportDTO.responsibleProcess != null and damageReportDTO.responsibleProcess != ''">
            and dd.responsible_process regexp #{damageReportDTO.responsibleProcess}
            and dd.responsible_process like concat('%', #{damageReportDTO.responsibleProcess}, '%')
        </if>
        <if test="damageReportDTO.responsibleTeam != null and damageReportDTO.responsibleTeam != ''">
            and dd.responsible_team regexp #{damageReportDTO.responsibleTeam}
            and dd.responsible_team like concat('%', #{damageReportDTO.responsibleTeam}, '%')
        </if>
        <if test="damageReportDTO.responsibleEquipment != null and damageReportDTO.responsibleEquipment != ''">
            and dd.responsible_equipment regexp #{damageReportDTO.responsibleEquipment}
            and dd.responsible_equipment like concat('%', #{damageReportDTO.responsibleEquipment}, '%')
        </if>
        <if test="damageReportDTO.breakageType != null and damageReportDTO.breakageType != ''">
            and dd.breakage_type regexp #{damageReportDTO.breakageType}
            and dd.breakage_type like concat('%', #{damageReportDTO.breakageType}, '%')
        </if>
        <if test="damageReportDTO.breakageReason != null and damageReportDTO.breakageReason != ''">
            and dd.breakage_reason regexp #{damageReportDTO.breakageReason}
            and dd.breakage_reason like concat('%', #{damageReportDTO.breakageReason}, '%')
        </if>
        <if test="damageReportDTO.glassChild != null and damageReportDTO.glassChild != ''">
            and ogd.glass_child regexp #{damageReportDTO.glassChild}
            and ogd.glass_child like concat('%', #{damageReportDTO.glassChild}, '%')
        </if>
        <if test="damageReportDTO.glassNumber != null and damageReportDTO.glassNumber != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{damageReportDTO.glassNumber}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{damageReportDTO.glassNumber}, '%')
        </if>
        <if test="damageReportDTO.thisProcess != null and damageReportDTO.thisProcess != ''">
            and rw.this_process like concat('%', #{damageReportDTO.thisProcess}, '%')
        </if>
        <if test="damageReportDTO.creator != null and damageReportDTO.creator != ''">
            and rw.creator like concat('%', #{damageReportDTO.creator}, '%')
        </if>
        <if test="damageReportDTO.reportingWorkId != null and damageReportDTO.reportingWorkId != ''">
            and rw.reporting_work_id like concat('%', #{damageReportDTO.reportingWorkId}, '%')
        </if>
    </select>
@@ -2843,47 +2893,47 @@
            and fc.termination_status !=1
        </if>
        <if test="workInProgressDTO.thisProcess != null and workInProgressDTO.thisProcess != ''">
            and d.process regexp #{workInProgressDTO.thisProcess}
            and d.process like concat('%', #{workInProgressDTO.thisProcess}, '%')
        </if>
        <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''">
            and o.customer_name regexp #{workInProgressDTO.customerName}
            and o.customer_name like concat('%', #{workInProgressDTO.customerName}, '%')
        </if>
        <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''">
            and o.project regexp #{workInProgressDTO.project}
            and o.project like concat('%', #{workInProgressDTO.project}, '%')
        </if>
        <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''">
            and o.order_id regexp #{workInProgressDTO.orderId}
            and o.order_id like concat('%', #{workInProgressDTO.orderId}, '%')
        </if>
        <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''">
            and o.batch regexp #{workInProgressDTO.batch}
            and o.batch like concat('%', #{workInProgressDTO.batch}, '%')
        </if>
        <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''">
            and fc.process_id regexp #{workInProgressDTO.processId}
            and fc.process_id like concat('%', #{workInProgressDTO.processId}, '%')
        </if>
        <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''">
            and ogd.order_number regexp #{workInProgressDTO.orderNumber}
            and ogd.order_number like concat('%', #{workInProgressDTO.orderNumber}, '%')
        </if>
        <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''">
            and ogd.technology_number regexp #{workInProgressDTO.technologyNumber}
            and ogd.technology_number like concat('%', #{workInProgressDTO.technologyNumber}, '%')
        </if>
        <if test="workInProgressDTO.quantity != null and workInProgressDTO.quantity != ''">
            and od.quantity regexp #{workInProgressDTO.quantity}
            and od.quantity like concat('%', #{workInProgressDTO.quantity}, '%')
        </if>
        <if test="workInProgressDTO.childWidth != null and workInProgressDTO.childWidth != ''">
            and ogd.child_width regexp #{workInProgressDTO.childWidth}
            and ogd.child_width regexp REGEXP_REPLACE(#{workInProgressDTO.childWidth},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.childHeight != null and workInProgressDTO.childHeight != ''">
            and ogd.child_height regexp #{workInProgressDTO.childHeight}
            and ogd.child_height regexp REGEXP_REPLACE(#{workInProgressDTO.childHeight},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.stockNum != null and workInProgressDTO.stockNum != ''">
            and (d.numCounts + d.patchNumSum - d.numCount -d.broken_num) regexp #{workInProgressDTO.stockNum}
            and (d.numCounts + d.patchNumSum - d.numCount -d.broken_num) like concat('%', #{workInProgressDTO.stockNum}, '%')
        </if>
        <if test="workInProgressDTO.stockArea != null and workInProgressDTO.stockArea != ''">
            and ROUND(ogd.child_width * ogd.child_height * (d.numCounts + d.patchNumSum - d.numCount -
            d.broken_num) / 1000000, 2) regexp #{workInProgressDTO.stockArea}
            d.broken_num) / 1000000, 2) regexp REGEXP_REPLACE(#{workInProgressDTO.stockArea},'\\.0+$','')
        </if>
        <if test="workInProgressDTO.glassNumber != null and workInProgressDTO.glassNumber != ''">
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{workInProgressDTO.glassNumber}
            and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') like concat('%', #{workInProgressDTO.glassNumber}, '%')
        </if>
        <choose>
            <when test="laminating != null and laminating == 'stepC'">
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -1064,7 +1064,7 @@
            and o.order_id regexp #{reportingWork.orderId}
        </if>
        <if test="reportingWork.processId != null and reportingWork.processId != ''">
            and rw.process_id regexp #{reportingWork.processId}
            and CONCAT(rw.process_id,'/',rwd.goup) LIKE CONCAT('%', #{reportingWork.processId}, '%')
        </if>
        <if test="reportingWork.order.project != null and reportingWork.order.project != ''">
            and o.project regexp #{reportingWork.order.project}
@@ -1079,7 +1079,7 @@
            and rw.device_name regexp #{reportingWork.deviceName}
        </if>
        <if test="reportingWork.teamsGroupsName != null and reportingWork.teamsGroupsName != ''">
            and rw.teams_groups_name regexp #{reportingWork.teamsGroupsName}
            and rw.teams_groups_name like concat('%', #{reportingWork.teamsGroupsName}, '%')
        </if>
    </select>