zhuguifei
2026-03-10 2c1fd10c6fbabb8e9f0e9f07fe66fb36c008e883
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
186
187
188
189
package com.shlanbao.tzsc.pms.msg.qm.service.impl;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.shlanbao.tzsc.base.dao.MsgQmWarnDaoI;
import com.shlanbao.tzsc.base.dao.SchWorkorderDaoI;
import com.shlanbao.tzsc.base.mapping.MsgQmWarn;
import com.shlanbao.tzsc.base.mapping.SchWorkorder;
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.msg.qm.beans.MsgQmWarnBean;
import com.shlanbao.tzsc.pms.msg.qm.service.MsgQmWarnServiceI;
import com.shlanbao.tzsc.utils.tools.DateUtil;
import com.shlanbao.tzsc.utils.tools.StringUtil;
@Service
public class MsgQmWarnServiceImpl extends BaseService implements MsgQmWarnServiceI{
 
    @Autowired
    protected MsgQmWarnDaoI msgQmWarnDao;
    @Autowired
    SchWorkorderDaoI workOderDao;
 
    @Override
    public void addMsgQmWarn(MsgQmWarn msgQmWarn) throws Exception {
        MsgQmWarn msgQm = null;
        if(StringUtil.notNull(msgQmWarn.getId())){
            msgQm = msgQmWarnDao.findById(MsgQmWarn.class, msgQmWarn.getId());
            beanConvertor.copyProperties(msgQmWarn, msgQm);
        }else{
            msgQm = msgQmWarn;
            msgQm.setDel(0L);
            msgQm.setTime(new Date());
            msgQm.setSts(0L);
            msgQm.setId(null);
        }
        msgQmWarnDao.saveOrUpdate(msgQm);
    }
 
    @Override
    public MsgQmWarn getMsgQmWarnById(String id) throws Exception {
        return msgQmWarnDao.findById(MsgQmWarn.class, id);
    }
 
    /**
     * 功能:查询质量警告记录
     * 张璐--2015.10.13
     */
    @Override
    public DataGrid queryMsgQmWarn(MsgQmWarnBean msgQmWarn, PageParams pageParams)throws Exception {
        StringBuffer sb= new StringBuffer();
        String star="SELECT * from";
        sb.append(" (SELECT qw.id,mw.name as mname,me.equipment_name,qw.CONTENT,qw.QI,qw.VAL,qw.ITEM,qw.TIME,qw.STS,ROWNUM AS num FROM MSG_QM_WARN qw ");
        sb.append("LEFT JOIN SCH_WORKORDER sw on qw.oid = sw.id LEFT JOIN MD_EQUIPMENT me on sw.EQP = me.ID LEFT JOIN MD_WORKSHOP mw on  me.work_shop =  mw.id ");
        sb.append("WHERE  qw.del = 0  and mw.del='0'");
        if(StringUtil.notNull(msgQmWarn.getEquipName()))
            sb.append(" and me.equipment_name like'%"+msgQmWarn.getEquipName()+"%'");
        if(StringUtil.notNull(msgQmWarn.getWorkShopId()))
            sb.append(" and mw.id='"+msgQmWarn.getWorkShopId()+"' ");
        sb.append(StringUtil.fmtDateHHmmssBetweenParams("qw.time", msgQmWarn.getTime(), msgQmWarn.getTime2()));
        sb.append(") ");
        String end ="zl where num>'"+((pageParams.getPage()-1)*pageParams.getRows())+"' and num<='"+(pageParams.getPage()*pageParams.getRows())+"' ";
        List<?> listFY = msgQmWarnDao.queryBySql("SELECT COUNT(*) FROM "+sb.toString(),null);
        List<?> list=msgQmWarnDao.queryBySql(star+sb.toString()+end,null);
        List<MsgQmWarnBean> beans = new ArrayList<MsgQmWarnBean>();
        if(list.size()>0){
            for(Object ob : list){
                Object[] temp = (Object[]) ob;
                MsgQmWarnBean bean = new MsgQmWarnBean();
                bean.setId(temp[0].toString());
                bean.setWorkShopName(temp[1].toString());
                bean.setEquipName(temp[2].toString());
//                bean.setuName(temp[3].toString());
                if(temp[3]!=null&&!temp[3].equals("")){
                    bean.setContent(temp[3].toString());
                }
                if(temp[4]!=null&&!temp[4].equals("")){
                    double qi=Double.parseDouble(temp[4].toString());
                    bean.setQi(qi);
                }
                if(temp[5]!=null&&!temp[5].equals("")){
                    double val=Double.parseDouble(temp[5].toString());
                    bean.setVal(val);
                }
                if(temp[6]!=null&&!temp[6].equals("")){
                    bean.setItem(temp[6].toString());
                }
 
                bean.setTime(temp[7].toString());
                long status = Long.parseLong(temp[8].toString());
                bean.setSts(status);
                beans.add(bean);
            }
        }
        long total = Long.parseLong(listFY.get(0).toString());
 
        return new DataGrid(beans, total);
 
        /*String hql = "from MsgQmWarn o where 1=1 and o.del=0";
        String params = "";
        if(StringUtil.notNull(msgQmWarn.getEquipName()))
            params += " and o.schWorkorder.mdEquipment.equipmentName like'%"+msgQmWarn.getEquipName()+"%'";
        if(StringUtil.notNull(msgQmWarn.getWorkShopId()))
            params += " and o.schWorkorder.mdEquipment.mdWorkshop.id='"+msgQmWarn.getWorkShopId()+"' ";
        params+=StringUtil.fmtDateBetweenParams("o.time", msgQmWarn.getTime(), msgQmWarn.getTime2());
        List<MsgQmWarn> msgQmWarns = msgQmWarnDao.queryByPage(hql.concat(params), pageParams);
        hql = "select count(*) "+hql;
        long total = msgQmWarnDao.queryTotal(hql.concat(params));
        return new DataGrid(convertBeans(msgQmWarns), total);*/
    }
 
    @Override
    public List<MsgQmWarnBean> getMsgQmWarns(Long sts) throws Exception {
        String hql = "from MsgQmWarn o where 1=1 and o.del=0 and o.sts=" + sts;
        List<MsgQmWarn> msgQmWarns = msgQmWarnDao.query(hql, new Object[]{});
        return convertBeans(msgQmWarns);
    }
 
    @Override
    public void deleteMsgQmWarn(String id) throws Exception {
        msgQmWarnDao.findById(MsgQmWarn.class, id).setDel(1L);
    }
 
    @Override
    public void batchDeleteMsgQmWarn(String ids) {
 
        String[] split = ids.split(",");
        for (int i = 0; i < split.length; i++) {
            msgQmWarnDao.findById(MsgQmWarn.class, split[i]).setDel(1L);
        }
    }
 
    /**
     * 修改人:张璐--2015-10-13
     * 将po实体列表转化为vo实体列表
     * @param msgQmWarns
     * @return
     * @throws Exception
     */
    private List<MsgQmWarnBean> convertBeans(List<MsgQmWarn> msgQmWarns)throws Exception{
        List<MsgQmWarnBean> beans = new ArrayList<MsgQmWarnBean>();
        for (MsgQmWarn msgQm : msgQmWarns) {
            MsgQmWarnBean bean = beanConvertor.copyProperties(msgQm, MsgQmWarnBean.class);
            if(msgQm.getSysUser() != null){
                bean.setUid(msgQm.getSysUser().getId());
                bean.setuName(msgQm.getSysUser().getName());
            }
            if(msgQm.getSchWorkorder() != null){
                String hqlByOrder="select ID from SCH_WORKORDER where code='"+msgQm.getSchWorkorder().getId()+"'";
                List<?> listO= workOderDao.queryBySql(hqlByOrder, null);
                String oder = (String) listO.get(0);
                SchWorkorder wokder = workOderDao.findById(SchWorkorder.class, oder);
                bean.setWorkId(wokder.getId());
                bean.setWorkCode(wokder.getCode());
                bean.setWorkShopId(wokder.getMdEquipment().getMdWorkshop().getId());
                bean.setWorkShopName(wokder.getMdEquipment().getMdWorkshop().getName());
                bean.setEquipId(wokder.getMdEquipment().getId());
                bean.setEquipName(wokder.getMdEquipment().getEquipmentName());
            }
            beans.add(bean);
        }
        return beans;
    }
 
    @Override
    public MsgQmWarnBean getMsgQmWarnBeanById(String id) throws Exception {
        MsgQmWarn msgQmWarn = msgQmWarnDao.findById(MsgQmWarn.class, id);
        MsgQmWarnBean bean = beanConvertor.copyProperties(msgQmWarn, MsgQmWarnBean.class);
        if(msgQmWarn.getSysUser() != null){
            bean.setUid(msgQmWarn.getSysUser().getId());
            bean.setuName(msgQmWarn.getSysUser().getName());
        }
        if(msgQmWarn.getSchWorkorder() != null){
            bean.setWorkId(msgQmWarn.getSchWorkorder().getId());
            bean.setWorkCode(msgQmWarn.getSchWorkorder().getCode());
            bean.setWorkShopId(msgQmWarn.getSchWorkorder().getMdEquipment().getMdWorkshop().getId());
            bean.setWorkShopName(msgQmWarn.getSchWorkorder().getMdEquipment().getMdWorkshop().getName());
            bean.setEquipId(msgQmWarn.getSchWorkorder().getMdEquipment().getId());
            bean.setEquipName(msgQmWarn.getSchWorkorder().getMdEquipment().getEquipmentName());
        }
        bean.setContent(bean.getContent().length() > 24 ? bean.getContent().substring(24):bean.getContent());
        return bean;
    }
}