package com.matrix.system.common.actions;
|
|
import com.matrix.system.common.bean.CustomerDataDictionary;
|
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
|
import com.matrix.core.anotations.RemoveRequestToken;
|
import com.matrix.core.anotations.SaveRequestToken;
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.constance.SystemErrorCode;
|
import com.matrix.core.constance.SystemMessageCode;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.ModelUtils;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.UUIDUtil;
|
import com.matrix.core.tools.WebUtil;
|
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.tools.ServiceUtil;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author 姜友瑶
|
* @description 数据字典
|
* @date 2018-07-10 07:52
|
*/
|
@Controller
|
@RequestMapping(value = "/admin/customerDictionary")
|
public class CustomerDictionaryAction {
|
|
@Autowired
|
private CustomerDataDictionaryDao dataDictionaryDao;
|
|
|
@Autowired
|
private ServiceUtil serviceUtil;
|
|
|
/**
|
* 列表显示
|
*/
|
@RequestMapping(value = "/showList")
|
public @ResponseBody
|
AjaxResult showList(CustomerDataDictionary dataDictionary, PaginationVO pageVo) {
|
if (pageVo == null) {
|
pageVo = new PaginationVO();
|
}
|
pageVo.setSort("createTime");
|
QueryUtil.setQueryLimitCom(dataDictionary);
|
List<CustomerDataDictionary> dataList = dataDictionaryDao.selectInPage(dataDictionary, pageVo);
|
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList,
|
dataDictionaryDao.selectTotalRecord(dataDictionary));
|
return result;
|
}
|
|
|
/**
|
* 根据id查询字典值
|
*/
|
@GetMapping(value = "/findById/{id}")
|
public @ResponseBody
|
AjaxResult findById(@PathVariable String id) {
|
return AjaxResult.buildSuccessInstance(Arrays.asList(dataDictionaryDao.selectById(id)));
|
}
|
|
|
//显示所有属性
|
@RequestMapping(value = "/all")
|
@ResponseBody
|
public AjaxResult showAll(CustomerDataDictionary dataDictionary) {
|
QueryUtil.setQueryLimitCom(dataDictionary);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, dataDictionaryDao.selectByModel(dataDictionary));
|
}
|
|
/**
|
* 新增
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/addDataDictionary")
|
public @ResponseBody
|
AjaxResult addDataDictionary(CustomerDataDictionary dataDictionary) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
dataDictionary.setId(UUIDUtil.getRandomID());
|
dataDictionary.setCreateBy(user.getSuName());
|
dataDictionary.setUpdateBy(user.getSuName());
|
dataDictionary.setCompanyId(user.getCompanyId());
|
boolean isRepetition = serviceUtil.addCheckRepeat("customer_data_dictionary", "value", dataDictionary.getTypeCode());
|
if (isRepetition) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, dataDictionary.getValue() + "已经存在");
|
}
|
int i = dataDictionaryDao.insert(dataDictionary);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "数据字典");
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL);
|
}
|
}
|
|
/**
|
* 修改
|
*/
|
@RemoveRequestToken
|
@RequestMapping(value = "/modifyDataDictionary")
|
public @ResponseBody
|
AjaxResult modifyDataDictionary(CustomerDataDictionary newDataDictionary) {
|
// 自己不能是自己的父节点
|
if (newDataDictionary.getParentId() != null && newDataDictionary.getParentId().equals(newDataDictionary.getId())) {
|
throw new GlobleException("父级不能是自己");
|
}
|
dataDictionaryDao.updateByModel(newDataDictionary);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "数据字典");
|
|
}
|
|
/**
|
* 进入修改界面
|
*/
|
@SaveRequestToken
|
@RequestMapping(value = "/editForm")
|
public ModelAndView editForm(String id) {
|
CustomerDataDictionary dataDictionary = new CustomerDataDictionary();
|
ModelAndView modelAndView = new ModelAndView("admin/sys/customerDataDictionary-form");
|
if (id != null) {
|
dataDictionary = dataDictionaryDao.selectById(id);
|
}
|
modelAndView.addObject("obj", dataDictionary);
|
return modelAndView;
|
|
|
}
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/del")
|
public @ResponseBody
|
AjaxResult del(String keys) {
|
List<String> ids = StringUtils.strToCollToString(keys, ",");
|
//校验是否为默认的配置
|
for (String id:ids) {
|
CustomerDataDictionary customerDataDictionary = dataDictionaryDao.selectById(id);
|
if(customerDataDictionary.getParentId().equals(CustomerDataDictionary.TYPE_DEFAULT)){
|
return AjaxResult.buildFailInstance("默认配置不能删除");
|
}
|
}
|
int i = dataDictionaryDao.deleteByIds(ids);
|
if (i > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i);
|
} else {
|
throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL);
|
}
|
}
|
|
|
/**
|
* @param parentCode 父级code
|
* @return
|
* @auther kingsley
|
*/
|
@RequestMapping(value = "getListByParentCode/{parentCode}")
|
public @ResponseBody
|
AjaxResult getListByParentCode(@PathVariable String parentCode) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
|
List<CustomerDataDictionary> list = dataDictionaryDao.selectByParentCode(parentCode, user.getCompanyId());
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, list, list.size());
|
}
|
|
}
|