CZT
2023-11-27 c206acfaedc69c390fb67daa81bc686f58a212ef
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
package com.ld.igds.quantity.service;
 
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.models.Quantity;
import com.ld.igds.quantity.dto.QuantityData;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Repository;
 
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
 
/**
 * 
 * @author: andy.jia
 * @description:
 * @version:
 * @data:2020年1月16日
 *
 */
@Repository
public class HQuantityDataService extends HibernateDao {
 
    public void getData(Page<QuantityData> page, Map<String, Object> parameter)
            throws Exception {
        if (null == parameter) {
            parameter = new HashMap<String, Object>();
        }
        
        Map<String, Object> args = new HashMap<String, Object>();
 
        // 默认获取6个月的数据信息
        Date date = (Date) parameter.get("start");
        if (null == date) {
            date = DateUtils.addMonths(new Date(), -6);
        }
 
        String hql = " from " + Quantity.class.getName()
                + " where companyId=:companyId";
        args.put("companyId", ContextUtil.getCompanyId());
 
        String arg = (String) parameter.get("depotId");
        if (StringUtils.isNotEmpty(arg)) {
            hql += " and depotId = :depotId";
            args.put("depotId", arg);
        }
 
        if (null != date) {
            hql += " and receiveDate >=:start";
            args.put("start", DateUtil.getCurZero(date));
        }
 
        date = (Date) parameter.get("end");
        if (null != date) {
            hql += " and receiveDate < :end";
            args.put("end", DateUtil.getNextZero(date));
        }
 
        String countHql = "select count(*) " + hql;
        hql += " order by batchId desc";
 
        this.pagingQuery(page, hql, countHql, args);
    }
 
}