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