【物料在订单,BOM的新增处理】

dev
siontion 2 months ago
parent c05742ad45
commit 0345054a1b

@ -573,7 +573,7 @@ public class ChanjetManager {
// materialIds.addAll(dataGroupById.keySet());
List<MaterialDO> doList = materialMapper.selectList(new LambdaQueryWrapper<MaterialDO>() {{
in(MaterialDO::getId, dataGroupById.keySet());
in(MaterialDO::getCode, dataGroupById.keySet());
}});
Map<String, List<MaterialDO>> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(MaterialDO::getCode));
@ -822,11 +822,25 @@ public class ChanjetManager {
resDTO.setExternalId(values.get(0));
resDTO.setExternalCode(values.get(1));
resDTO.setCustomerId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(2)));
// MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9));
// if(materialDOByCode!=null){
// resDTO.setMaterialId(materialDOByCode.getId());
// }
resDTO.setMaterialId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(3)));
MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9));
if(materialDOByCode!=null){
resDTO.setMaterialId(materialDOByCode.getId());
}else{
materialDOByCode = new MaterialDO();
materialDOByCode.setCode(values.get(9));
materialDOByCode.setName(values.get(10));
materialDOByCode.setShortName(values.get(10));
materialDOByCode.setSpec(values.get(11));
materialDOByCode.setExternalCode(values.get(9));
materialDOByCode.setStatus(ValidStatusEnum.VALID.getCode());
materialDOByCode.setUnit(values.get(4));
materialDOByCode.setMaterialType(values.get(12));
materialDOByCode.setInventoryProperty(6);
materialMapper.insert(materialDOByCode);
resDTO.setMaterialId(materialDOByCode.getId());
}
// resDTO.setMaterialId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(3)));
resDTO.setUnit(values.get(4));
resDTO.setAmount(new BigDecimal(values.get(5)).intValue());
resDTO.setWarehouseId(StringUtils.isEmpty(values.get(6)) ? null : ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(6)));
@ -899,7 +913,7 @@ public class ChanjetManager {
if(saleOrderDetail.getInventory().getCode().equals(mid)) {
for (Integer idx = 0; idx < saleOrderDetail.getDynamicPropertyValues().size(); idx++) {
if (saleOrderDetail.getDynamicPropertyKeys().get(idx).contains("freeItem0".toLowerCase())
if (saleOrderDetail.getDynamicPropertyKeys().get(idx).equals("freeItem0".toLowerCase())
&& !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))) {
String color = saleOrderDetail.getDynamicPropertyValues().get(idx);

@ -245,7 +245,7 @@ public class ChanjetSchedule {
// 判断物料编码+物料名称+规格+颜色是否存在
for (Integer idx = 0; idx < topLayer.getDynamicPropertyValues().size(); idx++) {
if (topLayer.getDynamicPropertyKeys().get(idx).contains("freeItem0".toLowerCase())
if (topLayer.getDynamicPropertyKeys().get(idx).equals("freeItem0".toLowerCase())
&& !StringUtils.isEmpty(topLayer.getDynamicPropertyValues().get(idx))) {
String color = topLayer.getDynamicPropertyValues().get(idx);
@ -354,7 +354,7 @@ public class ChanjetSchedule {
//判断物料编码+物料名称+规格+颜色是否存在
// 判断物料编码+物料名称+规格+颜色是否存在
for (Integer idx = 0; idx < dto.getDynamicPropertyValues().size(); idx++) {
if (dto.getDynamicPropertyKeys().get(idx).contains("freeitem0".toLowerCase())
if (dto.getDynamicPropertyKeys().get(idx).equals("freeitem0".toLowerCase())
&& !StringUtils.isEmpty(dto.getDynamicPropertyValues().get(idx))) {
String color = dto.getDynamicPropertyValues().get(idx);
@ -440,11 +440,13 @@ public class ChanjetSchedule {
if(dataList == null) dataList = new ArrayList<>(16);
dataList.forEach(ro->{
TplusLastestStockDO tplusLastestStockDO = tplusLastestStockMapper.selectOne(TplusLastestStockDO::getWarehouseCode,ro.getWarehouseCode(),TplusLastestStockDO::getInventoryCode,ro.getInventoryCode());
MaterialDO materialDO = materialMapper.selectOne(MaterialDO::getCode,ro.getInventoryCode());
if(tplusLastestStockDO== null){
tplusLastestStockDO = new TplusLastestStockDO();
tplusLastestStockDO.setId(null);
tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2());
tplusLastestStockDO.setInventoryId(ro.getInventoryID2());
// tplusLastestStockDO.setInventoryId(ro.getInventoryID2());
tplusLastestStockDO.setInventoryId(materialDO==null?null:materialDO.getId().toString());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());
tplusLastestStockDO.setWarehouseName(ro.getWarehouseName());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());
@ -461,7 +463,8 @@ public class ChanjetSchedule {
// insertList.add(newDo);
}else{
tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2());
tplusLastestStockDO.setInventoryId(ro.getInventoryID2());
// tplusLastestStockDO.setInventoryId(ro.getInventoryID2());
tplusLastestStockDO.setInventoryId(materialDO==null?null:materialDO.getId().toString());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());
tplusLastestStockDO.setWarehouseName(ro.getWarehouseName());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());

Loading…
Cancel
Save