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; /** * 添加 @@ -316,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()); start/src/main/java/com/ycl/web/controller/system/SysDictDataController.java
@@ -125,4 +125,15 @@ List<SysDictData> list = dictDataService.selectDictDataList(dictData); return success(list); } /** * 根据父级id获取子级数据 */ @GetMapping("/child/by/parent/{parentId}") public AjaxResult getChildList(@PathVariable("parentId") Long parentId) { SysDictData dictData = new SysDictData(); dictData.setParentId(parentId); List<SysDictData> list = dictDataService.selectDictDataList(dictData); return success(list); } } system/src/main/java/com/ycl/system/mapper/SysDictDataMapper.java
@@ -92,4 +92,12 @@ * @return 结果 */ public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); /** * 根据值查询字典子类型数据 * * @param value * @return */ SysDictData selectDictDataByValue(@Param("parentValue") String parentValue, @Param("dictValue") String value, @Param("dictType") String dictType); } system/src/main/java/com/ycl/system/service/ISysDictDataService.java
@@ -5,14 +5,14 @@ /** * 字典 业务层 * * * @author ycl */ public interface ISysDictDataService { /** * 根据条件分页查询字典数据 * * * @param dictData 字典数据信息 * @return 字典数据集合信息 */ @@ -20,7 +20,7 @@ /** * 根据字典类型和字典键值查询字典数据信息 * * * @param dictType 字典类型 * @param dictValue 字典键值 * @return 字典标签 @@ -29,7 +29,7 @@ /** * 根据字典数据ID查询信息 * * * @param dictCode 字典数据ID * @return 字典数据 */ @@ -37,14 +37,14 @@ /** * 批量删除字典数据信息 * * * @param dictCodes 需要删除的字典数据ID */ public void deleteDictDataByIds(Long[] dictCodes); /** * 新增保存字典数据信息 * * * @param dictData 字典数据信息 * @return 结果 */ @@ -52,9 +52,19 @@ /** * 修改保存字典数据信息 * * * @param dictData 字典数据信息 * @return 结果 */ public int updateDictData(SysDictData dictData); /** * 根据值查询字典子类型数据 * * @param parentValue * @param value * @param dictType 字典类型 * @return */ SysDictData selectDictDataByValue(String parentValue, String value, String dictType); } system/src/main/java/com/ycl/system/service/impl/SysDictDataServiceImpl.java
@@ -108,4 +108,10 @@ } return row; } @Override public SysDictData selectDictDataByValue(String parentValue, String value, String dictType) { return dictDataMapper.selectDictDataByValue(parentValue, value, dictType); } } system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -35,6 +35,9 @@ <if test="dictLabel != null and dictLabel != ''"> AND dict_label like concat('%', #{dictLabel}, '%') </if> <if test="parentId != null"> AND parent_id = #{parentId} </if> <if test="status != null and status != ''"> AND status = #{status} </if> @@ -95,6 +98,11 @@ update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} </update> <select id="selectDictDataByValue" parameterType="string" resultMap="SysDictDataResult"> <include refid="selectDictDataVo"/> where dict_value = #{dictValue} AND parent_id = (SELECT dict_code FROM sys_dict_data WHERE dict_value = #{parentValue} AND dict_type = #{dictType}) AND dict_type = #{dictType} </select> <insert id="insertDictData" parameterType="SysDictData"> insert into sys_dict_data( <if test="dictSort != null">dict_sort,</if>