|
@@ -1,9 +1,7 @@
|
|
|
package com.rongwei.sfcommon.sys.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.rongwe.scentity.domian.ApsDetailsHazardInvestigationTasksDo;
|
|
|
-import com.rongwe.scentity.domian.ApsHazardInvestigationTemplateDo;
|
|
|
-import com.rongwe.scentity.domian.ApsHazardInvestigationTemplateZibiaoDo;
|
|
|
+import com.rongwe.scentity.domian.*;
|
|
|
import com.rongwei.commonservice.serial.service.SysSerialNumberService;
|
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
@@ -13,16 +11,14 @@ import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
import com.rongwei.rwcommonentity.commonservers.vo.SysSerialVo;
|
|
|
import com.rongwei.safecommon.utils.JSCommonUtils;
|
|
|
+import com.rongwei.sfcommon.sys.dao.ApsHazardInvestigationTemplateZibiaoDao;
|
|
|
import com.rongwei.sfcommon.sys.service.HazardInvestigationService;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* HazardInvestigationServiceImpl class
|
|
@@ -40,6 +36,12 @@ public class HazardInvestigationServiceImpl implements HazardInvestigationServic
|
|
|
private ApsHazardInvestigationTemplateZibiaoServiceImpl apsHazardInvestigationTemplateZibiaoService;
|
|
|
@Autowired
|
|
|
private SysSerialNumberService autoSysSerialNumberService;
|
|
|
+ @Autowired
|
|
|
+ private AspRiskUnitServiceImpl aspRiskUnitService;
|
|
|
+ @Autowired
|
|
|
+ private ApsDetailsHazardInvestigationTasksServiceImpl apsDetailsHazardInvestigationTasksServiceImpl;
|
|
|
+ @Autowired
|
|
|
+ private ApsDetailsHazardInvestigationTasksJcxzibiaoServiceImpl apsDetailsHazardInvestigationTasksJcxzibiaoService;
|
|
|
|
|
|
@Override
|
|
|
public R createTask(String id) {
|
|
@@ -63,25 +65,41 @@ public class HazardInvestigationServiceImpl implements HazardInvestigationServic
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成隐患任务信息
|
|
|
+ * @param tempData
|
|
|
+ */
|
|
|
public void assembleTask(ApsHazardInvestigationTemplateDo tempData) {
|
|
|
- ApsDetailsHazardInvestigationTasksDo apsDetailsHazardInvestigationTasksDo;
|
|
|
+
|
|
|
SysUserVo currentUser = JSCommonUtils.getCurrentUser();
|
|
|
if (StringUtils.isBlank(tempData.getHiddendangerid())) {
|
|
|
log.error("风险点为空");
|
|
|
throw new RuntimeException("模板对应需检查的风险点为空");
|
|
|
}
|
|
|
+ // 获取模板对应的检查项
|
|
|
+ List<ApsHazardInvestigationTemplateZibiaoDo> checkItemList = apsHazardInvestigationTemplateZibiaoService.list(new LambdaQueryWrapper<ApsHazardInvestigationTemplateZibiaoDo>()
|
|
|
+ .eq(BaseDo::getDeleted, "0")
|
|
|
+ .eq(ApsHazardInvestigationTemplateZibiaoDo::getMubanid, tempData.getId()));
|
|
|
+ if(checkItemList.isEmpty()){
|
|
|
+ log.error("当前模板:{}不存在检查项",tempData.getTemplatename());
|
|
|
+ throw new CustomException("当前模板不存在检查项");
|
|
|
+ }
|
|
|
// 风险点
|
|
|
List<String> riskPointIds = Arrays.asList(tempData.getHiddendangerid().split(","));
|
|
|
+ List<AspRiskUnitDo> aspRiskUnitDos = (List<AspRiskUnitDo>) aspRiskUnitService.listByIds(riskPointIds);
|
|
|
+ if(aspRiskUnitDos.isEmpty()){
|
|
|
+ log.error("无法根据id:{}找到对应的风险点",riskPointIds);
|
|
|
+ throw new CustomException("无法获取对应的风险点");
|
|
|
+ }
|
|
|
+ List<ApsDetailsHazardInvestigationTasksDo> saveList= new ArrayList<>();
|
|
|
+ List<ApsDetailsHazardInvestigationTasksJcxzibiaoDo> subSaveList = new ArrayList<>();
|
|
|
// 按照风险点 分开生成隐患排查任务
|
|
|
- for (String s : riskPointIds) {
|
|
|
+ ApsDetailsHazardInvestigationTasksDo apsDetailsHazardInvestigationTasksDo;
|
|
|
+ ApsDetailsHazardInvestigationTasksJcxzibiaoDo apsHazardInvestigationTemplateZibiaoDo;
|
|
|
+ for (AspRiskUnitDo s : aspRiskUnitDos) {
|
|
|
apsDetailsHazardInvestigationTasksDo = new ApsDetailsHazardInvestigationTasksDo();
|
|
|
+ JSCommonUtils.setBaseDetail(apsDetailsHazardInvestigationTasksDo,currentUser);
|
|
|
apsDetailsHazardInvestigationTasksDo.setId(SecurityUtil.getUUID());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setCreatedate(new Date());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setModifydate(new Date());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setCreateuserid(currentUser.getId());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setCreateusername(currentUser.getName());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setModifyuserid(currentUser.getId());
|
|
|
- apsDetailsHazardInvestigationTasksDo.setModifyusername(currentUser.getName());
|
|
|
apsDetailsHazardInvestigationTasksDo.setRiskunit(tempData.getHiddendangerid());
|
|
|
apsDetailsHazardInvestigationTasksDo.setRiskanalysisobjectcode(tempData.getHiddendanger());
|
|
|
SysSerialVo sysSerialVo = new SysSerialVo();
|
|
@@ -89,8 +107,8 @@ public class HazardInvestigationServiceImpl implements HazardInvestigationServic
|
|
|
sysSerialVo.setRuleTemplateStr("BIANHAO@{serialNumber:#000000}");
|
|
|
sysSerialVo.setIfautomaticreset("n");
|
|
|
apsDetailsHazardInvestigationTasksDo.setNumber(autoSysSerialNumberService.getCodeByTemplate(sysSerialVo));
|
|
|
- apsDetailsHazardInvestigationTasksDo.setIdentifyperple();
|
|
|
- apsDetailsHazardInvestigationTasksDo.setIdentifyperpleid();
|
|
|
+ apsDetailsHazardInvestigationTasksDo.setIdentifyperple(s.getDutyofficername());
|
|
|
+ apsDetailsHazardInvestigationTasksDo.setIdentifyperpleid(s.getDutyofficerid());
|
|
|
|
|
|
// 获取当前时间的0点0分0秒
|
|
|
Calendar startOfDay = Calendar.getInstance();
|
|
@@ -105,11 +123,32 @@ public class HazardInvestigationServiceImpl implements HazardInvestigationServic
|
|
|
startOfDay.set(Calendar.SECOND, 59);
|
|
|
startOfDay.set(Calendar.MILLISECOND, 999);
|
|
|
apsDetailsHazardInvestigationTasksDo.setPlannedendtime(startOfDay.getTime());
|
|
|
+ saveList.add(apsDetailsHazardInvestigationTasksDo);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ apsDetailsHazardInvestigationTasksServiceImpl.saveBatch(saveList);
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成隐患任务详情
|
|
|
+ */
|
|
|
+ public void assembleTaskDetails(SysUserVo currentUser,
|
|
|
+ ApsDetailsHazardInvestigationTasksDo apsDetailsHazardInvestigationTasksDo,
|
|
|
+ List<ApsHazardInvestigationTemplateZibiaoDo> checkItemList ){
|
|
|
+ ApsDetailsHazardInvestigationTasksJcxzibiaoDo apsHazardInvestigationTemplateZibiaoDo;
|
|
|
+ for (ApsHazardInvestigationTemplateZibiaoDo s : checkItemList) {
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo = new ApsDetailsHazardInvestigationTasksJcxzibiaoDo();
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setId(SecurityUtil.getUUID());
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setTaskid(apsDetailsHazardInvestigationTasksDo.getId());
|
|
|
+ JSCommonUtils.setBaseDetail(apsHazardInvestigationTemplateZibiaoDo,currentUser);
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setControlmeasurenumber(s.getControlmeasurenumber());
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setInspectioncycle(s.getInspectioncycle());
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setInspectioncycleunit(s.getInspectioncycleunit());
|
|
|
+ apsHazardInvestigationTemplateZibiaoDo.setTasktype(s.getTasktype());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
}
|