zhuguifei
2026-03-10 58402bd5e762361363a0f7d7907153c77dbb819f
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
package com.shlanbao.tzsc.pms.qm.check.service.impl;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
import com.shlanbao.tzsc.base.model.SessionInfo;
import com.shlanbao.tzsc.utils.tools.DateUtil;
import com.shlanbao.tzsc.utils.tools.LogAnno;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.shlanbao.tzsc.base.dao.QmExcheckAddDaoI;
import com.shlanbao.tzsc.base.mapping.QmExcheckAdd;
import com.shlanbao.tzsc.base.model.DataGrid;
import com.shlanbao.tzsc.base.model.PageParams;
import com.shlanbao.tzsc.base.service.BaseService;
import com.shlanbao.tzsc.pms.qm.check.beans.QmExcheckAddBean;
import com.shlanbao.tzsc.pms.qm.check.service.QmExcheckAddService;
import com.shlanbao.tzsc.pms.sch.workorder.beans.WorkOrderBean;
import com.shlanbao.tzsc.utils.tools.StringUtil;
 
import javax.servlet.http.HttpServletRequest;
 
@Service
public class QmExcheckAddServiceImpl extends BaseService implements QmExcheckAddService {
    @Autowired
    private QmExcheckAddDaoI qmexcheckaddimpl;
    @Autowired
    private HttpServletRequest request;
 
    @Override
    public DataGrid getAllQmExchecks(WorkOrderBean orderbean, PageParams pageParams) throws Exception {
        List<QmExcheckAddBean> exchecks=new ArrayList<QmExcheckAddBean>();
        try{
            List<?> data=new ArrayList<>();
            data=getQmExchecks(orderbean,"count",pageParams);
            Long count=0L;
            if(data!=null && data.size()>0){
                count=StringUtil.converObj2Long(data.get(0));
                if(count>0){
                    List<?> rows=getQmExchecks(orderbean,"",pageParams);
                    if(rows!=null && rows.size()>0){
                        QmExcheckAddBean qmcheckbean=null;
                        for(int i=0;i<rows.size();i++){
                            Object[] temp=(Object[])rows.get(i);
                            qmcheckbean=new QmExcheckAddBean();
                            qmcheckbean.setId(StringUtil.convertObjToString(temp[1]));
                            qmcheckbean.setMatname(StringUtil.convertObjToString(temp[2]));
                            qmcheckbean.setCheckbatch(StringUtil.convertObjToString(temp[3]));//检验批次
                            qmcheckbean.setTimestamp_(StringUtil.convertObjToString(temp[4]));//取样时间
                            qmcheckbean.setSubBatchCode(StringUtil.convertObjToString(temp[5]));//取样批次
                            qmcheckbean.setSamplenum(StringUtil.convert2Integer(temp[6]));
                            qmcheckbean.setWat(StringUtil.converObj2Double(temp[8]));
                            qmcheckbean.setQmexcheckaddid(StringUtil.convertObjToString(temp[9]));
                            String team=StringUtil.convertObjToString(temp[7]);
                            if("1".equals(team)){
                                team= "甲";
                            }else if("2".equals(team)){
                                team= "乙";
                            }else if("3".equals(team)){
                                team= "丙";
                            }else{
                                team="-";
                            }
                            String equipmentName=StringUtil.convertObjToString(temp[3]);
                            if(equipmentName.indexOf("K03")>=0){
                                equipmentName="3#成型机";
                            }else if(equipmentName.indexOf("K02")>=0){
                                equipmentName="2#成型机";
                            }else if(equipmentName.indexOf("K01")>=0){
                                equipmentName="1#成型机";
                            }
                            qmcheckbean.setTeam(team);
                            qmcheckbean.setEqpuipmentname(equipmentName);
                            qmcheckbean.setStatus(StringUtil.convertObjToString(temp[10]));
                            qmcheckbean.setCreateUserName(StringUtil.convertObjToString(temp[11]));
                            qmcheckbean.setCreateUserTime(DateUtil.formatStringToDate(StringUtil.convertObjToString(temp[12]),"yyyy-MM-dd HH:mm:ss"));
                            qmcheckbean.setUpdateUserName(StringUtil.convertObjToString(temp[13]));
                            qmcheckbean.setUpdateUserTime(DateUtil.formatStringToDate(StringUtil.convertObjToString(temp[14]),"yyyy-MM-dd HH:mm:ss"));
                            exchecks.add(qmcheckbean);
                        }
                    }
                }
            }
            return new DataGrid(exchecks,count);
        }catch(Exception e){
            log.error("查询所有成型成品含水率记录异常");
        }
        return new DataGrid(exchecks,0L);
    }
 
    @LogAnno(operateType = "添加成型机成品含水率检测记录")
    @Override
    public boolean addQmExcheck(QmExcheckAddBean qmExcheckAddbean) throws Exception {
        boolean flag=false;
        //增加创建人与创建时间信息
        SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
        String createUserName = sessionInfo.getUser().getName();
        String updateUserName = createUserName;
        if(qmExcheckAddbean.getQmexcheckaddid()!=null && !"".equals(qmExcheckAddbean.getQmexcheckaddid())){
            String sql = "update qm_cxcheck_add set wat = ?,UPDATE_USER_NAME = ?,UPDATE_USER_TIME = ? where id in(select a.id from QM_CXCHECK_ADD a join QM_ONLINECHECK b on a.qmocid = b.id join QM_ONLINECHECK c on b.team = c.team and b.materialcode = c.materialcode " +
        " and substr(b.ordernumber,0,6) = substr(c.ordernumber,0,6) where c.id = ?) ";
            List<Object> param = new ArrayList<>();
            param.add(qmExcheckAddbean.getWat());
            param.add(updateUserName);
            param.add(new Date());
            param.add(qmExcheckAddbean.getId());
            qmexcheckaddimpl.updateBySql(sql, param);
        
            flag=true;
        }else{
            String sql = "select b.id from  QM_ONLINECHECK b  join QM_ONLINECHECK c on b.team = c.team and b.materialcode = c.materialcode " + 
                    " and substr(b.ordernumber,0,6) = substr(c.ordernumber,0,6) where c.id = ? ";
            List<Object> param = new ArrayList<>();
            param.add(qmExcheckAddbean.getId());
            List<?> list = qmexcheckaddimpl.queryBySql(sql, param);
            QmExcheckAdd qmCheckAdd = null;
            if (list != null && list.size()>0) {
                for (Object object : list) {
                    qmCheckAdd=new QmExcheckAdd();
                    qmCheckAdd.setQmocid(object.toString());
                    qmCheckAdd.setWat(qmExcheckAddbean.getWat());
                    qmCheckAdd.setChkDate(new Date());
                    qmCheckAdd.setStatus("0");
                    qmCheckAdd.setCreateUserName(createUserName);
                    qmCheckAdd.setCreateUserTime(new Date());
                    qmCheckAdd.setUpdateUserName(updateUserName);
                    qmCheckAdd.setUpdateUserTime(qmCheckAdd.getCreateUserTime());
                    qmexcheckaddimpl.save(qmCheckAdd);
                }
            }
            
            flag=true;
        }
        return flag;
    }
 
    @Override
    public QmExcheckAddBean deleteQmExcheckByid(String id) throws Exception {
        return null;
    }
 
    @Override
    public List<?> getQmExchecks(WorkOrderBean orderbean, String params, PageParams pageParams) throws Exception {
        int sRow=(pageParams.getPage()-1)*pageParams.getRows();
        int eRow=pageParams.getPage()*pageParams.getRows();
        try{
            StringBuffer sb=new StringBuffer();
            if("count".equals(params)){
                sb.append("select count(*) from (");
            }else{
                sb.append("select * from(");
            }
            sb.append("select ROWNUM as rnum,a.ID,(select name from MD_MAT where code=a.materialcode and TID in (1,14) and rownum=1) as matname,a.QCBATCHS,a.TIMESTAMP_,a.SUBBATCHCODE,a.SAMPLENUMBER,a.TEAM,b.WAT,b.ID as qmcheckaddid,b.status,b.CREATE_USER_NAME,b.CREATE_USER_TIME,b.UPDATE_USER_NAME,b.UPDATE_USER_TIME "
                    + "from QM_ONLINECHECK a left join QM_CXCHECK_ADD b on a.ID=b.QMOCID where 1=1");
            if(StringUtil.notNull(orderbean.getTeamId())){
                sb.append(" and a.TEAM='"+orderbean.getTeamId()+"'");
            }
            if(StringUtil.notNull(orderbean.getDate())){
                sb.append(" and to_char(a.TIMESTAMP_,'yyyy-MM-dd')>='"+orderbean.getDate()+"'");
            }
            if(StringUtil.notNull(orderbean.getEtim())){
                sb.append(" and to_char(a.TIMESTAMP_,'yyyy-MM-dd')<='"+orderbean.getEtim()+"'");
            }
            if(StringUtil.notNull(orderbean.getCode())){
                sb.append(" and a.ORDERNUMBER like '%"+orderbean.getCode()+"%'");
            }
            if("count".equals(params)){
                sb.append(" and a.INSPECTIONTYPE="+orderbean.getInspectionType()+" order by a.TIMESTAMP_ desc ");
                sb.append(" )");
            }else{
                sb.append(" and a.INSPECTIONTYPE="+orderbean.getInspectionType()+" order by a.TIMESTAMP_ desc");
                sb.append(" ) t where t.rnum>"+sRow+" and t.rnum<="+eRow);
            }
            String sql=sb.toString();
            List<?> list=qmexcheckaddimpl.queryBySql(sql);
            return list;
        }catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }
 
}