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]);
|
}
|
|
}
|
}
|