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

dev
siontion 2 months ago
parent c05742ad45
commit 0345054a1b

@ -573,7 +573,7 @@ public class ChanjetManager {
// materialIds.addAll(dataGroupById.keySet()); // materialIds.addAll(dataGroupById.keySet());
List<MaterialDO> doList = materialMapper.selectList(new LambdaQueryWrapper<MaterialDO>() {{ 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)); 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.setExternalId(values.get(0));
resDTO.setExternalCode(values.get(1)); resDTO.setExternalCode(values.get(1));
resDTO.setCustomerId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(2))); resDTO.setCustomerId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(2)));
// MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9)); MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9));
// if(materialDOByCode!=null){ if(materialDOByCode!=null){
// resDTO.setMaterialId(materialDOByCode.getId()); resDTO.setMaterialId(materialDOByCode.getId());
// } }else{
resDTO.setMaterialId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(3))); 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.setUnit(values.get(4));
resDTO.setAmount(new BigDecimal(values.get(5)).intValue()); resDTO.setAmount(new BigDecimal(values.get(5)).intValue());
resDTO.setWarehouseId(StringUtils.isEmpty(values.get(6)) ? null : ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(6))); 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)) { if(saleOrderDetail.getInventory().getCode().equals(mid)) {
for (Integer idx = 0; idx < saleOrderDetail.getDynamicPropertyValues().size(); idx++) { 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))) { && !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))) {
String color = 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++) { 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))) { && !StringUtils.isEmpty(topLayer.getDynamicPropertyValues().get(idx))) {
String color = 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++) { 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))) { && !StringUtils.isEmpty(dto.getDynamicPropertyValues().get(idx))) {
String color = dto.getDynamicPropertyValues().get(idx); String color = dto.getDynamicPropertyValues().get(idx);
@ -440,11 +440,13 @@ public class ChanjetSchedule {
if(dataList == null) dataList = new ArrayList<>(16); if(dataList == null) dataList = new ArrayList<>(16);
dataList.forEach(ro->{ dataList.forEach(ro->{
TplusLastestStockDO tplusLastestStockDO = tplusLastestStockMapper.selectOne(TplusLastestStockDO::getWarehouseCode,ro.getWarehouseCode(),TplusLastestStockDO::getInventoryCode,ro.getInventoryCode()); TplusLastestStockDO tplusLastestStockDO = tplusLastestStockMapper.selectOne(TplusLastestStockDO::getWarehouseCode,ro.getWarehouseCode(),TplusLastestStockDO::getInventoryCode,ro.getInventoryCode());
MaterialDO materialDO = materialMapper.selectOne(MaterialDO::getCode,ro.getInventoryCode());
if(tplusLastestStockDO== null){ if(tplusLastestStockDO== null){
tplusLastestStockDO = new TplusLastestStockDO(); tplusLastestStockDO = new TplusLastestStockDO();
tplusLastestStockDO.setId(null); tplusLastestStockDO.setId(null);
tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2()); 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.setWarehouseCode(ro.getWarehouseCode());
tplusLastestStockDO.setWarehouseName(ro.getWarehouseName()); tplusLastestStockDO.setWarehouseName(ro.getWarehouseName());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());
@ -461,7 +463,8 @@ public class ChanjetSchedule {
// insertList.add(newDo); // insertList.add(newDo);
}else{ }else{
tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2()); 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.setWarehouseCode(ro.getWarehouseCode());
tplusLastestStockDO.setWarehouseName(ro.getWarehouseName()); tplusLastestStockDO.setWarehouseName(ro.getWarehouseName());
tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());

Loading…
Cancel
Save