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 implements EnterprisePersonService { @Autowired private EnterprisePersonMapper enterprisePersonMapper; @Autowired private EnterpriseResourceService enterpriseResourceService; /** * @Description: 分页查询人员 * @date 2021/3/26 17:59 */ @Override public IPage selectPage(Page page, Long id,PersonnelCategory personnelCategory) { Map params = new HashMap<>(); params.put("id", id); params.put("category", personnelCategory); params.put("tabletype", Constants.PERSON); List 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 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 imgIds = enterprisePersonVo.getImgids(); List 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 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("是否按时复审不能为空"); } } }