diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/ProductionPurchaseOrderController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/ProductionPurchaseOrderController.java index 465b28a..cc313fd 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/ProductionPurchaseOrderController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/ProductionPurchaseOrderController.java @@ -2,10 +2,13 @@ package com.bonus.canteen.core.ims.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.bonus.canteen.core.ims.domain.param.ProductionPurchaseOrderQuery; import com.bonus.common.log.enums.OperaType; //import com.bonus.canteen.core.ims.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -43,7 +46,9 @@ public class ProductionPurchaseOrderController extends BaseController { @ApiOperation(value = "查询生产-采购-订单关联列表") //@RequiresPermissions("ims:order:list") @GetMapping("/list") - public TableDataInfo list(ProductionPurchaseOrder productionPurchaseOrder) { + public TableDataInfo list(ProductionPurchaseOrderQuery productionPurchaseOrderQuery) { + ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); + BeanUtils.copyProperties(productionPurchaseOrderQuery, productionPurchaseOrder); startPage(); List list = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); return getDataTable(list); @@ -52,68 +57,68 @@ public class ProductionPurchaseOrderController extends BaseController { /** * 导出生产-采购-订单关联列表 */ - @ApiOperation(value = "导出生产-采购-订单关联列表") - //@PreventRepeatSubmit - //@RequiresPermissions("ims:order:export") - @SysLog(title = "生产-采购-订单关联", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出生产-采购-订单关联") - @PostMapping("/export") - public void export(HttpServletResponse response, ProductionPurchaseOrder productionPurchaseOrder) { - List list = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); - ExcelUtil util = new ExcelUtil(ProductionPurchaseOrder.class); - util.exportExcel(response, list, "生产-采购-订单关联数据"); - } +// @ApiOperation(value = "导出生产-采购-订单关联列表") +// //@PreventRepeatSubmit +// //@RequiresPermissions("ims:order:export") +// @SysLog(title = "生产-采购-订单关联", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出生产-采购-订单关联") +// @PostMapping("/export") +// public void export(HttpServletResponse response, ProductionPurchaseOrder productionPurchaseOrder) { +// List list = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); +// ExcelUtil util = new ExcelUtil(ProductionPurchaseOrder.class); +// util.exportExcel(response, list, "生产-采购-订单关联数据"); +// } /** * 获取生产-采购-订单关联详细信息 */ - @ApiOperation(value = "获取生产-采购-订单关联详细信息") - //@RequiresPermissions("ims:order:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(productionPurchaseOrderService.selectProductionPurchaseOrderById(id)); - } +// @ApiOperation(value = "获取生产-采购-订单关联详细信息") +// //@RequiresPermissions("ims:order:query") +// @GetMapping(value = "/{id}") +// public AjaxResult getInfo(@PathVariable("id") Long id) { +// return success(productionPurchaseOrderService.selectProductionPurchaseOrderById(id)); +// } /** * 新增生产-采购-订单关联 */ - @ApiOperation(value = "新增生产-采购-订单关联") - //@PreventRepeatSubmit - //@RequiresPermissions("ims:order:add") - @SysLog(title = "生产-采购-订单关联", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增生产-采购-订单关联") - @PostMapping - public AjaxResult add(@RequestBody ProductionPurchaseOrder productionPurchaseOrder) { - try { - return toAjax(productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder)); - } catch (Exception e) { - return error(e.getMessage()); - } - } +// @ApiOperation(value = "新增生产-采购-订单关联") +// //@PreventRepeatSubmit +// //@RequiresPermissions("ims:order:add") +// @SysLog(title = "生产-采购-订单关联", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增生产-采购-订单关联") +// @PostMapping +// public AjaxResult add(@RequestBody ProductionPurchaseOrder productionPurchaseOrder) { +// try { +// return toAjax(productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder)); +// } catch (Exception e) { +// return error(e.getMessage()); +// } +// } /** * 修改生产-采购-订单关联 */ - @ApiOperation(value = "修改生产-采购-订单关联") - //@PreventRepeatSubmit - //@RequiresPermissions("ims:order:edit") - @SysLog(title = "生产-采购-订单关联", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改生产-采购-订单关联") - @PostMapping("/edit") - public AjaxResult edit(@RequestBody ProductionPurchaseOrder productionPurchaseOrder) { - try { - return toAjax(productionPurchaseOrderService.updateProductionPurchaseOrder(productionPurchaseOrder)); - } catch (Exception e) { - return error(e.getMessage()); - } - } +// @ApiOperation(value = "修改生产-采购-订单关联") +// //@PreventRepeatSubmit +// //@RequiresPermissions("ims:order:edit") +// @SysLog(title = "生产-采购-订单关联", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改生产-采购-订单关联") +// @PostMapping("/edit") +// public AjaxResult edit(@RequestBody ProductionPurchaseOrder productionPurchaseOrder) { +// try { +// return toAjax(productionPurchaseOrderService.updateProductionPurchaseOrder(productionPurchaseOrder)); +// } catch (Exception e) { +// return error(e.getMessage()); +// } +// } /** * 删除生产-采购-订单关联 */ - @ApiOperation(value = "删除生产-采购-订单关联") - //@PreventRepeatSubmit - //@RequiresPermissions("ims:order:remove") - @SysLog(title = "生产-采购-订单关联", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除生产-采购-订单关联") - @PostMapping("/del/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) { - return toAjax(productionPurchaseOrderService.deleteProductionPurchaseOrderByIds(ids)); - } +// @ApiOperation(value = "删除生产-采购-订单关联") +// //@PreventRepeatSubmit +// //@RequiresPermissions("ims:order:remove") +// @SysLog(title = "生产-采购-订单关联", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除生产-采购-订单关联") +// @PostMapping("/del/{ids}") +// public AjaxResult remove(@PathVariable Long[] ids) { +// return toAjax(productionPurchaseOrderService.deleteProductionPurchaseOrderByIds(ids)); +// } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/OrderGoodsAdd.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/OrderGoodsAdd.java index 423bcae..dbf96a7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/OrderGoodsAdd.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/OrderGoodsAdd.java @@ -1,8 +1,6 @@ package com.bonus.canteen.core.ims.domain.param; -import com.bonus.canteen.core.ims.domain.OrderGoodsDetail; import com.bonus.common.core.annotation.Excel; -import com.bonus.common.core.web.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -42,9 +40,9 @@ public class OrderGoodsAdd implements Serializable { @ApiModelProperty(value = "订单总金额") private Long orderAmount; - @Excel(name = "采购计划Id,逗号分隔存储") - @ApiModelProperty(value = "采购计划Id,逗号分隔存储") - private String purchasePlanId; + @Excel(name = "采购计划编号,逗号分隔存储") + @ApiModelProperty(value = "采购计划编号,逗号分隔存储") + private String purchasePlanCode; /** 期望交货日期 */ @ApiModelProperty(value = "期望交货日期") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/ProductionPurchaseOrderQuery.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/ProductionPurchaseOrderQuery.java new file mode 100644 index 0000000..690b338 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/ProductionPurchaseOrderQuery.java @@ -0,0 +1,52 @@ +package com.bonus.canteen.core.ims.domain.param; + +import com.bonus.common.core.annotation.Excel; +import com.bonus.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import java.io.Serializable; + +/** + * 生产-采购-订单关联对象 ims_production_purchase_order + * + * @author xsheng + * @date 2025-07-14 + */ + + +@Data +@ToString +public class ProductionPurchaseOrderQuery implements Serializable { + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 生产计划ID */ + @Excel(name = "生产计划ID") + @ApiModelProperty(value = "生产计划ID") + private String productionPlanId; + + /** 采购计划ID */ + @Excel(name = "采购计划ID") + @ApiModelProperty(value = "采购计划ID") + private String purchasePlanId; + + /** 采购订单ID */ + @Excel(name = "采购订单ID") + @ApiModelProperty(value = "采购订单ID") + private String goodsOrderId; + + @Excel(name = "验货单ID") + @ApiModelProperty(value = "验货单ID") + private String inspectGoodsId; + + /** 订单类型(1-生产计划采购计划,2-采购计划采购订单) */ + @Excel(name = "订单类型(1-生产计划采购计划,2-采购计划采购订单)") + @ApiModelProperty(value = "订单类型(1-生产计划采购计划,2-采购计划采购订单)") + private Integer orderType; + + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchasePlanAdd.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchasePlanAdd.java index 41c44a1..a4d2ceb 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchasePlanAdd.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchasePlanAdd.java @@ -1,8 +1,6 @@ package com.bonus.canteen.core.ims.domain.param; -import com.bonus.canteen.core.ims.domain.PurchasePlanDetail; import com.bonus.common.core.annotation.Excel; -import com.bonus.common.core.web.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -44,9 +42,9 @@ public class PurchasePlanAdd implements Serializable { private Long purchaseUserId; /** 采购计划Id,逗号分隔存储 */ - @Excel(name = "生产计划Id,逗号分隔存储") - @ApiModelProperty(value = "生产计划Id,逗号分隔存储") - private String productionPlanId; + @Excel(name = "生产计划编号,逗号分隔存储") + @ApiModelProperty(value = "生产计划编号,逗号分隔存储") + private String productionPlanCode; /** 采购审批状态(1待审批,2审批中,3审批同意,4审批拒绝) */ @Excel(name = "采购审批状态(1待审批,2审批中,3审批同意,4审批拒绝)") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/OrderGoodsVO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/OrderGoodsVO.java index e8888a0..77b87dd 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/OrderGoodsVO.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/OrderGoodsVO.java @@ -166,6 +166,14 @@ public class OrderGoodsVO extends BaseEntity { @ApiModelProperty(value = "档口名称") private String stallName; + @Excel(name = "生产计划编号列表") + @ApiModelProperty(value = "生产计划编号列表") + private List productPlanCodeList; + + @Excel(name = "采购计划编号列表") + @ApiModelProperty(value = "采购计划编号列表") + private List purchasePlanCodeList; + private List orderGoodsDetailList; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/PurchasePlanVO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/PurchasePlanVO.java index ada280d..6cff1c2 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/PurchasePlanVO.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/vo/PurchasePlanVO.java @@ -142,5 +142,13 @@ public class PurchasePlanVO extends BaseEntity { @ApiModelProperty(value = "预计采购数量") private BigDecimal totalNum; + @ApiModelProperty(value = "是否已分解") + @Excel(name = "是否已分解") + private boolean ifBreakDown; + + @ApiModelProperty(value = "生成计划编号列表") + @Excel(name = "生成计划编号列表") + private List productionPlanCodeList; + private List purchasePlanDetailList; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/OrderGoodsServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/OrderGoodsServiceImpl.java index 3b4075c..6f782a2 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/OrderGoodsServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/OrderGoodsServiceImpl.java @@ -1,8 +1,8 @@ package com.bonus.canteen.core.ims.service.impl; -import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import com.bonus.canteen.core.ims.domain.OrderGoodsDetail; @@ -14,7 +14,6 @@ import com.bonus.canteen.core.ims.domain.param.OrderGoodsDetailUpdate; import com.bonus.canteen.core.ims.domain.param.OrderGoodsUpdate; import com.bonus.canteen.core.ims.domain.vo.OrderGoodsDetailVO; import com.bonus.canteen.core.ims.domain.vo.OrderGoodsVO; -import com.bonus.canteen.core.ims.domain.vo.PurchaseContractDetailVO; import com.bonus.canteen.core.ims.enums.SupplierOrderGenerateTypeEnum; import com.bonus.canteen.core.ims.service.IOrderGoodsDetailService; import com.bonus.canteen.core.ims.service.IProductionPurchaseOrderService; @@ -72,7 +71,40 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService { */ @Override public List selectOrderGoodsList(OrderGoods orderGoods) { - return orderGoodsMapper.selectOrderGoodsList(orderGoods); + List purchasePlanVOList = orderGoodsMapper.selectOrderGoodsList(orderGoods); + if(CollUtil.isNotEmpty(purchasePlanVOList)) { + for(OrderGoodsVO orderGoodsVO : purchasePlanVOList) { + ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey()); + productionPurchaseOrder.setGoodsOrderId(String.valueOf(orderGoodsVO.getOrderGoodsCode())); + List productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + List purchaseCodeList = productionPurchaseOrderList.stream() + .map(ProductionPurchaseOrder::getPurchasePlanId) + .distinct() + .sorted() + .collect(Collectors.toList()); + orderGoodsVO.setPurchasePlanCodeList(purchaseCodeList); + + if(CollUtil.isNotEmpty(purchaseCodeList)) { + for (String purchaseCode : purchaseCodeList) { + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey()); + productionPurchaseOrder.setPurchasePlanId(purchaseCode); + productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + List productionCodeList = productionPurchaseOrderList.stream() + .map(ProductionPurchaseOrder::getProductionPlanId) + .distinct() + .sorted() + .collect(Collectors.toList()); + orderGoodsVO.setProductPlanCodeList(productionCodeList); + } + } + } + } + } + } + return purchasePlanVOList; } /** @@ -103,13 +135,13 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService { inspectGoodsDetailService.insertOrderGoodsDetail(orderGoodsDetail); } } - String purchasePlanIdStr = orderGoodsAdd.getPurchasePlanId(); - if(StringUtils.isNotBlank(purchasePlanIdStr)) { - String[] purchasePlanIds = purchasePlanIdStr.split(","); - for(String purchasePlanId : purchasePlanIds) { + String purchasePlanCodeStr = orderGoodsAdd.getPurchasePlanCode(); + if(StringUtils.isNotBlank(purchasePlanCodeStr)) { + String[] purchasePlanCodes = purchasePlanCodeStr.split(","); + for(String purchasePlanCode : purchasePlanCodes) { ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); - productionPurchaseOrder.setPurchasePlanId(purchasePlanId); - productionPurchaseOrder.setGoodsOrderId(String.valueOf(orderGoods.getOrderGoodsId())); + productionPurchaseOrder.setPurchasePlanId(purchasePlanCode); + productionPurchaseOrder.setGoodsOrderId(orderGoods.getOrderGoodsCode()); productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey()); productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ProductionPlanServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ProductionPlanServiceImpl.java index d9bf5de..6548094 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ProductionPlanServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ProductionPlanServiceImpl.java @@ -57,6 +57,14 @@ public class ProductionPlanServiceImpl implements IProductionPlanService { public ProductionPlanVO selectProductionPlanByPlanId(Long planId) { ProductionPlanVO productionPlanVO = productionPlanMapper.selectProductionPlanByPlanId(planId); if(Objects.nonNull(productionPlanVO)) { + productionPlanVO.setIfBreakDown(false); + ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey()); + productionPurchaseOrder.setProductionPlanId(String.valueOf(productionPlanVO.getProductionPlanCode())); + List productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + productionPlanVO.setIfBreakDown(true); + } productionPlanVO .setProductionPlanDetailVOList(productionPlanDetailMapper .selectProductionPlanDetailByProductionId(productionPlanVO.getPlanId(), productionPlanVO.getGoodsType())); @@ -67,7 +75,7 @@ public class ProductionPlanServiceImpl implements IProductionPlanService { /** * 查询生产计划主列表 * - * @param productionPlan 生产计划主 + * @param productionPlanQuery 生产计划主 * @return 生产计划主 */ @Override diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchasePlanServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchasePlanServiceImpl.java index 327219c..a903e3c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchasePlanServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchasePlanServiceImpl.java @@ -1,6 +1,5 @@ package com.bonus.canteen.core.ims.service.impl; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -62,6 +61,28 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService { public PurchasePlanVO selectPurchasePlanByPlanId(Long planId) { PurchasePlanVO purchasePlanVO = purchasePlanMapper.selectPurchasePlanByPlanId(planId); if(Objects.nonNull(purchasePlanVO)) { + purchasePlanVO.setIfBreakDown(false); + ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey()); + productionPurchaseOrder.setPurchasePlanId(String.valueOf(purchasePlanVO.getPlanCode())); + List productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + purchasePlanVO.setIfBreakDown(true); + } + + productionPurchaseOrder = new ProductionPurchaseOrder(); + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey()); + productionPurchaseOrder.setPurchasePlanId(String.valueOf(purchasePlanVO.getPlanCode())); + productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + List codeList = productionPurchaseOrderList.stream() + .map(ProductionPurchaseOrder::getProductionPlanId) + .distinct() + .sorted() + .collect(Collectors.toList()); + purchasePlanVO.setProductionPlanCodeList(codeList); + } + PurchasePlanDetail purchasePlanDetail = new PurchasePlanDetail(); purchasePlanDetail.setPlanId(purchasePlanVO.getPlanId()); getSupplierNames(purchasePlanVO); @@ -79,7 +100,20 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService { */ @Override public List selectPurchasePlanList(PurchasePlan purchasePlan) { - return purchasePlanMapper.selectPurchasePlanList(purchasePlan); + List list = purchasePlanMapper.selectPurchasePlanList(purchasePlan); + if(CollUtil.isNotEmpty(list)) { + for(PurchasePlanVO planVO : list) { + planVO.setIfBreakDown(false); + ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); + productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PURCHASE_TO_ORDER.getKey()); + productionPurchaseOrder.setPurchasePlanId(String.valueOf(planVO.getPlanCode())); + List productionPurchaseOrderList = productionPurchaseOrderService.selectProductionPurchaseOrderList(productionPurchaseOrder); + if(CollUtil.isNotEmpty(productionPurchaseOrderList)) { + planVO.setIfBreakDown(true); + } + } + } + return list; } private void getSupplierNames(PurchasePlanVO plan) { @@ -116,6 +150,7 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService { purchasePlan.setPlanId(null); purchasePlan.setCreateTime(DateUtils.getNowDate()); purchasePlan.setCreateBy(SecurityUtils.getUsername()); + purchasePlan.setProductionPlanId(purchasePlanAdd.getProductionPlanCode()); try { String purchasePlanCode = generatePurchasePlanCode(); purchasePlan.setPlanCode(purchasePlanCode); @@ -131,13 +166,13 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService { inspectGoodsDetailService.insertPurchasePlanDetail(purchasePlanDetail); } } - String productionPlanIdStr = purchasePlanAdd.getProductionPlanId(); - if(StringUtils.isNotBlank(productionPlanIdStr)) { - String[] productionPlanIds = productionPlanIdStr.split(","); - for(String productionPlanId : productionPlanIds) { + String productionPlanCodeStr = purchasePlanAdd.getProductionPlanCode(); + if(StringUtils.isNotBlank(productionPlanCodeStr)) { + String[] productionPlanCodes = productionPlanCodeStr.split(","); + for(String productionPlanCode : productionPlanCodes) { ProductionPurchaseOrder productionPurchaseOrder = new ProductionPurchaseOrder(); - productionPurchaseOrder.setProductionPlanId(productionPlanId); - productionPurchaseOrder.setPurchasePlanId(String.valueOf(purchasePlan.getPlanId())); + productionPurchaseOrder.setProductionPlanId(productionPlanCode); + productionPurchaseOrder.setPurchasePlanId(purchasePlan.getPlanCode()); productionPurchaseOrder.setOrderType(SupplierOrderGenerateTypeEnum.PRODUCTION_TO_PURCHASE.getKey()); productionPurchaseOrderService.insertProductionPurchaseOrder(productionPurchaseOrder); }