You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
5.1 KiB
136 lines
5.1 KiB
2 years ago
|
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<Order> 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<Order> recipeList = new RecipeDao().selectList("2021-11-05", "2021-11-05");
|
||
|
List<Order> 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<Order> 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<Order> regList = new RegisterDao().selectList("2021-11-05", "2021-11-05");
|
||
|
List<Order> 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);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|