新增接口,插入采购计划(含明细)

This commit is contained in:
JR
2025-07-19 09:49:44 +08:00
parent b09733d575
commit 69e1178fee
3 changed files with 41 additions and 5 deletions

View File

@@ -36,6 +36,13 @@ public class WmsPurchasePlanController extends BaseController {
private final IWmsPurchasePlanService iWmsPurchasePlanService;
/**
* 新增采购计划(含明细)
*/
@PostMapping("/addWithDetails")
public R<Void> addPurchasePlan(@RequestBody WmsPurchasePlanVo planVo) {
return toAjax(iWmsPurchasePlanService.insertWithDetails(planVo));
}
/**
* 根据订单ID生成推荐采购计划只返回不落库
*/

View File

@@ -17,6 +17,11 @@ import java.util.List;
*/
public interface IWmsPurchasePlanService {
/**
* 新增采购计划(含明细)
*/
Boolean insertWithDetails(WmsPurchasePlanVo planVo);
/**
* 根据订单ID生成推荐采购计划只返回不落库
*/
@@ -51,4 +56,5 @@ public interface IWmsPurchasePlanService {
* 校验并批量删除采购计划主信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -7,21 +7,22 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsOrderDetail;
import com.klp.domain.WmsProductBom;
import com.klp.domain.WmsPurchasePlanDetail;
import com.klp.domain.vo.WmsOrderDetailVo;
import com.klp.domain.vo.WmsPurchasePlanDetailVo;
import com.klp.service.IWmsOrderDetailService;
import com.klp.service.IWmsProductBomService;
import com.klp.service.IWmsStockService;
import com.klp.mapper.WmsPurchasePlanDetailMapper;
import com.klp.service.*;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsPurchasePlanBo;
import com.klp.domain.vo.WmsPurchasePlanVo;
import com.klp.domain.WmsPurchasePlan;
import com.klp.mapper.WmsPurchasePlanMapper;
import com.klp.service.IWmsPurchasePlanService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
@@ -43,6 +44,28 @@ public class WmsPurchasePlanServiceImpl implements IWmsPurchasePlanService {
private final IWmsStockService wmsStockService;
@Resource
private WmsPurchasePlanDetailMapper wmsPurchasePlanDetailMapper;
@Transactional
@Override
public Boolean insertWithDetails(WmsPurchasePlanVo planVo) {
// 1. 保存主表
WmsPurchasePlan plan = new WmsPurchasePlan();
BeanUtils.copyProperties(planVo, plan);
int flag = 0;
flag += baseMapper.insert(plan);
// 2. 保存明细表
for (WmsPurchasePlanDetailVo detailVo : planVo.getDetailList()) {
WmsPurchasePlanDetail detail = new WmsPurchasePlanDetail();
BeanUtils.copyProperties(detailVo, detail);
detail.setPlanId(plan.getPlanId()); // 关联主表ID
flag += wmsPurchasePlanDetailMapper.insert(detail);
}
return flag > 0;
}
@Override
public WmsPurchasePlanVo recommendPurchasePlanByOrder(Long orderId) {
// 1. 查询订单明细