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 71bea20..d2f1901 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -194,8 +194,8 @@ public class ProjectController extends BaseController { } else { incomeTaxRates = incomeTaxSb.toString(); } - String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; - String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; + String[] headers2 = {"序号", "类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; + String[] columns2 = {"tempId", "type", "name", "spec", "param", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream); //收入计划 List budgetIncomePlanDetail = projectBudgetService.getBudgetIncomePlanDetail(project); @@ -224,7 +224,7 @@ public class ProjectController extends BaseController { } else { costTaxRates = costTaxSb.toString(); } - String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; + String[] headers3 = {"序号", "费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax", "contractParty", "isUnderwritten", "underwrittenAmount", "payTime", "payAmount", "payWay", "remark"}; exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, costUnderwrittenAmountTotal, costPayAmountTotal, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream); //项目管理成本明细 @@ -1046,7 +1046,7 @@ public class ProjectController extends BaseController { @RequestMapping("/incomeTemplate") public void incomeTemplate(HttpServletResponse response) throws Exception{ - String[] headers = new String[]{"类别", "名称", "单位", "数量", "单价", "税率(%)"}; + String[] headers = new String[]{"类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)"}; downloadHeader(response , Utils.generateExcelName("收入明细表批量导入模板")); ExportUtils exportUtils = new ExportUtils(headers); exportUtils.write(response.getOutputStream()); @@ -1081,7 +1081,7 @@ public class ProjectController extends BaseController { @RequestMapping("/costTemplate") public void costTemplate(HttpServletResponse response) throws Exception{ - String[] headers = new String[]{"大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; + String[] headers = new String[]{"费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; downloadHeader(response , Utils.generateExcelName("采购成本明细表批量导入模板")); ExportUtils exportUtils = new ExportUtils(headers); exportUtils.write(response.getOutputStream()); @@ -1164,8 +1164,8 @@ public class ProjectController extends BaseController { //收入明细 List budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project); BigDecimal incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); - String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; - String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; + String[] headers2 = {"序号", "类别", "名称", "规格类型", "参数", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; + String[] columns2 = {"tempId", "type", "name", "spec", "param", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream); exportExcelUtils.end(outputStream); @@ -1212,7 +1212,7 @@ public class ProjectController extends BaseController { BigDecimal costPayAmountTotal = projectBudgetService.getBudgetCostPayAmountTotal(project); List procurementTypes = procurementTypeService.allProcurementTypeList(); Map procurementMap = procurementTypes.stream().collect(Collectors.toMap(ProcurementType::getId, ProcurementType::getName)); - String[] headers3 = {"序号", "大类", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; + String[] headers3 = {"序号", "费用项目", "采购类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)", "签约方", "是否垫资", "预估垫资金额(元)", "支出时间", "支出金额(元)", "付款方式", "备注"}; String[] columns3 = {"tempId", "type", "category", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax", "contractParty", "isUnderwritten", "underwrittenAmount", "payTime", "payAmount", "payWay", "remark"}; exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, costUnderwrittenAmountTotal, costPayAmountTotal, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java index b8890e8..5760faf 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java @@ -26,6 +26,10 @@ public class ProjectBudgetIncomeDetailBase { private String name; + private String spec; + + private String param; + private String unit; private BigDecimal amount; private BigDecimal price; @@ -65,6 +69,22 @@ public class ProjectBudgetIncomeDetailBase { this.name = name; } + public String getSpec() { + return spec; + } + + public void setSpec(String spec) { + this.spec = spec; + } + + public String getParam() { + return param; + } + + public void setParam(String param) { + this.param = param; + } + public String getUnit() { return unit; } diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java index a4f7f88..d03a47c 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java @@ -14,6 +14,8 @@ public class ProjectBudgetIncomeDetailTemp extends ProjectBudgetIncomeDetailBase projectBudgetIncomeDetail.setProjectId(getProjectId()); projectBudgetIncomeDetail.setName(getName()); projectBudgetIncomeDetail.setType(getType()); + projectBudgetIncomeDetail.setSpec(getSpec()); + projectBudgetIncomeDetail.setParam(getParam()); projectBudgetIncomeDetail.setUnit(getUnit()); projectBudgetIncomeDetail.setAmount(getAmount()); projectBudgetIncomeDetail.setPrice(getPrice()); diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 8921c10..851bb39 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -1070,6 +1070,12 @@ public class ProjectBudgetService { key = "名称"; o1 = m.get(key); temp.setName((String) o1); + key = "规格类型"; + o1 = m.get(key); + temp.setName((String) o1); + key = "参数"; + o1 = m.get(key); + temp.setName((String) o1); key = "单位"; o1 = m.get(key); temp.setUnit((String) o1); @@ -1130,7 +1136,7 @@ public class ProjectBudgetService { String key; Object o1; temp.setProjectId(id); - key = "大类"; + key = "费用项目"; o1 = m.get(key); String type = (String) o1; if ("设备".equals(type)) { @@ -1142,16 +1148,16 @@ public class ProjectBudgetService { } else if ("其他".equals(type)) { temp.setType(4); } else { - throw new Exception("该大类不存在"); + throw new Exception("该费用项目不存在"); } - key = "类别"; + key = "采购类别"; o1 = m.get(key); String category = (String) o1; ProcurementType procurementType = procurementTypeRepository.findByName(category); if (procurementType != null && procurementType.getType() == temp.getType()) { temp.setCategory(procurementType.getId()); } else { - throw new Exception("该类别不存在或者与大类不匹配"); + throw new Exception("该采购类别不存在或者与费用项目不匹配"); } key = "名称"; o1 = m.get(key); diff --git a/src/main/resources/static/assets/js/project_budget_cost.js b/src/main/resources/static/assets/js/project_budget_cost.js index b505764..cfb6ad0 100644 --- a/src/main/resources/static/assets/js/project_budget_cost.js +++ b/src/main/resources/static/assets/js/project_budget_cost.js @@ -4,8 +4,8 @@ //COST_DETAIL_ARR=["type","category","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"]; COST_DETAIL2={ "num":[false,"序号","string"], - "type":[false,"大类","string"], - "category":[false,"类别","string"], + "type":[false,"费用项目","string"], + "category":[false,"采购类别","string"], "name":[false,"名称","string"], "unit":[false,"单位","string"], "amount":[false,"数量","number"], @@ -25,8 +25,8 @@ COST_DETAIL2={ COST_DETAIL={ "num":[false,"序号","string"], - "type":[true,"大类","string"], - "category":[true,"类别","string"], + "type":[true,"费用项目","string"], + "category":[true,"采购类别","string"], "name":[true,"名称","string"], "unit":[true,"单位","string"], "amount":[true,"数量","number"], diff --git a/src/main/resources/static/assets/js/project_budget_income.js b/src/main/resources/static/assets/js/project_budget_income.js index b535633..5c606fe 100644 --- a/src/main/resources/static/assets/js/project_budget_income.js +++ b/src/main/resources/static/assets/js/project_budget_income.js @@ -6,6 +6,8 @@ INCOME_DETAIL2={ "num":[false,"序号","string"], "type":[false,"类别","string"], "name":[false,"名称","string"], + "spec":[false,"规格类型","string"], + "param":[false,"参数","string"], "unit":[false,"单位","string"], "amount":[false,"数量","number"], "price":[false,"单价","price"], @@ -19,6 +21,8 @@ INCOME_DETAIL={ "num":[false,"序号","string"], "type":[true,"类别","string"], "name":[true,"名称","string"], + "spec":[true,"规格类型","string"], + "param":[true,"参数","string"], "unit":[true,"单位","string"], "amount":[true,"数量","number"], "price":[true,"单价","price"], @@ -176,6 +180,8 @@ function appendTrIncome() { ' \n' + ' \n' + ' \n' + + ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + diff --git a/src/main/resources/static/assets/js/project_budget_plan.js b/src/main/resources/static/assets/js/project_budget_plan.js index 39a31e6..2663df1 100644 --- a/src/main/resources/static/assets/js/project_budget_plan.js +++ b/src/main/resources/static/assets/js/project_budget_plan.js @@ -352,12 +352,12 @@ function verifyBudgetPlan(){ //从采购成本明细中取“设备”大类下的总计---设备支出 if(costPurchaseDeviceTaxInclude != input_total_device_cost_budget_plan){ - return "采购成本明细中取“设备”大类下的总计["+costPurchaseDeviceTaxInclude+"]与设备支出["+input_total_device_cost_budget_plan+"]不等"; + return "采购成本明细中取“设备”费用项目下的总计["+costPurchaseDeviceTaxInclude+"]与设备支出["+input_total_device_cost_budget_plan+"]不等"; } //从采购成本明细中取“服务+施工+其他”大类的总计---工程支出 var t = f2(f2(costPurchaseBuildTaxInclude)+f2(costPurchaseServiceTaxInclude)+f2(costPurchaseOtherTaxInclude)); if(t != f2(input_total_engineer_cost_budget_plan)){ - return "采购成本明细中取“服务+施工+其他”大类的总计["+t+"]与工程支出["+input_total_engineer_cost_budget_plan+"]不等"; + return "采购成本明细中取“服务+施工+其他”费用项目的总计["+t+"]与工程支出["+input_total_engineer_cost_budget_plan+"]不等"; } //从项目管理成本取总计金额--经营性开支 if(costProjectManageTaxInclude != input_total_project_manage_budget_plan){ diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl index e244453..2c59358 100644 --- a/src/main/resources/templates/admin/project_approve.ftl +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -435,6 +435,8 @@ 序号 类别 名称 + 规格类型 + 参数 单位 数量 单价 @@ -471,6 +473,12 @@ + + @@ -508,6 +516,8 @@ + + > @@ -596,8 +606,8 @@ 序号 - 大类 - 类别 + 费用项目 + 采购类别 名称 单位 数量 diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index ce597bc..56815fa 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -341,6 +341,8 @@ 序号 类别 名称 + 规格类型 + 参数 单位 数量 单价 @@ -364,6 +366,8 @@ + + > @@ -380,6 +384,8 @@ + + > @@ -471,8 +477,8 @@ 序号 - 大类 - 类别 + 费用项目 + 采购类别 名称 单位 数量 diff --git a/src/main/resources/templates/common/space_pager.ftl b/src/main/resources/templates/common/space_pager.ftl index 984b304..11c70f2 100644 --- a/src/main/resources/templates/common/space_pager.ftl +++ b/src/main/resources/templates/common/space_pager.ftl @@ -48,7 +48,8 @@ }); } } - }); + }); + $('#pager').prepend('
  • 共${(pager.totalRow)!10}条<\/a><\/li>');