package com.gk.firework.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.EnterpriseResource; import com.gk.firework.Domain.EnterpriseWarehouse; 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.EnterpriseWarehouseVo; import com.gk.firework.Mapper.EnterpriseWarehouseMapper; import com.gk.firework.Service.EnterpriseResourceService; import com.gk.firework.Service.EnterpriseService; import com.gk.firework.Service.EnterpriseWarehouseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.*; @Service("enterpriseWarehouseService") public class EnterpriseWarehouseServiceImpl extends ServiceImpl implements EnterpriseWarehouseService { @Autowired private EnterpriseResourceService enterpriseResourceService; @Autowired private EnterpriseWarehouseMapper enterpriseWarehouseMapper; /** * @Description: 分页查询库房信息 * @date 2021/3/25 9:29 */ @Override public IPage selectPage(Page page, Long id) { Map params = new HashMap<>(); params.put("id", id); params.put("tabletype", Constants.WAREHOUSE); List list = enterpriseWarehouseMapper.selectPages(page, params); page.setRecords(list); return page; } /** * @Description: 新增库房信息 * @date 2021/3/25 9:29 */ @Override @Transactional public void addEnterpriseWarehouse(EnterpriseWarehouseVo enterpriseWarehouseVo, UserInfo user) throws Exception { //新增基本信息 EnterpriseWarehouse ew = new EnterpriseWarehouse(); ew.setBulidingnumber(enterpriseWarehouseVo.getBulidingnumber()); ew.setArea(enterpriseWarehouseVo.getArea()); ew.setDangerlevel(enterpriseWarehouseVo.getDangerlevel()); ew.setLimits(enterpriseWarehouseVo.getLimits()); ew.setSafetyperson(enterpriseWarehouseVo.getSafetyperson()); ew.setEnterpriseid(enterpriseWarehouseVo.getEnterpriseid()); ew.setHoldinventory(enterpriseWarehouseVo.getHoldinventory()); ew.setSafetypersonphone(enterpriseWarehouseVo.getSafetypersonphone()); ew.setMedicinelimits(enterpriseWarehouseVo.getMedicinelimits()); ew.setCreatetime(new Date()); ew.setCreateby(user.getId()); ew.setCreatebyname(user.getUsername()); ew.setValidflag(true); this.save(ew); List adds = null; if (enterpriseWarehouseVo.getFile() !=null && enterpriseWarehouseVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseWarehouseVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setBelongid(ew.getId()); er.setTabletype(Constants.WAREHOUSE); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setCreatetime(now); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setValidflag(true); adds.add(er); } enterpriseResourceService.saveBatch(adds); } } /** * @Description: 修改库房信息 * @date 2021/3/25 9:29 */ @Override @Transactional public void modEnterpriseWarehouse(EnterpriseWarehouseVo enterpriseWarehouseVo, UserInfo user) throws Exception { EnterpriseWarehouse ew = new EnterpriseWarehouse(); ew.setId(enterpriseWarehouseVo.getId()); ew.setBulidingnumber(enterpriseWarehouseVo.getBulidingnumber()); ew.setArea(enterpriseWarehouseVo.getArea()); ew.setDangerlevel(enterpriseWarehouseVo.getDangerlevel()); ew.setLimits(enterpriseWarehouseVo.getLimits()); ew.setHoldinventory(enterpriseWarehouseVo.getHoldinventory()); ew.setSafetyperson(enterpriseWarehouseVo.getSafetyperson()); ew.setSafetypersonphone(enterpriseWarehouseVo.getSafetypersonphone()); ew.setMedicinelimits(enterpriseWarehouseVo.getMedicinelimits()); ew.setEnterpriseid(enterpriseWarehouseVo.getEnterpriseid()); ew.setUpdatetime(new Date()); ew.setUpdateby(user.getId()); ew.setUpdatebyname(user.getUsername()); this.updateById(ew); //修改图片 List imgIds = enterpriseWarehouseVo.getImgids(); //1.删除图片 List dels = null; if (imgIds != null && imgIds.size() > 0) { dels = new ArrayList<>(); for (Long id : imgIds) { EnterpriseResource er = new EnterpriseResource(); er.setId(id); er.setValidflag(false); er.setUpdateby(user.getId()); er.setUpdatebyname(user.getUsername()); er.setUpdatetime(new Date()); dels.add(er); } //删除 enterpriseResourceService.updateBatchById(dels); } //2.新增 List adds = null; if (enterpriseWarehouseVo.getFile() !=null && enterpriseWarehouseVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseWarehouseVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.WAREHOUSE); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(enterpriseWarehouseVo.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } /** * @Description: 删除库房信息 * @date 2021/3/25 9:47 */ @Override public void delEnterpriseWarehouse(Long id, UserInfo user) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(EnterpriseWarehouse::getUpdatebyname, new Date()) .set(EnterpriseWarehouse::getUpdateby, user.getId()) .set(EnterpriseWarehouse::getUpdatebyname, user.getUsername()) .set(EnterpriseWarehouse::getValidflag, false) .eq(EnterpriseWarehouse::getId, id); this.update(updateWrapper); } /** * @Description: 新增|修改的校验 * @date 2021/4/6 14:49 */ @Override public void checkEnterpriseWarehouse(EnterpriseWarehouseVo enterpriseLicenseVo) { if (StringUtils.isBlank(enterpriseLicenseVo.getBulidingnumber())) { throw new BusinessException("栋号不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getDangerlevel())) { throw new BusinessException("危险等级不能为空"); } if (enterpriseLicenseVo.getArea() == null) { throw new BusinessException("面积不能为空"); } if (enterpriseLicenseVo.getLimits() == null) { throw new BusinessException("限制作业人数不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getSafetyperson())) { throw new BusinessException("安全责任人不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getSafetypersonphone())) { throw new BusinessException("安全责任人联系电话不能为空"); } } }