use of com.fruit.manage.model.ProcurementPlanDetail in project fruit-manage by liuzhaozhao.
the class PlanDetailController method uploaderExcelTwo.
public void uploaderExcelTwo() {
try {
String fileName = getPara("fileName");
String filePath = CommonController.FILE_PATH + File.separator + fileName;
Iterator<ExcelRdRow> iterator = PlanDetailController.readExcel(filePath).iterator();
Integer count = 0;
Map<String, ProcurementPlanDetail> mapKeyOne = new HashMap<>();
Map<String, ProcurementPlanDetail> mapKeyTwo = new HashMap<>();
String[] createTimes = new String[2];
// 循环Excel行
while (iterator.hasNext()) {
ExcelRdRow next = iterator.next();
List<Object> row = next.getRow();
count++;
if (count == 1) {
String createTimeStr = ((String) row.get(0)).split(" ")[0].substring(5);
createTimes[0] = DateAndStringFormat.getNextDay(createTimeStr, "-1") + " 12:00:00";
createTimes[1] = createTimeStr + " 11:59:59";
// 根据时间获取所有的采购计划
List<ProcurementPlanDetail> procurementPlanDetailList = ProcurementPlanDetail.dao.getAllPPlanDetail(createTimes);
if (procurementPlanDetailList != null && procurementPlanDetailList.size() > 0) {
// 循环所有的采购计划数据到Map临时数据
for (ProcurementPlanDetail pPlanDetail : procurementPlanDetailList) {
// key为productStandardId,value为ProcurementPlanDetail
mapKeyOne.put(pPlanDetail.getProductStandardId() + "", pPlanDetail);
// key为productStandardId+"-"+procurementId,value为ProcurementPlanDetail
mapKeyTwo.put(pPlanDetail.getProductStandardId() + "-" + pPlanDetail.getProcurementId(), pPlanDetail);
}
}
}
if (count > 2) {
if (count == 3) {
// 根据时间删除所有的采购计划
ProcurementPlanDetail.dao.delAllPPlanDetailByTime(createTimes);
}
ProcurementPlanDetail pPDtailTwo = mapKeyTwo.get((Integer) row.get(0) + "-" + (Integer) row.get(5));
if (pPDtailTwo != null) {
pPDtailTwo.setId(null);
pPDtailTwo.setProductStandardId((int) row.get(0));
pPDtailTwo.setProductName((String) row.get(1));
pPDtailTwo.setProductStandardName((String) row.get(2));
pPDtailTwo.setProcurementNum((int) row.get(3));
pPDtailTwo.setProcurementNeedPrice(new BigDecimal((Double) row.get(4)));
pPDtailTwo.setProcurementId((int) row.get(5));
pPDtailTwo.setProcurementRemark((String) row.get(6));
BigDecimal pNeedPrice = new BigDecimal((Double) row.get(4));
BigDecimal pNum = new BigDecimal((int) row.get(3));
pPDtailTwo.setProcurementTotalPrice(pNeedPrice.multiply(pNum));
pPDtailTwo.setUpdateTime(new Date());
pPDtailTwo.save();
} else {
ProcurementPlanDetail pPDtailOne = mapKeyOne.get(row.get(0) + "");
if (pPDtailOne != null) {
pPDtailOne.setId(null);
pPDtailOne.setProductStandardId((int) row.get(0));
pPDtailOne.setProductName((String) row.get(1));
pPDtailOne.setProductStandardName((String) row.get(2));
pPDtailOne.setProcurementNum((int) row.get(3));
pPDtailOne.setProcurementNeedPrice(new BigDecimal((Double) row.get(4)));
pPDtailOne.setProcurementId((int) row.get(5));
pPDtailOne.setProcurementRemark((String) row.get(6));
BigDecimal pNeedPrice = new BigDecimal((Double) row.get(4));
BigDecimal pNum = new BigDecimal((int) row.get(3));
pPDtailOne.setProcurementTotalPrice(pNeedPrice.multiply(pNum));
pPDtailOne.setUpdateTime(new Date());
pPDtailOne.save();
}
}
}
}
renderJson(new ArrayList<>().add(0));
} catch (Exception e) {
renderJson(new ArrayList<>().add(1));
}
}
Aggregations