【获取订单和物料】更新物料颜色

dev
siontion 3 months ago
parent 5c901bbf1d
commit b5fc4cd4d5

@ -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());
}
}
}
}

@ -175,8 +175,8 @@ public class ChanjetSchedule {
@Transactional(rollbackFor = Exception.class)
public void queryProcessBom(String projectOrderCode) throws ChanjetApiException {
TenantContextHolder.setTenantId(new Long(2));
// 存在新物料标记位
final Boolean[] hasNewMat = {false};
// // 存在新物料标记位
// final Boolean[] hasNewMat = {false};
ProjectOrderDO projectOrderDO = projectOrderMapper.selectOne(ProjectOrderDO::getCode,projectOrderCode);
List<ProjectOrderSubDO> projectOrderSubDOS = projectOrderSubMapper.selectListAll(projectOrderCode);
List<String> codes = new ArrayList<>();
@ -186,11 +186,11 @@ public class ChanjetSchedule {
List<BomMaterialVO> bomMaterialVOS = queryProcessBom(so.getProjectSubCode(), so.getWarehouseId());
if (CollUtil.isNotEmpty(bomMaterialVOS)) {
bomMaterialVOS.forEach(mo->{
if(materialMapper.selectOne(MaterialDO::getCode,mo.getProjectSubCode())==null){
hasNewMat[0] = true;
}
});
// bomMaterialVOS.forEach(mo->{
// if(materialMapper.selectOne(MaterialDO::getCode,mo.getProjectSubCode())==null){
// hasNewMat[0] = true;
// }
// });
List<TplusLastestBomDO> insertList = BeanUtils.toBean(bomMaterialVOS, TplusLastestBomDO.class);

Loading…
Cancel
Save