|
@@ -1,11 +1,18 @@
|
|
package com.ozs.system.service.impl;
|
|
package com.ozs.system.service.impl;
|
|
|
|
|
|
import java.util.Comparator;
|
|
import java.util.Comparator;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import javax.annotation.PostConstruct;
|
|
import javax.annotation.PostConstruct;
|
|
|
|
|
|
|
|
+import com.ozs.common.core.domain.AjaxResult;
|
|
|
|
+import com.ozs.common.enums.PlanPurchaseMode;
|
|
|
|
+import com.ozs.common.enums.ProjectAttribute;
|
|
|
|
+import com.ozs.common.enums.ProjectStatus;
|
|
|
|
+import com.ozs.common.enums.ProjectTypes;
|
|
import com.ozs.system.service.ISysDictTypeService;
|
|
import com.ozs.system.service.ISysDictTypeService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -25,8 +32,7 @@ import com.ozs.system.mapper.SysDictTypeMapper;
|
|
* @author ruoyi
|
|
* @author ruoyi
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
-public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
|
|
-{
|
|
|
|
|
|
+public class SysDictTypeServiceImpl implements ISysDictTypeService {
|
|
@Autowired
|
|
@Autowired
|
|
private SysDictTypeMapper dictTypeMapper;
|
|
private SysDictTypeMapper dictTypeMapper;
|
|
|
|
|
|
@@ -37,8 +43,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* 项目启动时,初始化字典到缓存
|
|
* 项目启动时,初始化字典到缓存
|
|
*/
|
|
*/
|
|
@PostConstruct
|
|
@PostConstruct
|
|
- public void init()
|
|
|
|
- {
|
|
|
|
|
|
+ public void init() {
|
|
loadingDictCache();
|
|
loadingDictCache();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -49,8 +54,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 字典类型集合信息
|
|
* @return 字典类型集合信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<SysDictType> selectDictTypeList(SysDictType dictType)
|
|
|
|
- {
|
|
|
|
|
|
+ public List<SysDictType> selectDictTypeList(SysDictType dictType) {
|
|
return dictTypeMapper.selectDictTypeList(dictType);
|
|
return dictTypeMapper.selectDictTypeList(dictType);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -60,8 +64,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 字典类型集合信息
|
|
* @return 字典类型集合信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<SysDictType> selectDictTypeAll()
|
|
|
|
- {
|
|
|
|
|
|
+ public List<SysDictType> selectDictTypeAll() {
|
|
return dictTypeMapper.selectDictTypeAll();
|
|
return dictTypeMapper.selectDictTypeAll();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -72,16 +75,13 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 字典数据集合信息
|
|
* @return 字典数据集合信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<SysDictData> selectDictDataByType(String dictType)
|
|
|
|
- {
|
|
|
|
|
|
+ public List<SysDictData> selectDictDataByType(String dictType) {
|
|
List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
|
|
List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
|
|
- if (StringUtils.isNotEmpty(dictDatas))
|
|
|
|
- {
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(dictDatas)) {
|
|
return dictDatas;
|
|
return dictDatas;
|
|
}
|
|
}
|
|
dictDatas = dictDataMapper.selectDictDataByType(dictType);
|
|
dictDatas = dictDataMapper.selectDictDataByType(dictType);
|
|
- if (StringUtils.isNotEmpty(dictDatas))
|
|
|
|
- {
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(dictDatas)) {
|
|
DictUtils.setDictCache(dictType, dictDatas);
|
|
DictUtils.setDictCache(dictType, dictDatas);
|
|
return dictDatas;
|
|
return dictDatas;
|
|
}
|
|
}
|
|
@@ -95,8 +95,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 字典类型
|
|
* @return 字典类型
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public SysDictType selectDictTypeById(Long dictId)
|
|
|
|
- {
|
|
|
|
|
|
+ public SysDictType selectDictTypeById(Long dictId) {
|
|
return dictTypeMapper.selectDictTypeById(dictId);
|
|
return dictTypeMapper.selectDictTypeById(dictId);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -107,8 +106,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 字典类型
|
|
* @return 字典类型
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public SysDictType selectDictTypeByType(String dictType)
|
|
|
|
- {
|
|
|
|
|
|
+ public SysDictType selectDictTypeByType(String dictType) {
|
|
return dictTypeMapper.selectDictTypeByType(dictType);
|
|
return dictTypeMapper.selectDictTypeByType(dictType);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -118,13 +116,10 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @param dictIds 需要删除的字典ID
|
|
* @param dictIds 需要删除的字典ID
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void deleteDictTypeByIds(Long[] dictIds)
|
|
|
|
- {
|
|
|
|
- for (Long dictId : dictIds)
|
|
|
|
- {
|
|
|
|
|
|
+ public void deleteDictTypeByIds(Long[] dictIds) {
|
|
|
|
+ for (Long dictId : dictIds) {
|
|
SysDictType dictType = selectDictTypeById(dictId);
|
|
SysDictType dictType = selectDictTypeById(dictId);
|
|
- if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0)
|
|
|
|
- {
|
|
|
|
|
|
+ if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) {
|
|
throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
|
|
throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
|
|
}
|
|
}
|
|
dictTypeMapper.deleteDictTypeById(dictId);
|
|
dictTypeMapper.deleteDictTypeById(dictId);
|
|
@@ -136,13 +131,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* 加载字典缓存数据
|
|
* 加载字典缓存数据
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void loadingDictCache()
|
|
|
|
- {
|
|
|
|
|
|
+ public void loadingDictCache() {
|
|
SysDictData dictData = new SysDictData();
|
|
SysDictData dictData = new SysDictData();
|
|
dictData.setStatus("0");
|
|
dictData.setStatus("0");
|
|
Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
|
|
Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
|
|
- for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet())
|
|
|
|
- {
|
|
|
|
|
|
+ for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet()) {
|
|
DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
|
|
DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -151,8 +144,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* 清空字典缓存数据
|
|
* 清空字典缓存数据
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void clearDictCache()
|
|
|
|
- {
|
|
|
|
|
|
+ public void clearDictCache() {
|
|
DictUtils.clearDictCache();
|
|
DictUtils.clearDictCache();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -160,8 +152,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* 重置字典缓存数据
|
|
* 重置字典缓存数据
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void resetDictCache()
|
|
|
|
- {
|
|
|
|
|
|
+ public void resetDictCache() {
|
|
clearDictCache();
|
|
clearDictCache();
|
|
loadingDictCache();
|
|
loadingDictCache();
|
|
}
|
|
}
|
|
@@ -173,11 +164,9 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int insertDictType(SysDictType dict)
|
|
|
|
- {
|
|
|
|
|
|
+ public int insertDictType(SysDictType dict) {
|
|
int row = dictTypeMapper.insertDictType(dict);
|
|
int row = dictTypeMapper.insertDictType(dict);
|
|
- if (row > 0)
|
|
|
|
- {
|
|
|
|
|
|
+ if (row > 0) {
|
|
DictUtils.setDictCache(dict.getDictType(), null);
|
|
DictUtils.setDictCache(dict.getDictType(), null);
|
|
}
|
|
}
|
|
return row;
|
|
return row;
|
|
@@ -191,13 +180,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public int updateDictType(SysDictType dict)
|
|
|
|
- {
|
|
|
|
|
|
+ public int updateDictType(SysDictType dict) {
|
|
SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId());
|
|
SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId());
|
|
dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType());
|
|
dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType());
|
|
int row = dictTypeMapper.updateDictType(dict);
|
|
int row = dictTypeMapper.updateDictType(dict);
|
|
- if (row > 0)
|
|
|
|
- {
|
|
|
|
|
|
+ if (row > 0) {
|
|
List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
|
|
List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
|
|
DictUtils.setDictCache(dict.getDictType(), dictDatas);
|
|
DictUtils.setDictCache(dict.getDictType(), dictDatas);
|
|
}
|
|
}
|
|
@@ -211,14 +198,50 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public String checkDictTypeUnique(SysDictType dict)
|
|
|
|
- {
|
|
|
|
|
|
+ public String checkDictTypeUnique(SysDictType dict) {
|
|
Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
|
|
Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
|
|
SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
|
|
SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
|
|
- if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue())
|
|
|
|
- {
|
|
|
|
|
|
+ if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
|
|
return UserConstants.NOT_UNIQUE;
|
|
return UserConstants.NOT_UNIQUE;
|
|
}
|
|
}
|
|
return UserConstants.UNIQUE;
|
|
return UserConstants.UNIQUE;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HashMap<String, HashMap<String, String>> getAboutEnums() {
|
|
|
|
+ HashMap<String, HashMap<String, String>> hashMap = new HashMap<>();
|
|
|
|
+ HashMap<String, String> projectTypesMap = new LinkedHashMap<>();
|
|
|
|
+ HashMap<String, String> projectStatusMap = new LinkedHashMap<>();
|
|
|
|
+ HashMap<String, String> planPurchaseModesMap = new LinkedHashMap<>();
|
|
|
|
+ HashMap<String, String> projectAttributes = new LinkedHashMap<>();
|
|
|
|
+ HashMap<String, String> purchaseServices = new LinkedHashMap<>();
|
|
|
|
+ //项目类型
|
|
|
|
+ for (ProjectTypes value : ProjectTypes.values()) {
|
|
|
|
+ projectTypesMap.put(value.getInfo(), value.getCode());
|
|
|
|
+ }
|
|
|
|
+ //项目审核状态
|
|
|
|
+ for (ProjectStatus value : ProjectStatus.values()) {
|
|
|
|
+ projectStatusMap.put(value.getInfo(), value.getCode());
|
|
|
|
+ }
|
|
|
|
+ //采购方式
|
|
|
|
+ for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
|
|
|
|
+ planPurchaseModesMap.put(value.getInfo(), value.getCode());
|
|
|
|
+ }
|
|
|
|
+ //项目属性
|
|
|
|
+ for (ProjectAttribute value : ProjectAttribute.values()) {
|
|
|
|
+ projectAttributes.put(value.getInfo(), value.getCode());
|
|
|
|
+ }
|
|
|
|
+ List<SysDictData> data = dictDataMapper.selectDictDataByType("purchase_services");
|
|
|
|
+ //采购服务站
|
|
|
|
+ for (SysDictData dictData : data) {
|
|
|
|
+ purchaseServices.put(dictData.getDictLabel(), dictData.getDictValue());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ hashMap.put("projectTypes", projectTypesMap);
|
|
|
|
+ hashMap.put("projectStatus", projectStatusMap);
|
|
|
|
+ hashMap.put("planPurchaseModes", planPurchaseModesMap);
|
|
|
|
+ hashMap.put("projectAttributes", projectAttributes);
|
|
|
|
+ hashMap.put("purchaseServices", purchaseServices);
|
|
|
|
+ return hashMap;
|
|
|
|
+ }
|
|
}
|
|
}
|