From 8a19decc043bba0430e59fdb03885921e44b594b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Mon, 23 Dec 2024 19:51:31 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E5=A7=94=E5=A4=96=E5=8A=A0=E5=B7=A5=20?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92=E5=AE=9E=E4=BD=93=E7=B1=BB?= =?UTF-8?q?=EF=BC=8C=E6=95=B0=E9=87=8F=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=94=B9=E4=B8=BAInteger=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=AF=B9=E8=B1=A1=EF=BC=8C=E6=95=B0=E9=87=8F=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B=E6=94=B9=E4=B8=BA?= =?UTF-8?q?Integer=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=B1=82=E7=BA=A7=E3=80=81?= =?UTF-8?q?=E7=88=B6=E7=BA=A7id=E3=80=81=E7=94=9F=E4=BA=A7bomID=E3=80=81?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E8=AE=A2=E5=8D=95=E5=8F=B7=E3=80=81=E5=B7=B2?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E6=95=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=A7=94=E5=A4=96=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=AF=B9=E8=B1=A1=EF=BC=8C=E6=96=B0=E5=A2=9E=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=AF=A6=E6=83=85id=E5=AD=97=E6=AE=B5=EF=BC=9B=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE=E8=AF=A6=E6=83=85id?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92=E8=AF=A6?= =?UTF-8?q?=E6=83=85controller=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9F=A5=E8=AF=A2=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=88=97=E8=A1=A8service=E6=96=B9=E6=B3=95=EF=BC=8C=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=AF=A6=E6=83=85=E5=88=97=E8=A1=A8=E5=90=8E=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E4=BF=9D=E7=95=990=E9=98=B6=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E8=AE=A1=E5=88=92=E8=AF=A6=E6=83=85service=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E8=8E=B7=E5=8F=96=E8=AF=A6=E6=83=85=E5=90=8E?= =?UTF-8?q?=E9=81=8D=E5=8E=86=E8=81=94=E6=9F=A5=E8=8E=B7=E5=8F=96=E5=B7=B2?= =?UTF-8?q?=E9=A2=86=E6=96=99=E6=95=B0=EF=BC=9B=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=A7=94=E5=A4=96=E8=AE=A1=E5=88=92=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=92=8C=E6=96=B0=E5=A2=9E=E5=A7=94=E5=A4=96=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=AF=A6=E6=83=85mapper=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=B8=E5=85=B3=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OutsourcePlanController.java | 11 +++ .../system/domain/OutsourceMaterial.java | 10 +++ .../ruoyi/system/domain/OutsourcePlan.java | 24 ++--- .../system/domain/OutsourcePlanDetail.java | 89 +++++++++++++++---- .../system/mapper/OutsourcePlanMapper.java | 8 ++ .../system/service/IOutsourcePlanService.java | 6 +- .../impl/OutsourcePlanServiceImpl.java | 51 ++++++++--- .../mapper/system/OutsourcePlanMapper.xml | 86 ++++++++++++++++-- .../outsource_plan/addOutsourceOrder.html | 4 + 9 files changed, 238 insertions(+), 51 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourcePlanController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourcePlanController.java index 98bba0e9..2153f10b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourcePlanController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourcePlanController.java @@ -156,4 +156,15 @@ public class OutsourcePlanController extends BaseController { return toAjax(outsourcePlanService.deleteOutsourcePlanByOutsourcePlanIds(ids)); } + + /** + * 查询委外计划详情 + */ + @PostMapping("/getRequisitionMaterial") + @ResponseBody + public TableDataInfo getRequisitionMaterial(OutsourcePlanDetail outsourcePlanDetail) + { + List list = outsourcePlanService.selectOutsourcePlanDetail(outsourcePlanDetail); + return getDataTable(list); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java index c4d25266..ff150345 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java @@ -75,6 +75,8 @@ public class OutsourceMaterial extends BaseEntity { private String correlationCodes; + private Long planDetailId; + private List orderDetails; public List getOrderDetails() { @@ -246,6 +248,14 @@ public class OutsourceMaterial extends BaseEntity { this.deliveryTime = deliveryTime; } + public Long getPlanDetailId() { + return planDetailId; + } + + public void setPlanDetailId(Long planDetailId) { + this.planDetailId = planDetailId; + } + @Override public String toString() { return "OutsourceMaterial{" + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java index 496b5d81..8f4cc55f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java @@ -38,19 +38,19 @@ public class OutsourcePlan extends BaseEntity /** 物料总计 */ @Excel(name = "物料总计") - private int materialAmount; + private Integer materialAmount; /** 数量总计 */ @Excel(name = "数量总计") - private BigDecimal totalAmount; + private Integer totalAmount; /** 委外工序种类 */ @Excel(name = "委外工序种类") - private int outsourceProcessType; + private Integer outsourceProcessType; /** 委外工序合计 */ @Excel(name = "委外工序合计") - private int outsourceProcessAmount; + private Integer outsourceProcessAmount; /** 来源 */ @Excel(name = "来源") @@ -109,42 +109,42 @@ public class OutsourcePlan extends BaseEntity return status; } - public void setMaterialAmount(int materialAmount) + public void setMaterialAmount(Integer materialAmount) { this.materialAmount = materialAmount; } - public int getMaterialAmount() + public Integer getMaterialAmount() { return materialAmount; } - public void setTotalAmount(BigDecimal totalAmount) + public void setTotalAmount(Integer totalAmount) { this.totalAmount = totalAmount; } - public BigDecimal getTotalAmount() + public Integer getTotalAmount() { return totalAmount; } - public void setOutsourceProcessType(int outsourceProcessType) + public void setOutsourceProcessType(Integer outsourceProcessType) { this.outsourceProcessType = outsourceProcessType; } - public int getOutsourceProcessType() + public Integer getOutsourceProcessType() { return outsourceProcessType; } - public void setOutsourceProcessAmount(int outsourceProcessAmount) + public void setOutsourceProcessAmount(Integer outsourceProcessAmount) { this.outsourceProcessAmount = outsourceProcessAmount; } - public int getOutsourceProcessAmount() + public Integer getOutsourceProcessAmount() { return outsourceProcessAmount; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java index ae5967b3..dba19b9f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java @@ -45,14 +45,6 @@ public class OutsourcePlanDetail extends BaseEntity @Excel(name = "描述") private String description; - public OutsourceMaterial getMaterial() { - return material; - } - - public void setMaterial(OutsourceMaterial material) { - this.material = material; - } - /** 品牌 */ @Excel(name = "品牌") private String brand; @@ -67,18 +59,41 @@ public class OutsourcePlanDetail extends BaseEntity /** 计划委外数 */ @Excel(name = "计划委外数") - private BigDecimal plannedOutsourceAmount; + private Integer plannedOutsourceAmount; /** 委外工序种类 */ @Excel(name = "委外工序种类") - private int outsourceProcessType; + private Integer outsourceProcessType; /** 委外工序合计 */ @Excel(name = "委外工序合计") - private int outsourceProcessAmount; + private Integer outsourceProcessAmount; + + //层级 + private int level; + + //父级id + private Long parentId; + + //生产bomID(避免订单中出现重复报错) + private Long makeBomId; + + /** 委外订单号(不保存数据库,*/ + private String outsourceOrderNo; + + /** 已委外领料数(不保存数据库*/ + private int pickedNum; private OutsourceMaterial material; + public OutsourceMaterial getMaterial() { + return material; + } + + public void setMaterial(OutsourceMaterial material) { + this.material = material; + } + public void setOutsourcePlanDetailId(Long outsourcePlanDetailId) { this.outsourcePlanDetailId = outsourcePlanDetailId; @@ -169,34 +184,74 @@ public class OutsourcePlanDetail extends BaseEntity { return unit; } - public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) + public void setPlannedOutsourceAmount(Integer plannedOutsourceAmount) { this.plannedOutsourceAmount = plannedOutsourceAmount; } - public BigDecimal getPlannedOutsourceAmount() + public Integer getPlannedOutsourceAmount() { return plannedOutsourceAmount; } - public void setOutsourceProcessType(int outsourceProcessType) + public void setOutsourceProcessType(Integer outsourceProcessType) { this.outsourceProcessType = outsourceProcessType; } - public int getOutsourceProcessType() + public Integer getOutsourceProcessType() { return outsourceProcessType; } - public void setOutsourceProcessAmount(int outsourceProcessAmount) + public void setOutsourceProcessAmount(Integer outsourceProcessAmount) { this.outsourceProcessAmount = outsourceProcessAmount; } - public int getOutsourceProcessAmount() + public Integer getOutsourceProcessAmount() { return outsourceProcessAmount; } + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Long getMakeBomId() { + return makeBomId; + } + + public void setMakeBomId(Long makeBomId) { + this.makeBomId = makeBomId; + } + + public String getOutsourceOrderNo() { + return outsourceOrderNo; + } + + public void setOutsourceOrderNo(String outsourceOrderNo) { + this.outsourceOrderNo = outsourceOrderNo; + } + + public int getPickedNum() { + return pickedNum; + } + + public void setPickedNum(int pickedNum) { + this.pickedNum = pickedNum; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourcePlanMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourcePlanMapper.java index a22f8ade..1ed64faa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourcePlanMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourcePlanMapper.java @@ -113,4 +113,12 @@ public interface OutsourcePlanMapper * @return 结果 */ public int deleteOutsourcePlanDetailByOutsourcePlanCode(Long outsourcePlanId); + + /* + * 新增委外计划详情*/ + public int insertOutsourcePlanDetail(OutsourcePlanDetail outsourcePlanDetail); + + /* + * 查询委外计划详情*/ + public List selectOutsourcePlanDetail(OutsourcePlanDetail outsourcePlanDetail); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourcePlanService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourcePlanService.java index 3b0d9a24..11790a1c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourcePlanService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourcePlanService.java @@ -88,7 +88,9 @@ public interface IOutsourcePlanService * @param materialNo 委外计划详情中包含的料号 * @return 委外物料集合 */ - public OutsourceMaterial selectMaterialByCode(String materialNo); - + public OutsourceMaterial selectMaterialByCode(String materialNo,Long id); + /* + * 查询委外计划详情*/ + public List selectOutsourcePlanDetail(OutsourcePlanDetail outsourcePlanDetail); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java index 329b633d..cdbfff92 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java @@ -3,16 +3,10 @@ package com.ruoyi.system.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.system.domain.OutsourceMaterial; -import com.ruoyi.system.domain.OutsourcePlan; -import com.ruoyi.system.domain.OutsourcePlanDetail; -import com.ruoyi.system.domain.OutsourceQuoteChild; +import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.Vo.OutsourceProcessVo; import com.ruoyi.system.domain.Vo.Supplier; -import com.ruoyi.system.mapper.OutsourceMaterialMapper; -import com.ruoyi.system.mapper.OutsourcePlanMapper; -import com.ruoyi.system.mapper.OutsourceProcessMapper; -import com.ruoyi.system.mapper.OutsourceQuoteMapper; +import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.IOutsourcePlanService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -44,6 +38,9 @@ public class OutsourcePlanServiceImpl implements IOutsourcePlanService @Autowired private OutsourceMaterialMapper outsourceMaterialMapper; + + @Autowired + private OutsourceRequisitionMapper requisitionMapper; /** * 查询委外计划 * @@ -106,25 +103,26 @@ public class OutsourcePlanServiceImpl implements IOutsourcePlanService List outsourcePlans = outsourcePlanMapper.selectOutsourcePlanByCodes(Convert.toStrArray(outsourcePlanCodes)); for (OutsourcePlan plan:outsourcePlans) { List details = outsourcePlanMapper.selectOutsourcePlanDetailByCodes(Convert.toStrArray(plan.getOutsourcePlanCode())); - if(details.size()!=0){ - for (OutsourcePlanDetail planDetail:details) { - OutsourceMaterial materials = selectMaterialByCode(planDetail.getMaterialNo()); + List filtDetails = details.stream().filter(item ->item.getLevel() == 0).collect(Collectors.toList()); + if(filtDetails.size()!=0){ + for (OutsourcePlanDetail planDetail:filtDetails) { + OutsourceMaterial materials = selectMaterialByCode(planDetail.getMaterialNo(),planDetail.getOutsourcePlanDetailId()); materials.setCorrelationCodes(plan.getAssociateOrderNo()); planDetail.setMaterial(materials); } - plan.setOutsourcePlanDetailList(details); + plan.setOutsourcePlanDetailList(filtDetails); } } -// System.out.println(outsourcePlans); return outsourcePlans; } // 获取物料信息 @Override - public OutsourceMaterial selectMaterialByCode(String materialNo) { + public OutsourceMaterial selectMaterialByCode(String materialNo,Long id) { List materialList = outsourceMaterialMapper.selectProcessNoByNo(materialNo); OutsourceMaterial shareMaterial = materialList.get(0); OutsourceMaterial material = new OutsourceMaterial(); + material.setPlanDetailId(id); material.setMaterialNo(shareMaterial.getMaterialNo()); material.setMaterialName(shareMaterial.getMaterialName()); material.setMaterialType(shareMaterial.getMaterialType()); @@ -276,4 +274,29 @@ public class OutsourcePlanServiceImpl implements IOutsourcePlanService } } } + + /* + * 查询委外计划详情*/ + @Override + public List selectOutsourcePlanDetail(OutsourcePlanDetail outsourcePlanDetail){ + String outsoutceOrderNo = outsourcePlanDetail.getOutsourceOrderNo(); + List details = outsourcePlanMapper.selectOutsourcePlanDetail(outsourcePlanDetail); + if(StringUtils.isNotEmpty(details)){ + for (OutsourcePlanDetail plan: details) { + OutsourceRequisitionDetail requisitionDetail = new OutsourceRequisitionDetail(); + requisitionDetail.setOutsourceOrderNo(outsoutceOrderNo); + requisitionDetail.setPlanDetailId(plan.getOutsourcePlanDetailId()); + List requisitionDetails = requisitionMapper.selectOutsourceRequisitionDetailList(requisitionDetail); + List filtList = requisitionDetails.stream().filter(item -> item.getAuditStatus().equals("0") + || item.getAuditStatus().equals("1")).collect(Collectors.toList()); + if(StringUtils.isEmpty(filtList)){ + plan.setPickedNum(0); + }else{ + int pikenNum = filtList.stream().mapToInt(item -> item.getTakingMaterial()).sum(); + plan.setPickedNum(pikenNum); + } + } + } + return details; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/system/OutsourcePlanMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/OutsourcePlanMapper.xml index cb38b07a..f2c34145 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/OutsourcePlanMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/OutsourcePlanMapper.xml @@ -39,12 +39,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + select outsource_plan_id, outsource_plan_code, associate_order_no, applicant, status, material_amount, total_amount, outsource_process_type, outsource_process_amount, source, create_by, create_time, update_by, update_time from outsource_plan + + select outsource_plan_detail_id, outsource_plan_code, + material_no, material_name, material_type, material_photoUrl, + description, brand, process_method, unit, planned_outsource_amount, + outsource_process_type, outsource_process_amount, `level`, parent_id, + create_by,create_time,update_by,update_time + from outsource_plan_detail + + + + @@ -136,8 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"