From 35706002455c370eca21e177b95e39cff78f8f5b Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 15 七月 2025 08:34:28 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/router/index.js                                |    5 +
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue  |   22 ++++-
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue      |    8 +
 north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue             |   11 ++
 north-glass-erp/src/main/resources/mapper/pp/Report.xml                           |   12 +--
 north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue             |    1 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.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/TeamOutput.vue                 |  111 +++++++++++++++++++--------
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java |    5 
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java     |   25 ++++++
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                         |    2 
 12 files changed, 152 insertions(+), 59 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue
index 25bbae0..accd9ae 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue
@@ -22,7 +22,8 @@
 let filterData = ref({})
 
 const data = ref({
-  printList: []
+  printList: [],
+  landingSequence:null
 })
 
 let props = defineProps({
@@ -32,7 +33,8 @@
   lableType:null,//鏍囩绫诲瀷
   titleList:null,//鏍囬
   switch:null,//鍒ゆ柇鏄惁涓烘柊鎵撳嵃,
-  lastList:[]
+  lastList:[],
+  landingSequence:null
 })
 
 const {currentRoute} = useRouter()
@@ -47,7 +49,9 @@
 }
 let lableType = props.lableType
 let switchType = props.switch
+let landingSequence = props.landingSequence
 data.value.printList = JSON.parse(props.list)
+data.value.landingSequence = props.landingSequence
 onMounted(() => {
     request.post(`/processCard/getSelectPrintCustomLabelDetails/${type}/${lableType}`, data.value).then((res) => {
       if (res.code == 200) {
diff --git a/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
index 63ab65e..579a52a 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -45,7 +45,8 @@
   type: null,//鏍囩妯℃澘
   lableType: null,//鏍囩绫诲瀷
   titleList:null,//鏍囬鍒楄〃
-  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+  switch:null,//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+  landingSequence:null//鏍囩钀芥灦椤哄簭鎵撳嵃
 })
 
 //瀹ゅ唴瀹ゅ闈�
@@ -114,7 +115,8 @@
   list:null,//鍕鹃�夌殑鏁版嵁
   faceOrientation:null,//鍐呭闈�
   type:null,//鏍囩妯℃澘
-  lableType:null//鏍囩绫诲瀷
+  lableType:null,//鏍囩绫诲瀷
+  landingSequence:null
 })
 
 const printContentLabel = ref({
@@ -130,7 +132,7 @@
 let type = props.type
 let lableTypes = props.lableType
 data.value.printList = JSON.parse(props.list)
-
+let landingSequence = props.landingSequence
 
 const TgaStyleSet = ref([
   {
@@ -988,6 +990,8 @@
   labelRow.value.type = type
   labelRow.value.lableType = lableType.value
   labelRow.value.switch=true
+  labelRow.value.landingSequence = landingSequence
+
   lastList.value = []
   if (lableTypes == 1) {
 
@@ -1176,6 +1180,7 @@
                         :type="labelRow.type"
                         :titleList="labelRow.titleList"
                         :switch="labelRow.switch"
+                        :landingSequence = "labelRow.landingSequence"
                         style="width: 100%;height: 100%"/>
   </el-dialog>
 
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index 0242234..7b2a25a 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -551,6 +551,11 @@
               component: () => import('../views/pp/processCard/PrintProjectDetails.vue'),
             },
             {
+              path: 'TagStyleDesigner',
+              name: 'TagStyleDesigner',
+              component: () => import('../components/pp/TagStyleDesigner.vue'),
+            },
+            {
               path: '',
               redirect:'/main/processCard/selectProcessCard'
             }
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
index 6a0d77b..2e52072 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -2,7 +2,7 @@
 
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone"
-import {ElDatePicker, ElMessage} from "element-plus"
+import {ElCheckbox, ElDatePicker, ElMessage} from "element-plus"
 import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
 import {useRouter} from 'vue-router'
 import {useI18n} from 'vue-i18n'
@@ -50,7 +50,8 @@
   technologyNumber: null,
   process: null
 })
-
+//钀芥灦椤哄簭
+let landingSequence= ref(1)
 //鎵撳嵃
 let printRow = ref({
   list: null,
@@ -64,7 +65,8 @@
   faceOrientation: null,//鍐呭闈�
   type: null,//鏍囩妯℃澘
   lableType: null,//鏍囩绫诲瀷
-  dataType: null//鏍囩绫诲瀷
+  dataType: null,
+  landingSequence:null
 })
 
 
@@ -715,7 +717,7 @@
               id += selectRecords[i].id + "|"
             }
           }
-
+          labelRow.value.landingSequence = landingSequence
           labelRow.value.list = JSON.stringify(selectRecords)
           labelRow.value.faceOrientation = faceOrientation
           labelRow.value.type = type
@@ -820,6 +822,10 @@
     }
   })
 }
+
+function onlandingSequenceChange(checked) {
+  landingSequence.value = checked ? 0 : 1
+}
 </script>
 
 <template>
@@ -856,6 +862,13 @@
             :value="item.value"
         />
       </el-select>
+      &nbsp;
+      <el-checkbox
+          :model-value="landingSequence === 0"
+          @change="onlandingSequenceChange"
+      >
+        {{ t('processCard.landingSequence') }}
+      </el-checkbox>
     </div>
 
     <div class="main-table">
@@ -991,6 +1004,7 @@
                           :lableType="labelRow.lableType"
                           :list="labelRow.list"
                           :type="labelRow.type"
+                          :landingSequence="labelRow.landingSequence"
                           style="width: 100%;height: 100%"/>
     </el-dialog>
 
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 3d9c51e..0a6e186 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
@@ -59,15 +59,21 @@
 
 //鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿
 function getNowTime() {
-  const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 3)
-      .toISOString()
-      .replace('T', ' ')
-      .slice(0, 10) //榛樿寮�濮嬫椂闂�7澶╁墠
-  const end = new Date(new Date().getTime())
-      .toISOString()
-      .replace('T', ' ')
-      .slice(0, 10)//榛樿缁撴潫鏃堕棿褰撳墠鏃堕棿
-  return [start, end]
+  const pad = (n) => n.toString().padStart(2, '0');
+
+  const formatDate = (date) => {
+    const year = date.getFullYear();
+    const month = pad(date.getMonth() + 1);
+    const day = pad(date.getDate());
+    return `${year}-${month}-${day} 08:00:00`;
+  };
+
+  const now = new Date();
+  const startDate = new Date(now.getTime() - 3600 * 1000 * 24 * 3); // 涓夊ぉ鍓�
+  const start = formatDate(startDate);
+  const end = formatDate(now);
+
+  return [start, end];
 }
 
 
@@ -89,7 +95,11 @@
 let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
 // 浣跨敤 setDate 鏂规硶鍔犱竴澶�
 date.setDate(date.getDate() + 1);
-let newEndTime = date.toISOString().split('T')[0]; // 鑾峰彇 YYYY-MM-DD 鏍煎紡鐨勫瓧绗︿覆
+const pad = (n) => n.toString().padStart(2, '0');
+let year = date.getFullYear();
+let month = pad(date.getMonth() + 1);
+let day = pad(date.getDate());
+let newEndTime = `${year}-${month}-${day} 08:00:00`;
 //绗竴娆″姞杞芥暟鎹�
 request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
 
@@ -114,13 +124,21 @@
 //椤佃剼缈婚〉鏌ヨ
 const selectPageList = () => {
   gridOptions.loading = true
-  let startTime = form.date1[0]
-  let endTime = form.date1[1]
-  let selectProcesses = procseeValue.value
-  let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
-// 浣跨敤 setDate 鏂规硶鍔犱竴澶�
-  date.setDate(date.getDate() + 1);
-  let newEndTime = date.toISOString().split('T')[0]; // 鑾峰彇 YYYY-MM-DD 鏍煎紡鐨勫瓧绗︿覆
+  const rawStart = new Date(form.date1[0]);
+  const rawEnd = new Date(form.date1[1]);
+  // 濡傛灉鏃堕棿閮ㄥ垎鏄� 00:00锛屽垯璁剧疆涓� 08:00
+  if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) {
+    rawStart.setHours(8, 0, 0, 0);
+  }
+  if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) {
+    rawEnd.setHours(8, 0, 0, 0);
+  }
+  const startTime = formatDateTime(rawStart);
+  const endPlusOne = new Date(rawEnd);
+  endPlusOne.setDate(endPlusOne.getDate() + 1);
+  const newEndTime = formatDateTime(endPlusOne);
+  const selectProcesses = procseeValue.value;
+  form.date1 = [startTime, newEndTime];
   request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
     if (res.code == 200) {
 
@@ -136,17 +154,35 @@
     }
   })
 }
+const formatDateTime = (date) => {
+  const year = date.getFullYear();
+  const month = pad(date.getMonth() + 1);
+  const day = pad(date.getDate());
+  const hour = pad(date.getHours());
+  const minute = pad(date.getMinutes());
+  return `${year}-${month}-${day} ${hour}:${minute}:00`;
+};
+
 
 //鐐瑰嚮鏌ヨ
 const getWorkOrder = () => {
   gridOptions.loading = true
-  let startTime = form.date1[0]
-  let endTime = form.date1[1]
-  let selectProcesses = procseeValue.value
-  let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
-// 浣跨敤 setDate 鏂规硶鍔犱竴澶�
-  date.setDate(date.getDate() + 1);
-  let newEndTime = date.toISOString().split('T')[0]; // 鑾峰彇 YYYY-MM-DD 鏍煎紡鐨勫瓧绗︿覆
+  // 鍘熷 form.date1 鏄棩鏈熷璞℃暟缁�
+  const rawStart = new Date(form.date1[0]);
+  const rawEnd = new Date(form.date1[1]);
+  // 濡傛灉鏃堕棿閮ㄥ垎鏄� 00:00锛屽垯璁剧疆涓� 08:00
+  if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) {
+    rawStart.setHours(8, 0, 0, 0);
+  }
+  if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) {
+    rawEnd.setHours(8, 0, 0, 0);
+  }
+  const startTime = formatDateTime(rawStart);
+  const endPlusOne = new Date(rawEnd);
+  endPlusOne.setDate(endPlusOne.getDate() + 1);
+  const newEndTime = formatDateTime(endPlusOne);
+  const selectProcesses = procseeValue.value;
+  form.date1 = [startTime, newEndTime];
   request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
 
     if (res.code == 200) {
@@ -158,7 +194,6 @@
       produceList.forEach(item => {
         item.mmTotal = sumMmValues(item.workProcessName);
       });
-      console.log(produceList)
       xGrid.value.loadData(produceList)
       gridOptions.loading = false
     } else {
@@ -208,12 +243,20 @@
   }
   gridOptions.loading = true
 
-  let startTime = form.date1[0]
-  let endTime = form.date1[1]
-  let date = new Date(endTime); // 灏嗘棩鏈熷瓧绗︿覆杞负 Date 瀵硅薄
-// 浣跨敤 setDate 鏂规硶鍔犱竴澶�
-  date.setDate(date.getDate() + 1);
-  let newEndTime = date.toISOString().split('T')[0]; // 鑾峰彇 YYYY-MM-DD 鏍煎紡鐨勫瓧绗︿覆
+  const rawStart = new Date(form.date1[0]);
+  const rawEnd = new Date(form.date1[1]);
+  // 濡傛灉鏃堕棿閮ㄥ垎鏄� 00:00锛屽垯璁剧疆涓� 08:00
+  if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) {
+    rawStart.setHours(8, 0, 0, 0);
+  }
+  if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) {
+    rawEnd.setHours(8, 0, 0, 0);
+  }
+  const startTime = formatDateTime(rawStart);
+  const endPlusOne = new Date(rawEnd);
+  endPlusOne.setDate(endPlusOne.getDate() + 1);
+  const newEndTime = formatDateTime(endPlusOne);
+  form.date1 = [startTime, newEndTime];
   request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => {
 
     if (res.code == 200) {
@@ -397,10 +440,10 @@
             v-model="form.date1"
             :start-placeholder="$t('basicData.startDate')"
             :end-placeholder="$t('basicData.endDate')"
-            format="YYYY/MM/DD"
-            style="width: 250px"
+            format="YYYY/MM/DD HH:mm"
+            style="width: 350px"
             type="daterange"
-            value-format="YYYY-MM-DD"
+            value-format="YYYY/MM/DD HH:mm"
         />
         &nbsp;&nbsp;
         <el-select v-model="procseeValue" clearable default-value="default_city" style="width: 120px">
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
index 27542de..accc9fa 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -172,7 +172,6 @@
   request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => {
 
     if (res.code == 200) {
-      console.log(res.data.data)
       total.dataTotal = res.data.total.total * 1
       total.pageTotal = res.data.total.pageTotal
       pageTotal.value = res.data.total
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 42d6362..bef6352 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
@@ -1,6 +1,7 @@
 package com.example.erp.controller.pp;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.date.DateTime;
 import com.example.erp.common.Constants;
 import com.example.erp.common.Result;
 import com.example.erp.dto.pp.*;
@@ -180,8 +181,8 @@
     public Result teamOutput(
             @PathVariable Integer pageNum,
             @PathVariable Integer pageSize,
-            @PathVariable Date selectTime1,
-            @PathVariable Date selectTime2,
+            @PathVariable String selectTime1,
+            @PathVariable String selectTime2,
             @PathVariable String selectProcesses,
             @RequestBody TeamOutputDTO teamOutputDTO) {
         return Result.seccess(reportService.teamOutputSv(pageNum, pageSize, selectTime1, selectTime2,selectProcesses, teamOutputDTO));
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 659d3e6..a08436e 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
@@ -1,6 +1,7 @@
 package com.example.erp.mapper.pp;
 
 
+import cn.hutool.core.date.DateTime;
 import com.example.erp.dto.pp.*;
 import com.example.erp.entity.pp.Report;
 import org.apache.ibatis.annotations.Mapper;
@@ -66,9 +67,9 @@
 
     List<YieldDTO> exportYieldMp(List<LocalDate> date, String process);
 
-    List<TeamOutputDTO> teamOutputMp(Integer offset, Integer pageSize, Date selectTime1, Date selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
+    List<TeamOutputDTO> teamOutputMp(Integer offset, Integer pageSize, String selectTime1, String selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
 
-    Map<String, Integer> teamOutputPageTotal(Integer offset, Integer pageSize, Date selectTime1, Date selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
+    Map<String, Integer> teamOutputPageTotal(Integer offset, Integer pageSize, String selectTime1, String selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
 
     List<Map<String, String>> workInProgressOrderMp(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO);
 
@@ -94,7 +95,7 @@
 
     Map<String,Float> damageReportFootSum(Date selectTime1, Date selectTime2, DamageReportDTO damageReportDTO);
 
-    Map<String,Float> teamOutputFootSum(Date selectTime1, Date selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
+    Map<String,Float> teamOutputFootSum(String selectTime1, String selectTime2, String selectProcesses, String laminating, TeamOutputDTO teamOutputDTO);
 
     String getLaminating(String selectProcesses);
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 0f1a412..93211e4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -16,6 +16,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 
+import java.awt.*;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
@@ -851,6 +852,10 @@
     }
 
     public Map<String, Object> getSelectPrintCustomLabelDetailsSv(String type, Integer lableType, Map<String, Object> object) {
+        String landingSequence = "";
+        if (object.get("landingSequence") != null) {
+            landingSequence = object.get("landingSequence").toString();
+        }
         Map<String, Object> map = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
@@ -896,6 +901,26 @@
                 }
             }
         }
+
+        if (!"1".equals(landingSequence)) {
+            // 鏋勯�犱竴涓厛鎸夌煭杈广�佸啀鎸夐暱杈圭殑姣旇緝鍣�
+            Comparator<Map<String,Object>> comparator = Comparator
+                    .comparingDouble((Map<String,Object> m) -> {
+                        Map<String,Object> first = ((List<Map<String,Object>>)m.get("data")).get(0);
+                        double w = ((Number) first.get("width")).doubleValue();
+                        double h = ((Number) first.get("height")).doubleValue();
+                        return Math.min(w, h);
+                    })
+                    .thenComparingDouble(m -> {
+                        Map<String,Object> first = ((List<Map<String,Object>>)m.get("data")).get(0);
+                        double w = ((Number) first.get("width")).doubleValue();
+                        double h = ((Number) first.get("height")).doubleValue();
+                        return Math.max(w, h);
+                    });
+
+            // 瀵规暣涓� list 鎺掑簭锛屽苟鏁翠綋鍙嶈浆锛岀煭杈瑰ぇ鈫掑墠锛岀煭杈圭浉鍚屾椂闀胯竟澶р啋鍓�
+            list.sort(comparator.reversed());
+        }
         map.put("data", list);
         map.put("title", flowCardMapper.getPrintTitle(type));
         return map;
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 ad2972e..5a98514 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
@@ -543,7 +543,7 @@
         return reportMapper.exportYieldMp(date,process);
     }
 
-    public Map<String, Object> teamOutputSv(Integer pageNum, Integer pageSize, Date selectTime1, Date selectTime2, String selectProcesses, TeamOutputDTO teamOutputDTO) {
+    public Map<String, Object> teamOutputSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, String selectProcesses, TeamOutputDTO teamOutputDTO) {
         if (selectProcesses.equals("鍏ㄩ儴")){
             selectProcesses="";
         }
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index ea8eaa5..47ba248 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1021,7 +1021,7 @@
                ogd.glass_address,
                ogd.child_width,
                ogd.child_height,
-               fc.quantity,
+               sum(fc.quantity) as quantity,
                ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
                ifnull(fcs.sort, '')                                                 as sort,
                ogd.glass_child,
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 a3e6861..00360af 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -1168,7 +1168,6 @@
                    reporting_work as rwk
                    on rw.reporting_work_id = rwk.reporting_work_id
               where position(#{process} in rwk.this_process)
-                and rwk.this_process!='鍒囧壊'
                 and rw.review_status >= 0
               GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
              on c.process_id = fc.process_id
@@ -1178,7 +1177,7 @@
                            on o.order_id = od.order_id
         where  o.create_order>0
           and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
-              odpd.broken_num != 0 and odpd.process!='鍒囧壊'
+              odpd.broken_num != 0 and odpd.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
           and position(#{process} in odpd.process)
           and position(ifnull(#{inputVal}, '') in od.order_id)
           and position(ifnull(#{project}, '') in o.project)
@@ -2220,7 +2219,6 @@
                     pp.reporting_work as rwk
                    on rw.reporting_work_id = rwk.reporting_work_id
               where position(#{selectProcesses} in rwk.this_process)
-        and rwk.this_process!='鍒囧壊'
                 and rw.review_status >= 0
               GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
              on c.process_id = fc.process_id
@@ -2230,7 +2228,7 @@
                            on o.order_id = od.order_id
         where  o.create_order>0
           and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
-              odpd.broken_num != 0 and odpd.process!='鍒囧壊'
+              odpd.broken_num != 0 and odpd.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
         and position(#{selectProcesses} in odpd.process)
         and position(#{orderId} in od.order_id)
         and position(#{inputProject} in o.project)
@@ -2314,7 +2312,6 @@
         reporting_work as rwk
         on rw.reporting_work_id = rwk.reporting_work_id
         where position(#{selectProcesses} in rwk.this_process)
-        and rwk.this_process!='鍒囧壊'
         and rw.review_status >= 0
         GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
         on c.process_id = fc.process_id
@@ -2324,7 +2321,7 @@
         on o.order_id = od.order_id
         where  o.create_order>0
         and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
-        odpd.broken_num != 0 and odpd.process!='鍒囧壊'
+        odpd.broken_num != 0 and odpd.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
         and position(#{selectProcesses} in odpd.process)
         and position(#{orderId} in od.order_id)
         and position(#{inputProject} in o.project)
@@ -2388,7 +2385,6 @@
         reporting_work as rwk
         on rw.reporting_work_id = rwk.reporting_work_id
         where position(#{selectProcesses} in rwk.this_process)
-        and rwk.this_process!='鍒囧壊'
         and rw.review_status >= 0
         GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c
         on c.process_id = fc.process_id
@@ -2398,7 +2394,7 @@
         on o.order_id = od.order_id
         where  o.create_order>0
         and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
-        odpd.broken_num != 0 and odpd.process!='鍒囧壊'
+        odpd.broken_num != 0 and odpd.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
         and position(#{selectProcesses} in odpd.process)
         and position(#{orderId} in od.order_id)
         and position(#{inputProject} in o.project)

--
Gitblit v1.8.0