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 list = new ArrayList(); 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]); } } }