| 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()); | 
|     } | 
|   | 
| } |