Explorar el Código

奖惩分值设置展示优化,终评后端接口修改

ouyj hace 3 meses
padre
commit
6ab9966a02

+ 3 - 3
ygtx-gxt/src/main/java/com/ygtx/gxt/domain/GxtSafeOperationReward.java

@@ -44,9 +44,9 @@ public class GxtSafeOperationReward extends BaseEntity
     @ApiModelProperty(value = "状态")
     private Integer status;
 
-    /** 长时间停运分值 */
-    @Excel(name = "长时间停运分值")
-    @ApiModelProperty(value = "长时间停运分值")
+    /** 长时间停运分值 */
+    @Excel(name = "长时间停运分值")
+    @ApiModelProperty(value = "长时间停运分值")
     private BigDecimal downtimeScore;
 
     public void setId(Long id) 

+ 8 - 2
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderScoreServiceImpl.java

@@ -842,7 +842,7 @@ public class GxtOrderScoreServiceImpl implements IGxtOrderScoreService {
                         repairPerson.setTotalScore(person.getTotalScore());
                         // 计算总分时考虑runScore
                         Double calculatedScore = (person.getTotalScore() != null ? person.getTotalScore() : 0.0) + 
-                                          (person.getRunScore() != null ? person.getRunScore() : 0.0);
+                                          (person.getRunScore() != null ? person.getRunScore() : 0.0) +  (person.getStopScore() != null ? person.getStopScore() : 0.0);
                         repairPerson.setScore(calculatedScore != 0.0 ? BigDecimal.valueOf(calculatedScore) : null);
                         personList.add(repairPerson);
                     }
@@ -903,6 +903,9 @@ public class GxtOrderScoreServiceImpl implements IGxtOrderScoreService {
                 if("to_final".equals(oldOrder.getScoringStatus())){
                     // 更新月度统计数据
                     updateMonthlyScoreData(orderScoreInfo);
+
+                    // 添加工单个人分数明细数据
+                    addOrderScoreDetails(orderScoreInfo, order);
                 }else if("appealing".equals(oldOrder.getScoringStatus())){
                     // 更新月度统计数据(仅更新用户得分)
                     updateMonthlyScoreDataForFinalEval(orderScoreInfo);
@@ -922,7 +925,7 @@ public class GxtOrderScoreServiceImpl implements IGxtOrderScoreService {
                         workPerson.setTotalScore(person.getTotalScore());
                         // 计算总分时考虑runScore
                         Double calculatedScore = (person.getTotalScore() != null ? person.getTotalScore() : 0.0) + 
-                                          (person.getRunScore() != null ? person.getRunScore() : 0.0);
+                                          (person.getRunScore() != null ? person.getRunScore() : 0.0) +  (person.getStopScore() != null ? person.getStopScore() : 0.0);
                         workPerson.setScore(calculatedScore != 0.0 ? BigDecimal.valueOf(calculatedScore) : null);
                         personList.add(workPerson);
                     }
@@ -987,6 +990,9 @@ public class GxtOrderScoreServiceImpl implements IGxtOrderScoreService {
                 if("to_final".equals(oldOrder.getScoringStatus())){
                     // 更新月度统计数据
                     updateMonthlyScoreData(orderScoreInfo);
+
+                    // 添加工单个人分数明细数据
+                    addOrderScoreDetails(orderScoreInfo, order);
                 }else if("appealing".equals(oldOrder.getScoringStatus())){
                     // 更新月度统计数据(仅更新用户得分)
                     updateMonthlyScoreDataForFinalEval(orderScoreInfo);

+ 14 - 14
ygtx-ui/src/views/gxt/safeOperationReward/index.vue

@@ -7,7 +7,7 @@
           placeholder="请输入时长"
           clearable
           @keyup.enter="handleQuery"
-          controls-position="right" :precision="0" :step="1" :min="0"
+          controls-position="right" :precision="0" :step="1" :min="0" :max="9999"
         />
       </el-form-item>
       <el-form-item label="启用状态" prop="status" label-position="top">
@@ -74,7 +74,7 @@
       </el-table-column>
       <el-table-column label="维保工单奖励分值" prop="plannedMaintenanceScore"  align="center"/>
       <el-table-column label="维修工单奖励分值" prop="unplannedMaintenanceScore" align="center"/>
-      <el-table-column label="长时间停运分值" prop="downtimeScore" align="center"/>
+      <el-table-column label="长时间停运分值" prop="downtimeScore" align="center"/>
       <el-table-column label="启用状态" prop="status" align="center">
         <template #default="scope">
           <dict-tag :options="sys_normal_disable" :value="scope.row.status" />
@@ -96,20 +96,20 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改安全运行奖励对话框 -->
+    <!-- 添加或修改奖惩分值对话框 -->
     <el-dialog :title="title" v-model="open" width="600px" append-to-body>
       <el-form ref="formRef" :model="form" :rules="rules" label-width="200px">
         <el-form-item label="连续安全运行时长(≥)" prop="safeDuration">
-          <el-input-number v-model="form.safeDuration" placeholder="请输入连续安全运行时长(天)" controls-position="right" :precision="0" :step="1" :min="0" style="width: 80%"/>(天)
+          <el-input-number v-model="form.safeDuration" placeholder="请输入连续安全运行时长(天)" controls-position="right" :precision="0" :step="1" :min="0" :max="9999" style="width: 80%"/>(天)
         </el-form-item>
         <el-form-item label="维保工单奖励分值" prop="plannedMaintenanceScore">
-          <el-input-number v-model="form.plannedMaintenanceScore" controls-position="right" :precision="2" :step="0.1" :min="0" style="width: 100%"/>
+          <el-input-number v-model="form.plannedMaintenanceScore" controls-position="right" :precision="2" :step="0.1" :min="0" :max="999" style="width: 100%"/>
         </el-form-item>
         <el-form-item label="维修工单奖励分值" prop="unplannedMaintenanceScore">
-          <el-input-number v-model="form.unplannedMaintenanceScore" controls-position="right" :precision="2" :step="0.1" :min="0" style="width: 100%"/>
+          <el-input-number v-model="form.unplannedMaintenanceScore" controls-position="right" :precision="2" :step="0.1" :min="0" :max="999" style="width: 100%"/>
         </el-form-item>
-        <el-form-item label="长时间停运分值" prop="downtimeScore">
-          <el-input-number v-model="form.downtimeScore" controls-position="right" :precision="2" :step="0.1" :max="0" style="width: 100%"/>
+        <el-form-item label="长时间停运分值" prop="downtimeScore">
+          <el-input-number v-model="form.downtimeScore" controls-position="right" :precision="2" :step="0.1" :max="0" :min="-999" style="width: 100%"/>
         </el-form-item>
         <el-form-item label="启用状态" prop="status">
           <el-radio-group v-model="form.status">
@@ -195,13 +195,13 @@ const data = reactive({
     safeDuration: [{ required: true, message: "连续安全运行时长不能为空", trigger: "blur" }],
     plannedMaintenanceScore: [{ required: true, message: "维保工单奖励分值不能为空", trigger: "blur" }],
     unplannedMaintenanceScore: [{ required: true, message: "维修工单奖励分值不能为空", trigger: "blur" }],
-    downtimeScore: [{ required: true, message: "长时间停运分值不能为空", trigger: "blur" }]
+    downtimeScore: [{ required: true, message: "长时间停运分值不能为空", trigger: "blur" }]
   }
 })
 
 const { queryParams, form, rules } = toRefs(data)
 
-/** 查询安全运行奖励列表 */
+/** 查询奖惩分值列表 */
 function getList() {
   loading.value = true
   listSafeOperationReward(queryParams.value).then(response => {
@@ -253,7 +253,7 @@ function handleSelectionChange(selection) {
 function handleAdd() {
   reset()
   open.value = true
-  title.value = "添加安全运行奖励"
+  title.value = "奖惩分值设置"
 }
 
 /** 修改按钮操作 */
@@ -263,7 +263,7 @@ function handleUpdate(row) {
   getSafeOperationReward(id).then(response => {
     form.value = response.data
     open.value = true
-    title.value = "修改安全运行奖励"
+    title.value = "修改奖惩分值"
   })
 }
 
@@ -291,7 +291,7 @@ function submitForm() {
 /** 删除按钮操作 */
 function handleDelete(row) {
   const deleteIds = row.id || ids.value
-  proxy.$modal.confirm('是否确认删除安全运行奖励编号为"' + deleteIds + '"的数据项?').then(function() {
+  proxy.$modal.confirm('是否确认删除奖惩分值编号为"' + deleteIds + '"的数据项?').then(function() {
     return delSafeOperationReward(deleteIds)
   }).then(() => {
     getList()
@@ -311,7 +311,7 @@ function handleExport() {
       '连续安全运行时长',
       '维保工单奖励分值',
       '维修工单奖励分值',
-      '长时间停运分值'
+      '长时间停运分值'
     ];
     
     // 在导出字段中查找对应的key