package com.shlanbao.tzsc.pms.equ.assessment.service.impl; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.shlanbao.tzsc.utils.tools.FillUserInfoUtil; 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.EqmWkshopAssessmentDaoI; import com.shlanbao.tzsc.base.dao.SchFilterCountDaoI; import com.shlanbao.tzsc.base.interceptor.WorkOrderStatChangeInterceptor; import com.shlanbao.tzsc.base.mapping.EqmWkshopAssessment; import com.shlanbao.tzsc.base.mapping.SchFilterCount; import com.shlanbao.tzsc.base.model.DataGrid; import com.shlanbao.tzsc.base.service.BaseService; import com.shlanbao.tzsc.pms.equ.assessment.EqmAssessment; import com.shlanbao.tzsc.pms.equ.assessment.EqmWkshopAssessmentBean; import com.shlanbao.tzsc.pms.equ.assessment.service.WkshopAssessmentServiceI; import com.shlanbao.tzsc.pms.md.FilterCount.SchFilterCountBean; import com.shlanbao.tzsc.pms.md.FilterCount.service.FilterCountServiceI; import com.shlanbao.tzsc.utils.tools.BeanConvertor; import com.shlanbao.tzsc.utils.tools.StringUtil; import javax.servlet.http.HttpServletRequest; @Service public class WkshopAssessmentServiceImpl extends BaseService implements WkshopAssessmentServiceI { @Autowired private EqmWkshopAssessmentDaoI filterCountDaoI; @Autowired private HttpServletRequest request; @Override public DataGrid getAllFilterCount(EqmWkshopAssessmentBean filterCount) throws Exception { String hql = "from EqmWkshopAssessment o where 1=1 "; if (StringUtil.notEmpty(filterCount.getDate())) { hql+="and to_char(o.date,'yyyy-mm')='"+filterCount.getDate()+"'"; } if (StringUtil.notEmpty(filterCount.getWorkShop())) { hql+="and o.workShop = '"+filterCount.getWorkShop()+"'"; } List query = filterCountDaoI.query(hql); List rows = BeanConvertor.copyList(query, EqmWkshopAssessmentBean.class); for(int i=0;i ealist = new ArrayList<>(); if ("2".equals(bean.getWorkShop())) { EqmAssessment eqmAssessment = null; List list = filterCountDaoI.queryBySql("select a.id,a.EQUIPMENT_NAME from MD_EQUIPMENT a where WORK_SHOP = 1", null); if (list!=null&&list.size()>0) { for (Object object : list) { eqmAssessment = new EqmAssessment(); Object[] o = (Object[]) object; eqmAssessment.setSystem(o[1].toString()); List plan = filterCountDaoI.queryBySql(lsqlp, 1,assessmentBean.getDate(),o[0].toString()); if (plan!=null&&plan.size() > 0&&Integer.valueOf(plan.get(0).toString())>0) { eqmAssessment.setPlanCheckNum(Integer.valueOf(plan.get(0).toString())); List actual = filterCountDaoI.queryBySql(lsqls, 1,assessmentBean.getDate(),o[0].toString()); eqmAssessment.setCheckType("2"); if (actual!=null&&actual.size()>0) { eqmAssessment.setActualCheckNum(Integer.valueOf(actual.get(0).toString())); }else{ eqmAssessment.setActualCheckNum(0); } eqmAssessment.setClRate(Double.valueOf(eqmAssessment.getActualCheckNum())/eqmAssessment.getPlanCheckNum()*100); eqmAssessment.setClRate(new BigDecimal(eqmAssessment.getClRate()).setScale(2, RoundingMode.HALF_UP).doubleValue()); ealist.add(eqmAssessment); } } for (Object object : list) { eqmAssessment = new EqmAssessment(); Object[] o = (Object[]) object; eqmAssessment.setSystem(o[1].toString()); List plan = filterCountDaoI.queryBySql(isqlp, 1,assessmentBean.getDate(),o[0].toString()); if (plan!=null&&plan.size() > 0&&Integer.valueOf(plan.get(0).toString())>0) { eqmAssessment.setPlanCheckNum(Integer.valueOf(plan.get(0).toString())); List actual = filterCountDaoI.queryBySql(isqls, 1,assessmentBean.getDate(),o[0].toString()); eqmAssessment.setCheckType("5"); if (actual!=null&&actual.size()>0) { eqmAssessment.setActualCheckNum(Integer.valueOf(actual.get(0).toString())); }else{ eqmAssessment.setActualCheckNum(0); } eqmAssessment.setClRate(Double.valueOf(eqmAssessment.getActualCheckNum())/eqmAssessment.getPlanCheckNum()*100); eqmAssessment.setClRate(new BigDecimal(eqmAssessment.getClRate()).setScale(2, RoundingMode.HALF_UP).doubleValue()); ealist.add(eqmAssessment); } } } } if ("6".equals(bean.getWorkShop())) { EqmAssessment eqmAssessment = null; List list = filterCountDaoI.queryBySql("select a.id,a.EQUIPMENT_NAME from MD_EQUIPMENT a where WORK_SHOP = 2", null); if (list!=null&&list.size()>0) { for (Object object : list) { eqmAssessment = new EqmAssessment(); Object[] o = (Object[]) object; eqmAssessment.setSystem(o[1].toString()); List plan = filterCountDaoI.queryBySql(lsqlp, 2,assessmentBean.getDate(),o[0].toString()); if (plan!=null&&plan.size() > 0&&Integer.valueOf(plan.get(0).toString())>0) { eqmAssessment.setPlanCheckNum(Integer.valueOf(plan.get(0).toString())); List actual = filterCountDaoI.queryBySql(lsqls, 2,assessmentBean.getDate(),o[0].toString()); eqmAssessment.setCheckType("2"); if (actual!=null&&actual.size()>0) { eqmAssessment.setActualCheckNum(Integer.valueOf(actual.get(0).toString())); }else{ eqmAssessment.setActualCheckNum(0); } eqmAssessment.setClRate(Double.valueOf(eqmAssessment.getActualCheckNum())/eqmAssessment.getPlanCheckNum()*100); eqmAssessment.setClRate(new BigDecimal(eqmAssessment.getClRate()).setScale(2, RoundingMode.HALF_UP).doubleValue()); ealist.add(eqmAssessment); } } for (Object object : list) { eqmAssessment = new EqmAssessment(); Object[] o = (Object[]) object; eqmAssessment.setSystem(o[1].toString()); List plan = filterCountDaoI.queryBySql(isqlp, 2,assessmentBean.getDate(),o[0].toString()); if (plan!=null&&plan.size() > 0&&Integer.valueOf(plan.get(0).toString())>0) { eqmAssessment.setPlanCheckNum(Integer.valueOf(plan.get(0).toString())); List actual = filterCountDaoI.queryBySql(isqls, 2,assessmentBean.getDate(),o[0].toString()); eqmAssessment.setCheckType("5"); if (actual!=null&&actual.size()>0) { eqmAssessment.setActualCheckNum(Integer.valueOf(actual.get(0).toString())); }else{ eqmAssessment.setActualCheckNum(0); } eqmAssessment.setClRate(Double.valueOf(eqmAssessment.getActualCheckNum())/eqmAssessment.getPlanCheckNum()*100); eqmAssessment.setClRate(new BigDecimal(eqmAssessment.getClRate()).setScale(2, RoundingMode.HALF_UP).doubleValue()); ealist.add(eqmAssessment); } } } } assessmentBean.setTotalAmount( Double.valueOf(filterCountDaoI.queryBySql("select sum(REPAIRAMOUNT) from EQM_WKSHOP_ASSESSMENT where WORKSHOP = ?", bean.getWorkShop()).get(0).toString())); assessmentBean.setList(ealist); WorkOrderStatChangeInterceptor.getInstance().DASSendWkshopAssessment(assessmentBean); bean.setIsFeedback("1"); bean.setFeedbacker(user); bean.setFeedbackTime(new Date()); FillUserInfoUtil.fillUpdateUserInfo(bean,request); } } @LogAnno(operateType = "批量删除车间") @Override public void batchDeleteFilterCount(String ids) { String[] split = ids.split(","); try { for (int i = 0; i