From 8b2c74fb6842e8af60f70e7df6eef8837d74be07 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 05 九月 2024 11:44:17 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml                  |    1 
 north-glass-erp/northglass-erp/src/lang/en.js                                       |   12 
 north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue          |    2 
 north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue         |   12 
 north-glass-erp/northglass-erp/src/lang/zh.js                                       |   12 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java           |    4 
 north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml                      |    1 
 north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue           |   10 
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue            |  270 ++++++++++++++++++++++
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue        |   15 
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelSemi.vue           |   13 
 north-glass-erp/src/main/resources/mapper/pp/Report.xml                             |   30 +
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue     |    3 
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java   |    4 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue           |    7 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java         |   11 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue |    3 
 north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java   |    6 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java  |    4 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue    |   96 ++++++++
 north-glass-erp/northglass-erp/src/lang/ru.js                                       |   12 
 north-glass-erp/northglass-erp/src/layout/MainErpView.vue                           |    4 
 north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue               |  175 ++++++++++++--
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java         |    1 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java    |    2 
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                      |    7 
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue               |    2 
 27 files changed, 619 insertions(+), 100 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
index 16cc8d4..6367be4 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
@@ -102,7 +102,7 @@
   // 閬嶅巻 lastList 骞舵洿鏂板搴旂殑灞炴��
   lastList.value.forEach(obj => {
     // 鑾峰彇鍓嶇紑鍜� orderId
-    const prefix = obj.processId.substring(0, 11);
+    const prefix = lastList.value[id].processId.substring(0, 11);
     const orderId = obj.orderId;
     const glassNumber=lastList.value[id].glassNumber
     const customerName = obj.customerName
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 3946288..ed20b3b 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelDetails.vue
@@ -30,7 +30,9 @@
   list:null,//鍕鹃�夌殑鏁版嵁
   faceOrientation:null,//鍐呭闈�
   type:null,//鏍囩妯℃澘
-  lableType:null//鏍囩绫诲瀷
+  lableType:null,//鏍囩绫诲瀷
+  titleList:null,//鏍囬
+  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
 })
 
 const {currentRoute} = useRouter()
@@ -44,6 +46,7 @@
   faceOrientation='OUTSIDE'
 }
 let lableType = props.lableType
+let switchType = props.switch
 data.value.printList = JSON.parse(props.list)
 onMounted(() => {
       request.post(`/processCard/getSelectPrintCustomLabelDetails/${type}/${lableType}`, data.value).then((res) => {
@@ -53,7 +56,11 @@
           list.value = deepClone(res.data.data)
           const data = produceList.value[0].value
           dataList = JSON.parse(`[${data}]`);
-          labelList = dataList[0]
+          if (switchType===true){
+            labelList = props.titleList
+          }else {
+            labelList = dataList[0]
+          }
           for (let i = 0; i < list.value.length; i++) {
             let count = list.value[i].data.length
             for (let j = 0; j < count; j++) {
@@ -62,10 +69,8 @@
               }
             }
           }
-
         } else {
           ElMessage.warning(res.msg)
-          router.push("/login")
         }
       })
 
@@ -103,7 +108,7 @@
   // 閬嶅巻 lastList 骞舵洿鏂板搴旂殑灞炴��
   lastList.value.forEach(obj => {
     // 鑾峰彇鍓嶇紑鍜� orderId
-    const prefix = obj.processId.substring(0, 11);
+    const prefix = lastList.value[id].processId.substring(0, 11);
     const orderId = obj.orderId;
     const glassNumber=lastList.value[id].glassNumber
     // 鏍规嵁 propertyName 鏇存柊灞炴��
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelSemi.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelSemi.vue
index 5b4e79a..1309298 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelSemi.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelSemi.vue
@@ -30,7 +30,9 @@
   list:null,//鍕鹃�夌殑鏁版嵁
   faceOrientation:null,//鍐呭闈�
   type:null,//鏍囩妯℃澘
-  lableType:null//鏍囩绫诲瀷
+  lableType:null,//鏍囩绫诲瀷
+  titleList:null,//鏍囬
+  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
 })
 
 const {currentRoute} = useRouter()
@@ -38,8 +40,8 @@
 let type = props.type
 let faceOrientation = props.faceOrientation
 let lableType = props.lableType
+let switchType = props.switch
 data.value.printList = JSON.parse(props.list)
-
 onMounted(() => {
       request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => {
         if (res.code == 200) {
@@ -48,7 +50,11 @@
           list.value = deepClone(res.data.data)
           const data = produceList.value[0].value
           dataList = JSON.parse(`[${data}]`);
-          labelList = dataList[0]
+          if (switchType===true){
+            labelList = props.titleList
+          }else {
+            labelList = dataList[0]
+          }
           for (let i = 0; i < list.value.length; i++) {
             let count= list.value[i].data.length
             for (let j = 0; j < count; j++) {
@@ -59,7 +65,6 @@
           }
         } else {
           ElMessage.warning(res.msg)
-          router.push("/login")
         }
       })
 
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
new file mode 100644
index 0000000..494244d
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabelTwo.vue
@@ -0,0 +1,270 @@
+<script setup>
+import request from "@/utils/request"
+import {ElDatePicker, ElMessage} from "element-plus"
+import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
+import {Search} from "@element-plus/icons-vue"
+import {useRouter} from 'vue-router'
+import {changeFilterEvent, filterChanged} from "@/hook"
+import {useI18n} from 'vue-i18n'
+import deepClone from "@/utils/deepClone";
+import companyInfo from "@/stores/sd/companyInfo"
+
+const company = companyInfo()
+//璇█鑾峰彇
+const {t} = useI18n()
+let router = useRouter()
+let produceList = ref([])
+let labelList = ref([])
+let titleList = ref([])
+let dataList = ref([])
+let list = ref([])
+let lastList = ref([])
+
+let filterData = ref({})
+
+const data = ref({
+  printList: []
+})
+
+let props = defineProps({
+  list:null,//鍕鹃�夌殑鏁版嵁
+  faceOrientation:null,//鍐呭闈�
+  type:null,//鏍囩妯℃澘
+  lableType:null,//鏍囩绫诲瀷
+  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+})
+
+const {currentRoute} = useRouter()
+const route = currentRoute.value
+let type = props.type
+let faceOrientation = props.faceOrientation
+if (type.indexOf("鑻辨枃")>-1 && faceOrientation==="姝ら潰涓哄鍐呴潰"){
+  faceOrientation='INSIDE'
+}
+else if (type.indexOf("鑻辨枃")>-1 && faceOrientation==="姝ら潰涓哄澶栭潰"){
+  faceOrientation='OUTSIDE'
+}
+let lableType = props.lableType
+data.value.printList = JSON.parse(props.list)
+let switchType = props.switch
+onMounted(() => {
+      request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => {
+        if (res.code == 200) {
+
+          produceList.value = deepClone(res.data.title)
+          list.value = deepClone(res.data.data)
+          const data = produceList.value[0].value
+          dataList = JSON.parse(`[${data}]`);
+          if (switchType===true){
+            labelList = props.titleList
+          }else {
+            labelList = dataList[0]
+          }
+          for (let i = 0; i < list.value.length; i++) {
+            let count = list.value[i].data.length
+            for (let j = 0; j < count; j++) {
+              for (let k = 0; k < list.value[i].data[j].quantity; k++) {
+                lastList.value.push(list.value[i].data[j])
+              }
+            }
+          }
+        } else {
+          ElMessage.warning(res.msg)
+        }
+      })
+
+    }
+)
+
+//淇敼鐩稿悓浜у搧鍚嶇О鏍囩
+const updateProductName = (event, index,id) => {
+  // 鍒涘缓鏄犲皠瀵硅薄
+  const propertyMapping = {};
+  labelList.forEach(item => {
+    propertyMapping[item.name] = item.title;
+  });
+  // 杈撳叆鐨勫��
+  const newValue = event.target.innerText;
+  const parts = newValue.split('锛�');
+  const result = parts[1]; // 鑾峰彇鍐掑彿鍚庣殑閮ㄥ垎
+
+  // 鑾峰彇鏄犲皠涓墍鏈夌殑閿�
+  const keys = Object.keys(propertyMapping);
+
+  // 鏍规嵁 index 鑾峰彇瀵瑰簲鐨勫睘鎬у悕
+  const propertyName = keys[index];
+
+  // 濡傛灉鏄犲皠涓病鏈夎 index锛岀洿鎺ヨ繑鍥�
+  if (!propertyName) {
+    console.warn('Unsupported index:', index);
+    return;
+  }
+
+  // 閬嶅巻 lastList 骞舵洿鏂板搴旂殑灞炴��
+  lastList.value.forEach(obj => {
+    // 鑾峰彇鍓嶇紑鍜� orderId
+    const prefix = lastList.value[index].processId.substring(0, 11);
+    const orderId = obj.orderId;
+    const glassNumber=lastList.value[index].glassNumber
+    // 鏍规嵁 propertyName 鏇存柊灞炴��
+    if (propertyName === 'productAbbreviation' && prefix === obj.processId.substring(0, 11)) {
+      obj.productAbbreviation = result;
+    }
+
+    if (propertyName === 'project' && orderId === obj.orderId) {
+      obj.project = result;
+    }
+    if (propertyName === 'productName' && prefix === obj.processId.substring(0, 11)){
+      obj.productName = result;
+    }
+    if (propertyName === 'customerName' && orderId === obj.orderId){
+      obj.customerName = result;
+    }
+  });
+}
+
+</script>
+
+<template>
+  <div id="print" :class="company.printLabel.className.semi.printFlowCardName()">
+    <div v-for="(item1,id) in lastList" :class="company.printLabel.className.semi.entiretyName()">
+      <div class="row4">{{ faceOrientation }}</div>
+      <div  v-for="(item,id) in labelList" :class="company.printLabel.className.semi.contentRowName()">
+        <div contenteditable="true" v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1" @input="updateProductName($event, id,index)">{{ item.title }}锛歿{ item1[item.name] }}</div>
+        <!--        <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row2">{{ item1[item.name] }}</div>-->
+      </div>
+      <div v-html="company.printLabel.customSemi(item1)"></div>
+    </div>
+  </div>
+
+
+
+
+
+</template>
+
+<style scoped>
+* {
+  margin: 0;
+  padding: 0;
+}
+
+body{
+  overflow: hidden;
+  font-family: Arial;
+
+}
+
+#printButton {
+  margin-top: -20px;
+  width: 100px;
+}
+
+
+
+/*鍗�*/
+.printFlowCard_semi {
+  flex-wrap: wrap;
+  font-size: 10px;
+  display: flex;
+  justify-content:space-between;
+}
+
+
+
+/*鍗�*/
+.entirety_semi {
+  width: 45%;
+  display: flex;
+  text-align: center;
+  flex-direction:column;
+  margin: 8px;
+
+}
+
+.row3{
+  text-align: center;
+}
+
+.contentRow{
+  display: flex;
+  text-align: center;
+}
+
+label{
+  font-weight: bolder;
+}
+
+.contentRow .row1{
+  width: 100%;
+}
+
+.entirety_semi .row4{
+  text-align: right;
+}
+
+.contentRow .row1,.contentRow .row2{
+  text-align: left;
+}
+
+
+
+@media print {
+  @page {
+    size: auto;  /* auto is the initial value */
+    margin: 13mm 5mm 0mm 7mm;  /* this affects the margin in the printer settings */
+  }
+  div {
+    page-break-inside: avoid;
+  }
+
+
+
+  .pagebreak {
+    page-break-after: always;
+  }
+
+}
+
+.printFlowCard_semi1 {
+  flex-wrap: wrap;
+  font-size: 8pt;
+  display: flex;
+}
+
+
+/*鎴�*/
+.entirety_semi1 {
+  width: 50%;
+  display: flex;
+  text-align: center;
+  flex-direction: column;
+  margin-left: -10px;
+  height: 80px;
+
+}
+
+.contentRow1 {
+  font-weight: bolder;
+  display: flex;
+  text-align: center;
+  width: 100%;
+}
+
+.contentRow1 .row1 {
+  width: 30%;
+  font-weight: bolder;
+}
+
+.entirety_finished1 .row4 {
+  font-weight: bolder;
+  text-align: right;
+  margin-right: 10px;
+}
+
+.contentRow1 .row1, .contentRow1 .row2 {
+  text-align: left;
+  font-weight: bolder;
+}
+
+</style>
\ No newline at end of file
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 4786104..875d77b 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -8,8 +8,14 @@
 import {useRouter} from "vue-router";
 import deepClone from "@/utils/deepClone";
 import companyInfo from "@/stores/sd/companyInfo"
+import PrintCustomLabel from '@/components/pp/PrintCustomLabelDetails.vue'
+import PrintCustomLabelSemi from '@/components/pp/PrintCustomLabelSemi.vue'
+import {Printer} from "@element-plus/icons-vue/global";
+
 const { t } = useI18n()
 const company = companyInfo()
+const dialogTableVisibleLabel = ref(false)
+const dialogTableVisibleCustomLabel = ref(false)
 let produceList = ref([])
 let labelList = ref([])
 let dataList = ref([])
@@ -26,6 +32,30 @@
         height: 45
   },
 }
+
+//鏍囩
+let labelRow = ref({
+  list: null,//鍕鹃�夌殑鏁版嵁
+  faceOrientation: null,//鍐呭闈�
+  type: null,//鏍囩妯℃澘
+  lableType: null,//鏍囩绫诲瀷
+  titleList:null,//鏍囬鍒楄〃
+  switch:null//鍒ゆ柇鏄惁涓烘柊鎵撳嵃
+})
+
+//瀹ゅ唴瀹ゅ闈�
+const stateValue = ref('')
+const stateOptions = [
+  {
+    value: t('processCard.thisIsTheIndoorSurface'),
+    label: t('processCard.thisIsTheIndoorSurface'),
+  },
+  {
+    value: t('processCard.thisSideIsOutsideTheRoom'),
+    label: t('processCard.thisSideIsOutsideTheRoom'),
+  },
+]
+
 const autoPaper = ref({
   width:null,
   height:null
@@ -82,7 +112,13 @@
   lableType:null//鏍囩绫诲瀷
 })
 
+const printContentLabel = ref({
+  id: 'childLabel',
+})
 
+const printContentLabelSemi = ref({
+  id: 'childLabelSemi',
+})
 
 const {currentRoute} = useRouter()
 const route = currentRoute.value
@@ -515,33 +551,60 @@
 }
 
 const htmlPrint = () => {
+  let lableTypes= lableType.value
+  let faceOrientation = stateValue.value
   type=tag.value.name
   if (type === null || type === '' || type === undefined) {
     ElMessage.warning(t('processCard.pleaseSelectCustomPrintLabelStyle'))
     return
   }
-  request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType.value}`, data.value).then((res) => {
-    if (res.code == 200) {
-      produceList.value = deepClone(res.data.title)
-      list.value = deepClone(res.data.data)
-      const data = produceList.value[0].value
-      dataList = JSON.parse(`[${data}]`);
-      labelList = dataList[0]
-      console.log(labelList.printElements)
-      for (let i = 0; i < list.value.length; i++) {
-        let count = list.value[i].data.length
-        for (let j = 0; j < count; j++) {
-          for (let k = 0; k < list.value[i].data[j].quantity; k++) {
-            lastList.value.push(list.value[i].data[j])
-          }
-        }
-      }
-    } else {
-      ElMessage.warning(res.msg)
-      router.push("/login")
+  const titleList = ref({})
+  titleList.value=JSON.parse(JSON.stringify(hiprintTemplate.value.getJson()))
+  const printElements = titleList.value.panels[0].printElements;
+  const result = printElements.map(element => ({
+    title: element.options.title,
+    name: element.options.field
+  }));
+
+  labelRow.value.titleList=result
+  labelRow.value.list =props.list
+  labelRow.value.faceOrientation = faceOrientation
+  labelRow.value.type = type
+  labelRow.value.lableType = lableType.value
+  labelRow.value.switch=true
+  if (lableTypes == 1) {
+
+    if (company.label === 1) {
+      dialogTableVisibleLabel.value = true
     }
-    hiprintTemplate.value.print(lastList.value)
-  })
+
+  } else if (lableTypes == 2) {
+    if (company.label === 1) {
+      dialogTableVisibleCustomLabel.value = true
+    }
+  }
+  // request.post(`/processCard/getSelectPrintCustomLabelDetails/${type}/${lableType.value}`, data.value).then((res) => {
+  //   if (res.code == 200) {
+  //     produceList.value = deepClone(res.data.title)
+  //     list.value = deepClone(res.data.data)
+  //     const data = produceList.value[0].value
+  //     dataList = JSON.parse(`[${data}]`);
+  //     labelList = dataList[0]
+  //     console.log(labelList.printElements)
+  //     for (let i = 0; i < list.value.length; i++) {
+  //       let count = list.value[i].data.length
+  //       for (let j = 0; j < count; j++) {
+  //         for (let k = 0; k < list.value[i].data[j].quantity; k++) {
+  //           lastList.value.push(list.value[i].data[j])
+  //         }
+  //       }
+  //     }
+  //   } else {
+  //     ElMessage.warning(res.msg)
+  //     router.push("/login")
+  //   }
+  //   hiprintTemplate.value.print(lastList.value)
+  // })
 
 
 
@@ -575,8 +638,8 @@
             </el-popover>
           </el-button-group>
         </el-col>
-        <el-col :span="6">
-            <el-select v-model="tag" @change="changeTag" placeholder="鏍囩妯℃澘鍒楄〃"  >
+        <el-col :span="5">
+            <el-select v-model="tag" @change="changeTag" placeholder="鏍囩妯℃澘鍒楄〃" style="width: 140px" >
               <el-option
                   v-for="(tag,index) in tags"
                   :key="index"
@@ -584,9 +647,21 @@
                   :value="tag"
               />
             </el-select>
-          <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
+
+          <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 120px">
             <el-option
                 v-for="item in filteredOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+            />
+          </el-select>
+        </el-col>
+        <el-col :span="2">
+          <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
+                     filterable style="width: 140px">
+            <el-option
+                v-for="item in stateOptions"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -603,7 +678,7 @@
           <el-button :disabled="!tag.id" type="danger" @click="deleteTag">鍒犻櫎</el-button>
         </el-col>
         <el-col :span="1">
-          <el-button type="danger" @click="htmlPrint">鎵撳嵃</el-button>
+          <el-button type="danger" @click="htmlPrint">棰勮</el-button>
         </el-col>
       </el-row>
 
@@ -622,8 +697,58 @@
 
   </div>
 
+  <!--    鎴愬搧鏍囩-->
+  <el-dialog
+      id="sizeCustom"
+      v-model="dialogTableVisibleLabel"
+      :title="$t('processCard.printLabel')"
+      destroy-on-close
+      style="width: 80%;height:75% ">
+    <template #header="{ close, titleId, titleClass }">
+      <el-button v-print="printContentLabel" :icon="Printer" circle/>
+    </template>
+    <print-custom-label id="childLabel"
+                        :faceOrientation="labelRow.faceOrientation"
+                        :lableType="labelRow.lableType"
+                        :list="labelRow.list"
+                        :type="labelRow.type"
+                        :titleList="labelRow.titleList"
+                        :switch="labelRow.switch"
+                        style="width: 100%;height: 100%"/>
+  </el-dialog>
+
+  <!--   灏忕墖鏍囩 -->
+  <el-dialog
+      id="sizeCustomSemi"
+      v-model="dialogTableVisibleCustomLabel"
+      :title="$t('processCard.labelStyle')"
+      destroy-on-close
+      style="width: 80%;height:75% ">
+    <template #header="{ close, titleId, titleClass }">
+      <el-button v-print="printContentLabelSemi" :icon="Printer" circle/>
+    </template>
+    <print-custom-label-semi id="childLabelSemi"
+                             :faceOrientation="labelRow.faceOrientation"
+                             :lableType="labelRow.lableType"
+                             :list="labelRow.list"
+                             :type="labelRow.type"
+                             :titleList="labelRow.titleList"
+                             :switch="labelRow.switch"
+                             style="width: 100%;height: 100%"/>
+  </el-dialog>
+
 </template>
 
 <style scoped>
+:deep(#sizeCustom .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
 
+:deep(#sizeCustomSemi .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index 9539479..867090c 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -955,16 +955,16 @@
     },
 
     menu:{
-        salesAndDistribution :'Sales and Distribution',
-        productionPlanning :'Production Planning',
-        materialManage :'Material Manage',
-        userManage :'User Manage',
+        "1" :'Sales and Distribution',
+        "2" :'Production Planning',
+        "3" :'Material Manage',
+        "4" :'User Manage',
 
         product :'Product',
         order :'Order',
         delivery :'Delivery',
         returns :'Returns',
-        customer :'Customer',
+        Customer :'Customer',
         workOrder :'Work Order',
         processCard :'Process Card',
         reportingWorks :'Report for work',
@@ -973,7 +973,7 @@
         machine :'Machine',
         bOM :'BOM',
         report :'Report',
-        productStock :'Product Stock',
+        ProductStock :'Product Stock',
         ingredientsStock :'Ingredients Stock',
         ingredients :'Ingredients',
         trader :'Trader',
diff --git a/north-glass-erp/northglass-erp/src/lang/ru.js b/north-glass-erp/northglass-erp/src/lang/ru.js
index 8ea5dce..073c2ed 100644
--- a/north-glass-erp/northglass-erp/src/lang/ru.js
+++ b/north-glass-erp/northglass-erp/src/lang/ru.js
@@ -949,16 +949,16 @@
     },
 
     menu:{
-        salesAndDistribution :'袩褉芯写邪卸邪 懈 褉邪褋锌褉械写械谢械薪懈械',
-        productionPlanning :'袩褉芯懈蟹胁芯写褋褌胁芯 懈 锌谢邪薪懈褉芯胁邪薪懈械',
-        materialManage :'袟邪泻褍锌泻懈 懈 屑邪褌械褉懈邪谢褘',
-        userManage :'袩芯谢褜蟹芯胁邪褌械谢懈 懈 锌褉邪胁邪 写芯褋褌褍锌邪',
+        "1" :'袩褉芯写邪卸邪 懈 褉邪褋锌褉械写械谢械薪懈械',
+        "2" :'袩褉芯懈蟹胁芯写褋褌胁芯 懈 锌谢邪薪懈褉芯胁邪薪懈械',
+        "3" :'袟邪泻褍锌泻懈 懈 屑邪褌械褉懈邪谢褘',
+        "4" :'袩芯谢褜蟹芯胁邪褌械谢懈 懈 锌褉邪胁邪 写芯褋褌褍锌邪',
 
         product :'校锌褉邪胁谢械薪懈械 褌芯胁邪褉薪褘屑懈 蟹邪锌邪褋邪屑懈',
         order :'校锌褉邪胁谢械薪懈械 蟹邪泻邪蟹邪屑懈',
         delivery :'校锌褉邪胁谢械薪懈械 写芯褋褌邪胁泻芯泄',
         returns :'校锌褉邪胁谢械薪懈械 胁芯蟹胁褉邪褌芯屑',
-        customer :'袠薪褎芯褉屑邪褑懈褟 芯 泻谢懈械薪褌邪褏',
+        Customer :'袠薪褎芯褉屑邪褑懈褟 芯 泻谢懈械薪褌邪褏',
         workOrder :'校锌褉邪胁谢械薪懈械 褉邪斜芯褔械泄 写芯泻褍屑械薪褌邪褑懈械泄',
         processCard :'校锌褉邪胁谢械薪懈械 泻邪褉褌邪屑懈 锌褉芯褑械褋褋芯胁',
         reportingWorks :'校锌褉邪胁谢械薪懈械 芯斜褉邪褌薪芯泄 褋胁褟蟹褜褞',
@@ -967,7 +967,7 @@
         machine :'校锌褉邪胁谢械薪懈械 芯斜芯褉褍写芯胁邪薪懈械屑',
         bOM :'校锌褉邪胁谢械薪懈械 BOM',
         report :'校锌褉邪胁谢械薪懈械 芯褌褔械褌邪屑懈',
-        productStock :'袟邪锌邪褋褘 谐芯褌芯胁芯泄 锌褉芯写褍泻褑懈懈',
+        ProductStock :'袟邪锌邪褋褘 谐芯褌芯胁芯泄 锌褉芯写褍泻褑懈懈',
         ingredientsStock :'袟邪锌邪褋褘 屑邪褌械褉懈邪谢芯胁',
         ingredients :'袦邪褌械褉懈邪谢褜薪褘械 写邪薪薪褘械',
         trader :'校锌褉邪胁谢械薪懈械 锌芯褋褌邪胁褖懈泻邪屑懈',
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 2efda90..eaa5641 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -960,16 +960,16 @@
     },
 
     menu:{
-        salesAndDistribution :'閿�鍞笌鍒嗛攢',
-        productionPlanning :'鐢熶骇涓庤鍒�',
-        materialManage :'閲囪喘涓庣墿璧�',
-        userManage :'鐢ㄦ埛涓庢潈闄�',
+        "1" :'閿�鍞笌鍒嗛攢',
+        "2" :'鐢熶骇涓庤鍒�',
+        "3" :'閲囪喘涓庣墿璧�',
+        "4" :'鐢ㄦ埛涓庢潈闄�',
 
         product :'鍟嗗搧绠$悊',
         order :'璁㈠崟绠$悊',
         delivery :'閫佽揣绠$悊',
         returns :'閫�璐х鐞�',
-        customer :'瀹㈡埛淇℃伅',
+        Customer :'瀹㈡埛淇℃伅',
         workOrder :'宸ュ崟绠$悊',
         processCard :'娴佺▼鍗$鐞�',
         reportingWorks :'鎶ュ伐绠$悊',
@@ -978,7 +978,7 @@
         machine :'璁惧绠$悊',
         bOM :'BOM绠$悊',
         report :'鎶ヨ〃绠$悊',
-        productStock :'鎴愬搧搴撳瓨',
+        ProductStock :'鎴愬搧搴撳瓨',
         ingredientsStock :'鐗╂枡搴撳瓨',
         ingredients :'鐗╂枡璧勬枡',
         trader :'渚涘簲鍟嗙鐞�',
diff --git a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
index d071205..933d1e7 100644
--- a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
+++ b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
@@ -170,7 +170,7 @@
           </el-menu>-->
           <div class="menu"  >
               <div v-for="items in menuList">
-                <div class='menu_title' @click="openMenu(items.id)"  >{{items.menuName}}<span class='indicator' >鈻�</span></div>
+                <div class='menu_title' @click="openMenu(items.id)"  >{{$t('menu.'+items.id)}}<span class='indicator' >鈻�</span></div>
                 <ul class='enter-x-left' v-show="openFlag==items.id">
 
                   <li v-for="menuItem in menuItemList"
@@ -179,7 +179,7 @@
                   >
                     <router-link
                         :to="{path:menuItem.url}">
-                      {{ menuItem.itemName}}
+                      {{ $t('menu.'+menuItem.menu)}}
                     </router-link>
 
                   </li>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
index c9b7793..3ef2eaa 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -202,9 +202,7 @@
     titleSelectJson.value.dataType = res.data.type
     xGrid.value.reloadData(newDataCollection)
     gridOptions.loading = false
-    if (userId!='admin'){
-      gridOptions.toolbarConfig.buttons[5].visible=false
-    }
+
 
     hideButton()
   } else {
@@ -763,7 +761,7 @@
                           style="width: 100%;height: 100%"/>
     </el-dialog>
 
-    <!--    鎴愬搧鏍囩鏂扮枂-->
+    <!--    鎴愬搧鏍囩涓ゅ垪-->
     <el-dialog
         id="sizeCustom"
         v-model="dialogTableVisibleLabelXJ"
@@ -819,6 +817,7 @@
       <select-sort-table id="child" :orderId="tableRow.orderId"/>
     </el-dialog>
 
+<!--   鏍囩鏍峰紡    -->
     <el-dialog
         id="titleStyle"
         :title="$t('processCard.labelStyle')"
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 fd1d154..a412d30 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
@@ -13,10 +13,12 @@
 import PrintLabel from '@/views/pp/processCard/PrintLabel.vue'
 import PrintCustomLabel from '@/components/pp/PrintCustomLabelDetails.vue'
 import PrintCustomLabelSemi from '@/components/pp/PrintCustomLabelSemi.vue'
+import PrintCustomLabelXJ from '@/components/pp/PrintCustomLabelTwo.vue'
 import SortDetail from '@/components/pp/SelectSortDetailProcessCard.vue'
 import footSum from "@/hook/footSum"
 import companyInfo from "@/stores/sd/companyInfo"
 import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global";
+import TagStyleDesigner from "@/components/pp/TagStyleDesigner.vue";
 
 const company = companyInfo()
 
@@ -27,8 +29,10 @@
 const dialogTableVisible = ref(false)
 const dialogTableVisibleLabel = ref(false)
 const dialogTableVisibleCustomLabel = ref(false)
+const dialogTableVisibleLabelXJ = ref(false)
 const printVisible = ref(false)
 let selectRecords = ref(null)
+let titleStyleVisible = ref(false)
 
 const selectRecordsData = ref({
   printList: []
@@ -315,6 +319,8 @@
       {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
       {code: 'printLabel', name: t('processCard.labelPrinting'), status: 'primary'},
       {code: 'printLabel2', name: t('processCard.labelPrinting2'), status: 'primary'},
+      {code: 'printLabel3', name: '鏍囩鎵撳嵃2', status: 'primary'},
+      {code: 'printTest', name: "娴嬭瘯鎵撳嵃", status: 'primary'},
       // {code: 'printLike', name: "鍚岄厤缃墦鍗�", status: 'primary'},
     ],
     // import: false,
@@ -542,6 +548,58 @@
           dialogTableVisible.value = true
           break
         }
+        case 'printTest': {
+          if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
+            ElMessage.warning(t('searchOrder.msgList.checkOrder'))
+            return
+          }
+          // if (type === null || type === '' || type === undefined) {
+          //   ElMessage.warning(t('processCard.pleaseSelectCustomPrintLabelStyle'))
+          //   return
+          // }
+
+          let id = ""
+          for (let i = 0; i < selectRecords.length; i++) {
+            if (i + 1 === selectRecords.length) {
+              id += selectRecords[i].id
+            } else {
+              id += selectRecords[i].id + "|"
+            }
+          }
+
+          labelRow.value.list = JSON.stringify(selectRecords)
+          labelRow.value.faceOrientation = faceOrientation
+          labelRow.value.type = type
+          labelRow.value.lableType = lableTypes
+          titleStyleVisible.value = true
+          break
+        }
+        case 'printLabel3': {
+          if (selectRecords === null || selectRecords === '' || selectRecords.length === 0) {
+            ElMessage.warning(t('searchOrder.msgList.checkOrder'))
+            return
+          }
+          if (type === null || type === '' || type === undefined) {
+            ElMessage.warning(t('processCard.pleaseSelectCustomPrintLabelStyle'))
+            return
+          }
+
+          let id = ""
+          for (let i = 0; i < selectRecords.length; i++) {
+            if (i + 1 === selectRecords.length) {
+              id += selectRecords[i].id
+            } else {
+              id += selectRecords[i].id + "|"
+            }
+          }
+
+          labelRow.value.list = JSON.stringify(selectRecords)
+          labelRow.value.faceOrientation = faceOrientation
+          labelRow.value.type = type
+          labelRow.value.lableType = lableTypes
+          dialogTableVisibleLabelXJ.value = true
+          break
+        }
       }
     }
   },
@@ -728,7 +786,39 @@
       <sort-detail id="child" :processId="editRow.processId" :technologyNumber="editRow.technologyNumber" :process="editRow.process"/>
     </el-dialog>
 
+    <!--   鏍囩鏍峰紡    -->
+    <el-dialog
+        id="titleStyle"
+        :title="$t('processCard.labelStyle')"
+        style="width: 90%;height:93%;margin-top: 3vh "
+        :close-on-click-modal="false"
+        :close-on-press-escape="false"
+        v-model="titleStyleVisible">
+      <!--      <tag-style style="width: 100%;height: 100%"/>-->
+      <tag-style-designer style="width: 100%;height: 100%"
+                          :faceOrientation="labelRow.faceOrientation"
+                          :lableType="labelRow.lableType"
+                          :list="labelRow.list"
+                          :type="labelRow.type"/>
+    </el-dialog>
 
+    <!--    鎴愬搧鏍囩涓ゅ垪-->
+    <el-dialog
+        id="sizeCustom"
+        v-model="dialogTableVisibleLabelXJ"
+        :title="$t('processCard.printLabel')"
+        destroy-on-close
+        style="width: 80%;height:75% ">
+      <template #header="{ close, titleId, titleClass }">
+        <el-button v-print="printContentLabel" :icon="Printer" circle/>
+      </template>
+      <print-custom-label-x-j id="childLabel"
+                              :faceOrientation="labelRow.faceOrientation"
+                              :lableType="labelRow.lableType"
+                              :list="labelRow.list"
+                              :type="labelRow.type"
+                              style="width: 100%;height: 100%"/>
+    </el-dialog>
   </div>
 </template>
 
@@ -762,4 +852,10 @@
   overflow-y: auto;
 }
 
+:deep(#titleStyle .el-dialog__body) {
+  height: 95%;
+  width: 100%;
+  overflow-y: auto;
+}
+
 </style>
\ No newline at end of file
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 f36a006..0e84f42 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
@@ -8,19 +8,19 @@
   columns:[
     {type:'expand',fixed:"left",width: 80},
     {type: 'seq',fixed:"left", title: '鑷簭', width: 80 },
-    {field: 'reportingWork.reportingWorkTime', width: 120, title: t('reportingWorks.reportingWorkTime'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
-    {field: 'reportingWork.processId', width: 160,title: t('processCard.processId') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'reportingWorkTime', width: 120, title: t('reportingWorks.reportingWorkTime'), sortable: true, },
+    {field: 'processId', width: 160,title: t('processCard.processId') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'code', width: 160,title: t('reportingWorks.glassNumber') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'reportingWork.thisProcess',width: 120, title: t('reportingWorks.reportingProcess'), sortable: true,showOverflow:"ellipsis" ,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: 'responsibleProcess',width: 120, title: t('reportingWorks.responsibleProcess'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'responsibleTeam', width: 130,title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'breakageType', width: 100,title: t('reportingWorks.breakageType'), sortable: true,showOverflow:"ellipsis"},
     {field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
     {field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
     {field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
-    {field: 'order.project', width: 120,title: t('order.project'), sortable: true},
-    {field: 'order.orderId',width: 120, title: t('order.orderId'), sortable: true},
-    {field: 'orderGlassDetail.glassChild',width: 120, title: t('reportingWorks.glassChild'), sortable: true},
+    {field: 'project', width: 120,title: t('order.project'), sortable: true},
+    {field: 'orderId',width: 120, title: t('order.orderId'), sortable: true},
+    {field: 'glassChild',width: 120, title: t('reportingWorks.glassChild'), sortable: true},
   ],//琛ㄦ牸琛ㄥご瀛楁
   data:[],//琛ㄦ牸鏁版嵁
   url :'/report/crossProcessBreaking',
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
index 730b4b0..b36f762 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -73,7 +73,7 @@
     filterMethod: filterChanged},
   {field: 'quantity', width: 90,title: t('order.quantity')},
   {field: 'broken_num',width: 90, title: t('reportingWorks.quantityBroken')},
-  {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
+  // {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
   {field: 'inventory',width: 120, title: t('report.inventoryNum')},
   {field: 'inventoryArea',width: 120, title: t('report.inventoryArea')},
 ]
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
index e04a640..113d482 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
@@ -63,15 +63,15 @@
     slots: {filter: 'num1_filter'},
     filterMethod: filterChanged},
   {field: 'product_name', width: 120,title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
-  {field: 'child_width',width: 110, title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged},
+  {field: 'child_width',width: 110, title: t('order.width')},
   {field: 'child_height', width: 90,title: t('order.height'),showOverflow:"ellipsis"},
   {field: 'quantity', width: 90,title: t('order.quantity')},
   {field: 'technology_number',width: 90, title: t('processCard.technologyNumber')},
   {field: 'glass_child',width: 120, title: t('reportingWorks.glassChild')},
   {field: 'inventoryNum',width: 120, title: t('report.inventoryNum')},
   {field: 'inventoryArea',width: 120, title: t('report.inventoryArea')},
-  {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
-  {field: 'area',width: 120, title: t('report.area')},
+  // {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')},
+  // {field: 'area',width: 120, title: t('report.area')},
 ]
 //闇�瑕佸悎骞剁殑鍒�
 let column = [1,2,3]
@@ -216,7 +216,7 @@
 
     </div>
     <vxe-grid
-        height="400px"
+        height="100%"
         @filter-change="filterChanged"
         class="mytable-scrollbar"
         ref="xGrid"
@@ -256,7 +256,7 @@
 <style scoped>
 .main-div-customer{
   width: 99%;
-  height: 100%;
+  height: 95%;
 }
 #selectForm {
   width: 60%;
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
index 9caac38..bc219e3 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1010,7 +1010,8 @@
     process: titleUploadData.value.previousProcess,
     processId:processId,
     thisProcess:titleUploadData.value.thisProcess,
-    technologyStr:technologyStr
+    technologyStr:technologyStr,
+    userName:user.user.userName
   }
   loadingFlag.value= true
   request.post("/reportingWork/reviewReportingWork",reportWork).then((res) =>{
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
index 610c34f..ae43e6c 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
@@ -89,7 +89,7 @@
 
 //鑾峰彇涓冨ぉ鍓嶅埌褰撳墠鏃堕棿
 function getNowTime() {
-  const start = new Date(new Date().getTime()- 3600 * 1000 * 24 * 7)
+  const start = new Date(new Date().getTime()- 3600 * 1000 * 24 * 3)
       .toISOString()
       .replace('T', ' ')
       .slice(0,10) //榛樿寮�濮嬫椂闂�7澶╁墠
@@ -337,6 +337,7 @@
     {field: 'deviceName', width: 100,title: t('reportingWorks.deviceType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
     {field: 'teamsGroupsName',width: 120, title: t('reportingWorks.teamsType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
     {field: 'reviewedState',width: 120, title: t('processCard.reviewedState'), },
+    {field: 'reviewed',width: 120, title: '瀹℃牳浜�', },
     {field: 'notes',width: 120, title: t('basicData.remarks'), },
 
   ],//琛ㄥご鎸夐挳
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 07627c2..fc5a1c6 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
@@ -50,8 +50,8 @@
     public Result getOrderReport(@PathVariable Integer pageNum,
                                  @PathVariable Integer pageSize,
                                  @PathVariable List<String> selectDate,
-                                 @RequestBody DamageDetails damageDetails) {
-        return Result.seccess(reportService.crossProcessBreakingSv(pageNum, pageSize, selectDate, damageDetails));
+                                 @RequestBody CrossProcessBreakingDTO crossProcessBreakingDTO) {
+        return Result.seccess(reportService.crossProcessBreakingSv(pageNum, pageSize, selectDate, crossProcessBreakingDTO));
 
     }
 
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 9fc64ce..17c5a5c 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
@@ -19,6 +19,8 @@
     private String responsibleProcess;
     @ExcelProperty("璐d换鐝粍")
     private String responsibleTeam;
+    @ExcelProperty("鎶ュ伐宸ュ簭")
+    private String thisProcess;
     @ExcelProperty("娆$牬绫诲瀷")
     private String breakageType;
     @ExcelProperty("娆$牬鍘熷洜")
@@ -31,6 +33,10 @@
     private String project;
     @ExcelProperty("閿�鍞崟鍙�")
     private String orderId;
+    @ExcelProperty("娴佺▼鍗″彿")
+    private String processId;
     @ExcelProperty("鍗曠墖鍚嶇О")
     private String glassChild;
+    @ExcelProperty("缂栧彿")
+    private String code;
 }
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 2a4105f..e7e597a 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
@@ -17,9 +17,9 @@
 
     List<Map<String, String>> processCardProgressMp(String orderId);
 
-    List<DamageDetails> getProcessBreaking(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails);
+    List<CrossProcessBreakingDTO> getProcessBreaking(Integer offset, Integer pageSize, String startDate, String endDate, CrossProcessBreakingDTO crossProcessBreakingDTO);
 
-    Map<String, Integer> getProcessBreakingTotal(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails);
+    Map<String, Integer> getProcessBreakingTotal(Integer offset, Integer pageSize, String startDate, String endDate, CrossProcessBreakingDTO crossProcessBreakingDTO);
 
     List<Map<String, String>> workInProgressMp(
             Integer offset, Integer pageSize,
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
index c623215..cb91a78 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
@@ -77,7 +77,7 @@
 
     Integer selectLayerByReportingWorkId(String reportingWorkId);
 
-    Boolean ReviewReportingWorkMp(String substring, String process, String result);
+    Boolean ReviewReportingWorkMp(String substring, String process, String result, String userName);
 
     String getPatchConditionMp(String reportingWorkId);
 }
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 8341fac..6be9263 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
@@ -3,10 +3,7 @@
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 
-import com.example.erp.dto.pp.DamageReportDTO;
-import com.example.erp.dto.pp.ScheduleProductionScheduleDTO;
-import com.example.erp.dto.pp.TeamOutputDTO;
-import com.example.erp.dto.pp.WorkInProgressDTO;
+import com.example.erp.dto.pp.*;
 import com.example.erp.entity.pp.DamageDetails;
 import com.example.erp.entity.pp.Report;
 import com.example.erp.mapper.pp.ProductionSchedulingMapper;
@@ -103,7 +100,7 @@
         return map;
     }
 
-    public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, DamageDetails damageDetails) {
+    public Map<String, Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, CrossProcessBreakingDTO crossProcessBreakingDTO) {
         Integer offset = (pageNum - 1) * pageSize;
         String endDate = LocalDate.now().toString();
         String startDate = LocalDate.now().minusDays(15).toString();
@@ -116,8 +113,8 @@
             }
         }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, damageDetails));
-        map.put("total", reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, damageDetails));
+        map.put("data", reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
+        map.put("total", reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, crossProcessBreakingDTO));
         List<String> list = new ArrayList<>();
         list.add(startDate);
         list.add(endDate);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index 2c9ae7f..432e0c4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -335,6 +335,7 @@
 
         String processId = reportingWork.get("processId");
         String thisProcess = reportingWork.get("thisProcess");
+        String userName=reportingWork.get("userName");
         int index = processId.lastIndexOf("/") + 1;
         String result = processId.substring(index);
         String technologyStr = reportingWork.get("technologyStr");
@@ -346,10 +347,11 @@
                 .eq(ReportingWork::getProcessId, processId.substring(0, 14))
                 .eq(ReportingWork::getThisProcess, reportingWork.get("process"))
                 .eq(ReportingWork::getReviewedState, 0)
+                .eq(ReportingWork::getReviewed, userName)
                 .setSql("reviewed_state =1");
         reportingWorkMapper.update(null, updateWrapper);
 }else {
-    reportingWorkMapper.ReviewReportingWorkMp(processId.substring(0, 14),reportingWork.get("process"),technologyStr);
+    reportingWorkMapper.ReviewReportingWorkMp(processId.substring(0, 14),reportingWork.get("process"),technologyStr,userName);
 
 }
         return true;
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java
index 6b82402..0a23ee7 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java
@@ -59,7 +59,6 @@
         for (Map<String, Object> item : ReworkMap) {
             item.put("reworkTeam", "");
             List<BasicDataProduce> basicCategory = new ArrayList<>();
-
             List<BasicDataProduce> basicDataProduceList = basicDateProduceMapper.SelectWorkBasicTeams(item.get("reworkProcesses").toString());
             for (BasicDataProduce basicDataProduce : basicDataProduceList) {
                 if (Objects.equals(basicDataProduce.getBasicData().getBasicName(), item.get("reworkProcesses"))) {
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 e33522c..06f6252 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -50,20 +50,19 @@
 
     </resultMap>
 
-    <resultMap id="damageDetailsTableMap" type="com.example.erp.entity.pp.DamageDetails">
+    <resultMap id="damageDetailsTableMap" type="com.example.erp.dto.pp.CrossProcessBreakingDTO">
         <result column="responsible_process" property="responsibleProcess"/>
         <result column="responsible_team" property="responsibleTeam"/>
         <result column="breakage_type" property="breakageType"/>
         <result column="breakage_reason" property="breakageReason"/>
         <result column="breakage_quantity" property="breakageQuantity"/>
         <result column="area" property="area"/>
-        <result column="reporting_work_id" property="reportingWork.reportingWorkId"/>
-        <result column="reporting_work_time" property="reportingWork.reportingWorkTime"/>
-        <result column="this_process" property="reportingWork.thisProcess"/>
-        <result column="project" property="order.project"/>
-        <result column="order_id" property="order.orderId"/>
-        <result column="glass_child" property="orderGlassDetail.glassChild"/>
-        <result column="process_id" property="reportingWork.processId"/>
+        <result column="reporting_work_time" property="reportingWorkTime"/>
+        <result column="this_process" property="thisProcess"/>
+        <result column="project" property="project"/>
+        <result column="order_id" property="orderId"/>
+        <result column="glass_child" property="glassChild"/>
+        <result column="process_id" property="processId"/>
         <result column="code" property="code"/>
     </resultMap>
 
@@ -237,6 +236,21 @@
           and dd.available = 0
           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}
+        </if>
+        <if test="crossProcessBreakingDTO.processId != null and crossProcessBreakingDTO.processId != ''">
+            and rw.process_id regexp #{crossProcessBreakingDTO.processId}
+        </if>
+        <if test="crossProcessBreakingDTO.thisProcess != null and crossProcessBreakingDTO.thisProcess != ''">
+            and rw.this_process regexp #{crossProcessBreakingDTO.thisProcess}
+        </if>
+        <if test="crossProcessBreakingDTO.responsibleProcess != null and crossProcessBreakingDTO.responsibleProcess != ''">
+            and dd.responsible_process regexp #{crossProcessBreakingDTO.responsibleProcess}
+        </if>
+        <if test="crossProcessBreakingDTO.responsibleTeam != null and crossProcessBreakingDTO.responsibleTeam != ''">
+            and dd.responsible_team regexp #{crossProcessBreakingDTO.responsibleTeam}
+        </if>
         GROUP BY dd.id
         order by dd.id desc
         limit #{offset},#{pageSize}
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
index 6ad7932..827b172 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -16,7 +16,6 @@
         <result property="thisWornQuantity" column="this_worn_quantity"/>
         <result property="deviceName" column="device_name"/>
         <result property="teamsGroupsName" column="teams_groups_name"/>
-        <result property="reviewedState" column="reviewed_state"/>
         <result property="reportingWorkId" column="reporting_work_id"/>
         <result property="processId" column="process_id"/>
         <result property="completedArea" column="completedArea"/>
@@ -24,6 +23,7 @@
         <result property="qualityInspector" column="quality_inspector"/>
         <result property="qualityInsTime" column="quality_ins_time"/>
         <result property="notes" column="notes"/>
+        <result property="reviewed" column="reviewed"/>
 
         <association property="order" javaType="com.example.erp.entity.sd.Order">
             <result property="customerId" column="customer_id"/>
@@ -518,7 +518,8 @@
                rw.device_name,
                rw.teams_groups_name,
                rw.reviewed_state,
-               rw.notes
+               rw.notes,
+               rw.reviewed
         # (IF(rw.reviewed_state = 0, '鏈鏍�', IF(rw.reviewed_state = 1, '瀹℃牳閫氳繃', '瀹℃牳涓嶉�氳繃'))) as reviewed_state
         from sd.order as o
                  left join sd.order_glass_detail as ogd on ogd.order_id = o.order_id
@@ -802,7 +803,7 @@
     <update id="ReviewReportingWorkMp">
         update reporting_work as rw
             left join reporting_work_detail as rwd on rw.reporting_work_id = rwd.reporting_work_id
-        set rw.reviewed_state = 1
+        set rw.reviewed_state = 1 ,rw.reviewed=#{userName}
         where rw.process_id = #{substring} and rw.this_process=#{process}
           and POSITION(rwd.technology_number in #{result}) and reviewed_state=0
     </update>
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml
index df037a3..896626b 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml
@@ -9,7 +9,6 @@
         from sys_menu as a
         where
             a.state=1
-            and a.languageType = #{lang}
         order by a.listSort
         ;
     </select>
diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml
index fed0668..c27acd2 100644
--- a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml
+++ b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml
@@ -9,7 +9,6 @@
         from `sys_menu_item` as a
         where
             a.state=1
-           and a.languageType = #{lang}
         order by
             a.menuId,a.listSort
         ;

--
Gitblit v1.8.0