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 a6de144..b43cba5 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -148,6 +148,9 @@ public class ProjectController extends BaseController{ model.put("project", project); BudgetBean budgetBean = projectBudgetService.getBudget(project); model.put("budgetBean", budgetBean); + model.put("incomeDetails", projectBudgetService.getBudgetIncomeDetail(project)); + model.put("costDetails", projectBudgetService.getBudgetCostDetail(project)); + model.put("costProjectManageDetails", projectBudgetService.getBudgetCostProjectManageDetail(project)); return "admin/project_budget_edit"; } diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java index 68203a2..ca7ee82 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java @@ -114,6 +114,7 @@ public class ProjectBudgetIncomeDetail { } //不含税总金额=含税总金额/(1+税率) - return totalTaxInclude.divide(taxRate.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP), 2, BigDecimal.ROUND_HALF_UP); + BigDecimal bigDecimal = taxRate.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(1)); + return totalTaxInclude.divide(bigDecimal, 2, BigDecimal.ROUND_HALF_UP); } } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index c4a0fac..1d878c4 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -223,6 +223,13 @@ public class ProjectBudgetService { projectBudgetIncomeDetailRepository.save(detailList); } } + + /** + * 获取项目的收入明细 + */ + public List getBudgetIncomeDetail(Project project){ + return projectBudgetIncomeDetailRepository.findAllByProjectIdEquals(project.getId()); + } /** * 清空项目的成本明细 */ @@ -244,6 +251,13 @@ public class ProjectBudgetService { projectBudgetCostDetailRepository.save(detailList); } } + + /** + * 获取项目的成本明细 + */ + public List getBudgetCostDetail(Project project){ + return projectBudgetCostDetailRepository.findAllByProjectIdEquals(project.getId()); + } /** * 清空项目的项目管理成本明细 */ @@ -265,4 +279,7 @@ public class ProjectBudgetService { projectBudgetCostProjectManageDetailRepository.save(detailList); } } + public List getBudgetCostProjectManageDetail(Project project){ + return projectBudgetCostProjectManageDetailRepository.findAllByProjectIdEquals(project.getId()); + } } diff --git a/src/main/resources/static/assets/js/project_budget.js b/src/main/resources/static/assets/js/project_budget.js new file mode 100644 index 0000000..1c91c96 --- /dev/null +++ b/src/main/resources/static/assets/js/project_budget.js @@ -0,0 +1,65 @@ +/** + * 一维数组变二维数组 + * @param list + * @param elementsPerSubArray + * @returns {Array} + */ +function arrayToMatrix(list, elementsPerSubArray) { + var matrix = [], i, k; + + for (i = 0, k = -1; i < list.length; i++) { + if (i % elementsPerSubArray === 0) { + k++; + matrix[k] = []; + } + + matrix[k].push(list[i]); + } + + return matrix; +} + +/** + * 根据映射关系将数组变为对象 + */ +function arr2Object(arr, mapArr) { + var obj = {}; + for (var i = 0; i < mapArr.length; i++) { + obj[mapArr[i]]=arr[i]; + } + return obj; +} + +/** + * 一个收入详情的字段 + */ +INCOME_DETAIL_ARR=["type","name","unit","amount","price","taxRate"]; +INCOME_DETAIL_PROP_LENGTH=8; + +function saveIncome(url, data, projectId) { + if(Array.isArray(data) && data.length != 0){ + var arr = arrayToMatrix(data,INCOME_DETAIL_PROP_LENGTH); + console.log(arr); + var incomeDetails = []; + for (var i=0;i <@defaultLayout.layout> + + +
@@ -393,9 +406,7 @@
- - -
+
新增销售收入明细表——${project.name}
@@ -411,9 +422,32 @@ 含税总金额(元) 不含税金额(元) - + + <#if incomeDetails??> + <#list incomeDetails as incomeDetail> + + + + + + + + + + + + + + + + + <#-- - @@ -426,32 +460,13 @@ - - - - - - - - - - - - - - - - + -->
@@ -485,8 +500,7 @@ $('#my-prompt-income-detail').modal({ relatedTarget: this, onConfirm: function(e) { - console.log(e); - alert('你输入的是:' + e.data || '') + saveIncome("${base}/project/budgetEditSaveIncomeDetail", e.data, $("#id").val()); }, onCancel: function(e) { }