From 7f433048d57dfec4564e364e8bcb9499ca04ea04 Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Thu, 30 Jun 2022 09:14:01 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/OrderDetailController.java | 23 ++++++++++++------- .../inout/StockQRCodeTextController.java | 12 ++++++++-- .../admin/entity/inout/ErpOrderEntity.java | 2 +- .../req/inout/StockOrderFilterRequest.java | 1 + .../com/glxp/sale/admin/util/JasperUtils.java | 2 +- .../mybatis/mapper/inout/StockOrderDao.xml | 4 +++- 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java index 9971cb2..db86e57 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java @@ -427,6 +427,7 @@ public class OrderDetailController { @PostMapping("/warehouse/selectErpOrder") public BaseResponse selectErpOrder(@RequestBody ImportErpOrderRequest importErpOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -457,14 +458,20 @@ public class OrderDetailController { erpOrderEntity.setInvWarehouseCode(purchaseinResponse.getInvWarehouseCode()); erpOrderEntity.setLocStorageCode(purchaseinResponse.getLocStorageCode()); erpOrderEntity.setGoodsunit(subPurchase.getSpec()); + erpOrderEntity.setBillType(purchaseinResponse.getBillType()); erpOrderEntity.setBindRlFk(subPurchase.getRelId()); erpOrderEntities.add(erpOrderEntity); } } } if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - AuthAdmin authAdmin = customerService.getUserBean(); + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(importErpOrderRequest.getOrderId()); + OrderEntity orderEntity = orderService.findOne(orderFilterRequest); + orderEntity.setReviewUser(authAdmin.getId().intValue()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + ErpOrderEntity temp = erpOrderEntities.get(0); for (int i = 0; i < erpOrderEntities.size(); i++) { if (!temp.getCompanyname().equals(erpOrderEntities.get(i).getCompanyname())) { @@ -479,15 +486,15 @@ public class OrderDetailController { if (!temp.getInvWarehouseCode().equals(erpOrderEntities.get(i).getInvWarehouseCode())) { return ResultVOUtils.error(500, "所选业务单据当前分库不一致!"); } - } - OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); - orderFilterRequest.setId(importErpOrderRequest.getOrderId()); - OrderEntity orderEntity = orderService.findOne(orderFilterRequest); - long customerId = customerService.getCustomerId(); - if (customerId == 110) { - orderEntity.setReviewUser(authAdmin.getId().intValue()); + if (!bussinessTypeEntity.getLocalAction().equals(erpOrderEntities.get(i).getBillType())) { + return ResultVOUtils.error(500, "所选单据类型不一致!"); + } + + } + + ErpOrderEntity exitErp = new ContrastErpUtil().vailErpExit(orderDetailService, erpOrderEntities, importErpOrderRequest.getOrderId()); if (exitErp != null) { String errMsg = "所选业务单据" + exitErp.getErpOrderId() + "已被其他出入库单" + exitErp.getOrderIdFk() + "绑定"; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java index 34ad041..13b1ef6 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockQRCodeTextController.java @@ -35,6 +35,7 @@ import com.glxp.sale.admin.service.param.SystemPDFTemplateService; import com.glxp.sale.admin.thread.JaspaperService; import com.glxp.sale.admin.util.Constant; import com.glxp.sale.admin.util.CustomUtil; +import com.glxp.sale.admin.util.FileUtils; import com.glxp.sale.admin.util.JasperUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; @@ -50,6 +51,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -169,8 +171,10 @@ public class StockQRCodeTextController { } } - if (printEntities.size() > 1000) { //如果标签打印数据大于1000,则切割生成多个文件 + if (!FileUtils.isFileExist(dirPath + "/pdfprint")) { + new File(dirPath + "/pdfprint").mkdirs(); + } List> splits = CustomUtil.splitList(printEntities, 100); int index = 0; List stockPrintTempEntities = new ArrayList<>(); @@ -179,6 +183,8 @@ public class StockQRCodeTextController { StockPrintTempEntity stockPrintTempEntity = new StockPrintTempEntity(); if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { String fileName = stockQRCodeTextPDFTemplateRequest.getOrderId() + "__" + index + "__标签打印" + ".pdf"; + + String filePath = dirPath + "\\pdfprint\\" + fileName; stockPrintTempEntity.setFileName(fileName); stockPrintTempEntity.setFilePath(filePath); @@ -258,7 +264,9 @@ public class StockQRCodeTextController { printEntities.add(stockPrintEntity); } } - + if (!FileUtils.isFileExist(dirPath + "/pdfprint")) { + new File(dirPath + "/pdfprint").mkdirs(); + } List> splits = CustomUtil.splitList(printEntities, 100); int index = 0; List stockPrintTempEntities = new ArrayList<>(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java index fc7356f..3273019 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java @@ -44,7 +44,7 @@ public class ErpOrderEntity { private String supId; private String supName; private Integer bindSupStatus; - + private String billType; private String nameCode; private String productCompany; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java index 70e196b..53ca992 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java @@ -37,5 +37,6 @@ public class StockOrderFilterRequest extends ListPageRequest { private Integer unionUser; private String entrustUser; private boolean entrustEnd; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java index 1cb154d..fdfe915 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/JasperUtils.java @@ -122,7 +122,7 @@ public class JasperUtils { InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); map.put("JSON_INPUT_STREAM", is); //填充报表数据 map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); -// ClassPathResource resource = new ClassPathResource(jasperResource); + FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); // InputStream jasperStream = resource.getInputStream(); diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml index 5087fdc..19d6460 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml @@ -151,7 +151,9 @@ and unitIdFk = #{unitIdFk} - + + and billType = #{localAction} + and (invWarehouseCode in (select code from inv_warehouse_user WHERE userId =#{userId}) or invWarehouseCode is null or invWarehouseCode='')