解决bug:解决其它入库单据中的再次保存的空指针异常

This commit is contained in:
jishenghua
2024-05-15 22:22:34 +08:00
parent 8950be4c6c
commit a57ece0a36

View File

@@ -278,12 +278,14 @@ public class DepotItemService {
DepotItem depotItem = new DepotItem(); DepotItem depotItem = new DepotItem();
try{ try{
DepotHead depotHead = depotHeadService.getDepotHead(linkStr); DepotHead depotHead = depotHeadService.getDepotHead(linkStr);
if(null!=depotHead && null!=depotHead.getId()) {
DepotItemExample example = new DepotItemExample(); DepotItemExample example = new DepotItemExample();
example.createCriteria().andHeaderIdEqualTo(depotHead.getId()).andMaterialExtendIdEqualTo(meId).andIdEqualTo(linkId).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); example.createCriteria().andHeaderIdEqualTo(depotHead.getId()).andMaterialExtendIdEqualTo(meId).andIdEqualTo(linkId).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
List<DepotItem> list = depotItemMapper.selectByExample(example); List<DepotItem> list = depotItemMapper.selectByExample(example);
if(list!=null && list.size()>0) { if(list!=null && list.size()>0) {
depotItem = list.get(0); depotItem = list.get(0);
} }
}
}catch(Exception e){ }catch(Exception e){
JshException.readFail(logger, e); JshException.readFail(logger, e);
} }
@@ -543,6 +545,7 @@ public class DepotItemService {
//在更新模式进行状态赋值 //在更新模式进行状态赋值
String unit = rowObj.get("unit").toString(); String unit = rowObj.get("unit").toString();
Long preHeaderId = depotHeadService.getDepotHead(linkStr).getId(); Long preHeaderId = depotHeadService.getDepotHead(linkStr).getId();
if(null!=preHeaderId) {
//前一个单据的数量 //前一个单据的数量
BigDecimal preNumber = getPreItemByHeaderIdAndMaterial(linkStr, depotItem.getMaterialExtendId(), depotItem.getLinkId()).getOperNumber(); BigDecimal preNumber = getPreItemByHeaderIdAndMaterial(linkStr, depotItem.getMaterialExtendId(), depotItem.getLinkId()).getOperNumber();
//除去此单据之外的已入库|已出库 //除去此单据之外的已入库|已出库
@@ -555,6 +558,7 @@ public class DepotItemService {
} }
} }
} }
}
if (StringUtil.isExist(rowObj.get("unitPrice"))) { if (StringUtil.isExist(rowObj.get("unitPrice"))) {
BigDecimal unitPrice = rowObj.getBigDecimal("unitPrice"); BigDecimal unitPrice = rowObj.getBigDecimal("unitPrice");
depotItem.setUnitPrice(unitPrice); depotItem.setUnitPrice(unitPrice);