From baabb3c5bc3e97e4215ae0cf3b449864796b2889 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Tue, 24 Dec 2024 17:30:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B5=81=E7=A8=8B):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E4=BA=BA=E5=91=98=E4=BB=BB=E5=8A=A1=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E5=8A=9F=E8=83=BD=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=9C=8D=E5=8A=A1-=20=E5=9C=A8=20ActTaskDefService=20?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BA=86=E8=B4=A2=E5=8A=A1=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E4=BB=BB=E5=8A=A1=E8=B7=B3=E8=BD=AC=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91=20-=20=E6=9B=B4=E6=96=B0=E4=BA=86=20ProjectBudgetServ?= =?UTF-8?q?ice=20=E4=B8=AD=E7=9A=84=E9=A2=84=E7=AE=97=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E6=94=AF=E6=8C=81=E6=8C=89=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E8=BF=87=E6=BB=A4=20-=20=E4=BF=AE=E6=94=B9=E4=BA=86?= =?UTF-8?q?=20ProjectInstanceService=20=E5=92=8C=20ProjectService=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=BB=BB=E5=8A=A1=E5=AE=8C=E6=88=90=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=96=87=E4=BB=B6?= =?UTF-8?q?=20URL=20=E5=8F=82=E6=95=B0=20-=20=E6=9B=B4=E6=96=B0=E4=BA=86?= =?UTF-8?q?=20application-local.properties=20=E4=B8=AD=E7=9A=84=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E8=B7=AF=E5=BE=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/service/ActTaskDefService.java | 8 +++-- .../work/service/ProjectBudgetService.java | 30 ++++++++++++------- .../work/service/ProjectInstanceService.java | 2 +- .../palmte/work/service/ProjectService.java | 2 +- .../resources/application-local.properties | 2 +- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/cn/palmte/work/service/ActTaskDefService.java b/src/main/java/cn/palmte/work/service/ActTaskDefService.java index ef5bdd4..46c6ebc 100644 --- a/src/main/java/cn/palmte/work/service/ActTaskDefService.java +++ b/src/main/java/cn/palmte/work/service/ActTaskDefService.java @@ -74,6 +74,10 @@ public class ActTaskDefService { ActTaskDef actTaskDef = findFirstByProcDefIdAndTaskKey(currentTask.getProcessDefinitionId(), currentTask.getTaskDefinitionKey()); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(procInsId).singleResult(); + boolean addVariableFlag = currentTask.getName().equals("财务人员") && processInstance.getProcessDefinitionKey().equals("budget"); + if (addVariableFlag) { + runtimeService.setVariable(procInsId, "skipTask", StringUtils.isNotBlank(fileUrl)); + } taskService.setAssignee(taskId, userId); if (ActConstant.TASK_TYPE_SINGE == actTaskDef.getTaskType()) { handleSinge(processInstance, taskId, approveEnum, actTaskDef); @@ -93,10 +97,10 @@ public class ActTaskDefService { * @param approveEnum * @param comment */ - public void completeTaskByProcInsId(String procInsId, ActApproveTypeEnum approveEnum, String comment) { + public void completeTaskByProcInsId(String procInsId, ActApproveTypeEnum approveEnum, String comment, String fileUrl) { List taskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); for (Task task : taskList) { - completeTask(task.getId(), procInsId, comment, approveEnum, ""); + completeTask(task.getId(), procInsId, comment, approveEnum, fileUrl); } } diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 9ca1853..bdf5d90 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -1052,20 +1052,28 @@ public class ProjectBudgetService { List projectBudgetCostDetails = projectBudgetCostDetailRepository.findAllByProjectIdEquals(p.getId()); if (projectBudgetCostDetails.size() > 0) { ProcurementType huizhiType = procurementTypeRepository.findByName("汇智产品"); - BigDecimal huizhi = projectBudgetCostDetails.stream().filter(a ->a.getCategory().equals(huizhiType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huizhi = projectBudgetCostDetails.stream().filter(a ->(a.getCategory().equals(huizhiType.getId().toString()))||("汇智产品".equals(a.getCategory()))) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); budget.setHuizhiProductAmountBudget(huizhi); ProcurementType huazhiType = procurementTypeRepository.findByName("华智产品"); - BigDecimal huazhi = projectBudgetCostDetails.stream().filter(a -> a.getCategory().equals(huazhiType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huazhi = projectBudgetCostDetails.stream().filter(a -> (a.getCategory().equals(huazhiType.getId().toString()))||("华智产品".equals(a.getCategory()))) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); budget.setHuazhiProductAmountBudget(huazhi); ProcurementType huasanType = procurementTypeRepository.findByName("华三产品"); - BigDecimal huasan = projectBudgetCostDetails.stream().filter(a -> a.getCategory().equals(huasanType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huasan = projectBudgetCostDetails.stream().filter(a ->( a.getCategory().equals(huasanType.getId().toString()))||( "华三产品".equals(a.getCategory()))) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); budget.setHuasanProductAmountBudget(huasan); - BigDecimal other = projectBudgetCostDetails.stream().filter(a -> !a.getCategory().equals( huizhiType.getId().toString()) && !a.getCategory().equals(huazhiType.getId().toString()) - && !a.getCategory().equals(huasanType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal other = projectBudgetCostDetails.stream().filter(a -> isABoolean(a, huizhiType, huazhiType, huasanType)).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); budget.setZiguangOtherAmountBudget(other); } } + private static boolean isABoolean(ProjectBudgetCostDetail a, ProcurementType huizhiType, ProcurementType huazhiType, ProcurementType huasanType) { + return !a.getCategory().equals(huizhiType.getId().toString()) &&!"汇智产品".equals(a.getCategory()) + && !a.getCategory().equals(huazhiType.getId().toString()) && !"华智产品".equals(a.getCategory()) + && !a.getCategory().equals(huasanType.getId().toString()) && !"华三产品".equals(a.getCategory()); + } + private void saveProjectExtend(Project p) { ProjectExtend extend = projectExtendRepository.findByProjectId(p.getId()); if (extend == null) { @@ -1100,16 +1108,18 @@ public class ProjectBudgetService { List projectBudgetCostDetails = projectBudgetCostDetailRepository.findAllByProjectIdEquals(p.getId()); if (projectBudgetCostDetails.size() > 0) { ProcurementType huizhiType = procurementTypeRepository.findByName("汇智产品"); - BigDecimal huizhi = projectBudgetCostDetails.stream().filter(a -> a.getCategory().equals(huizhiType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huizhi = projectBudgetCostDetails.stream().filter(a -> (a.getCategory().equals(huizhiType.getId().toString()) )||("汇智产品".equals(a.getCategory())) ) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); extend.setHuizhiProductAmount(huizhi); ProcurementType huazhiType = procurementTypeRepository.findByName("华智产品"); - BigDecimal huazhi = projectBudgetCostDetails.stream().filter(a -> a.getCategory().equals(huazhiType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huazhi = projectBudgetCostDetails.stream().filter(a -> (a.getCategory().equals(huazhiType.getId().toString()))||("华智产品".equals(a.getCategory()))) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); extend.setHuazhiProductAmount(huazhi); ProcurementType huasanType = procurementTypeRepository.findByName("华三产品"); - BigDecimal huasan = projectBudgetCostDetails.stream().filter(a -> a.getCategory().equals(huasanType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal huasan = projectBudgetCostDetails.stream().filter(a ->(a.getCategory().equals(huasanType.getId().toString()))||( "华三产品".equals(a.getCategory()))) + .map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); extend.setHuasanProductAmount(huasan); - BigDecimal other = projectBudgetCostDetails.stream().filter(a -> !a.getCategory().equals( huizhiType.getId().toString()) && !a.getCategory().equals(huazhiType.getId().toString()) - && !a.getCategory().equals(huasanType.getId().toString())).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + BigDecimal other = projectBudgetCostDetails.stream().filter(a -> isABoolean(a, huizhiType, huazhiType, huasanType)).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); extend.setZiguangOtherAmount(other); } diff --git a/src/main/java/cn/palmte/work/service/ProjectInstanceService.java b/src/main/java/cn/palmte/work/service/ProjectInstanceService.java index b848729..dac4f71 100644 --- a/src/main/java/cn/palmte/work/service/ProjectInstanceService.java +++ b/src/main/java/cn/palmte/work/service/ProjectInstanceService.java @@ -77,7 +77,7 @@ public class ProjectInstanceService { return false; } - actTaskDefService.completeTaskByProcInsId(projectInstance.getProcessInsId(), approveEnum, message); + actTaskDefService.completeTaskByProcInsId(projectInstance.getProcessInsId(), approveEnum, message,""); return true; } diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 542cc7d..c443c45 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -579,7 +579,7 @@ public class ProjectService { JSONObject obj = JSON.parseObject(json); ActApproveTypeEnum approveTypeEnum = ActApproveTypeEnum.ofType(obj.getIntValue("type")); actTaskDefService.completeTaskByProcInsId(projectInstanceRelation.getProcessInsId(), - approveTypeEnum, obj.getString("message")); + approveTypeEnum, obj.getString("message"), obj.getString("fileUrl")); return ResponseMsg.buildSuccessMsg("审核成功",approvetype); } diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 90c2231..5c2ead2 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -10,4 +10,4 @@ spring.jpa.show-sql=true admin.domain=https://dzgtest.palmte.cn upload.path=/home/data/dzg/fourcal -upload.prefix=https://dzgtest.palmte.cn/fourcal/upload \ No newline at end of file +upload.prefix=http://183.230.174.15:8088/fourcal/upload \ No newline at end of file