swing操作文件和文件夹

mac2025-05-28  3

import com.baidu.aip.ocr.AipOcr; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import org.json.JSONObject;

import javax.swing.; import java.awt.; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern;

/**

@author xuexiaojun

@creat 2019-11-01 9:24 */ public class OcrTestMetherd{

public static final String APP_ID = “17076882”; public static final String API_KEY = “pMNo0g74SMVwdj5dgGSegyTk”; public static final String SECRET_KEY = “9BPYVVqYb9wTuyPSBMlRGSKH06xkDhSU”;

public static JSONObject getImageValueData(String imagePath) { // 初始化一个AipOcr JSONObject res = null; try { AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY); // 调用接口 HashMap<String, String> options = new HashMap<String, String>(); //是否翻转 options.put(“detect_direction”, “true”); res = client.basicGeneral(imagePath, options); // System.out.println(res.toString(2)); } catch (Exception e) { System.out.println("=read image failed="); } return res; }

/***

处理去程报关单图片文字识别处理@param res@param customsDeclaration@param goodsInfoList */ public static void dealImageJSONObjectData(JSONObject res, CustomsDeclaration customsDeclaration, Set goodsInfoList) { try { SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMdd”); Map<String, Object> map = res.toMap(); List<Map<String, String>> dataList = (List<Map<String, String>>) map.get(“words_result”); for (int i = 0; i < dataList.size(); i++) { Map<String, String> stringStringMap = dataList.get(i); if (stringStringMap.get(“words”) == null){ continue; } String value = stringStringMap.get(“words”).trim().replace(" “, “”); //“填内发货人” if (value.contains(“发货人”)) { setShipperNoValue(customsDeclaration, value); for (int j = i + 1; j < dataList.size(); j++) { i = j; stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); value = value.replaceAll(“G”, “0”); Pattern p = Pattern.compile(”[0-9]{8}"); Matcher matcher = p.matcher(value); Pattern pNoMore = Pattern.compile("[0-9]{6,7}"); Matcher matcherNoMore = pNoMore.matcher(value); StringBuffer sb = new StringBuffer(); if(value.contains(“公司”)){ customsDeclaration.setShipperCnname(value); }else if(value.contains(“运港”) || value.contains(“成交方式”) || value.contains(“征税”) || value.contains(“收货人”) || value.contains(“境外收货”) || value.contains(“运单号”) || value.contains(“贸易”)){ i–; break; }else if(value.contains(“发货人”)) { setShipperNoValue(customsDeclaration, value); }else if (matcher.matches()) { sb.append(matcher.group()); value = sb.toString(); try { if (customsDeclaration.getDeclareDate() == null){ customsDeclaration.setDeclareDate(sdf.parse(value)); } } catch (Exception e) { // logger.error("=dateFormat error=", e); } } } }else if (value.contains(“集装箱标箱数及号码”)) { if (value.length() > 127){ value = value.substring(0, 127); } customsDeclaration.setCountAndNo(value); i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i); } else if (value.contains(“报日期”) || value.contains(“口日期”) || value.contains(“备案号”)) { for (int j = i + 1; j < dataList.size(); j++) { i = j; stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); value = value.replaceAll(“G”, “0”); Pattern p = Pattern.compile("[0-9]{8}"); Matcher matcher = p.matcher(value); Pattern pNoMore = Pattern.compile("[0-9]{6,7}"); Matcher matcherNoMore = pNoMore.matcher(value); StringBuffer sb = new StringBuffer(); if(value.contains(“公司”)){ customsDeclaration.setShipperCnname(value); }else if(value.contains(“指运港”) || value.contains(“般征税”) || value.contains(“销售单位”) || value.contains(“境口岸”) || value.contains(“收货人”) || value.contains(“境内收货”)){ i–; break; }else if(value.contains(“发货人”)) { setShipperNoValue(customsDeclaration, value); }else if (matcher.matches()) { sb.append(matcher.group()); value = sb.toString(); // try { if (customsDeclaration.getDeclareDate() == null){ customsDeclaration.setDeclareDate(sdf.parse(value)); } // } catch (Exception e) { logger.error("=dateFormat error=", e); // } } } }else if (value.contains(“收货人”)) { getReceiveShipperNoValue(customsDeclaration, value); }else if (value.contains(“运单号”) || value.contains(“坛单号”)){ i++; value = dataList.get(i).get(“words”).trim(); stringStringMap = dataList.get(i); if (value.contains(“运输”)){ continue; }else if (value.contains(“销售单位”)){ i = getProductComponyValue(customsDeclaration, dataList, i, stringStringMap); }else{ customsDeclaration.setReceiveShipperCnname(dataList.get(i).get(“words”).replace("(", “”).replace(")", “”)); } }else if (value.contains(“销售单位”)) { i = getProductComponyValue(customsDeclaration, dataList, i, stringStringMap); } else if (value.contains(“许可证”) || value.contains(“可证号”) || value.contains(“监管方式”)) { for (int j = i + 1; j < dataList.size(); j++) { i = j; stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); StringBuffer sb = new StringBuffer(); if (value.contains(“公司”)) { customsDeclaration.setProductCompony(dataList.get(i).get(“words”).replace(“锎”, “铜”)); } else if (value.contains(“合同协”) || value.contains(“易国”) || value.contains(“抵国”)) { i–; break; }else if (value.contains(“销售单位”)) { getProductComponyNoValue(customsDeclaration, stringStringMap); } } } else if (value.contains(“运抵国”) || value.contains(“运抵”) || value.contains(“抵国”)) { i = i + 4; customsDeclaration.setArriveCountry(dataList.get(i).get(“words”)); } else if (value.contains(“毛重”) || value.contains(“净重”)) { i = getTotleWeightValue(customsDeclaration, dataList, i); } else if (value.trim().contains(“目的国”)) { i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i); }else if (value.trim().endsWith(“境内货源地”) || value.trim().contains(“品名称及规格”) || value.trim().contains(“商品编号”)) { i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i); }else if (value.endsWith(“征免”) || value.endsWith(“征兔”)) { i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i); } else if ((value.contains(“申报单”) || value.contains(“报单位”)) && !value.contains(“签章”)) { getDeclareUnitInfoValue(customsDeclaration, dataList, i); break; } } } catch (Exception e) { // logger.error("===deal imagedata failed", e); } }

private static int getProductComponyValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i, Map<String, String> stringStringMap) { String value; getProductComponyNoValue(customsDeclaration, stringStringMap); for (int j = i + 1; j < dataList.size(); j++) { i = j; stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); StringBuffer sb = new StringBuffer(); if (value.contains(“公司”)) { customsDeclaration.setProductCompony(dataList.get(i).get(“words”).replace(“锎”, “铜”)); } else if (value.contains(“运费”) || value.contains(“运港”) || value.contains(“合同协议号”) || value.contains(“贸易国”) || value.contains(“抵国”)) { i–; break; } } return i; }

//读取报关单位信息 private static void getDeclareUnitInfoValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i) { String value; value = dataList.get(i).get(“words”).replaceAll("\)", “”); Pattern p = Pattern.compile("[0-9A-Za-z]"); Matcher matcher = p.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } customsDeclaration.setDeclareUnitno(sb.toString()); value = value.length() <= (value.indexOf(sb.toString()) + sb.toString().length()) ? value : value.substring(value.indexOf(sb.toString()) + sb.toString().length()); customsDeclaration.setDeclareUnit(value); }

//读取货物相关信息 private static int getGoodsInfoValue(CustomsDeclaration customsDeclaration, Set goodsInfoList, List<Map<String, String>> dataList, int i) { Map<String, String> stringStringMap; String value; StringBuffer allGoodNoSb = new StringBuffer(); StringBuffer allGoodNameSb = new StringBuffer(); for (int j = i + 1; j < dataList.size(); j++) { i = j; stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); if (value.contains(“特殊关系确认”) || value.contains(“价格影响确认”) || value.contains(“报关人员”) || (j == dataList.size() - 1)) { if (allGoodNameSb.length() > 0) { customsDeclaration.setAllgoodsCnname(allGoodNameSb.substring(0, allGoodNameSb.lastIndexOf(","))); } if (allGoodNoSb.length() > 0) { customsDeclaration.setAllgoodsNo(allGoodNoSb.substring(0, allGoodNoSb.lastIndexOf(","))); } break; } if (value.contains(".") || value.contains(“千克”) || value.contains(“征免”) || value.contains(“征兔”)) { continue; } Pattern p = Pattern.compile("[0-9]{7,10}"); Matcher matcher = p.matcher(value); Pattern pStart = Pattern.compile("1{7,10}."); Matcher matcherStart = pStart.matcher(value); Pattern pWord = Pattern.compile("[\u4e00-\u9fa5]"); Matcher matcherWord = pWord.matcher(value); if (matcher.find() && matcherStart.matches() && matcherWord.find() && !value.contains("(")) { String goodNo = matcher.group(); if (goodNo.equals(value)){ continue; } value = value.length() <= (value.indexOf(goodNo) + goodNo.length()) ? value : value.substring(value.indexOf(goodNo) + goodNo.length()); if (value.contains(“转”)){ value = value.replace(“6”, “E”); } if (value.startsWith(“0”) && value.length() > 1){ goodNo = goodNo.substring(1) + “0”; value = value.substring(1); } String[] subArray = {"%", “#”, “)”, "", “+”, “,”, “|”, “°”, “”"}; for (String s : subArray) { if (value.startsWith(s)){ value = value.substring(1); } } Pattern pNum = Pattern.compile("[0-9a-zA-z]{1,4}"); Matcher matcherNum = pNum.matcher(value); if (matcherNum.matches()){ continue; } if (goodNo.length() == 7){ goodNo = goodNo + “000”; }else if (goodNo.length() == 9){ goodNo = goodNo + “0”; }else if (goodNo.length() == 8){ goodNo = goodNo + “00”; } allGoodNoSb.append(goodNo).append(","); allGoodNameSb.append(value).append(","); customsDeclaration.setGoodsNo(goodNo); customsDeclaration.setGoodsCnname(value); Goodsinfo goodsInfo = new OcrTestMetherd().new Goodsinfo(goodNo, value, “”); goodsInfoList.add(goodsInfo); continue; } //境内货源地 stringStringMap = dataList.get(j); value = stringStringMap.get(“words”).trim(); Pattern pResource = Pattern.compile("[0-9]{3,}"); Matcher matcherResource = pResource.matcher(value); if (matcherResource.find() && (value.contains("(") || value.contains(")"))) { value = value.replaceAll("\(", “”).replaceAll("\)", “”); Pattern pResourceNo = Pattern.compile("[0-9]{3,}"); Matcher mResourceNo = pResourceNo.matcher(value); while (mResourceNo.find()) { String goodsSourceno = mResourceNo.group(); customsDeclaration.setGoodsSourceno(goodsSourceno); value = value.length() <= (value.indexOf(goodsSourceno) + goodsSourceno.length()) ? value : value.substring(value.indexOf(goodsSourceno) + goodsSourceno.length()); customsDeclaration.setGoodsSource(value.replace(“照章征税”, “”).replace(“全免”, “”)); } } } return i; }

//读取毛重信息 private static int getTotleWeightValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i) { Map<String, String> stringStringMap; String value; for (int j = i + 1; j < dataList.size() - 3; j++) { stringStringMap = dataList.get(j); value = stringStringMap.get(“words”); if (value.contains(“单证及编号”)){ break; } if (value.contains(“集装箱标箱数及号码”) || value.contains(“商品名称及规格”)){ break; } i = j; if (value.contains(“杂费”)){ stringStringMap = dataList.get(j + 3); value = stringStringMap.get(“words”).trim().replaceAll(“±”, “4”); Double weight = null; try { weight = Double.valueOf(value); customsDeclaration.setTotalWeight(BigDecimal.valueOf(weight)); } catch (NumberFormatException e) { // logger.info("=weight format failed={}", value); } continue; } Pattern p = Pattern.compile("[A-Za-z]{1,}"); Matcher matcher = p.matcher(value); if (matcher.matches()) { stringStringMap = dataList.get(j - 2); value = stringStringMap.get(“words”).trim().replaceAll(“±”, “4”); Double weight = null; try { weight = Double.valueOf(value); customsDeclaration.setTotalWeight(BigDecimal.valueOf(weight)); } catch (NumberFormatException e) { // logger.info("=weight format failed={}", value); } break; } } return i; }

//读取生产销售单位信息 private static void getProductComponyNoValue(CustomsDeclaration customsDeclaration, Map<String, String> stringStringMap) { String value; value = stringStringMap.get(“words”); Pattern p = Pattern.compile("[a-zA-Z0-9]"); Matcher matcher = p.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } value = sb.toString(); customsDeclaration.setProductComponyno(value); }

//读取收货人信息 private static void getReceiveShipperNoValue(CustomsDeclaration customsDeclaration, String value) { Pattern p = Pattern.compile("[a-zA-Z0-9]"); Matcher matcher = p.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } value = sb.toString(); customsDeclaration.setReceiveShipperNo(value); }

//读取发货人信息 private static void setShipperNoValue(CustomsDeclaration customsDeclaration, String value) { Pattern p = Pattern.compile("[a-zA-Z0-9]"); Matcher matcher = p.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } value = sb.toString(); customsDeclaration.setShipperNo(value); }

public static void main(String[] args) { JFileChooser fileChooser = new JFileChooser("\"); fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); int returnVal = fileChooser.showOpenDialog(fileChooser); if(returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); List list = Lists.newArrayList(); List fileList = Lists.newArrayList(); if (file != null){ List filePathList = Lists.newArrayList(); getFileList(file.getAbsolutePath(), fileList, “”); } for(int i = 0; i < fileList.size(); i++){ CustomsDeclaration customsDeclaration = new OcrTestMetherd().new CustomsDeclaration(); customsDeclaration.setFilepath(new File(fileList.get(i)).getName()); Set goodsInfo = Sets.newHashSet(); JSONObject res = getImageValueData(fileList.get(i)); dealImageJSONObjectData(res, customsDeclaration, goodsInfo); list.add(customsDeclaration); } String[][] playerInfo = new String[6][6]; int i = 0; for (CustomsDeclaration customsDeclaration : list) { playerInfo[i][0] = customsDeclaration.getShipperCnname(); playerInfo[i][1] = customsDeclaration.getShipperNo(); playerInfo[i][2] = customsDeclaration.getGoodsCnname(); playerInfo[i][3] = customsDeclaration.getGoodsNo(); playerInfo[i][4] = customsDeclaration.getDeclareUnit(); playerInfo[i][5] = customsDeclaration.getFilepath(); i++; } OcrTestMetherd com = new OcrTestMetherd(); JFrame f = new JFrame();

// 创建表格中的横标题 String[] Names = {"发货人", "发货人no", "商品名", "商品no", "申报单位", "图片名"}; // 以Names和playerInfo为参数,创建一个表格 JTable table = new JTable(playerInfo, Names); // 设置此表视图的首选大小 table.setPreferredScrollableViewportSize(new Dimension(700, 100)); // 将表格加入到滚动条组件中 JScrollPane scrollPane = new JScrollPane(table); f.getContentPane().add(scrollPane, BorderLayout.CENTER); // 再将滚动条组件添加到中间容器中 f.setTitle("表格测试窗口"); f.pack(); f.setVisible(true); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); }

}

public static void getFileList(String path, List fileList, String pdfDirPath){ try { if (new File(path).isDirectory()){ File[] fileArray = new File(path).listFiles(); for (File file : fileArray) { if (file.isDirectory()){ getFileList(file.getAbsolutePath(), fileList, pdfDirPath); }else{ fileList.add(file.getAbsolutePath()); } } }else if(new File(path).isFile()){ // if (path.endsWith(".pdf") || path.endsWith(".PDF")){ // List filePathListNew = PdfBoxTask.extractImagesAndReturn(new File(path), pdfDirPath); // fileList.addAll(filePathListNew); // } fileList.add(path); } } catch (Exception e) { // logger.error("=get ocrFileList failed=", e); } }

class CustomsDeclaration { /** * 图片信息ID / private Long customsDeclarationId; /* * 订单id / private Long orderId; /* * 报关单类型 / private String ocrType; /* * 箱号 / private String containerNo; /* * 图片文本内容 / private String textContent; /* * 图片路径 / private String filepath; /* * 境内发货人 / private String shipperCnname; /* * 境内发货人编号 / private String shipperNo; /* * 收货人 / private String receiveShipperCnname; /* * 收货人编号 / private String receiveShipperNo; /* * 申报日期 / private Date declareDate; /* * 生产销售单位编号 / private String productComponyno; /* * 生产销售单位 / private String productCompony; /* * 运抵国(地区) / private String arriveCountry; /* * 毛重(千克) / private BigDecimal totalWeight; /* * 商品编号 / private String goodsNo; /* * 商品名称 / private String goodsCnname; /* * 全部商品编号 / private String allgoodsNo; /* * 全部商品名称 / private String allgoodsCnname; /* * 境内货源地 / private String goodsSource; /* * 境内货源地编号 / private String goodsSourceno; /* * 申报单位编号 / private String declareUnitno; /* * 申报单位 / private String declareUnit; /* * 集装箱标箱数及号码 / private String countAndNo; /* * 备注 / private String remark; /* * 添加人id / private Long addUserId; /* * 添加时间 / private Date addTime; /* * 修改人id / private Long modifyUserId; /* * 最后更新时间 */ private Date modifyTime;

/** * 发站 */ private String departureStation; /** * 到站 */ private String arriveStation; /** * 托运公司名称 */ private String shipperCompanyName; /** * 收货公司名称 */ private String arriveCompanyName; /** * 承运人确定重量 */ private BigDecimal carrierSureWeight; /** * 班次类型 */ private String orderType; private String containerType; private Long caRequirePlanId; private String caPlanNo; public Long getCaRequirePlanId() { return caRequirePlanId; } public void setCaRequirePlanId(Long caRequirePlanId) { this.caRequirePlanId = caRequirePlanId; } public String getCaPlanNo() { return caPlanNo; } public void setCaPlanNo(String caPlanNo) { this.caPlanNo = caPlanNo; } public String getContainerType() { return containerType; } public void setContainerType(String containerType) { this.containerType = containerType; } public String getDepartureStation() { return departureStation; } public void setDepartureStation(String departureStation) { this.departureStation = departureStation; } public String getArriveStation() { return arriveStation; } public void setArriveStation(String arriveStation) { this.arriveStation = arriveStation; } public String getShipperCompanyName() { return shipperCompanyName; } public void setShipperCompanyName(String shipperCompanyName) { this.shipperCompanyName = shipperCompanyName; } public String getArriveCompanyName() { return arriveCompanyName; } public void setArriveCompanyName(String arriveCompanyName) { this.arriveCompanyName = arriveCompanyName; } public BigDecimal getCarrierSureWeight() { return carrierSureWeight; } public void setCarrierSureWeight(BigDecimal carrierSureWeight) { this.carrierSureWeight = carrierSureWeight; } public Long getCustomsDeclarationId() { return customsDeclarationId; } public void setCustomsDeclarationId(Long customsDeclarationId) { this.customsDeclarationId = customsDeclarationId; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } public String getOcrType() { return ocrType; } public void setOcrType(String ocrType) { this.ocrType = ocrType; } public String getContainerNo() { return containerNo; } public void setContainerNo(String containerNo) { this.containerNo = containerNo; } public String getTextContent() { return textContent; } public void setTextContent(String textContent) { this.textContent = textContent; } public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } public String getShipperCnname() { return shipperCnname; } public void setShipperCnname(String shipperCnname) { this.shipperCnname = shipperCnname; } public String getShipperNo() { return shipperNo; } public void setShipperNo(String shipperNo) { this.shipperNo = shipperNo; } public Date getDeclareDate() { return declareDate; } public void setDeclareDate(Date declareDate) { this.declareDate = declareDate; } public String getProductComponyno() { return productComponyno; } public void setProductComponyno(String productComponyno) { this.productComponyno = productComponyno; } public String getProductCompony() { return productCompony; } public void setProductCompony(String productCompony) { this.productCompony = productCompony; } public String getArriveCountry() { return arriveCountry; } public void setArriveCountry(String arriveCountry) { this.arriveCountry = arriveCountry; } public BigDecimal getTotalWeight() { return totalWeight; } public void setTotalWeight(BigDecimal totalWeight) { this.totalWeight = totalWeight; } public String getGoodsNo() { return goodsNo; } public void setGoodsNo(String goodsNo) { this.goodsNo = goodsNo; } public String getGoodsCnname() { return goodsCnname; } public void setGoodsCnname(String goodsCnname) { this.goodsCnname = goodsCnname; } public String getAllgoodsNo() { return allgoodsNo; } public void setAllgoodsNo(String allgoodsNo) { this.allgoodsNo = allgoodsNo; } public String getAllgoodsCnname() { return allgoodsCnname; } public void setAllgoodsCnname(String allgoodsCnname) { this.allgoodsCnname = allgoodsCnname; } public String getGoodsSource() { return goodsSource; } public void setGoodsSource(String goodsSource) { this.goodsSource = goodsSource; } public String getGoodsSourceno() { return goodsSourceno; } public void setGoodsSourceno(String goodsSourceno) { this.goodsSourceno = goodsSourceno; } public String getDeclareUnitno() { return declareUnitno; } public void setDeclareUnitno(String declareUnitno) { this.declareUnitno = declareUnitno; } public String getDeclareUnit() { return declareUnit; } public void setDeclareUnit(String declareUnit) { this.declareUnit = declareUnit; } public String getCountAndNo() { return countAndNo; } public void setCountAndNo(String countAndNo) { this.countAndNo = countAndNo; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Long getAddUserId() { return addUserId; } public void setAddUserId(Long addUserId) { this.addUserId = addUserId; } public Date getAddTime() { return addTime; } public void setAddTime(Date addTime) { this.addTime = addTime; } public Long getModifyUserId() { return modifyUserId; } public void setModifyUserId(Long modifyUserId) { this.modifyUserId = modifyUserId; } public Date getModifyTime() { return modifyTime; } public void setModifyTime(Date modifyTime) { this.modifyTime = modifyTime; } public String getReceiveShipperCnname() { return receiveShipperCnname; } public void setReceiveShipperCnname(String receiveShipperCnname) { this.receiveShipperCnname = receiveShipperCnname; } public String getReceiveShipperNo() { return receiveShipperNo; } public void setReceiveShipperNo(String receiveShipperNo) { this.receiveShipperNo = receiveShipperNo; } public String getOrderType() { return orderType; } public void setOrderType(String orderType) { this.orderType = orderType; } @Override public String toString() { return "CustomsDeclaration{" + "customsDeclarationId=" + customsDeclarationId + ", orderId=" + orderId + ", ocrType='" + ocrType + ", containerNo='" + containerNo + ", textContent='" + textContent + ", filepath='" + filepath + ", shipperCnname='" + shipperCnname + ", shipperNo='" + shipperNo + ", receiveShipperCnname='" + receiveShipperCnname + ", receiveShipperNo='" + receiveShipperNo + ", declareDate=" + declareDate + ", productComponyno='" + productComponyno + ", productCompony='" + productCompony + ", arriveCountry='" + arriveCountry + ", totalWeight=" + totalWeight + ", goodsNo='" + goodsNo + ", goodsCnname='" + goodsCnname + ", allgoodsNo='" + allgoodsNo + ", allgoodsCnname='" + allgoodsCnname + ", goodsSource='" + goodsSource + ", goodsSourceno='" + goodsSourceno + ", declareUnitno='" + declareUnitno + ", declareUnit='" + declareUnit + ", countAndNo='" + countAndNo + ", remark='" + remark + ", addUserId=" + addUserId + ", addTime=" + addTime + ", modifyUserId=" + modifyUserId + ", modifyTime=" + modifyTime + ", departureStation='" + departureStation + ", arriveStation='" + arriveStation + ", shipperCompanyName='" + shipperCompanyName + ", arriveCompanyName='" + arriveCompanyName + ", carrierSureWeight=" + carrierSureWeight + ", orderType='" + orderType + '}'; }

}

class Goodsinfo {

public Goodsinfo(String goodsNo, String goodsCnname, String goodsEnname) { this.goodsNo = goodsNo; this.goodsCnname = goodsCnname; this.goodsEnname = goodsEnname; } public Goodsinfo() { } /** * 商品id */ private Long goodinfoId; /** * 商品编号 */ private String goodsNo; /** * 商品中文名 */ private String goodsCnname; /** * 商品英文名 */ private String goodsEnname; /** * 备注 */ private String remark; /** * 添加人id */ private Long addUserId; /** * 添加时间 */ private Date addTime; /** * 修改人id */ private Long modifyUserId; /** * 最后更新时间 */ private Date modifyTime; public Long getGoodinfoId() { return goodinfoId; } public void setGoodinfoId(Long goodinfoId) { this.goodinfoId = goodinfoId; } public String getGoodsNo() { return goodsNo; } public void setGoodsNo(String goodsNo) { this.goodsNo = goodsNo; } public String getGoodsCnname() { return goodsCnname; } public void setGoodsCnname(String goodsCnname) { this.goodsCnname = goodsCnname; } public String getGoodsEnname() { return goodsEnname; } public void setGoodsEnname(String goodsEnname) { this.goodsEnname = goodsEnname; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Long getAddUserId() { return addUserId; } public void setAddUserId(Long addUserId) { this.addUserId = addUserId; } public Date getAddTime() { return addTime; } public void setAddTime(Date addTime) { this.addTime = addTime; } public Long getModifyUserId() { return modifyUserId; } public void setModifyUserId(Long modifyUserId) { this.modifyUserId = modifyUserId; } public Date getModifyTime() { return modifyTime; } public void setModifyTime(Date modifyTime) { this.modifyTime = modifyTime; } @Override public String toString() { return "Goodsinfo{" + "goodinfoId=" + goodinfoId + ", goodsNo=" + goodsNo + ", goodsCnname=" + goodsCnname + ", goodsEnname=" + goodsEnname + ", remark=" + remark + ", addUserId=" + addUserId + ", addTime=" + addTime + ", modifyUserId=" + modifyUserId + ", modifyTime=" + modifyTime + "}"; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Goodsinfo goodsinfo = (Goodsinfo) o; return goodsNo.equals(goodsinfo.goodsNo) && goodsCnname.equals(goodsinfo.goodsCnname); } @Override public int hashCode() { return goodsNo.hashCode() + goodsCnname.hashCode(); }

}

}


0-9 ↩︎

最新回复(0)