From 0da2bcb981f1cf8bc3a17b14d3c1d9bb0fd66b26 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Mon, 26 Aug 2024 16:29:00 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E9=87=87=E8=B4=AD=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=EF=BC=9A=E5=AF=BC=E5=85=A5=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E5=90=88=E5=90=8C=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=9A=E6=96=B0=E5=A2=9E=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=B1=BB=EF=BC=8C=E5=85=B3=E8=81=94=E9=99=84?= =?UTF-8?q?=E4=BB=B6=E8=A1=A8=E5=92=8C=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E6=95=B0=E6=8D=AE=20=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=89=8D=E7=AB=AF=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=92=8Cjs=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E9=87=87=E7=94=A8=E6=A8=A1=E6=80=81=E6=A1=86=E7=9A=84=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=B1=95=E7=A4=BA=E5=AF=BC=E5=85=A5=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E5=85=A5=E5=89=8D=E5=8A=A0=E4=B8=8A=E5=A4=9A?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E6=8D=AE=E7=9A=84=E5=88=A4=E6=96=AD=EF=BC=8C?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BD=9C=E5=BA=9F=E7=9A=84=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E6=98=AF=E5=90=A6=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD=EF=BC=9B=E6=96=B0=E5=A2=9E=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E9=99=84=E4=BB=B6=E7=9A=84js=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PurchaseOrderController.java | 14 ++ .../service/IPurchaseOrderService.java | 7 + .../impl/PurchaseOrderServiceImpl.java | 56 +++++++ .../purchase/purchaseOrder/purchaseOrder.html | 139 ++++++++++-------- 4 files changed, 155 insertions(+), 61 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java index 328ba45d..bc30e9d9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java @@ -47,6 +47,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -143,6 +144,19 @@ public class PurchaseOrderController extends BaseController } + /** + * 导入采购订单合同 + */ + @PostMapping("/uploadSingleFile") + @ResponseBody + public AjaxResult uploadSingleFile(@RequestParam("file") MultipartFile file, + @RequestParam(value = "purchaseOrderCode", required = false) String purchaseOrderCode) throws Exception + { + AjaxResult ajaxResult = purchaseOrderService.uploadSingleFile(file,purchaseOrderCode); + return ajaxResult; + } + + /** * 新增采购订单 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java index e7f6dcd2..8bb18023 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java @@ -1,10 +1,12 @@ package com.ruoyi.purchase.service; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.purchase.domain.PurchaseOrder; import com.ruoyi.purchase.domain.PurchaseOrderVo; import com.ruoyi.warehouse.domain.WarehouseStorageOrder; import org.activiti.engine.runtime.ProcessInstance; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -88,4 +90,9 @@ public interface IPurchaseOrderService * 导出采购订单供应商合同 * */ void exportPurchaseOrder(PurchaseOrder purchaseOrder, String supplierCode ,HttpServletResponse response); + + /** + * 导入采购订单供应商合同 + * */ + AjaxResult uploadSingleFile(MultipartFile file,String purchaseOrderCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java index 9e9ce0cd..b47d8e42 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java @@ -6,6 +6,9 @@ import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import com.github.pagehelper.Page; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.config.ServerConfig; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.PageDomain; import com.ruoyi.common.core.page.TableSupport; @@ -18,6 +21,7 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.file.FileDownloadUtils; +import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.erp.domain.ErpDevelopModifyorder; import com.ruoyi.erp.mapper.ErpDevelopModifyorderMapper; import com.ruoyi.financial.domain.FinancialAccountsPayable; @@ -32,6 +36,7 @@ import com.ruoyi.purchase.mapper.PurchaseOrderChildMapper; import com.ruoyi.purchase.mapper.PurchaseOrderMapper; import com.ruoyi.purchase.mapper.PurchasePlanMapper; import com.ruoyi.purchase.service.IPurchaseOrderService; +import com.ruoyi.system.domain.SysAttachFile; import com.ruoyi.system.domain.SysCompanyInformation; import com.ruoyi.system.domain.SysSupplier; import com.ruoyi.system.domain.Vo.SysSupplierVo; @@ -55,6 +60,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -135,6 +141,11 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService private SysCompanyInformationMapper companyInformationMapper; + @Autowired + private ServerConfig serverConfig; + + + /** * 查询采购订单 * @@ -707,6 +718,9 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService return processInstance; } + /** + * 导出采购订单供应商合同 + * */ @Override public void exportPurchaseOrder(PurchaseOrder purchaseOrder, String supplierCode, HttpServletResponse response) { String fileName = "采购合同.docx"; @@ -823,6 +837,48 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService } } + + /** + * 导入采购订单供应商合同 + * */ + @Override + public AjaxResult uploadSingleFile(MultipartFile file,String purchaseOrderCode) { + + + try { + String loginName = ShiroUtils.getLoginName(); + //上传路径 + String filePath = RuoYiConfig.getUploadPath(); + //上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + String originalFilename = file.getOriginalFilename(); + String fileExt = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); + long fileSize = file.getSize(); + if (StringUtils.isEmpty(purchaseOrderCode)){ + throw new RuntimeException("采购订单编码为空"); + } + PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode(purchaseOrderCode); + + //保存文件信息 + SysAttachFile sysAttachFile = new SysAttachFile(); + sysAttachFile.setBusinessKey(purchaseOrderCode); + sysAttachFile.setBusinessId(purchaseOrder.getPurchaseOrderId()); + sysAttachFile.setName(originalFilename); + sysAttachFile.setExt(fileExt); + sysAttachFile.setPath(fileName); + sysAttachFile.setSize(fileSize); + sysAttachFile.setUrl(url); + sysAttachFile.setCreateBy(loginName); + attachFileService.insertSysAttachFile(sysAttachFile); + AjaxResult ajaxResult = AjaxResult.success(sysAttachFile); + return ajaxResult; + } catch (Exception e) { + return AjaxResult.error(e.getMessage()); + } + + } + private ProcessInstance startProcessInstance(String applyTitle, String instanceType, PurchaseOrder purchaseOrder, SysUser user) { Long materialId = purchaseOrder.getPurchaseOrderId(); String businessKey = materialId.toString(); // 实体类 ID,作为流程的业务 key diff --git a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/purchaseOrder.html b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/purchaseOrder.html index 64d7ec64..9fb04912 100644 --- a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/purchaseOrder.html +++ b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/purchaseOrder.html @@ -78,7 +78,7 @@
- + 导入合同 @@ -136,30 +136,28 @@
- - -