From dd05175f7d1eaed08cdbe030124f470f69767b2e Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 08 八月 2024 19:46:48 +0800
Subject: [PATCH] 流程卡修改样式,成品便签添加根据编号一键修改,修改流程卡排序方式,添加配置是否查询样品订单

---
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                        |   80 ++++++++++-----
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue                |    6 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java              |   10 +
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java              |    7 +
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java                |    2 
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java   |    5 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                                |   40 +++++++-
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java       |    7 
 north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue         |   12 ++
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java |    7 
 north-glass-erp/src/main/resources/mapper/pp/Report.xml                                  |   58 +++++++++++
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue          |    8 +
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java         |    4 
 north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue                        |   16 ++-
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java        |   12 ++
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                           |    3 
 north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue                    |    5 +
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java            |   17 ++-
 18 files changed, 236 insertions(+), 63 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 a091c67..7a8c4ee 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintCustomLabel.vue
@@ -104,6 +104,7 @@
     // 鑾峰彇鍓嶇紑鍜� orderId
     const prefix = obj.processId.substring(0, 11);
     const orderId = obj.orderId;
+    const glassNumber=obj.glassNumber
 
     // 鏍规嵁 propertyName 鏇存柊灞炴��
     if (propertyName === 'productAbbreviation' && prefix === obj.processId.substring(0, 11)) {
@@ -113,6 +114,10 @@
     if (propertyName === 'project' && orderId === obj.orderId) {
       obj.project = result;
     }
+
+    if (propertyName === 'productName' && glassNumber === obj.glassNumber){
+      obj.productName = result;
+    }
   });
 }
 
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
index fa14919..ebee0b5 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -189,16 +189,20 @@
     <table v-for="(item,id) in produceList" id="contentTable" :key="id">
       <thead>
       <tr v-for="(itemFlow,index) in item.detail" :key="index">
-        <td  v-if="like='1'"  colspan="26">
+        <td  v-if="like='1'"  colspan="29">
           <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
           <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
           <div>{{ company.companyName }}</div>
           <div>鐢熶骇娴佺▼鍗�</div>
-          <div v-if="itemFlow.technologyNumberMerge!=''" style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+          <div v-if="itemFlow.technologyNumberMerge!=''" style="text-align: right;font-weight: bolder">
+            {{itemFlow.otherRemarks}}&nbsp;&nbsp;
+            娴佺▼鍗″彿锛� {{
               itemFlow.process_id
             }}/{{ itemFlow.technologyNumberMerge }} 鍏� {{ flowCardCount }} 鏋�
           </div>
-          <div v-else style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+          <div v-else style="text-align: right;font-weight: bolder">
+            {{itemFlow.otherRemarks}}&nbsp;&nbsp;
+            娴佺▼鍗″彿锛� {{
               itemFlow.process_id
             }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
           </div>
@@ -224,8 +228,8 @@
         <td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
         <td colspan="2">{{ items.project }}</td>
         <td class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
-        <td colspan="19" v-if="like='1'" style="width: 500px">{{ items.process }}</td>
-        <td colspan="17" v-else style="width: 500px">{{ items.process }}</td>
+        <td colspan="22" v-if="like='1'" style="width: 500px">{{ items.process }}</td>
+        <td colspan="20" v-else style="width: 500px">{{ items.process }}</td>
       </tr>
       <tr v-for="(itemTr,index) in item.detail" :key="index">
         <td class="tdNowrap">纾ㄨ竟绫诲瀷锛�</td>
@@ -233,15 +237,15 @@
         <td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
         <td colspan="2">{{ itemTr.glass_child }}</td>
         <td class="tdNowrap">浜у搧鍚嶇О锛�</td>
-        <td v-if="like=='1'" colspan="19">{{ itemTr.product_name }}</td>
-        <td v-else colspan="17">{{ itemTr.product_name }}</td>
+        <td v-if="like=='1'" colspan="22">{{ itemTr.product_name }}</td>
+        <td v-else colspan="20">{{ itemTr.product_name }}</td>
       </tr>
       <tr>
         <td rowspan='2'>搴忓彿</td>
         <td rowspan='2'>缂栧彿</td>
         <td v-if="like!=null" rowspan="2">灏忕墖椤哄簭</td>
         <td v-else style="display: none;" rowspan="2">灏忕墖椤哄簭</td>
-        <td rowspan='2'>瀹�*楂�</td>
+        <td rowspan='2' style="width: 90px">瀹�*楂�</td>
         <td rowspan='2'>鏁伴噺</td>
         <td rowspan='2'>闈㈢Н</td>
         <td rowspan='2'>鍛ㄩ暱</td>
@@ -251,6 +255,10 @@
       </tr>
       <tr>
 
+        <td>{{ company.printLabel.printFlowCard.patch }}</td>
+        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
+        <td>{{ company.printLabel.printFlowCard.patch }}</td>
+        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
         <td>{{ company.printLabel.printFlowCard.patch }}</td>
         <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
         <td>{{ company.printLabel.printFlowCard.patch }}</td>
@@ -300,11 +308,14 @@
         <td></td>
         <td></td>
         <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
       </tr>
       </tbody>
       <tfoot>
       <tr style="height: 14px">
-        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="26">
+        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="29">
           鏁伴噺锛�
           <label>{{ itemsum.quantity }}</label>
           闈㈢Н锛�
@@ -314,17 +325,12 @@
         </td>
       </tr>
       <tr v-for="(itemtextarea,index) in item.detail" :key="index">
-        <td v-if="like='1'" colspan="4" rowspan="6" style="width: 480px;height: 100px ">
-          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
-          </div>
-        </td>
-        <td v-else colspan="6" rowspan="2" style="width: 480px;height: 100px ">
-          <!--          <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%;font-size: 11px">{{ itemtextarea.processing_note }}</textarea>-->
-          <!--          </div>-->
-           <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
-           </div>
-        </td>
+
         <td>瀹屽伐绛惧悕</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
@@ -348,9 +354,17 @@
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
       </tr>
       <tr>
         <td>璐ㄦ绛惧悕</td>
+        <td colspan="2"></td>
+        <td colspan="2">鐢熶骇绛惧悕</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
@@ -364,10 +378,10 @@
       </tr>
       <tr>
         <td>鍘熺墖绠卞彿</td>
-        <td colspan="20"></td>
+        <td colspan="28"></td>
       </tr>
       <tr v-for="(qrCodeItem,index) in item.detail" :key="index">
-        <td colspan="23">
+        <td colspan="29">
           <span style="display: flex;">
             <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 35%">
             <div class='qrCode' style="width: 80px;height: 80px;">
@@ -380,6 +394,18 @@
           </span>
         </td>
 
+      </tr>
+      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
+        <td v-if="like='1'" colspan="29" rowspan="6" style="width: 480px;height: 150px ">
+          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px">{{itemtextareas.processing_note}}</textarea>
+          </div>
+        </td>
+        <td v-else colspan="29" rowspan="2" style="width: 480px;height: 150px ">
+          <!--          <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%;font-size: 11px">{{ itemtextarea.processing_note }}</textarea>-->
+          <!--          </div>-->
+          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px">{{itemtextareas.processing_note}}</textarea>
+          </div>
+        </td>
       </tr>
       </tfoot>
     </table>
@@ -428,7 +454,6 @@
 }
 
 .tdNowrap {
-  white-space: nowrap;
 
 }
 
@@ -439,16 +464,19 @@
 
 input{
   font-weight: bolder;
+  border: none;
 }
 
 
-@page {
-  size: auto;  /* auto is the initial value */
-  margin: 2mm 2mm 0mm 1mm  /* this affects the margin in the printer settings */
 
-}
 
 @media print {
+  @page {
+    size: auto;  /* auto is the initial value */
+    margin: 4mm 5mm 0mm 5mm  /* this affects the margin in the printer settings */
+
+  }
+
   table {
     page-break-before: always;
     page-break-inside: auto;
diff --git a/north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue b/north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue
index 0152f3b..38a396b 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/SelectSortDetailProcessCard.vue
@@ -25,7 +25,8 @@
 let router = useRouter()
 let props = defineProps({
   processId:null,
-  technologyNumber:null
+  technologyNumber:null,
+  process:null
 })
 domZindex.setCurrent(3000)
 
@@ -66,7 +67,7 @@
 })
 
 //绗竴娆″姞杞芥暟鎹�
-request.post(`/processCard/printFlowCardDetails/${props.processId}/${props.technologyNumber}`,filterData.value).then((res) => {
+request.post(`/processCard/printFlowCardDetails/${props.processId}/${props.technologyNumber}/${props.process}`,filterData.value).then((res) => {
   if (res.code == 200) {
     produceDetailList.value = (res.data.data)
     xGridDetail.value.reloadData(produceDetailList.value)
@@ -249,6 +250,13 @@
       slots: {filter: 'num1_filter'},
       filterMethod: filterChanged
     },
+    {
+      field: 'process',
+      title: t('craft.process'),
+      filters: [{data: ''}],
+      slots: {filter: 'num1_filter'},
+      filterMethod: filterChanged
+    },
 
   ],
   //琛ㄥ崟楠岃瘉
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 e495532..080ee80 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
@@ -40,7 +40,8 @@
 //鎺掑簭
 let editRow = ref({
   processId: null,
-  technologyNumber: null
+  technologyNumber: null,
+  process:null
 })
 
 //鎵撳嵃
@@ -64,6 +65,7 @@
     case 'edit' : {
       editRow.value.processId = row.process_id
       editRow.value.technologyNumber = row.technology_number
+      editRow.value.process = row.process
       printVisible.value = true
 
       // router.push({path: '/sort-detail', query: {processId: row.process_id,technologyNumber:row.technology_number}})
@@ -730,7 +732,7 @@
         :title="$t('processCard.processCardDetails')"
         destroy-on-close
         style="width: 80%;height:75% ">
-      <sort-detail id="child" :processId="editRow.processId" :technologyNumber="editRow.technologyNumber"/>
+      <sort-detail id="child" :processId="editRow.processId" :technologyNumber="editRow.technologyNumber" :process="editRow.process"/>
     </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 024ed18..fee9d68 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
@@ -19,7 +19,7 @@
 })
 
 //宸ュ簭
-const value = ref()
+const procseeValue = ref()
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
@@ -75,7 +75,7 @@
 form.date1 = getNowTime()
 let startTime = form.date1[0]
 let endTime = form.date1[1]
-let selectProcesses = value.value
+let selectProcesses = procseeValue.value
 
 let total = reactive({
   pageTotal: 0,
@@ -126,7 +126,7 @@
 
   let startTime = form.date1[0]
   let endTime = form.date1[1]
-  let selectProcesses = value.value
+  let selectProcesses = procseeValue.value
 
   request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => {
 
@@ -156,6 +156,7 @@
 }
 
 function filterChanged(column){
+  let selectProcesses = procseeValue.value
   //gridOptions.loading=true
   //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
   let value = column.datas[0]!=undefined?column.datas[0]:''
@@ -173,6 +174,7 @@
 
   let startTime = form.date1[0]
   let endTime = form.date1[1]
+  console.log(selectProcesses)
   request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => {
 
     if (res.code == 200) {
@@ -252,7 +254,7 @@
     {field: 'width', width: 100, title: t('order.width')},
     {field: 'height', width: 100, title: t('order.height')},
     {field: 'shape', width: 90, title: t('order.shape')},
-    {field: 'thickness', width: 90, title: t('order.totalThickness'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'thickness', width: 90, title: t('order.totalThickness')},
     {field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
     {field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')},
     {field: 'area', width: 100, title: t('reportingWorks.completedArea')},
@@ -292,7 +294,7 @@
 })
 
 function exportExcel(url, fileName,date) {
-  let processes = value.value
+  let processes = procseeValue.value
   if(date===null){
     ElMessage.warning(t('report.pleaseSelectADateFirst'))
     return
@@ -351,7 +353,7 @@
             value-format="YYYY-MM-DD"
         />
         &nbsp;&nbsp;
-        <el-select v-model="value" clearable default-value="default_city" style="width: 120px">
+        <el-select v-model="procseeValue" clearable default-value="default_city" style="width: 120px">
           <el-option
               v-for="item in titleSelectJson['processType']"
               :key="item.id"
@@ -368,6 +370,7 @@
         class="mytable-scrollbar"
         height="100%"
         v-bind="gridOptions"
+        @filter-change="filterChanged"
 
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -391,6 +394,7 @@
             :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
             :total="total.dataTotal"
             @page-change="handlePageChange"
+
         >
         </vxe-pager>
       </template>
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 acc7fcd..d99fc74 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
@@ -10,7 +10,9 @@
 import userInfo from "@/stores/userInfo"
 import { useI18n } from 'vue-i18n'
 import footSum from "@/hook/footSum"
+import companyInfo from "@/stores/sd/companyInfo"
 domZIndex.setCurrent(3000)
+const company = companyInfo()
 //璇█鑾峰彇
 const { t } = useI18n()
 let brokenVisible = ref(false)
@@ -1025,9 +1027,11 @@
   //娴佺▼鍗″彿
   let processIdStr = result[1];
   //灞傚彿
-
   let technologyStr = result[2];
-  request.post(`/reportingWork/addSelectLastWork/${processIdStr}/${technologyStr}/${process}`).then((res) => {
+
+  let reportType= company.reportType
+  console.log(reportType)
+  request.post(`/reportingWork/addSelectLastWork/${processIdStr}/${technologyStr}/${process}/${reportType}`).then((res) => {
     if (res.code == 200) {
       if(res.data.data==null){
         ElMessage.error(t('reportingWorks.noDataThisProcessCard'))
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
index 8096b83..31ca690 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -218,11 +218,12 @@
     }
 
     @ApiOperation("娴佺▼鍗℃墦鍗版槑缁嗘暟鎹帓搴忔煡璇㈡帴鍙�")
-    @PostMapping("/printFlowCardDetails/{processId}/{technologyNumber}")
+    @PostMapping("/printFlowCardDetails/{processId}/{technologyNumber}/{process}")
     public Result printFlowCardDetails(@PathVariable String processId,
                                        @PathVariable String technologyNumber,
+                                       @PathVariable String process,
                                        @RequestBody FlowCard flowCard) {
-        return Result.seccess(flowCardService.printFlowCardDetailsSv(processId, technologyNumber, flowCard));
+        return Result.seccess(flowCardService.printFlowCardDetailsSv(processId, technologyNumber,process, flowCard));
     }
 
     @ApiOperation("淇濆瓨鎵撳嵃鎺掑簭鎺ュ彛")
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 5a881f3..07627c2 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
@@ -261,13 +261,21 @@
 
     }
 
-    @ApiOperation("璁㈠崟鎺掍骇璁″垝")
+    @ApiOperation("璁㈠崟鎺掍骇璁″垝瀵煎嚭")
     @PostMapping("/exportScheduleReport")
     public void exportScheduleReport(HttpServletResponse response,
                                      @RequestBody Map<String, Object> dates
     ) throws IOException, IllegalAccessException, InstantiationException {
         //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
-        System.out.println(dates);
         DownExcel.download(response, ScheduleProductionScheduleDTO.class, reportService.exportScheduleReportSv(dates), "ScheduleProduction");
     }
+
+    @ApiOperation("鐝粍浜ч噺瀵煎嚭")
+    @PostMapping("/exportTeamOutput")
+    public void exportTeamOutput(HttpServletResponse response,
+                                     @RequestBody Map<String, Object> dates
+    ) throws IOException, IllegalAccessException, InstantiationException {
+        //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+        DownExcel.download(response, TeamOutputDTO.class, reportService.exportTeamOutputSv(dates), "TeamOutput");
+    }
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
index e4ac1e7..747f7bd 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
@@ -31,12 +31,13 @@
 
     @ApiOperation("鎶ュ伐鏂板鏌ヨ")
     @SaCheckPermission("AddReportingWork.search")
-    @PostMapping  ("/addSelectLastWork/{processIdStr}/{technologyStr}/{process}")
+    @PostMapping  ("/addSelectLastWork/{processIdStr}/{technologyStr}/{process}/{reportType}")
     public Result AddSelectLastWork(
             @PathVariable String processIdStr,
             @PathVariable String technologyStr,
-            @PathVariable String process)  {
-        return  Result.seccess(reportingWorkService.AddSelectLastWorkSv(processIdStr,technologyStr,process));
+            @PathVariable String process,
+            @PathVariable String reportType)  {
+        return  Result.seccess(reportingWorkService.AddSelectLastWorkSv(processIdStr,technologyStr,process,reportType));
     }
     @ApiOperation("鏌ヨ宸ュ簭")
     @PostMapping  ("/selectProcess")
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
index 0f2e78f..a3b96d3 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -86,7 +86,7 @@
 
     List<Map<String, String>> getPrintLabel1(String processId,Integer technologyNumber);
 
-    List<Map<String, String>> printFlowCardDetailsMp(String processId, String technologyNumber, FlowCard flowCard);
+    List<Map<String, String>> printFlowCardDetailsMp(String processId, String technologyNumber, String process, FlowCard flowCard);
 
     Boolean printSortMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort);
 
@@ -118,7 +118,7 @@
 
     List<Map<String, String>> selectReworkPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard);
 
-    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber);
+    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process);
 
     List<Map<String, String>> getPrimaryListMergeRefund(String processId, String technologyNumber, Integer orderNumber);
 
@@ -145,4 +145,10 @@
     List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, Integer technologyNumber, String reportingWorkId);
 
     List<Map<String, String>> selectPrintAllMp(String orderId);
+
+    Boolean printAddSortMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort, String process);
+
+    Integer printAddSortCountMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort, String process);
+
+    Boolean printUpdateSortMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort, String process);
 }
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 f52ca17..2a4105f 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
@@ -85,6 +85,8 @@
 
     Map<String, Integer> workInProgressTotal(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO);
 
+    List<TeamOutputDTO> exportTeamOutputMp(List<LocalDate> date, String process);
+
 
 //    Map<String, Integer> getWorkInProgressTotal(
 //                                                @Param("selectTime1") Date selectTime1, @Param("selectTime2") Date selectTime2,
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 1ec6d8c..307a200 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
@@ -12,7 +12,7 @@
 public interface ReportingWorkMapper extends BaseMapper<ReportingWork> {
 
 
-    ReportingWork AddSelectLastWorkMp(String processIdStr, String technologyStr,String previousProcess,String nextProcess,String process);
+    ReportingWork AddSelectLastWorkMp(String processIdStr, String technologyStr, String previousProcess, String nextProcess, String process, String reportType);
 
     List<BasicDataProduce> SelectWorkBasicDeviceMp(String process);
 
@@ -22,7 +22,7 @@
 
     String SelectWorkTechnologyMp(String processIdStr);
 
-    List<Map<String,String>> SelectTechnologicalNumMp(String processIdStr, String technologyStr,String process);
+    List<Map<String,String>> SelectTechnologicalNumMp(String processIdStr, String technologyStr, String process, String reportType);
 
     List<Map<String,String>> SelectReworlDetailMp(String processIdStr, String technologyStr, String process);
 
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 5aa3cad..70811b1 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
@@ -270,7 +270,7 @@
                     //鏄惁鍖呭惈鍒囧壊
                     boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
                     if(String.valueOf(flowCard.getTechnologyNumber()).length()>1 && containsCutting){
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()));
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
                         itemmap.put("detailList", detailList);
                     }
                     else {
@@ -291,7 +291,7 @@
                     else {
                         itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess()));
 
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge);
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess());
                         itemmap.put("detailList", detailList);
                     }
                 }
@@ -369,9 +369,9 @@
         return map;
     }
 
-    public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
+    public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, String process, FlowCard flowCard) {
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber, flowCard));
+        map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber,process, flowCard));
         return map;
     }
 
@@ -379,7 +379,14 @@
         List<FlowCard> FlowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
         if (!FlowCardList.isEmpty()) {
             for (FlowCard flowCard : FlowCardList) {
-                flowCardMapper.printSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+               // flowCardMapper.printSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+                //鍒ゆ柇淇濆瓨鐨勬暟鎹槸鍚﹀凡瀛樺湪
+                Integer count = flowCardMapper.printAddSortCountMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                if (count >0){
+                    flowCardMapper.printUpdateSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                }else {
+                    flowCardMapper.printAddSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort(),flowCard.getProcess());
+                }
             }
         }
         return true;
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 5687a34..15535be 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
@@ -435,4 +435,11 @@
         String process= (String) dates.get("processes");
         return reportMapper.exportScheduleReportMp(date,process);
     }
+
+    public List exportTeamOutputSv(Map<String, Object> dates) {
+        List<LocalDate> date= (List<LocalDate>) dates.get("date");
+        String process= (String) dates.get("processes");
+
+        return reportMapper.exportTeamOutputMp(date,process);
+    }
 }
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 37e49bf..03622b1 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
@@ -22,7 +22,6 @@
 import com.example.erp.mapper.userInfo.LogMapper;
 import com.example.erp.service.sd.OrderProcessDetailService;
 import com.example.erp.service.userInfo.LogService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -74,7 +73,7 @@
         this.orderGlassDetailMapper = orderGlassDetailMapper;
     }
 
-    public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) {
+    public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process, String reportType) {
         Map<String, Object> map = new HashMap<>();
         //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
         String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr,technologyStr);
@@ -107,7 +106,7 @@
                     nextProcess = processList[i + 1];
                 }
                 //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹�
-                map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr, previousProcess, nextProcess, process));
+                map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr, previousProcess, nextProcess, process,reportType));
                 map.put("thisProcess", processList);
                 break;
             }
@@ -132,7 +131,7 @@
         //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴�
         if (interceptProcess.equals(process)) {
             //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹�
-            map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, technologyStr, process));
+            map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, technologyStr, process,reportType));
         } else {
             //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
             List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process);
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 cd39524..edb8a16 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -755,14 +755,18 @@
                ogd.child_height,
                fc.quantity,
                ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
-               fc.sort,
-               ogd.glass_child
+               ifnull(fcs.sort,'') as sort,
+               ogd.glass_child,
+               #{process} as process
         FROM flow_card AS fc
                  LEFT JOIN sd.order_glass_detail AS ogd ON fc.order_id = ogd.order_id
             AND fc.order_number = ogd.order_number
             AND fc.technology_number = ogd.technology_number
+        left join flow_card_sort as fcs on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and fcs.technology_number = fc.technology_number
+            and fcs.process=#{process}
         where fc.process_id = #{processId}
           and position(fc.technology_number in #{technologyNumber})
+
         order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
     </select>
 
@@ -1114,10 +1118,12 @@
                  left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                  left join sd.product_detail as pd
                            on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+                 left join flow_card_sort as fcs on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and fcs.technology_number = fc.technology_number
+            and fcs.process=#{process}
         where fc.process_id = #{processId}
           and position(fc.technology_number in #{technologyNumber})
         group by fc.process_id, fc.order_number, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(fcs.sort != NULL || fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
     <select id="getPrimaryListMergeRefund">
@@ -1469,10 +1475,12 @@
                  left join sd.order_glass_detail ogd
                            on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                               ogd.technology_number = fc.technology_number
+                 left join flow_card_sort as fcs on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and fcs.technology_number = fc.technology_number
+            and fcs.process=#{process}
         where fc.process_id = #{processId}
-          and fc.technology_number = #{technologyNumber}
+          and position(fc.technology_number in #{technologyNumber})
         group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+        order by IF(fcs.sort != NULL || fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
     <select id="selectPrintNotMp">
@@ -1797,4 +1805,26 @@
           and process != ""
         GROUP BY order_id,process_id,technology_number,process
     </select>
+
+    <insert id="printAddSortMp">
+        insert into flow_card_sort (process_id,order_number,technology_number,process,sort,create_time)
+        values (#{processId},#{orderNumber},#{technologyNumber},#{process},#{sort},now())
+    </insert>
+    <select id="printAddSortCountMp">
+        select
+        count(*)
+        from flow_card_sort
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+          and technology_number = #{technologyNumber}
+          and process = #{process}
+    </select>
+    <update id="printUpdateSortMp">
+        update flow_card_sort
+        set sort = #{sort}
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+          and technology_number = #{technologyNumber}
+          and process = #{process}
+    </update>
 </mapper>
\ No newline at end of file
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 949549f..69fc697 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -1266,6 +1266,64 @@
         limit #{offset},#{pageSize};
     </select>
 
+    <select id="exportTeamOutputMp">
+        SELECT
+        rw.reporting_work_time,
+        rw.this_process,
+        rw.teams_groups_name,
+        o.project,
+        rw.process_id,
+        rwd.order_number,
+        MAX( ogd.child_width ) as width,
+        MAX( ogd.child_height ) as height,
+        if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
+        sum( pd.thickness ) as thickness,
+        od.edging_type,
+        opd.reporting_work_num as completed_quantity,
+        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
+        od.product_name,
+        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
+        FROM
+        reporting_work AS rw
+        LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
+        LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
+        LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
+        AND od.order_number = rwd.order_number
+        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
+        AND ogd.order_number = rwd.order_number
+        AND ogd.technology_number = rwd.technology_number
+        AND ogd.order_number = od.order_number
+        LEFT JOIN (
+        SELECT
+        prod_id,
+        glass_sort,
+        REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
+        FROM
+        sd.product_detail
+        WHERE
+        detail_type = "glass"
+        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
+        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
+        AND opd.process_id = rw.process_id
+        AND opd.order_number = ogd.order_number
+        AND opd.technology_number = ogd.technology_number
+        where opd.reporting_work_num > 0 and rw.reviewed_state=1
+          and date(rw.reporting_work_time) >= #{date[0]}
+          and date(rw.reporting_work_time) &lt;= #{date[1]}
+        and position(#{process} in rw.this_process)
+        GROUP BY
+        rw.this_process,
+        rw.teams_groups_name,
+        rw.process_id,
+        rwd.order_number
+        ORDER BY
+        rw.this_process,
+        rw.process_id,
+        rwd.order_number,
+        rw.reporting_work_time,
+        rw.teams_groups_name
+    </select>
+
     <select id="teamOutputPageTotal">
         SELECT
         CEILING(count(rwd.id)/#{pageSize}) as 'pageTotal',
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 a255700..76714ad 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -88,6 +88,7 @@
         left join reporting_work_detail as rwd on rw.reporting_work_id = rwd.reporting_work_id and rwd.technology_number=fc.technology_number
         where fc.process_id = #{processIdStr}
           and fc.technology_number = #{technologyStr}
+          and if(#{reportType}=1,o.order_type!='鏍峰搧璁㈠崟',o.order_id!='')
         GROUP BY fc.process_id
     </select>
 
@@ -166,11 +167,13 @@
         on patch.process_id = fc.process_id
         and patch.order_sort = fc.order_number
         and patch.technology_number = fc.technology_number
+        left join sd.`order` as o on o.order_id=od.order_id
 
         WHERE
             fc.process_id = #{processIdStr}
           AND fc.technology_number = #{technologyStr}
           AND odpd.process = #{process}
+          and if(#{reportType}=1,o.order_type!='鏍峰搧璁㈠崟',o.order_id!='')
         order by fc.order_number
     </select>
 

--
Gitblit v1.8.0