From a646fa956a1d41ea33a55712693f1b175f85ecd1 Mon Sep 17 00:00:00 2001
From: hdy <1105738590@qq.com>
Date: 星期三, 12 三月 2025 21:18:42 +0800
Subject: [PATCH] 工单界面新增按钮

---
 billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml                         |   14 +++-
 billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java |   30 ++++------
 billion-ui/src/views/main/om/info/index.vue                                                       |  128 +++++++++++++++++++-----------------------
 billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java       |    1 
 4 files changed, 81 insertions(+), 92 deletions(-)

diff --git a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
index 8abc833..ddfc436 100644
--- a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
@@ -46,6 +46,7 @@
             omProductionOrderInfo.setBodyStatus("0");
             omProductionOrderInfo.setHeadStatus("0");
             omProductionOrderInfo.setPreStatus("0");
+            omProductionOrderInfo.setDelFlag("0");
             omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber());
             omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber());
             omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber());
diff --git a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java
index f540144..0b4288e 100644
--- a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java
+++ b/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java
@@ -3,17 +3,15 @@
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.billion.common.core.domain.entity.SysUser;
-import com.billion.common.core.domain.model.LoginUser;
 import com.billion.common.exception.ServiceException;
-import com.billion.common.utils.SecurityUtils;
+import com.billion.common.utils.DateUtils;
 import com.billion.main.om.domain.OmProductionOrderInfo;
 import com.billion.main.om.mapper.OmProductionOrderInfoMapper;
 import com.billion.main.om.service.IOmProductionOrderInfoService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.List;
 
 /**
  * 鐢熶骇宸ュ崟Service涓氬姟灞傚鐞�
@@ -129,20 +127,16 @@
     @Override
     public int updateOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo)
     {
-        Collection<Long> omProductionOrderInfoIds = Collections.emptyList();
-        List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>()
-                .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo())
-                        .notIn(OmProductionOrderInfo::getId, omProductionOrderInfoIds));
-//                .stream().filter(x -> !x.getId().equals(omProductionOrderInfo.getId()))
-//                .collect(Collectors.toList());
-        if (CollUtil.isNotEmpty(checkList)){
-            throw new ServiceException("宸插瓨鍦ㄥ伐鍗曠紪鍙蜂负"+omProductionOrderInfo.getWorkOrderNo()+"鐨勬暟鎹�");
-        }
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser user = loginUser.getUser();
-        omProductionOrderInfo.setUpdateTime(new Date());
-        omProductionOrderInfo.setUpdateBy(user.getUserName());
-        return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo);
+//        Collection<Long> omProductionOrderInfoIds = Collections.emptyList();
+//        List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>()
+//                .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo())
+//                        .notIn(OmProductionOrderInfo::getId, omProductionOrderInfoIds));
+//        if (CollUtil.isNotEmpty(checkList)){
+//            throw new ServiceException("宸插瓨鍦ㄥ伐鍗曠紪鍙蜂负"+omProductionOrderInfo.getWorkOrderNo()+"鐨勬暟鎹�");
+//        }
+//        return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo);
+        omProductionOrderInfo.setUpdateTime(DateUtils.getNowDate());
+        return  OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo);
     }
 
     /**
diff --git a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml
index 51ccd8a..b529c21 100644
--- a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml
+++ b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml
@@ -20,6 +20,16 @@
         <result property="updateBy"    column="update_by"    />
         <result property="remarks"    column="remarks"    />
         <result property="delFlag"    column="del_flag"    />
+        <result property="engineType"    column="engine_type"    />
+        <result property="engineName"    column="engine_name"    />
+        <result property="flag"    column="flag"    />
+        <result property="bodyQty"    column="body_qty"    />
+        <result property="headQty"    column="head_qty"    />
+        <result property="preQty"    column="pre_qty"    />
+        <result property="bodyStatus"    column="body_status"    />
+        <result property="headStatus"    column="head_status"    />
+        <result property="preStatus"    column="pre_status"    />
+
     </resultMap>
 
     <sql id="selectOmProductionOrderInfoVo">
@@ -133,7 +143,6 @@
             <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if>
             <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code,</if>
             <if test="productCode != null and productCode != ''">product_code,</if>
-            <if test="lineCode != null and lineCode != ''">line_code,</if>
             <if test="planQty != null">plan_qty,</if>
             <if test="planStartTime != null">plan_start_time,</if>
             <if test="planEndTime != null">plan_end_time,</if>
@@ -149,7 +158,6 @@
             <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if>
             <if test="salesOrderCode != null and salesOrderCode != ''">#{salesOrderCode},</if>
             <if test="productCode != null and productCode != ''">#{productCode},</if>
-            <if test="lineCode != null and lineCode != ''">#{lineCode},</if>
             <if test="planQty != null">#{planQty},</if>
             <if test="planStartTime != null">#{planStartTime},</if>
             <if test="planEndTime != null">#{planEndTime},</if>
@@ -160,6 +168,7 @@
             <if test="updateBy != null">#{updateBy},</if>
             <if test="remarks != null">#{remarks},</if>
             <if test="delFlag != null">#{delFlag},</if>
+            set del_flag = 0,
          </trim>
     </insert>
 
@@ -169,7 +178,6 @@
             <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if>
             <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code = #{salesOrderCode},</if>
             <if test="productCode != null and productCode != ''">product_code = #{productCode},</if>
-            <if test="lineCode != null and lineCode != ''">line_code = #{lineCode},</if>
             <if test="planQty != null">plan_qty = #{planQty},</if>
             <if test="planStartTime != null">plan_start_time = #{planStartTime},</if>
             <if test="planEndTime != null">plan_end_time = #{planEndTime},</if>
diff --git a/billion-ui/src/views/main/om/info/index.vue b/billion-ui/src/views/main/om/info/index.vue
index 567066b..3012182 100644
--- a/billion-ui/src/views/main/om/info/index.vue
+++ b/billion-ui/src/views/main/om/info/index.vue
@@ -48,16 +48,6 @@
       <el-row :gutter="10" class="mb8" >
         <el-col :span="1.5">
           <el-button
-            type="primary"
-            plain
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-            v-hasPermi="['main:info:add']"
-          >鏂板</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
             type="success"
             plain
             icon="el-icon-edit"
@@ -66,17 +56,6 @@
             @click="handleUpdate"
             v-hasPermi="['main:info:edit']"
           >淇敼</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['main:info:remove']"
-          >鍒犻櫎</el-button>
         </el-col>
         <el-col :span="1.5">
           <el-button
@@ -90,62 +69,63 @@
         </el-col>
         <el-col :span="1.5">
           <el-button
-            type="primary"
+            type="success"
             plain
-            icon="el-icon-receiving"
+            icon="el-icon-edit"
             size="mini"
-            @click="handleReceive"
-          >鎺ユ敹宸ュ崟</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="primary"
-            plain
-            :disabled="multiple"
-            icon="el-icon-magic-stick"
-            size="mini"
-            @click="handleCreate"
-          >鐢熸垚</el-button>
+            :disabled="single"
+            @click=""
+            v-hasPermi="['main:info:edit']"
+          >缂镐綋鏆傚仠\鍚姩</el-button>
         </el-col>
         <!--      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
       </el-row>
     </div>
 
-
-    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+    <el-table border  v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="宸ュ崟缂栧彿" align="center" prop="workOrderNo" width="120">
         <template slot-scope="scope">
           <a style="color: #7099F9"  @click="orderDetail(scope.row.workOrderNo)" >{{scope.row.workOrderNo}}
           </a>
-<!--          <div @click="orderDetail(scope.row.workOrderNo)">{{scope.row.workOrderNo}}</div>-->
         </template>
       </el-table-column>
-      <el-table-column label="璁㈠崟缂栧彿" align="center" prop="salesOrderCode" width="120"/>
-      <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode" width="180"/>
-      <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode" />
+      <el-table-column label="璁㈠崟缂栧彿" align="center" prop="salesOrderCode" />
+      <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode" />
       <el-table-column label="璁″垝鏁伴噺" align="center" prop="planQty" />
-      <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" prop="planStartTime" width="120">
+      <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" prop="planStartTime" >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d} {h}:{i}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" prop="planEndTime" width="120">
+      <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" prop="planEndTime" >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d} {h}:{i}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="宸ュ崟鐘舵��" align="center" prop="orderStatus">
+      <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" >
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.order_status" :value="scope.row.orderStatus"/>
+          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="180">
+      <el-table-column label="缂镐綋涓婄嚎鏁伴噺" align="center" prop="bodyQty" />
+      <el-table-column label="缂哥洊涓婄嚎鏁伴噺" align="center" prop="head_qty" />
+      <el-table-column label="棰勮涓婄嚎鏁伴噺" align="center" prop="pre_qty" />
+      <el-table-column label="缂镐綋宸ュ崟鐘舵��" align="center" prop="bodyStatus" >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+          <dict-tag :options="dict.type.status" :value="scope.row.bodyStatus"/>
         </template>
       </el-table-column>
-      <el-table-column label="鏇存柊鐢ㄦ埛" align="center" prop="updateBy" />
+      <el-table-column label="缂哥洊宸ュ崟鐘舵��" align="center" prop="headStatus" >
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.status" :value="scope.row.headStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="棰勮宸ュ崟鐘舵��" align="center" prop="preStatus" >
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.status" :value="scope.row.preStatus"/>
+        </template>
+      </el-table-column>
       <el-table-column label="澶囨敞" width="180px" show-overflow-tooltip align="center" prop="remarks" />
     </el-table>
 
@@ -160,45 +140,54 @@
     <!-- 娣诲姞鎴栦慨鏀圭敓浜у伐鍗曞璇濇 -->
     <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="宸ュ崟缂栧彿" prop="workOrderNo">
-          <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" />
+        <el-form-item  label="宸ュ崟缂栧彿" prop="workOrderNo">
+          <el-input  disabled v-model="form.workOrderNo" placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" />
         </el-form-item>
-        <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
-          <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
+        <el-form-item  label="璁㈠崟缂栧彿" prop="salesOrderCode">
+          <el-input disabled v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
         </el-form-item>
-        <el-form-item label="浜у搧缂栧彿" prop="productCode">
-          <el-input v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" />
+        <el-form-item  label="浜у搧缂栧彿" prop="productCode">
+          <el-input disabled v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" />
         </el-form-item>
-        <el-form-item label="浜х嚎缂栧彿" prop="lineCode">
-          <el-input v-model="form.lineCode" placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�" />
-        </el-form-item>
-        <el-form-item label="璁″垝鏁伴噺" prop="planQty">
-          <el-input v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
+        <el-form-item  label="璁″垝鏁伴噺" prop="planQty">
+          <el-input disabled v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
         </el-form-item>
         <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planStartTime">
           <el-date-picker clearable
             v-model="form.planStartTime"
-            type="date"
-            value-format="yyyy-MM-dd"
+            type="datetime"
+            value-format="yyyy-MM-dd HH:mm:ss"
             placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�">
           </el-date-picker>
         </el-form-item>
         <el-form-item label="璁″垝缁撴潫鏃堕棿" prop="planEndTime">
           <el-date-picker clearable
             v-model="form.planEndTime"
-            type="date"
-            value-format="yyyy-MM-dd"
+            type="datetime"
+            value-format="yyyy-MM-dd HH:mm:ss"
             placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿">
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus" v-if = updateFlag>
-          <el-radio-group v-model="form.orderStatus">
+        <el-form-item  label="缂镐綋鏁伴噺" prop="bodyQty">
+          <el-input disabled v-model="form.bodyQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
+        </el-form-item>
+        <el-form-item label="缂镐綋宸ュ崟鐘舵��" prop="bodyStatus" v-if = updateFlag>
+          <el-radio-group v-model="form.bodyStatus">
             <el-radio
-              v-for="dict in dict.type.order_status"
+              v-for="dict in dict.type.status"
               :key="dict.value"
               :label="dict.value"
             >{{dict.label}}</el-radio>
           </el-radio-group>
+        </el-form-item>
+
+
+
+        <el-form-item  label="缂稿鏁伴噺" prop="headStatus">
+          <el-input disabled v-model="form.headStatus" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
+        </el-form-item>
+        <el-form-item  label="棰勮鏁伴噺" prop="preStatus">
+          <el-input disabled v-model="form.preStatus" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" />
         </el-form-item>
         <el-form-item label="澶囨敞" prop="remarks">
           <el-input
@@ -329,9 +318,6 @@
         ],
         productCode: [
           { required: true, message: "浜у搧缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-        ],
-        lineCode: [
-          { required: true, message: "浜х嚎缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
         ],
         planQty: [
           { required: true, message: "璁″垝鏁伴噺涓嶈兘涓虹┖", trigger: "blur" }

--
Gitblit v1.9.3