From 3d88285811ffb6930d70068d108398ceff08fd53 Mon Sep 17 00:00:00 2001
From: hdy <1105738590@qq.com>
Date: 星期一, 15 一月 2024 10:08:01 +0800
Subject: [PATCH] 生产工单代码更新

---
 jcdm-ui/src/views/main/om/productionOrde/index.vue                                       |  230 ++++++++++++++++++++++++++++++---------------
 jcdm-ui/src/views/main/sc/stationConf/index.vue                                          |   20 +++-
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java |    2 
 jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml     |    2 
 4 files changed, 172 insertions(+), 82 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java
index ea3c884..7a01e12 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java
@@ -523,6 +523,8 @@
     }
 
 
+
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml b/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml
index 1345685..2278b09 100644
--- a/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/om/productionOrde/OmProductionOrdeInfoMapper.xml
@@ -47,7 +47,7 @@
     </resultMap>
 
     <sql id="selectOmProductionOrdeInfoVo">
-        select id, work_order_no, sales_order_code,type_z, product_code, product_name, workshop_code, line_code, route_code, bom_code, recipe_code, plan_qty, actual_qty, bad_qty, scrap_qty, repair_qty, actual_online_qty, online_completion_mark, demand_date, plan_start_time, plan_end_time, actual_start_time, actual_end_time, serial_number, order_status, create_time, update_time, create_user, update_user, remarks, stream_number, custom, market_area_code, software_version_code, product_company_code, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from om_production_orde_info
+        select id, work_order_no, sales_order_code,type_z,product_code, product_name, workshop_code, line_code, route_code, bom_code, recipe_code, plan_qty, actual_qty, bad_qty, scrap_qty, repair_qty, actual_online_qty, online_completion_mark, demand_date, plan_start_time, plan_end_time, actual_start_time, actual_end_time, serial_number, order_status, create_time, update_time, create_user, update_user, remarks, stream_number, custom, market_area_code, software_version_code, product_company_code, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from om_production_orde_info
     </sql>
 
     <select id="selectOmProductionOrdeInfoList" parameterType="OmProductionOrdeInfo" resultMap="OmProductionOrdeInfoResult">
diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue
index 7628926..2910162 100644
--- a/jcdm-ui/src/views/main/om/productionOrde/index.vue
+++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -3,20 +3,10 @@
     <el-card class="box-card">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label-width="80" label="鐢熶骇宸ュ崟鍙�" prop="workOrderNo">
-        <el-input
-          v-model="queryParams.workOrderNo"
-          placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="浜у搧鍚嶇О" prop="productName">
-        <el-input
-          v-model="queryParams.productName"
-          placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus">
         <el-select v-model="queryParams.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��" clearable>
@@ -24,8 +14,7 @@
             v-for="dict in dict.type.order_state"
             :key="dict.value"
             :label="dict.label"
-            :value="dict.value"
-          />
+            :value="dict.value"/>
         </el-select>
       </el-form-item>
       <el-form-item style="float: right">
@@ -36,61 +25,25 @@
     </el-form>
     <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
       <el-form-item style="margin-left: 14px" label="浜у搧缂栧彿" prop="productCode">
-        <el-input
-          v-model="queryParams.productCode"
-          placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
-        <el-input
-          v-model="queryParams.salesOrderCode"
-          placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
-        <el-input
-          v-model="queryParams.workshopCode"
-          placeholder="璇疯緭鍏ヨ溅闂寸紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.workshopCode" placeholder="璇疯緭鍏ヨ溅闂寸紪鍙�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="浜х嚎缂栧彿" prop="lineCode">
-        <el-input
-          v-model="queryParams.lineCode"
-          placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.lineCode" placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item style="margin-left: 7px" label-width="80" label="浜у搧BOM" prop="bomCode">
-        <el-input
-          v-model="queryParams.bomCode"
-          placeholder="璇疯緭鍏ヤ骇鍝丅OM"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.bomCode" placeholder="璇疯緭鍏ヤ骇鍝丅OM" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode">
-        <el-input
-          v-model="queryParams.routeCode"
-          placeholder="璇疯緭鍏ュ伐鑹烘祦绋�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.routeCode" placeholder="璇疯緭鍏ュ伐鑹烘祦绋�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
-
       <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode">
-        <el-input
-          v-model="queryParams.recipeCode"
-          placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.recipeCode" placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
     </el-form>
     </el-card>
@@ -159,15 +112,15 @@
           @click="moveUp(val => val, 'down')"
         >涓嬬Щ</el-button>
       </el-col>
-
       <el-col :span="1.5">
         <el-button
           type="primary"
           plain
-          icon="el-icon-plus"
+          icon="el-icon-createUpdate"
           size="mini"
-          @click="handleAdd"
-          v-hasPermi="['om:productionOrde:add']"
+          :disabled="single"
+          @click="CreatehandleUpdate"
+          v-hasPermi="['om:productionOrde:createUpdate']"
         >鐢熸垚</el-button>
       </el-col>
 
@@ -190,6 +143,8 @@
         <el-table-column label="浜у搧鍚嶇О" width="160" align="center" prop="productName">
         </el-table-column>
         <el-table-column label="绉嶇被" width="160" align="center" prop="typeZ">
+        </el-table-column>
+        <el-table-column label="瀹為檯鏁伴噺" width="160" align="center" prop="actualQty">
         </el-table-column>
         <el-table-column label="宸ュ崟鐘舵��" align="center" prop="orderStatus">
           <template slot-scope="scope">
@@ -289,8 +244,11 @@
         <el-form-item label="浜у搧鍚嶇О" prop="productName">
           <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
         </el-form-item>
-        <el-form-item label="浜у搧鍚嶇О" prop="productName">
+        <el-form-item label="绉嶇被" prop="productName">
           <el-input v-model="form.typeZ" disabled placeholder="璇疯緭鍏ョ绫�" />
+        </el-form-item>
+        <el-form-item label="瀹為檯鏁伴噺" prop="actualQty">
+          <el-input v-model="form.actualQty"  placeholder="璇疯緭鍏ュ疄闄呮暟閲�" />
         </el-form-item>
         <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
           <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="璇烽�夋嫨杞﹂棿缂栧彿">
@@ -365,6 +323,52 @@
       </div>
     </el-dialog>
 
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="400px" append-to-body>
+       <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" inline  :model="form"  :rules="CreateRules"label-width="80px">
+        <el-form-item   label="绉嶇被" prop="typeZ">
+          <el-input disabled v-model="form.typeZ"  placeholder="璇疯緭鍏ョ绫�" />
+        </el-form-item>
+        <el-form-item label="骞翠唤" prop="year">
+          <el-select @change="changeYear(form.year)" v-model="form.year"  placeholder="璇烽�夋嫨骞翠唤" clearable>
+            <el-option v-for="dict in dict.type.year"
+                       :key="dict.value"
+                       :label="dict.label"
+                       :value="dict.value"/>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鏈堜唤" prop="month">
+          <el-select @change="changeMonth(form.month)"  v-model="form.month"  placeholder="璇烽�夋嫨鏈堜唤" clearable>
+            <el-option v-for="dict in dict.type.month"
+                       :key="dict.value"
+                       :label="dict.label"
+                       :value="dict.value"/>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鏃ユ湡" prop="day">
+          <el-select @change="changeDay(form.day)" v-model="form.day"  placeholder="璇烽�夋嫨鏃ユ湡" clearable>
+            <el-option v-for="dict in dict.type.day"
+                       :key="dict.value"
+                       :label="dict.label"
+                       :value="dict.value"/>
+          </el-select>
+        </el-form-item>
+        <el-form-item  label="鏁伴噺" prop="actualQty">
+          <el-input  disabled v-model="form.actualQty" placeholder="璇疯緭鍏ユ暟閲�" />
+        </el-form-item>
+        <el-form-item  label="缂栫爜" prop="adds">
+          <el-input  disabled v-model="form.adds"  placeholder="璇风敓鎴愮紪鐮�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="CreateSubmitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -375,10 +379,11 @@
 import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute";
 import ItemSelect  from "@/components/itemSelect/single.vue";
 import { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
+import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling,generateNumbers } from "@/api/main/bs/orderScheduling/orderScheduling";
 
 export default {
   name: "ProductionOrde",
-  dicts: ['order_state'],
+  dicts: ['order_state','year','month','day'],
   components: {
     ItemSelect ,
   },
@@ -387,6 +392,7 @@
       titleName: '',
       options: [],
       lineOptions: [],
+      outputArray: [],
       showFlag:false,
       advancedShowSearch: false,
       workOrder: {
@@ -412,6 +418,7 @@
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
+      Createopen: false,
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -434,8 +441,9 @@
         idNums: null,
         typeZ: null,
         flag: null,
-
+        adds:null,
       },
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       updateStatusParameter: {
@@ -447,7 +455,23 @@
         id: [
           { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" }
         ],
-      }
+      },
+      CreateRules: {
+        day: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        month: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        year: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      },
+      change: {
+        day: '',
+        month: '',
+        year: '',
+      },
     };
   },
   created() {
@@ -455,6 +479,27 @@
     this.initWorkshop();
   },
   methods: {
+    //鏁扮粍鐢熸垚
+
+
+
+    changeDay(day){
+      this.change.day = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
+    changeMonth(day){
+      this.change.month = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
+    changeYear(day){
+      this.change.year = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
+
+
     moveUp(row, val){
       console.log(val)
       const ids = row.id || this.ids
@@ -474,15 +519,8 @@
       });
     },
     // 鍦ㄨ繖閲岀紪鍐欏鐞嗛�変腑浜嬩欢鐨勯�昏緫
-    handleSelectChange(selectedOption) {
-      this.form.lineCode = null;
-      let params = {
-        workshopCode: selectedOption
-      };
-      listLineInfo(params).then(response => {
-        this.lineOptions = response.rows;
-      });
-    },
+
+
     //鐗╂枡閫夋嫨寮瑰嚭妗�
     onItemSelected(obj){
       if(obj !== undefined && obj !== null){
@@ -490,6 +528,7 @@
         this.form.productCode = productCode;
         this.form.productName = obj.materialName;
         this.form.typeZ = obj.typeZ;
+        this.typeL = obj.typeZ;
         this.queryParams.productCode = productCode;
         this.queryParams.typeZ = typeZ
         listTechnologyRoute(this.queryParams).then(response => {
@@ -528,6 +567,7 @@
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
+      this.Createopen = false;
       this.reset();
     },
     // 琛ㄥ崟閲嶇疆
@@ -571,7 +611,8 @@
         spareField2: null,
         spareField3: null,
         typeZ: null,
-        spareField4: null
+        spareField4: null,
+        adds:null
       };
       this.resetForm("form");
     },
@@ -606,6 +647,22 @@
       this.reset();
       this.open = true;
       this.titleName = "娣诲姞鐢熶骇宸ュ崟";
+    },
+    /** 鍚屾鎸夐挳鎿嶄綔 */
+    CreatehandleUpdate(Row) {
+      this.initWorkshop();
+      this.reset();
+      const id = Row.id || this.ids
+      getProductionOrde(id).then(response => {
+        console.log(response.data)
+        this.form = response.data;
+        this.Createopen = true;
+        this.titleName = "鐢熸垚璁㈠崟";
+        // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1);
+      });
+      this.$modal.msgSuccess(Row.actualQty);
+
+
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -654,7 +711,28 @@
       this.download('om/productionOrde/export', {
         ...this.queryParams
       }, `productionOrde_${new Date().getTime()}.xlsx`)
-    }
+    },
+    /** 鎻愪氦鎸夐挳 */
+    CreateSubmitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.orderNumber != null) {
+            updateOrderScheduling(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addOrderScheduling(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+
   }
 };
 </script>
diff --git a/jcdm-ui/src/views/main/sc/stationConf/index.vue b/jcdm-ui/src/views/main/sc/stationConf/index.vue
index 202325f..8b1089c 100644
--- a/jcdm-ui/src/views/main/sc/stationConf/index.vue
+++ b/jcdm-ui/src/views/main/sc/stationConf/index.vue
@@ -135,8 +135,8 @@
           <el-select style="width: 100%" @change="handleSelectChangeprocessesCode(form.processesCode)" v-model="form.processesCode" placeholder="璇烽�夋嫨宸ュ簭缂栧彿">
             <el-option
               v-for="item in options"
-              :key="item.index"
-              :label="item.processesName"
+              :key="item.processesCode"
+              :label="item.processesCode"
               :value="item.processesCode">
             </el-option>
           </el-select>
@@ -206,7 +206,17 @@
       processesCodeQueryParams:{
         pageNum: 1,
         pageSize: 10,
-        processesCodes: null,
+        processesCode: null,
+        processesName: null,
+        processesType: null,
+        ipAddress: null,
+        spareField1: null,
+        spareField2: null,
+        spareField3: null,
+        spareField4: null,
+        createUser: null,
+        updateUser: null,
+        remarks: null
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -225,8 +235,8 @@
   methods: {
 
     handleSelectChangeprocessesCode(selectedOption) {
-      this.processesCodeQueryParams.processesCodes = selectedOption;
-      listProcesses(this.queryParams).then(response => {
+      this.processesCodeQueryParams.processesCode = selectedOption;
+      listProcesses(this.processesCodeQueryParams).then(response => {
         this.form.processesName = response.rows[0].processesName;
       });
     },

--
Gitblit v1.9.3