Commit 38db98fe authored by Анна's avatar Анна
Browse files

fixed with review

parent bbde60bc
Showing with 33 additions and 26 deletions
+33 -26
......@@ -33,7 +33,6 @@ public class OrderRestController extends AbstractRestController {
private static final Logger LOG = LoggerFactory.getLogger(OrderRestController.class);
private static final String SEMICOLON = ";";
@Autowired(required = true)
@Qualifier("warehouseClient")
......@@ -194,12 +193,8 @@ public class OrderRestController extends AbstractRestController {
private List<ResultAddOrderTO> getListResultOrderTO(List<ResultAddOrder> result, WarehouseOrderTO warehouseOrderTO) {
List<ResultAddOrderTO> resultTO = new ArrayList<>();
String date = DateTimeUtils.TIME_FORMAT_HH_MM.format(new Date());
String[] barcodes = warehouseOrderTO.getBarcode().split(SEMICOLON);
int i = 0;
//TODO refactor: нужно добавить barcode в ResultAddOrder и ResultAddOrderTo
for (ResultAddOrder resultAddOrder : result) {
resultTO.add(getResultAddOrderTO(resultAddOrder, date, barcodes[i]));
i++;
resultTO.add(getResultAddOrderTO(resultAddOrder, date));
}
return resultTO;
}
......@@ -209,9 +204,8 @@ public class OrderRestController extends AbstractRestController {
*
* @param resultAddOrder результат выполнения операции
* @param date дата выполнения операции
* @param barcode шк накладной
*/
private ResultAddOrderTO getResultAddOrderTO(ResultAddOrder resultAddOrder, String date, String barcode) {
private ResultAddOrderTO getResultAddOrderTO(ResultAddOrder resultAddOrder, String date) {
ResultAddOrderTO resultAddOrderTO = new ResultAddOrderTO(resultAddOrder);
if (resultAddOrder.getProblems() != null) {
for (Problem problem : resultAddOrder.getProblems()) {
......@@ -224,7 +218,7 @@ public class OrderRestController extends AbstractRestController {
String msg = getMessage(MessageConst.WAREHOUSE_ADD_WAYBILL, getLocale(), date, resultAddOrder.getWaybillNumber(), resultAddOrder.getCargoPlaceCount());
resultAddOrderTO.getAlerts().add(new AlertDto(AlertDto.AlertType.info, msg, null));
} else {
String baseMsg = getMessage(MessageConst.WAREHOUSE_WAYBILL_COULD_NOT_BE_ADDED, getLocale(), date, barcode);
String baseMsg = getMessage(MessageConst.WAREHOUSE_WAYBILL_COULD_NOT_BE_ADDED, getLocale(), date, resultAddOrder.getBarcode());
//в результате могут быть параметры для детализации сообщения
String detailsMsg = getMessage(resultAddOrder.getErrorCode(), getLocale(), resultAddOrder.getParams());
resultAddOrderTO.getAlerts().add(new AlertDto(AlertDto.AlertType.danger, baseMsg + ". " + detailsMsg + ".", null));
......
......@@ -176,7 +176,7 @@
<form class="form-inline">
<div class="form-group">
<label><@spring.message "warehouse.scan.numberOrder" />:</label>
<input type="text" class="form-control" ng-model="orderNumber" maxlength="20"
<input type="text" class="form-control" ng-model="orderNumber" maxlength="10000"
ng-disabled="!sked.branchFrom || !sked.employeeIn || !sked.employeeOut">
</div>
<button type="submit" class="btn btn-primary" ng-click="addOrder(orderNumber)"
......
......@@ -187,7 +187,7 @@
<form class="form-inline">
<div class="form-group">
<label><@spring.message "warehouse.scan.numberOrder" />:</label>
<input type="text" class="form-control" ng-model="orderNumber" maxlength="20"
<input type="text" class="form-control" ng-model="orderNumber" maxlength="10000"
ng-disabled="!sked.transportType || !sked.branchTo || !sked.warehouse || !sked.employeeIn || !sked.employeeOut">
</div>
<button type="submit" class="btn btn-primary" ng-click="addOrder(orderNumber)"
......
......@@ -175,7 +175,6 @@
<form class="form-inline">
<div class="form-group">
<label><@spring.message "warehouse.scan.numberOrder" />:</label>
<!-- TODO refactor: Необходимо добавить также в другие документы кроме коррекци -->
<input type="text" class="form-control" ng-model="orderNumber" maxlength="10000"
ng-disabled="!sked.warehouse || !sked.employeeIn || !sked.employeeOut">
</div>
......
......@@ -9,6 +9,7 @@ import java.util.List;
*/
public class ResultAddOrder {
protected String waybillNumber;
protected String barcode;
protected int cargoPlaceCount;
protected List<Problem> problems;
protected String errorCode;
......@@ -32,6 +33,11 @@ public class ResultAddOrder {
this.params = params;
}
public ResultAddOrder(String errorCode, Object[] params, String barcode) {
this.errorCode = errorCode;
this.params = params;
this.barcode=barcode;
}
public String getErrorCode() {
return errorCode;
}
......@@ -48,6 +54,14 @@ public class ResultAddOrder {
this.waybillNumber = waybillNumber;
}
public String getBarcode() {
return barcode;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public int getCargoPlaceCount() {
return cargoPlaceCount;
}
......
......@@ -173,7 +173,6 @@ public class RestWarehouseClient implements WarehouseClient {
}
@Override
//TODO refactor: есть много изменения из-за переформатирования кода, лучше не форматировать уже существующий код чтобы не было "пустых" изменений
public Warehouse findWarehouse(String code, String preferredLang) {
return template.postForObject(createUrl(WAREHOUSE_CATALOG_API_URL + "/{code}/{lang}"), null, Warehouse.class, code, preferredLang);
}
......
package com.cdek.warehouse.services.auth;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* Проверяет соответствие роли
*/
//TODO refactor: переменить в AuthUtils
public class IsRole {
public class AuthUtils {
public static boolean isRole(String role) {
List<GrantedAuthority> grantedAuths =(List) SecurityContextHolder.getContext().getAuthentication().getAuthorities();
//TODO refactor: так как ролей много необходимо создавать свой Authenication где будет Set<GrantedAuthority>, так проверка роли будет быстрее
Authentication authentication=SecurityContextHolder.getContext().getAuthentication();
Set<GrantedAuthority> grantedAuths =(Set) authentication.getAuthorities().stream().collect(Collectors.toSet());
for (GrantedAuthority grantedAuthority : grantedAuths) {
if(grantedAuthority.getAuthority().equals(role)) return true;
}
......
......@@ -17,7 +17,7 @@ import com.cdek.warehouse.common.Constants;
import com.cdek.warehouse.common.Messages;
import com.cdek.warehouse.ek4integration.sync.WaybillSyncService;
import com.cdek.warehouse.services.*;
import com.cdek.warehouse.services.auth.IsRole;
import com.cdek.warehouse.services.auth.AuthUtils;
import com.cdek.warehouse.services.correction.CorrectionException;
import com.cdek.warehouse.services.correction.CorrectionManager;
import com.cdek.warehouse.services.document.*;
......@@ -169,10 +169,9 @@ public class WarehouseServiceImpl implements WarehouseService {
Waybill waybill = searchWaybill(barcode, documentType, sked, userCode);
boolean isRole = IsRole.isRole(Roles.PREFIX + Roles.ROLE_WAREHOUSE_BARCODE_LIST);
boolean isRole = AuthUtils.isRole(Roles.PREFIX + Roles.ROLE_WAREHOUSE_BARCODE_LIST);
//TODO refactor: documentType.equals("CORRECTION_INCOME") DocumentType сравнивается с String
if ((waybill == null || barcode.length() > 30) && isRole && !documentType.equals("CORRECTION_INCOME")) {
if ((waybill == null || barcode.length() > 30) && isRole && !documentType.equals(DocumentType.CORRECTION_INCOME)) {
List<String> barcodes = splitBarcodes(barcode);
addOrders = barcodes.stream()
.map(bar -> {
......@@ -180,7 +179,7 @@ public class WarehouseServiceImpl implements WarehouseService {
ResultAddOrder result = addOrder(skedUuid, bar, userCode);
return result;
} catch (WarehouseServiceException e) {
return new ResultAddOrder(e.getKey(), e.getParams());
return new ResultAddOrder(e.getKey(), e.getParams(), bar);
}
})
.filter(result -> result != null)
......@@ -205,6 +204,7 @@ public class WarehouseServiceImpl implements WarehouseService {
DocumentType documentType = sked.getDocumentType();
result = addWaybill(sked, barcode, userCode, documentType);
result.setBarcode(barcode);
return result;
}
......
......@@ -62,7 +62,7 @@ public class UserApiAuthServiceImpl implements AuthService {
// Only for testing
// String[] testingPermits = new String[]{
// String[] testingPermits = new String[]{
// Roles.ROLE_WAREHOUSE_5,
// Roles.ROLE_SHIPPING_5,
// Roles.ROLE_SORTER_REQUEST,
......@@ -81,7 +81,7 @@ public class UserApiAuthServiceImpl implements AuthService {
// Roles.ROLE_SORTER_REQUEST_UPDATE,
// Roles.ROLE_WAREHOUSE_ADMIN_UPDATE,
// Roles.ROLE_SORTER_ADMIN_UPDATE
// Roles.ROLE_WAREHOUSE_BARCODE_LIST
// Roles.ROLE_WAREHOUSE_BARCODE_LIST
// };
// for (String testingPermit : testingPermits) {
// allPermits.add(new JSPermit(testingPermit,true));
......
......@@ -96,7 +96,7 @@ public class OrderController extends BaseController {
List<ResultAddOrder> result = warehouseService.addOrders(warehouseOrderTO.getSkedUuid(), warehouseOrderTO.getBarcode(), currentUser().getCode());
return new BaseListTO<>(result);
} catch (WarehouseServiceException e) {
return new BaseListTO<>(Collections.singletonList(new ResultAddOrder(e.getKey(), e.getParams())).stream().collect(Collectors.toList()));
return new BaseListTO<>(Collections.singletonList(new ResultAddOrder(e.getKey(), e.getParams(), warehouseOrderTO.getBarcode())).stream().collect(Collectors.toList()));
}
}
......
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