|
@@ -2,21 +2,32 @@ package com.platform.service.hidden.impl;
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.platform.common.bean.AbstractPageResultBean;
|
|
|
+import com.platform.common.exception.DeniedException;
|
|
|
+import com.platform.common.util.BeanConverterUtil;
|
|
|
+import com.platform.common.util.ListUtils;
|
|
|
+import com.platform.common.util.SecurityUtils;
|
|
|
+import com.platform.common.util.StringUtils;
|
|
|
import com.platform.dao.bean.MyPage;
|
|
|
import com.platform.dao.dto.hidden.HiddenDangerDTO;
|
|
|
+import com.platform.dao.dto.repair.RepairApplicationFormDTO;
|
|
|
import com.platform.dao.entity.hidden.HiddenDanger;
|
|
|
+import com.platform.dao.entity.upms.SysFile;
|
|
|
import com.platform.dao.enums.HiddenDangerStatusEnum;
|
|
|
import com.platform.dao.enums.SysFileTypeEnum;
|
|
|
+import com.platform.dao.enums.SysRoleCodeEnum;
|
|
|
import com.platform.dao.mapper.hidden.HiddenDangerMapper;
|
|
|
import com.platform.dao.vo.query.hidden.HiddenDangerVO;
|
|
|
import com.platform.service.base.impl.BaseServiceImpl;
|
|
|
import com.platform.service.hidden.HiddenDangerService;
|
|
|
+import com.platform.service.repair.strategy.RepairBaseStrategy;
|
|
|
+import com.platform.service.repair.strategy.RepairStrategyFactory;
|
|
|
import com.platform.service.upms.SysFileService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import tk.mybatis.mapper.weekend.Weekend;
|
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -57,14 +68,42 @@ public class HiddenDangerServiceImpl extends BaseServiceImpl<HiddenDangerMapper,
|
|
|
|
|
|
@Override
|
|
|
public void transferToRepair(HiddenDangerDTO model) {
|
|
|
-
|
|
|
+ if(StringUtils.isBlank(model.getId())){
|
|
|
+ throw new DeniedException("隐患任务ID不能为空");
|
|
|
+ }
|
|
|
+ String role = StringUtils.getRoles();
|
|
|
+ if(role.contains(SysRoleCodeEnum.Maintenance_Leader.name())){
|
|
|
+ throw new DeniedException("不具备该权限");
|
|
|
+ }
|
|
|
// 复制信息
|
|
|
-
|
|
|
- // 确定报修人,应该是班组长
|
|
|
-
|
|
|
+ RepairApplicationFormDTO applicationFormDTO = BeanConverterUtil.copyObjectProperties(model,RepairApplicationFormDTO.class);
|
|
|
+ // 获取整改前文件和图片
|
|
|
+ List<SysFile> sysFiles = sysFileService.getListByTargetAndType(model.getId(), null);
|
|
|
+ List<SysFile> applicationFileList = ListUtils.newArrayList();
|
|
|
+ List<SysFile> reportFileList = ListUtils.newArrayList();
|
|
|
+ sysFiles.forEach(item -> {
|
|
|
+ if (item.getType().equals(SysFileTypeEnum.HIDDEN_DANGER_BEFORE_IMGS.getValue())) {
|
|
|
+ item.setId(null);
|
|
|
+ applicationFileList.add(item);
|
|
|
+ }
|
|
|
+ if (item.getType().equals(SysFileTypeEnum.HIDDEN_DANGER_FILES.getValue())) {
|
|
|
+ item.setId(null);
|
|
|
+ reportFileList.add(item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ applicationFormDTO.setApplicationFileList(applicationFileList);
|
|
|
+ applicationFormDTO.setReportFileList(reportFileList);
|
|
|
// 调用相关维修类,生成维修单
|
|
|
-
|
|
|
+ RepairBaseStrategy strategy = RepairStrategyFactory.getStrategy(applicationFormDTO.getCategory());
|
|
|
+ strategy.callRepair(applicationFormDTO);
|
|
|
// 修改隐患任务状态
|
|
|
+ HiddenDanger updInfo = new HiddenDanger();
|
|
|
+ updInfo.setId(model.getId());
|
|
|
+ updInfo.setUpdateTime(LocalDateTime.now());
|
|
|
+ updInfo.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
+ updInfo.setUpdateUserName(SecurityUtils.getUserInfo().getUsername());
|
|
|
+ updInfo.setStatus(HiddenDangerStatusEnum.ON_GOING.getValue());
|
|
|
+ mapper.updateByPrimaryKeySelective(updInfo);
|
|
|
}
|
|
|
|
|
|
@Override
|