From 9132b5947809d20a4fde83956b04d3f4d6cf092a Mon Sep 17 00:00:00 2001 From: OathK1per Date: Mon, 5 Sep 2022 16:31:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 3 +- .../work/service/ProjectBudgetService.java | 50 +++++++++++++++---- .../templates/admin/project_budget_edit.ftl | 48 +++++++++++++++++- 3 files changed, 90 insertions(+), 11 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 293a50c..14cdc80 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -1034,7 +1034,8 @@ public class ProjectController extends BaseController { Collection maps = ExcelUtil.importExcel(Map.class, file.getInputStream(), "yyyy/MM/dd HH:mm:ss", logs, 0); synchronized (this) { - return JSON.toJSONString(projectBudgetService.checkIncome(maps, id)); + ResponseMsg responseMsg = projectBudgetService.checkIncome(maps, id); + return JSON.toJSONString(responseMsg); } } catch (OfficeXmlFileException | EncryptedDocumentException | InvalidFormatException e) { logger.error("", e); diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index fbd2fb0..2726baf 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -955,9 +955,11 @@ public class ProjectBudgetService { int errorCount = 0; List errorList = new ArrayList<>(); List incomeDetailTempList = new ArrayList<>(); + List incomeDetailList = new ArrayList<>(); for (Map m : excelMap) { try { saveIncomeTemp(m, id, incomeDetailTempList); + successCount++; } catch (Exception e) { logger.error("", e); errorCount++; @@ -967,6 +969,11 @@ public class ProjectBudgetService { } } projectBudgetIncomeDetailTempRepository.save(incomeDetailTempList); + for (ProjectBudgetIncomeDetailTemp projectBudgetIncomeDetailTemp : incomeDetailTempList) { + ProjectBudgetIncomeDetail projectBudgetIncomeDetail = projectBudgetIncomeDetailTemp.toProjectBudgetIncomeDetail(); + incomeDetailList.add(projectBudgetIncomeDetail); + } + projectBudgetIncomeDetailRepository.save(incomeDetailList); final ResponseMsg msg = ResponseMsg.buildSuccessMsg(String.format("成功:%d, 失败:%d", successCount, errorCount)); msg.setData(errorList); return msg; @@ -995,13 +1002,19 @@ public class ProjectBudgetService { temp.setUnit((String) o1); key = "数量"; o1 = m.get(key); - temp.setAmount(Integer.parseInt((String) o1)); + if (o1 != null) { + temp.setAmount(Integer.parseInt((String) o1)); + } key = "单价"; o1 = m.get(key); - temp.setPrice(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setPrice(new BigDecimal((String) o1)); + } key = "税率(%)"; o1 = m.get(key); - temp.setTaxRate(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setTaxRate(new BigDecimal((String) o1)); + } incomeDetailTempList.add(temp); } @@ -1011,9 +1024,11 @@ public class ProjectBudgetService { int errorCount = 0; List errorList = new ArrayList<>(); List costDetailTempList = new ArrayList<>(); + List CostDetailList = new ArrayList<>(); for (Map m : excelMap) { try { saveCostTemp(m, id, costDetailTempList); + successCount++; } catch (Exception e) { logger.error("", e); errorCount++; @@ -1023,6 +1038,11 @@ public class ProjectBudgetService { } } projectBudgetCostDetailTempRepository.save(costDetailTempList); + for (ProjectBudgetCostDetailTemp projectBudgetCostDetailTemp : costDetailTempList) { + ProjectBudgetCostDetail projectBudgetCostDetail = projectBudgetCostDetailTemp.toProjectBudgetCostDetail(); + CostDetailList.add(projectBudgetCostDetail); + } + projectBudgetCostDetailRepository.save(CostDetailList); final ResponseMsg msg = ResponseMsg.buildSuccessMsg(String.format("成功:%d, 失败:%d", successCount, errorCount)); msg.setData(errorList); return msg; @@ -1060,13 +1080,19 @@ public class ProjectBudgetService { temp.setUnit((String) o1); key = "数量"; o1 = m.get(key); - temp.setAmount(Integer.parseInt((String) o1)); + if (o1 != null) { + temp.setAmount(Integer.parseInt((String) o1)); + } key = "单价"; o1 = m.get(key); - temp.setPrice(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setPrice(new BigDecimal((String) o1)); + } key = "税率(%)"; o1 = m.get(key); - temp.setTaxRate(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setTaxRate(new BigDecimal((String) o1)); + } key = "签约方"; o1 = m.get(key); temp.setContractParty((String) o1); @@ -1082,13 +1108,19 @@ public class ProjectBudgetService { } key = "预估垫资金额(元)"; o1 = m.get(key); - temp.setUnderwrittenAmount(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setUnderwrittenAmount(new BigDecimal((String) o1)); + } key = "支出时间"; o1 = m.get(key); - temp.setPayTime(DateKit.getDate((String) o1, DateKit.DATE_FORMAT)); + if (o1 != null) { + temp.setPayTime(DateKit.getDate((String) o1, DateKit.DATE_FORMAT)); + } key = "支出金额(元)"; o1 = m.get(key); - temp.setPayAmount(new BigDecimal((String) o1)); + if (o1 != null) { + temp.setPayAmount(new BigDecimal((String) o1)); + } key = "付款方式"; o1 = m.get(key); temp.setPayWay((String) o1); diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index 8151d9b..fdbf7e8 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -758,7 +758,7 @@ 批量导入 - +