package com.shlanbao.tzsc.pms.md.eqp.service.impl;
|
|
import java.io.FileOutputStream;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.shlanbao.tzsc.base.model.*;
|
import com.shlanbao.tzsc.utils.tools.*;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.shlanbao.tzsc.base.dao.AppendEqmipmentsDaoI;
|
import com.shlanbao.tzsc.base.dao.EqmipmentsDaoI;
|
import com.shlanbao.tzsc.base.dao.MdEqpTypeDaoI;
|
import com.shlanbao.tzsc.base.mapping.MdAppendEquipment;
|
import com.shlanbao.tzsc.base.mapping.MdEqpType;
|
import com.shlanbao.tzsc.base.mapping.MdEquipment;
|
import com.shlanbao.tzsc.base.service.BaseService;
|
import com.shlanbao.tzsc.pms.md.eqp.beans.EquipmentsBean;
|
import com.shlanbao.tzsc.pms.md.eqp.service.EquipmentsServiceI;
|
import com.shlanbao.tzsc.pms.md.matparam.beans.MatParamBean;
|
import com.shlanbao.tzsc.utils.excel.ExportExcel;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 设备主数据实现类
|
* @author liuligong
|
* @Time 2014/11/5 10:46
|
*/
|
@Service
|
public class EquipmentsServiceImpl extends BaseService implements EquipmentsServiceI{
|
|
@Autowired
|
private EqmipmentsDaoI equipmentsDao;
|
@Autowired
|
private AppendEqmipmentsDaoI appendEqmipmentsDao;
|
@Autowired
|
private MdEqpTypeDaoI mdEqpTypeDaoI;
|
@Autowired
|
private HttpServletRequest request;
|
@LogAnno(operateType = "设备主数据新增或修改")
|
@Override
|
public void addEqu(MdEquipment equBean) throws Exception {
|
//MdEquipment equ = BeanConvertor.copyProperties(equBean, MdEquipment.class);
|
MdEquipment equipment = null;
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
String createUserName = sessionInfo.getUser().getName();
|
String updateUserName = createUserName;
|
if(StringUtil.notNull(equBean.getId())){
|
equipment = equipmentsDao.findById(MdEquipment.class, equBean.getId());
|
equipment.setUpdateUser(updateUserName);
|
equipment.setUpdateTime(new Date());
|
} else {
|
equipment = new MdEquipment();
|
equipment.setDel("0");
|
equipment.setCreateTime(new Date());
|
equipment.setCreateUserName(createUserName);
|
equipment.setUpdateUser(updateUserName);
|
equipment.setUpdateTime(new Date());
|
}
|
if(StringUtil.notNull(equBean.getEnabled())){
|
equipment.setEnabled(equBean.getEnabled().trim());
|
}
|
if(StringUtil.notNull(equBean.getEquipmentCode())){
|
equipment.setEquipmentCode(equBean.getEquipmentCode().trim());
|
}
|
if(StringUtil.notNull(equBean.getEquipmentName())){
|
equipment.setEquipmentName(equBean.getEquipmentName().trim());
|
}
|
if(StringUtil.notNull(equBean.getEquipmentDesc())){
|
equipment.setEquipmentDesc(equBean.getEquipmentDesc().trim());
|
}
|
if(StringUtil.notNull(equBean.getWorkCenter())){
|
equipment.setWorkCenter(equBean.getWorkCenter().trim());
|
}
|
if(StringUtil.notNull(equBean.getEquipmentPosition())){
|
equipment.setEquipmentPosition(equBean.getEquipmentPosition().trim());
|
}
|
if(StringUtil.notNull(equBean.getFixedAssetNum())){
|
equipment.setFixedAssetNum(equBean.getFixedAssetNum().trim());
|
}
|
if(StringUtil.notNull(equBean.getFixedAssetFlag())){
|
equipment.setFixedAssetFlag(equBean.getFixedAssetFlag().trim());
|
}
|
if(StringUtil.notNull(equBean.getManufacturingNum())){
|
equipment.setManufacturingNum(equBean.getManufacturingNum().trim());
|
}
|
if(StringUtil.notNull(equBean.getApprovalNum())){
|
equipment.setApprovalNum(equBean.getApprovalNum().trim());
|
}
|
if(StringUtil.notNull(equBean.getNavicertNum())){
|
equipment.setNavicertNum(equBean.getNavicertNum().trim());
|
}
|
if(StringUtil.notNull(equBean.getUsingDepartment())){
|
equipment.setUsingDepartment(equBean.getUsingDepartment().trim());
|
}
|
if(equBean.getMdEqpType()!=null){
|
equipment.setMdEqpType(equBean.getMdEqpType());
|
}
|
if(equBean.getMdWorkshop()!=null){
|
equipment.setMdWorkshop(equBean.getMdWorkshop());
|
}
|
|
if(equBean.getRatedSpeed()!=null){
|
equipment.setRatedSpeed(equBean.getRatedSpeed());
|
}
|
if(StringUtil.notNull(equBean.getRateSpeedUnit())){
|
equipment.setRateSpeedUnit(equBean.getRateSpeedUnit());
|
}
|
if(equBean.getVouchProduction()!=null){
|
equipment.setVouchProduction(equBean.getVouchProduction());
|
}
|
if(equBean.getYieId()!=null){
|
equipment.setYieId(equBean.getYieId());
|
}
|
if(StringUtil.notNull(equBean.getYieldUnit())){
|
equipment.setYieldUnit(equBean.getYieldUnit());
|
}
|
|
equipmentsDao.saveOrUpdate(equipment);
|
}
|
|
@Override
|
public DataGrid queryEqu(EquipmentsBean equBean, PageParams pageParams) throws Exception {
|
//hql 语句拼装
|
String hql = "from MdEquipment o where 1=1 and o.del=0 ";
|
StringBuffer params = new StringBuffer();
|
if(StringUtil.notNull(equBean.getEquipmentCode())){
|
params.append(" and o.equipmentCode like '%"+ equBean.getEquipmentCode() +"%'");
|
}
|
|
if(StringUtil.notNull(equBean.getEquipmentName())){
|
params.append(" and o.equipmentName like '%"+ equBean.getEquipmentName() +"%'");
|
}
|
//加入两个条件
|
if(StringUtil.notNull(equBean.getWorkShopId())){
|
params.append(" and o.mdWorkshop.id='"+ equBean.getWorkShopId() +"'");
|
}
|
|
if(StringUtil.notNull(equBean.getWorkShopName())){//1卷包车间2成型车间也是对象id
|
params.append(" and o.mdWorkshop.id='"+equBean.getWorkShopName()+"'");
|
}
|
|
if(StringUtil.notNull(equBean.getEqpTypeName())){//传进来Id根据对象比较 型号
|
params.append(" and o.mdEqpType.id='"+equBean.getEqpTypeName()+"'");
|
}
|
|
if(StringUtil.notNull(equBean.getEqpCategory())){//传进来Id根据对象比较 类别
|
params.append(" and o.mdEqpType.mdEqpCategory.id='"+equBean.getEqpCategory()+"'");
|
}
|
|
params.append(" order by o.equipmentCode ");
|
String param = params.toString();
|
List<MdEquipment> rows = equipmentsDao.queryByPage(hql.concat(param), pageParams);
|
List<EquipmentsBean> equBeans = new ArrayList<EquipmentsBean>();
|
for(MdEquipment me : rows){
|
String typeId = me.getMdEqpType().getId();
|
String typeName = me.getMdEqpType().getName();
|
EquipmentsBean eb = new EquipmentsBean();
|
BeanConvertor.copyProperties(me, eb);
|
if(me.getEnabled()!=null&&me.getEnabled().equals("0")){
|
eb.setEnabled("禁用");
|
}else {
|
eb.setEnabled("启用");
|
}
|
if(me.getFixedAssetFlag()!=null&&me.getFixedAssetFlag().equals("0")){
|
eb.setFixedAssetFlag("已入固");
|
}else {
|
eb.setFixedAssetFlag("未入固");
|
}
|
eb.setEqpTypeId(typeId);
|
eb.setEqpTypeName(typeName);
|
if(me.getMdWorkshop() != null){
|
eb.setWorkShopId(me.getMdWorkshop().getId());
|
eb.setWorkShopName(me.getMdWorkshop().getName());
|
}
|
eb.setCreateUserId(me.getCreateUserId());
|
eb.setCreateUserName(me.getCreateUserName());
|
eb.setCreateTime(DateUtil.datetoStr(me.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
|
eb.setUpdateUser(me.getUpdateUser());
|
eb.setUpdateTime(DateUtil.datetoStr(me.getUpdateTime(),"yyyy-MM-dd HH:mm:ss"));
|
equBeans.add(eb);
|
}
|
hql = "select count(*) from MdEquipment o where 1=1 and o.del=0 ";
|
long total = equipmentsDao.queryTotal(hql.concat(param));
|
return new DataGrid(equBeans,total);
|
}
|
|
@Override
|
public EquipmentsBean getEquById(String id) throws Exception {
|
MdEquipment equipments = equipmentsDao.findById(MdEquipment.class, id);
|
EquipmentsBean equBean = BeanConvertor.copyProperties(equipments, EquipmentsBean.class);
|
String typeId = equipments.getMdEqpType().getId();
|
String typeName = equipments.getMdEqpType().getName();
|
equBean.setEqpTypeId(typeId);
|
equBean.setEqpTypeName(typeName);
|
if(equipments.getMdWorkshop() != null){
|
equBean.setWorkShopId(equipments.getMdWorkshop().getId());
|
equBean.setWorkShopName(equipments.getMdWorkshop().getName());
|
}
|
|
if("0".equals(equBean.getFixedAssetFlag())) equBean.setFixedAssetFlag("已固入");
|
|
if("1".equals(equBean.getFixedAssetFlag())) equBean.setFixedAssetFlag("未固入");
|
|
return equBean;
|
|
}
|
@LogAnno(operateType = "删除设备主数据信息")
|
@Override
|
public void deleteEqu(String id) throws Exception {
|
equipmentsDao.findById(MdEquipment.class, id).setDel("1");
|
|
}
|
|
@Override
|
public List<Combobox> getAllEqpType(String id) throws Exception {
|
List<MdEqpType> mdEqpType = mdEqpTypeDaoI.query("from MdEqpType o where 1=1 and id<>? and o.del=0 and o.enable=1 order by o.id desc ", id);
|
return BeanConvertor.copyList(mdEqpType,Combobox.class);
|
}
|
|
@Override
|
public List<EquipmentsBean> queryAllEquipments() throws Exception {
|
List<MdEquipment> equs = equipmentsDao.query("from MdEquipment o where o.del=0 and o.enabled=0 order by o.id desc");
|
return BeanConvertor.copyList(equs,EquipmentsBean.class);
|
}
|
@Override
|
public List<EquipmentsBean> queryAllEqpsForComboBox() throws Exception {
|
String hql = "from MdEquipment o where o.del=0 and o.enabled=1 order by cast(o.equipmentCode as int) ";
|
List<EquipmentsBean> equipmentsBeans = new ArrayList<EquipmentsBean>();
|
List<MdEquipment> list=equipmentsDao.query(hql);
|
for (MdEquipment equipment :list ) {
|
EquipmentsBean e = new EquipmentsBean();
|
e.setId(equipment.getId());
|
BeanConvertor.copyProperties(equipment,e);
|
e.setName(equipment.getEquipmentName());
|
|
e.setEqpTypeId(equipment.getMdEqpType().getName());
|
e.setEqpCategory(equipment.getMdEqpType().getMdEqpCategory().getCode());
|
equipmentsBeans.add(e);
|
}
|
return equipmentsBeans;
|
}
|
@Override
|
public List<EquipmentsBean> queryAllPackersForComboBox(int eType) {
|
try {
|
if(eType==0){
|
eType=2;
|
}
|
String hql = "from MdEquipment o where o.del=0 and o.mdEqpType.mdEqpCategory.code='"+eType+"' order by cast(o.equipmentCode as java.lang.Integer) asc ";
|
List<MdEquipment> list = equipmentsDao.query(hql);
|
List<EquipmentsBean> equipmentsBeans = new ArrayList<EquipmentsBean>();
|
for (MdEquipment equipment :list) {
|
EquipmentsBean e = new EquipmentsBean();
|
CopyUtils.copyProperties(equipment,e);
|
e.setId(equipment.getId());
|
e.setName(equipment.getEquipmentName());
|
e.setEquipmentCode(equipment.getEquipmentCode());
|
e.setEqpTypeId(equipment.getMdEqpType().getCode());
|
equipmentsBeans.add(e);
|
}
|
return equipmentsBeans;
|
} catch (Exception e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
/**
|
* 功能说明:初始化辅料
|
*
|
* @author wanchanghuang
|
* @time 2015年8月10日17:08:59
|
*
|
* */
|
@Override
|
public List<MatParamBean> getAllMdMatParamData() {
|
String sql = "select mat,val from Md_Mat_Param ";
|
List<MatParamBean> list = new ArrayList<MatParamBean>();
|
List<?> ts=equipmentsDao.queryBySql(sql);
|
for(Object o:ts){
|
Object[] temp=(Object[]) o;
|
MatParamBean b = new MatParamBean();
|
try {
|
b.setMat(temp[0].toString());
|
b.setVal(Double.parseDouble(temp[1].toString()));
|
} catch (Exception e) {
|
// TODO: handle exception
|
}
|
list.add(b);
|
}
|
return list;
|
}
|
|
|
|
|
|
/**
|
* Excel导出
|
* 2015.9.9--张璐
|
*/
|
@LogAnno(operateType = "Excel导出")
|
@Override
|
public HSSFWorkbook ExportExcelJBPP2(EquipmentsBean baoCJBean) throws Exception {
|
Json json=new Json();
|
HSSFWorkbook wb =null;
|
ExportExcel ee = new ExportExcel();
|
FileOutputStream fos;
|
try {
|
//th 当前开始行,当前结束行,一共多少列
|
int[] thTables={1,2,18};
|
List<String> th=new ArrayList<String>();
|
//第1行;第1列开始 ~ 第18列结束 一共 跨到第1行
|
th.add("1,1,18,1,设备主数据管理");
|
th.add("2,1,1,1,设备编号");
|
th.add("2,2,2,1,设备名称");
|
th.add("2,3,3,1,设备描述");
|
th.add("2,4,4,1,机型");
|
th.add("2,5,5,1,车间");
|
th.add("2,6,6,1,工序段");
|
th.add("2,7,7,1,设备位置");
|
th.add("2,8,8,1,额定车速");
|
th.add("2,9,9,1,额定车速单位");
|
th.add("2,10,10,1,台时产量");
|
th.add("2,11,11,1,台时产量单位");
|
th.add("2,12,12,1,是否启用");
|
th.add("2,13,13,1,固定资产编号");
|
th.add("2,14,14,1,出厂编号");
|
th.add("2,15,15,1,批准文号");
|
th.add("2,16,16,1,准运证编号");
|
th.add("2,17,17,1,已入固");
|
th.add("2,18,18,1,使用部门");
|
PageParams pageParams = new PageParams();
|
|
//获取List集合
|
DataGrid dg=this.queryEqu(baoCJBean,pageParams);
|
//方法集合,同表头一致
|
String[] method=new String[]{"getEquipmentCode","getEquipmentName","getEquipmentDesc","getEqpTypeName","getWorkShopName","getWorkCenter","getEquipmentPosition","getRatedSpeed","getRateSpeedUnit","getYieId","getYieldUnit","getEnabled","getFixedAssetNum","getManufacturingNum","getApprovalNum","getNavicertNum","getFixedAssetFlag","getUsingDepartment"};
|
//开始行
|
int startLine=2;
|
//WorkShopShiftBean.class List集合中对应的实体类
|
wb = ee.exportExcel(thTables, th, startLine, method,EquipmentsBean.class,dg.getRows());
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
return wb;
|
}
|
@LogAnno(operateType = "批量导入设备主数据excel")
|
@Override
|
public void inputExeclAndReadWrite(List<MdEquipment> list) {
|
for (int i = 0; i < list.size(); i++) {
|
MdEquipment equBean=list.get(i);
|
String sql="SELECT EQUIPMENT_CODE from MD_EQUIPMENT where del=0 and EQUIPMENT_CODE='"+equBean.getEquipmentCode()+"'";
|
List l=equipmentsDao.queryBySql(sql);
|
if (l!=null&&l.size()>0) {
|
continue;
|
}else{
|
equBean.setDel("0");
|
equBean.setCreateTime(new java.util.Date());
|
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
String createUserName = sessionInfo.getUser().getName();
|
String updateUserName = createUserName;
|
equBean.setCreateUserName(createUserName);
|
equBean.setUpdateUser(updateUserName);
|
equBean.setUpdateTime(new Date());
|
|
equipmentsDao.saveOrUpdate(equBean);
|
}
|
}
|
}
|
|
@Override
|
public MdEquipment getEqpByEqpCode(String eqpCode) {
|
StringBuffer sql=new StringBuffer("select id from MD_EQUIPMENT where 1=1 ");
|
if(StringUtil.notNull(eqpCode)){
|
sql.append(" and equipment_code='"+eqpCode+"'");
|
}
|
|
List<?> ls=equipmentsDao.queryBySql(sql.toString());
|
if(ls!=null && ls.size()>0){
|
return new MdEquipment((String) ls.get(0));
|
}
|
return null;
|
}
|
@LogAnno(operateType = "批量删除设备主数据信息")
|
@Override
|
public void batchDeleteEqu(String ids) {
|
String[] split = ids.split(",");
|
try {
|
for (int i = 0; i <split.length; i++) {
|
equipmentsDao.findById(MdEquipment.class, split[i]).setDel("1");
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
|
}
|
|
|
@Override
|
public MdEquipment getEqpByMESCodeOrWorkCenter(String mesCode,String workcenter,boolean flag) {
|
StringBuffer sql=new StringBuffer("select id from MD_EQUIPMENT where 1=1 and del=0 ");
|
if(StringUtil.notNull(mesCode)){
|
sql.append(" and MES_EQPCODE='"+mesCode+"'");
|
}
|
if(StringUtil.notNull(workcenter)){
|
if(flag){
|
sql.append(" or WORK_CENTER='"+workcenter+"'");
|
}else{
|
sql.append(" and WORK_CENTER='"+workcenter+"'");
|
}
|
}
|
List<?> ls=equipmentsDao.queryBySql(sql.toString());
|
if(ls!=null && ls.size()>0){
|
return new MdEquipment((String) ls.get(0));
|
}
|
return null;
|
}
|
|
@Override
|
public void batchAddEqp(List<MdEquipment> eqps) {
|
equipmentsDao.batchInsert(eqps, MdEquipment.class);
|
}
|
|
@Override
|
public void saveOrUpdateEqp(MdEquipment eqps) {
|
equipmentsDao.saveOrUpdate(eqps);
|
}
|
|
@Override
|
public void saveOrUpdateAppendEqp(MdAppendEquipment eqps) {
|
appendEqmipmentsDao.saveOrUpdate(eqps);
|
}
|
|
@Override
|
public MdAppendEquipment getAppdependEqpByMESCodeOrWorkCenter(String mesCode) {
|
StringBuffer sql=new StringBuffer("select id from MD_APPEND_EQUIPMENT where 1=1 ");
|
if(StringUtil.notNull(mesCode)){
|
sql.append(" and MES_EQPCODE='"+mesCode+"'");
|
}
|
List<?> ls=equipmentsDao.queryBySql(sql.toString());
|
if(ls!=null && ls.size()>0){
|
return new MdAppendEquipment((String) ls.get(0));
|
}
|
return null;
|
}
|
|
}
|