Files
dzpt/src/main/java/com/saye/hospitalgd/controller/system/DicinfoController.java
2025-07-23 09:55:50 +08:00

270 lines
8.8 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.saye.hospitalgd.controller.system;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.saye.hospitalgd.commons.JsonResult;
import com.saye.hospitalgd.commons.date.DateDUtil;
import com.saye.hospitalgd.commons.log.ExceptionDUtil;
import com.saye.hospitalgd.commons.log.LogUtil;
import com.saye.hospitalgd.commons.page.PageUtil;
import com.saye.hospitalgd.commons.page.TemplatePage;
import com.saye.hospitalgd.commons.string.StringDUtil;
import com.saye.hospitalgd.commons.uuid.UUIDGenerator;
import com.saye.hospitalgd.model.Dicinfo;
import com.saye.hospitalgd.model.ResourceInfo;
import com.saye.hospitalgd.model.Users;
import com.saye.hospitalgd.service.system.DicinfoService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class DicinfoController {
@Autowired
private DicinfoService dicinfoService;
/**
*
* @description 跳转到字典管理页面
* @author qfqi
* @created 2019年12月23日 下午1:47:21
* @param modelMap
* @return
*/
@RequestMapping("/toDicinfoManager")
public String toDepartManager(ModelMap modelMap){
String parentCode="0";
List<Dicinfo> list= dicinfoService.findDicinfoTreeNodeList(parentCode);
ResourceInfo resource = new ResourceInfo();
resource.setTitle("字典");
resource.setId("0");
for (Dicinfo dicinfo : list) {
//生成主节点
ResourceInfo resourceInfo = new ResourceInfo();
resourceInfo.setTitle(dicinfo.getDicname());
resourceInfo.setId(dicinfo.getDiccode());
resourceInfo.setSysid(dicinfo.getParentCode());
resource.getChildren().add(resourceInfo);
}
String jsonString = JSONObject.toJSONString(resource);
modelMap.addAttribute("departInfo", jsonString);
return "system/dicinfoManage";
}
/**
*
* @description 新增字典
* @author qfqi
* @created 2019年12月19日 下午5:20:28
* @param
* @return
*/
@RequestMapping("/dicinfoManager/addDicinfoManager")
@ResponseBody
public JsonResult addDicinfoManager(String dicname,String diccode,String dicvalue,String parentCode,String sortNo){
HashMap<String,String> map=new HashMap<String,String>();
JsonResult j=new JsonResult();
map.put("dicname", dicname);
map.put("dicvalue", dicvalue);
map.put("parentCode", parentCode);
map.put("sortNo", sortNo);
if(diccode!=null && !"".equals(diccode)){
//代表新增的是字典树父级 需要验证字点编码是否重复
map.put("diccode", diccode);
List<Dicinfo> list= dicinfoService.findDicinfoBydiccode(diccode);
if(list.size()>0){
//代表在相同的父类下有相同的value值
j.setState(false);
j.setMessage("字典编码重复,请重新输入!");
return j;
}
}else{
//代表新增的是子类需要查询该父类下是否存在相同的val值
map.put("diccode", UUIDGenerator.getUUID());
List<Dicinfo> list= dicinfoService.findDicinfoTreeByCode(map);
if(list.size()>0){
//代表在相同的父类下有相同的value值
j.setState(false);
j.setMessage("字典值重复,请重新输入!");
return j;
}
}
int result=0;
try {
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
map.put("create_time",DateDUtil.getCurrentDate(DateDUtil.yyyy_MM_dd_HH_mm_ss));
result = dicinfoService.addDicinfo(map);
LogUtil.debug(this.getClass(),"用户"+ user.getTrueName()+"新增字典map:"+map.toString());
} catch (Exception e) {
e.printStackTrace();
LogUtil.error(this.getClass(), "新增字典失败,原因:"+ExceptionDUtil.getDetailExceptionMsg(e));
}
if(result>0){
j.setState(true);
j.setMessage("新增成功!");
}else{
j.setState(false);
j.setMessage("新增失败!");
}
return j;
}
/**
*
* @description 修改字典名称
* @author qfqi
* @created 2019年12月19日 下午5:50:45
* @param requestMap
* @return
*/
@RequestMapping("/dicinfoManager/updateDicinfoManager")
@ResponseBody
public JsonResult updateDicinfoManager(String diccode,String dicname,String parentCode,String dicvalue,String sortNo){
HashMap<String,String> map=new HashMap<String,String>();
JsonResult j=new JsonResult();
map.put("dicname", dicname);
map.put("diccode", diccode);
map.put("modifyTime", DateDUtil.getTheCurrentTime());
map.put("dicvalue", dicvalue);
map.put("parentCode", parentCode);
map.put("sortNo", sortNo);
int result=0;
try {
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
result = dicinfoService.modifyDicinfo(map);
LogUtil.debug(this.getClass(),"用户"+ user.getTrueName()+"修改字典map:"+map.toString());
} catch (Exception e) {
e.printStackTrace();
LogUtil.error(this.getClass(), "修改字典失败,原因:"+ExceptionDUtil.getDetailExceptionMsg(e));
}
if(result>0){
j.setState(true);
j.setMessage("修改成功!");
}else{
j.setState(false);
j.setMessage("修改失败!");
}
return j;
}
/**
*
* @description 删除字典
* @author qfqi
* @created 2019年12月19日 下午5:50:25
* @param requestMap
* @return
*/
@RequestMapping("/dicinfoManager/deleteDicinfoManager")
@ResponseBody
public JsonResult deleteDicinfoManager(@RequestBody Map requestMap){
String diccode= StringDUtil.changeNullToEmpty(requestMap.get("diccode"));
int result=0;
JsonResult j=new JsonResult();
try {
Users user = (Users) SecurityUtils.getSubject().getPrincipal();
result = dicinfoService.deleteDicinfo(diccode);
LogUtil.debug(this.getClass(),"用户"+ user.getTrueName()+"删除字典diccode:"+diccode);
} catch (Exception e) {
e.printStackTrace();
LogUtil.error(this.getClass(), "删除字典失败,原因:"+ExceptionDUtil.getDetailExceptionMsg(e));
}
if(result>0){
j.setState(true);
j.setMessage("删除成功!");
}else{
j.setState(false);
j.setMessage("删除失败!");
}
return j;
}
//根据父id分页查询字典
@RequestMapping("/dicinfoManager/selectDicinfoManager")
@ResponseBody
public TemplatePage selectDicinfoManager(String parentCode,Integer page,Integer limit){
PageHelper.startPage(page, limit);
PageInfo<Dicinfo> appsPageInfo = new PageInfo<Dicinfo>(dicinfoService.findDicinfoTreeNodeList(parentCode));
return PageUtil.loadJsonPage(appsPageInfo);
}
//根据上级编码查询所有数据
@RequestMapping("/dicinfoManager/selectDicinfoListByCode")
@ResponseBody
public List<HashMap<Object, Object>> selectDicinfoListByCode(String parent_code){
List<HashMap<Object, Object>> list = this.dicinfoService.selectDicinfoListByCode(parent_code);
return list;
}
//根据条件分页查询字典
@RequestMapping("/dicinfoManager/selectDicinfoPageListByCondition")
@ResponseBody
public TemplatePage selectDicinfoPageListByCondition(String parentCode,String dicname,Integer page,Integer limit){
HashMap<String, String> map = new HashMap<String,String>();
map.put("parentCode", parentCode);
map.put("dicname", dicname);
PageHelper.startPage(page, limit);
PageInfo<HashMap<Object, Object>> appsPageInfo = new PageInfo<HashMap<Object, Object>>(dicinfoService.selectDicinfoListByCondition(map));
return PageUtil.loadJsonPage(appsPageInfo);
}
//根据条件查询所有字典
@RequestMapping("/dicinfoManager/selectDicinfoListByCondition")
@ResponseBody
public List<HashMap<Object, Object>> selectDicinfoListByCondition(@RequestBody HashMap<String, String> map){
List<HashMap<Object, Object>> list = this.dicinfoService.selectDicinfoListByCondition(map);
return list;
}
/**
*
* @description 获取最大字典顺序
* @author qfqi
* @created 2021年1月13日 下午2:56:03
* @param requestMap
* @return
*/
@RequestMapping("/dicinfoManager/getMaxDicValue")
@ResponseBody
public JsonResult getMaxDicValue(@RequestBody Map requestMap){
String diccode= StringDUtil.changeNullToEmpty(requestMap.get("diccode"));
JsonResult j=new JsonResult();
try {
HashMap<String, String> map = new HashMap<String,String>();
map.put("parentCode", diccode);
HashMap<Object, Object> result = dicinfoService.getMaxDicValue(map);
j.setState(true);
j.setData(result.get("MAXDICVALUE"));
j.setMessage("成功!");
} catch (Exception e) {
j.setState(false);
j.setMessage("查询字典最大值失败!");
e.printStackTrace();
LogUtil.error(this.getClass(), "查询字典最大值失败,原因:"+ExceptionDUtil.getDetailExceptionMsg(e));
}
return j;
}
}