From d26dc62a85b98087847bd40fa9d1a19f33285297 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Tue, 18 Feb 2025 15:14:53 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E5=A7=94=E5=A4=96=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E6=8C=89=E7=85=A7=E4=B8=87=E6=9D=90=E8=A6=81=E6=B1=82?= =?UTF-8?q?=EF=BC=8C=E5=A7=94=E5=A4=96=E7=AE=A1=E7=90=86=E5=A7=94=E5=A4=96?= =?UTF-8?q?=E9=A2=86=E6=96=99=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81=E9=83=A8=E5=88=86=E8=A1=8C?= =?UTF-8?q?=E5=92=8C=E5=85=A8=E9=83=A8=E8=A1=8C=E5=AF=BC=E5=87=BA=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=9B=B4=E5=A4=9A=E6=95=B0=E6=8D=AE=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=87=BA=E6=89=80=E6=9C=89=E5=92=8C?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=AF=BC=E5=87=BA=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E6=96=B0=E5=A2=9E=20=E5=AF=BC=E5=87=BA=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E7=AE=A1=E7=90=86=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=96=B9=E6=B3=95=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutsourceRequisitionController.java | 16 ++-- .../Vo/ExportOutsourceRequisitionVo.java | 78 +++++++++++++++++++ .../mapper/OutsourceRequisitionMapper.java | 10 +++ .../service/IOutsourceRequisitionService.java | 11 +++ .../impl/OutsourceRequisitionServiceImpl.java | 62 +++++++++++++++ .../system/OutsourceRequisitionMapper.xml | 21 ++++- 6 files changed, 190 insertions(+), 8 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportOutsourceRequisitionVo.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java index f34f72d7..3a413cd1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java @@ -6,6 +6,7 @@ import java.util.List; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.system.domain.*; +import com.ruoyi.system.domain.Vo.ExportOutsourceRequisitionVo; import com.ruoyi.system.domain.Vo.OutsourceOrderVO; import com.ruoyi.system.domain.Vo.OutsourceQuoteVO; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; @@ -100,15 +101,16 @@ public class OutsourceRequisitionController extends BaseController public AjaxResult export(OutsourceRequisitionVO outsourceRequisitionVO, String ids) { if (StringUtils.isEmpty(ids)){ - OutsourceRequisitionDetail detail = new OutsourceRequisitionDetail(); - List requisitionDetails = outsourceRequisitionMapper.selectRequisitionDetailByNo(detail); - ExcelUtil util = new ExcelUtil(OutsourceRequisitionDetail.class); - return util.exportExcel(requisitionDetails, "委外领料数据"); + List list = outsourceRequisitionService.selectOutsourceRequisitionList(outsourceRequisitionVO); + List exportOutsourceRequisitionVos = outsourceRequisitionService.exportOutsourceRequisitionList(list); + ExcelUtil util = new ExcelUtil(ExportOutsourceRequisitionVo.class); + return util.exportExcel(exportOutsourceRequisitionVos, "委外领料数据"); }else { String[] requisitionCodes = ids.split(","); - List requisitionDetails = outsourceRequisitionMapper.selectOutsourceRequisitionDetailByCodes(requisitionCodes); - ExcelUtil util = new ExcelUtil(OutsourceRequisitionDetail.class); - return util.exportExcel(requisitionDetails, ids); + List list = outsourceRequisitionService.selectOutsourceRequisitionListByCodes(requisitionCodes); + List exportOutsourceRequisitionVos = outsourceRequisitionService.exportOutsourceRequisitionList(list); + ExcelUtil util = new ExcelUtil(ExportOutsourceRequisitionVo.class); + return util.exportExcel(exportOutsourceRequisitionVos, "委外领料数据"); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportOutsourceRequisitionVo.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportOutsourceRequisitionVo.java new file mode 100644 index 00000000..3a7c3ad6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportOutsourceRequisitionVo.java @@ -0,0 +1,78 @@ +package com.ruoyi.system.domain.Vo; + +import com.ruoyi.common.annotation.Excel; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ExportOutsourceRequisitionVo { + + /** 委外领料编号 */ + @Excel(name = "委外领料编号") + private String outsourceRequisitionNo; + + /** 委外订单编号 */ + @Excel(name = "委外订单编号") + private String outsourceOrderNo; + + /** 领料员 */ + @Excel(name = "领料员") + private String requisitionPerson; + + /** 物料合计 */ + @Excel(name = "物料合计") + private int materialAmount; + + /** 数量总计 */ + @Excel(name = "数量总计") + private BigDecimal totalAmount; + + /** 审核状态 */ + @Excel(name = "审核状态",dictType = "auditStatus") + private String auditStatus; + + /** 领料状态 */ + @Excel(name = "领料状态",dictType = "pickStatus") + private String requisitionStatus; + + + /** 料号 */ + @Excel(name = "料号") + private String materialNo; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 描述 */ + @Excel(name = "描述") + private String description; + + /** 品牌 */ + @Excel(name = "品牌") + private String brand; + + /** 加工方式 */ + @Excel(name = "加工方式",dictType = "processMethod") + private String processMethod; + + /** 已委外领料数 */ + @Excel(name = "已委外领料数") + private Integer takenMaterial; + + /** 本次委外领料数 */ + @Excel(name = "本次委外领料数") + private Integer takingMaterial; + + /** 可用库存数*/ + @Excel(name = "可用库存数") + private Integer stockNum; + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java index 68877d98..254355d9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.system.mapper; import com.ruoyi.system.domain.OutsourceRequisition; import com.ruoyi.system.domain.OutsourceRequisitionDetail; +import com.ruoyi.system.domain.Vo.ExportOutsourceRequisitionVo; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; import java.util.List; @@ -110,4 +111,13 @@ public interface OutsourceRequisitionMapper */ public OutsourceRequisition selectOutsourceRequisitionByNo(String requisitionNo); + /** + * 通过领料单号查询领料详情 + * */ + List selectOutsourceRequisitionDetailByCodeList(List collectRequisitionNos); + + /** + * 根据领料单号数组查询领料详情 + * */ + List selectOutsourceRequisitionListByCodes(String[] requisitionCodes); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java index ca228a83..7c1f3580 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service; import com.ruoyi.system.domain.OutsourceRequisition; import com.ruoyi.system.domain.OutsourceRequisitionDetail; +import com.ruoyi.system.domain.Vo.ExportOutsourceRequisitionVo; import com.ruoyi.system.domain.Vo.OutsourceQuoteVO; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; import org.activiti.engine.runtime.ProcessInstance; @@ -88,4 +89,14 @@ public interface IOutsourceRequisitionService * 根据委外领料单号查询委外领料 */ public OutsourceRequisition selectOutsourceRequisitionByNo(String requisitionNo); + + /** + * 导出领料单明细 + * */ + List exportOutsourceRequisitionList(List list); + + /** + * 根据委外领料单号数组查询委外领料 + * */ + List selectOutsourceRequisitionListByCodes(String[] requisitionCodes); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java index 272ecff9..9b721a32 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service.impl; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import com.github.pagehelper.Page; @@ -15,6 +16,7 @@ import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; import com.ruoyi.system.domain.OutsourceRequisition; import com.ruoyi.system.domain.OutsourceRequisitionDetail; +import com.ruoyi.system.domain.Vo.ExportOutsourceRequisitionVo; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; import com.ruoyi.system.mapper.OutsourceRequisitionMapper; import com.ruoyi.system.mapper.SysUserMapper; @@ -571,4 +573,64 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer public OutsourceRequisition selectOutsourceRequisitionByNo(String requisitionNo){ return outsourceRequisitionMapper.selectOutsourceRequisitionByNo(requisitionNo); } + + /** + * 根据委外领料单号数组查询委外领料 + * */ + @Override + public List selectOutsourceRequisitionListByCodes(String[] requisitionCodes) { + + return outsourceRequisitionMapper.selectOutsourceRequisitionListByCodes(requisitionCodes); + } + + /** + * 导出领料单明细 + * */ + @Override + public List exportOutsourceRequisitionList(List list) { + // 获取所有的委外领料编号 + List collectRequisitionNos = list.stream().map(OutsourceRequisitionVO::getOutsourceRequisitionNo).collect(Collectors.toList()); + + // 根据委外领料编号查询对应的详情列表 + List requisitionDetails = outsourceRequisitionMapper.selectOutsourceRequisitionDetailByCodeList(collectRequisitionNos); + + // 创建一个委外领料VO的Map,键为委外领料编号 + Map outsourceRequisitionVOMap = list.stream() + .collect(Collectors.toMap(OutsourceRequisitionVO::getOutsourceRequisitionNo, Function.identity())); + + // 初始化导出列表 + List exportOutsourceRequisitionVos = new ArrayList<>(); + + for (OutsourceRequisitionDetail detail : requisitionDetails) { + ExportOutsourceRequisitionVo exportVo = new ExportOutsourceRequisitionVo(); + + // 从OutsourceRequisitionDetail填充数据 + exportVo.setMaterialNo(detail.getMaterialNo()); + exportVo.setMaterialName(detail.getMaterialName()); + exportVo.setUnit(detail.getUnit()); + exportVo.setDescription(detail.getDescription()); + exportVo.setBrand(detail.getBrand()); + exportVo.setProcessMethod(detail.getProcessMethod()); + exportVo.setTakenMaterial(detail.getTakenMaterial()); + exportVo.setTakingMaterial(detail.getTakingMaterial()); + exportVo.setStockNum(detail.getStockNum()); + + // 从OutsourceRequisitionVO填充数据,通过委外领料编号进行关联 + OutsourceRequisitionVO requisition = outsourceRequisitionVOMap.get(detail.getOutsourceRequisitionNo()); + if (requisition != null) { + exportVo.setOutsourceRequisitionNo(requisition.getOutsourceRequisitionNo()); + exportVo.setOutsourceOrderNo(requisition.getOutsourceOrderNo()); + exportVo.setRequisitionPerson(requisition.getRequisitionPerson()); + exportVo.setMaterialAmount(requisition.getMaterialAmount()); + exportVo.setTotalAmount(requisition.getTotalAmount()); + exportVo.setAuditStatus(requisition.getAuditStatus()); + exportVo.setRequisitionStatus(requisition.getRequisitionStatus()); + } + + // 添加到结果列表 + exportOutsourceRequisitionVos.add(exportVo); + } + + return exportOutsourceRequisitionVos; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml index 6ba4d56d..c68e6650 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml @@ -98,7 +98,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by audit_status asc, create_time desc - + + + + + + + + \ No newline at end of file