From 58994ba1e69b5709969bad8a77004b881ffb4db3 Mon Sep 17 00:00:00 2001 From: xxssyyyyssxx Date: Tue, 7 Dec 2021 18:52:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=9A=84=E6=97=B6=E5=80=99=E6=89=8D=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E6=8F=90=E4=BA=A4=E6=98=8E=E7=BB=86=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 48 +++---- .../model/ProjectBudgetCostDetailTemp.java | 25 ++++ ...ProjectBudgetCostDetailTempRepository.java | 9 ++ ...jectBudgetCostProjectManageDetailTemp.java | 27 ++++ ...CostProjectManageDetailTempRepository.java | 9 ++ .../model/ProjectBudgetIncomeDetailTemp.java | 23 ++++ ...ojectBudgetIncomeDetailTempRepository.java | 9 ++ .../model/ProjectBudgetPlanDetailTemp.java | 30 +++++ ...ProjectBudgetPlanDetailTempRepository.java | 13 ++ .../work/service/ProjectBudgetService.java | 127 +++++++++++++++++- 10 files changed, 296 insertions(+), 24 deletions(-) create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTempRepository.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTempRepository.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTempRepository.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTempRepository.java 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 5467d2b..283f75a 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -36,6 +36,8 @@ import java.util.concurrent.ConcurrentHashMap; @RequestMapping("/project") public class ProjectController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(ProjectController.class); + private static final String PROJECT_ID = "projectId"; + private static final String DETAILS = "details"; @Autowired private DeptService deptService; @@ -230,16 +232,16 @@ public class ProjectController extends BaseController { @ResponseBody public ResponseMsg budgetEditSaveIncomeDetail(@RequestBody String body) { JSONObject jsonObject = JSON.parseObject(body); - JSONArray details = jsonObject.getJSONArray("details"); - List detailList = new ArrayList<>(details.size()); + JSONArray details = jsonObject.getJSONArray(DETAILS); + List detailList = new ArrayList<>(details.size()); for (int i = 0; i < details.size(); i++) { - ProjectBudgetIncomeDetail detail = details.getObject(i, ProjectBudgetIncomeDetail.class); + ProjectBudgetIncomeDetailTemp detail = details.getObject(i, ProjectBudgetIncomeDetailTemp.class); detailList.add(detail); } - Project project = projectService.getProject(jsonObject.getInteger("projectId")); + Project project = projectService.getProject(jsonObject.getInteger(PROJECT_ID)); - projectBudgetService.saveBudgetIncomeDetail(project, detailList); + projectBudgetService.saveBudgetIncomeDetailTemp(project, detailList); return ResponseMsg.buildSuccessMsg("成功"); } @@ -251,16 +253,16 @@ public class ProjectController extends BaseController { @ResponseBody public ResponseMsg budgetEditSaveCostDetail(@RequestBody String body) { JSONObject jsonObject = JSON.parseObject(body); - JSONArray details = jsonObject.getJSONArray("details"); - List detailList = new ArrayList<>(details.size()); + JSONArray details = jsonObject.getJSONArray(DETAILS); + List detailList = new ArrayList<>(details.size()); for (int i = 0; i < details.size(); i++) { - ProjectBudgetCostDetail detail = details.getObject(i, ProjectBudgetCostDetail.class); + ProjectBudgetCostDetailTemp detail = details.getObject(i, ProjectBudgetCostDetailTemp.class); detailList.add(detail); } - Project project = projectService.getProject(jsonObject.getInteger("projectId")); + Project project = projectService.getProject(jsonObject.getInteger(PROJECT_ID)); - projectBudgetService.saveBudgetCostDetail(project, detailList); + projectBudgetService.saveBudgetCostDetailTemp(project, detailList); return ResponseMsg.buildSuccessMsg("成功"); } @@ -272,16 +274,16 @@ public class ProjectController extends BaseController { @ResponseBody public ResponseMsg budgetEditSaveCostProjectManageDetail(@RequestBody String body) { JSONObject jsonObject = JSON.parseObject(body); - JSONArray details = jsonObject.getJSONArray("details"); - List detailList = new ArrayList<>(details.size()); + JSONArray details = jsonObject.getJSONArray(DETAILS); + List detailList = new ArrayList<>(details.size()); for (int i = 0; i < details.size(); i++) { - ProjectBudgetCostProjectManageDetail detail = details.getObject(i, ProjectBudgetCostProjectManageDetail.class); + ProjectBudgetCostProjectManageDetailTemp detail = details.getObject(i, ProjectBudgetCostProjectManageDetailTemp.class); detailList.add(detail); } - Project project = projectService.getProject(jsonObject.getInteger("projectId")); + Project project = projectService.getProject(jsonObject.getInteger(PROJECT_ID)); - projectBudgetService.saveBudgetCostProjectManageDetail(project, detailList); + projectBudgetService.saveBudgetCostProjectManageDetailTemp(project, detailList); return ResponseMsg.buildSuccessMsg("成功"); } @@ -293,16 +295,16 @@ public class ProjectController extends BaseController { @ResponseBody public ResponseMsg budgetEditSaveBudgetPlanDetail(@RequestBody String body) { JSONObject jsonObject = JSON.parseObject(body); - JSONArray details = jsonObject.getJSONArray("details"); - List detailList = new ArrayList<>(details.size()); + JSONArray details = jsonObject.getJSONArray(DETAILS); + List detailList = new ArrayList<>(details.size()); for (int i = 0; i < details.size(); i++) { - ProjectBudgetPlanDetail detail = details.getObject(i, ProjectBudgetPlanDetail.class); + ProjectBudgetPlanDetailTemp detail = details.getObject(i, ProjectBudgetPlanDetailTemp.class); detailList.add(detail); } - Project project = projectService.getProject(jsonObject.getInteger("projectId")); + Project project = projectService.getProject(jsonObject.getInteger(PROJECT_ID)); - projectBudgetService.saveBudgetPlanDetail(project, detailList); + projectBudgetService.saveBudgetPlanDetailTemp(project, detailList); return ResponseMsg.buildSuccessMsg("成功"); } @@ -426,7 +428,7 @@ public class ProjectController extends BaseController { */ @RequestMapping("/taskRecords/{projectId}") public String taskRecords(@PathVariable int projectId, Map model) { - model.put("projectId", projectId); + model.put(PROJECT_ID, projectId); List list = projectTaskRecordService.list(projectId); if (list != null && !list.isEmpty()) { model.put("list", list); @@ -452,7 +454,7 @@ public class ProjectController extends BaseController { * 流程实列图片 */ @RequestMapping("/procInsPng/{projectId}") - public void png(HttpServletResponse response, @PathVariable("projectId") int projectId) throws Exception { + public void png(HttpServletResponse response, @PathVariable(PROJECT_ID) int projectId) throws Exception { List relationList = projectInstanceRelationRepository.findByProjectIdOrderByCreateTimeDesc(projectId); if (relationList == null || relationList.isEmpty()) { return; @@ -499,7 +501,7 @@ public class ProjectController extends BaseController { { id:22, pId:2, name:"随意勾选 2-2", open:true}, { id:23, pId:2, name:"随意勾选 2-3"}*/ JSONObject jsonObject = JSON.parseObject(body); - Integer projectId = jsonObject.getInteger("projectId"); + Integer projectId = jsonObject.getInteger(PROJECT_ID); JSONArray array = jsonObject.getJSONArray("ids"); String[] ids = new String[array.size()]; for (int i = 0; i < array.size(); i++) { diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java new file mode 100644 index 0000000..70a4949 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java @@ -0,0 +1,25 @@ +package cn.palmte.work.model; + + +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * 项目预算成本明细临时表 + */ +@Entity +@Table(name = "project_budget_cost_detail_temp") +public class ProjectBudgetCostDetailTemp extends ProjectBudgetCostDetail{ + public ProjectBudgetCostDetail toProjectBudgetCostDetail(){ + ProjectBudgetCostDetail detail = new ProjectBudgetCostDetail(); + detail.setProjectId(getProjectId()); + detail.setType(getType()); + detail.setCategory(getCategory()); + detail.setName(getName()); + detail.setUnit(getUnit()); + detail.setAmount(getAmount()); + detail.setPrice(getPrice()); + detail.setTaxRate(getTaxRate()); + return detail; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTempRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTempRepository.java new file mode 100644 index 0000000..e221179 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTempRepository.java @@ -0,0 +1,9 @@ +package cn.palmte.work.model; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface ProjectBudgetCostDetailTempRepository extends JpaRepository { + List findAllByProjectIdEquals(int id); +} diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java new file mode 100644 index 0000000..bbd172d --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java @@ -0,0 +1,27 @@ +package cn.palmte.work.model; + + +import javax.persistence.*; + +/** + * 项目预算项目管理成本明细临时表 + */ +@Entity +@Table(name = "project_budget_cost_project_manage_detail_temp") +public class ProjectBudgetCostProjectManageDetailTemp extends ProjectBudgetCostProjectManageDetail{ + public ProjectBudgetCostProjectManageDetail toProjectBudgetCostProjectManageDetail(){ + ProjectBudgetCostProjectManageDetail detail = new ProjectBudgetCostProjectManageDetail(); + detail.setProjectId(getProjectId()); + detail.setType(getType()); + detail.setName(getName()); + detail.setDetail(getDetail()); + detail.setUnit(getUnit()); + detail.setAmount(getAmount()); + detail.setPrice(getPrice()); + detail.setPredictMethod(getPredictMethod()); + detail.setPredictWhy(getPredictWhy()); + detail.setRemark(getRemark()); + detail.setDeletable(getDeletable()); + return detail; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTempRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTempRepository.java new file mode 100644 index 0000000..4184611 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTempRepository.java @@ -0,0 +1,9 @@ +package cn.palmte.work.model; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface ProjectBudgetCostProjectManageDetailTempRepository extends JpaRepository { + List findAllByProjectIdEquals(int id); +} diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java new file mode 100644 index 0000000..45e8cfa --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java @@ -0,0 +1,23 @@ +package cn.palmte.work.model; + +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * 项目预算收入明细临时表 + */ +@Entity +@Table(name = "project_budget_income_detail_temp") +public class ProjectBudgetIncomeDetailTemp extends ProjectBudgetIncomeDetail{ + public ProjectBudgetIncomeDetail toProjectBudgetIncomeDetail(){ + ProjectBudgetIncomeDetail projectBudgetIncomeDetail = new ProjectBudgetIncomeDetail(); + projectBudgetIncomeDetail.setProjectId(getProjectId()); + projectBudgetIncomeDetail.setName(getName()); + projectBudgetIncomeDetail.setType(getType()); + projectBudgetIncomeDetail.setUnit(getUnit()); + projectBudgetIncomeDetail.setAmount(getAmount()); + projectBudgetIncomeDetail.setPrice(getPrice()); + projectBudgetIncomeDetail.setTaxRate(getTaxRate()); + return projectBudgetIncomeDetail; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTempRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTempRepository.java new file mode 100644 index 0000000..1d9bb5c --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTempRepository.java @@ -0,0 +1,9 @@ +package cn.palmte.work.model; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface ProjectBudgetIncomeDetailTempRepository extends JpaRepository { + List findAllByProjectIdEquals(int id); +} diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java new file mode 100644 index 0000000..098133c --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java @@ -0,0 +1,30 @@ +package cn.palmte.work.model; + +import javax.persistence.*; + +/** + * 资金计划明细临时表 + */ +@Entity +@Table(name = "project_budget_plan_detail_temp") +public class ProjectBudgetPlanDetailTemp extends ProjectBudgetPlanDetail{ + public ProjectBudgetPlanDetail toProjectBudgetPlanDetail(){ + ProjectBudgetPlanDetail projectBudgetPlanDetail = new ProjectBudgetPlanDetail(); + projectBudgetPlanDetail.setProjectId(getProjectId()); + projectBudgetPlanDetail.setMonth(getMonth()); + projectBudgetPlanDetail.setDeviceCost(getDeviceCost()); + projectBudgetPlanDetail.setEngineerCost(getEngineerCost()); + projectBudgetPlanDetail.setProjectManageCost(getProjectManageCost()); + projectBudgetPlanDetail.setEarnestMoneyCost(getEarnestMoneyCost()); + projectBudgetPlanDetail.setTotalCost(getTotalCost()); + projectBudgetPlanDetail.setSaleIncome(getSaleIncome()); + projectBudgetPlanDetail.setEarnestMoneyIncome(getEarnestMoneyIncome()); + projectBudgetPlanDetail.setTotalIncome(getTotalIncome()); + projectBudgetPlanDetail.setFundBalance(getFundBalance()); + projectBudgetPlanDetail.setUnderwrittenTaxRate(getUnderwrittenTaxRate()); + projectBudgetPlanDetail.setCapitalInterest(getCapitalInterest()); + projectBudgetPlanDetail.setUnderwrittenPlan(getUnderwrittenPlan()); + projectBudgetPlanDetail.setRepaymentPlan(getRepaymentPlan()); + return projectBudgetPlanDetail; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTempRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTempRepository.java new file mode 100644 index 0000000..f91d8cc --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTempRepository.java @@ -0,0 +1,13 @@ +package cn.palmte.work.model; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.List; + +public interface ProjectBudgetPlanDetailTempRepository extends JpaRepository { + List findAllByProjectIdEquals(int id); + + @Query(value = "select * from project_budget_plan_detail_temp where project_id in ?1", nativeQuery = true) + List findAllByProjectIds(List projectInt); +} diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 2d75f44..84cd043 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -28,12 +28,20 @@ public class ProjectBudgetService { @Autowired private ProjectBudgetIncomeDetailRepository projectBudgetIncomeDetailRepository; @Autowired + private ProjectBudgetIncomeDetailTempRepository projectBudgetIncomeDetailTempRepository; + @Autowired private ProjectBudgetCostDetailRepository projectBudgetCostDetailRepository; @Autowired + private ProjectBudgetCostDetailTempRepository projectBudgetCostDetailTempRepository; + @Autowired private ProjectBudgetCostProjectManageDetailRepository projectBudgetCostProjectManageDetailRepository; @Autowired + private ProjectBudgetCostProjectManageDetailTempRepository projectBudgetCostProjectManageDetailTempRepository; + @Autowired private ProjectBudgetPlanDetailRepository projectBudgetPlanDetailRepository; @Autowired + private ProjectBudgetPlanDetailTempRepository projectBudgetPlanDetailTempRepository; + @Autowired private ProjectInstanceService projectInstanceService; @Autowired private ActTaskDefService actTaskDefService; @@ -321,6 +329,12 @@ public class ProjectBudgetService { projectBudgetIncomeDetailRepository.deleteInBatch(incomeDetails); } } + public void clearBudgetIncomeDetailTemp(Project project){ + List incomeDetails = projectBudgetIncomeDetailTempRepository.findAllByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(incomeDetails)){ + projectBudgetIncomeDetailTempRepository.deleteInBatch(incomeDetails); + } + } /** * 保存项目的收入明细 @@ -335,6 +349,17 @@ public class ProjectBudgetService { projectBudgetIncomeDetailRepository.save(detailList); } } + @Transactional(rollbackFor = RuntimeException.class) + public void saveBudgetIncomeDetailTemp(Project project, List detailList){ + clearBudgetIncomeDetailTemp(project); + if(CollectionUtil.isNotEmpty(detailList)){ + for (ProjectBudgetIncomeDetailTemp projectBudgetIncomeDetail : detailList) { + projectBudgetIncomeDetail.setProjectId(project.getId()); + } + projectBudgetIncomeDetailTempRepository.save(detailList); + } + + } /** * 获取项目的收入明细 @@ -351,6 +376,12 @@ public class ProjectBudgetService { projectBudgetCostDetailRepository.deleteInBatch(costDetails); } } + public void clearBudgetCostDetailTemp(Project project){ + List costDetails = projectBudgetCostDetailTempRepository.findAllByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(costDetails)){ + projectBudgetCostDetailTempRepository.deleteInBatch(costDetails); + } + } /** * 保存项目的成本明细 @@ -366,6 +397,17 @@ public class ProjectBudgetService { projectBudgetCostDetailRepository.save(detailList); } } + @Transactional(rollbackFor = RuntimeException.class) + public void saveBudgetCostDetailTemp(Project project, List detailList){ + clearBudgetCostDetailTemp(project); + + if(CollectionUtil.isNotEmpty(detailList)){ + for (ProjectBudgetCostDetailTemp projectBudgetCostDetail : detailList) { + projectBudgetCostDetail.setProjectId(project.getId()); + } + projectBudgetCostDetailTempRepository.save(detailList); + } + } /** * 获取项目的成本明细 @@ -382,6 +424,12 @@ public class ProjectBudgetService { projectBudgetCostProjectManageDetailRepository.deleteInBatch(costDetails); } } + public void clearBudgetCostProjectManageDetailTemp(Project project){ + List costDetails = projectBudgetCostProjectManageDetailTempRepository.findAllByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(costDetails)){ + projectBudgetCostProjectManageDetailTempRepository.deleteInBatch(costDetails); + } + } /** * 保存项目的项目管理成本明细 @@ -396,6 +444,16 @@ public class ProjectBudgetService { projectBudgetCostProjectManageDetailRepository.save(detailList); } } + @Transactional(rollbackFor = RuntimeException.class) + public void saveBudgetCostProjectManageDetailTemp(Project project, List detailList){ + clearBudgetCostProjectManageDetailTemp(project); + if(CollectionUtil.isNotEmpty(detailList)){ + for (ProjectBudgetCostProjectManageDetailTemp projectBudgetCostProjectManageDetail : detailList) { + projectBudgetCostProjectManageDetail.setProjectId(project.getId()); + } + projectBudgetCostProjectManageDetailTempRepository.save(detailList); + } + } /** * 获取项目管理明细 @@ -435,6 +493,12 @@ public class ProjectBudgetService { projectBudgetPlanDetailRepository.deleteInBatch(costDetails); } } + public void clearBudgetPlanDetailTemp(Project project){ + List costDetails = projectBudgetPlanDetailTempRepository.findAllByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(costDetails)){ + projectBudgetPlanDetailTempRepository.deleteInBatch(costDetails); + } + } /** * 保存项目的资金计划明细 @@ -450,6 +514,17 @@ public class ProjectBudgetService { projectBudgetPlanDetailRepository.save(detailList); } } + @Transactional(rollbackFor = RuntimeException.class) + public void saveBudgetPlanDetailTemp(Project project, List detailList){ + clearBudgetPlanDetailTemp(project); + if(CollectionUtil.isNotEmpty(detailList)){ + for (ProjectBudgetPlanDetailTemp projectBudgetPlanDetail : detailList) { + projectBudgetPlanDetail.setProjectId(project.getId()); + projectBudgetPlanDetail.setUnderwrittenTaxRate(project.getUnderwrittenTaxRate()); + } + projectBudgetPlanDetailTempRepository.save(detailList); + } + } /** * 获取资金计划数据 @@ -553,7 +628,7 @@ public class ProjectBudgetService { ProjectBudgetPlanDetail projectBudgetPlanDetail = new ProjectBudgetPlanDetail(); - projectBudgetPlanDetail.setMonth("合计"); + projectBudgetPlanDetail.setMonth("数据代入"); projectBudgetPlanDetail.setDeviceCost(deviceCost); projectBudgetPlanDetail.setEngineerCost(engineerCost); projectBudgetPlanDetail.setProjectManageCost(projectManageCost); @@ -707,6 +782,56 @@ public class ProjectBudgetService { //清空重新保存概算信息 clearBudget(p); saveBudget(p, budgetBean); + + clearBudgetDetail(p); + saveBudgetDetail(p); return p; } + + private void saveBudgetDetail(Project p) { + //临时表中始终是最新的详情,不管是本次修改还是以前保持的 + //收入明细 + List projectBudgetIncomeDetailTemps = projectBudgetIncomeDetailTempRepository.findAllByProjectIdEquals(p.getId()); + if(CollectionUtil.isNotEmpty(projectBudgetIncomeDetailTemps)){ + List incomeDetails = projectBudgetIncomeDetailTemps.stream() + .map(ProjectBudgetIncomeDetailTemp::toProjectBudgetIncomeDetail) + .collect(Collectors.toList()); + projectBudgetIncomeDetailRepository.save(incomeDetails); + } + //成本明细 + List projectBudgetCostDetailTemps = projectBudgetCostDetailTempRepository.findAllByProjectIdEquals(p.getId()); + if(CollectionUtil.isNotEmpty(projectBudgetCostDetailTemps)){ + List costDetails = projectBudgetCostDetailTemps.stream() + .map(ProjectBudgetCostDetailTemp::toProjectBudgetCostDetail) + .collect(Collectors.toList()); + projectBudgetCostDetailRepository.save(costDetails); + } + //项目管理明细 + List projectBudgetCostProjectManageDetailTemps = projectBudgetCostProjectManageDetailTempRepository.findAllByProjectIdEquals(p.getId()); + if(CollectionUtil.isNotEmpty(projectBudgetCostProjectManageDetailTemps)){ + List costProjectManageDetails = projectBudgetCostProjectManageDetailTemps.stream() + .map(ProjectBudgetCostProjectManageDetailTemp::toProjectBudgetCostProjectManageDetail) + .collect(Collectors.toList()); + projectBudgetCostProjectManageDetailRepository.save(costProjectManageDetails); + } + //资金计划明细 + List projectBudgetPlanDetailTemps = projectBudgetPlanDetailTempRepository.findAllByProjectIdEquals(p.getId()); + if(CollectionUtil.isNotEmpty(projectBudgetPlanDetailTemps)){ + List budgetPlanDetails = projectBudgetPlanDetailTemps.stream() + .map(ProjectBudgetPlanDetailTemp::toProjectBudgetPlanDetail) + .collect(Collectors.toList()); + projectBudgetPlanDetailRepository.save(budgetPlanDetails); + } + } + + private void clearBudgetDetail(Project p) { + //收入明细 + clearBudgetIncomeDetail(p); + //成本明细 + clearBudgetCostDetail(p); + //项目管理明细 + clearBudgetCostProjectManageDetail(p); + //资金计划明细 + clearBudgetPlanDetail(p); + } } From df5eb59d351c98fc779da680f119f738e6b82149 Mon Sep 17 00:00:00 2001 From: xxssyyyyssxx Date: Wed, 8 Dec 2021 17:14:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Entity=E7=BB=A7=E6=89=BF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/model/ProjectBudgetCostDetail.java | 120 +--------- .../model/ProjectBudgetCostDetailBase.java | 125 ++++++++++ .../model/ProjectBudgetCostDetailTemp.java | 2 +- .../ProjectBudgetCostProjectManageDetail.java | 141 +---------- ...jectBudgetCostProjectManageDetailBase.java | 147 ++++++++++++ ...jectBudgetCostProjectManageDetailTemp.java | 2 +- .../work/model/ProjectBudgetIncomeDetail.java | 111 +-------- .../model/ProjectBudgetIncomeDetailBase.java | 116 ++++++++++ .../model/ProjectBudgetIncomeDetailTemp.java | 2 +- .../work/model/ProjectBudgetPlanDetail.java | 211 +---------------- .../model/ProjectBudgetPlanDetailBase.java | 219 ++++++++++++++++++ .../model/ProjectBudgetPlanDetailTemp.java | 2 +- 12 files changed, 615 insertions(+), 583 deletions(-) create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java create mode 100644 src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailBase.java diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetail.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetail.java index b0e3889..17a67b8 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetail.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetail.java @@ -1,129 +1,11 @@ package cn.palmte.work.model; -import org.hibernate.annotations.GenericGenerator; - import javax.persistence.*; -import java.math.BigDecimal; /** * 项目预算成本明细表 */ @Entity @Table(name = "project_budget_cost_detail") -public class ProjectBudgetCostDetail { - public static final int TYPE_DEVICE = 1; - public static final int TYPE_BUILD = 2; - public static final int TYPE_SERVICE = 3; - public static final int TYPE_OHTER = 4; - - /** - * id - */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @GenericGenerator(name = "persistenceGenerator", strategy = "increment") - private Integer id; - - @Column(name = "project_id") - private int projectId; - - private int type; - private int category; - - private String name; - - private String unit; - private int amount; - private BigDecimal price; - - @Column(name = "tax_rate") - private BigDecimal taxRate; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public int getProjectId() { - return projectId; - } - - public void setProjectId(int projectId) { - this.projectId = projectId; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public int getCategory() { - return category; - } - - public void setCategory(int category) { - this.category = category; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public int getAmount() { - return amount; - } - - public void setAmount(int amount) { - this.amount = amount; - } - - public BigDecimal getPrice() { - return price; - } - - public void setPrice(BigDecimal price) { - this.price = price; - } - - public BigDecimal getTaxRate() { - return taxRate; - } - - public void setTaxRate(BigDecimal taxRate) { - this.taxRate = taxRate; - } - - public BigDecimal getTotalTaxInclude(){ - if(null == price){ - return null; - } - return price.multiply(new BigDecimal(amount)); - } - public BigDecimal getTotalTaxExclude(){ - BigDecimal totalTaxInclude = getTotalTaxInclude(); - if(null == totalTaxInclude || taxRate == null){ - return null; - } - - //不含税总金额=含税总金额/(1+税率) - return totalTaxInclude.divide(taxRate.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(1)), 2, BigDecimal.ROUND_HALF_UP); - } +public class ProjectBudgetCostDetail extends ProjectBudgetCostDetailBase{ } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java new file mode 100644 index 0000000..6b4469e --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java @@ -0,0 +1,125 @@ +package cn.palmte.work.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import java.math.BigDecimal; + +@MappedSuperclass +public class ProjectBudgetCostDetailBase { + public static final int TYPE_DEVICE = 1; + public static final int TYPE_BUILD = 2; + public static final int TYPE_SERVICE = 3; + public static final int TYPE_OHTER = 4; + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @GenericGenerator(name = "persistenceGenerator", strategy = "increment") + private Integer id; + + @Column(name = "project_id") + private int projectId; + + private int type; + private int category; + + private String name; + + private String unit; + private int amount; + private BigDecimal price; + + @Column(name = "tax_rate") + private BigDecimal taxRate; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public int getCategory() { + return category; + } + + public void setCategory(int category) { + this.category = category; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public int getAmount() { + return amount; + } + + public void setAmount(int amount) { + this.amount = amount; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public BigDecimal getTaxRate() { + return taxRate; + } + + public void setTaxRate(BigDecimal taxRate) { + this.taxRate = taxRate; + } + + public BigDecimal getTotalTaxInclude(){ + if(null == price){ + return null; + } + return price.multiply(new BigDecimal(amount)); + } + public BigDecimal getTotalTaxExclude(){ + BigDecimal totalTaxInclude = getTotalTaxInclude(); + if(null == totalTaxInclude || taxRate == null){ + return null; + } + + //不含税总金额=含税总金额/(1+税率) + return totalTaxInclude.divide(taxRate.divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(1)), 2, BigDecimal.ROUND_HALF_UP); + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java index 70a4949..57eee88 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailTemp.java @@ -9,7 +9,7 @@ import javax.persistence.Table; */ @Entity @Table(name = "project_budget_cost_detail_temp") -public class ProjectBudgetCostDetailTemp extends ProjectBudgetCostDetail{ +public class ProjectBudgetCostDetailTemp extends ProjectBudgetCostDetailBase{ public ProjectBudgetCostDetail toProjectBudgetCostDetail(){ ProjectBudgetCostDetail detail = new ProjectBudgetCostDetail(); detail.setProjectId(getProjectId()); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetail.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetail.java index 6a76667..8c41324 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetail.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetail.java @@ -1,151 +1,12 @@ package cn.palmte.work.model; -import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; -import java.math.BigDecimal; /** * 项目预算项目管理成本明细表 */ @Entity @Table(name = "project_budget_cost_project_manage_detail") -public class ProjectBudgetCostProjectManageDetail { - public static final int TYPE_PERSON = 1; - public static final int TYPE_BUSINESS = 2; - public static final int TYPE_OHTER = 3; - - /** - * id - */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @GenericGenerator(name = "persistenceGenerator", strategy = "increment") - private Integer id; - - @Column(name = "project_id") - private int projectId; - - private int type; - - private String name; - private String detail; - - private String unit; - private int amount; - private BigDecimal price; - - @Column(name = "predict_method") - private String predictMethod; - @Column(name = "predict_why") - private String predictWhy; - private String remark; - - /** - * 是否可以被删除,有些项是默认的不可删除,用于页面判断是否显示删除按钮 - */ - private int deletable; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public int getProjectId() { - return projectId; - } - - public void setProjectId(int projectId) { - this.projectId = projectId; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public int getAmount() { - return amount; - } - - public void setAmount(int amount) { - this.amount = amount; - } - - public BigDecimal getPrice() { - return price; - } - - public void setPrice(BigDecimal price) { - this.price = price; - } - - public String getDetail() { - return detail; - } - - public void setDetail(String detail) { - this.detail = detail; - } - - public String getPredictMethod() { - return predictMethod; - } - - public void setPredictMethod(String predictMethod) { - this.predictMethod = predictMethod; - } - - public String getPredictWhy() { - return predictWhy; - } - - public void setPredictWhy(String predictWhy) { - this.predictWhy = predictWhy; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public BigDecimal getTotal(){ - if(null == price){ - return null; - } - return price.multiply(new BigDecimal(amount)); - } - - public int getDeletable() { - return deletable; - } - - public void setDeletable(int deletable) { - this.deletable = deletable; - } +public class ProjectBudgetCostProjectManageDetail extends ProjectBudgetCostProjectManageDetailBase{ } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java new file mode 100644 index 0000000..4a37301 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java @@ -0,0 +1,147 @@ +package cn.palmte.work.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import java.math.BigDecimal; + +@MappedSuperclass +public class ProjectBudgetCostProjectManageDetailBase { + public static final int TYPE_PERSON = 1; + public static final int TYPE_BUSINESS = 2; + public static final int TYPE_OHTER = 3; + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @GenericGenerator(name = "persistenceGenerator", strategy = "increment") + private Integer id; + + @Column(name = "project_id") + private int projectId; + + private int type; + + private String name; + private String detail; + + private String unit; + private int amount; + private BigDecimal price; + + @Column(name = "predict_method") + private String predictMethod; + @Column(name = "predict_why") + private String predictWhy; + private String remark; + + /** + * 是否可以被删除,有些项是默认的不可删除,用于页面判断是否显示删除按钮 + */ + private int deletable; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public int getAmount() { + return amount; + } + + public void setAmount(int amount) { + this.amount = amount; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public String getDetail() { + return detail; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + public String getPredictMethod() { + return predictMethod; + } + + public void setPredictMethod(String predictMethod) { + this.predictMethod = predictMethod; + } + + public String getPredictWhy() { + return predictWhy; + } + + public void setPredictWhy(String predictWhy) { + this.predictWhy = predictWhy; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public BigDecimal getTotal(){ + if(null == price){ + return null; + } + return price.multiply(new BigDecimal(amount)); + } + + public int getDeletable() { + return deletable; + } + + public void setDeletable(int deletable) { + this.deletable = deletable; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java index bbd172d..4714224 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailTemp.java @@ -8,7 +8,7 @@ import javax.persistence.*; */ @Entity @Table(name = "project_budget_cost_project_manage_detail_temp") -public class ProjectBudgetCostProjectManageDetailTemp extends ProjectBudgetCostProjectManageDetail{ +public class ProjectBudgetCostProjectManageDetailTemp extends ProjectBudgetCostProjectManageDetailBase{ public ProjectBudgetCostProjectManageDetail toProjectBudgetCostProjectManageDetail(){ ProjectBudgetCostProjectManageDetail detail = new ProjectBudgetCostProjectManageDetail(); detail.setProjectId(getProjectId()); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java index ca7ee82..6882f88 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetail.java @@ -1,120 +1,11 @@ package cn.palmte.work.model; -import org.hibernate.annotations.GenericGenerator; - import javax.persistence.*; -import java.math.BigDecimal; /** * 项目预算收入明细表 */ @Entity @Table(name = "project_budget_income_detail") -public class ProjectBudgetIncomeDetail { - public static final int TYPE_DEVICE = 1; - public static final int TYPE_ENGINEER = 2; - public static final int TYPE_SERVICE = 3; - - /** - * id - */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @GenericGenerator(name = "persistenceGenerator", strategy = "increment") - private Integer id; - - @Column(name = "project_id") - private int projectId; - - private int type; - - private String name; - - private String unit; - private int amount; - private BigDecimal price; - - @Column(name = "tax_rate") - private BigDecimal taxRate; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public int getProjectId() { - return projectId; - } - - public void setProjectId(int projectId) { - this.projectId = projectId; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public int getAmount() { - return amount; - } - - public void setAmount(int amount) { - this.amount = amount; - } - - public BigDecimal getPrice() { - return price; - } - - public void setPrice(BigDecimal price) { - this.price = price; - } - - public BigDecimal getTaxRate() { - return taxRate; - } - - public void setTaxRate(BigDecimal taxRate) { - this.taxRate = taxRate; - } - - public BigDecimal getTotalTaxInclude(){ - if(null == price){ - return null; - } - return price.multiply(new BigDecimal(amount)); - } - public BigDecimal getTotalTaxExclude(){ - BigDecimal totalTaxInclude = getTotalTaxInclude(); - if(null == totalTaxInclude || taxRate == null){ - return null; - } - - //不含税总金额=含税总金额/(1+税率) - 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); - } +public class ProjectBudgetIncomeDetail extends ProjectBudgetIncomeDetailBase{ } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java new file mode 100644 index 0000000..65dbae8 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java @@ -0,0 +1,116 @@ +package cn.palmte.work.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import java.math.BigDecimal; + +@MappedSuperclass +public class ProjectBudgetIncomeDetailBase { + public static final int TYPE_DEVICE = 1; + public static final int TYPE_ENGINEER = 2; + public static final int TYPE_SERVICE = 3; + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @GenericGenerator(name = "persistenceGenerator", strategy = "increment") + private Integer id; + + @Column(name = "project_id") + private int projectId; + + private int type; + + private String name; + + private String unit; + private int amount; + private BigDecimal price; + + @Column(name = "tax_rate") + private BigDecimal taxRate; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public int getAmount() { + return amount; + } + + public void setAmount(int amount) { + this.amount = amount; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public BigDecimal getTaxRate() { + return taxRate; + } + + public void setTaxRate(BigDecimal taxRate) { + this.taxRate = taxRate; + } + + public BigDecimal getTotalTaxInclude(){ + if(null == price){ + return null; + } + return price.multiply(new BigDecimal(amount)); + } + public BigDecimal getTotalTaxExclude(){ + BigDecimal totalTaxInclude = getTotalTaxInclude(); + if(null == totalTaxInclude || taxRate == null){ + return null; + } + + //不含税总金额=含税总金额/(1+税率) + 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/model/ProjectBudgetIncomeDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java index 45e8cfa..a4f7f88 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailTemp.java @@ -8,7 +8,7 @@ import javax.persistence.Table; */ @Entity @Table(name = "project_budget_income_detail_temp") -public class ProjectBudgetIncomeDetailTemp extends ProjectBudgetIncomeDetail{ +public class ProjectBudgetIncomeDetailTemp extends ProjectBudgetIncomeDetailBase{ public ProjectBudgetIncomeDetail toProjectBudgetIncomeDetail(){ ProjectBudgetIncomeDetail projectBudgetIncomeDetail = new ProjectBudgetIncomeDetail(); projectBudgetIncomeDetail.setProjectId(getProjectId()); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetail.java b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetail.java index c310153..d55b4e9 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetail.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetail.java @@ -1,220 +1,11 @@ package cn.palmte.work.model; -import org.hibernate.annotations.GenericGenerator; - import javax.persistence.*; -import java.math.BigDecimal; /** * 资金计划明细表 */ @Entity @Table(name = "project_budget_plan_detail") -public class ProjectBudgetPlanDetail { - /** - * id - */ - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @GenericGenerator(name = "persistenceGenerator", strategy = "increment") - private Integer id; - - @Column(name = "project_id") - private int projectId; - - private String month; - - /** - * 设备支出 - */ - @Column(name = "device_cost") - private BigDecimal deviceCost; - /** - *工程支出 - */ - @Column(name = "engineer_cost") - private BigDecimal engineerCost; - /** - *经营性开支 - */ - @Column(name = "project_manage_cost") - private BigDecimal projectManageCost; - /** - *保证金支出 - */ - @Column(name = "earnest_money_cost") - private BigDecimal earnestMoneyCost; - /** - *支出合计 - */ - @Column(name = "total_cost") - private BigDecimal totalCost; - /** - *销售收款 - */ - @Column(name = "sale_income") - private BigDecimal saleIncome; - /** - *保证金收款 - */ - @Column(name = "earnest_money_income") - private BigDecimal earnestMoneyIncome; - /** - *收款合计 - */ - @Column(name = "total_income") - private BigDecimal totalIncome; - /** - *资金余额 - */ - @Column(name = "fund_balance") - private BigDecimal fundBalance; - /** - * 项目创建配置的年利率 - */ - @Column(name = "underwritten_tax_rate") - private BigDecimal underwrittenTaxRate; - /** - *资金利息 - */ - @Column(name = "capital_interest") - private BigDecimal capitalInterest; - /** - *垫资计划 - */ - @Column(name = "underwritten_plan") - private BigDecimal underwrittenPlan; - /** - *还款计划 - */ - @Column(name = "repayment_plan") - private BigDecimal repaymentPlan; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public int getProjectId() { - return projectId; - } - - public void setProjectId(int projectId) { - this.projectId = projectId; - } - - public String getMonth() { - return month; - } - - public void setMonth(String month) { - this.month = month; - } - - public BigDecimal getDeviceCost() { - return deviceCost; - } - - public void setDeviceCost(BigDecimal deviceCost) { - this.deviceCost = deviceCost; - } - - public BigDecimal getEngineerCost() { - return engineerCost; - } - - public void setEngineerCost(BigDecimal engineerCost) { - this.engineerCost = engineerCost; - } - - public BigDecimal getProjectManageCost() { - return projectManageCost; - } - - public void setProjectManageCost(BigDecimal projectManageCost) { - this.projectManageCost = projectManageCost; - } - - public BigDecimal getEarnestMoneyCost() { - return earnestMoneyCost; - } - - public void setEarnestMoneyCost(BigDecimal earnestMoneyCost) { - this.earnestMoneyCost = earnestMoneyCost; - } - - public BigDecimal getTotalCost() { - return totalCost; - } - - public void setTotalCost(BigDecimal totalCost) { - this.totalCost = totalCost; - } - - public BigDecimal getSaleIncome() { - return saleIncome; - } - - public void setSaleIncome(BigDecimal saleIncome) { - this.saleIncome = saleIncome; - } - - public BigDecimal getEarnestMoneyIncome() { - return earnestMoneyIncome; - } - - public void setEarnestMoneyIncome(BigDecimal earnestMoneyIncome) { - this.earnestMoneyIncome = earnestMoneyIncome; - } - - public BigDecimal getTotalIncome() { - return totalIncome; - } - - public void setTotalIncome(BigDecimal totalIncome) { - this.totalIncome = totalIncome; - } - - public BigDecimal getFundBalance() { - return fundBalance; - } - - public void setFundBalance(BigDecimal fundBalance) { - this.fundBalance = fundBalance; - } - - public BigDecimal getUnderwrittenTaxRate() { - return underwrittenTaxRate; - } - - public void setUnderwrittenTaxRate(BigDecimal underwrittenTaxRate) { - this.underwrittenTaxRate = underwrittenTaxRate; - } - - public BigDecimal getCapitalInterest() { - return capitalInterest; - } - - public void setCapitalInterest(BigDecimal capitalInterest) { - this.capitalInterest = capitalInterest; - } - - public BigDecimal getUnderwrittenPlan() { - return underwrittenPlan; - } - - public void setUnderwrittenPlan(BigDecimal underwrittenPlan) { - this.underwrittenPlan = underwrittenPlan; - } - - public BigDecimal getRepaymentPlan() { - return repaymentPlan; - } - - public void setRepaymentPlan(BigDecimal repaymentPlan) { - this.repaymentPlan = repaymentPlan; - } +public class ProjectBudgetPlanDetail extends ProjectBudgetPlanDetailBase{ } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailBase.java new file mode 100644 index 0000000..b101b17 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailBase.java @@ -0,0 +1,219 @@ +package cn.palmte.work.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import java.math.BigDecimal; + +/** + * 资金计划明细表 + */ +@MappedSuperclass +public class ProjectBudgetPlanDetailBase { + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @GenericGenerator(name = "persistenceGenerator", strategy = "increment") + private Integer id; + + @Column(name = "project_id") + private int projectId; + + private String month; + + /** + * 设备支出 + */ + @Column(name = "device_cost") + private BigDecimal deviceCost; + /** + *工程支出 + */ + @Column(name = "engineer_cost") + private BigDecimal engineerCost; + /** + *经营性开支 + */ + @Column(name = "project_manage_cost") + private BigDecimal projectManageCost; + /** + *保证金支出 + */ + @Column(name = "earnest_money_cost") + private BigDecimal earnestMoneyCost; + /** + *支出合计 + */ + @Column(name = "total_cost") + private BigDecimal totalCost; + /** + *销售收款 + */ + @Column(name = "sale_income") + private BigDecimal saleIncome; + /** + *保证金收款 + */ + @Column(name = "earnest_money_income") + private BigDecimal earnestMoneyIncome; + /** + *收款合计 + */ + @Column(name = "total_income") + private BigDecimal totalIncome; + /** + *资金余额 + */ + @Column(name = "fund_balance") + private BigDecimal fundBalance; + /** + * 项目创建配置的年利率 + */ + @Column(name = "underwritten_tax_rate") + private BigDecimal underwrittenTaxRate; + /** + *资金利息 + */ + @Column(name = "capital_interest") + private BigDecimal capitalInterest; + /** + *垫资计划 + */ + @Column(name = "underwritten_plan") + private BigDecimal underwrittenPlan; + /** + *还款计划 + */ + @Column(name = "repayment_plan") + private BigDecimal repaymentPlan; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public String getMonth() { + return month; + } + + public void setMonth(String month) { + this.month = month; + } + + public BigDecimal getDeviceCost() { + return deviceCost; + } + + public void setDeviceCost(BigDecimal deviceCost) { + this.deviceCost = deviceCost; + } + + public BigDecimal getEngineerCost() { + return engineerCost; + } + + public void setEngineerCost(BigDecimal engineerCost) { + this.engineerCost = engineerCost; + } + + public BigDecimal getProjectManageCost() { + return projectManageCost; + } + + public void setProjectManageCost(BigDecimal projectManageCost) { + this.projectManageCost = projectManageCost; + } + + public BigDecimal getEarnestMoneyCost() { + return earnestMoneyCost; + } + + public void setEarnestMoneyCost(BigDecimal earnestMoneyCost) { + this.earnestMoneyCost = earnestMoneyCost; + } + + public BigDecimal getTotalCost() { + return totalCost; + } + + public void setTotalCost(BigDecimal totalCost) { + this.totalCost = totalCost; + } + + public BigDecimal getSaleIncome() { + return saleIncome; + } + + public void setSaleIncome(BigDecimal saleIncome) { + this.saleIncome = saleIncome; + } + + public BigDecimal getEarnestMoneyIncome() { + return earnestMoneyIncome; + } + + public void setEarnestMoneyIncome(BigDecimal earnestMoneyIncome) { + this.earnestMoneyIncome = earnestMoneyIncome; + } + + public BigDecimal getTotalIncome() { + return totalIncome; + } + + public void setTotalIncome(BigDecimal totalIncome) { + this.totalIncome = totalIncome; + } + + public BigDecimal getFundBalance() { + return fundBalance; + } + + public void setFundBalance(BigDecimal fundBalance) { + this.fundBalance = fundBalance; + } + + public BigDecimal getUnderwrittenTaxRate() { + return underwrittenTaxRate; + } + + public void setUnderwrittenTaxRate(BigDecimal underwrittenTaxRate) { + this.underwrittenTaxRate = underwrittenTaxRate; + } + + public BigDecimal getCapitalInterest() { + return capitalInterest; + } + + public void setCapitalInterest(BigDecimal capitalInterest) { + this.capitalInterest = capitalInterest; + } + + public BigDecimal getUnderwrittenPlan() { + return underwrittenPlan; + } + + public void setUnderwrittenPlan(BigDecimal underwrittenPlan) { + this.underwrittenPlan = underwrittenPlan; + } + + public BigDecimal getRepaymentPlan() { + return repaymentPlan; + } + + public void setRepaymentPlan(BigDecimal repaymentPlan) { + this.repaymentPlan = repaymentPlan; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java index 098133c..0de192a 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetPlanDetailTemp.java @@ -7,7 +7,7 @@ import javax.persistence.*; */ @Entity @Table(name = "project_budget_plan_detail_temp") -public class ProjectBudgetPlanDetailTemp extends ProjectBudgetPlanDetail{ +public class ProjectBudgetPlanDetailTemp extends ProjectBudgetPlanDetailBase{ public ProjectBudgetPlanDetail toProjectBudgetPlanDetail(){ ProjectBudgetPlanDetail projectBudgetPlanDetail = new ProjectBudgetPlanDetail(); projectBudgetPlanDetail.setProjectId(getProjectId());