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
package com.shlanbao.tzsc.pms.sch.constd.service.impl;
 
import java.util.ArrayList;
import java.util.List;
 
import com.shlanbao.tzsc.utils.tools.FillUserInfoUtil;
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.SchConStdDaoI;
import com.shlanbao.tzsc.base.mapping.MdMat;
import com.shlanbao.tzsc.base.mapping.SchConStd;
import com.shlanbao.tzsc.base.model.DataGrid;
import com.shlanbao.tzsc.base.service.BaseService;
import com.shlanbao.tzsc.pms.sch.constd.beans.ConStdBean;
import com.shlanbao.tzsc.pms.sch.constd.service.ConStdServiceI;
import com.shlanbao.tzsc.utils.tools.BeanConvertor;
import com.shlanbao.tzsc.utils.tools.StringUtil;
 
import javax.servlet.http.HttpServletRequest;
 
@Service
public class ConStdServiceImpl extends BaseService implements ConStdServiceI{
    @Autowired
    private SchConStdDaoI schConStdDao;
    @Autowired
    private HttpServletRequest request;
    @LogAnno(operateType = "新增标准单耗")
    @Override
    public void addConStd(ConStdBean conStdBean) throws Exception {
        SchConStd o = new SchConStd();
        BeanConvertor.copyProperties(conStdBean, o);
        o.setMdMatByMat(new MdMat(conStdBean.getMat()));
        o.setMdMatByProd(new MdMat(conStdBean.getMatProd()));
        o.setDel(0L);
        FillUserInfoUtil.fillCreateUserInfo(o,request);
        schConStdDao.save(o);
    }
    @LogAnno(operateType = "编辑标准单耗")
    @Override
    public void editConStd(ConStdBean conStdBean) throws Exception {
        SchConStd o = schConStdDao.findById(SchConStd.class, conStdBean.getId());
        BeanConvertor.copyProperties(conStdBean, o);
        o.setMdMatByMat(new MdMat(conStdBean.getMat()));
        o.setMdMatByProd(new MdMat(conStdBean.getMatProd()));
        FillUserInfoUtil.fillUpdateUserInfo(o,request);
    }
    @LogAnno(operateType = "删除标准单耗")
    @Override
    public void deleteConStd(String id) throws Exception {
        schConStdDao.updateByParams("delete from  SchConStd  where id=?", id);
    }
    @Override
    public DataGrid getAllConStds(ConStdBean conStdBean) throws Exception {
        String sql = "select b.id,c.name as matprod,d.name as matname,b.val,b.uval,b.lval,b.euval,b.elval,b.des,a.prod,a.mat from SCH_WORKORDER_BOM a  " +
                " left join SCH_CON_STD b   on a.prod = b.prod and a.mat = b.mat  " +
                "  left join md_mat c on a.prod = c.id left join md_mat d on a.mat = d.id where (b.del =0 or b.del is null)  ";
 
        if(StringUtil.notNull(conStdBean.getMatProd())){
            sql += " and a.prod = '"+conStdBean.getMatProd()+"'";
        }
        if(StringUtil.notNull(conStdBean.getMat())){
            sql += " and a.mat='"+conStdBean.getMat()+"'";
        }
        if (StringUtil.notNull(conStdBean.getWorkShop())) {
            sql += " and c.tid = '" +conStdBean.getWorkShop() +"'";
        }
        sql += " group by a.prod, a.mat,b.val,b.uval,b.lval,b.euval,b.elval,b.elval,b.des,b.id,c.name,d.name  order by a.prod ";
        List<ConStdBean> list = new ArrayList<ConStdBean>();
        ConStdBean bean = null;
        List<?> objects = schConStdDao.queryBySql(sql);
        if (objects!=null && objects.size()>0){
            for (Object o : objects) {
                Object[] arr = (Object[]) o;
                bean = new ConStdBean();
                bean.setId(StringUtil.convertObjToString(arr[0]));
                bean.setMatProd(StringUtil.convertObjToString(arr[1]));
                bean.setMatName(StringUtil.convertObjToString(arr[2]));
                bean.setVal(StringUtil.converObj2Double(arr[3]));
                bean.setUval(StringUtil.converObj2Double(arr[4]));
                bean.setLval(StringUtil.converObj2Double(arr[5]));
                bean.setEuval(StringUtil.converObj2Double(arr[6]));
                bean.setElval(StringUtil.converObj2Double(arr[7]));
                bean.setDes(StringUtil.convertObjToString(arr[8]));
 
                bean.setProd(StringUtil.convertObjToString(arr[9]));
                bean.setMat(StringUtil.convertObjToString(arr[10]));
 
                list.add(bean);
            }
        }
        return new DataGrid(list, 0L);
    }
    @Override
    public ConStdBean getConStdById(String id) throws Exception{
 
        SchConStd schConStd = schConStdDao.findById(SchConStd.class, id);
 
        ConStdBean bean = BeanConvertor.copyProperties(schConStd, ConStdBean.class);
 
        if(schConStd.getMdMatByMat()!=null && schConStd.getMdMatByProd()!=null){
 
            bean.setMat(schConStd.getMdMatByMat().getId());//辅料
            bean.setMatName(schConStd.getMdMatByMat().getName());//辅料名称
 
            bean.setMatProd(schConStd.getMdMatByProd().getId());//产品
 
        }
 
        return bean;
 
    }
 
    @Override
    public void batchDeleteConStd(String ids) {
        String[] split = ids.split(",");
        for (int i = 0; i < split.length; i++) {
            schConStdDao.updateByParams("delete from  SchConStd  where id=?", split[i]);
        }
 
    }
}