jiazx0107@163.com
2023-05-27 b667644b1a9f93583b4bb2d508c570c65aa3497b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.ld.igds.view.service;
 
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.models.DicArea;
import com.ld.igds.models.DicFoodOrigin;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Session;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
@Component
public class HDicAreaService extends HibernateDao{
 
    public List<DicArea> listDicArea(String type){
        String hql = " from " + DicArea.class.getName();
 
        Map<String, Object> args = new HashMap<String, Object>();
        if (StringUtils.isNotEmpty(type)) {
            hql += " and type = :type";
            args.put("type", type);
        }
        hql += " order by code";
 
        return this.query(hql, args);
    }
 
    public String saveDicArea(DicArea data) {
        Session session = this.getSessionFactory().openSession();
        try {
 
            session.saveOrUpdate(data);
        } finally {
            session.flush();
            session.close();
        }
        return null;
    }
 
    public String delDicArea(DicArea data) {
        Session session = this.getSessionFactory().openSession();
        try {
            session.delete(data);
        } finally {
            session.flush();
            session.close();
        }
        return null;
    }
 
    public DicArea listDicAreaByName(String name){
        String hql = " from " + DicArea.class.getName() + " where 1=1";
 
        Map<String, Object> args = new HashMap<String, Object>();
        if (StringUtils.isNotEmpty(name)) {
            hql += " and name like :name";
            args.put("name", "%" + name + "%");
        }
        hql += " order by code";
 
        List<DicArea> list = this.query(hql, args);
        if(null ==list || list.isEmpty()){
            return null;
        }
        return list.get(0);
    }
 
    public DicArea listDicAreaByCode(String code){
        if(StringUtils.isEmpty(code)){
            return null;
        }
        String hql = " from " + DicArea.class.getName() + " where code =:code";
 
        Map<String, Object> args = new HashMap<String, Object>();
        args.put("code", code);
        hql += " order by code";
 
        List<DicArea> list = this.query(hql, args);
        if(null ==list || list.isEmpty()){
            return null;
        }
        return list.get(0);
    }
 
    public void getDicArea(Page<DicFoodOrigin> page, Map<String,Object> param) throws Exception {
        String hql = " from " + DicArea.class.getName() + " where 1=1";
 
        Map<String, Object> args = new HashMap<String, Object>();
 
        if (null != param) {
            String str = (String) param.get("code");
            if (StringUtils.isNotEmpty(str)) {
                hql += " and code like :code";
                args.put("code", "%" + str + "%");
            }
            str = (String) param.get("name");
            if (StringUtils.isNotEmpty(str)) {
                hql += " and name like :name";
                args.put("name", "%" + str + "%");
            }
 
            str = (String) param.get("disabledTag");
            if (StringUtils.isNotEmpty(str)) {
                hql += " and disabledTag = :disabledTag";
                args.put("disabledTag", str);
            }
 
            str = (String) param.get("key");
            if (StringUtils.isNoneEmpty(str)) {
                hql += " and (name like :name or code like:code or simple like:simple) ";
                args.put("name", "%" + str + "%");
                args.put("code", "%" + str + "%");
                args.put("simple", "%" + str.toUpperCase() + "%");
            }
        }
 
        String coutHql = "select count(*) " + hql;
 
        hql += " order by code";
 
        if (args.isEmpty()) {
            this.pagingQuery(page, hql, coutHql);
        } else {
            this.pagingQuery(page, hql, coutHql, args);
        }
    }
}