|
|
|
@@ -672,7 +672,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
+"_"+diameterLStr+"_"+wallThicknessSStr+"_"+materialOrderItem.getShortDescription()
|
|
|
|
+"_"+diameterLStr+"_"+wallThicknessSStr+"_"+materialOrderItem.getShortDescription()
|
|
|
|
+"_"+wallThicknessLStr+"_"+materialOrderItem.getMaterial()
|
|
|
|
+"_"+wallThicknessLStr+"_"+materialOrderItem.getMaterial()
|
|
|
|
+"_"+materialOrderItem.getMemo()+"_"+materialOrderItem.getSize()
|
|
|
|
+"_"+materialOrderItem.getMemo()+"_"+materialOrderItem.getSize()
|
|
|
|
+"_"+materialOrderItem.getSpecialRequest()+"_"+materialOrderItem.getInsulationCode()
|
|
|
|
+"_"+materialOrderItem.getSpecialRequest()+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(ignoreLineAccount, materialOrderItem.getInsulationCode())
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(ignoreLineAccount, materialOrderItem.getLineAccount()) +"_"+materialOrderItem.getAreaAccount()
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(ignoreLineAccount, materialOrderItem.getLineAccount()) +"_"+materialOrderItem.getAreaAccount()
|
|
|
|
+"_"+materialOrderItem.getSiteAccount()+"_"+materialOrderItem.getUnitAccount()
|
|
|
|
+"_"+materialOrderItem.getSiteAccount()+"_"+materialOrderItem.getUnitAccount()
|
|
|
|
+"_"+materialOrderItem.getProductCode()+"_"+materialOrderItem.getPurchaseCode()
|
|
|
|
+"_"+materialOrderItem.getProductCode()+"_"+materialOrderItem.getPurchaseCode()
|
|
|
|
@@ -896,7 +896,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
String endFace = ExcelUtil2.getCellValue(row.getCell(27));
|
|
|
|
String endFace = ExcelUtil2.getCellValue(row.getCell(27));
|
|
|
|
String materialType = ExcelUtil2.getCellValue(row.getCell(28));
|
|
|
|
String materialType = ExcelUtil2.getCellValue(row.getCell(28));
|
|
|
|
String material = ExcelUtil2.getCellValue(row.getCell(29));
|
|
|
|
String material = ExcelUtil2.getCellValue(row.getCell(29));
|
|
|
|
String insulationCode = ExcelUtil2.getCellValue(row.getCell(30));
|
|
|
|
String insulationCode = BooleanUtils.isTrue(ignoreLineAccount) ? "-" : ExcelUtil2.getCellValue(row.getCell(30));
|
|
|
|
String specialRequest = ExcelUtil2.getCellValue(row.getCell(31));
|
|
|
|
String specialRequest = ExcelUtil2.getCellValue(row.getCell(31));
|
|
|
|
String memo = ExcelUtil2.getCellValue(row.getCell(32));
|
|
|
|
String memo = ExcelUtil2.getCellValue(row.getCell(32));
|
|
|
|
String jacketSpec = ExcelUtil2.getCellValue(row.getCell(33));
|
|
|
|
String jacketSpec = ExcelUtil2.getCellValue(row.getCell(33));
|
|
|
|
@@ -1229,8 +1229,22 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
for (MaterialOrder prevMaterialOrder : prevMaterialOrderList) {
|
|
|
|
for (MaterialOrder prevMaterialOrder : prevMaterialOrderList) {
|
|
|
|
List<MaterialOrderItem> prevItemList = materialOrderItemService.findByVersionNum(prevMaterialOrder.getVersionNum(), prevMaterialOrder.getId());
|
|
|
|
List<MaterialOrderItem> prevItemList = materialOrderItemService.findByVersionNum(prevMaterialOrder.getVersionNum(), prevMaterialOrder.getId());
|
|
|
|
for (MaterialOrderItem prevItem : prevItemList){
|
|
|
|
for (MaterialOrderItem prevItem : prevItemList){
|
|
|
|
String str = prevItem.getName()+"_"+prevItem.getUnitAccount()+"_"+prevItem.getSiteAccount()
|
|
|
|
/*String str = prevItem.getName()+"_"+prevItem.getUnitAccount()+"_"+prevItem.getSiteAccount()
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), prevItem.getLineAccount()) +"_"+prevItem.getProductCode();
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), prevItem.getLineAccount()) +"_"+prevItem.getProductCode();*/
|
|
|
|
|
|
|
|
String diameterSStr = prevItem.getDiameterS()==null?"null":prevItem.getDiameterS().stripTrailingZeros().toString();
|
|
|
|
|
|
|
|
String diameterLStr = prevItem.getDiameterL()==null?"null":prevItem.getDiameterL().stripTrailingZeros().toString();
|
|
|
|
|
|
|
|
String wallThicknessSStr = prevItem.getWallThicknessS()==null?"null":prevItem.getWallThicknessS();
|
|
|
|
|
|
|
|
String wallThicknessLStr = prevItem.getWallThicknessL()==null?"null":prevItem.getWallThicknessL();
|
|
|
|
|
|
|
|
String str = prevItem.getName()+"_"+prevItem.getProductId()+"_"+diameterSStr
|
|
|
|
|
|
|
|
+"_"+diameterLStr+"_"+wallThicknessSStr+"_"+prevItem.getShortDescription()
|
|
|
|
|
|
|
|
+"_"+wallThicknessLStr+"_"+prevItem.getMaterial()
|
|
|
|
|
|
|
|
+"_"+prevItem.getMemo()+"_"+prevItem.getSize()
|
|
|
|
|
|
|
|
+"_"+prevItem.getSpecialRequest()+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), prevItem.getInsulationCode())
|
|
|
|
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), prevItem.getLineAccount()) +"_"+prevItem.getAreaAccount()
|
|
|
|
|
|
|
|
+"_"+prevItem.getSiteAccount()+"_"+prevItem.getUnitAccount()
|
|
|
|
|
|
|
|
+"_"+prevItem.getProductCode()+"_"+prevItem.getPurchaseCode()
|
|
|
|
|
|
|
|
+"_"+prevItem.getMakeCode()+"_"+prevItem.getMaterialType()
|
|
|
|
|
|
|
|
+"_"+prevItem.getEndFace()+"_"+prevItem.getPressureLevel();
|
|
|
|
if (!prevMap.containsKey(str)){
|
|
|
|
if (!prevMap.containsKey(str)){
|
|
|
|
prevMap.put(str,prevItem.getCount());
|
|
|
|
prevMap.put(str,prevItem.getCount());
|
|
|
|
prevMapM.put(str,prevItem);
|
|
|
|
prevMapM.put(str,prevItem);
|
|
|
|
@@ -1245,8 +1259,22 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
List<MaterialOrderItem> itemList = materialOrderItemService.findByVersionNum(materialOrder.getVersionNum(), materialOrder.getId());
|
|
|
|
List<MaterialOrderItem> itemList = materialOrderItemService.findByVersionNum(materialOrder.getVersionNum(), materialOrder.getId());
|
|
|
|
int ind=0;
|
|
|
|
int ind=0;
|
|
|
|
for (MaterialOrderItem item : itemList){
|
|
|
|
for (MaterialOrderItem item : itemList){
|
|
|
|
String str = item.getName()+"_"+item.getUnitAccount()+"_"+item.getSiteAccount()
|
|
|
|
/*String str = item.getName()+"_"+item.getUnitAccount()+"_"+item.getSiteAccount()
|
|
|
|
+"_"+item.getLineAccount()+"_"+item.getProductCode();
|
|
|
|
+"_"+item.getLineAccount()+"_"+item.getProductCode();*/
|
|
|
|
|
|
|
|
String diameterSStr = item.getDiameterS()==null?"null":item.getDiameterS().stripTrailingZeros().toString();
|
|
|
|
|
|
|
|
String diameterLStr = item.getDiameterL()==null?"null":item.getDiameterL().stripTrailingZeros().toString();
|
|
|
|
|
|
|
|
String wallThicknessSStr = item.getWallThicknessS()==null?"null":item.getWallThicknessS();
|
|
|
|
|
|
|
|
String wallThicknessLStr = item.getWallThicknessL()==null?"null":item.getWallThicknessL();
|
|
|
|
|
|
|
|
String str = item.getName()+"_"+item.getProductId()+"_"+diameterSStr
|
|
|
|
|
|
|
|
+"_"+diameterLStr+"_"+wallThicknessSStr+"_"+item.getShortDescription()
|
|
|
|
|
|
|
|
+"_"+wallThicknessLStr+"_"+item.getMaterial()
|
|
|
|
|
|
|
|
+"_"+item.getMemo()+"_"+item.getSize()
|
|
|
|
|
|
|
|
+"_"+item.getSpecialRequest()+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), item.getInsulationCode())
|
|
|
|
|
|
|
|
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), item.getLineAccount()) +"_"+item.getAreaAccount()
|
|
|
|
|
|
|
|
+"_"+item.getSiteAccount()+"_"+item.getUnitAccount()
|
|
|
|
|
|
|
|
+"_"+item.getProductCode()+"_"+item.getPurchaseCode()
|
|
|
|
|
|
|
|
+"_"+item.getMakeCode()+"_"+item.getMaterialType()
|
|
|
|
|
|
|
|
+"_"+item.getEndFace()+"_"+item.getPressureLevel();
|
|
|
|
if (ind<item.getInd())
|
|
|
|
if (ind<item.getInd())
|
|
|
|
ind=item.getInd();
|
|
|
|
ind=item.getInd();
|
|
|
|
if (prevMap.containsKey(str)){
|
|
|
|
if (prevMap.containsKey(str)){
|
|
|
|
@@ -1341,7 +1369,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
materialOrderItem.setPressureLevel(entry.getValue().getPressureLevel());
|
|
|
|
materialOrderItem.setPressureLevel(entry.getValue().getPressureLevel());
|
|
|
|
materialOrderItem.setEndFace(entry.getValue().getEndFace());
|
|
|
|
materialOrderItem.setEndFace(entry.getValue().getEndFace());
|
|
|
|
materialOrderItem.setMaterial(entry.getValue().getMaterial());
|
|
|
|
materialOrderItem.setMaterial(entry.getValue().getMaterial());
|
|
|
|
materialOrderItem.setInsulationCode(entry.getValue().getInsulationCode());
|
|
|
|
materialOrderItem.setInsulationCode(MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), entry.getValue().getInsulationCode()));
|
|
|
|
materialOrderItem.setSpecialRequest(entry.getValue().getSpecialRequest());
|
|
|
|
materialOrderItem.setSpecialRequest(entry.getValue().getSpecialRequest());
|
|
|
|
materialOrderItem.setMaterialType(entry.getValue().getMaterialType());
|
|
|
|
materialOrderItem.setMaterialType(entry.getValue().getMaterialType());
|
|
|
|
materialOrderItem.setMakeCode(entry.getValue().getMakeCode());
|
|
|
|
materialOrderItem.setMakeCode(entry.getValue().getMakeCode());
|
|
|
|
@@ -2476,27 +2504,28 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//确认供应商列表
|
|
|
|
//确认供应商列表
|
|
|
|
Integer ind = indMap.getOrDefault(supplierProduct.getSupplier().getId(), null);
|
|
|
|
Integer ind = indMap.getOrDefault(supplierProduct.getSupplier().getId(), null);
|
|
|
|
|
|
|
|
Integer supplierProductInd = Optional.ofNullable(supplierProduct.getInd()).orElse(Integer.MAX_VALUE);
|
|
|
|
if (ind == null) {
|
|
|
|
if (ind == null) {
|
|
|
|
if (maxInd == null) {
|
|
|
|
if (maxInd == null) {
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
|
|
|
|
maxInd = supplierProduct.getInd();
|
|
|
|
maxInd = supplierProductInd;
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (indMap.size() >= number && supplierProduct.getInd().compareTo(maxInd) < 0) {
|
|
|
|
if (indMap.size() >= number && supplierProductInd.compareTo(maxInd) < 0) {
|
|
|
|
indMap.remove(maxIndSupplier);
|
|
|
|
indMap.remove(maxIndSupplier);
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
|
|
|
|
maxInd = supplierProduct.getInd();
|
|
|
|
maxInd = supplierProductInd;
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
}else if(indMap.size()<number){
|
|
|
|
}else if(indMap.size()<number){
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
|
|
|
|
if (supplierProduct.getInd().compareTo(maxInd)>0){
|
|
|
|
if (supplierProductInd.compareTo(maxInd)>0){
|
|
|
|
maxInd = supplierProduct.getInd();
|
|
|
|
maxInd = supplierProductInd;
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
maxIndSupplier = supplierProduct.getSupplier().getId();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (ind.compareTo(supplierProduct.getInd()) > 0) {
|
|
|
|
} else if (ind.compareTo(supplierProductInd) > 0) {
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
|
|
|
|
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|