diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java
index 2f65260b..1c4c7378 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java
@@ -13,13 +13,16 @@ import com.foreverwin.modular.core.util.R;
import com.sap.me.production.ChangeProductionContext;
import com.sap.me.production.ChangeProductionRequest;
import com.sap.me.production.ChangeProductionServiceInterface;
+import org.apache.ibatis.annotations.Param;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.websocket.server.PathParam;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
@@ -193,6 +196,35 @@ public class ShopOrderReleaseController {
}
+ /**
+ * 更改工艺及BOM文件导入
+ * @param fileType
+ * @param site
+ * @param user
+ * @param multipartFile
+ * @return
+ */
+ @PostMapping("/import")
+ public R importFile(@PathParam("fileType") String fileType, @Param("site") String site, @Param("user") String user, @RequestParam("file") MultipartFile multipartFile) {
+ Boolean flag;
+ StringBuffer message = new StringBuffer();
+ try {
+
+ flag = shopOrderReleaseService.importRouter(site, user, fileType, message, multipartFile);
+ } catch (Exception e) {
+ return R.failed(e.getMessage());
+ }
+ if (flag) {
+ message.insert(0, "工单编号导入成功");
+ return R.ok(message.toString());
+ } else {
+ message.insert(0, "工单编号导入失败:");
+ return R.failed(message.toString());
+ }
+
+ }
+
+
/**
* 批量更改工艺路线
*/
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java
index a9217fbf..83538e3a 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java
@@ -9,6 +9,7 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.foreverwin.mesnac.common.model.ExcelColumn;
/**
*
@@ -38,6 +39,7 @@ public class SfcDispatch extends Model {
* 工单
*/
@TableField("SHOP_ORDER")
+ @ExcelColumn("工单编号")
private String shopOrder;
/**
* 生产批次
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java
index 49d7c79e..4548c16a 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java
@@ -4,6 +4,7 @@ import com.foreverwin.mesnac.dispatch.dto.RouterDTO;
import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
import com.foreverwin.mesnac.meapi.model.Sfc;
import com.foreverwin.mesnac.meapi.model.ShopOrder;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
@@ -50,6 +51,17 @@ public interface ShopOrderReleaseService {
*/
List findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease);
+ /**
+ * 工艺数据导入
+ *
+ * @param site
+ * @param user
+ * @param fileType
+ * @param message
+ * @param multipartFile
+ */
+ Boolean importRouter(String site, String user, String fileType, StringBuffer message, MultipartFile multipartFile) throws Exception;
+
/**
* 工单整理- 更新工单BOM组件数据
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java
index f0cfe101..da8dccf4 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java
@@ -3,8 +3,11 @@ package com.foreverwin.mesnac.dispatch.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
+import com.foreverwin.mesnac.common.dto.shopOrderReleaseDto;
+import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.ftp.CappFtpClient;
+import com.foreverwin.mesnac.common.util.ExcelUtils;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.GetDrawingVersionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
@@ -38,8 +41,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.io.InputStream;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@@ -104,6 +109,42 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
}
+ /**
+ * 工艺数据导入
+ * @param site
+ * @param user
+ * @param fileType
+ * @param message
+ * @param multipartFile
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public Boolean importRouter(String site, String user, String fileType, StringBuffer message, MultipartFile multipartFile) throws Exception {
+ InputStream inputStream = null;
+ //工单List
+ List shopOrderList;
+ try {
+ shopOrderList = ExcelUtils.readExcel(fileType, shopOrderReleaseDto.class, multipartFile, null);
+ } finally {
+ if (inputStream != null){
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (shopOrderList == null || shopOrderList.size() <= 0) {
+ throw BusinessException.build("上传的Excel没有数据,或者数据格式不正确!");
+ }else {
+ //导入数据成功
+ return true;
+ }
+
+ }
+
+
@Override
public void shopOrderBomComponentUpdate(String site, String user, List shopOrderList) {
if (shopOrderList == null || shopOrderList.size() <= 0) {