|
|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zksy.base.domain.HazardHiddenAccount;
|
|
|
import com.zksy.base.dto.HazardPageInDTO;
|
|
|
import com.zksy.base.mapper.HazardHiddenAccountMapper;
|
|
|
+import com.zksy.base.service.BusinessWorkOrderService;
|
|
|
import com.zksy.base.service.HazardHiddenAccountService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -19,6 +20,7 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -32,6 +34,9 @@ public class HazardHiddenAccountServiceImpl extends ServiceImpl<HazardHiddenAcco
|
|
|
@Autowired
|
|
|
private ISysDictDataService dictDataService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BusinessWorkOrderService businessWorkOrderService;
|
|
|
+
|
|
|
@Override
|
|
|
public Page<HazardHiddenAccount> findByPage(HazardPageInDTO dto) {
|
|
|
Page<HazardHiddenAccount> page = new Page<>(dto.getPageNum(), dto.getPageSize());
|
|
|
@@ -90,14 +95,38 @@ public class HazardHiddenAccountServiceImpl extends ServiceImpl<HazardHiddenAcco
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean submitHazard(String hazardId) {
|
|
|
+ public Long submitHazard(String hazardId) {
|
|
|
HazardHiddenAccount hazard = this.getById(hazardId);
|
|
|
if (hazard == null) {
|
|
|
- return false;
|
|
|
+ return null;
|
|
|
}
|
|
|
hazard.setIsSubmitted(1);
|
|
|
hazard.setSubmitTime(LocalDateTime.now());
|
|
|
- return this.updateById(hazard);
|
|
|
+ this.updateById(hazard);
|
|
|
+
|
|
|
+ // 当隐患关联了设备时,自动创建工单
|
|
|
+ if (hazard.getEquipmentId() != null && !hazard.getEquipmentId().isEmpty()) {
|
|
|
+ try {
|
|
|
+ Date planFinishTime = null;
|
|
|
+ if (hazard.getRectifyDeadline() != null) {
|
|
|
+ planFinishTime = java.sql.Date.valueOf(hazard.getRectifyDeadline());
|
|
|
+ }
|
|
|
+ Long orderId = businessWorkOrderService.createWorkOrderFromHazard(
|
|
|
+ hazard.getHazardId(),
|
|
|
+ hazard.getHazardDesc(),
|
|
|
+ hazard.getEquipmentId(),
|
|
|
+ hazard.getHazardLevel(),
|
|
|
+ hazard.getHazardImages(),
|
|
|
+ planFinishTime
|
|
|
+ );
|
|
|
+ log.info("隐患报送[{}]自动创建工单成功,工单ID={}", hazardId, orderId);
|
|
|
+ return orderId;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("隐患报送[{}]自动创建工单失败", hazardId, e);
|
|
|
+ throw new ServiceException("报送成功但工单创建失败:" + e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
@Override
|