Compare commits

..

3 Commits

5 changed files with 51 additions and 22 deletions

View File

@@ -4,7 +4,7 @@ import org.apache.commons.lang3.BooleanUtils;
public class MaterialOrderItemConsts {
// 根据当前阶段的是否考虑管线号,返回之前阶段的管线号
// 根据当前阶段的是否考虑管线号、隔热代号,返回之前阶段的管线号
public static String getPrevStageLineAccount(Boolean ignoreLineAccount, String prevStageLineAccount) {
return BooleanUtils.isTrue(ignoreLineAccount) ? "-" : prevStageLineAccount;
}

View File

@@ -481,7 +481,7 @@ public class MaterialOrderController extends BaseController {
return RespData.error("阶段不能为空");
}
if (ignoreLineAccount == null) {
return RespData.error("是否考虑管线号不能为空");
return RespData.error("是否考虑管线号隔热代号不能为空");
}
}
//获得文件名

View File

@@ -131,7 +131,7 @@ public class MaterialOrder extends OrderBase{
/** 是否创建订货单 */
private Boolean hasPurchaseOrder;
/** 匹配忽略管线号 */
/** 匹配忽略管线号、隔热代号 */
private Boolean ignoreLineAccount;
public String getName() {

View File

@@ -672,7 +672,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
+"_"+diameterLStr+"_"+wallThicknessSStr+"_"+materialOrderItem.getShortDescription()
+"_"+wallThicknessLStr+"_"+materialOrderItem.getMaterial()
+"_"+materialOrderItem.getMemo()+"_"+materialOrderItem.getSize()
+"_"+materialOrderItem.getSpecialRequest()+"_"+materialOrderItem.getInsulationCode()
+"_"+materialOrderItem.getSpecialRequest()+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(ignoreLineAccount, materialOrderItem.getInsulationCode())
+"_"+ MaterialOrderItemConsts.getPrevStageLineAccount(ignoreLineAccount, materialOrderItem.getLineAccount()) +"_"+materialOrderItem.getAreaAccount()
+"_"+materialOrderItem.getSiteAccount()+"_"+materialOrderItem.getUnitAccount()
+"_"+materialOrderItem.getProductCode()+"_"+materialOrderItem.getPurchaseCode()
@@ -896,7 +896,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
String endFace = ExcelUtil2.getCellValue(row.getCell(27));
String materialType = ExcelUtil2.getCellValue(row.getCell(28));
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 memo = ExcelUtil2.getCellValue(row.getCell(32));
String jacketSpec = ExcelUtil2.getCellValue(row.getCell(33));
@@ -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()+"_"+ 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)){
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()+"_"+ 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())
ind=item.getInd();
if (prevMap.containsKey(str)){
@@ -1341,7 +1369,7 @@ public class MaterialOrderService extends BaseOrderService<MaterialOrder, Long>
materialOrderItem.setPressureLevel(entry.getValue().getPressureLevel());
materialOrderItem.setEndFace(entry.getValue().getEndFace());
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.setMaterialType(entry.getValue().getMaterialType());
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 supplierProductInd = Optional.ofNullable(supplierProduct.getInd()).orElse(Integer.MAX_VALUE);
if (ind == null) {
if (maxInd == null) {
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
maxInd = supplierProduct.getInd();
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
maxInd = supplierProductInd;
maxIndSupplier = supplierProduct.getSupplier().getId();
} else {
if (indMap.size() >= number && supplierProduct.getInd().compareTo(maxInd) < 0) {
if (indMap.size() >= number && supplierProductInd.compareTo(maxInd) < 0) {
indMap.remove(maxIndSupplier);
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
maxInd = supplierProduct.getInd();
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
maxInd = supplierProductInd;
maxIndSupplier = supplierProduct.getSupplier().getId();
}else if(indMap.size()<number){
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
if (supplierProduct.getInd().compareTo(maxInd)>0){
maxInd = supplierProduct.getInd();
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
if (supplierProductInd.compareTo(maxInd)>0){
maxInd = supplierProductInd;
maxIndSupplier = supplierProduct.getSupplier().getId();
}
}
}
} else if (ind.compareTo(supplierProduct.getInd()) > 0) {
indMap.put(supplierProduct.getSupplier().getId(), supplierProduct.getInd());
} else if (ind.compareTo(supplierProductInd) > 0) {
indMap.put(supplierProduct.getSupplier().getId(), supplierProductInd);
}
}
}

View File

@@ -83,7 +83,7 @@
<div class="submitBody-row">
<div class="submitBody-row-position">
<div class="input-wrapper required">
<label>是否考虑管线号</label>
<label>是否考虑管线号隔热代号</label>
<select id="ignoreLineAccount" name="ignoreLineAccount" data-init="false">
<option value="false"></option>
<option value="true"></option>
@@ -119,7 +119,7 @@
return;
}
if ($("#ignoreLineAccount").val() == null ||$("#ignoreLineAccount").val() == "null"){
Dialog.error("是否考虑管线号不能为空");
Dialog.error("是否考虑管线号隔热代号不能为空");
return;
}
if (!check()) {