From ff985a5c0fba76ac5affd00ef47d6a9bdd74989a Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期二, 23 一月 2024 15:34:56 +0800
Subject: [PATCH] 返修标记

---
 jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml                      |    3 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java         |    2 
 jcdm-ui/src/views/main/kb/repairMark/index.vue                                                                            |  209 +++++++++++++++++++++++++++++++++++++++++
 jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js                                              |    9 +
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java    |   10 ++
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java                  |   12 ++
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java |   18 +++
 7 files changed, 262 insertions(+), 1 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
index 999b8e7..973d321 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
@@ -49,6 +49,16 @@
     }
 
     /**
+     * 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
+     */
+    @GetMapping("/insertRepairRecordByIds")
+    public AjaxResult insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection)
+    {
+        daPassingStationCollectionService.insertRepairRecordByIds(daPassingStationCollection);
+        return AjaxResult.success();
+    }
+
+    /**
      * 瀵煎嚭浜у搧杩囩珯閲囬泦鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('da:passingStationCollection:export')")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
index f0f2348..a61ca36 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
@@ -91,7 +91,17 @@
     @Excel(name = "鑺傛媿鏃堕棿")
     private String beatTime;
 
-    public void setId(Long id) 
+    private Long[] ids;
+
+    public Long[] getIds() {
+        return ids;
+    }
+
+    public void setIds(Long[] ids) {
+        this.ids = ids;
+    }
+
+    public void setId(Long id)
     {
         this.id = id;
     }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
index e251e00..9c9b9cf 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
@@ -59,4 +59,6 @@
      * @return 缁撴灉
      */
     public int deleteDaPassingStationCollectionById(Long id);
+
+    void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
index c5d10a9..550b86d 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
@@ -5,6 +5,8 @@
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
+import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord;
+import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +21,9 @@
 {
     @Autowired
     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
+
+    @Autowired
+    private RmRepairRecordMapper rmRepairRecordMapper;
 
     /**
      * 鏌ヨ浜у搧杩囩珯閲囬泦
@@ -93,4 +98,17 @@
     {
         return daPassingStationCollectionMapper.deleteDaPassingStationCollectionById(id);
     }
+
+    @Override
+    public void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection) {
+        Long[] conditions = daPassingStationCollection.getIds();
+        for (int i = 0; i < conditions.length; i++) {
+            DaPassingStationCollection result = daPassingStationCollectionMapper.selectDaPassingStationCollectionById(conditions[i]);
+            RmRepairRecord rmRepairRecord = new RmRepairRecord();
+            rmRepairRecord.setBoxCode(result.getSfcCode());
+            rmRepairRecord.setProcessesCode(result.getLocationCode());
+            rmRepairRecord.setOriginalResult(result.getOutRsSign());
+            rmRepairRecordMapper.insertRmRepairRecord(rmRepairRecord);
+        }
+    }
 }
diff --git a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
index 3b26b5c..3eca8e2 100644
--- a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
@@ -43,6 +43,9 @@
             <if test="equipmentNo != null  and equipmentNo != ''"> and equipment_no = #{equipmentNo}</if>
             <if test="inboundTime != null "> and inbound_time = #{inboundTime}</if>
             <if test="outboundTime != null "> and outbound_time = #{outboundTime}</if>
+            <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if>
+            <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if>
+
         </where>
     </select>
     
diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
index 6d6b40a..ea0aaca 100644
--- a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
+++ b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
@@ -9,6 +9,15 @@
   })
 }
 
+// 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
+export function insertRepairRecordByIds(query) {
+  return request({
+    url: '/da/passingStationCollection/insertRepairRecordByIds',
+    method: 'get',
+    params: query
+  })
+}
+
 // 鏌ヨ浜у搧杩囩珯閲囬泦璇︾粏
 export function getPassingStationCollection(id) {
   return request({
diff --git a/jcdm-ui/src/views/main/kb/repairMark/index.vue b/jcdm-ui/src/views/main/kb/repairMark/index.vue
new file mode 100644
index 0000000..5a836a5
--- /dev/null
+++ b/jcdm-ui/src/views/main/kb/repairMark/index.vue
@@ -0,0 +1,209 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-row>
+        <el-divider style="margin-bottom: 10px"><span style="font-size: 40px">鍙戝姩鏈鸿繑淇爣璁扮郴缁�</span></el-divider>
+      </el-row>
+      <el-row style="margin-top: 10px">
+        <el-form :model="queryParams.sfcCode" ref="queryForm" :inline="true" label-width="68px" >
+          <el-form-item label-width="120" label="鍙戝姩鏈哄彿:" prop="orderNo">
+            <el-input
+              v-model="queryParams.sfcCode"
+              placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="margin-left: 20px">
+            <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+            <el-button type="primary" icon="el-icon-scissors" @click="repairProgressHandleQuery">杩斾慨杩涘害</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+    </el-card>
+    <el-row :gutter="0">
+      <el-col :span="20">
+        <el-card style="margin-top: 10px; height: 490px;" class="box-card">
+          <el-table border ref="multipleTable" :data="passingStationCollectionList"  @selection-change="handleSelectionChange">
+            <el-table-column type="selection" width="55" align="center" />
+            <el-table-column label="宸ュ崟缂栧彿" width="120" align="center" prop="workOrderNo">
+            </el-table-column>
+            <el-table-column label="鎬绘垚搴忓垪鍙�" width="150" align="center" prop="sfcCode">
+            </el-table-column>
+            <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode">
+            </el-table-column>
+            <el-table-column label="浜х嚎缂栧彿" align="center" prop="productionLine">
+            </el-table-column>
+            <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode">
+            </el-table-column>
+            <el-table-column label="鍏ョ珯鏃堕棿" align="center" prop="inboundTime" width="100">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鍑虹珯鏃堕棿" align="center" prop="outboundTime" width="100">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鏄惁鍚堟牸" align="center" prop="outRsSign">
+            </el-table-column>
+            <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign">
+            </el-table-column>
+            <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="180">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鑺傛媿鏃堕棿" align="center" prop="beatTime">
+            </el-table-column>
+          </el-table>
+        </el-card>
+      </el-col>
+      <el-col :span="4">
+        <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
+          <el-button type="success" @click="selectAll" style="margin-left: 50px;width: 100px;margin-top: 10px">閫夋嫨鎵�鏈�</el-button>
+          <el-button type="success" @click="clearAll" style="margin-left: 50px; width: 100px;margin-top: 10px">鍙栨秷閫夋嫨</el-button>
+          <el-button type="success" @click="selectUnqualified" style="margin-left: 50px; width: 100px;margin-top: 10px">閫夋嫨涓嶅悎鏍�</el-button>
+          <el-button type="success" @click="markComplete" style="margin-left: 50px; width: 100px;margin-top: 10px">鏍囪瀹屾垚</el-button>
+          <el-button type="success" @click="repairRecord" style="margin-left: 50px; width: 100px;margin-top: 10px">杩斾慨璁板綍</el-button>
+          <el-button type="success" @click="operationLog" style="margin-left: 50px; width: 100px;margin-top: 10px">鎿嶄綔鏃ュ織</el-button>
+
+        </el-card>
+      </el-col>
+    </el-row>
+
+    <el-dialog v-dialogpop-up :visible.sync="open" width="700px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        杩斾慨杩涘害
+      </span>
+      <el-table border :data="repairRecordList">
+        <el-table-column label="鍙戝姩鏈哄彿" width="150" align="center" prop="boxCode" />
+        <el-table-column label="宸ヤ綅鍙�" align="center" prop="processesCode" />
+        <el-table-column label="杩斾慨缁撴灉" align="center" prop="repairResults" />
+        <el-table-column label="鍘熺粨鏋�" align="center" prop="originalResult" />
+        <el-table-column label="杩斾慨鏃堕棿" align="center" width="160" prop="repairTime" />
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import {
+  listPassingStationCollection,
+  insertRepairRecordByIds
+} from "@/api/main/da/passingStationCollection/passingStationCollection";
+import {listRepairRecord} from "@/api/main/rm/repairRecord/repairRecord";
+export default {
+  name: "index",
+  dicts: ['sys_normal_disable'],
+  data(){
+    return{
+      // 杩斾慨璁板綍琛ㄦ牸鏁版嵁
+      repairRecordList: [],
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 浜у搧杩囩珯閲囬泦琛ㄦ牸鏁版嵁
+      passingStationCollectionList: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        sfcCode: '',
+        outRsSign: '',
+      },
+      ids: [],
+      allSelected: false
+
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods:{
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+    },
+    selectAll(){
+      this.passingStationCollectionList.forEach(row => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    clearAll(){
+      this.$refs.multipleTable.clearSelection();
+    },
+    selectUnqualified(){
+      let outRsSign = this.passingStationCollectionList.filter(row => row.outRsSign === '鍚堟牸')
+      outRsSign.forEach(row => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      })
+      this.$modal.msgSuccess('閫夋嫨涓嶅悎鏍�');
+    },
+    markComplete(){
+      if(this.ids.length === 0){
+        this.$modal.msgSuccess('鏈�夋嫨');
+      }else {
+        this.$modal.msgSuccess('鏍囪瀹屾垚');
+        let queryParams = {
+          ids: this.ids
+        }
+        insertRepairRecordByIds(queryParams).then(response => {
+
+        });
+      }
+    },
+    repairRecord(){
+      this.$modal.msgSuccess('杩斾慨璁板綍');
+    },
+    operationLog(){
+      this.$modal.msgSuccess('鎿嶄綔鏃ュ織');
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    repairProgressHandleQuery(){
+      this.open = true;
+      if(this.queryParams.engineNo === ''||this.queryParams.engineNo=== null){
+        this.$modal.msgSuccess('璇疯緭鍏ュ彂鍔ㄦ満鍙�');
+      }else {
+        /** 鏌ヨ杩斾慨璁板綍鍒楄〃 */
+        let queryParams = {
+          boxCode: this.queryParams.engineNo
+        }
+        listRepairRecord(queryParams).then(response => {
+          this.repairRecordList = response.rows;
+        });
+      }
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */
+    getList() {
+      listPassingStationCollection(this.queryParams).then(response => {
+        this.passingStationCollectionList = response.rows;
+        this.total = response.total;
+      });
+    },
+
+  },
+}
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>

--
Gitblit v1.9.3