解决序列号会重复新增的bug

This commit is contained in:
季圣华
2021-10-02 21:59:25 +08:00
parent 319d10dc2e
commit 47bda02035

View File

@@ -473,17 +473,25 @@ public class SerialNumberService {
public void addSerialNumberByBill(Long materialId, Long depotId, String snList) throws Exception { public void addSerialNumberByBill(Long materialId, Long depotId, String snList) throws Exception {
List<String> snArr = StringUtil.strToStringList(snList); List<String> snArr = StringUtil.strToStringList(snList);
for(String sn: snArr) { for(String sn: snArr) {
List<SerialNumber> list = new ArrayList<>();
SerialNumberExample example = new SerialNumberExample();
example.createCriteria().andMaterialIdEqualTo(materialId).andSerialNumberEqualTo(sn)
.andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
list = serialNumberMapper.selectByExample(example);
//判断如果不存在重复序列号就新增
if(list == null || list.size() == 0) {
SerialNumber serialNumber = new SerialNumber(); SerialNumber serialNumber = new SerialNumber();
serialNumber.setMaterialId(materialId); serialNumber.setMaterialId(materialId);
serialNumber.setDepotId(depotId); serialNumber.setDepotId(depotId);
serialNumber.setSerialNumber(sn); serialNumber.setSerialNumber(sn);
Date date=new Date(); Date date = new Date();
serialNumber.setCreateTime(date); serialNumber.setCreateTime(date);
serialNumber.setUpdateTime(date); serialNumber.setUpdateTime(date);
User userInfo=userService.getCurrentUser(); User userInfo = userService.getCurrentUser();
serialNumber.setCreator(userInfo==null?null:userInfo.getId()); serialNumber.setCreator(userInfo == null ? null : userInfo.getId());
serialNumber.setUpdater(userInfo==null?null:userInfo.getId()); serialNumber.setUpdater(userInfo == null ? null : userInfo.getId());
serialNumberMapper.insertSelective(serialNumber); serialNumberMapper.insertSelective(serialNumber);
} }
} }
}
} }