package com.shlanbao.tzsc.pms.sch.workorder.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import com.shlanbao.tzsc.base.dao.SchWorkorderDaoI;
|
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.SchWorkorderBomDaoI;
|
import com.shlanbao.tzsc.base.mapping.MdMat;
|
import com.shlanbao.tzsc.base.mapping.MdUnit;
|
import com.shlanbao.tzsc.base.mapping.SchWorkorder;
|
import com.shlanbao.tzsc.base.mapping.SchWorkorderBom;
|
import com.shlanbao.tzsc.base.model.DataGrid;
|
import com.shlanbao.tzsc.base.service.BaseService;
|
import com.shlanbao.tzsc.pms.sch.workorder.beans.BomBean;
|
import com.shlanbao.tzsc.pms.sch.workorder.service.BomServiceI;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@Service
|
public class BomServiceImpl extends BaseService implements BomServiceI{
|
@Autowired
|
private SchWorkorderBomDaoI schWorkorderBomDao;
|
@Autowired
|
private SchWorkorderDaoI workorderDaoI;
|
@Autowired
|
private HttpServletRequest request;
|
|
@Override
|
public DataGrid queryBomByWorkOrder(String workOrderId) {
|
SchWorkorder workorder = workorderDaoI.findById(SchWorkorder.class,workOrderId);
|
try {
|
String hql = "from SchWorkorderBom o join fetch o.mdMat m join fetch o.mdUnit u where o.bom_lot_id=?";
|
|
List<SchWorkorderBom> schWorkorderBoms = schWorkorderBomDao.query(hql, workorder.getBomVersion());
|
|
List<BomBean> bomBeans = new ArrayList<BomBean>();
|
|
|
for (SchWorkorderBom schWorkorderBom : schWorkorderBoms) {
|
BomBean bean = new BomBean();
|
bean.setId(schWorkorderBom.getId());
|
bean.setMat(schWorkorderBom.getMdMat().getSimpleName());
|
bean.setQty(schWorkorderBom.getQty());
|
bean.setUnit(schWorkorderBom.getMdUnit().getName());
|
bean.setMatId(schWorkorderBom.getMdMat().getCode());
|
bomBeans.add(bean);
|
|
}
|
|
return new DataGrid(bomBeans, 0L);
|
|
} catch (Exception e) {
|
|
log.error("查询工单ID:["+workOrderId+"]的BOM异常", e);
|
|
}
|
|
return null;
|
}
|
@Override
|
public void addBom(BomBean bomBean) {
|
SchWorkorderBom o = new SchWorkorderBom();
|
o.setMdMat(new MdMat(bomBean.getMat()));
|
o.setQty(bomBean.getQty());
|
o.setMdUnit(new MdUnit(bomBean.getUnit()));
|
o.setSchWorkorder(new SchWorkorder(bomBean.getOrderId()));
|
schWorkorderBomDao.save(o);
|
}
|
@LogAnno(operateType = "投料信息编辑")
|
@Override
|
public void editBom(BomBean bomBean) {
|
SchWorkorderBom o = schWorkorderBomDao.findById(SchWorkorderBom.class, bomBean.getId());
|
o.setMdMat(new MdMat(bomBean.getMat()));
|
o.setQty(bomBean.getQty());
|
o.setMdUnit(new MdUnit(bomBean.getUnit()));
|
FillUserInfoUtil.fillUpdateUserInfo(o,request);
|
//o.setSchWorkorder(new SchWorkorder(bomBean.getOrderId()));
|
}
|
@LogAnno(operateType = "投料信息删除")
|
@Override
|
public void deleteBom(String id) {
|
schWorkorderBomDao.deleteById(id, SchWorkorderBom.class);
|
}
|
@Override
|
public BomBean getBomById(String id) {
|
SchWorkorderBom schWorkorderBom = schWorkorderBomDao.findById(SchWorkorderBom.class, id);
|
BomBean bean = new BomBean();
|
bean.setId(schWorkorderBom.getId());
|
bean.setMat(schWorkorderBom.getMdMat().getSimpleName());
|
bean.setMatId(schWorkorderBom.getMdMat().getId());
|
bean.setQty(schWorkorderBom.getQty());
|
bean.setUnit(schWorkorderBom.getMdUnit().getName());
|
bean.setUnitId(schWorkorderBom.getMdUnit().getId());
|
return bean;
|
}
|
/**
|
* 查询
|
* @author wanchanghuang
|
* @create 2019年5月6日16:54:32
|
* @param schWkBom
|
*/
|
@Override
|
public long querySchWkOrderBom (SchWorkorderBom schWkBom) {
|
try {
|
String hql="from SchWorkorderBom o where o.bom_lot_id=? and o.mdMat.id=?";
|
List<SchWorkorderBom> list=schWorkorderBomDao.query(hql, schWkBom.getBom_lot_id(),schWkBom.getMdMat().getId());
|
if(list!=null) {
|
return list.size();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return 0;
|
}
|
/**
|
*插入
|
* @author wanchanghuang
|
* @create 2019年5月6日16:54:32
|
* @param schWkBom
|
*/
|
@Override
|
public void addSchWkOrderBom(SchWorkorderBom schWkBom) {
|
schWorkorderBomDao.save(schWkBom);
|
}
|
/**
|
*查询
|
* @author wanchanghuang
|
* @create 2019年5月6日16:54:32
|
* @param schWkBom
|
*/
|
@Override
|
public List<SchWorkorderBom> querySchWorkBomByBomId(SchWorkorder schWk) {
|
String hql="from SchWorkorderBom o where o.bom_lot_id=? and o.del=1 ";//1表示数采关键物料
|
List<SchWorkorderBom> list=schWorkorderBomDao.query(hql, schWk.getBomVersion());
|
return list;
|
}
|
|
@Override
|
public void deleteBomByBomId(String schWkBom) {
|
String sql = "delete from sch_workorder_bom where bom_lot_id = ?";
|
List<Object> list = new ArrayList<>();
|
list.add(schWkBom);
|
schWorkorderBomDao.updateBySql(sql,list);
|
}
|
|
|
public SchWorkorderDaoI getWorkorderDaoI() {
|
return workorderDaoI;
|
}
|
|
public void setWorkorderDaoI(SchWorkorderDaoI workorderDaoI) {
|
this.workorderDaoI = workorderDaoI;
|
}
|
}
|