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"