|
@ -0,0 +1,216 @@
|
|
|
|
package com.yihu.jw.base.service.dict;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
import com.yihu.jw.base.dao.dict.BusinessSysDictDao;
|
|
|
|
import com.yihu.jw.entity.care.common.BusinessSysDictDO;
|
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created with IntelliJ IDEA.
|
|
|
|
*
|
|
|
|
* @Author: yeshijie
|
|
|
|
* @Date: 2021/5/10
|
|
|
|
* @Description:
|
|
|
|
*/
|
|
|
|
public class BusinessSysDictService extends BaseJpaService<BusinessSysDictDO, BusinessSysDictDao> {
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private HibenateUtils hibenateUtils;
|
|
|
|
@Autowired
|
|
|
|
private ObjectMapper objectMapper;
|
|
|
|
@Autowired
|
|
|
|
private BusinessSysDictDao businessSysDictDao;
|
|
|
|
|
|
|
|
//根据id修改或新增字典
|
|
|
|
public BusinessSysDictDO updateOrCreateDict(String json) throws Exception{
|
|
|
|
BusinessSysDictDO businessSysDictDO = objectMapper.readValue(json, BusinessSysDictDO.class);
|
|
|
|
String modelName = "";
|
|
|
|
if (StringUtils.isNoneBlank(businessSysDictDO.getDictName())){
|
|
|
|
List<BusinessSysDictDO> modelNameList=businessSysDictDao.findByDictName(businessSysDictDO.getDictName());
|
|
|
|
if (modelNameList!=null&&modelNameList.size()>0){
|
|
|
|
modelName= modelNameList.get(0).getModelName();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
businessSysDictDO.setModelName(modelName);
|
|
|
|
if(StringUtils.isNoneBlank(businessSysDictDO.getId())){
|
|
|
|
BusinessSysDictDO businessSysDictDO1 = businessSysDictDao.findOne(businessSysDictDO.getId());
|
|
|
|
if (businessSysDictDO1!=null){
|
|
|
|
businessSysDictDO1.setDictValue(businessSysDictDO.getDictValue());
|
|
|
|
businessSysDictDO1.setDictCode(businessSysDictDO.getDictCode());
|
|
|
|
businessSysDictDO1.setDictName(businessSysDictDO.getDictName());
|
|
|
|
businessSysDictDO1.setPyCode(businessSysDictDO.getPyCode());
|
|
|
|
businessSysDictDO1.setImgUrl(businessSysDictDO.getImgUrl());
|
|
|
|
businessSysDictDO1.setSort(businessSysDictDO.getSort());
|
|
|
|
businessSysDictDO1.setModelName(modelName);
|
|
|
|
}else {
|
|
|
|
businessSysDictDO1 = new BusinessSysDictDO();
|
|
|
|
businessSysDictDO1.setDictValue(businessSysDictDO.getDictValue());
|
|
|
|
businessSysDictDO1.setDictCode(businessSysDictDO.getDictCode());
|
|
|
|
businessSysDictDO1.setDictName(businessSysDictDO.getDictName());
|
|
|
|
businessSysDictDO1.setPyCode(businessSysDictDO.getPyCode());
|
|
|
|
businessSysDictDO1.setImgUrl(businessSysDictDO.getImgUrl());
|
|
|
|
businessSysDictDO1.setSort(businessSysDictDO.getSort());
|
|
|
|
businessSysDictDO1.setModelName(modelName);
|
|
|
|
}
|
|
|
|
|
|
|
|
return businessSysDictDao.save(businessSysDictDO1);
|
|
|
|
}
|
|
|
|
return businessSysDictDao.save(businessSysDictDO);
|
|
|
|
}
|
|
|
|
|
|
|
|
//根据id删除字典
|
|
|
|
public String deleteDictById(String id){
|
|
|
|
String msg = "";
|
|
|
|
if (StringUtils.isNoneBlank(id)){
|
|
|
|
BusinessSysDictDO businessSysDictDO = businessSysDictDao.findOne(id);
|
|
|
|
if (businessSysDictDO!=null) {
|
|
|
|
businessSysDictDao.delete(id);
|
|
|
|
msg = "删除成功";
|
|
|
|
}else {
|
|
|
|
msg = "没有这条记录";
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
msg = "id为空";
|
|
|
|
}
|
|
|
|
return msg;
|
|
|
|
}
|
|
|
|
|
|
|
|
//查字典
|
|
|
|
public MixEnvelop findDictsByNameCode(String modelName,String name,String code,String value,Integer page ,Integer pageSize){
|
|
|
|
String sql = "select t.id as \"id\"," +
|
|
|
|
" t.dict_name as \"dictName\","+
|
|
|
|
" t.model_name as \"modelName\","+
|
|
|
|
" t.dict_code as \"dictCode\","+
|
|
|
|
" t.dict_value as \"dictValue\","+
|
|
|
|
" t.sort as \"sort\","+
|
|
|
|
" t.py_code as \"pyCode\","+
|
|
|
|
" t.img_url as \"imgUrl\","+
|
|
|
|
" t.create_time as \"createTime\""+
|
|
|
|
" from base_business_sys_dict t where 1=1 ";
|
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
|
sql+=" and t.dict_name like '%"+name+"%'";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNoneBlank(modelName)){
|
|
|
|
sql+=" and t.model_name like '%"+modelName+"%'";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNoneBlank(code)){
|
|
|
|
sql+=" and t.dict_code like '%"+code+"%'";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNoneBlank(value)){
|
|
|
|
sql+=" and t.dict_value like '%"+value+"%'";
|
|
|
|
}
|
|
|
|
sql+=" and t.dict_code is not null and t.dict_code != ''";
|
|
|
|
if (page==null||page==null){
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
|
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
|
mixEnvelop.setTotalCount(list==null?0:list.size());
|
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
|
return mixEnvelop;
|
|
|
|
}else {
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
|
List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
|
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
|
mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
|
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
|
return mixEnvelop;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//查字典
|
|
|
|
public MixEnvelop findModel(String modelName, String name, Integer page , Integer pageSize){
|
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
|
String sql = "select " +
|
|
|
|
" t.dict_name as \"dictName\","+
|
|
|
|
" t.model_name as \"modelName\""+
|
|
|
|
" from base_business_sys_dict t where 1=1 ";
|
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
|
sql+=" and t.dict_name like '%"+name+"%'";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNoneBlank(modelName)){
|
|
|
|
sql+=" and t.model_name like '%"+modelName+"%'";
|
|
|
|
}
|
|
|
|
sql+=" group by t.dict_name,t.model_name ";
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
|
List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
|
|
|
|
|
|
|
|
if (listCount!=null){
|
|
|
|
mixEnvelop.setTotalCount(listCount.size());
|
|
|
|
}else {
|
|
|
|
mixEnvelop.setTotalCount(0);
|
|
|
|
}
|
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
|
return mixEnvelop;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Envelop updateByModelName(String jsonData) throws Exception{
|
|
|
|
Envelop envelop = new Envelop();
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(jsonData);
|
|
|
|
if (StringUtils.isNoneBlank(jsonObject.getString("preDictName"))){
|
|
|
|
String preDictName = jsonObject.get("preDictName").toString();
|
|
|
|
List<BusinessSysDictDO> list = businessSysDictDao.findByDictName(preDictName);
|
|
|
|
for (BusinessSysDictDO sysDictDO:list){
|
|
|
|
if (jsonObject.get("dictName")!=null){
|
|
|
|
sysDictDO.setDictName(jsonObject.get("dictName").toString());
|
|
|
|
}
|
|
|
|
if (jsonObject.get("modelName")!=null){
|
|
|
|
sysDictDO.setModelName(jsonObject.get("modelName").toString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
businessSysDictDao.save(list);
|
|
|
|
envelop.setMessage("操作成功");
|
|
|
|
envelop.setStatus(200);
|
|
|
|
}else {
|
|
|
|
if (jsonObject.get("dictName")!=null){
|
|
|
|
List<BusinessSysDictDO> list = businessSysDictDao.findByDictName(jsonObject.get("dictName").toString());
|
|
|
|
if (list!=null&&list.size()>0){
|
|
|
|
throw new Exception("该dictName已经存在");
|
|
|
|
}else {
|
|
|
|
BusinessSysDictDO sysDictDO=new BusinessSysDictDO();
|
|
|
|
sysDictDO.setDictName(jsonObject.get("dictName").toString());
|
|
|
|
if (jsonObject.get("modelName")!=null){
|
|
|
|
sysDictDO.setModelName(jsonObject.get("modelName").toString());
|
|
|
|
}
|
|
|
|
businessSysDictDao.save(sysDictDO);
|
|
|
|
}
|
|
|
|
envelop.setMessage("操作成功");
|
|
|
|
envelop.setStatus(200);
|
|
|
|
|
|
|
|
}else {
|
|
|
|
envelop.setMessage("dictName为空");
|
|
|
|
envelop.setStatus(-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return envelop;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Envelop deleteByModelName(String preDictName){
|
|
|
|
Envelop envelop = new Envelop();
|
|
|
|
if (StringUtils.isNoneBlank(preDictName)){
|
|
|
|
List<BusinessSysDictDO> list = businessSysDictDao.findByDictName(preDictName);
|
|
|
|
for (BusinessSysDictDO sysDictDO:list){
|
|
|
|
businessSysDictDao.delete(sysDictDO);
|
|
|
|
}
|
|
|
|
envelop.setMessage("操作成功");
|
|
|
|
envelop.setStatus(200);
|
|
|
|
}else {
|
|
|
|
envelop.setMessage("preDictName为空");
|
|
|
|
envelop.setStatus(-1);
|
|
|
|
}
|
|
|
|
return envelop;
|
|
|
|
}
|
|
|
|
}
|