package com.shlanbao.tzsc.pms.sys.repairResquest.service.impl; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.ResourceBundle; import java.util.UUID; import com.shlanbao.tzsc.utils.tools.LogAnno; import org.apache.commons.lang.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import com.shlanbao.tzsc.base.dao.SysMaintenanceStaffDaoI; import com.shlanbao.tzsc.base.mapping.SysMaintenanceStaff; 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.pms.sys.repairResquest.beans.RepairResquestBean; import com.shlanbao.tzsc.pms.sys.repairResquest.service.RepairResquestServiceI; import com.shlanbao.tzsc.utils.tools.StringUtil; @Service public class RepairResquestServiceImpl extends BaseService implements RepairResquestServiceI{ @Autowired protected SysMaintenanceStaffDaoI SysMaintenanceStaffDao; private static final ResourceBundle bundle = ResourceBundle.getBundle("config"); private String imgPath=bundle.getString("service_url")+File.separator+bundle.getString("upload_img")+File.separator;//添加图片路径前缀 /** * * 添加维修人员 * * @author 景孟博 */ @LogAnno(operateType = "新增维修人员") @Override public void addFixUser(RepairResquestBean repairResquestuserBean,MultipartFile file)throws Exception { //上传图片 if(file!=null && file.getSize()>0){ String fileName = file.getOriginalFilename(); int index1=fileName.indexOf('.'); String hz=fileName.substring(index1); String name=fileName.substring(0, index1+1).hashCode()+System.currentTimeMillis()+hz; byte[] b=new byte[1024]; InputStream is=file.getInputStream(); String tomAdd=bundle.getString("save_url"); String add1=bundle.getString("upload_img"); File fl = new File(tomAdd+add1); fl.mkdirs(); FileOutputStream os=new FileOutputStream(tomAdd+File.separator+add1+File.separator+name);//保存路径 while(is.read(b, 0, b.length)!=-1){ os.write(b); } is.close(); os.close(); //设置图片显示路径 repairResquestuserBean.setPath(name); } StringBuffer sb = new StringBuffer(); sb.append("INSERT into SYS_MAINTENANCE_STAFF (id,shift_id,user_id,user_name,remark,status,create_user_id,create_user_name,create_user_time,type_id,type_name,path,eqp_type,team_id,update_user_id,update_user_name,update_user_time) VALUES('"+UUID.randomUUID().toString()+"'"); if(StringUtil.notNull(repairResquestuserBean.getShiftId())){ sb.append(",'"+repairResquestuserBean.getShiftId()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getUserId())){ sb.append(",'"+repairResquestuserBean.getUserId()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getUserName())){ sb.append(",'"+repairResquestuserBean.getUserName()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getRemark())){ sb.append(",'"+repairResquestuserBean.getRemark()+"'"); }else{ sb.append(",NULL"); } sb.append(",'0'"); if(StringUtil.notNull(repairResquestuserBean.getCreateUserId())){ sb.append(",'"+repairResquestuserBean.getCreateUserId()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getCreateUserName())){ sb.append(",'"+repairResquestuserBean.getCreateUserName()+"'"); }else{ sb.append(",NULL"); } sb.append(",SYSDATE"); if(StringUtil.notNull(repairResquestuserBean.getTypeId())){ sb.append(",'"+repairResquestuserBean.getTypeId()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getTypeId())){ if(repairResquestuserBean.getTypeId().equals("1")){ sb.append(",'机械维修工'"); }else if(repairResquestuserBean.getTypeId().equals("2")){ sb.append(",'电气维修工'"); }else if(repairResquestuserBean.getTypeId().equals("3")){ sb.append(",'电气维修工'"); } }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getPath())){ sb.append(",'"+repairResquestuserBean.getPath()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getEqpType())){ sb.append(",'"+repairResquestuserBean.getEqpType()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getTeamId())){ sb.append(",'"+repairResquestuserBean.getTeamId()+"'"); }else{ sb.append(",NULL"); } //新增时以下修改信息与创建信息一致 if(StringUtil.notNull(repairResquestuserBean.getCreateUserId())){ sb.append(",'"+repairResquestuserBean.getCreateUserId()+"'"); }else{ sb.append(",NULL"); } if(StringUtil.notNull(repairResquestuserBean.getCreateUserName())){ sb.append(",'"+repairResquestuserBean.getCreateUserName()+"'"); }else{ sb.append(",NULL"); } sb.append(",SYSDATE"); sb.append(")"); SysMaintenanceStaffDao.updateBySql(sb.toString(), null); } /** *查询维修人员 * @author 景孟博 */ @Override public DataGrid queryFixUser(RepairResquestBean repairResquestuserBean,PageParams pageParams)throws Exception{ String userName=""; String userId=""; String shiftId=""; /*if(isNameFuzzy && StringUtil.notNull(repairResquestuserBean.getUserName())){ userName="user_name like'%"+repairResquestuserBean.getUserName()+"%'"; }else */ if(StringUtil.notNull(repairResquestuserBean.getUserName())){ userName=" and ( user_name like '%"+repairResquestuserBean.getUserName().trim()+"%'"; userId=" or eno ='"+repairResquestuserBean.getUserName().trim()+"' ) "; } if(StringUtil.notNull(repairResquestuserBean.getTeamId())){ shiftId=" and team_id='"+repairResquestuserBean.getTeamId()+"' "; } if(StringUtil.notNull(repairResquestuserBean.getId())){ shiftId=" and id='"+repairResquestuserBean.getId()+"' "; } StringBuffer sb = new StringBuffer(); sb.append(" (select id,(SELECT name from MD_TEAM where id=team_id) as TeamName,(SELECT ENO from SYS_USER where ID=user_id) as ENO,user_name,remark,status,create_user_id,create_user_name,to_char(create_user_time,'yyyy-mm-dd hh24:mi:ss'),type_id,type_name,path,eqp_type,update_user_name,to_char(update_user_time,'yyyy-mm-dd hh24:mi:ss'),shift_id,team_id"); sb.append(" from SYS_MAINTENANCE_STAFF"); sb.append(" where 1=1 )"); int page=pageParams.getPage(); int row=pageParams.getRows(); String sql="select * from (select rownum bh,jmb.* from"+sb.toString()+"jmb where 1=1"+userName+userId+shiftId+") where 1=1 "; long total= 0;//总记录数 List count = SysMaintenanceStaffDao.queryBySql(sql, null); List list = SysMaintenanceStaffDao.queryBySql(sql + " AND bh > "+(page-1)*row+" AND bh <="+page*row, null); if(list.size()>0){ int arr=count.size();//返回一个对象,而不是 一组数组 total =Long.parseLong(ObjectUtils.toString(arr)); } List beans = new ArrayList(); if(total>0){ RepairResquestBean bean = null; for(int i=0;i lt = SysMaintenanceStaffDao.queryBySql(sql); if(lt.size()>0){ Object[] o=(Object[]) lt.get(0); RepairResquestBean bean = new RepairResquestBean(); bean.setId(StringUtil.convertObjToString(o[0])); bean.setTeamId(StringUtil.convertObjToString(o[1])); bean.setUserId(StringUtil.convertObjToString(o[2])); bean.setUserName(StringUtil.convertObjToString(o[3])); bean.setRemark(StringUtil.convertObjToString(o[4])); bean.setTypeId(StringUtil.convertObjToString(o[5])); bean.setTypeName(StringUtil.convertObjToString(o[6])); if(null!=o[7]){ bean.setPath(imgPath+o[7].toString()); } bean.setEqpType(StringUtil.convertObjToString(o[8])); bean.setEno(StringUtil.convertObjToString(o[9])); bean.setStatus(StringUtil.convertObjToString(o[10])); bean.setUpdateUserId(updateUsrId); bean.setUpdateUserName(updateUserName); return bean; }else{ return null; } } /** * 删除维修人信息 * @author 景孟博 */ @LogAnno(operateType = "删除维修人员") @Override public void deleteFixUser(String id)throws Exception{ String sql = "delete from sys_maintenance_staff where id ='"+id+"' "; SysMaintenanceStaffDao.updateBySql(sql, null); } /** * 批量删除 * @author 景孟博 */ @LogAnno(operateType = "批量删除工单") @Override public void batchDelete(String ids)throws Exception{ for(String id : StringUtil.splitToStringList(ids, ",")){ this.deleteFixUser(id); } } /** * 查询wct维修呼叫处于等待状态的请求信息,用于推送消息 * shisihai */ @Override public List queryAskInfo() { List data=new ArrayList(); String sql="SELECT (SELECT name from MD_SHIFT where id=shift_id) as shift_id ,(SELECT name from MD_TEAM where id=team_id) as team_name,eqp_name,create_user_name,to_char(create_user_time,'yyyy-mm-dd,hh24:mi:ss'),designated_person_name,type_name FROM sys_service_info WHERE status=0"; List ls=SysMaintenanceStaffDao.queryBySql(sql); RepairResquestBean bean=null; Object[] o=null; if(null!=ls&ls.size()>0){ for (Object obj : ls) { bean=new RepairResquestBean(); o=(Object[])obj; bean.setShiftName(StringUtil.convertObjToString(o[0]));//班次 bean.setTeamName(StringUtil.convertObjToString(o[1]));//班组 bean.setEqpName(StringUtil.convertObjToString(o[2]));//机台 bean.setCreateUserName(StringUtil.convertObjToString(o[3]));//呼叫人 bean.setCreateUserTime(StringUtil.convertObjToString(o[4]));//呼叫时间 bean.setUserName(StringUtil.convertObjToString(o[5]));//维修工姓名 bean.setTypeName(StringUtil.convertObjToString(o[6]));//维修工类别 data.add(bean); } } return data; } }