package com.doumee.service.business.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.doumee.biz.system.SystemDictDataBiz;
|
import com.doumee.core.constants.ResponseStatus;
|
import com.doumee.core.exception.BusinessException;
|
import com.doumee.dao.business.dao.*;
|
import com.doumee.dao.business.vo.GeneralDataVO;
|
import com.doumee.dao.business.vo.HiddenDangerDataVO;
|
import com.doumee.service.business.third.model.LoginUserInfo;
|
import com.doumee.service.business.third.model.PageData;
|
import com.doumee.service.business.third.model.PageWrap;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.DateUtil;
|
import com.doumee.core.utils.SmsConstants;
|
import com.doumee.core.utils.Utils;
|
import com.doumee.core.wx.wxPlat.WxPlatConstants;
|
import com.doumee.core.wx.wxPlat.WxPlatNotice;
|
import com.doumee.dao.business.*;
|
import com.doumee.dao.business.model.*;
|
import com.doumee.dao.business.model.Member;
|
import com.doumee.dao.system.MultifileMapper;
|
|
import com.doumee.dao.system.SystemUserMapper;
|
import com.doumee.dao.system.join.NoticesJoinMapper;
|
import com.doumee.dao.system.model.Multifile;
|
import com.doumee.dao.system.model.Notices;
|
import com.doumee.dao.system.model.SystemUser;
|
import com.doumee.service.business.HiddenDangerService;
|
import com.doumee.service.business.third.EmayService;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 隐患信息表Service实现
|
* @author 江蹄蹄
|
* @since 2024/04/28 16:06
|
*/
|
@Service
|
public class HiddenDangerServiceImpl implements HiddenDangerService {
|
|
@Autowired
|
private HiddenDangerMapper hiddenDangerMapper;
|
|
@Autowired
|
private MultifileMapper multifileMapper;
|
|
@Autowired
|
private SystemDictDataBiz systemDictDataBiz;
|
|
@Autowired
|
private SystemUserMapper systemUserMapper;
|
|
@Autowired
|
private MemberMapper memberMapper;
|
|
@Autowired
|
private HiddenDangerParamMapper hiddenDangerParamMapper;
|
|
@Autowired
|
private HiddenDangerLogMapper hiddenDangerLogMapper;
|
@Autowired
|
private UserActionMapper userActionMapper;
|
|
@Autowired
|
private CompanyMapper companyMapper;
|
|
|
@Autowired
|
private NoticesJoinMapper noticesJoinMapper;
|
|
|
@Autowired
|
private SmsConfigMapper smsConfigMapper;
|
|
@Autowired
|
private SmsEmailMapper smsEmailMapper;
|
|
@Autowired
|
private EmayService emayService;
|
|
@Autowired
|
private WxNoticeConfigMapper wxNoticeConfigMapper;
|
|
|
@Override
|
public Integer create(HiddenDanger hiddenDanger) {
|
if(Objects.isNull(hiddenDanger)
|
|| Objects.isNull(hiddenDanger.getLoginUserInfo())
|
|| Objects.isNull(hiddenDanger.getAreaId())
|
|| Objects.isNull(hiddenDanger.getCateId())
|
|| Objects.isNull(hiddenDanger.getApplyCheckUserId())
|
|| Objects.isNull(hiddenDanger.getCheckUserId())
|
|| Objects.isNull(hiddenDanger.getSubmitTime())
|
|| StringUtils.isBlank(hiddenDanger.getContent())
|
){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId());
|
Member createMember = memberMapper.selectById(hiddenDanger.getMemberId());
|
if(Objects.isNull(createMember)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到创建人信息");
|
}
|
hiddenDanger.setIsdeleted(Constants.ZERO);
|
hiddenDanger.setCreateDate(new Date());
|
hiddenDanger.setEditDate(new Date());
|
HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId());
|
if(Objects.isNull(hiddenDangerParam)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患区域");
|
}
|
|
HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(hiddenDanger.getCateId());
|
if(Objects.isNull(hiddenDangerCate)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型");
|
}
|
hiddenDanger.setCategoryName(hiddenDangerCate.getName());
|
hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId());
|
hiddenDanger.setAreaName(hiddenDangerParam.getName());
|
hiddenDanger.setStatus(Constants.ZERO);
|
if(StringUtils.isBlank(hiddenDangerParam.getMemberIds())
|
|| hiddenDangerParam.getMemberIds().indexOf(hiddenDanger.getApplyCheckUserId().toString())<0){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"隐患区域与处理人不匹配");
|
}
|
Member member = memberMapper.selectById(hiddenDanger.getCheckUserId());
|
if(Objects.isNull(member)|| !Constants.equalsInteger(member.getStatus(),Constants.ZERO) || Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到隐患处理人员信息或已被禁用");
|
}
|
hiddenDangerMapper.insert(hiddenDanger);
|
//存储 操作日志
|
HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
|
hiddenDangerLog.setIsdeleted(Constants.ZERO);
|
hiddenDangerLog.setCreateDate(new Date());
|
hiddenDangerLog.setCreator(hiddenDanger.getCreator());
|
hiddenDangerLog.setTitle("隐患提交");
|
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
|
hiddenDangerLog.setObjType(Constants.ZERO);
|
hiddenDangerLogMapper.insert(hiddenDangerLog);
|
|
List<Multifile> multifiles = hiddenDanger.getSubmitFileList();
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)){
|
for (int i = 0; i < multifiles.size(); i++) {
|
Multifile multifile = multifiles.get(i);
|
multifile.setCreateDate(hiddenDanger.getCreateDate());
|
multifile.setCreator(hiddenDanger.getCreator());
|
multifile.setIsdeleted(Constants.ZERO);
|
multifile.setObjId(hiddenDanger.getId());
|
multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey());
|
multifile.setSortnum(i+1);
|
multifileMapper.insert(multifile);
|
}
|
}
|
String title = "[隐患随手拍]提报人-"+hiddenDanger.getLoginUserInfo().getRealname();
|
//json数据
|
Map<String,Object> jsonMap = new HashMap<>();
|
jsonMap.put("area", "发现区域:" + hiddenDangerParam.getName());
|
jsonMap.put("cate", "隐患类型:" + hiddenDangerCate.getName());
|
jsonMap.put("sTime", "发现时间:" + DateUtil.DateToStr(hiddenDanger.getSubmitTime() , "yyyy-MM-dd HH:mm"));
|
//默认生成一条 申请人的数据 标记删除状态用于处理到 任务中心(我发起)使用
|
Notices createNotices = new Notices();
|
createNotices.setCreateDate(new Date());
|
createNotices.setIsdeleted(Constants.ONE);
|
createNotices.setObjId(hiddenDanger.getId());
|
createNotices.setObjType(Constants.THREE);
|
createNotices.setType(Constants.THREE);
|
createNotices.setTitle(title);
|
createNotices.setParam1(JSONObject.toJSONString(jsonMap));
|
createNotices.setStatus(Constants.ZERO);
|
createNotices.setReaded(Constants.ZERO);
|
createNotices.setSendacopy(Constants.ZERO);
|
createNotices.setParam2("0");
|
createNotices.setParam3(hiddenDanger.getLoginUserInfo().getMemberId().toString());
|
createNotices.setInfo("待"+member.getName()+"处理");
|
noticesJoinMapper.insert(createNotices);
|
|
//存储处理人的通知消息
|
Notices notices = new Notices();
|
notices.setId(null);
|
notices.setCreateDate(new Date());
|
notices.setIsdeleted(Constants.ZERO);
|
notices.setTitle(title);
|
notices.setParam1(JSONObject.toJSONString(jsonMap));
|
notices.setParam2("0");
|
notices.setObjId(hiddenDanger.getId());
|
notices.setObjType(Constants.THREE);
|
notices.setType(Constants.THREE);
|
notices.setEditDate(new Date());
|
notices.setUserId(hiddenDanger.getCheckUserId());
|
notices.setStatus(Constants.ZERO);
|
notices.setSendacopy(Constants.ZERO);
|
notices.setReaded(Constants.ZERO);
|
notices.setInfo("待"+member.getName()+"处理");
|
noticesJoinMapper.insert(notices);
|
|
|
if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
|
//发送短信通知
|
SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
|
emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
|
SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
|
Arrays.asList(member.getPhone().split(","))
|
);
|
}
|
|
WxPlatNotice wxPlatNotice = new WxPlatNotice();
|
SystemUser systemUser = systemUserMapper.selectById(hiddenDanger.getLoginUserInfo().getId());
|
hiddenDanger.setMemberName(systemUser.getRealname());
|
//提交人的微信公众号通知
|
if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
|
wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
|
wxNoticeConfigMapper,hiddenDanger,
|
WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
|
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
|
Arrays.asList(systemUser.getOpenid().split(",")));
|
}
|
|
SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
|
.eq(SystemUser::getDeleted, Constants.ZERO)
|
.eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())
|
.last(" limit 1 "));
|
|
//处理人的微信公众号通知
|
if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
|
wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
|
wxNoticeConfigMapper,hiddenDanger,
|
WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
|
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
|
Arrays.asList(checkUser.getOpenid().split(",")));
|
}
|
return hiddenDanger.getId();
|
}
|
|
@Override
|
public void deleteById(Integer id) {
|
hiddenDangerMapper.deleteById(id);
|
}
|
@Override
|
public void deleteById(Integer id,LoginUserInfo user) {
|
if( Objects.isNull(id) ){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
|
.selectAll(HiddenDanger.class)
|
.selectAs(Member::getName,HiddenDanger::getCheckorName)
|
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
|
.eq(HiddenDanger::getId,id)
|
.eq(HiddenDanger::getIsdeleted,Constants.ZERO)
|
);
|
if(Objects.isNull(model)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据");
|
}
|
/* if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,请刷新查看!");
|
}*/
|
HiddenDanger hiddenDanger = new HiddenDanger();
|
hiddenDanger.setIsdeleted(Constants.ONE);
|
hiddenDanger.setId(id);
|
hiddenDanger.setEditor(user.getId());
|
Date date =new Date();
|
|
hiddenDanger.setEditDate(date);
|
hiddenDangerMapper.updateById(hiddenDanger);
|
//存储 操作日志
|
HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
|
hiddenDangerLog.setIsdeleted(Constants.ZERO);
|
hiddenDangerLog.setCreateDate(date);
|
hiddenDangerLog.setCreator(hiddenDanger.getEditor());
|
hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
|
hiddenDangerLog.setEditor(hiddenDanger.getCreator());
|
hiddenDangerLog.setTitle("由【"+user.getRealname()+"】删除记录");
|
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
|
hiddenDangerLog.setObjType(Constants.FIVE);
|
hiddenDangerLogMapper.insert(hiddenDangerLog);
|
|
String[] params = new String[3];
|
params[0] = user.getRealname();
|
params[1]=DateUtil.getPlusTime2(date);
|
params[2]=model.getAreaName()+"-【"+model.getContent()+"】";
|
//记录删除日志
|
UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model));
|
}
|
|
@Override
|
public void delete(HiddenDanger hiddenDanger) {
|
UpdateWrapper<HiddenDanger> deleteWrapper = new UpdateWrapper<>(hiddenDanger);
|
hiddenDangerMapper.delete(deleteWrapper);
|
}
|
|
@Override
|
public void deleteByIdInBatch(List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return;
|
}
|
hiddenDangerMapper.deleteBatchIds(ids);
|
}
|
|
@Override
|
public void updateById(HiddenDanger hiddenDanger) {
|
hiddenDangerMapper.updateById(hiddenDanger);
|
}
|
|
@Override
|
public void updateByIdInBatch(List<HiddenDanger> hiddenDangers) {
|
if (CollectionUtils.isEmpty(hiddenDangers)) {
|
return;
|
}
|
for (HiddenDanger hiddenDanger: hiddenDangers) {
|
this.updateById(hiddenDanger);
|
}
|
}
|
|
@Override
|
public HiddenDanger findById(Integer id) {
|
MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
|
queryWrapper.selectAll(HiddenDanger.class)
|
.selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
|
.select("t1.name", HiddenDanger::getMemberName)
|
.select("t1.phone",HiddenDanger::getMemberPhone)
|
.select("t2.name",HiddenDanger::getCheckorName)
|
.select("t2.phone",HiddenDanger::getCheckorPhone)
|
.select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
|
.select("t4.company_name_path",HiddenDanger::getCompanyName);
|
queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
|
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
|
.leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
|
.leftJoin("company t4 on t1.company_id=t4.id")
|
.leftJoin("company t5 on t2.company_id=t5.id");
|
queryWrapper
|
.eq(HiddenDanger::getId, id)
|
.eq(HiddenDanger::getIsdeleted, Constants.ZERO)
|
.last("limit 1");
|
|
HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper);
|
if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY);
|
}
|
initFiles(model);
|
|
|
|
return model;
|
}
|
private void initFiles(HiddenDanger unionChange) {
|
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
|
.eq(Multifile::getObjId, unionChange.getId() )
|
.in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()
|
,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()
|
,Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()}))
|
.eq(Multifile::getIsdeleted,Constants.ZERO));
|
if(multifiles!=null){
|
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
|
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.HIDDEN_DANGER_FILE).getCode();
|
for(Multifile f : multifiles){
|
if(StringUtils.isBlank(f.getFileurl())){
|
continue;
|
}
|
if(f.getType() == null){
|
if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".mp4")){
|
f.setType(Constants.ONE);
|
}else if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpg")
|
||StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpeg")
|
||StringUtils.endsWithIgnoreCase(f.getFileurl(),".png")){
|
f.setType(Constants.ZERO);
|
}else{
|
f.setType(Constants.TWO);
|
}
|
}
|
f.setFileurlFull(path+f.getFileurl());
|
if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){
|
//现场情况
|
if(unionChange.getSubmitFileList() == null){
|
unionChange.setSubmitFileList(new ArrayList<>());
|
}
|
unionChange.getSubmitFileList().add(f);
|
}
|
if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())){
|
//处理前附件
|
if(unionChange.getDealBeforeFileList() == null){
|
unionChange.setDealBeforeFileList(new ArrayList<>());
|
}
|
unionChange.getDealBeforeFileList().add(f);
|
}
|
if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey())){
|
//处理后附件
|
if(unionChange.getDealAfterFileList() == null){
|
unionChange.setDealAfterFileList(new ArrayList<>());
|
}
|
unionChange.getDealAfterFileList().add(f);
|
}
|
}
|
}
|
}
|
@Override
|
public HiddenDanger findOne(HiddenDanger hiddenDanger) {
|
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
|
return hiddenDangerMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public List<HiddenDanger> findList(HiddenDanger hiddenDanger) {
|
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
|
return hiddenDangerMapper.selectList(wrapper);
|
}
|
|
@Override
|
public PageData<HiddenDanger> findPage(PageWrap<HiddenDanger> pageWrap) {
|
IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
|
MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
|
Utils.MP.blankToNull(pageWrap.getModel());
|
pageWrap.getModel().setIsdeleted(Constants.ZERO);
|
queryWrapper.selectAll(HiddenDanger.class)
|
.selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
|
.select("t1.name", HiddenDanger::getMemberName)
|
.select("t1.phone",HiddenDanger::getMemberPhone)
|
.select("t2.name",HiddenDanger::getCheckorName)
|
.select("t2.phone",HiddenDanger::getCheckorPhone)
|
.select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
|
.select("t4.company_name_path",HiddenDanger::getCompanyName);
|
queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
|
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
|
.leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
|
.leftJoin("company t4 on t1.company_id=t4.id")
|
.leftJoin("company t5 on t2.company_id=t5.id");
|
|
//数据权限开始--------------------start----------------
|
LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
|
|
if(userInfo!=null && userInfo.getCompanyIdList()!=null){
|
if( userInfo.getCompanyIdList().size() ==0){
|
//只能看自己
|
queryWrapper.and(w->{
|
w.eq(HiddenDanger::getCreator,userInfo.getId()).or().
|
eq(HiddenDanger::getCheckUserId,userInfo.getMemberId());
|
});
|
}else{
|
queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
|
}
|
}
|
//数据权限开始--------------------end----------------
|
queryWrapper
|
.eq(pageWrap.getModel().getId() != null, HiddenDanger::getId, pageWrap.getModel().getId())
|
.eq(pageWrap.getModel().getCreator() != null, HiddenDanger::getCreator, pageWrap.getModel().getCreator())
|
.ge(pageWrap.getModel().getCreateDate() != null, HiddenDanger::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
|
.le(pageWrap.getModel().getCreateDate() != null, HiddenDanger::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
|
.eq(pageWrap.getModel().getEditor() != null, HiddenDanger::getEditor, pageWrap.getModel().getEditor())
|
.ge(pageWrap.getModel().getEditDate() != null, HiddenDanger::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
|
.le(pageWrap.getModel().getEditDate() != null, HiddenDanger::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
|
.eq(pageWrap.getModel().getIsdeleted() != null, HiddenDanger::getIsdeleted, pageWrap.getModel().getIsdeleted())
|
.eq(pageWrap.getModel().getRemark() != null, HiddenDanger::getRemark, pageWrap.getModel().getRemark())
|
.eq(pageWrap.getModel().getAreaId() != null, HiddenDanger::getAreaId, pageWrap.getModel().getAreaId())
|
.eq(pageWrap.getModel().getStatus() != null, HiddenDanger::getStatus, pageWrap.getModel().getStatus())
|
.eq(pageWrap.getModel().getApplyCheckUserId() != null, HiddenDanger::getApplyCheckUserId, pageWrap.getModel().getApplyCheckUserId())
|
.eq(pageWrap.getModel().getCateId() != null, HiddenDanger::getCateId, pageWrap.getModel().getCateId())
|
.eq(pageWrap.getModel().getContent() != null, HiddenDanger::getContent, pageWrap.getModel().getContent())
|
.eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId())
|
.ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()))
|
.le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()))
|
.eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo())
|
.eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId())
|
.eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName())
|
.like(pageWrap.getModel().getCompanyName() != null,"t4.company_name_path",pageWrap.getModel().getCompanyName())
|
.like(pageWrap.getModel().getDutyCompanyName() != null,"t5.company_name_path",pageWrap.getModel().getDutyCompanyName())
|
|
.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
|
.or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
|
.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getCreateDate,pageWrap.getModel().getQueryStartTime())
|
.le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getCreateDate,pageWrap.getModel().getQueryEndTime())
|
.orderByDesc(Visits::getCreateDate)
|
;
|
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
|
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
|
queryWrapper.orderByDesc(sortData.getProperty());
|
} else {
|
queryWrapper.orderByAsc(sortData.getProperty());
|
}
|
}
|
return PageData.from(hiddenDangerMapper.selectJoinPage(page,HiddenDanger.class, queryWrapper));
|
}
|
|
@Override
|
public long count(HiddenDanger hiddenDanger) {
|
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
|
return hiddenDangerMapper.selectCount(wrapper);
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
|
public void dealHiddenDanger(HiddenDanger hiddenDanger){
|
isParamValid(hiddenDanger);
|
dealFileBiz(hiddenDanger);
|
hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
|
hiddenDanger.setEditDate(new Date());
|
hiddenDanger.setCheckDate(hiddenDanger.getEditDate());
|
hiddenDangerMapper.updateById(hiddenDanger);
|
HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
|
if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY );
|
}
|
HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
|
if(Objects.isNull(hiddenDangerCate)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型");
|
}
|
model.setCategoryName(hiddenDangerCate.getName());
|
//存储 操作日志
|
HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
|
hiddenDangerLog.setIsdeleted(Constants.ZERO);
|
hiddenDangerLog.setCreateDate(new Date());
|
hiddenDangerLog.setCreator(hiddenDanger.getEditor());
|
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
|
hiddenDangerLog.setContent(hiddenDanger.getCheckInfo());
|
hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"隐患处理":"隐患退回");
|
hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO);
|
hiddenDangerLogMapper.insert(hiddenDangerLog);
|
//处理待办信息
|
noticesJoinMapper.update(null,new UpdateWrapper<Notices>()
|
.lambda()
|
.set(Notices::getReaded,Constants.ONE)
|
.set(Notices::getStatus,Constants.ONE)
|
.set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"已整改":"已退回")
|
.set(Notices::getParam2,hiddenDanger.getStatus())
|
.set(Notices::getParam4,hiddenDanger.getLoginUserInfo().getMemberId())
|
.eq(Notices::getObjId,hiddenDanger.getId())
|
.eq(Notices::getObjType,Constants.THREE)
|
.eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()));
|
//发起人代办标题修改为处理结果
|
noticesJoinMapper.update(null,new UpdateWrapper<Notices>()
|
.lambda()
|
.set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"已整改":"已退回")
|
.set(Notices::getParam2,hiddenDanger.getStatus())
|
.eq(Notices::getObjId,hiddenDanger.getId())
|
.eq(Notices::getObjType,Constants.THREE)
|
.eq(Notices::getParam3,hiddenDanger.getMemberId().toString()) );
|
|
SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
|
.eq(SystemUser::getDeleted, Constants.ZERO)
|
.eq(SystemUser::getMemberId,model.getMemberId()));
|
if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){
|
if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){
|
//发送短信通知
|
SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
|
emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
|
SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
|
Arrays.asList(memberUser.getMobile().split(","))
|
);
|
}
|
}
|
model.setCheckorName(hiddenDanger.getLoginUserInfo().getRealname());
|
model.setMemberName(memberUser.getRealname());
|
//处理人的微信公众号通知
|
if(Objects.nonNull(memberUser)&&StringUtils.isNotBlank(memberUser.getOpenid())){
|
WxPlatNotice wxPlatNotice = new WxPlatNotice();
|
wxPlatNotice.sendHiddenDangerDealTemplateNotice(systemDictDataBiz,
|
wxNoticeConfigMapper,model,
|
WxPlatConstants.hiddenDangerContent.hiddenDangerDeal,
|
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
|
Arrays.asList(memberUser.getOpenid().split(",")));
|
}
|
|
}
|
|
private void isParamValid(HiddenDanger hiddenDanger) {
|
if(Objects.isNull(hiddenDanger)
|
|| Objects.isNull(hiddenDanger.getId())
|
|| Objects.isNull(hiddenDanger.getDealTime())
|
|| Objects.isNull(hiddenDanger.getLoginUserInfo())
|
|| Objects.isNull(hiddenDanger.getStatus())
|
){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
|
if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据");
|
}
|
if (!model.getStatus().equals(Constants.ZERO)) {
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,请刷新查看!");
|
}
|
if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) {
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"处理人非当前人员!");
|
}
|
if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态错误,请刷新查看!");
|
}
|
hiddenDanger.setMemberId(model.getMemberId());//发起人
|
}
|
|
private void dealFileBiz(HiddenDanger hiddenDanger) {//整改前文件
|
List<Multifile> beforList = hiddenDanger.getDealBeforeFileList();
|
List<Multifile> fileList = new ArrayList<>();
|
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){
|
boolean isTrue = false;
|
for (int i = 0; i < beforList.size(); i++) {
|
Multifile multifile = beforList.get(i);
|
if(StringUtils.isBlank(multifile.getFileurl())){
|
continue;
|
}
|
multifile.setId(null);
|
multifile.setCreateDate(new Date());
|
multifile.setCreator(hiddenDanger.getEditor());
|
multifile.setIsdeleted(Constants.ZERO);
|
if(multifile.getType() == null){
|
if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".mp4")){
|
multifile.setType(Constants.ONE);
|
}else if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpg")
|
||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpeg")
|
||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".png")){
|
multifile.setType(Constants.ZERO);
|
}else{
|
multifile.setType(Constants.TWO);
|
}
|
}
|
multifile.setObjId(hiddenDanger.getId());
|
multifile.setCreator(hiddenDanger.getLoginUserInfo().getId());
|
multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey());
|
multifile.setSortnum(i+1);
|
fileList.add(multifile);
|
isTrue=true;
|
}
|
if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按要求填写处理数据");
|
}
|
multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
|
.set(Multifile::getIsdeleted,Constants.ONE )
|
.eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())
|
.eq(Multifile::getObjId,hiddenDanger.getId())
|
);
|
}
|
if(hiddenDanger.getStatus().equals(Constants.ONE)){
|
boolean isTrue = false;
|
List<Multifile> afterList = hiddenDanger.getDealAfterFileList();
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){
|
for (int i = 0; i < afterList.size(); i++) {
|
Multifile multifile = afterList.get(i);
|
if(StringUtils.isBlank(multifile.getFileurl())){
|
continue;
|
}
|
multifile.setId(null);
|
multifile.setCreateDate(new Date());
|
multifile.setCreator(hiddenDanger.getEditor());
|
multifile.setIsdeleted(Constants.ZERO);
|
multifile.setCreator(hiddenDanger.getLoginUserInfo().getId());
|
multifile.setObjId(hiddenDanger.getId());
|
multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey());
|
multifile.setSortnum(i+1);
|
fileList.add(multifile);
|
isTrue = true;
|
}
|
}
|
if(!isTrue){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按要求填写处理数据");
|
}
|
}
|
if(fileList.size()>0){
|
multifileMapper.insert(fileList);
|
}
|
}
|
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
|
public void transferHiddenDanger(HiddenDanger hiddenDanger){
|
if(Objects.isNull(hiddenDanger)
|
|| Objects.isNull(hiddenDanger.getId())
|
|| Objects.isNull(hiddenDanger.getCheckUserId())
|
){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST);
|
}
|
HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
|
.selectAll(HiddenDanger.class)
|
.selectAs(Member::getName,HiddenDanger::getCheckorName)
|
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
|
.eq(HiddenDanger::getId,hiddenDanger.getId())
|
);
|
if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据");
|
}
|
if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,请刷新查看!");
|
}
|
if (!Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getLoginUserInfo().getMemberId())) {
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"处理人非当前人员!");
|
}
|
if(Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getCheckUserId())){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无法转交给自己");
|
}
|
Member member = memberMapper.selectById(hiddenDanger.getCheckUserId());
|
if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ONE,member.getIsdeleted())){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,转交人信息不存在,请刷新页面重试!");
|
}
|
HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
|
if(Objects.isNull(hiddenDangerCate)){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型");
|
}
|
model.setCategoryName(hiddenDangerCate.getName());
|
hiddenDanger.setCategoryName(hiddenDangerCate.getName());
|
hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
|
hiddenDanger.setEditDate(new Date());
|
hiddenDangerMapper.updateById(hiddenDanger);
|
//存储 操作日志
|
HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
|
hiddenDangerLog.setIsdeleted(Constants.ZERO);
|
hiddenDangerLog.setCreateDate(new Date());
|
hiddenDangerLog.setCreator(hiddenDanger.getEditor());
|
hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
|
hiddenDangerLog.setEditor(hiddenDanger.getCreator());
|
hiddenDangerLog.setTitle("转交给"+StringUtils.defaultString(member.getName()));
|
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
|
hiddenDangerLog.setObjType(Constants.ONE);
|
hiddenDangerLogMapper.insert(hiddenDangerLog);
|
Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>()
|
.lambda()
|
.eq(Notices::getObjId,hiddenDanger.getId())
|
.eq(Notices::getObjType,Constants.THREE)
|
.eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
|
.orderByDesc(Notices::getId)
|
.last(" limit 1 ")
|
);
|
if(Objects.nonNull(notices)){
|
Notices newNotices = new Notices();
|
BeanUtils.copyProperties(notices,newNotices);
|
newNotices.setId(null);
|
newNotices.setCreateDate(new Date());
|
newNotices.setParam2("0");
|
newNotices.setUserId(hiddenDanger.getCheckUserId());
|
newNotices.setInfo("待"+member.getName()+"处理");
|
noticesJoinMapper.insert(newNotices);
|
notices.setStatus(Constants.ONE);
|
notices.setParam2("3");
|
notices.setEditDate(new Date());
|
notices.setReaded(Constants.ONE);
|
notices.setInfo("待"+member.getName()+"处理");
|
noticesJoinMapper.updateById(notices);
|
}
|
|
SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
|
.eq(SystemUser::getDeleted, Constants.ZERO)
|
.eq(SystemUser::getMemberId,model.getMemberId()));
|
if(Objects.isNull(memberUser)||StringUtils.isBlank(memberUser.getRealname())){
|
return;
|
}
|
hiddenDanger.setMemberName(memberUser.getRealname());
|
model.setMemberName(memberUser.getRealname());
|
SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
|
.eq(SystemUser::getDeleted, Constants.ZERO)
|
.eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
|
if(Objects.nonNull(checkUser) && StringUtils.isNotBlank(checkUser.getMobile())){
|
//发送短信通知
|
SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
|
emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
|
SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
|
Arrays.asList(checkUser.getMobile().split(","))
|
);
|
}
|
|
//处理人的微信公众号通知
|
if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
|
WxPlatNotice wxPlatNotice = new WxPlatNotice();
|
wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
|
wxNoticeConfigMapper,model,
|
WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
|
systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
|
Arrays.asList(checkUser.getOpenid().split(",")));
|
}
|
}
|
|
|
/**
|
* 随手拍统计数据
|
*/
|
@Override
|
public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){
|
HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO();
|
List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
|
new MPJLambdaWrapper<HiddenDanger>()
|
.selectAll(HiddenDanger.class)
|
.selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId)
|
.leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //隐患区域
|
.eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
|
.ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
|
.le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
|
);
|
hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
|
List<Integer> cateList = hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList());
|
//全部隐患分类数据
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateList)){
|
List<GeneralDataVO> cateGeneralDataList = new ArrayList<>();
|
Set<Integer> cateSetList = new HashSet<>(cateList);
|
List<HiddenDangerParam> hiddenDangerParamList = hiddenDangerParamMapper.selectList(new QueryWrapper<HiddenDangerParam>()
|
.lambda().eq(HiddenDangerParam::getIsdeleted,Constants.ZERO).eq(HiddenDangerParam::getType,Constants.ONE));
|
for (Integer cateId:cateSetList) {
|
if(Objects.isNull(cateId)){
|
continue;
|
}
|
Optional<HiddenDangerParam> optionalHiddenDanger = hiddenDangerParamList.stream().filter(i->Constants.equalsInteger(i.getId(),cateId)).findAny();
|
if(optionalHiddenDanger.isPresent()){
|
GeneralDataVO generalDataVO = new GeneralDataVO();
|
HiddenDangerParam hiddenDangerParam = optionalHiddenDanger.get();
|
Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getCateId(),hiddenDangerParam.getId())).collect(Collectors.toList()).size();
|
generalDataVO.setName(hiddenDangerParam.getName());
|
generalDataVO.setTotal(total);
|
generalDataVO.setRata(
|
Constants.equalsInteger(total,Constants.ZERO)?
|
BigDecimal.ZERO:new BigDecimal(total.toString())
|
.divide(new BigDecimal(hiddenDangerDataVO.getTotal().toString()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))
|
);
|
cateGeneralDataList.add(generalDataVO);
|
}
|
}
|
hiddenDangerDataVO.setCateList(cateGeneralDataList);
|
}
|
//全部隐患区域部门数据
|
List<Integer> companyIdList = hiddenDangerAllList.stream().map(i->i.getAreaCompanyId()).collect(Collectors.toList());
|
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyIdList)){
|
List<GeneralDataVO> companyGeneralDataList = new ArrayList<>();
|
Set<Integer> companyIdSetList = new HashSet<>(companyIdList);
|
List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>()
|
.lambda().eq(Company::getIsdeleted,Constants.ZERO));
|
for (Integer companyId:companyIdSetList) {
|
if(Objects.isNull(companyId)){
|
continue;
|
}
|
Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),companyId)).findAny();
|
if(optionalCompany.isPresent()){
|
GeneralDataVO generalDataVO = new GeneralDataVO();
|
Company company = optionalCompany.get();
|
Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size();
|
generalDataVO.setName(company.getName());
|
generalDataVO.setTotal(total);
|
companyGeneralDataList.add(generalDataVO);
|
}
|
}
|
hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
|
}
|
}
|
|
return hiddenDangerDataVO;
|
}
|
|
|
|
|
|
}
|