|
|
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.apache.poi.ss.usermodel.CellType;
|
|
|
+import org.apache.poi.ss.usermodel.Cell;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
@@ -24,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.lang.reflect.Field;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.BigInteger;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Path;
|
|
|
import java.nio.file.StandardCopyOption;
|
|
|
@@ -42,6 +45,88 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
|
|
|
private final IBPortsService bPortsService;
|
|
|
|
|
|
+ public static double splitNumericPrefixFromString(String str){
|
|
|
+ str=str.trim();
|
|
|
+ String str2="";
|
|
|
+ if(str != null && !"".equals(str)){
|
|
|
+ for(int i=0; i<str.length(); i++){
|
|
|
+ if(str.charAt(i)==46||(str.charAt(i)>=48 && str.charAt(i)<=57)){
|
|
|
+ str2+=str.charAt(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ double d=0;
|
|
|
+
|
|
|
+ try{
|
|
|
+ d = Double.parseDouble(str2);
|
|
|
+ }catch (Exception e){
|
|
|
+ d = 0;
|
|
|
+ }finally{
|
|
|
+ return d;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getSheetCellValueAsString(Sheet sheet, int row, int col){
|
|
|
+ Row r = sheet.getRow(row);
|
|
|
+ Cell c = ObjectUtils.isNotNull(r) ? r.getCell(col) : null;
|
|
|
+ String res = "";
|
|
|
+ if(ObjectUtils.isNotNull(c)){
|
|
|
+ CellType ct = c.getCellTypeEnum();
|
|
|
+ switch (ct){
|
|
|
+ case STRING:
|
|
|
+ res = c.getStringCellValue().trim();
|
|
|
+ break;
|
|
|
+ case NUMERIC:
|
|
|
+ res = Double.toString(c.getNumericCellValue());
|
|
|
+ break;
|
|
|
+ case BOOLEAN:
|
|
|
+ res = Boolean.toString(c.getBooleanCellValue());
|
|
|
+ break;
|
|
|
+ case FORMULA:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static double getSheetCellValueAsDouble(Sheet sheet, int row, int col){
|
|
|
+ Row r = sheet.getRow(row);
|
|
|
+ Cell c = ObjectUtils.isNotNull(r) ? r.getCell(col) : null;
|
|
|
+ double res = 0.0;
|
|
|
+ if(ObjectUtils.isNotNull(c)){
|
|
|
+ CellType ct = c.getCellTypeEnum();
|
|
|
+ switch (ct){
|
|
|
+ case STRING:
|
|
|
+ try {
|
|
|
+ res = Double.parseDouble(c.getStringCellValue().trim());
|
|
|
+ }catch (Exception e) {
|
|
|
+ res = 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case NUMERIC:
|
|
|
+ res = c.getNumericCellValue();
|
|
|
+ break;
|
|
|
+ case BOOLEAN:
|
|
|
+ res = c.getBooleanCellValue() ? 1 : 0;
|
|
|
+ break;
|
|
|
+ case FORMULA:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static double getSheetCellValueAsNumericPrefix(Sheet sheet, int row, int col) {
|
|
|
+ String str = getSheetCellValueAsString(sheet, row, col);
|
|
|
+
|
|
|
+ return splitNumericPrefixFromString(str);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public R<Bills> importOne(MultipartFile file) throws Exception {
|
|
|
Bills bills = new Bills();
|
|
|
@@ -56,21 +141,23 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
Workbook workbook = new HSSFWorkbook(fis);
|
|
|
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
|
|
|
|
|
|
+ String stringCellValue = "";
|
|
|
+
|
|
|
//TO
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(1).getCell(1))) {
|
|
|
- String to = sheet.getRow(1).getCell(1).getStringCellValue();
|
|
|
+ String to = getSheetCellValueAsString(sheet, 1, 1);
|
|
|
System.out.println("TO:" + to);
|
|
|
}
|
|
|
//ATTN
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(2).getCell(1))) {
|
|
|
- String attn = sheet.getRow(2).getCell(1).getStringCellValue();
|
|
|
+ String attn = getSheetCellValueAsString(sheet, 2, 1);
|
|
|
System.out.println("attn:" + attn);
|
|
|
}
|
|
|
//SHIPPER
|
|
|
StringBuilder shipper = new StringBuilder();
|
|
|
for (int i = 3; i <= 7; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(1))) {
|
|
|
- shipper.append(sheet.getRow(i).getCell(1).getStringCellValue());
|
|
|
+ shipper.append(getSheetCellValueAsString(sheet, i, 1));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(shipper)) {
|
|
|
@@ -84,7 +171,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
StringBuilder consignee = new StringBuilder();
|
|
|
for (int i = 8; i <= 12; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(1))) {
|
|
|
- consignee.append(sheet.getRow(i).getCell(1).getStringCellValue());
|
|
|
+ consignee.append(getSheetCellValueAsString(sheet, i, 1));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(consignee)) {
|
|
|
@@ -98,7 +185,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
StringBuilder notifyParty = new StringBuilder();
|
|
|
for (int i = 13; i <= 17; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(1))) {
|
|
|
- notifyParty.append(sheet.getRow(i).getCell(1).getStringCellValue());
|
|
|
+ notifyParty.append(getSheetCellValueAsString(sheet, i, 1));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(notifyParty)) {
|
|
|
@@ -110,7 +197,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//B/L NO
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(18).getCell(1))) {
|
|
|
- String blno = sheet.getRow(18).getCell(1).getStringCellValue();
|
|
|
+ String blno = getSheetCellValueAsString(sheet, 18, 1);
|
|
|
System.out.println("blno:" + blno);
|
|
|
bills.setMblno(blno);
|
|
|
} else {
|
|
|
@@ -118,7 +205,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//VSL/VOY
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(18).getCell(4))) {
|
|
|
- String vslVoy = sheet.getRow(18).getCell(4).getStringCellValue();
|
|
|
+ String vslVoy = getSheetCellValueAsString(sheet, 18, 4);
|
|
|
if (vslVoy.contains("/")) {
|
|
|
String vsl = vslVoy.substring(0, vslVoy.indexOf("/"));
|
|
|
String voy = vslVoy.substring(vslVoy.indexOf("/") + 1);
|
|
|
@@ -146,7 +233,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//POR
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(19).getCell(1))) {
|
|
|
- String por = sheet.getRow(19).getCell(1).getStringCellValue();
|
|
|
+ String por = getSheetCellValueAsString(sheet, 19, 1);
|
|
|
if (ObjectUtils.isNotNull(por)) {
|
|
|
BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -167,7 +254,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//POL
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(19).getCell(4))) {
|
|
|
- String pol = sheet.getRow(19).getCell(4).getStringCellValue();
|
|
|
+ String pol = getSheetCellValueAsString(sheet, 19, 4);
|
|
|
if (ObjectUtils.isNotNull(pol)) {
|
|
|
BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -188,7 +275,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//POD
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(20).getCell(1))) {
|
|
|
- String pod = sheet.getRow(20).getCell(1).getStringCellValue();
|
|
|
+ String pod = getSheetCellValueAsString(sheet, 20, 1);
|
|
|
if (ObjectUtils.isNotNull(pod)) {
|
|
|
BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -209,7 +296,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//PLACE OF DELIVERY
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(20).getCell(4))) {
|
|
|
- String placeOfDelivery = sheet.getRow(20).getCell(4).getStringCellValue();
|
|
|
+ String placeOfDelivery = getSheetCellValueAsString(sheet, 20, 4);
|
|
|
if (ObjectUtils.isNotNull(placeOfDelivery)) {
|
|
|
BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -229,7 +316,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//KIND OF B/L
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(21).getCell(1))) {
|
|
|
- String kindOfBl = sheet.getRow(21).getCell(1).getStringCellValue();
|
|
|
+ String kindOfBl = getSheetCellValueAsString(sheet, 21, 1);
|
|
|
System.out.println("kindOfBl:" + kindOfBl);
|
|
|
bills.setIssueType(kindOfBl);
|
|
|
} else {
|
|
|
@@ -237,7 +324,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//PLACE OF ISSUE
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(22).getCell(1))) {
|
|
|
- String placeOfIssue = sheet.getRow(22).getCell(1).getStringCellValue();
|
|
|
+ String placeOfIssue = getSheetCellValueAsString(sheet, 22, 1);
|
|
|
System.out.println("placeOfIssue:" + placeOfIssue);
|
|
|
bills.setIssueAt(placeOfIssue);
|
|
|
} else {
|
|
|
@@ -245,7 +332,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//FREIGHT PAYABLE AT
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(22).getCell(4))) {
|
|
|
- String freightPayAbleAt = sheet.getRow(22).getCell(4).getStringCellValue();
|
|
|
+ String freightPayAbleAt = getSheetCellValueAsString(sheet, 22, 4);
|
|
|
System.out.println("freightPayAbleAt:" + freightPayAbleAt);
|
|
|
bills.setHpayplace(freightPayAbleAt);
|
|
|
} else {
|
|
|
@@ -255,7 +342,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
StringBuilder marks = new StringBuilder();
|
|
|
for (int i = 25; i <= 46; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(0))) {
|
|
|
- marks.append(sheet.getRow(i).getCell(0).getStringCellValue());
|
|
|
+ marks.append(getSheetCellValueAsString(sheet, i, 0));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(marks)) {
|
|
|
@@ -266,7 +353,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//BAGS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(1))) {
|
|
|
- double bags = sheet.getRow(25).getCell(1).getNumericCellValue();
|
|
|
+ double bags = getSheetCellValueAsNumericPrefix(sheet, 25, 1);
|
|
|
System.out.println("bags:" + bags);
|
|
|
bills.setQuantity(new BigDecimal(bags));
|
|
|
} else {
|
|
|
@@ -276,7 +363,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
StringBuilder description = new StringBuilder();
|
|
|
for (int i = 25; i <= 46; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(2))) {
|
|
|
- description.append(sheet.getRow(i).getCell(2).getStringCellValue());
|
|
|
+ description.append(getSheetCellValueAsString(sheet, i, 2));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(description)) {
|
|
|
@@ -287,7 +374,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//G.W.
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(4))) {
|
|
|
- double gw = sheet.getRow(25).getCell(4).getNumericCellValue();
|
|
|
+ double gw = getSheetCellValueAsNumericPrefix(sheet, 25, 4);
|
|
|
System.out.println("gw:" + gw);
|
|
|
bills.setGrossWeight(new BigDecimal(gw));
|
|
|
} else {
|
|
|
@@ -295,7 +382,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//MEAS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(6))) {
|
|
|
- double meas = sheet.getRow(25).getCell(6).getNumericCellValue();
|
|
|
+ double meas = getSheetCellValueAsNumericPrefix(sheet, 25, 6);
|
|
|
System.out.println("meas:" + meas);
|
|
|
bills.setMeasurement(new BigDecimal(meas));
|
|
|
} else {
|
|
|
@@ -305,7 +392,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
StringBuilder remark = new StringBuilder();
|
|
|
for (int i = 47; i <= 50; i++) {
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(i).getCell(1))) {
|
|
|
- remark.append(sheet.getRow(i).getCell(1).getStringCellValue());
|
|
|
+ remark.append(getSheetCellValueAsString(sheet, i, 1));
|
|
|
}
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(remark)) {
|
|
|
@@ -314,7 +401,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//FINAL DESTINATION FOR THE MERCHANT’S REFERENCE
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(51).getCell(4))) {
|
|
|
- String finalDestination = sheet.getRow(51).getCell(4).getStringCellValue();
|
|
|
+ String finalDestination = getSheetCellValueAsString(sheet, 51,4);
|
|
|
if (ObjectUtils.isNotNull(finalDestination)) {
|
|
|
BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
|
|
|
.eq(BPorts::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -372,7 +459,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
|
|
|
//SHIPPER
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(2).getCell(0))) {
|
|
|
- String shipper = sheet.getRow(2).getCell(0).getStringCellValue();
|
|
|
+ String shipper = getSheetCellValueAsString(sheet, 2,0);
|
|
|
// bills.setHshipperDetails(shipper);
|
|
|
seaBillsDetail.setHshipperDetails(shipper);
|
|
|
System.out.println("shipper:" + shipper);
|
|
|
@@ -381,7 +468,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//CONSIGNEE
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(9).getCell(0))) {
|
|
|
- String consignee = sheet.getRow(9).getCell(0).getStringCellValue();
|
|
|
+ String consignee = getSheetCellValueAsString(sheet, 9, 0);
|
|
|
seaBillsDetail.setHconsigneeDetails(consignee);
|
|
|
// bills.setHconsigneeDetails(consignee);
|
|
|
System.out.println("consignee:" + consignee);
|
|
|
@@ -390,7 +477,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//NOTIFY PARTY
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(16).getCell(0))) {
|
|
|
- String notifyParty = sheet.getRow(16).getCell(0).getStringCellValue();
|
|
|
+ String notifyParty = getSheetCellValueAsString(sheet, 16, 0);
|
|
|
// bills.setHnotifyDetails(notifyParty);
|
|
|
seaBillsDetail.setHnotifyDetails(notifyParty);
|
|
|
System.out.println("notifyParty:" + notifyParty);
|
|
|
@@ -399,7 +486,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//B/L NO
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(26).getCell(5))) {
|
|
|
- String blno = sheet.getRow(26).getCell(5).getStringCellValue();
|
|
|
+ String blno = getSheetCellValueAsString(sheet, 26, 5);
|
|
|
System.out.println("blno:" + blno);
|
|
|
bills.setMblno(blno);
|
|
|
} else {
|
|
|
@@ -407,7 +494,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//MARKS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(0))) {
|
|
|
- String marks = sheet.getRow(28).getCell(0).getStringCellValue();
|
|
|
+ String marks = getSheetCellValueAsString(sheet, 28, 0);
|
|
|
System.out.println("blno:" + marks);
|
|
|
bills.setMarks(marks);
|
|
|
} else {
|
|
|
@@ -415,7 +502,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//BAGS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(2))) {
|
|
|
- double bags = sheet.getRow(28).getCell(2).getNumericCellValue();
|
|
|
+ double bags = getSheetCellValueAsNumericPrefix(sheet,28, 2);
|
|
|
System.out.println("bags:" + bags);
|
|
|
bills.setQuantity(new BigDecimal(bags));
|
|
|
} else {
|
|
|
@@ -423,7 +510,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//DESCRIPTION
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(3))) {
|
|
|
- String description = sheet.getRow(28).getCell(3).getStringCellValue();
|
|
|
+ String description = getSheetCellValueAsString(sheet, 28, 3);
|
|
|
System.out.println("description:" + description);
|
|
|
bills.setCommodityDescr(description);
|
|
|
} else {
|
|
|
@@ -431,7 +518,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//G.W.
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(6))) {
|
|
|
- double gw = sheet.getRow(28).getCell(6).getNumericCellValue();
|
|
|
+ double gw = getSheetCellValueAsNumericPrefix(sheet,28,6);
|
|
|
System.out.println("gw:" + gw);
|
|
|
bills.setGrossWeight(new BigDecimal(gw));
|
|
|
} else {
|
|
|
@@ -439,7 +526,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//MEAS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(7))) {
|
|
|
- double meas = sheet.getRow(28).getCell(7).getNumericCellValue();
|
|
|
+ double meas = getSheetCellValueAsNumericPrefix(sheet,28,7);
|
|
|
System.out.println("meas:" + meas);
|
|
|
bills.setMeasurement(new BigDecimal(meas));
|
|
|
} else {
|
|
|
@@ -486,7 +573,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
|
|
|
//SHIPPER
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(2).getCell(0))) {
|
|
|
- String shipper = sheet.getRow(2).getCell(0).getStringCellValue();
|
|
|
+ String shipper = getSheetCellValueAsString(sheet, 2, 0);
|
|
|
// bills.setHshipperDetails(shipper);
|
|
|
seaBillsDetail.setHshipperDetails(shipper);
|
|
|
System.out.println("shipper:" + shipper);
|
|
|
@@ -495,7 +582,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//CONSIGNEE
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(9).getCell(0))) {
|
|
|
- String consignee = sheet.getRow(9).getCell(0).getStringCellValue();
|
|
|
+ String consignee = getSheetCellValueAsString(sheet, 9, 0);
|
|
|
seaBillsDetail.setHconsigneeDetails(consignee);
|
|
|
// bills.setHconsigneeDetails(consignee);
|
|
|
System.out.println("consignee:" + consignee);
|
|
|
@@ -504,7 +591,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//NOTIFY PARTY
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(16).getCell(0))) {
|
|
|
- String notifyParty = sheet.getRow(16).getCell(0).getStringCellValue();
|
|
|
+ String notifyParty = getSheetCellValueAsString(sheet, 16, 0);
|
|
|
seaBillsDetail.setHnotifyDetails(notifyParty);
|
|
|
// bills.setHnotifyDetails(notifyParty);
|
|
|
System.out.println("notifyParty:" + notifyParty);
|
|
|
@@ -513,7 +600,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//MARKS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(0))) {
|
|
|
- String marks = sheet.getRow(28).getCell(0).getStringCellValue();
|
|
|
+ String marks = getSheetCellValueAsString(sheet, 28, 0);
|
|
|
System.out.println("blno:" + marks);
|
|
|
bills.setMarks(marks);
|
|
|
} else {
|
|
|
@@ -521,7 +608,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//BAGS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(2))) {
|
|
|
- double bags = sheet.getRow(28).getCell(2).getNumericCellValue();
|
|
|
+ double bags = getSheetCellValueAsNumericPrefix(sheet, 28, 2);
|
|
|
System.out.println("bags:" + bags);
|
|
|
bills.setQuantity(new BigDecimal(bags));
|
|
|
} else {
|
|
|
@@ -529,7 +616,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//DESCRIPTION
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(3))) {
|
|
|
- String description = sheet.getRow(28).getCell(3).getStringCellValue();
|
|
|
+ String description = getSheetCellValueAsString(sheet, 28, 3);
|
|
|
System.out.println("description:" + description);
|
|
|
bills.setCommodityDescr(description);
|
|
|
} else {
|
|
|
@@ -537,7 +624,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//G.W.
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(6))) {
|
|
|
- double gw = sheet.getRow(28).getCell(6).getNumericCellValue();
|
|
|
+ double gw = getSheetCellValueAsNumericPrefix(sheet, 28, 6);
|
|
|
System.out.println("gw:" + gw);
|
|
|
bills.setGrossWeight(new BigDecimal(gw));
|
|
|
} else {
|
|
|
@@ -545,7 +632,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
//MEAS
|
|
|
if (ObjectUtils.isNotNull(sheet.getRow(28).getCell(7))) {
|
|
|
- double meas = sheet.getRow(28).getCell(7).getNumericCellValue();
|
|
|
+ double meas = getSheetCellValueAsNumericPrefix(sheet, 28,7);
|
|
|
System.out.println("meas:" + meas);
|
|
|
bills.setMeasurement(new BigDecimal(meas));
|
|
|
} else {
|
|
|
@@ -578,6 +665,23 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public R<Bills> importHisenseBill(MultipartFile file) throws Exception {
|
|
|
+ Bills bills = new Bills();
|
|
|
+ SeaBillsDetail seaBillsDetail = new SeaBillsDetail();
|
|
|
+ // 创建临时文件
|
|
|
+ Path tempFile = Files.createTempFile("prefix", "suffix");
|
|
|
+ // 将MultipartFile的内容复制到临时文件
|
|
|
+ Files.copy(file.getInputStream(), tempFile, StandardCopyOption.REPLACE_EXISTING);
|
|
|
+
|
|
|
+ // 创建FileInputStream来读取临时文件
|
|
|
+ FileInputStream fis = new FileInputStream(tempFile.toFile());
|
|
|
+ Workbook workbook = new HSSFWorkbook(fis);
|
|
|
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
|
|
|
+
|
|
|
+ return R.data(bills);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public R<List<Containers>> importHisense(MultipartFile file) throws Exception {
|
|
|
List<Containers> containersList = new ArrayList<>();
|
|
|
|