From 16c02433021fded4dc6493508a09ba158842c8d1 Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期四, 17 八月 2023 17:02:54 +0800 Subject: [PATCH] #设备导入 --- server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 72 insertions(+), 1 deletions(-) diff --git a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java index efb5075..278b18a 100644 --- a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java +++ b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java @@ -1,5 +1,7 @@ package doumeemes.service.business.impl; +import doumeemes.core.constants.ResponseStatus; +import doumeemes.core.exception.BusinessException; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.LoginUserInfo; import doumeemes.core.model.PageData; @@ -7,12 +9,16 @@ import doumeemes.core.utils.Constants; import doumeemes.core.utils.DateUtil; import doumeemes.core.utils.Utils; +import doumeemes.core.utils.excel.EasyExcelUtil; import doumeemes.core.utils.redis.RedisUtil; +import doumeemes.dao.business.DepartmentMapper; import doumeemes.dao.business.DeviceMapper; import doumeemes.dao.business.UserDeviceMapper; import doumeemes.dao.business.model.CompanyUser; +import doumeemes.dao.business.model.Department; import doumeemes.dao.business.model.Device; import doumeemes.dao.business.model.UserDevice; +import doumeemes.dao.ext.dto.DeviceImportDTO; import doumeemes.dao.ext.dto.QueryDeviceExtDTO; import doumeemes.dao.ext.vo.DeviceExtListVO; import doumeemes.service.business.DeviceService; @@ -26,7 +32,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.List; @@ -49,6 +57,9 @@ private DeviceExtService deviceExtService; @Autowired private UserDeviceMapper userDeviceMapper; + + @Autowired + private DepartmentMapper departmentMapper; @Override public Integer create(Device device) { @@ -106,7 +117,7 @@ QueryWrapper<Device> wrapper = new QueryWrapper<>(device); return deviceMapper.selectList(wrapper); } - + @Override public PageData<Device> findPage(PageWrap<Device> pageWrap) { IPage<Device> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -256,6 +267,66 @@ } } + @Transactional(rollbackFor = {Exception.class, BusinessException.class}) + @Override + public void importPlans(MultipartFile file) { + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒"); + } + //瑙f瀽excel + List<DeviceImportDTO> plansList = EasyExcelUtil.importExcel(file, 1, 1, DeviceImportDTO.class); + if(plansList == null || plansList.size()==0){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭鏈夎锛�"); + } + + plansList.forEach(s->{ + + if (StringUtils.isBlank(s.getDeviceName()) + || s.getDeviceName().length() > 50 + || StringUtils.isBlank(s.getDepartName()) + || StringUtils.isBlank(s.getProcedureName()) + || StringUtils.isBlank(s.getProduceWarehouseLocationName()) + || StringUtils.isBlank(s.getFinishWarehouseLocationName())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵煎叆鏁版嵁鍐呭鏈夎"); + } + }); + + + QueryWrapper<Department> wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(Department::getRootId,user.getRootDepartment().getId()); + departmentMapper.selectList(wrapper); + + plansList.forEach(s->{ + + Device device = new Device(); + device.setDeleted(Constants.ZERO); + device.setCreateUser(user.getId()); + device.setCreateTime(new Date()); + device.setUpdateUser(user.getId()); + device.setUpdateTime(new Date()); +// device.setRemark(); +// device.setRootDepartId(); +// device.setDepartId(); +// device.setProcedureId(); +// device.setCode(); +// device.setType(); +// device.setName(); +// device.setModel(); +// device.setStatus(); +// device.setSupplier(); +// device.setStationCode(); +// device.setGroupId(); +// device.setSerialNum(); +// device.setProduceWarehouseLocationId(); +// device.setProduceWarehouseId(); +// device.setFinishWarehouseLocationId(); +// device.setFinishWarehouseId(); +// device.setUserIds(); + deviceMapper.insert(device); + }); + } + public synchronized String getNextCode(Integer comId ){ String prefix = "S-" + DateUtil.getDate(new Date(),"yyyyMMdd") +"-"; -- Gitblit v1.9.3