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/DeviceService.java | 14 ++++
server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java | 73 ++++++++++++++++++++++++
server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java | 28 ---------
server/src/main/java/doumeemes/api/ext/DeviceExtController.java | 2
server/src/main/java/doumeemes/service/ext/DeviceExtService.java | 6 --
5 files changed, 85 insertions(+), 38 deletions(-)
diff --git a/server/src/main/java/doumeemes/api/ext/DeviceExtController.java b/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
index 5d6781e..c861e05 100644
--- a/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
+++ b/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
@@ -244,7 +244,7 @@
Iterator<String> it = multipartRequest.getFileNames();
while (it.hasNext()) {
MultipartFile file = multipartRequest.getFile((String) it.next());
- deviceExtService.importPlans(file);
+ deviceService.importPlans(file);
break;
}
}
diff --git a/server/src/main/java/doumeemes/service/business/DeviceService.java b/server/src/main/java/doumeemes/service/business/DeviceService.java
index 9096294..363b146 100644
--- a/server/src/main/java/doumeemes/service/business/DeviceService.java
+++ b/server/src/main/java/doumeemes/service/business/DeviceService.java
@@ -5,6 +5,8 @@
import doumeemes.core.model.PageData;
import doumeemes.core.model.PageWrap;
import doumeemes.dao.business.model.Device;
+import org.springframework.web.multipart.MultipartFile;
+
import java.util.List;
/**
@@ -16,7 +18,7 @@
/**
* 鍒涘缓
- *
+ *
* @param device 瀹炰綋瀵硅薄
* @return Integer
*/
@@ -80,7 +82,7 @@
* @return List<Device>
*/
List<Device> findList(Device device);
-
+
/**
* 鍒嗛〉鏌ヨ
*
@@ -100,4 +102,12 @@
ApiResponse insert(Device device);
void dealDeviceUserId(Integer type, String userIds, Integer deviceId, LoginUserInfo userInfo);
+
+
+ /**
+ * 鑾峰彇鎵归噺瀵煎叆璁惧淇℃伅
+ *
+ * @param file
+ */
+ void importPlans(MultipartFile file);
}
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") +"-";
diff --git a/server/src/main/java/doumeemes/service/ext/DeviceExtService.java b/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
index e1c476a..c784400 100644
--- a/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
+++ b/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
@@ -29,10 +29,4 @@
List<DeviceExtListVO> getDeviceByCondition(QueryDeviceExtDTO queryDeviceExtDTO);
- /**
- * 鑾峰彇鎵归噺瀵煎叆璁惧淇℃伅
- *
- * @param file
- */
- void importPlans(MultipartFile file);
}
diff --git a/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
index e05552d..bbcf208 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
@@ -91,33 +91,5 @@
return result;
}
- @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(),"瀵煎叆鏁版嵁鍐呭鏈夎");
- }
- });
-
-
-
-
- }
}
--
Gitblit v1.9.3