Merge branch 'feature/bug-883' into develop
This commit is contained in:
commit
136b14a74a
|
|
@ -344,7 +344,6 @@ public class InProduceOrderController extends BaseController {
|
||||||
}
|
}
|
||||||
List<String> materialNos = new ArrayList<>();
|
List<String> materialNos = new ArrayList<>();
|
||||||
List<InMaterialScanRecord> records = new ArrayList<>();
|
List<InMaterialScanRecord> records = new ArrayList<>();
|
||||||
List<Zwm00Mb107QO> input1 = new ArrayList<>();
|
|
||||||
datas.forEach(it -> {
|
datas.forEach(it -> {
|
||||||
BigDecimal num = BigDecimal.ZERO;
|
BigDecimal num = BigDecimal.ZERO;
|
||||||
InProduceOrderReceiveMaterialQO materialQO = request.getItems().stream().filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo())).findFirst().orElse(null);
|
InProduceOrderReceiveMaterialQO materialQO = request.getItems().stream().filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo())).findFirst().orElse(null);
|
||||||
|
|
@ -373,20 +372,6 @@ public class InProduceOrderController extends BaseController {
|
||||||
.setCreateBy(UserUtil.getUserName())
|
.setCreateBy(UserUtil.getUserName())
|
||||||
.setCreateTime(Instant.now())
|
.setCreateTime(Instant.now())
|
||||||
);
|
);
|
||||||
if (!order.getList()) {
|
|
||||||
Zwm00Mb107QO q = input1.stream().filter(ip -> StrUtil.equals(ip.getCHARG(), content.getBatchNo())).findFirst()
|
|
||||||
.orElseGet(() -> {
|
|
||||||
Zwm00Mb107QO qo = new Zwm00Mb107QO()
|
|
||||||
.setPWERK(it.getFactoryNo())
|
|
||||||
.setPSMNG(BigDecimal.ZERO)
|
|
||||||
.setAMEIN(it.getUnit())
|
|
||||||
.setLGORT(it.getWarehouseNo())
|
|
||||||
.setCHARG(content.getBatchNo());
|
|
||||||
input1.add(qo);
|
|
||||||
return qo;
|
|
||||||
});
|
|
||||||
q.setPSMNG(q.getPSMNG().add(content.getNum()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (num.compareTo(it.getNum()) != 0) {
|
if (num.compareTo(it.getNum()) != 0) {
|
||||||
materialNos.add(it.getMaterialNo());
|
materialNos.add(it.getMaterialNo());
|
||||||
|
|
@ -401,6 +386,37 @@ public class InProduceOrderController extends BaseController {
|
||||||
});
|
});
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos))
|
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos))
|
||||||
.throwMessage("以下物料的扫码数量与收货数量不一致:" + StrUtil.join(",", materialNos));
|
.throwMessage("以下物料的扫码数量与收货数量不一致:" + StrUtil.join(",", materialNos));
|
||||||
|
List<Zwm00Mb107QO> input1;
|
||||||
|
List<String> sernrs;
|
||||||
|
if (order.getList()) {
|
||||||
|
input1 = list.stream()
|
||||||
|
.filter(it -> Objects.equals(it.getParentId(), 0L))
|
||||||
|
.map(it -> new Zwm00Mb107QO()
|
||||||
|
.setPWERK(it.getFactoryNo())
|
||||||
|
.setPSMNG(it.getNum())
|
||||||
|
.setAMEIN(it.getUnit())
|
||||||
|
.setLGORT(it.getWarehouseNo())
|
||||||
|
.setCHARG(it.getBatchNo()))
|
||||||
|
.toList();
|
||||||
|
sernrs = list.stream()
|
||||||
|
.filter(it -> Objects.equals(it.getParentId(), 0L))
|
||||||
|
.map(InProduceOrderItemVO::getSernr)
|
||||||
|
.toList();
|
||||||
|
} else {
|
||||||
|
input1 = records.stream().collect(Collectors.groupingBy(InMaterialScanRecord::getBatchNo))
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.map(kv -> new Zwm00Mb107QO()
|
||||||
|
.setPWERK(kv.getValue().get(0).getFactoryNo())
|
||||||
|
.setPSMNG(kv.getValue().stream().map(InMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))
|
||||||
|
.setAMEIN(kv.getValue().get(0).getUnit())
|
||||||
|
.setLGORT(kv.getValue().get(0).getWarehouseNo())
|
||||||
|
.setCHARG(kv.getKey()))
|
||||||
|
.toList();
|
||||||
|
sernrs = records.stream()
|
||||||
|
.map(InMaterialScanRecord::getSerialNo)
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
inventoryService.in(input1.stream().map(it -> new InventoryDTO()
|
inventoryService.in(input1.stream().map(it -> new InventoryDTO()
|
||||||
.setMaterialNo(request.getItems().get(0).getMaterialNo())
|
.setMaterialNo(request.getItems().get(0).getMaterialNo())
|
||||||
.setNum(it.getPSMNG())
|
.setNum(it.getPSMNG())
|
||||||
|
|
@ -410,7 +426,7 @@ public class InProduceOrderController extends BaseController {
|
||||||
);
|
);
|
||||||
inMaterialScanRecordRespository.saveAll(records);
|
inMaterialScanRecordRespository.saveAll(records);
|
||||||
//同步入库信息到SAP
|
//同步入库信息到SAP
|
||||||
Zwm00Mb107DTO dto = sapService.zwm00_mb107(order.getOrderNo(), UserUtil.getUserName(), input1, null);
|
Zwm00Mb107DTO dto = sapService.zwm00_mb107(order.getOrderNo(), UserUtil.getUserName(), input1, sernrs);
|
||||||
order.setMblnr(dto.getE_MBLNR());
|
order.setMblnr(dto.getE_MBLNR());
|
||||||
order.setMjahr(dto.getE_MJAHR());
|
order.setMjahr(dto.getE_MJAHR());
|
||||||
order.setState((short) 1);
|
order.setState((short) 1);
|
||||||
|
|
|
||||||
|
|
@ -60,4 +60,9 @@ public class InProduceOrderItemVO {
|
||||||
* 批次号
|
* 批次号
|
||||||
*/
|
*/
|
||||||
private String batchNo;
|
private String batchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序列号
|
||||||
|
*/
|
||||||
|
private String sernr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue