Pārlūkot izejas kodu

实际费用填报

guarantee-lsq 1 gadu atpakaļ
vecāks
revīzija
d94433e7f8

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/preparation/PreparationDTO.java

@@ -238,4 +238,6 @@ public class PreparationDTO extends BaseDTO implements Serializable {
 
     private String finishContent; // 完成情况
 
+    private BigDecimal actualFee; // 实际费用
+
 }

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/entity/preparation/Preparation.java

@@ -174,5 +174,7 @@ public class Preparation implements Serializable{
 
     private String finishContent; // 完成情况
 
+    private BigDecimal actualFee; // 实际费用
+
 
 }

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/preparation/PreparationVO.java

@@ -206,4 +206,6 @@ public class PreparationVO extends BaseVO implements Serializable {
 
     private String finishContent; // 完成情况
 
+    private BigDecimal actualFee; // 实际费用
+
 }

+ 9 - 0
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -425,6 +425,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
     public void completePreparation(PreparationDTO model) {
         Preparation preparation = mapper.selectByPrimaryKey(model.getId());
         Preparation updPre = new Preparation();
+        updPre.setActualFee(model.getActualFee());
         updPre.setId(model.getId());
         updPre.setFinishContent(model.getFinishContent());
         updPre.setRepairEndTime(LocalDateTime.now());
@@ -735,6 +736,14 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         updPre.setApplyReason(model.getApplyReason());
         updPre.setContent(model.getContent());
         updPre.setFee(model.getFee());
+        updPre.setActualFee(model.getActualFee());
+        // 判断前后费用不一致
+        if(preparation.getActualFee().compareTo(model.getActualFee()) != 0){
+            // 判断修改人是否是执行人
+            if(!SecurityUtils.getUserInfo().getUserId().equals(preparation.getRepairUserId())){
+                throw new DeniedException("非执行人不能修改实际费用");
+            }
+        }
         SysUserDTO queryUserDTO = new SysUserDTO();
         List<SysUserVO> userVOS = null;
         // 查询发送消息用户