refactor: 料单阶段性比较,料单项唯一性判断修改为和导入创建时一致

This commit is contained in:
hwd
2025-10-09 13:43:53 +08:00
parent b3284bdc84
commit 4398616175

View File

@@ -1229,8 +1229,22 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
for (MaterialOrder prevMaterialOrder : prevMaterialOrderList) {
List<MaterialOrderItem> prevItemList = materialOrderItemService.findByVersionNum(prevMaterialOrder.getVersionNum(), prevMaterialOrder.getId());
for (MaterialOrderItem prevItem : prevItemList){
String str = prevItem.getName()+"_"+prevItem.getUnitAccount()+"_"+prevItem.getSiteAccount()
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(materialOrder.getIgnoreLineAccount(), prevItem.getLineAccount()) +"_"+prevItem.getProductCode();
/*String str = prevItem.getName()+"_"+prevItem.getUnitAccount()+"_"+prevItem.getSiteAccount()
+"_"+ 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()+"_"+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)){
prevMap.put(str,prevItem.getCount());
prevMapM.put(str,prevItem);
@@ -1245,8 +1259,22 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
List<MaterialOrderItem> itemList = materialOrderItemService.findByVersionNum(materialOrder.getVersionNum(), materialOrder.getId());
int ind=0;
for (MaterialOrderItem item : itemList){
String str = item.getName()+"_"+item.getUnitAccount()+"_"+item.getSiteAccount()
+"_"+item.getLineAccount()+"_"+item.getProductCode();
/*String str = item.getName()+"_"+item.getUnitAccount()+"_"+item.getSiteAccount()
+"_"+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()+"_"+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())
ind=item.getInd();
if (prevMap.containsKey(str)){