From 18d48a10e68d2983dd7451ae0d8ebdee3a351867 Mon Sep 17 00:00:00 2001 From: "DESKTOP-J7ED0MB\\yinjinlu" <411641505@qq.com> Date: Thu, 3 Nov 2022 22:16:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=8D=95=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=9C=80=E6=B1=82=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProWorkorderController.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index 031d912..83f104d 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -1,16 +1,20 @@ package com.ktg.mes.pro.controller; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollUtil; import com.ktg.common.constant.UserConstants; +import com.ktg.common.core.page.TableDataInfo; import com.ktg.common.utils.StringUtils; +import com.ktg.mes.md.domain.MdItem; import com.ktg.mes.md.domain.MdProductBom; import com.ktg.mes.md.service.IMdProductBomService; import com.ktg.mes.pro.domain.ProWorkorderBom; import com.ktg.mes.pro.service.IProWorkorderBomService; +import io.minio.messages.Item; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -187,4 +191,31 @@ public class ProWorkorderController extends BaseController proWorkorderBomService.deleteProWorkorderBomByWorkorderId(workorderId); } + /** + * 获取当前工单的物料需求清单 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:workorder:list')") + @GetMapping("/listItems") + public TableDataInfo listItemss(ProWorkorder proWorkorder) + { + List list = getBoms(proWorkorder.getProductId(),proWorkorder.getQuantity()); + return getDataTable(list); + } + + private List getBoms(Long itemId,BigDecimal quantity){ + MdProductBom param = new MdProductBom(); + List results = new ArrayList(); + param.setItemId(itemId); + List boms = mdProductBomService.selectMdProductBomList(param); + if(CollUtil.isNotEmpty(boms)){ + for (MdProductBom bomItem: boms + ) { + bomItem.setQuantity(quantity.multiply(bomItem.getQuantity())); + results.add(bomItem); + results.addAll(getBoms(bomItem.getBomItemId(),bomItem.getQuantity())); + } + } + return results; + } + }