微信后端代码
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.

135 lines
5.1 KiB

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);
}
}
}