Browse Source

feat(eoeg): 更新锁定流程以支持副班长确认

- 在 TEoegLockChangeController 中查询并设置副班长为措施确认人
- 修改 bpmn 文件中的用户任务分配方式,使用 candidateUsers 替代 assignee
- 调整前端表单布局,将评估人和措施执行人放在同一行,变更执行人和变更确认人放在下一行
-修复 getLockList 方法中 status 参数的格式问题

fix(pssr): 扩展仪表类型判断逻辑并更新文件名

- 在 TPssrInstrumentCalibrationController 中增加对"液位计"和"测量点"类型的识别
- 将导出文件名从"流量计"更改为"测量点"

refactor(ui): 优化 PSSR 相关页面的显示与输入逻辑

- 在氮气检测页面中为空字段显示 NA- 在泵清洗、泵加注和泵大修页面中添加 NA 选项
- 更新测量点检修完工检查确认清单的标题和标签文字
- 注释掉液位计相关的 tab 页面,并启用测量点页面
jiangbiao 1 month ago
parent
commit
648df4afe0

+ 11 - 0
master/src/main/java/com/ruoyi/project/eoeg/controller/TEoegLockChangeController.java

@@ -181,6 +181,17 @@ public class TEoegLockChangeController extends BaseController {
                 monitor = new StringBuilder(monitor.substring(0, monitor.length() - 1));
             }
             variables.put("monitor", monitor.toString());
+            // 查询副班长
+            tStaffmgr = new TStaffmgr();
+            tStaffmgr.setActualposts("34");
+            StringBuilder viceSquad = new StringBuilder();
+            for (SysUser user : sysUserService.selectUserPost(tStaffmgr)) {
+                viceSquad.append(user.getUserId().toString()).append(",");
+            }
+            if (StringUtils.isNotEmpty(viceSquad.toString())) {
+                viceSquad = new StringBuilder(viceSquad.substring(0, viceSquad.length() - 1)).append(",").append(monitor);
+            }
+            variables.put("measureConfirmer", viceSquad);
             //采用key来启动流程定义并设置流程变量,返回流程实例
             ProcessInstance pi = runtimeService.startProcessInstanceByKey("eoegLock", String.valueOf(businessKey), variables);
             logger.info("流程定义id:" + pi.getProcessDefinitionId());

+ 2 - 4
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrInstrumentCalibrationController.java

@@ -115,12 +115,10 @@ public class TPssrInstrumentCalibrationController extends BaseController {
                     } else if (j == 1) {
                         entity.setDevNo(cellValue);
                     } else if (j == 2) {
-                        if ("流量计".equals(cellValue)) {
+                        if ("流量计".equals(cellValue)||"液位计".equals(cellValue)||"测量点".equals(cellValue)) {
                             entity.setDevType("1");
                         } else if ("调节阀".equals(cellValue)) {
                             entity.setDevType("3");
-                        } else if ("液位计".equals(cellValue)) {
-                            entity.setDevType("2");
                         }
                     }else if (j == 3) {
                         entity.setConfirm1(cellValue);
@@ -406,7 +404,7 @@ public class TPssrInstrumentCalibrationController extends BaseController {
                 num++;
                 rowIndex++;
             }
-            filename = "PSSR_23_仪表校验_流量计" + ".xlsx";
+            filename = "PSSR_23_仪表校验_测量点" + ".xlsx";
             out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
             wb.write(out);
             wb.close();

+ 1 - 0
master/src/main/resources/mybatis/system/SysUserMapper.xml

@@ -243,6 +243,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="nickName != null and nickName != ''">
 			AND u.nick_name like concat(concat('%',#{nickName}),'%')
 		</if>
+        and u.del_flag = '0'
 	</select>
 
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">

+ 1 - 1
master/src/main/resources/processes/eoeg/eoegLock.bpmn

@@ -26,7 +26,7 @@
     <sequenceFlow id="flow9" name="C/D 级风险" sourceRef="exclusivegateway" targetRef="pgrtask2">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${lockLevel == 1}]]></conditionExpression>
     </sequenceFlow>
-    <userTask id="csqrrtask" name="措施确认人" activiti:assignee="#{safaer}"></userTask>
+    <userTask id="csqrrtask" name="措施确认人" activiti:candidateUsers="#{measureConfirmer}"></userTask>
     <sequenceFlow id="flow10" sourceRef="pgrtask2" targetRef="csqrrtask">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${condition == 1}]]></conditionExpression>
     </sequenceFlow>

BIN
master/src/main/resources/static/word/pssr/ybjyllj.xlsx


+ 44 - 31
ui/src/views/eoeg/eoegChange/index.vue

@@ -82,12 +82,12 @@
           <span>{{ parseTime(scope.row.changeExecutorTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-<!--      <el-table-column label="班长" align="center" prop="monitorName" :show-overflow-tooltip="true" width="200"/>-->
-<!--      <el-table-column label="班长确认时间" align="center" prop="monitorTime" width="100">-->
-<!--        <template slot-scope="scope">-->
-<!--          <span>{{ parseTime(scope.row.monitorTime, '{y}-{m}-{d}') }}</span>-->
-<!--        </template>-->
-<!--      </el-table-column>-->
+      <!--      <el-table-column label="班长" align="center" prop="monitorName" :show-overflow-tooltip="true" width="200"/>-->
+      <!--      <el-table-column label="班长确认时间" align="center" prop="monitorTime" width="100">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          <span>{{ parseTime(scope.row.monitorTime, '{y}-{m}-{d}') }}</span>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
       <el-table-column label="状态恢复后,之前采取的安全措施是否已撤销:" align="center" prop="revokeConfirm"
                        :show-overflow-tooltip="true" width="200"/>
       <el-table-column label="组织保护措施状态变更执行" align="center" prop="changeExecution"
@@ -239,30 +239,43 @@
         <el-form-item label="状态变更原因" prop="changeReason">
           <el-input type="textarea" v-model="form.changeReason" placeholder="请输入状态变更原因"/>
         </el-form-item>
-        <el-form-item label="评估人" prop="safaer">
-          <el-select clearable filterable v-model="form.safaer">
-            <el-option v-for="item in staffmgrOptions" :key="item.userId" :label="item.name" :value="item.userId">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="措施执行人" prop="executor">
-          <el-select clearable filterable v-model="form.executor" @change="compareToStaff('executor')">
-            <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="变更执行人" prop="changeExecutor">
-          <el-select clearable filterable v-model="form.changeExecutor" @change="compareToStaff('changeExecutor')">
-            <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="变更确认人" prop="changeConfirmer">
-          <el-select clearable filterable v-model="form.changeConfirmer" @change="compareToStaff('changeConfirmer')">
-            <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
-            </el-option>
-          </el-select>
-        </el-form-item>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="评估人" prop="safaer">
+              <el-select clearable filterable v-model="form.safaer">
+                <el-option v-for="item in staffmgrOptions" :key="item.userId" :label="item.name" :value="item.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="措施执行人" prop="executor">
+              <el-select clearable filterable v-model="form.executor" @change="compareToStaff('executor')">
+                <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="变更执行人" prop="changeExecutor">
+              <el-select clearable filterable v-model="form.changeExecutor" @change="compareToStaff('changeExecutor')">
+                <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="变更确认人" prop="changeConfirmer">
+              <el-select clearable filterable v-model="form.changeConfirmer"
+                         @change="compareToStaff('changeConfirmer')">
+                <el-option v-for="item in classStaffOptions" :key="item.userId" :label="item.name" :value="item.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
         <el-form-item label="备注" prop="remarks">
           <el-input v-model="form.remarks" placeholder="请输入备注"/>
         </el-form-item>
@@ -651,7 +664,7 @@ export default {
       })
     },
     getLockList() {
-      listEoegLock({status:0}).then(response => {
+      listEoegLock({status: 0}).then(response => {
         this.lockList = response.rows;
       });
     },

+ 8 - 8
ui/src/views/pssr/instrumentCalibration/index.vue

@@ -129,10 +129,10 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>现场流量计检修完工检查确认清单</H2><br>检查要求:<br>
-      1.外观检查:流量计外观检查无明显瑕疵,设备完整良好;仪表位号牌齐全。现场检查符合要求的,在“外观检查”项中打“✔”,不符合打“×”。<br>
-      2.安装检查:流量计回装位置正确。现场检查符合要求的,在“安装检查”项中打“✔”,不符合打“×”。<br>
-      3.功能检查:流量计校验完成,功能完好;一次阀已经投用,具备使用条件。现场检查符合要求的,在“功能检查”项中打“✔”,不符合打“×”。<br>
+      <H2>现场测量点检修完工检查确认清单</H2><br>检查要求:<br>
+      1.外观检查:测量点外观检查无明显瑕疵,设备完整良好;仪表位号牌齐全。现场检查符合要求的,在“外观检查”项中打“✔”,不符合打“×”。<br>
+      2.安装检查:测量点回装位置正确。现场检查符合要求的,在“安装检查”项中打“✔”,不符合打“×”。<br>
+      3.功能检查:测量点校验完成,功能完好;一次阀已经投用,具备使用条件。现场检查符合要求的,在“功能检查”项中打“✔”,不符合打“×”。<br>
       以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
 
     </div>
@@ -148,7 +148,7 @@
         </template>
       </el-table-column>
       <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="流量计位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="外观检查" align="center" prop="visualInspection" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="安装检查" align="center" prop="installationInspection" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="功能检查" align="center" prop="functionalCheck" :show-overflow-tooltip="true" width="180"/>
@@ -222,8 +222,8 @@
         <el-form-item label="单元号" prop="unit">
           <el-input v-model="form.unit" placeholder="请输入单元号" />
         </el-form-item>
-        <el-form-item label="流量计位号" prop="devNo">
-          <el-input v-model="form.devNo" placeholder="请输入流量计位号" />
+        <el-form-item label="位号" prop="devNo">
+          <el-input v-model="form.devNo" placeholder="请输入位号" />
         </el-form-item>
         <el-form-item label="外观检查" prop="visualInspection">
           <el-radio v-model="form.visualInspection" label="✔" border>✔</el-radio>
@@ -352,7 +352,7 @@
                width="1000px">
       <el-table  :data="items" border>
         <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true"/>
-        <el-table-column label="流量计位号" align="center" prop="devNo" :show-overflow-tooltip="true"/>
+        <el-table-column label="位号" align="center" prop="devNo" :show-overflow-tooltip="true"/>
         <el-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true">
           <template slot-scope="scope">
               <el-input v-model="scope.row.reason" placeholder="请输入驳回原因"/>

+ 20 - 4
ui/src/views/pssr/nitrogen/index.vue

@@ -151,10 +151,26 @@
         </template>
       </el-table-column>
       <el-table-column label="样品名称" align="center" prop="sampleName" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="氧气(%vol)" align="center" prop="oxygen" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="氧气标准值(%vol)" align="center" prop="oxygenValue" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="露点" align="center" prop="dewPoint" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="露点标准值" align="center" prop="dewPointValue" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="氧气(%vol)" align="center" prop="oxygen" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.oxygen?scope.row.oxygen:'NA' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="氧气标准值(%vol)" align="center" prop="oxygenValue" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.oxygenValue?scope.row.oxygenValue:'NA' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="露点" align="center" prop="dewPoint" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.dewPoint?scope.row.dewPoint:'NA' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="露点标准值" align="center" prop="dewPointValue" :show-overflow-tooltip="true" width="180">
+        <template slot-scope="scope">
+          <span>{{ scope.row.dewPointValue?scope.row.dewPointValue:'NA' }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="合格(是/否)" align="center" prop="standard" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true" width="150">
         <template slot-scope="scope">

+ 2 - 0
ui/src/views/pssr/pumpCleaning/index.vue

@@ -235,10 +235,12 @@
         <el-form-item label="是否清理干净" prop="cleaning">
           <el-radio v-model="form.cleaning" label="是" border>是</el-radio>
           <el-radio v-model="form.cleaning" label="否" border>否</el-radio>
+          <el-radio v-model="form.cleaning" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="是否正确回装" prop="backLoading">
           <el-radio v-model="form.backLoading" label="是" border>是</el-radio>
           <el-radio v-model="form.backLoading" label="否" border>否</el-radio>
+          <el-radio v-model="form.backLoading" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="确认人1" prop="confirmer1">
           <el-select v-model="form.confirmer1" filterable placeholder="请选择确认人1">

+ 3 - 0
ui/src/views/pssr/pumpFill/index.vue

@@ -239,14 +239,17 @@
         <el-form-item label="润滑油或油脂加注完成" prop="fillingComplete">
           <el-radio v-model="form.fillingComplete" label="是" border>是</el-radio>
           <el-radio v-model="form.fillingComplete" label="否" border>否</el-radio>
+          <el-radio v-model="form.fillingComplete" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="润滑油泄漏" prop="lubricatingLeak">
           <el-radio v-model="form.lubricatingLeak" label="是" border>是</el-radio>
           <el-radio v-model="form.lubricatingLeak" label="否" border>否</el-radio>
+          <el-radio v-model="form.lubricatingLeak" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="油杯液位正常" prop="liquidNormal">
           <el-radio v-model="form.liquidNormal" label="是" border>是</el-radio>
           <el-radio v-model="form.liquidNormal" label="否" border>否</el-radio>
+          <el-radio v-model="form.liquidNormal" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="确认人1" prop="confirmer1">
           <el-select v-model="form.confirmer1" filterable placeholder="请选择确认人1">

+ 2 - 0
ui/src/views/pssr/pumpOverhaul/index.vue

@@ -232,10 +232,12 @@
         <el-form-item label="正确回装" prop="backLoading">
           <el-radio v-model="form.backLoading" label="是" border>是</el-radio>
           <el-radio v-model="form.backLoading" label="否" border>否</el-radio>
+          <el-radio v-model="form.backLoading" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="设备检修完成" prop="overhaulDone">
           <el-radio v-model="form.overhaulDone" label="是" border>是</el-radio>
           <el-radio v-model="form.overhaulDone" label="否" border>否</el-radio>
+          <el-radio v-model="form.overhaulDone" label="NA" border>NA</el-radio>
         </el-form-item>
         <el-form-item label="确认人1" prop="confirmer1">
           <el-select v-model="form.confirmer1" filterable placeholder="请选择确认人1">

+ 4 - 4
ui/src/views/pssr/subitem/index.vue

@@ -153,10 +153,10 @@
         <el-tab-pane label="调节阀" name="first">
           <regulating-valve :sub-id="Number(si)" :is-approve="Number(isApprove)"/>
         </el-tab-pane>
-        <el-tab-pane label="液位计" name="second">
-          <liquidometer :sub-id="Number(si)" :is-approve="Number(isApprove)"/>
-        </el-tab-pane>
-        <el-tab-pane label="流量计" name="thrid">
+<!--        <el-tab-pane label="液位计" name="second">-->
+<!--          <liquidometer :sub-id="Number(si)" :is-approve="Number(isApprove)"/>-->
+<!--        </el-tab-pane>-->
+        <el-tab-pane label="测量点" name="second">
           <instrument-calibration :sub-id="Number(si)" :is-approve="Number(isApprove)"/>
         </el-tab-pane>
       </el-tabs>