|
|
@@ -399,7 +399,7 @@ public class ProductService {
|
|
|
|
|
|
// 选择少数量/打印不干胶按钮
|
|
|
if ("少数量".contentEquals(dto.getStickerKind()) || "专版打印".contentEquals(dto.getStickerKind())) {
|
|
|
- stickersList = lessSticker(dto, kind, number, width, length, count, stickersList);
|
|
|
+ stickersList = lessSticker(dto, kind, number, width, length, count, stickersList, role);
|
|
|
|
|
|
if (stickersList.get(0) == null) {
|
|
|
return null;
|
|
|
@@ -1364,20 +1364,37 @@ public class ProductService {
|
|
|
//第二款开始的设计费按照式设计内容
|
|
|
if (number > 1) {
|
|
|
double desFee = 0;
|
|
|
- if (dto.getP() == 1) {
|
|
|
- desFee = 0.6;
|
|
|
- } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
- desFee = 0.8;
|
|
|
- } else if (dto.getP() == 4) {
|
|
|
- desFee = 1.2;
|
|
|
- } else if (dto.getP() == 5) {
|
|
|
- desFee = 2;
|
|
|
+ if (role.indexOf("1045") == -1) {
|
|
|
+ if (number == 2) {
|
|
|
+ desFee = 5.5;
|
|
|
+ }
|
|
|
+ if (number == 3) {
|
|
|
+ desFee = 5.5 + 3.5;
|
|
|
+ }
|
|
|
+ if (number > 3) {
|
|
|
+ desFee = 5.5 + 3.5 + 2.5 * (number - 3);
|
|
|
+ }
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.ceil(product.getPrice() + desFee));
|
|
|
+ }
|
|
|
} else {
|
|
|
- desFee = 5;
|
|
|
- }
|
|
|
- for (Product product : priceList) {
|
|
|
- product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+
|
|
|
+ if (dto.getP() == 1) {
|
|
|
+ desFee = 0.6;
|
|
|
+ } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
+ desFee = 0.8;
|
|
|
+ } else if (dto.getP() == 4) {
|
|
|
+ desFee = 1.2;
|
|
|
+ } else if (dto.getP() == 5) {
|
|
|
+ desFee = 2;
|
|
|
+ } else {
|
|
|
+ desFee = 5;
|
|
|
+ }
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
return priceList;
|
|
|
} else {
|
|
|
@@ -2320,7 +2337,6 @@ public class ProductService {
|
|
|
} else {
|
|
|
priceList = new PriceUtils().UVStickerPrice(length, width, count, number, dto.getCraftMo(), dto.getCraft());
|
|
|
}
|
|
|
-
|
|
|
if (priceList.get(0).getCount() != count) {
|
|
|
priceList.get(0).setCount(count);
|
|
|
}
|
|
|
@@ -2655,37 +2671,69 @@ public class ProductService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //第二款开始的设计费按照式设计内容
|
|
|
- if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单") && number > 1) {
|
|
|
- double desFee = 0;
|
|
|
- if (dto.getP() == 1) {
|
|
|
- desFee = 0.6;
|
|
|
- } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
- desFee = 0.8;
|
|
|
- } else if (dto.getP() == 4) {
|
|
|
- desFee = 1.2;
|
|
|
- } else if (dto.getP() == 5) {
|
|
|
- desFee = 2;
|
|
|
- } else {
|
|
|
- desFee = 18;
|
|
|
- int min = getNumAdd((length - 4) / 10, (width - 4) / 10);
|
|
|
- if (min == 1) {
|
|
|
- desFee = 7;
|
|
|
+ if (role.indexOf("1045") == -1) {
|
|
|
+ if (number > 1) {
|
|
|
+ double designFee = 0;
|
|
|
+ if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单")) {
|
|
|
+ if (number == 2) {
|
|
|
+ designFee = 5.5;
|
|
|
+ }
|
|
|
+ if (number == 3) {
|
|
|
+ designFee = 5.5 + 3.5;
|
|
|
+ }
|
|
|
+ if (number > 3) {
|
|
|
+ designFee = 5.5 + 3.5 + 2.5 * (number - 3);
|
|
|
+ }
|
|
|
}
|
|
|
- if (min == 2) {
|
|
|
- desFee = 10;
|
|
|
+ if (dto.getProTypeLabel().equals("菜单") || dto.getProTypeLabel().equals("婚礼报纸")) {
|
|
|
+ if (number == 2) {
|
|
|
+ designFee = 17;
|
|
|
+ }
|
|
|
+ if (number == 3) {
|
|
|
+ designFee = 17 + 17;
|
|
|
+ }
|
|
|
+ if (number > 3) {
|
|
|
+ designFee = 17 + 17 + 12 * (number - 3);
|
|
|
+ }
|
|
|
}
|
|
|
- if (min == 3) {
|
|
|
- desFee = 14;
|
|
|
+
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.ceil(product.getPrice() + designFee));
|
|
|
}
|
|
|
- if (min == 4) {
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ //第二款开始的设计费按照式设计内容
|
|
|
+ if (!dto.getProTypeLabel().equals("婚礼报纸") && !dto.getProTypeLabel().equals("菜单") && number > 1) {
|
|
|
+ double desFee = 0;
|
|
|
+ if (dto.getP() == 1) {
|
|
|
+ desFee = 0.6;
|
|
|
+ } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
+ desFee = 0.8;
|
|
|
+ } else if (dto.getP() == 4) {
|
|
|
+ desFee = 1.2;
|
|
|
+ } else if (dto.getP() == 5) {
|
|
|
+ desFee = 2;
|
|
|
+ } else {
|
|
|
desFee = 18;
|
|
|
+ int min = getNumAdd((length - 4) / 10, (width - 4) / 10);
|
|
|
+ if (min == 1) {
|
|
|
+ desFee = 7;
|
|
|
+ }
|
|
|
+ if (min == 2) {
|
|
|
+ desFee = 10;
|
|
|
+ }
|
|
|
+ if (min == 3) {
|
|
|
+ desFee = 14;
|
|
|
+ }
|
|
|
+ if (min == 4) {
|
|
|
+ desFee = 18;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- for (Product product : priceList) {
|
|
|
- product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -3101,20 +3149,36 @@ public class ProductService {
|
|
|
|
|
|
if (("0".equals(kind) && "0".equals(kind2)) || ("1".equals(kind) && ("1".equals(kind2) || "3".equals(kind2) || "8".equals(kind2) || "15".equals(kind2))) || "2".equals(kind)) {
|
|
|
double desFee = 0;
|
|
|
- if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
|
|
|
- desFee = 3;
|
|
|
- } else if (dto.getP() == 4) {
|
|
|
- desFee = 5;
|
|
|
- } else if (dto.getP() == 5) {
|
|
|
- desFee = 6;
|
|
|
+ if (role.indexOf("1045") == -1) {
|
|
|
+ if (number == 2) {
|
|
|
+ desFee = 11;
|
|
|
+ }
|
|
|
+ if (number == 3) {
|
|
|
+ desFee = 11 + 11;
|
|
|
+ }
|
|
|
+ if (number > 3) {
|
|
|
+ desFee = 11 + 11 + 11 * (number - 3);
|
|
|
+ }
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.ceil(product.getPrice() + desFee));
|
|
|
+ }
|
|
|
} else {
|
|
|
- desFee = 11;
|
|
|
- }
|
|
|
+ if (dto.getP() == 1 || dto.getP() == 2 || dto.getP() == 3) {
|
|
|
+ desFee = 3;
|
|
|
+ } else if (dto.getP() == 4) {
|
|
|
+ desFee = 5;
|
|
|
+ } else if (dto.getP() == 5) {
|
|
|
+ desFee = 6;
|
|
|
+ } else {
|
|
|
+ desFee = 11;
|
|
|
+ }
|
|
|
|
|
|
- for (Product product : priceList) {
|
|
|
- product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+ for (Product product : priceList) {
|
|
|
+ product.setPrice(Math.floor(product.getPrice() + desFee * (number - 1)));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -3319,7 +3383,7 @@ public class ProductService {
|
|
|
* if (priceList.size() >= 4) { priceList = priceList.subList(0, 4); }
|
|
|
*/
|
|
|
String[] ztCraft = {"背胶"};
|
|
|
- priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, ztCraft, dto);
|
|
|
+ priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, ztCraft, dto, role);
|
|
|
for (Product product : priceList) {
|
|
|
if (dto.getKindValue().equals("0") || dto.getKindValue().equals("10")) {
|
|
|
wei = 0.38;
|
|
|
@@ -3792,7 +3856,7 @@ public class ProductService {
|
|
|
product.setPrice(Math.floor(product.getPrice() * number));
|
|
|
}
|
|
|
} else {// 打印的价格和pvc不干胶打印价格一样--23.8.17更新后取消这个
|
|
|
- priceList = lessSticker(dto, proType, number, width, length, count, priceList);
|
|
|
+ priceList = lessSticker(dto, proType, number, width, length, count, priceList, role);
|
|
|
return priceList;
|
|
|
}
|
|
|
// 重量
|
|
|
@@ -3932,7 +3996,7 @@ public class ProductService {
|
|
|
return priceList;
|
|
|
case "数码PVC":
|
|
|
// 价格按照大纸裁
|
|
|
- priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, dto.getCraft(), dto);
|
|
|
+ priceList = ZsPrice.getSmPrice(count, length, width, priceList, number, dto.getCraft(), dto, role);
|
|
|
for (Product product : priceList) {
|
|
|
if (dto.getKindValue().equals("1") || dto.getKindValue().equals("2") || dto.getKindValue().equals("3")) {
|
|
|
wei = 0.38;
|
|
|
@@ -4348,7 +4412,7 @@ public class ProductService {
|
|
|
}
|
|
|
|
|
|
private List<Product> lessSticker(Product dto, String kind, Integer number, Double width, Double length,
|
|
|
- int count, List<Product> stickersList) {
|
|
|
+ int count, List<Product> stickersList, String role) {
|
|
|
double price = 0.0;
|
|
|
// 一张大纸收费
|
|
|
double addPrice = 0.0;
|
|
|
@@ -4418,22 +4482,36 @@ public class ProductService {
|
|
|
}
|
|
|
if (number > 1) {
|
|
|
double desFee = 0;
|
|
|
- if (dto.getP() == 1) {
|
|
|
- desFee = 0.6;
|
|
|
- } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
- desFee = 0.8;
|
|
|
- } else if (dto.getP() == 4) {
|
|
|
- desFee = 1.2;
|
|
|
- } else if (dto.getP() == 5) {
|
|
|
- desFee = 2;
|
|
|
+ if (role.indexOf("1045") == -1) {
|
|
|
+ if (number == 2) {
|
|
|
+ desFee = 3.5;
|
|
|
+ }
|
|
|
+ if (number == 3) {
|
|
|
+ desFee = 3.5 + 2.5;
|
|
|
+ }
|
|
|
+ if (number > 3) {
|
|
|
+ desFee = 3.5 + 2.5 + 1.5 * (number - 3);
|
|
|
+ }
|
|
|
} else {
|
|
|
- desFee = 5;
|
|
|
+ if (dto.getP() == 1) {
|
|
|
+ desFee = 0.6;
|
|
|
+ } else if (dto.getP() == 2 || dto.getP() == 3) {
|
|
|
+ desFee = 0.8;
|
|
|
+ } else if (dto.getP() == 4) {
|
|
|
+ desFee = 1.2;
|
|
|
+ } else if (dto.getP() == 5) {
|
|
|
+ desFee = 2;
|
|
|
+ } else {
|
|
|
+ desFee = 5;
|
|
|
+ }
|
|
|
+ desFee = desFee * number;
|
|
|
}
|
|
|
+
|
|
|
for (Product product : stickersList) {
|
|
|
if ("0".equals(kind) && "纯烫金".equals(dto.getCraftTang())) {
|
|
|
product.setPrice(product.getPrice() * number);
|
|
|
} else {
|
|
|
- product.setPrice(Math.floor(product.getPrice() + desFee * number));
|
|
|
+ product.setPrice(Math.ceil(product.getPrice() + desFee));
|
|
|
}
|
|
|
}
|
|
|
|