From 6eb427af28dbfcd1a55b1c3f09f53d05cf3dbe17 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 21 二月 2025 11:06:39 +0800 Subject: [PATCH] 项目修改新增加事务 --- business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java | 40 ++++++++++++++++++++++++++++++++-------- 1 files changed, 32 insertions(+), 8 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java index 2dba310..4dad994 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java @@ -15,6 +15,7 @@ import com.ycl.common.config.SysConfig; import com.ycl.common.constant.Constants; import com.ycl.common.core.domain.BaseEntity; +import com.ycl.common.core.domain.entity.SysDictData; import com.ycl.common.enums.business.FileTypeEnum; import com.ycl.common.enums.business.ImportanceTypeEnum; import com.ycl.common.enums.business.ProjectCategoryEnum; @@ -44,6 +45,8 @@ import com.ycl.service.ProjectInfoWinUnitService; import com.ycl.service.ProjectInfoYearPlanService; import com.ycl.system.mapper.SysDeptMapper; +import com.ycl.system.service.ISysDeptService; +import com.ycl.system.service.ISysDictDataService; import lombok.RequiredArgsConstructor; import org.apache.commons.codec.Charsets; import org.springframework.stereotype.Service; @@ -93,6 +96,7 @@ private final ProjectInvestmentPolicyComplianceServiceImpl projectInvestmentPolicyComplianceServiceImpl; private final ProjectUnitRegistrationInfoServiceImpl projectUnitRegistrationInfoServiceImpl; private final SysDeptMapper sysDeptMapper; + private final ISysDictDataService dictDataService; /** * 娣诲姞 @@ -110,7 +114,7 @@ entity.setProjectOwnerUnit(deptId); entity.setCreateBy(userId); entity.setUpdateBy(userId); - //濡傛灉涓嶆槸鍌ㄥ椤圭洰(涓嶆槸鏈紑宸ラ」鐩�)涓嶉渶瑕佸鏍� + //濡傛灉鏄偍澶囬」鐩�(鏈紑宸ラ」鐩�)涓嶉渶瑕佸鏍� if(ProjectConstant.COMMIT.equals(entity.getUsedStatus()) && ProjectStatusEnum.PENDDING.getType().equals(entity.getProjectStatus())){ entity.setUsedStatus(ProjectConstant.PASS); } @@ -127,7 +131,7 @@ //娣诲姞椤圭洰涓爣鍗曚綅 saveUnit(entity.getId(),form.getWinUnitList()); //娣诲姞骞村害鎶曡祫璁″垝 -// saveYearPlan(entity.getId(),form.getYearPlanList()); + saveYearPlan(entity.getId(),form.getYearPlanList()); return Result.ok("娣诲姞鎴愬姛").data(entity.getId()); } @@ -159,6 +163,10 @@ ProjectInfoForm.getEntityByForm(form, entity); Long userId = SecurityUtils.getUserId(); entity.setUpdateBy(userId); + //濡傛灉鏄偍澶囬」鐩�(鏈紑宸ラ」鐩�)涓嶉渶瑕佸鏍� + if(ProjectConstant.COMMIT.equals(entity.getUsedStatus()) && ProjectStatusEnum.PENDDING.getType().equals(entity.getProjectStatus())){ + entity.setUsedStatus(ProjectConstant.PASS); + } //鏇存柊椤圭洰淇℃伅 baseMapper.updateById(entity); List<File> fileList = form.getFileList(); @@ -177,21 +185,19 @@ //淇敼椤圭洰涓爣鍗曚綅 //鍒犻櫎鍘熸暟鎹� - List<ProjectInfoWinUnitForm> projectInfoWinUnitForm = form.getWinUnitList(); QueryWrapper<ProjectInfoWinUnit> unitWrapper = new QueryWrapper<>(); unitWrapper.eq("project_info_id",form.getId()); projectInfoWinUnitService.remove(unitWrapper); //娣诲姞椤圭洰涓爣鍗曚綅 - saveUnit(entity.getId(),projectInfoWinUnitForm); + saveUnit(entity.getId(),form.getWinUnitList()); //淇敼骞村害鎶曡祫璁″垝 //鍒犻櫎鍘熸暟鎹� -// List<ProjectInfoYearPlanForm> projectInfoYearPlanForm = form.getYearPlanList(); QueryWrapper<ProjectInfoYearPlan> yearPlanWrapper = new QueryWrapper<>(); unitWrapper.eq("project_info_id",form.getId()); - projectInfoWinUnitService.remove(unitWrapper); + projectInfoYearPlanService.remove(yearPlanWrapper); //娣诲姞骞村害鎶曡祫璁″垝 - saveUnit(entity.getId(),projectInfoWinUnitForm); + saveYearPlan(entity.getId(),form.getYearPlanList()); return Result.ok("淇敼鎴愬姛"); } @@ -211,6 +217,7 @@ List<ProjectInfoYearPlan> projectInfoYearPlans = new ArrayList<>(); for (ProjectInfoYearPlanForm yearPlanForm : yearPlanList) { ProjectInfoYearPlan yearPlan = ProjectInfoYearPlanForm.getEntityByForm(yearPlanForm, null); + yearPlan.setId(null); yearPlan.setProjectInfoId(id); projectInfoYearPlans.add(yearPlan); } @@ -313,9 +320,16 @@ copyToProjectVO(vo, projectVO); List<Long> departmentList = vo.getCompetentDepartmentList(); projectVO.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (!CollectionUtils.isEmpty(departmentList) && departmentList.contains(SecurityUtils.getDeptId()))); - //缈昏瘧椤圭洰闃舵 + // 缈昏瘧椤圭洰闃舵 String phase = ProjectCategoryEnum.getPhaseByProjectStatus(projectVO.getProjectStatus(), projectVO.getProcessId() != null); projectVO.setProjectPhase(phase); + if (StringUtils.isNotEmpty(projectVO.getProjectSubType())) { + // 缈昏瘧椤圭洰瀛愮被鍨� + SysDictData dictData = dictDataService.selectDictDataByValue(projectVO.getProjectType(), projectVO.getProjectSubType(), "sys_project_type"); + if (Objects.nonNull(dictData)) { + projectVO.setProjectSubType(dictData.getDictLabel()); + } + } list.add(projectVO); }); return Result.ok().data(list).total(page.getTotal()); @@ -363,6 +377,15 @@ unitVOS.add(unitVO); } vo.setWinUnitList(unitVOS); + //骞村害鎶曡祫璁″垝 + List<ProjectInfoYearPlanVO> yearPlanVOS = new ArrayList<>(); + List<ProjectInfoYearPlan> yearPlaList = projectInfoYearPlanService.list(new QueryWrapper<ProjectInfoYearPlan>().eq("project_info_id", id)); + for (ProjectInfoYearPlan yearPlan : yearPlaList) { + ProjectInfoYearPlanVO yearPlanVO = ProjectInfoYearPlanVO.getVoByEntity(yearPlan,null); + yearPlanVO.setId(null); + yearPlanVOS.add(yearPlanVO); + } + vo.setYearPlanList(yearPlanVOS); return Result.ok().data(vo); } @@ -750,6 +773,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public Result editProject(ProjectForm form) { if (ObjectUtil.isNotNull(form.getProjectInfoForm())) { if (ObjectUtil.isNull(form.getProjectInfoForm().getId())) { -- Gitblit v1.8.0