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.md.mattype.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.MdMatGrpDaoI;
import com.shlanbao.tzsc.base.dao.MdMatTypeDaoI;
import com.shlanbao.tzsc.base.mapping.MdMatGrp;
import com.shlanbao.tzsc.base.mapping.MdMatType;
import com.shlanbao.tzsc.base.model.DataGrid;
import com.shlanbao.tzsc.base.service.BaseService;
import com.shlanbao.tzsc.plugin.service.LoadComboboxServiceI;
import com.shlanbao.tzsc.pms.md.mattype.beans.MatTypeBean;
import com.shlanbao.tzsc.pms.md.mattype.service.MatTypeServiceI;
import com.shlanbao.tzsc.utils.params.ComboboxType;
import com.shlanbao.tzsc.utils.tools.BeanConvertor;
import com.shlanbao.tzsc.utils.tools.StringUtil;
 
import javax.servlet.http.HttpServletRequest;
 
@Service
public class MatTypeServiceImpl extends BaseService implements MatTypeServiceI {
    @Autowired
    private MdMatTypeDaoI mdMatTypeDao;
    @Autowired
    private LoadComboboxServiceI loadComboboxService;
    @Autowired
    private MdMatGrpDaoI mdMatGroupDao;
    @Autowired
    private HttpServletRequest request;
    @Override
    public List<MatTypeBean> queryAllMatTypesForComboBox() throws Exception {
        return BeanConvertor.copyList(mdMatTypeDao.query("from MdMatType o where o.del='0' and o.enable=1 order by (o.code+0) asc"), MatTypeBean.class);
    }
    @LogAnno(operateType = "新增物料类型")
    @Override
    public void addMatType(MatTypeBean matTypeBean) throws Exception {
        MdMatType o = new MdMatType();
        BeanConvertor.copyProperties(matTypeBean, o);
        if(StringUtil.notNull(matTypeBean.getMatGrp())){
            o.setMdMatGrp(new MdMatGrp(matTypeBean.getMatGrp()));
        }
        o.setDel("0");
        FillUserInfoUtil.fillCreateUserInfo(o,request);
        mdMatTypeDao.save(o);
        loadComboboxService.initCombobox(ComboboxType.MATTYPE);
    }
    @LogAnno(operateType = "编辑物料类型")
    @Override
    public void editMatType(MatTypeBean matTypeBean) throws Exception {
        MdMatType o = mdMatTypeDao.findById(MdMatType.class, matTypeBean.getId());
        BeanConvertor.copyProperties(matTypeBean, o);
        MdMatGrp matGroup=mdMatGroupDao.findById(MdMatGrp.class, matTypeBean.getMatGrp());
        if(matGroup==null){
            matGroup=mdMatGroupDao.unique(MdMatGrp.class, "from MdMatGrp where name=?", matTypeBean.getMatGrp());
        }
        o.setMdMatGrp(matGroup);
        FillUserInfoUtil.fillUpdateUserInfo(o,request);
        loadComboboxService.initCombobox(ComboboxType.MATTYPE);
    }
    @LogAnno(operateType = "删除物料类型")
    @Override
    public void deleteMatType(String id) throws Exception {
        mdMatTypeDao.updateByParams("update MdMatType o set o.del='1' where o.id=?", id);
        loadComboboxService.initCombobox(ComboboxType.MATTYPE);
    }
    @Override
    public DataGrid getAllMatTypes(MatTypeBean matTypeBean) throws Exception {
        String hql = "from MdMatType o left join fetch o.mdMatGrp g where o.del='0' and o.name like '%"+matTypeBean.getName()+"%' " +
                ((matTypeBean.getMatGrp()!=null&&!"".equals(matTypeBean.getMatGrp()))?" and g.id = " + matTypeBean.getMatGrp():"")+
                " order by cast(o.code as integer) asc";
        List<MatTypeBean> list = new ArrayList<MatTypeBean>();
        for (MdMatType mdMatType : mdMatTypeDao.query(hql)) {
 
            MatTypeBean typeBean = BeanConvertor.copyProperties(mdMatType, MatTypeBean.class);
            if(mdMatType.getMdMatGrp()!=null){
                typeBean.setMatGrp(mdMatType.getMdMatGrp().getName());
            }
            FillUserInfoUtil.fillCreateAndUpdateUserInfo(mdMatType,typeBean);
            list.add(typeBean);
        }
        return new DataGrid(list, 0L);
    }
    @Override
    public MatTypeBean getMatTypeById(String id) throws Exception{
        MdMatType mdMatType = mdMatTypeDao.findById(MdMatType.class, id);
        MatTypeBean matTypeBean = BeanConvertor.copyProperties(mdMatType,MatTypeBean.class);
        if(mdMatType.getMdMatGrp()!=null){
            matTypeBean.setMatGrp(mdMatType.getMdMatGrp().getName());
        }
        return matTypeBean;
 
    }
    @Override
    public DataGrid getAllTypesByGrp(String gid) throws Exception {
        String hql = "from MdMatType o left join fetch o.mdMatGrp g where o.del='0' and o.mdMatGrp.id = '"+gid+"' order by cast(o.code as integer) asc";
        List<MatTypeBean> list = new ArrayList<MatTypeBean>();
        for (MdMatType mdMatType : mdMatTypeDao.query(hql)) {
            MatTypeBean typeBean = BeanConvertor.copyProperties(mdMatType, MatTypeBean.class);
            if(mdMatType.getMdMatGrp()!=null){
                typeBean.setMatGrp(mdMatType.getMdMatGrp().getName());
            }
            FillUserInfoUtil.fillCreateAndUpdateUserInfo(mdMatType,typeBean);
            list.add(typeBean);
        }
        return new DataGrid(list, 0L);
 
    }
 
    @Override
    public void batchDeleteMatType(String ids) {
        String[] split = ids.split(",");
        for (int i = 0; i < split.length; i++) {
            mdMatTypeDao.updateByParams("update MdMatType o set o.del='1' where o.id=?", split[i]);
        }
        loadComboboxService.initCombobox(ComboboxType.MATTYPE);
    }
}