package com.shlanbao.tzsc.pms.sch.calendar.service.impl; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import com.shlanbao.tzsc.utils.tools.DateUtil; 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.SchCalendarDaoI; import com.shlanbao.tzsc.base.mapping.MdShift; import com.shlanbao.tzsc.base.mapping.MdTeam; import com.shlanbao.tzsc.base.mapping.SchCalendar; import com.shlanbao.tzsc.base.service.BaseService; import com.shlanbao.tzsc.pms.sch.calendar.beans.CalendarBean; import com.shlanbao.tzsc.pms.sch.calendar.service.CalendarServiceI; import com.shlanbao.tzsc.utils.tools.BeanConvertor; import freemarker.template.utility.StringUtil; import javax.servlet.http.HttpServletRequest; @Service public class CalendarServiceImpl extends BaseService implements CalendarServiceI{ @Autowired private SchCalendarDaoI schCalendarDao; @Autowired private HttpServletRequest request; @Override public List getCurMonthCalendars(String date, String workshop) throws Exception { /* String hql = "from SchCalendar o left join fetch o.mdTeam t left join fetch o.mdShift s where 1=1 and to_char(o.date,'yyyy-mm')='"+date.substring(0, 7)+"' and o.mdWorkshop.code='"+workshop+"' order by o.mdShift.code asc"; List list=schCalendarDao.query(hql);*/ StringBuffer sb=new StringBuffer("select ms.name as shiftName,mt.name as teamName, "); sb.append("sc.id,to_char(sc.date_,'yyyy-mm-dd') ,to_char(sc.stim,'yyyy-mm-dd hh24:mi:ss') ,to_char(sc.etim,'yyyy-mm-dd hh24:mi:ss'),sc.workshop "); sb.append("from sch_calendar sc "); sb.append("left join md_shift ms on ms.id=sc.shift "); sb.append("left join md_team mt on mt.id=sc.team "); sb.append("where to_char(sc.date_,'yyyy-mm')='"+date.substring(0, 7)+"' "); sb.append("and sc.workshop='"+workshop+"' "); sb.append("order by ms.code asc"); List ls=schCalendarDao.queryBySql(sb.toString()); List calendarBeans=new ArrayList(); CalendarBean calendarBean = null; Object[] str=null; if(ls!=null && ls.size()>0){ for (Object obj : ls) { calendarBean=new CalendarBean(); str=(Object[]) obj; calendarBean.setShift(StringUtil.tryToString(str[0])); calendarBean.setTeam(StringUtil.tryToString(str[1])); calendarBean.setId(StringUtil.tryToString(str[2])); calendarBean.setDate(StringUtil.tryToString(str[3])); calendarBean.setStim(StringUtil.tryToString(str[4])); calendarBean.setEtim(StringUtil.tryToString(str[5])); calendarBean.setWorkshop(StringUtil.tryToString(str[6])); calendarBeans.add(calendarBean); calendarBean = null; } } return calendarBeans; } @LogAnno(operateType = "更新选择日期的排班") @Override public void updateSelectDate(Map param) { for(int i = 0 ; i< 3 ;i++){ if(param.containsKey("id"+i)){ SchCalendar calendar = schCalendarDao.findById(SchCalendar.class, param.get("id" + i)); Date sdate = DateUtil.formatStringToDate(param.get("stime" + i), "yyyy-MM-dd HH:mm:ss"); Date edate = DateUtil.formatStringToDate(param.get("etime" + i), "yyyy-MM-dd HH:mm:ss"); calendar.setStim(sdate); calendar.setEtim(edate); FillUserInfoUtil.fillUpdateUserInfo(calendar,request); schCalendarDao.update(calendar); } } } @Override public List getNowCalendars() { return schCalendarDao.query("from SchCalendar o where sysdate between o.stim and o.etim"); } }