生产订单入库如果是齐套物料,子项的数量改为比例而不是总数

This commit is contained in:
曹鹏飞 2026-04-02 14:06:45 +08:00
parent a9cbdbed26
commit 2a8d96a14a
1 changed files with 22 additions and 16 deletions

View File

@ -22,9 +22,13 @@ import com.nflg.wms.common.pojo.vo.InProduceOrderItemVO;
import com.nflg.wms.common.pojo.vo.InProduceOrderMaterialVO;
import com.nflg.wms.common.pojo.vo.InProduceOrderVO;
import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.common.util.NumberUtil;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.entity.WmsBom;
import com.nflg.wms.repository.entity.WmsInProduceOrder;
import com.nflg.wms.repository.entity.WmsInProduceOrderItem;
import com.nflg.wms.repository.entity.WmsQrCodeMaster;
import com.nflg.wms.repository.service.*;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
@ -167,7 +171,7 @@ public class InProduceOrderController extends BaseController {
.setId(IdUtil.getSnowflakeNextId())
.setOrderId(order.getId())
.setParentId(parent.getId())
.setNum(request.getNum().multiply(it.getNum()))
.setNum(it.getNum())
.setMaterialNo(it.getNo())
.setMaterialDesc(it.getDescribe())
.setUnit(request.getMeins())
@ -187,7 +191,7 @@ public class InProduceOrderController extends BaseController {
.setMaterialCode(it.getMaterialNo())
.setMaterialDescription(it.getMaterialDesc())
.setPackagingType((short) 0)
.setQuantity(it.getNum())
.setQuantity(NumberUtil.multiply(it.getNum(), parent.getNum()))
.setUnit(it.getUnit())
.setBatchNo(it.getBatchNo())
.setSerialNo(it.getSernr())
@ -424,12 +428,14 @@ public class InProduceOrderController extends BaseController {
List<InProduceOrderItemVO> datas;
if (order.getList()) {
datas = new ArrayList<>();
list.stream().filter(it -> Objects.equals(it.getParentId(), 0L)).forEach(it -> {
list.stream().filter(it -> Objects.equals(it.getParentId(), 0L))
.forEach(it -> {
List<InProduceOrderItemVO> children = list.stream()
.filter(child -> Objects.equals(child.getParentId(), it.getId()))
.toList();
Integer type = bomService.getScanType(it.getMaterialNo());
children.forEach(child -> {
child.setNum(NumberUtil.multiply(child.getNum(), it.getNum()));
child.setQiTao(false);
if (Objects.equals(type, 0)) {
child.setMustScan(false);