Browse Source

Merge remote-tracking branch 'origin/demo_' into demo_

1 year ago
parent
commit
96a9898cc2

+ 3 - 1
platform-dao/src/main/java/com/platform/dao/dto/preparation/PreparationDTO.java

@@ -195,7 +195,7 @@ public class PreparationDTO extends BaseDTO implements Serializable {
      */
     private String executeDept;
     /**
-     * 申请部分审核
+     * 申请部分审核主管
      */
     private String applyVerifyUserId;
 
@@ -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; // 实际费用
+
 
 }

+ 4 - 2
platform-dao/src/main/java/com/platform/dao/enums/SysFileTypeEnum.java

@@ -25,8 +25,10 @@ public enum SysFileTypeEnum {
     SB_XZ_IMG(5, "设备闲置图片"),
     REPAIR_APPLICATION_IMGS(11, "维修-报修图片"),
     REPAIR_APPLICATION_FILES(41, "维修-报修文件"),
-    PREPARATION_APPLICATION_IMGS(43, "筹建-报修图片"),
-    PREPARATION_APPLICATION_FILES(44, "筹建-报修文件"),
+    PREPARATION_APPLICATION_IMGS(43, "建筑物-费用图片"),
+    PREPARATION_APPLICATION_FILES(44, "建筑物-费用文件"),
+    PREPARATION_APPLICATION_IMGS_APPLY(45, "建筑物申请-报修图片"),
+    PREPARATION_APPLICATION_FILES_APPLY(46, "建筑物申请-报修文件"),
     REPAIR_REPAIR_IMGS(12, "维修-维修图片"),
     REPAIR_REPAIR_FILES(35, "维修-维修文件"),
     REPAIR_CHECK_IMGS(13, "维修-验收图片"),

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

@@ -130,6 +130,10 @@ public class PreparationVO extends BaseVO implements Serializable {
 
     private List<SysFile> fileList;
 
+    private List<SysFile> applyImageList;
+
+    private List<SysFile> applyFileList;
+
     private String userName;
 
     private String positionName;
@@ -202,4 +206,6 @@ public class PreparationVO extends BaseVO implements Serializable {
 
     private String finishContent; // 完成情况
 
+    private BigDecimal actualFee; // 实际费用
+
 }

+ 7 - 0
platform-rest/src/main/java/com/platform/rest/controller/preparation/PreparationController.java

@@ -317,4 +317,11 @@ public class PreparationController {
     return new R(preparationService.getRepairNum());
   }
 
+  @SysLog("修改实际费用")
+  @PutMapping("/actual/fee/{id}")
+  public R updateActualFee(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody PreparationDTO preparationDTO) {
+    preparationService.updateActualFee(id,preparationDTO.getActualFee());
+    return new R<>();
+  }
+
 }

+ 8 - 0
platform-service/src/main/java/com/platform/service/preparation/PreparationService.java

@@ -9,6 +9,7 @@ import com.platform.dao.vo.report.AllPreparationReportVO;
 import com.platform.dao.vo.report.PreparationReportByStatusVO;
 import com.platform.service.base.IBaseService;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.List;
 
@@ -103,4 +104,11 @@ public interface PreparationService extends IBaseService<Preparation, Preparatio
      */
     void deleteById(String id);
 
+    /**
+     * 修改实际费用
+     * @param id
+     * @param actualFee
+     */
+    void updateActualFee(String id, BigDecimal actualFee);
+
 }

+ 52 - 1
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -311,10 +311,29 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         model.setNo(IdGeneratorUtils.getPreparationNo(++count));
         model.setStatus(PreparationStatusEnum.NOT_ALLOCATED.getValue()); // 待主管审核
         model.setNodeNum(PreparationNodeEnum.APPLY.getValue());
+        // 根据是否有审核主管,判断审核节点和状态
+        boolean sendToVerify = Boolean.TRUE;
+        if(StringUtils.isEmpty(model.getApplyVerifyUserId())){
+            model.setStatus(PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue()); // 待主管审核
+            model.setNodeNum(PreparationNodeEnum.APPLY_MANAGER_VERIFY.getValue());
+            sendToVerify = Boolean.FALSE;
+        }
         model.setDelUserId("[]");
         Preparation preparation = this.saveModelByDTO(model);
+        // 保存文件图片
+        if(model.getImageList() != null && model.getImageList().size() > 0){
+            sysFileService.saveFile(preparation.getId(), SysFileTypeEnum.PREPARATION_APPLICATION_IMGS_APPLY.getValue(), model.getImageList());
+        }
+        if(model.getFileList() != null && model.getFileList().size() > 0){
+            sysFileService.saveFile(preparation.getId(), SysFileTypeEnum.PREPARATION_APPLICATION_FILES_APPLY.getValue(), model.getFileList());
+        }
         // 给申请部门主管发送信息,通知审核
-        SysUser sendUser = sysUserMapper.selectByPrimaryKey(model.getApplyVerifyUserId());
+        SysUser sendUser = null;
+        if(sendToVerify){
+            sendUser = sysUserMapper.selectByPrimaryKey(model.getApplyVerifyUserId());
+        }else{
+            sendUser = sysUserMapper.selectByPrimaryKey(model.getApplyVerifyLeader());
+        }
         sendMessageToApplyManger(sendUser, preparation);
         // 存储操作记录
         addRecord(preparation, PreparationRecordTypeEnum.FLOW.getValue(), model.getRemark());
@@ -406,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());
@@ -436,6 +456,8 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         List<SysFile> sysFiles = sysFileService.getListByTargetAndType(id, null);
         List<SysFile> imageList = ListUtils.newArrayList();
         List<SysFile> fileList = ListUtils.newArrayList();
+        List<SysFile> applyImageList = ListUtils.newArrayList();
+        List<SysFile> applyFileList = ListUtils.newArrayList();
         sysFiles.forEach(item -> {
             if (item.getType().equals(SysFileTypeEnum.PREPARATION_APPLICATION_IMGS.getValue())) {
                 imageList.add(item);
@@ -443,9 +465,17 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
             if (item.getType().equals(SysFileTypeEnum.PREPARATION_APPLICATION_FILES.getValue())) {
                 fileList.add(item);
             }
+            if (item.getType().equals(SysFileTypeEnum.PREPARATION_APPLICATION_IMGS_APPLY.getValue())) {
+                applyImageList.add(item);
+            }
+            if (item.getType().equals(SysFileTypeEnum.PREPARATION_APPLICATION_FILES_APPLY.getValue())) {
+                applyFileList.add(item);
+            }
         });
         vo.setImageList(imageList);
         vo.setFileList(fileList);
+        vo.setApplyImageList(applyImageList);
+        vo.setApplyFileList(applyFileList);
         // 审批主管
         if (!StringUtils.isEmpty(vo.getApplyVerifyUserId())) {
             vo.setApplyVerifyUser(sysUserMapper.selectUserNameById(vo.getApplyVerifyUserId()));
@@ -706,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;
         // 查询发送消息用户
@@ -950,6 +988,19 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         mapper.updateByPrimaryKeySelective(updPre);
     }
 
+    @Override
+    public void updateActualFee(String id, BigDecimal actualFee) {
+        Preparation preparation = mapper.selectByPrimaryKey(id);
+        String userId = SecurityUtils.getUserInfo().getUserId();
+        if(!userId.equals(preparation.getRepairUserId())){
+            throw new DeniedException("非执行人不可以修改实际费用");
+        }
+        Preparation updInfo = new Preparation();
+        updInfo.setId(id);
+        updInfo.setActualFee(actualFee);
+        mapper.updateByPrimaryKeySelective(updInfo);
+    }
+
     @Override
     public AbstractPageResultBean<Preparation> selectPageInfo(PreparationDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);

+ 4 - 7
platform-service/src/main/java/com/platform/service/store/impl/OutStoreFormServiceImpl.java

@@ -10,14 +10,11 @@ import com.platform.common.exception.DeniedException;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
-import com.platform.dao.dto.project.ProjectDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.store.OutStoreDetailDTO;
 import com.platform.dao.dto.store.OutStoreFormDTO;
 import com.platform.dao.dto.store.SparePickFormDTO;
-import com.platform.dao.entity.project.Project;
 import com.platform.dao.entity.repair.RepairApplicationForm;
-import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.sb.SbOil;
 import com.platform.dao.entity.store.*;
@@ -43,7 +40,6 @@ import com.platform.service.upms.SysConfigService;
 import com.platform.service.upms.SysUserDeptService;
 import com.platform.service.upms.SysUserRoleService;
 import com.platform.service.yongyou.YongyouService;
-import handler.yongyou.response.OtherOutAddResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -324,7 +320,8 @@ public class OutStoreFormServiceImpl extends BaseServiceImpl<OutStoreFormMapper,
         model.setOutNo(IdGeneratorUtils.getOutStoreNo(++count));
         model.setDelFlag(false);
         model.setUserInfo(userInfo);
-        model.setStatus(verifyFlag ? OutStoreStatusEnum.CREATED.getValue() : OutStoreStatusEnum.EXECUTING.getValue());
+        model.setStatus(OutStoreStatusEnum.CREATED.getValue());
+        //model.setStatus(verifyFlag ? OutStoreStatusEnum.CREATED.getValue() : OutStoreStatusEnum.EXECUTING.getValue());
         model.setUserInfo(userInfo);
         // 出库单详情
         List<OutStoreDetailDTO> detailList = model.getDetailList();
@@ -407,9 +404,9 @@ public class OutStoreFormServiceImpl extends BaseServiceImpl<OutStoreFormMapper,
                 }
         }
         // 工艺部直接走推送接口
-        if(!verifyFlag){
+        /*if(!verifyFlag){
             yongyouService.addOutForm(outStoreForm.getId(), false);
-        }
+        }*/
         return outStoreForm;
     }