This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/service/basics/ServiceDictInfoService.java
zhangshilin fc2af8ba04 融合代码
更新:辅助字典移动到basics目录下,
              修订数据类型条件查询无效bug,
              优化无条件分页查询代码,
              配置编码自增,用户不需手动输入(app强特征作用域选着配置功能待添加)
             无上级,改为根节点,
2018-03-06 10:06:42 +08:00

303 lines
8.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.service.basics;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.google.common.collect.Lists;
import com.nis.domain.Page;
import com.nis.domain.SysMenu;
import com.nis.domain.SysUser;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.ServiceDictInfoDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@Service
public class ServiceDictInfoService extends BaseService{
@Autowired
private ServiceDictInfoDao serviceDictInfoDao;
/**
* 查询业务字典分页(无条件查询)
* @param page
* @param serviceDictInfo
* @return
*/
public Page<ServiceDictInfo> findTopDictList(Page<ServiceDictInfo> page, ServiceDictInfo serviceDictInfo,Integer[] itType) {
// 设置分页参数
serviceDictInfo.setPage(page);
List<ServiceDictInfo> parentList = Lists.newArrayList();
Integer tempType = 0;
if(serviceDictInfo.getItemType()!=null){
tempType = serviceDictInfo.getItemType();
}
//查出顶层分页查询
if(itType.length==1){
serviceDictInfo.setItemType(itType[0]);
parentList = serviceDictInfoDao.findTopDictList(serviceDictInfo);
}
if(itType.length==2){
if(tempType!=0){
parentList = serviceDictInfoDao.findTopDictList(serviceDictInfo);
}else{
List<Integer> tempList = Lists.newArrayList();
tempList.add(1);tempList.add(2);tempList.add(3);
//Map<String,String> map = DictUtils.getDictOption("SERVICE_DICT_ITM_TYPE");
if(tempList.contains(itType[0])){
tempList.remove(itType[0]);
}
if(tempList.contains(itType[1])){
tempList.remove(itType[1]);
}
serviceDictInfo.setItemType(tempList.get(0));
parentList = serviceDictInfoDao.findTopDictListN(serviceDictInfo);
}
}
page.setList(parentList);
return page;
}
/**
* 查询所有有效字典配置
* @return
*/
public List<ServiceDictInfo> findAllDictList() {
return serviceDictInfoDao.findAllDictList(new ServiceDictInfo());
}
/**
* 查询该类型所有的非叶子配置
*/
public List<ServiceDictInfo> findAllNoLeafDictList(String itType) {
List<ServiceDictInfo> list = Lists.newArrayList();
String[] strArr = itType.split("-");
Integer[] intArr = new Integer[strArr.length];
for(int i=0;i<strArr.length;i++){
intArr[i] = Integer.valueOf(strArr[i]);
List<ServiceDictInfo> tempList = serviceDictInfoDao.findAllNoLeafDictList(intArr[i]);
for(ServiceDictInfo serviceDictInfo:tempList){
list.add(serviceDictInfo);
}
}
return list;
}
/**
* 查询字典分页(含条件查询)
* @param page
* @param serviceDictInfo
* @param itType
* @return
*/
public Page<ServiceDictInfo> findDictSearchList(Page<ServiceDictInfo> page, ServiceDictInfo serviceDictInfo, Integer[] itType) {
// 设置分页参数
serviceDictInfo.setPage(page);
List<ServiceDictInfo> list = Lists.newArrayList();
Integer tempType = 0;
if(serviceDictInfo.getItemType()!=null){
tempType = serviceDictInfo.getItemType();
}
//查出分页
if(itType.length==1){
serviceDictInfo.setItemType(itType[0]);
list = serviceDictInfoDao.findDictSearchList(serviceDictInfo);
}
if(itType.length==2){
if(tempType!=0){
list = serviceDictInfoDao.findTopDictList(serviceDictInfo);
}else{
List<Integer> tempList = Lists.newArrayList();
tempList.add(1);tempList.add(2);tempList.add(3);
//Map<String,String> map = DictUtils.getDictOption("SERVICE_DICT_ITM_TYPE");
if(tempList.contains(itType[0])){
tempList.remove(itType[0]);
}
if(tempList.contains(itType[1])){
tempList.remove(itType[1]);
}
serviceDictInfo.setItemType(tempList.get(0));
list = serviceDictInfoDao.findDictSearchListN(serviceDictInfo);
}
}
page.setList(list);
return page;
}
/**
* 根据主键查询字典详细信息
* @param serviceDictId
* @return
*/
public ServiceDictInfo getDictById(Integer serviceDictId) {
return serviceDictInfoDao.getDictById(serviceDictId);
}
/**
* 根据上级id选出所有下级
* @param parentId
* @return
*/
public List<ServiceDictInfo> getDictByParentId(Integer parentId) {
return serviceDictInfoDao.getDictByParentId(parentId);
}
/**
* 新增或修改业务字典表
* @param serviceDictInfo
*/
public void saveOrUpdate(ServiceDictInfo serviceDictInfo) {
if(serviceDictInfo.getParent()==null
||(serviceDictInfo.getParent()!=null&&serviceDictInfo.getParent().getServiceDictId()==null)
||(serviceDictInfo.getParent()!=null&&serviceDictInfo.getParent().getServiceDictId()==-1)
||(serviceDictInfo.getParent()!=null&&serviceDictInfo.getParent().getServiceDictId()==0)
){
ServiceDictInfo parent = new ServiceDictInfo();
parent.setServiceDictId(0);
serviceDictInfo.setParent(parent);
}
SysUser user = UserUtils.getUser();
if(StringUtil.isEmpty(serviceDictInfo.getServiceDictId())) {//新增
Integer maxCode = serviceDictInfoDao.findMaxItemCode();
serviceDictInfo.setItemCode(maxCode==null?1:(maxCode+1));
serviceDictInfo.setIsValid(1);
serviceDictInfo.setServiceDictCreator(user);
serviceDictInfo.setCreateTime(new Date());
serviceDictInfo.setServiceDictEditor(user);
serviceDictInfo.setEditTime(serviceDictInfo.getCreateTime());
serviceDictInfoDao.insertDict(serviceDictInfo);
}
else {//修改
serviceDictInfo.setServiceDictEditor(user);
serviceDictInfo.setEditTime(new Date());
serviceDictInfoDao.update(serviceDictInfo);
}
}
/**
* 删除
* @param serviceDictInfo
*/
public void deleteDict(ServiceDictInfo serviceDictInfo) {
List<ServiceDictInfo> list = Lists.newArrayList();
//找出所有下级
//查出所有节点
ServiceDictInfo.sortList(list, serviceDictInfoDao.findAllDictList(new ServiceDictInfo()), serviceDictInfo.getServiceDictId(), true);
list.add(serviceDictInfo);
for(ServiceDictInfo se:list){
se.setIsValid(0);
serviceDictInfoDao.delete(se);
}
}
/**
* 根据itemCode查出对象集合
*/
public List<ServiceDictInfo> findByItemCode(Integer itemCode){
return serviceDictInfoDao.findByItemCode(itemCode);
}
/**
*
* findFlDict(查找所有有效的分类)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findFlDict() {
return serviceDictInfoDao.findItemDict(Constants.ITEM_TYPE_FL,Constants.VALID_YES);
}
/**
*
* findFlDict(查找所有有效的分类)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findAllFlDict() {
return serviceDictInfoDao.findAllItemDict(Constants.ITEM_TYPE_FL);
}
/**
*
* findFlDict(查找所有有效的性质)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findXzDict() {
return serviceDictInfoDao.findItemDict(Constants.ITEM_TYPE_XZ,Constants.VALID_YES);
}
/**
*
* findFlDict(查找所有有效的性质)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findAllXzDict() {
return serviceDictInfoDao.findAllItemDict(Constants.ITEM_TYPE_XZ);
}
/**
*
* findFlDict(查找所有有效的标签)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findLableDict() {
return serviceDictInfoDao.findItemDict(Constants.ITEM_TYPE_LABEL,Constants.VALID_YES);
}
/**
*
* findFlDict(查找所有有效的标签)
* (这里描述这个方法适用条件 可选)
* @return
*List<ServiceDictInfo>
* @exception
* @since 1.0.0
*/
public List<ServiceDictInfo> findAllLableDict() {
return serviceDictInfoDao.findAllItemDict(Constants.ITEM_TYPE_LABEL);
}
}