package com.shlanbao.tzsc.pms.qm.wages.service.impl; import com.shlanbao.tzsc.base.dao.QualityWagesDaoI; import com.shlanbao.tzsc.base.mapping.EqpStopMaintain; import com.shlanbao.tzsc.base.mapping.MdEquipment; import com.shlanbao.tzsc.base.mapping.MdTeam; import com.shlanbao.tzsc.base.mapping.QmWagesParam; import com.shlanbao.tzsc.base.model.DataGrid; import com.shlanbao.tzsc.base.service.BaseService; import com.shlanbao.tzsc.pms.qm.wages.beans.QmWagesParamBean; import com.shlanbao.tzsc.pms.qm.wages.service.QualityWagesServiceI; import com.shlanbao.tzsc.utils.tools.BeanConvertor; import com.shlanbao.tzsc.utils.tools.DateUtil; import com.shlanbao.tzsc.utils.tools.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; @Service public class QualityWagesServiceImpl extends BaseService implements QualityWagesServiceI { @Autowired QualityWagesDaoI qualityWagesDaoI; @Override public void addQualityWages(QmWagesParamBean param) throws Exception { //卷接机 if (param.getEqpType().equals("4028998349c6880e0149c688e9fb0001")) { //param.setNoInnerLine(null); //param.setJkDefect(null); if (param.getScore() == null || param.getProcessFault() == null || param.getMassDefect() == null) { throw new Exception("参数不能为空!"); } //成型 } else if (param.getEqpType().equals("4028998349c6880e0149c688e9fb0003")) { // param.setProcessFault(null); if (param.getScore() == null || param.getMassDefect() == null ) { throw new Exception("参数不能为空!"); } } QmWagesParam w = new QmWagesParam(); Date date = DateUtil.strToDate(param.getDat(), "yyyy-MM-dd"); if (date != null) { w.setDat(date); } w.setTeam(new MdTeam(param.getTeam())); w.setEqp(new MdEquipment(param.getEqp())); w.setEqpType(param.getEqpType()); w.setScore(param.getScore()); w.setProcessFault(param.getProcessFault()); w.setMassA(param.getMassA()); w.setMassB(param.getMassB()); w.setMassDefect(param.getMassDefect()); w.setNoInnerLine(param.getNoInnerLine()); w.setJkDefect(param.getJkDefect()); //添加前查询当前数据是否已添加 String hql = "from QmWagesParam o where 1 = 1 "; String params = ""; params = params.concat(" and to_char(o.dat,'yyyy-MM-dd') = '" + param.getDat() + "'"); params = params.concat(" and o.team.id = '" + param.getTeam() + "'"); params = params.concat(" and o.eqp.id = '" + param.getEqp() + "'"); List query = qualityWagesDaoI.query(hql + params); if(query!=null&&query.size()>0) throw new Exception("当前班次数据已存在!"); //添加 qualityWagesDaoI.save(w); } @Override public DataGrid queryList(QmWagesParamBean paramBean) { String hql = "from QmWagesParam o where 1 = 1 "; String params = ""; if (StringUtil.notEmpty(paramBean.getDat())) { params = params.concat(" and to_char(o.dat,'yyyy-MM') = '" + paramBean.getDat() + "'"); } if (StringUtil.notEmpty(paramBean.getTeam())) { params = params.concat(" and o.team.id = '" + paramBean.getTeam() + "'"); } if (StringUtil.notEmpty(paramBean.getEqp())) { params = params.concat(" and o.eqp.id = '" + paramBean.getEqp() + "'"); } if (StringUtil.notEmpty(paramBean.getEqpType())) { params = params.concat(" and o.eqpType = '" + paramBean.getEqpType() + "'"); } params = params.concat(" order by to_char(o.dat,'yyyy-MM-dd')"); List rows = qualityWagesDaoI.query(hql.concat(params)); List result = new ArrayList<>(); for (int i = 0 ; i query = qualityWagesDaoI.query(hql + params); if(query!=null&&query.size()>0){ for (int i= 0 ; i < query.size() ; i++){ QmWagesParam wagesParam = query.get(i); if(wagesParam.getId().equals(param.getId())){ QmWagesParam w = query.get(i); w.setId(param.getId()); Date date = DateUtil.strToDate(param.getDat(), "yyyy-MM-dd"); if (date != null) { w.setDat(date); } w.setTeam(new MdTeam(param.getTeam())); w.setEqp(new MdEquipment(param.getEqp())); w.setEqpType(param.getEqpType()); w.setScore(param.getScore()); w.setProcessFault(param.getProcessFault()); w.setMassA(param.getMassA()); w.setMassB(param.getMassB()); w.setMassDefect(param.getMassDefect()); w.setNoInnerLine(param.getNoInnerLine()); w.setJkDefect(param.getJkDefect()); qualityWagesDaoI.update(w); }else { throw new Exception("当前班次数据已存在!"); } } }else{ QmWagesParam w = new QmWagesParam(); w.setId(param.getId()); Date date = DateUtil.strToDate(param.getDat(), "yyyy-MM-dd"); if (date != null) { w.setDat(date); } w.setTeam(new MdTeam(param.getTeam())); w.setEqp(new MdEquipment(param.getEqp())); w.setEqpType(param.getEqpType()); w.setScore(param.getScore()); w.setProcessFault(param.getProcessFault()); w.setMassA(param.getMassA()); w.setMassB(param.getMassB()); w.setMassDefect(param.getMassDefect()); w.setNoInnerLine(param.getNoInnerLine()); w.setJkDefect(param.getJkDefect()); qualityWagesDaoI.update(w); } } }