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.EnterpriseDocument; import com.gk.firework.Domain.EnterpriseResource; import com.gk.firework.Domain.Enum.DocumentType; 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.EnterpriseDocumentVo; import com.gk.firework.Mapper.EnterpriseDocumentMapper; import com.gk.firework.Mapper.EnterpriseResourceMapper; import com.gk.firework.Service.EnterpriseDocumentService; import com.gk.firework.Service.EnterpriseResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.*; @Service("enterpriseDocumentService") public class EnterpriseDocumentServiceImpl extends ServiceImpl implements EnterpriseDocumentService { @Autowired private EnterpriseDocumentMapper enterpriseDocumentMapper; @Autowired private EnterpriseResourceService enterpriseResourceService; /** * @Description: 分页查询 * @date 2021/3/26 19:41 */ @Override public IPage selectPage(Page page, Long id, DocumentType type) { Map params = new HashMap<>(); params.put("id", id); params.put("type", type); params.put("tabletype", Constants.DOCUMENT); List list = enterpriseDocumentMapper.selectPages(page, params); return page.setRecords(list); } /** * @Description: 新增 * @date 2021/3/26 19:41 */ @Override @Transactional public void addDocument(EnterpriseDocumentVo enterpriseDocumentVo, UserInfo user) throws Exception { //新增信息 EnterpriseDocument document = new EnterpriseDocument(); document.setName(enterpriseDocumentVo.getName()); document.setSettime(enterpriseDocumentVo.getSettime()); document.setCreateby(user.getId()); document.setCreatebyname(user.getUsername()); document.setCreatetime(new Date()); document.setValidflag(true); document.setMemo(enterpriseDocumentVo.getMemo()); document.setType(enterpriseDocumentVo.getType()); document.setEnterpriseid(enterpriseDocumentVo.getEnterpriseid()); this.save(document); //新建资源 List adds = null; if (enterpriseDocumentVo.getFile() != null && enterpriseDocumentVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseDocumentVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.DOCUMENT); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(document.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } /** * @Description: 修改 * @date 2021/3/26 19:51 */ @Override @Transactional public void modDocument(EnterpriseDocumentVo enterpriseDocumentVo, UserInfo user) throws Exception { //修改信息 EnterpriseDocument document = new EnterpriseDocument(); document.setId(enterpriseDocumentVo.getId()); document.setName(enterpriseDocumentVo.getName()); document.setSettime(enterpriseDocumentVo.getSettime()); document.setUpdateby(user.getId()); document.setUpdatebyname(user.getUsername()); document.setUpdatetime(new Date()); document.setValidflag(true); document.setMemo(enterpriseDocumentVo.getMemo()); document.setType(enterpriseDocumentVo.getType()); document.setEnterpriseid(enterpriseDocumentVo.getEnterpriseid()); this.updateById(document); //删除资源 List ids = enterpriseDocumentVo.getIds(); List dels = null; if (ids != null && ids.size() > 0) { dels = new ArrayList<>(); Date now = new Date(); for (Long id:ids) { 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 (enterpriseDocumentVo.getFile() !=null && enterpriseDocumentVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseDocumentVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.DOCUMENT); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(enterpriseDocumentVo.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } @Override public void delDocument(Long id, UserInfo user) { EnterpriseDocument document = new EnterpriseDocument(); document.setId(id); document.setUpdatetime(new Date()); document.setCreateby(user.getId()); document.setCreatebyname(user.getUsername()); document.setValidflag(false); this.updateById(document); } /** * @Description: 救援|流向信息管理 校验 * @date 2021/4/6 15:58 */ @Override public void checkDocument(EnterpriseDocumentVo enterpriseDocumentVo,boolean flag) { if (StringUtils.isBlank(enterpriseDocumentVo.getName())) { throw new BusinessException("制度名称不能为空"); } if (enterpriseDocumentVo.getSettime() == null) { throw new BusinessException("制订日期不能为空"); } if (enterpriseDocumentVo.getMemo() == null) { throw new BusinessException("内容不能为空"); } //新增必须上传文件 if (flag && enterpriseDocumentVo.getFile() == null) { throw new BusinessException("上传文件不能为空"); } } }