package com.shlanbao.tzsc.pms.md.fixCode.service.impl; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.shlanbao.tzsc.base.model.SessionInfo; import com.shlanbao.tzsc.plugin.service.LoadComboboxServiceI; import com.shlanbao.tzsc.pms.md.fixCode.beans.AccessParam; import com.shlanbao.tzsc.pms.md.fixCode.beans.SelfCheckParam; import com.shlanbao.tzsc.utils.params.ComboboxType; import com.shlanbao.tzsc.utils.tools.BeanConvertor; 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.MdFixCodeDaoI; import com.shlanbao.tzsc.base.mapping.MdFixCode; import com.shlanbao.tzsc.base.model.Json; import com.shlanbao.tzsc.base.service.BaseService; import com.shlanbao.tzsc.pms.md.fixCode.beans.FixCodeBean; import com.shlanbao.tzsc.pms.md.fixCode.service.FixCodeServiceI; import com.shlanbao.tzsc.utils.tools.StringUtil; import javax.servlet.http.HttpServletRequest; @Service public class FixCodeServiceImpl extends BaseService implements FixCodeServiceI { @Autowired private MdFixCodeDaoI mdFixCodeDao; @Autowired private HttpServletRequest request; @Autowired private LoadComboboxServiceI loadComboboxService; /** * 【功能说明】:查询综合基础数据 * * @author wanchanghuang * @createTime 2016年6月2日15:56:12 * @return * */ @Override public List queryFixCode(FixCodeBean fixBean) { try { StringBuffer sql = new StringBuffer(1000); sql.append("select id,name,mes_code,type,del,code,upcode,des,create_time,create_name,update_time,update_name,bak from md_fix_code where del=0 "); if (fixBean != null) { if(StringUtil.notEmpty(fixBean.getId())){ sql.append(" and id='" + fixBean.getId() + "'"); } if (StringUtil.notEmpty(fixBean.getName())) { sql.append(" and name='" + fixBean.getName() + "'"); } if (StringUtil.notEmpty(fixBean.getMesCode())) { sql.append(" and mes_code='" + fixBean.getMesCode() + "'"); } if (StringUtil.notEmpty(fixBean.getType())) { sql.append(" and type='" + fixBean.getType() + "'"); } if (StringUtil.notEmpty(fixBean.getCode())) { sql.append(" and code='" + fixBean.getCode() + "'"); } if (StringUtil.notEmpty(fixBean.getUpcode())) { sql.append(" and upcode='" + fixBean.getUpcode() + "'"); } if (StringUtil.notEmpty(fixBean.getBak())) { sql.append(" and bak='" + fixBean.getBak() + "'"); } } sql.append(" order by upcode"); List list = mdFixCodeDao.queryBySql(sql.toString()); List fixc = new ArrayList(); FixCodeBean fixbean = null; for (int i = 0; i < list.size(); i++) { Object[] arr = (Object[]) list.get(i); fixbean = new FixCodeBean(); if (arr[0] != null) { fixbean.setId(arr[0].toString()); } if (arr[1] != null) { fixbean.setName(arr[1].toString()); } if (arr[2] != null) { fixbean.setMesCode(arr[2].toString()); } if (arr[3] != null) { fixbean.setType(arr[3].toString()); } if (arr[4] != null) { fixbean.setDel(arr[4].toString()); } if (arr[5] != null) { fixbean.setCode(arr[5].toString()); } if (arr[6] != null) { fixbean.setUpcode(arr[6].toString()); } if (arr[7] != null) { fixbean.setDes(arr[7].toString()); } if (arr[8] != null) { fixbean.setCreateTime(arr[8].toString()); } if (arr[9] != null) { fixbean.setCreateName(arr[9].toString()); } if (arr[10] != null) { fixbean.setUpdateTime(arr[10].toString()); } if (arr[11] != null) { fixbean.setUpdateName(arr[11].toString()); } if (arr[12] != null) { fixbean.setBak(arr[12].toString()); } //fixbean.setCreateTime(DateUtil.formatDateToString(new Date(), "yyyy-MM-dd HH:mm:sss")); //fixbean.setUpdateTime(DateUtil.formatDateToString(new Date(), "yyyy-MM-dd HH:mm:sss")); fixc.add(fixbean); } return fixc; } catch (Exception e) { e.printStackTrace(); } return null; } @LogAnno(operateType = "综合基础数据添加或编辑") @Override public Json saveFixCode(MdFixCode fixBean2,FixCodeBean params) { //查询是否存在!存在更新 不存在添加 Json json=new Json(); try { MdFixCode fixBean = new MdFixCode(); //如果fixBean2中有id值那么就是修改,需要从数据库查该条数据的创建信息 if(StringUtil.notNull(fixBean2.getId())){ fixBean = mdFixCodeDao.findById(MdFixCode.class, fixBean2.getId()); } //将fixBean2转换到fixBean,如果是新增则没有改变 BeanConvertor.copyProperties(fixBean2,fixBean); List ls=null; if(params!=null){ if(StringUtil.notEmpty(params.getId())){ FixCodeBean bean2=new FixCodeBean(); bean2.setId(fixBean.getId()); bean2.setDel("0"); ls=queryFixCode(bean2); }else{ ls=queryFixCode(params); } } //获得当前登录者的信息 SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo"); //如果创建信息为空则初始化创建信息与修改信息 if(!StringUtil.notNull(fixBean.getCreateName())){ fixBean.setCreateName(sessionInfo.getUser().getName()); fixBean.setCreateTime(new Date()); fixBean.setUpdateName(sessionInfo.getUser().getName()); fixBean.setUpdateTime(new Date()); } json.setMsg("新增数据成功!"); json.setSuccess(true); if((ls!=null && ls.size() <=1) || ls==null ){ if(ls!=null && ls.size()==1){ fixBean.setId(ls.get(0).getId()); //如果是修改则填充修改信息 fixBean.setUpdateName(sessionInfo.getUser().getName()); fixBean.setUpdateTime(new Date()); json.setMsg("更新数据成功!"); } //避免id=“”的数据 if(!StringUtil.notEmpty(fixBean.getId())){ fixBean.setId(null); } mdFixCodeDao.saveOrUpdate(fixBean); }else{ json.setSuccess(false); json.setMsg("查询出的数据不唯一!保存或更新MdFixCode失败!"); log.error("查询出的数据不唯一!保存更新MdFixCode失败!"); } } catch (Exception e) { e.printStackTrace(); json.setSuccess(false); json.setMsg("保存或更新MdFixCode异常!"); } return json; } @Override public void refrushData() { /*BaseParams.getListMdFixCode().clear(); BaseParams.setListMdFixCode(queryFixCode(null));*/ loadComboboxService.initCombobox(ComboboxType.ALL); //初始化基础数据 } @LogAnno(operateType = "综合基础数据删除") @Override public Json deleteFixCode(String id) { Json json=new Json(); try { MdFixCode mdFixCode= mdFixCodeDao.findById(MdFixCode.class, id); mdFixCode.setDel("1"); json.setMsg("成功"); json.setSuccess(true); } catch (Exception e) { json.setMsg("失败"); json.setSuccess(false); e.printStackTrace(); } return json; } @Override public void saveWorkCenterByCenter(String workCenterCode,MdFixCode fixCode){ FixCodeBean params=new FixCodeBean(); params.setMesCode(workCenterCode); params.setUpcode("WORKCENTEREQP0001"); params.setDel("0"); List ls=queryFixCode(params); if(null==ls || ls.size()==0){ mdFixCodeDao.save(fixCode); } } /** * 更新发送状态 * * */ @Override public void updateQmOLinkCheck(String olid,String param) { //更新修改人与修改时间 // SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo"); // String updateUserName = sessionInfo.getUser().getName(); try { olid=olid.substring(0,olid.lastIndexOf(",")); if(!"".equals(olid)){ olid=olid.replaceAll(",", "','"); if(param!=null && !"".equals(param) ){ mdFixCodeDao.updateBySql("update QM_ONLINECHECK set sts='"+param+"',UPDATE_USER_TIME=sysdate where id in ('"+olid+"')", null); }else{ mdFixCodeDao.updateBySql("update QM_ONLINECHECK set sts=1,UPDATE_USER_TIME=sysdate,check_sts=1 where id in ('"+olid+"')", null); } } } catch (Exception e) { log.error("查询出的数据不唯一!保存更新MdFixCode失败!"); } } /** * [功能说明]修改外观数据自动反馈 共用方法 * 反馈成功,修改工单状态 * @author wanchanghuang * @param olid * flag true :20支质量反馈 false:正常MES反馈 * */ @Override public void updateQmOutWard(String olid,String sts,boolean flag) { try { //更新修改人与修改时间 //SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo"); // String updateUserName = sessionInfo.getUser().getName(); if(flag){ mdFixCodeDao.updateBySql("update QM_OUTWARD set sts2='"+sts+"',UPDATE_USER_TIME=sysdate where id in ("+olid+")", null); }else{ mdFixCodeDao.updateBySql("update QM_OUTWARD set sts='"+sts+"',UPDATE_USER_TIME=sysdate where id in ("+olid+")", null); } } catch (Exception e) { e.printStackTrace(); log.error("修改反馈状态"); } } @Override public void batchDeleteMdFixCode(String ids) { String[] split = ids.split(","); for (int i = 0; i list = mdFixCodeDao.query(sql); if (list!=null && list.size()>0) { list.forEach(item->{ if ("51qty".equals(item.getType())) { accessParam.setA51qty(item.getCode()); } else if ("other1qty".equals(item.getType())) { accessParam.setOther1qty(item.getCode()); } else if ("52qty".equals(item.getType())) { accessParam.setA52qty(item.getCode()); } else if ("other2qty".equals(item.getType())) { accessParam.setOther2qty(item.getCode()); } else if ("exceedEvery".equals(item.getType())) { accessParam.setExceedEvery(item.getCode()); } else if ("exceedTotalAnther".equals(item.getType())) { accessParam.setExceedTotalAnther(item.getCode()); } else if ("exceedAnther".equals(item.getType())) { accessParam.setExceedAnther(item.getCode()); } else if ("totalQtyStd".equals(item.getType())) { accessParam.setTotalQtystd(item.getCode()); } else if ("howMuch".equals(item.getType())) { accessParam.setHowMuch(item.getCode()); } else if ("xiZhi".equals(item.getType())) { accessParam.setXiZhi(item.getCode()); } else if ("changGui".equals(item.getType())) { accessParam.setChangGui(item.getCode()); } else if ("underFirst".equals(item.getType())) { accessParam.setUnderFirst(item.getCode()); } else if ("underFirstMiddle".equals(item.getType())) { accessParam.setUnderFirstMiddle(item.getCode()); } else if ("underEvery".equals(item.getType())) { accessParam.setUnderEvery(item.getCode()); } else if ("underSecond".equals(item.getType())) { accessParam.setUnderSecond(item.getCode()); } else if ("underTotal".equals(item.getType())) { accessParam.setUnderTotal(item.getCode()); } else if ("exceedOfPlan".equals(item.getType())){ accessParam.setExceedOfPlan(item.getCode()); } else if ("exceedOfPlanMiddle".equals(item.getType())){ accessParam.setExceedOfPlanMiddle(item.getCode()); } else if ("exceedOfPlanEvery".equals(item.getType())){ accessParam.setExceedOfPlanEvery(item.getCode()); } }); } return accessParam; } @Override public void saveWagesAccess(AccessParam accessParam) { String sql = "update md_fix_code set code = ? where upcode = 'JBGZKHCX' and type = ?"; List list = new ArrayList<>(); list.add(accessParam.getA51qty()); list.add("51qty"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getOther1qty()); list.add("other1qty"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getA52qty()); list.add("52qty"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getOther2qty()); list.add("other2qty"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedAnther()); list.add("exceedAnther"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedEvery()); list.add("exceedEvery"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getHowMuch()); list.add("howMuch"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedTotalAnther()); list.add("exceedTotalAnther"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getTotalQtystd()); list.add("totalQtyStd"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getXiZhi()); list.add("xiZhi"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getChangGui()); list.add("changGui"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getUnderFirst()); list.add("underFirst"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getUnderFirstMiddle()); list.add("underFirstMiddle"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getUnderEvery()); list.add("underEvery"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getUnderSecond()); list.add("underSecond"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getUnderTotal()); list.add("underTotal"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedOfPlan()); list.add("exceedOfPlan"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedOfPlanMiddle()); list.add("exceedOfPlanMiddle"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(accessParam.getExceedOfPlanEvery()); list.add("exceedOfPlanEvery"); mdFixCodeDao.updateBySql(sql,list); list.clear(); } @Override public SelfCheckParam queryWlkh(String upcode) { SelfCheckParam param = new SelfCheckParam(); String hql = "from MdFixCode where upcode = '"+upcode+"'"; List fixCodes = mdFixCodeDao.query(hql); if (fixCodes!=null && fixCodes.size()>0) { fixCodes.forEach(item->{ if ("shoujianshijian".equals(item.getType())) { param.setShoujianshijian(item.getCode()); } else if ("zijianpinlv".equals(item.getType())) { param.setZijianpinlv(item.getCode()); } else if ("zijianyuncha".equals(item.getType())) { param.setZijianyuncha(item.getCode()); } else if ("loujianfakuan".equals(item.getType())) { param.setLoujianfakuan(item.getCode()); } }); } return param; } @Override public void saveWlkh(SelfCheckParam param, String upcode) { String sql = "update md_fix_code set code = ? where upcode = '"+upcode+"' and type = ?"; List list = new ArrayList<>(); list.add(param.getShoujianshijian()); list.add("shoujianshijian"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(param.getZijianpinlv()); list.add("zijianpinlv"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(param.getZijianyuncha()); list.add("zijianyuncha"); mdFixCodeDao.updateBySql(sql,list); list.clear(); list.add(param.getLoujianfakuan()); list.add("loujianfakuan"); mdFixCodeDao.updateBySql(sql,list); list.clear(); } }