소스 검색

-破锁管理关联安全阀申请单修改

jiangbiao 2 년 전
부모
커밋
2f58fea60e

+ 21 - 11
master/src/main/java/com/ruoyi/project/apply/controller/TApplyOfflinevalveController.java

@@ -113,10 +113,6 @@ public class TApplyOfflinevalveController extends BaseController {
     @PostMapping
     public AjaxResult add(@RequestBody TApplyOfflinevalve tApplyOfflinevalve) {
         Long userId = getUserId();
-        TApplyLock tApplyLock = tApplyLockService.selectTApplyLockByLockCode(tApplyOfflinevalve.getLockNo());
-        if (tApplyLock.getStatus()==1||tApplyLock.getStatus()==2){
-            return AjaxResult.error("该锁不可用。");
-        }
         // 新增申请数据
         tApplyOfflinevalve.setApplicant(userId.toString());
         tApplyOfflinevalve.setApplicantName(getNickName());
@@ -195,7 +191,6 @@ public class TApplyOfflinevalveController extends BaseController {
         String processInstancesId = task.getProcessInstanceId();
         // 旧数据
         TApplyOfflinevalve tApplyOfflinevalve = tApplyOfflinevalveService.selectTApplyOfflinevalveById(form.getId());
-        TApplyLock tApplyLock = tApplyLockService.selectTApplyLockByLockCode(tApplyOfflinevalve.getLockNo());
         String taskName = task.getName();//实例名
         // 添加备注
         String remarks = StringUtils.isEmpty(tApplyOfflinevalve.getRemarks()) ? "" : tApplyOfflinevalve.getRemarks();
@@ -227,6 +222,12 @@ public class TApplyOfflinevalveController extends BaseController {
             case "临时措施制定人":
                 form.setConfirmer(getUserId().toString());
                 form.setConfirmerName(getNickName());
+                if (StringUtils.isNotEmpty(form.getLockNo())) {
+                    TApplyLock tApplyLock = tApplyLockService.selectTApplyLockByLockCode(form.getLockNo());
+                    if (tApplyLock != null && (tApplyLock.getStatus() == 1 || tApplyLock.getStatus() == 2)) {
+                        return AjaxResult.error("该锁不可用。");
+                    }
+                }
                 break;
             case "临时措施确认人":
                 form.setConfirmer(getUserId().toString());
@@ -256,9 +257,15 @@ public class TApplyOfflinevalveController extends BaseController {
                 if ("1".equals(devTask.getCondition())) {//只有通过时审批状态才会变为已通过
                     form.setApproveStatus("2");
                     //修改锁状态
-                    if (tApplyLock != null) {
-                        tApplyLock.setStatus(1L);//将锁状态改为已拆锁
-                        tApplyLockService.updateTApplyLock(tApplyLock);
+                    if (StringUtils.isNotEmpty(tApplyOfflinevalve.getLockNo())) {
+                        TApplyLock tApplyLock = tApplyLockService.selectTApplyLockByLockCode(tApplyOfflinevalve.getLockNo());
+                        if (tApplyLock != null) {
+                            if (tApplyLock.getStatus() == 1 || tApplyLock.getStatus() == 2) {
+                                return AjaxResult.error("该锁已被使用。");
+                            }
+                            tApplyLock.setStatus(1L);//将锁状态改为已拆锁
+                            tApplyLockService.updateTApplyLock(tApplyLock);
+                        }
                     }
                 }
                 break;
@@ -288,9 +295,12 @@ public class TApplyOfflinevalveController extends BaseController {
                     form.setLockConfirm("NA");//否则确认是否已上锁为NA
                 }
                 //修改锁状态
-                if (tApplyLock != null) {
-                    tApplyLock.setStatus(0L);//将锁状态改为挂锁
-                    tApplyLockService.updateTApplyLock(tApplyLock);
+                if (StringUtils.isNotEmpty(tApplyOfflinevalve.getLockNo())) {
+                    TApplyLock tApplyLock = tApplyLockService.selectTApplyLockByLockCode(tApplyOfflinevalve.getLockNo());
+                    if (tApplyLock != null) {
+                        tApplyLock.setStatus(0L);//将锁状态改为挂锁
+                        tApplyLockService.updateTApplyLock(tApplyLock);
+                    }
                 }
                 break;
             case "上锁人":

+ 1 - 0
master/src/main/resources/mybatis/apply/TApplyOfflinevalveMapper.xml

@@ -211,6 +211,7 @@
             <if test="approveTime != null">approve_time = #{approveTime},</if>
             <if test="resetConfirm != null">reset_confirm = #{resetConfirm},</if>
             <if test="leakConfirm != null">leak_confirm = #{leakConfirm},</if>
+            <if test="lockNo != null">lock_no = #{lockNo},</if>
             <if test="revokeConfirm != null">revoke_confirm = #{revokeConfirm},</if>
             <if test="lockConfirm != null">lock_confirm = #{lockConfirm},</if>
             <if test="lockConfirmer1 != null">lock_confirmer1 = #{lockConfirmer1},</if>

+ 0 - 20
ui/src/views/apply/offlinevalve/index.vue

@@ -247,17 +247,6 @@
                     ></el-option>
                   </el-select>
                 </el-form-item>-->
-        <el-form-item label="破锁编号" prop="lockNo">
-          <el-select v-model="form.lockNo" placeholder="请选择锁编号" clearable size="small" filterable
-                     style="width: 100%">
-            <el-option
-              v-for="item in lockList"
-              :key="item.lockCode"
-              :label="item.lockCode"
-              :value="item.lockCode"
-            ></el-option>
-          </el-select>
-        </el-form-item>
         <el-form-item label="临时措施确认人" prop="confirmer">
           <el-select v-model="form.confirmer" placeholder="请选择临时措施确认人" clearable size="small" filterable
                      style="width: 100%">
@@ -465,7 +454,6 @@ export default {
       total: 0,
       // 安全阀离线切出申请表格数据
       offlinevalveList: [],
-      lockList: [],
       // 安全阀清单
       safetyvavleList: [],
       // 字典
@@ -569,9 +557,6 @@ export default {
         confirmer: [
           {required: true, message: "请选择临时措施确认人", trigger: "blur"}
         ],
-        lockNo: [
-          {required: true, message: "请选择锁编号", trigger: "blur"}
-        ],
       }
     };
   },
@@ -612,11 +597,6 @@ export default {
     });
   },
   methods: {
-    getLocks(unit) {
-      listAllLock({lockPost: unit, status: 0}).then(res => {
-        this.lockList = res.data;
-      })
-    },
     getUnit() {
       for (const valve of this.safetyvavleList) {
         if (this.form.devNo == valve.tagno) {

+ 43 - 19
ui/src/views/approve/approveDetail/offlinevalve-detail.vue

@@ -19,9 +19,12 @@
       <el-descriptions-item label="安全评估以及临时措施执行" :span="2" :label-style="labelStyle">
         {{ this.dataForm.safa }}
       </el-descriptions-item>
-      <el-descriptions-item label="安全阀锁开是否拆解" :span="2" :label-style="labelStyle">
+      <el-descriptions-item label="安全阀锁开是否拆解" :label-style="labelStyle">
         {{ this.dataForm.disassembly }}
       </el-descriptions-item>
+      <el-descriptions-item label="破锁编号" :label-style="labelStyle">
+        {{ this.dataForm.lockNo }}
+      </el-descriptions-item>
       <el-descriptions-item label="临时措施执行人" :label-style="labelStyle">
         {{ this.dataForm.executorName }}
       </el-descriptions-item>
@@ -93,6 +96,17 @@
               <el-radio label="NA">NA</el-radio>
             </el-radio-group>
           </el-form-item>
+          <el-form-item label="破锁编号" prop="lockNo" v-if="form.disassembly=='是'">
+            <el-select v-model="form.lockNo" placeholder="请选择锁编号" clearable size="small" filterable
+                       style="width: 100%">
+              <el-option
+                v-for="item in lockList"
+                :key="item.lockCode"
+                :label="item.lockCode"
+                :value="item.lockCode"
+              ></el-option>
+            </el-select>
+          </el-form-item>
         </div>
         <div v-if="taskName=='信息确认人'||(taskName=='确认人'&&dataForm.disassembly!='是')">
           <el-row>
@@ -134,19 +148,19 @@
               </el-col>
             </div>
           </el-row>
-<!--          <div v-if="dataForm.disassembly=='是'">
-            <el-form-item label="上锁确认人" prop="lockConfirmer1">
-              <el-select v-model="form.lockConfirmer1" placeholder="请选择上锁确认人" clearable size="small" filterable
-                         style="width: 100%">
-                <el-option
-                  v-for="item in infoConfirmerList"
-                  :key="item.userId"
-                  :label="item.nickName"
-                  :value="item.userId"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </div>-->
+          <!--          <div v-if="dataForm.disassembly=='是'">
+                      <el-form-item label="上锁确认人" prop="lockConfirmer1">
+                        <el-select v-model="form.lockConfirmer1" placeholder="请选择上锁确认人" clearable size="small" filterable
+                                   style="width: 100%">
+                          <el-option
+                            v-for="item in infoConfirmerList"
+                            :key="item.userId"
+                            :label="item.nickName"
+                            :value="item.userId"
+                          ></el-option>
+                        </el-select>
+                      </el-form-item>
+                    </div>-->
         </div>
         <el-form-item label="备注" prop="remarks" v-if="taskName!='申请人提交申请'">
           <el-input type="textarea" v-model="form.remarks" placeholder="选填"/>
@@ -215,12 +229,13 @@ import {getOfflinevalve, handle} from "@/api/apply/offlinevalve";
 import {getHistorylist} from "@/api/ehs/approvedanger";
 import {listUserPost} from "@/api/system/user";
 import {allSafetyvavle} from "@/api/reliability/safetyvavle";
+import {listAllLock} from "@/api/apply/lock";
 
 export default {
   name: "offlinevalve-detail",
   data() {
     return {
-      desFlag:false,
+      desFlag: false,
       status: {0: "未完成", 1: "已完成"},
       approveStatus: {1: "申请中", 2: "已通过", 3: "已拒绝"},
       //label样式
@@ -229,6 +244,7 @@ export default {
       // 安全阀清单
       safetyvavleList: [],
       unitOptions: [],
+      lockList: [],
       //流转列表
       historyList: [],
       historyLoading: true,
@@ -290,8 +306,8 @@ export default {
         processId: null
       },
       form: {},
-      statusFlag : '',
-      approveStatusFlag : '',
+      statusFlag: '',
+      approveStatusFlag: '',
       rules: {
         safa: [{required: true, message: "请输入安全评估以及临时措施执行", trigger: "blur"}],
         lockConfirm: [{required: true, message: "请选择是/否/NA", trigger: "blur"}],
@@ -309,12 +325,15 @@ export default {
         offlineReason: [
           {required: true, message: "请输入离线原因", trigger: "blur"}
         ],
+        lockNo: [
+          {required: true, message: "请选择锁编号", trigger: "blur"}
+        ],
       },
       flag: false
     }
   },
   methods: {
-    init(id, taskId, processId, taskName, flag,desFlag) {
+    init(id, taskId, processId, taskName, flag, desFlag) {
       this.flag = flag;
       this.desFlag = desFlag;
       this.submitDisabled = false;
@@ -351,6 +370,7 @@ export default {
           this.approveStatusFlag = 'danger';
         }
       });
+      this.getLocks(this.dataForm.unit);
       this.getDicts("apply_status").then(response => {
         this.statusList = response.data;
       });
@@ -373,7 +393,11 @@ export default {
         this.unitOptions = response.data;
       });
     },
-
+    getLocks(unit) {
+      listAllLock({lockPost: unit, status: 0}).then(res => {
+        this.lockList = res.data;
+      })
+    },
     dataFormSubmit(val) {
       this.$refs["form"].validate(valid => {
         if (valid || val != 1) {

+ 4 - 1
ui/src/views/approve/approveDetail/safetychange-detail.vue

@@ -72,9 +72,12 @@
           <span>{{ parseTime(this.dataForm.changeExecutorTime, '{y}-{m}-{d} {h}:{i}') }}</span>
         </template>
       </el-descriptions-item>
-      <el-descriptions-item label="组织保护措施是否已经恢复至变更前的状态" :span="2" :label-style="labelStyle">
+      <el-descriptions-item label="组织保护措施是否已经恢复至变更前的状态" :label-style="labelStyle">
         {{ this.dataForm.resetConfirm }}
       </el-descriptions-item>
+      <el-descriptions-item label="破锁编号" :label-style="labelStyle">
+        {{ this.dataForm.lockNo }}
+      </el-descriptions-item>
       <el-descriptions-item label="状态恢复,确认人1" :label-style="labelStyle">
         {{ this.dataForm.resetConfirmerName1 }}
       </el-descriptions-item>