From e2c619a0adbb04bff6f4832279a0936016376645 Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Wed, 28 Dec 2022 13:45:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShopOrderReleaseController.java | 29 --------- .../service/ShopOrderReleaseService.java | 11 ---- .../impl/ShopOrderReleaseServiceImpl.java | 61 ++++++++++++------- 3 files changed, 39 insertions(+), 62 deletions(-) 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 1c4c7378..7da9a6dc 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 @@ -196,35 +196,6 @@ 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/service/ShopOrderReleaseService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java index 4548c16a..6b9ea960 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 @@ -51,17 +51,6 @@ 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 240629a7..fc14904b 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 @@ -26,6 +26,7 @@ import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.R; import com.sap.me.demand.ReleaseShopOrderRequest; import com.sap.me.demand.ReleaseShopOrderResponse; import com.sap.me.demand.ReleasedSfc; @@ -36,6 +37,7 @@ import com.sap.me.production.ChangeProductionContext; import com.sap.me.production.ChangeProductionRequest; import com.sap.me.production.ChangeProductionServiceInterface; import com.sap.me.production.OperationPlacementTypeEnum; +import org.apache.commons.fileupload.FileItem; import org.apache.commons.net.ftp.FTPClient; import org.apache.ibatis.exceptions.PersistenceException; import org.apache.ibatis.executor.BatchExecutorException; @@ -44,7 +46,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; +import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; @@ -69,7 +73,7 @@ import static com.foreverwin.modular.core.meext.PapiServiceEnum.NCProductionServ * Create Time: 2021/06/02 */ -@Service +@Service("ShopOrderReleaseService") @Transactional(rollbackFor = Exception.class) public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { @@ -113,37 +117,50 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { /** * 工艺数据导入 - * @param site - * @param user - * @param fileType - * @param message - * @param multipartFile + * + * @param fileItem + * @param req * @return * @throws Exception */ - @Override - public Boolean importRouter(String site, String user, String fileType, StringBuffer message, MultipartFile multipartFile) throws Exception { - InputStream inputStream = null; + @Transactional(rollbackFor = Exception.class) + public R importRouter(FileItem fileItem, HttpServletRequest req) throws Exception { + String fileType = req.getParameter("fileType"); + String site = req.getParameter("site"); + CommonMethods.setSite(site); //工单List List shopOrderList; + List shopOrderReleaseList = new ArrayList(); try { + CommonsMultipartFile multipartFile = new CommonsMultipartFile(fileItem); 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) { + return R.failed("上传的Excel没有数据或者数据格式不正确(Excel顶端标题行为:工单编号)!"); + + } else { + //导入数据成功 + for (shopOrderReleaseDto orderReleaseDto : shopOrderList) { + if (!orderReleaseDto.getShopOrder().substring(0, 1).equals("Q") && !orderReleaseDto.getShopOrder().substring(0, 3).equals("000")) { + orderReleaseDto.setShopOrder("000" + orderReleaseDto.getShopOrder()); + } + ShopOrderRelease orderRelease = new ShopOrderRelease(); + orderRelease.setSite(site); + orderRelease.setShopOrder(orderReleaseDto.getShopOrder()); + //判断系统是否存在此工单编号 + List shopOrderListBatchUpdate = this.findShopOrderListBatchUpdate(orderRelease); + if (shopOrderListBatchUpdate.size() == 1) { + shopOrderReleaseList.add(shopOrderListBatchUpdate.get(0)); + } else { + return R.failed("此工单编号不存在:" + orderReleaseDto.getShopOrder()); + } } + Boolean result = this.changerouterRevision(shopOrderReleaseList, new StringBuffer(), "A"); + return R.ok(result); } + } catch (Exception e) { + e.printStackTrace(); + return R.failed(e.getMessage()); } - if (shopOrderList == null || shopOrderList.size() <= 0) { - throw BusinessException.build("上传的Excel没有数据,或者数据格式不正确!"); - }else { - //导入数据成功 - return true; - } - }