package com.shlanbao.tzsc.pms.md.eqptype.service.impl; import java.util.ArrayList; import java.util.List; import java.util.UUID; import org.apache.commons.lang.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.shlanbao.tzsc.base.dao.MdEqpTypeChildDaoI; import com.shlanbao.tzsc.base.mapping.MdEqpTypeChild; import com.shlanbao.tzsc.base.model.DataGrid; import com.shlanbao.tzsc.base.model.PageParams; import com.shlanbao.tzsc.base.service.BaseService; import com.shlanbao.tzsc.plugin.service.LoadComboboxServiceI; import com.shlanbao.tzsc.pms.md.eqptype.beans.MdEqpTypeChildBean; import com.shlanbao.tzsc.pms.md.eqptype.service.MdEqpTypeChildServiceI; import com.shlanbao.tzsc.utils.tools.StringUtil; /** * * @author luther.zhang * */ @Service public class MdEqpTypeChildServiceImpl extends BaseService implements MdEqpTypeChildServiceI { @Autowired private MdEqpTypeChildDaoI mdEqpTypeChildDao; @Autowired private LoadComboboxServiceI comboboxServiceI; @Override public DataGrid queryMdTypeChild(MdEqpTypeChildBean mdTypeBean, PageParams pageParams) throws Exception { String countSql ="select count(temp1.id) len "; String rowNumberSql ="select ROWNUM as rownumber,"; String titleSql = "select temp1.id as SECID,temp1.CODE,temp1.NAME,temp2.id,temp2.SEC_PID,temp2.MET_PID,TYPE "; StringBuffer temp1=new StringBuffer(); temp1.append(titleSql).append(" from ( ") .append(rowNumberSql).append(" c.* from SYS_EQP_CATEGORY c where del=0 "); //根据名称 模糊查询 if(null!=mdTypeBean.getQueryName()&&!"".equals(mdTypeBean.getQueryName())){ temp1.append("and name like '%"+mdTypeBean.getQueryName().trim()+"%' "); } temp1.append(")temp1 left join ( ") .append(" select * from MD_EQP_TYPE_child where del=0 "); if(null!=mdTypeBean.getQueryId()&&!"".equals(mdTypeBean.getQueryId())){ temp1.append("and MET_PID='"+mdTypeBean.getQueryId().trim()+"' "); } if(null!=mdTypeBean.getQueryType()&&!"".equals(mdTypeBean.getQueryType())){ temp1.append("and TYPE='"+mdTypeBean.getQueryType()+"' "); } temp1.append(" )temp2 on temp1.id = temp2.sec_pid "); String lastSql = temp1.toString().replaceAll(titleSql,countSql); lastSql = lastSql.replaceAll(rowNumberSql, "select "); List list = mdEqpTypeChildDao.queryBySql(lastSql, null);//只会有一条记录 long total= 0;//总记录数 List lastList = new ArrayList(); if(null!=list&&list.size()>0){ Object arr=(Object) list.get(0);//返回一个对象,而不是 一组数组 total =Long.parseLong(ObjectUtils.toString(arr)); } if(total>0){ temp1.append(" where rownumber>"+(pageParams.getPage()-1)*pageParams.getRows() +" and rownumber<="+(pageParams.getPage()*pageParams.getRows())+" ");//分页 lastSql = temp1.toString(); //System.out.println(lastSql); list = mdEqpTypeChildDao.queryBySql(lastSql, null); if(null!=list&&list.size()>0){ MdEqpTypeChildBean childBean = null; for(int i=0;i0){ childBean.setIsCheck("true"); } childBean.setSecPid(ObjectUtils.toString(arr[4])); childBean.setMetPid(ObjectUtils.toString(arr[5])); childBean.setType(ObjectUtils.toString(arr[6])); lastList.add(childBean); } } } return new DataGrid(lastList, total); } /** * 新增 或 删除 绑定的 轮保大类项 * @param type * @param beans * @throws Exception */ public void saveMdTypeChild(String type,MdEqpTypeChildBean[] beans) throws Exception{ if(null!=beans&&beans.length>0){ for(MdEqpTypeChildBean bean : beans){ String key = bean.getMetcId(); if(null!=key&&!"".equals(key)){//存在就更新DEL=0 //更新 StringBuffer temp = new StringBuffer(); temp.append("update MD_EQP_TYPE_CHILD set DEL=? where ID=? "); List params = new ArrayList(); params.add(bean.getDel()); params.add(key); mdEqpTypeChildDao.updateInfo(temp.toString(),params); }else{//新增一条记录 //是不是 曾经保存过,如果是 更新下 StringBuffer temp = new StringBuffer(); List params = new ArrayList(); //直接更新 temp.append("update MD_EQP_TYPE_CHILD set DEL=? where SEC_PID=? and MET_PID=? and TYPE=? "); params.add("0");params.add(bean.getSecPid()); params.add(bean.getMetPid());params.add(bean.getType()); int count = mdEqpTypeChildDao.updateBySql(temp.toString(),params); if(count<=0){ String id = UUID.randomUUID().toString(); temp = new StringBuffer(); temp.append("insert into MD_EQP_TYPE_CHILD(") .append("ID,DEL,SEC_PID,MET_PID,TYPE) values(?,?,?,?,?) "); params = new ArrayList(); params.add(id); params.add(bean.getDel()); params.add(bean.getSecPid()); params.add(bean.getMetPid()); params.add(bean.getType()); mdEqpTypeChildDao.updateInfo(temp.toString(),params); } } } } } /** * 取消绑定的 轮保大类项 * @param type * @param beans * @throws Exception */ public void editMdTypeChild(String type,MdEqpTypeChildBean[] beans) throws Exception{ if(null!=beans&&beans.length>0){ for(MdEqpTypeChildBean bean : beans){ String key = bean.getMetcId();//更新 StringBuffer temp = new StringBuffer(); temp.append("update MD_EQP_TYPE_CHILD set DEL=? where ID=? "); List params = new ArrayList(); params.add(bean.getDel()); params.add(key); mdEqpTypeChildDao.updateInfo(temp.toString(),params); } } } /** * * @Title: getPaulbyEqpType * @Description: 查询设备规程 * @param 设备类型Id * @param 类型, 保养,润滑,点检 * @return void 返回类型 * @throws */ @Override public List getPaulbyEqpType(String eqpTypeId,String type){ StringBuffer sql=new StringBuffer(); sql.append("select sec.ID,sec.NAME from MD_EQP_TYPE met left join MD_EQP_TYPE_CHILD mc on met.ID=mc.MET_PID "); sql.append("left join SYS_EQP_CATEGORY sec on mc.SEC_PID=sec.ID "); sql.append("where 1=1 and sec.del=0 and met.del=0 and mc.del=0"); if(StringUtil.notNull(eqpTypeId)){ //sql.append("and met.id = (select eqp_type_id from MD_EQUIPMENT where id='"+eqpTypeId+"') "); sql.append("and met.id = '"+eqpTypeId+"' "); } if(StringUtil.notNull(type)){ sql.append("and mc.TYPE='"+type+"' "); } List list = mdEqpTypeChildDao.queryBySql(sql.toString());//只会有一条记录 List returnList=new ArrayList(); for(int i=0;i getPaulbyEqp(String eqpId,String type){ StringBuffer sql=new StringBuffer(); sql.append("select sec.ID,sec.NAME from MD_EQP_TYPE met left join MD_EQP_TYPE_CHILD mc on met.ID=mc.MET_PID "); sql.append("left join SYS_EQP_CATEGORY sec on mc.SEC_PID=sec.ID "); sql.append("where 1=1 and sec.del=0 and met.del=0 and mc.del=0"); if(StringUtil.notNull(eqpId)){ sql.append("and met.id = (select eqp_type_id from MD_EQUIPMENT where id='"+eqpId+"') "); } if(StringUtil.notNull(type)){ sql.append("and mc.TYPE='"+type+"' "); } List list = mdEqpTypeChildDao.queryBySql(sql.toString());//只会有一条记录 List returnList=new ArrayList(); for(int i=0;i queryEqpTypeChildByEqp(String eqpid,String type)throws Exception{ StringBuffer sql=new StringBuffer(); sql.append("select sec.id,sec.CODE, sec.NAME,metc.SEC_PID,metc.MET_PID,metc.TYPE,metc.ID as METC_ID "); sql.append("from MD_EQP_TYPE_child metc left join SYS_EQP_CATEGORY sec on sec.id = metc.sec_pid "); sql.append("left join MD_EQUIPMENT me on me.EQP_TYPE_ID = metc.MET_PID "); sql.append("where metc.del=0 "); if(null!=eqpid&&!"".equals(eqpid)){ sql.append("and me.id='"+eqpid+"' "); } if(null!=type&&!"".equals(type)){ sql.append("and metc.TYPE='"+type+"' "); } List list = mdEqpTypeChildDao.queryBySql(sql.toString()); List lastList = new ArrayList(); if(null!=list&&list.size()>0){ MdEqpTypeChildBean childBean = null; for(int i=0;i