jiazx0107@163.com
2023-05-26 6f4a366cad9109ddc338fd13c9d43ca2ce516f6b
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
130
package com.ld.igds.m.service;
 
import com.bstek.bdf2.core.orm.jdbc.JdbcDao;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.m.dto.ReportInoutCheckData;
import com.ld.igds.m.dto.ReportInoutCheckDataRowMapepr;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
 
import java.util.*;
 
@Component(JInoutCheckService.BEAN_ID)
public class JInoutCheckService extends JdbcDao {
 
    public static final String BEAN_ID = "jdbcInoutCheckServiceImpl";
 
    public void pageReportCheckData(Page<ReportInoutCheckData> page,
            Map<String, Object> param) {
 
        StringBuilder sb = new StringBuilder();
 
        sb.append("SELECT ");
        sb.append("d.ID_ as id, ");
        sb.append("d.DEPT_ID_ as deptId, ");
        sb.append("d.DEPOT_ID_ as depotId, ");
        sb.append("d.USER_NAME_ as userName, ");
        sb.append("d.PLATE_NUM_ as plateNum, ");
        sb.append("d.CUSTOMER_ID_ as customerId, ");
        sb.append("d.CUSTOMER_NAME_ as customerName, ");
        sb.append("d.FOOD_VARIETY_ as foodVariety, ");
        sb.append("d.FOOD_LEVEL_ as foodLevel, ");
        sb.append("d.FOOD_LOCATION_ as foodLocation, ");
        sb.append("d.FOOD_YEAR_ as foodYear, ");
        sb.append("d.CHECK_STATUS_ as checkStatus, ");
        sb.append("d.SETTLE_WEIGHT_ as settleWeight, ");
        sb.append("d.COMPLETE_TIME_ as completeTime, ");
        sb.append("d.REMARKS_ as remarks, ");
 
        sb.append("f.STANDARD_ID_ as standardId, ");
        sb.append("f.STANDARD_NAME_ as standardName, ");
        sb.append("f.LOWER_LIMIT_ as lowerLimit, ");
        sb.append("f.UPPER_LIMIT_ as upperLimit, ");
        sb.append("f.VALUE_ as value, ");
 
        sb.append("e.STANDARD_ID_ as standardId2, ");
        sb.append("e.STANDARD_NAME_ as standardName2, ");
        sb.append("e.LOWER_LIMIT_ as lowerLimit2, ");
        sb.append("e.UPPER_LIMIT_ as upperLimit2, ");
        sb.append("e.VALUE_ as value2 ");
 
        sb.append("FROM d_inout_record d ");
 
        sb.append("LEFT JOIN d_check_item c ");
        sb.append("ON d.COMPANY_ID_ = c.COMPANY_ID_ ");
        sb.append("AND d.CHECK_ID_ = c.CHECK_ID_ ");
 
        sb.append("LEFT JOIN ");
        sb.append("( SELECT * FROM d_check_item WHERE STANDARD_ID_ =? ) e ");
        sb.append("ON d.COMPANY_ID_ = e.COMPANY_ID_ ");
        sb.append("AND d.CHECK_ID_ = e.CHECK_ID_ ");
 
        sb.append("LEFT JOIN ");
        sb.append("( SELECT * FROM d_check_item WHERE STANDARD_ID_ =? ) f ");
        sb.append("ON d.COMPANY_ID_ = f.COMPANY_ID_ ");
        sb.append("AND d.CHECK_ID_ = f.CHECK_ID_ ");
 
        sb.append("WHERE d.COMPANY_ID_ =? ");
        sb.append("AND d.TYPE_ =? ");
        sb.append("AND d.RECORD_STATUS_ <> ? ");
        sb.append("AND d.RECORD_STATUS_ <> ? ");
        sb.append("AND d.PROGRESS_ =? ");
 
        List<Object> arg = new ArrayList<>();
 
        // TODO 待动态调整
        arg.add("C27");
        arg.add("C25");
        arg.add(ContextUtil.getCompanyId());
 
        arg.add(InoutConstant.TYPE_IN);
        arg.add(InoutConstant.RECORD_STATUS_ERROR);
        arg.add(InoutConstant.RECORD_STATUS_DEL);
        arg.add(InoutConstant.PROGRESS_RECORD);
 
        if (null == param)
            param = new HashMap<String, Object>();
 
        String obj = (String) param.get("foodVariety");
        if (StringUtils.isNotEmpty(obj)) {
            sb.append(" and d.FOOD_VARIETY_ = ?");
            arg.add(obj);
        }
 
        obj = (String) param.get("depotId");
        if (StringUtils.isNotEmpty(obj)) {
            sb.append(" and d.DEPOT_ID_ = ?");
            arg.add(obj);
        }
 
        obj = (String) param.get("deptId");
        if (null == obj) {
            obj = ContextUtil.subDeptId(null);
        }
        if (StringUtils.isNotEmpty(obj)) {
            sb.append(" and d.DEPT_ID_ = ?");
            arg.add(obj);
        }
 
        Date date = (Date) param.get("start");
        if (null != date) {
            sb.append(" and d.COMPLETE_TIME_ >= ? ");
            arg.add(DateUtil.getCurZero(date));
        }
 
        date = (Date) param.get("end");
        if (null != date) {
            sb.append(" and d.COMPLETE_TIME_ <= ? ");
            arg.add(DateUtil.getNextZero(date));
        }
        sb.append("GROUP BY id");
 
        this.pagingQuery(page, sb.toString(), arg.toArray(),
                new ReportInoutCheckDataRowMapepr());
 
    }
 
}