郑永安
2023-06-19 59e91a4e9ddaf23cebb12993c774aa899ab22d16
src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseWarehouseServiceImpl.java
对比新文件
@@ -0,0 +1,212 @@
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<EnterpriseWarehouseMapper, EnterpriseWarehouse> implements EnterpriseWarehouseService {
    @Autowired
    private EnterpriseResourceService enterpriseResourceService;
    @Autowired
    private EnterpriseWarehouseMapper enterpriseWarehouseMapper;
    /**
    * @Description: 分页查询库房信息
    * @date 2021/3/25 9:29
    */
    @Override
    public IPage selectPage(Page<EnterpriseWarehouse> page, Long id) {
        Map<String, Object> params = new HashMap<>();
        params.put("id", id);
        params.put("tabletype", Constants.WAREHOUSE);
        List<EnterpriseWarehouse> 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<EnterpriseResource> 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<Long> imgIds = enterpriseWarehouseVo.getImgids();
        //1.删除图片
        List<EnterpriseResource> 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<EnterpriseResource> 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<EnterpriseWarehouse> 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("安全责任人联系电话不能为空");
        }
    }
}