|
|
|
@ -883,7 +883,7 @@ public class ChanjetManager {
|
|
|
|
|
|
|
|
|
|
// 子项目处理
|
|
|
|
|
// 相同物料累计数量
|
|
|
|
|
voList.stream().collect(Collectors.groupingBy(QuerySaleOrderListResDTO::getMaterialId)).forEach((mid, mList) -> {
|
|
|
|
|
voList.stream().collect(Collectors.groupingBy(QuerySaleOrderListResDTO::getMaterialCode)).forEach((mid, mList) -> {
|
|
|
|
|
ProjectOrderSubDO subDO = new ProjectOrderSubDO();
|
|
|
|
|
BeanUtil.copyProperties(mList.get(0), subDO);
|
|
|
|
|
|
|
|
|
@ -891,34 +891,36 @@ public class ChanjetManager {
|
|
|
|
|
|
|
|
|
|
for(SaleOrderDetail saleOrderDetail : saleOrder.getSaleOrderDetails()){
|
|
|
|
|
|
|
|
|
|
for(Integer idx=0;idx<saleOrderDetail.getDynamicPropertyValues().size();idx++){
|
|
|
|
|
if(saleOrderDetail.getDynamicPropertyKeys().get(idx).contains("freeItem".toLowerCase())
|
|
|
|
|
&& !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))){
|
|
|
|
|
|
|
|
|
|
String color = saleOrderDetail.getDynamicPropertyValues().get(idx);
|
|
|
|
|
|
|
|
|
|
MaterialDO materialDOWithColor = materialMapper.selectOne(new LambdaQueryWrapper<MaterialDO>(){{
|
|
|
|
|
eq(MaterialDO::getName,mList.get(0).getMaterialName());
|
|
|
|
|
eq(MaterialDO::getCode,mList.get(0).getMaterialCode());
|
|
|
|
|
eq(MaterialDO::getSpec,mList.get(0).getMaterialSpec());
|
|
|
|
|
eq(MaterialDO::getColor,color);
|
|
|
|
|
}});
|
|
|
|
|
if(materialDOWithColor== null){
|
|
|
|
|
materialDOWithColor = new MaterialDO();
|
|
|
|
|
materialDOWithColor.setCode(mList.get(0).getMaterialCode()+"-"+color);
|
|
|
|
|
materialDOWithColor.setName(mList.get(0).getMaterialName()+"-"+color);
|
|
|
|
|
materialDOWithColor.setShortName(mList.get(0).getMaterialName()+"-"+color);
|
|
|
|
|
materialDOWithColor.setColor(color);
|
|
|
|
|
materialDOWithColor.setSpec(mList.get(0).getMaterialSpec());
|
|
|
|
|
materialDOWithColor.setExternalCode(mList.get(0).getMaterialCode());
|
|
|
|
|
materialDOWithColor.setStatus(ValidStatusEnum.VALID.getCode());
|
|
|
|
|
materialDOWithColor.setUnit(mList.get(0).getUnit());
|
|
|
|
|
materialDOWithColor.setMaterialType(mList.get(0).getMaterialType());
|
|
|
|
|
materialDOWithColor.setInventoryProperty(6);
|
|
|
|
|
|
|
|
|
|
materialMapper.insert(materialDOWithColor);
|
|
|
|
|
|
|
|
|
|
subDO.setMaterialId(materialDOWithColor.getId());
|
|
|
|
|
if(saleOrderDetail.getInventory().getCode().equals(mid)) {
|
|
|
|
|
for (Integer idx = 0; idx < saleOrderDetail.getDynamicPropertyValues().size(); idx++) {
|
|
|
|
|
if (saleOrderDetail.getDynamicPropertyKeys().get(idx).contains("freeItem".toLowerCase())
|
|
|
|
|
&& !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))) {
|
|
|
|
|
|
|
|
|
|
String color = saleOrderDetail.getDynamicPropertyValues().get(idx);
|
|
|
|
|
|
|
|
|
|
MaterialDO materialDOWithColor = materialMapper.selectOne(new LambdaQueryWrapper<MaterialDO>() {{
|
|
|
|
|
eq(MaterialDO::getName, mList.get(0).getMaterialName());
|
|
|
|
|
eq(MaterialDO::getCode, mList.get(0).getMaterialCode());
|
|
|
|
|
eq(MaterialDO::getSpec, mList.get(0).getMaterialSpec());
|
|
|
|
|
eq(MaterialDO::getColor, color);
|
|
|
|
|
}});
|
|
|
|
|
if (materialDOWithColor == null) {
|
|
|
|
|
materialDOWithColor = new MaterialDO();
|
|
|
|
|
materialDOWithColor.setCode(mList.get(0).getMaterialCode() + "-" + color);
|
|
|
|
|
materialDOWithColor.setName(mList.get(0).getMaterialName() + "-" + color);
|
|
|
|
|
materialDOWithColor.setShortName(mList.get(0).getMaterialName() + "-" + color);
|
|
|
|
|
materialDOWithColor.setColor(color);
|
|
|
|
|
materialDOWithColor.setSpec(mList.get(0).getMaterialSpec());
|
|
|
|
|
materialDOWithColor.setExternalCode(mList.get(0).getMaterialCode());
|
|
|
|
|
materialDOWithColor.setStatus(ValidStatusEnum.VALID.getCode());
|
|
|
|
|
materialDOWithColor.setUnit(mList.get(0).getUnit());
|
|
|
|
|
materialDOWithColor.setMaterialType(mList.get(0).getMaterialType());
|
|
|
|
|
materialDOWithColor.setInventoryProperty(6);
|
|
|
|
|
|
|
|
|
|
materialMapper.insert(materialDOWithColor);
|
|
|
|
|
|
|
|
|
|
subDO.setMaterialId(materialDOWithColor.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|