Commit 1a6199b4 authored by d.maklakov's avatar d.maklakov
Browse files

Исправления в возвратных ведомостях.

parent e0e9a7e9
Showing with 23 additions and 9 deletions
+23 -9
......@@ -151,7 +151,7 @@ public class ReturnImJournalConvertServiceImpl implements ReturnImJournalConvert
* @param returnDateOform дата оформления. если null, то количество дней невозможно определить окончательно
* @return неизменное количество дней или null
*/
protected Long calculateNumDayOform(Date returnDateSogl, Date returnDateOform) {
private Long calculateNumDayOform(Date returnDateSogl, Date returnDateOform) {
if (null == returnDateSogl) {
return 0L;
} else if (null == returnDateOform) {
......@@ -162,8 +162,7 @@ public class ReturnImJournalConvertServiceImpl implements ReturnImJournalConvert
if (dateFrom.isAfter(dateTo)) {
LOGGER.warn("returnDateOform :{} must be after returnDateSogl :{}", returnDateOform, returnDateSogl);
}
long days = ChronoUnit.DAYS.between(dateFrom, dateTo);
return days;
return ChronoUnit.DAYS.between(dateFrom, dateTo);
}
}
......@@ -174,18 +173,28 @@ public class ReturnImJournalConvertServiceImpl implements ReturnImJournalConvert
* @param returnImJournalOrder возвращаемая накладная из эк4
*/
private void createReturningWaybill(ReturnList returnList, ReturnImJournalOrders returnImJournalOrder) {
ReturningWaybill returningWaybill = returningWaybillDAO.findByExternalId(returnImJournalOrder.getIdOrder());
if (returningWaybill == null) {
returningWaybill = new ReturningWaybill();
}
//TODO предполагается, что не бывает повторений в поле externalId
List<Waybill> waybills = waybillService.findByExternalId(returnImJournalOrder.getIdOrder());
Waybill waybill = null;
//Накладная уже должна быть синхронизирована
if (waybills.size() == 0) {
if (returnImJournalOrder.getNumberOrd() != null) {
waybill = waybillService.findByNumber(returnImJournalOrder.getNumberOrd());
} else {
List<Waybill> waybills = waybillService.findByExternalId(returnImJournalOrder.getIdOrder());
if (waybills.size() == 1) {
waybill = waybills.get(0);
}
}
if (waybill == null) {
LOGGER.error(String.format("Cannot find waybill for Return Im Journal Order: %d is null", returnImJournalOrder.getIdOrder()));
syncWaybillAndThrowException(returnList, returnImJournalOrder);
}
returningWaybill.setWaybillUuid(waybills.get(0).getUuid());
returningWaybill.setWaybillUuid(waybill.getUuid());
returningWaybill.setExternalId(returnImJournalOrder.getIdOrder());
returningWaybill.setNumberOrd(returnImJournalOrder.getNumberOrd());
......
......@@ -34,6 +34,7 @@ public enum DumpOsoEntityType {
return concrete;
}
}
throw new IllegalArgumentException(String.format("Incorrect event type (%d) for warehouse event queue", type));
//throw new IllegalArgumentException(String.format("Incorrect event type (%d) for warehouse event queue", type));
return null;
}
}
......@@ -36,6 +36,10 @@ public class DumpOsoSorterImpl implements DumpOsoSorter {
*/
private void updateSortResult(DumpOsoEntity entity, DumpOsoSortResult resultToAdd) {
final DumpOsoEntityType entityType = DumpOsoEntityType.getByLong(entity.getIdObjClass());
if (entityType == null) {
return;
}
switch (entityType) {
case OPIS_EVENT:
case ADD_OR_REMOVE_ORDER_TO_OPIS:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment