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 @@
- - -