纪新园 2 месяцев назад
Родитель
Сommit
58f5ba5aeb

+ 38 - 21
blade-service/blade-los/src/main/java/org/springblade/los/Util/StringTools.java

@@ -13,6 +13,8 @@ import org.springblade.los.utils.LosSpecialHandle;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @author :jixinyuan
@@ -63,8 +65,7 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else if ("BPorts".equals(type)) {
+		} else if ("BPorts".equals(type)) {
 			Class<?> inttraSoDtoClass = BPorts.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			BPorts bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BPorts.class);
@@ -100,18 +101,15 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else if ("Bills".equals(type)) {
+		} else if ("Bills".equals(type)) {
 			Class<?> inttraSoDtoClass = Bills.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			Bills bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), Bills.class);
 			for (Field field : fileds) {
 				String name = field.getName();
-				System.out.println("字段名:" + name);
 				// 设置访问权限为true,否则无法获取private字段的值
 				field.setAccessible(true);
 				Object value = field.get(bVessels);
-				System.out.println("字段值:" + value);
 				Class<Bills> clazz = Bills.class;
 				Field field1 = clazz.getDeclaredField(name);
 				Annotation[] annotations = field1.getAnnotations(); // 获取字段上的所有注解
@@ -123,6 +121,7 @@ public class StringTools {
 						if (conversion) {
 							if (ObjectUtils.isNotNull(value)) {
 								value = value.toString().toUpperCase();
+								value = specialCharacters(value);
 							}
 						}
 						if (space) {
@@ -131,14 +130,11 @@ public class StringTools {
 							}
 						}
 						field.set(bVessels, value);
-						System.out.println("注解值:" + myAnnotation.conversion());
-						System.out.println("注解值:" + myAnnotation.space());
 					}
 				}
 			}
 			return bVessels;
-		}
-		else if ("SeaBillsDetail".equals(type)) {
+		} else if ("SeaBillsDetail".equals(type)) {
 			Class<?> inttraSoDtoClass = SeaBillsDetail.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			SeaBillsDetail bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), SeaBillsDetail.class);
@@ -160,14 +156,15 @@ public class StringTools {
 						if (conversion) {
 							if (ObjectUtils.isNotNull(value)) {
 								value = value.toString().toUpperCase();
-							}else {
+								value = specialCharacters(value);
+							} else {
 								value = "";
 							}
 						}
 						if (space) {
 							if (ObjectUtils.isNotNull(value)) {
 								value = value.toString().trim();
-							}else {
+							} else {
 								value = "";
 							}
 						}
@@ -178,8 +175,7 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else if ("BCorps".equals(type)) {
+		} else if ("BCorps".equals(type)) {
 			Class<?> inttraSoDtoClass = BCorps.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			BCorps bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BCorps.class);
@@ -215,8 +211,7 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else if ("BCntrTypes".equals(type)) {
+		} else if ("BCntrTypes".equals(type)) {
 			Class<?> inttraSoDtoClass = BCntrTypes.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			BCntrTypes bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), BCntrTypes.class);
@@ -252,14 +247,13 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else if ("SeaReleaseBill".equals(type)) {
+		} else if ("SeaReleaseBill".equals(type)) {
 			Class<?> inttraSoDtoClass = SeaReleaseBill.class;
 			Field[] fileds = inttraSoDtoClass.getDeclaredFields();
 			SeaReleaseBill bVessels = JSONObject.parseObject(JSONObject.toJSONString(data), SeaReleaseBill.class);
 			for (Field field : fileds) {
 				String name = field.getName();
-				if (ObjectUtils.isNotNull(name)){
+				if (ObjectUtils.isNotNull(name)) {
 					System.out.println("字段名:" + name);
 					// 设置访问权限为true,否则无法获取private字段的值
 					field.setAccessible(true);
@@ -276,6 +270,7 @@ public class StringTools {
 							if (conversion) {
 								if (ObjectUtils.isNotNull(value)) {
 									value = value.toString().toUpperCase();
+									value = specialCharacters(value);
 								}
 							}
 							if (space) {
@@ -291,9 +286,31 @@ public class StringTools {
 				}
 			}
 			return bVessels;
-		}
-		else {
+		} else {
 			throw new RuntimeException("数据处理失败,请联系管理员");
 		}
 	}
+
+	private static Object specialCharacters(Object value) {
+		value = value.toString().replaceAll(",", ",");
+		value = value.toString().replaceAll("。", ".");
+		value = value.toString().replaceAll("?", "?");
+		value = value.toString().replaceAll("!", "!");
+		value = value.toString().replaceAll(":", ":");
+		value = value.toString().replaceAll(";", ";");
+		value = value.toString().replaceAll("%", "%");
+		value = value.toString().replaceAll("——", "-");
+		value = value.toString().replaceAll("……", "......");
+		value = value.toString().replaceAll("(", "(");
+		value = value.toString().replaceAll(")", ")");
+		value = value.toString().replaceAll("‘", "'");
+		value = value.toString().replaceAll("’", "'");
+		value = value.toString().replaceAll("“", "\"");
+		value = value.toString().replaceAll("”", "\"");
+		value = value.toString().replaceAll("[", "[");
+		value = value.toString().replaceAll("]", "]");
+		value = value.toString().replaceAll("《", "<");
+		value = value.toString().replaceAll("》", ">");
+		return value;
+	}
 }

+ 6 - 6
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -353,7 +353,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									finStlBillsItemsReports.setHblno(item.getHblno());
 									finStlBillsItemsReports.setBillNo(item.getBillNo());
 									finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-									finStlBillsItemsReports.setEtd(item.getEtd());
+									finStlBillsItemsReports.setEtd(item.getAccountDate());
 									finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 									finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 									finStlBillsItemsReports.setSalesman(item.getSrcCnName());
@@ -474,7 +474,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									finStlBillsItemsReports.setHblno(item.getHblno());
 									finStlBillsItemsReports.setBillNo(item.getBillNo());
 									finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-									finStlBillsItemsReports.setEtd(item.getEtd());
+									finStlBillsItemsReports.setEtd(item.getAccountDate());
 									finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 									finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 									finStlBillsItemsReports.setSalesman(item.getSrcCnName());
@@ -576,7 +576,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								finStlBillsItemsReports.setHblno(item.getHblno());
 								finStlBillsItemsReports.setBillNo(item.getBillNo());
 								finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-								finStlBillsItemsReports.setEtd(item.getEtd());
+								finStlBillsItemsReports.setEtd(item.getAccountDate());
 								finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setSalesman(item.getSrcCnName());
@@ -650,7 +650,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								finStlBillsItemsReports.setHblno(item.getHblno());
 								finStlBillsItemsReports.setBillNo(item.getBillNo());
 								finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-								finStlBillsItemsReports.setEtd(item.getEtd());
+								finStlBillsItemsReports.setEtd(item.getAccountDate());
 								finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setSalesman(item.getSrcCnName());
@@ -723,7 +723,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								finStlBillsItemsReports.setHblno(item.getHblno());
 								finStlBillsItemsReports.setBillNo(item.getBillNo());
 								finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-								finStlBillsItemsReports.setEtd(item.getEtd());
+								finStlBillsItemsReports.setEtd(item.getAccountDate());
 								finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setSalesman(item.getSrcCnName());
@@ -794,7 +794,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								finStlBillsItemsReports.setHblno(item.getHblno());
 								finStlBillsItemsReports.setBillNo(item.getBillNo());
 								finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
-								finStlBillsItemsReports.setEtd(item.getEtd());
+								finStlBillsItemsReports.setEtd(item.getAccountDate());
 								finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
 								finStlBillsItemsReports.setSalesman(item.getSrcCnName());

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -102,6 +102,7 @@ public class BillsController extends BladeController {
 			.like(ObjectUtils.isNotNull(bills.getCorpSource()), Bills::getCorpSource, bills.getCorpSource())
 			.like(ObjectUtils.isNotNull(bills.getBookingNo()), Bills::getBookingNo, bills.getBookingNo())
 			.like(ObjectUtils.isNotNull(bills.getCreateUserName()), Bills::getCreateUserName, bills.getCreateUserName())
+			.like(ObjectUtils.isNotNull(bills.getExtendedData()), Bills::getExtendedData, bills.getExtendedData())
 			.and(ObjectUtils.isNotNull(bills.getVesselCnName()), i -> i.like(Bills::getVesselCnName, bills.getVesselCnName()).or()
 				.like(Bills::getVesselEnName, bills.getVesselCnName()))
 			.like(ObjectUtils.isNotNull(bills.getVoyageNo()), Bills::getVoyageNo, bills.getVoyageNo())

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -652,6 +652,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				}
 			}
 			containersService.saveOrUpdateBatch(bills.getContainersList());
+			bills.setExtendedData(bills.getContainersList().stream().map(Containers::getCntrNo).filter(Objects::nonNull)
+				.collect(Collectors.joining(",")));
 		}
 		if (quantity.compareTo(new BigDecimal("0.00")) == 0) {
 			quantity = bills.getQuantity();