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

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