diff --git a/app/src/main/java/com/icssoft/icspda/activity/OutSourceActivity.java b/app/src/main/java/com/icssoft/icspda/activity/OutSourceActivity.java index 3cd34d9..da2e48b 100644 --- a/app/src/main/java/com/icssoft/icspda/activity/OutSourceActivity.java +++ b/app/src/main/java/com/icssoft/icspda/activity/OutSourceActivity.java @@ -764,24 +764,31 @@ public class OutSourceActivity extends AppCompatActivity { } private void DetailSum() { - List newDataDetailList = new ArrayList<>(); - for (OutSourceDetailData row : dataDetailList) { - if (newDataDetailList != null) { - if (newDataDetailList.size() > 0) { - for (OutSourceDetailData item : newDataDetailList) { - if (item.getINVCODE().toUpperCase().equals(row.getINVCODE().toUpperCase()) - && item.getVouchRow().equals(row.getVouchRow())) { - item.setCurrentQty((Double.parseDouble(item.getCurrentQty()) + Double.parseDouble(row.getCurrentQty())) + ""); - } else { - newDataDetailList.add(row); + try { + List newDataDetailList = new ArrayList<>(); + for (OutSourceDetailData row : dataDetailList) { + if (newDataDetailList != null) { + if (newDataDetailList.size() > 0) { + boolean lotExist = false; + for (OutSourceDetailData item : newDataDetailList) { + if (item.getINVCODE().toUpperCase().equals(row.getINVCODE().toUpperCase()) + && item.getVouchRow().equals(row.getVouchRow())) { + item.setCurrentQty((Double.parseDouble(item.getCurrentQty()) + Double.parseDouble(row.getCurrentQty())) + ""); + lotExist = true; + break; + } } + if (!lotExist){newDataDetailList.add(row);} + } else { + newDataDetailList.add(row); } - } else { - newDataDetailList.add(row); } } + dataDetailList = newDataDetailList; + } catch (NumberFormatException ex) { + ErrorMsg = ex.getMessage(); + handler.sendEmptyMessage(99); } - dataDetailList = newDataDetailList; } private void MaterialOutSource() {