package com.ynxbd.common.helper.common; import com.ynxbd.common.bean.pay.Order; import com.ynxbd.common.dao.RecipeDao; import com.ynxbd.common.dao.RegisterDao; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import java.io.FileInputStream; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class AccountsExcel { /** * 根据文件路径读取Excel */ private static void readFile() { String path = "C:\\Users\\Administrator\\Desktop\\11-05.xls"; Workbook work = null; List orderList = new ArrayList<>(); Order order; try { work = new HSSFWorkbook(new FileInputStream(path));// 得到这个excel表格对象 Sheet sheet = work.getSheetAt(0);//得到第一个sheet for (int i = 3; i < sheet.getLastRowNum(); i++) { Row row = sheet.getRow(i); short lastCellNum = row.getLastCellNum(); if (lastCellNum == 14) { String msgInterface = row.getCell(6).getStringCellValue(); if ("缴费".equals(msgInterface.trim())) { order = new Order(); order.setOpenid(msgInterface); order.setTradeNo(row.getCell(10).getStringCellValue()); order.setPatientId(row.getCell(0).getStringCellValue()); order.setPayMoney(new BigDecimal(row.getCell(9).getStringCellValue())); orderList.add(order); } } } } catch (Exception e) { e.printStackTrace(); } List recipeList = new RecipeDao().selectList("2021-11-05", "2021-11-05"); List resultList = new ArrayList<>(); boolean isHas = false; for (Order hisOrder : orderList) { isHas = false; for (Order recipeItem : recipeList) { if (hisOrder.getTradeNo().equals(recipeItem.getTradeNo())) { if (hisOrder.getPayMoney().compareTo(recipeItem.getPayMoney()) != 0) { System.out.println(hisOrder); System.out.println(recipeItem); System.out.println("================================="); } isHas = true; break; } } if (!isHas) { resultList.add(hisOrder); } } System.out.println(resultList); } public static void main(String[] args) { reg(); readFile(); } /** * 根据文件路径读取Excel */ private static void reg() { String path = "C:\\Users\\Administrator\\Desktop\\11-05.xls"; Workbook work = null; List orderList = new ArrayList<>(); Order order; try { work = new HSSFWorkbook(new FileInputStream(path));// 得到这个excel表格对象 Sheet sheet = work.getSheetAt(0);//得到第一个sheet for (int i = 3; i < sheet.getLastRowNum(); i++) { Row row = sheet.getRow(i); short lastCellNum = row.getLastCellNum(); if (lastCellNum == 14) { String msgInterface = row.getCell(6).getStringCellValue(); if (msgInterface.contains("挂号")) { order = new Order(); order.setOpenid(msgInterface); order.setTradeNo(row.getCell(10).getStringCellValue()); order.setPatientId(row.getCell(0).getStringCellValue()); order.setPayMoney(new BigDecimal(row.getCell(9).getStringCellValue())); orderList.add(order); } } } } catch (Exception e) { e.printStackTrace(); } System.out.println(orderList.size()); List regList = new RegisterDao().selectList("2021-11-05", "2021-11-05"); List resultList = new ArrayList<>(); boolean isHas = false; for (Order hisOrder : orderList) { isHas = false; for (Order item : regList) { if (hisOrder.getTradeNo().equals(item.getTradeNo())) { if (hisOrder.getPayMoney().compareTo(item.getPayMoney()) != 0) { System.out.println(hisOrder); System.out.println(item); System.out.println("================================="); } isHas = true; break; } } if (!isHas) { resultList.add(hisOrder); } } for (Order a : resultList) { System.out.println(a); } } }