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<CalendarBean> 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<SchCalendar> 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<CalendarBean> calendarBeans=new ArrayList<CalendarBean>();
|
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<String, String> 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<SchCalendar> getNowCalendars() {
|
return schCalendarDao.query("from SchCalendar o where sysdate between o.stim and o.etim");
|
}
|
}
|