package com.gk.firework.Service.ServiceImpl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gk.firework.Domain.EnterprisePerson;
|
import com.gk.firework.Domain.EnterpriseResource;
|
import com.gk.firework.Domain.Enum.PersonnelCategory;
|
import com.gk.firework.Domain.Exception.BusinessException;
|
import com.gk.firework.Domain.UserInfo;
|
import com.gk.firework.Domain.Utils.Constants;
|
import com.gk.firework.Domain.Utils.Properties;
|
import com.gk.firework.Domain.Utils.StringUtils;
|
import com.gk.firework.Domain.Utils.UploadUtil;
|
import com.gk.firework.Domain.Vo.EnterprisePersonVo;
|
import com.gk.firework.Mapper.EnterprisePersonMapper;
|
import com.gk.firework.Service.EnterprisePersonService;
|
import com.gk.firework.Service.EnterpriseResourceService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.data.annotation.Id;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.*;
|
|
@Service("enterprisePersonService")
|
public class EnterprisePersonServiceImpl extends ServiceImpl<EnterprisePersonMapper, EnterprisePerson> implements EnterprisePersonService {
|
|
|
@Autowired
|
private EnterprisePersonMapper enterprisePersonMapper;
|
@Autowired
|
private EnterpriseResourceService enterpriseResourceService;
|
|
/**
|
* @Description: 分页查询人员
|
* @date 2021/3/26 17:59
|
*/
|
@Override
|
public IPage selectPage(Page<EnterprisePerson> page, Long id,PersonnelCategory personnelCategory) {
|
Map<String, Object> params = new HashMap<>();
|
params.put("id", id);
|
params.put("category", personnelCategory);
|
params.put("tabletype", Constants.PERSON);
|
List<EnterprisePerson> list = enterprisePersonMapper.selectPages(page, params);
|
page.setRecords(list);
|
return page;
|
}
|
|
/**
|
* @Description: 新增用户
|
* @date 2021/3/26 17:59
|
*/
|
@Override
|
@Transactional
|
public void addEnterprisePerson(EnterprisePersonVo enterprisePersonVo, UserInfo user) throws Exception {
|
|
//新增人员
|
EnterprisePerson person = new EnterprisePerson();
|
person.setName(enterprisePersonVo.getName());
|
person.setPost(enterprisePersonVo.getPost());
|
person.setNumber(enterprisePersonVo.getNumber());
|
person.setValidstarttime(enterprisePersonVo.getValidstarttime());
|
person.setValidendtime(enterprisePersonVo.getValidendtime());
|
person.setMemo(enterprisePersonVo.getMemo());
|
person.setEnterpriseid(enterprisePersonVo.getEnterpriseid());
|
person.setType(enterprisePersonVo.getType());
|
person.setIsreview(enterprisePersonVo.getIsreview());
|
person.setCreateby(user.getId());
|
person.setCreatebyname(user.getUsername());
|
person.setCreatetime(new Date());
|
person.setValidflag(true);
|
this.save(person);
|
|
//新建资源
|
List<EnterpriseResource> adds = null;
|
if (enterprisePersonVo.getFile() != null && enterprisePersonVo.getFile().length > 0) {
|
adds = new ArrayList<>();
|
Date now = new Date();
|
for (MultipartFile file : enterprisePersonVo.getFile()) {
|
String name = UploadUtil.uploadFile(file, Properties.enterprisePath);
|
EnterpriseResource er = new EnterpriseResource();
|
er.setTabletype(Constants.PERSON);
|
er.setFilename(file.getOriginalFilename());
|
er.setUrl(Properties.enterprise + name);
|
er.setCreatetime(now);
|
er.setCreateby(user.getId());
|
er.setCreatebyname(user.getUsername());
|
er.setBelongid(person.getId());
|
er.setValidflag(true);
|
adds.add(er);
|
}
|
//执行
|
enterpriseResourceService.saveBatch(adds);
|
}
|
}
|
|
/**
|
* @Description: 修改人员信息
|
* @date 2021/3/26 18:37
|
*/
|
@Override
|
public void modEnterprisePerson(EnterprisePersonVo enterprisePersonVo, UserInfo user) throws Exception {
|
|
//修改人员
|
EnterprisePerson person = new EnterprisePerson();
|
person.setId(enterprisePersonVo.getId());
|
person.setName(enterprisePersonVo.getName());
|
person.setPost(enterprisePersonVo.getPost());
|
person.setNumber(enterprisePersonVo.getNumber());
|
person.setValidstarttime(enterprisePersonVo.getValidstarttime());
|
person.setValidendtime(enterprisePersonVo.getValidendtime());
|
person.setMemo(enterprisePersonVo.getMemo());
|
person.setEnterpriseid(enterprisePersonVo.getEnterpriseid());
|
person.setType(enterprisePersonVo.getType());
|
person.setIsreview(enterprisePersonVo.getIsreview());
|
person.setCreateby(user.getId());
|
person.setCreatebyname(user.getUsername());
|
person.setCreatetime(new Date());
|
person.setValidflag(true);
|
this.updateById(person);
|
|
//删除资源
|
List<Long> imgIds = enterprisePersonVo.getImgids();
|
|
List<EnterpriseResource> dels = null;
|
if (imgIds != null && imgIds.size() > 0) {
|
dels = new ArrayList<>();
|
Date now = new Date();
|
for (Long id:imgIds) {
|
EnterpriseResource er = new EnterpriseResource();
|
er.setId(id);
|
er.setValidflag(false);
|
er.setUpdateby(user.getId());
|
er.setUpdatebyname(user.getUsername());
|
er.setUpdatetime(now);
|
dels.add(er);
|
}
|
//删除
|
enterpriseResourceService.updateBatchById(dels);
|
}
|
|
//2.新增
|
List<EnterpriseResource> adds = null;
|
if (enterprisePersonVo.getFile() !=null && enterprisePersonVo.getFile().length > 0) {
|
adds = new ArrayList<>();
|
Date now = new Date();
|
for (MultipartFile file : enterprisePersonVo.getFile()) {
|
String name = UploadUtil.uploadFile(file, Properties.enterprisePath);
|
EnterpriseResource er = new EnterpriseResource();
|
er.setTabletype(Constants.PERSON);
|
er.setFilename(file.getOriginalFilename());
|
er.setUrl(Properties.enterprise + name);
|
er.setCreatetime(now);
|
er.setCreateby(user.getId());
|
er.setCreatebyname(user.getUsername());
|
er.setBelongid(enterprisePersonVo.getId());
|
er.setValidflag(true);
|
adds.add(er);
|
}
|
//执行
|
enterpriseResourceService.saveBatch(adds);
|
}
|
|
}
|
|
/**
|
* @Description: 删除人员
|
* @date 2021/3/26 18:58
|
*/
|
@Override
|
public void delEnterprisePerson(Long id, UserInfo user) {
|
EnterprisePerson person = new EnterprisePerson();
|
person.setId(id);
|
person.setUpdateby(user.getId());
|
person.setCreatebyname(user.getUsername());
|
person.setCreatetime(new Date());
|
person.setValidflag(false);
|
this.updateById(person);
|
}
|
|
|
/**
|
* @Description: 校验安全|特种人员资格 新增|修改
|
* @date 2021/4/6 15:03
|
*/
|
@Override
|
public void checkEnterprisePerson(EnterprisePersonVo enterprisePersonVo) {
|
|
if (StringUtils.isBlank(enterprisePersonVo.getName())) {
|
throw new BusinessException("姓名不能为空");
|
}
|
|
if (StringUtils.isBlank(enterprisePersonVo.getPost())) {
|
throw new BusinessException("职务不能为空");
|
}
|
|
if (StringUtils.isBlank(enterprisePersonVo.getNumber())) {
|
throw new BusinessException("证书编号不能为空");
|
}
|
|
if (StringUtils.isBlank(enterprisePersonVo.getNumber())) {
|
throw new BusinessException("证书编号不能为空");
|
}
|
|
if (enterprisePersonVo.getValidstarttime() == null
|
|| enterprisePersonVo.getValidendtime() == null) {
|
throw new BusinessException("证书有效期不能为空");
|
}
|
|
//特种人员 是否按时复审必填
|
if (enterprisePersonVo.getType() == PersonnelCategory.SPECIAL
|
&& enterprisePersonVo.getIsreview() == null) {
|
throw new BusinessException("是否按时复审不能为空");
|
}
|
}
|
}
|