package cn.com.lzt.projarrangedetail.service.impl; import cn.com.lzt.arrangeduty.service.ArrangeDutyServiceI; import cn.com.lzt.arrangedutyoperate.dto.ArrangeDutyOperateDto; import cn.com.lzt.arrangedutyoperate.entity.ArrangeDutyOperateEntity; import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI; import cn.com.lzt.calendar.dto.CalendarAscDto; import cn.com.lzt.calendar.service.CalendarServiceI; import cn.com.lzt.projarrangedetail.dao.ProjArrangeDetailAndUserMiniDao; import cn.com.lzt.projarrangedetail.dao.UserAndShiftMiniDao; import cn.com.lzt.projarrangedetail.dao.UserArrangeCalendarMiniDao; import cn.com.lzt.projarrangedetail.dto.ProjArrangeDetailAndUserDto; import cn.com.lzt.projarrangedetail.dto.UserAndShiftDto; import cn.com.lzt.projarrangedetail.dto.UserArrangeCalendarDto; import cn.com.lzt.projarrangedetail.entity.ProjarrangeDetailEntity; import cn.com.lzt.projarrangedetail.projectarrangecommonmethod.ProjectArrangeCommonMethod; import cn.com.lzt.projarrangedetail.service.ProjarrangeDetailServiceI; import cn.com.lzt.projarrangegeneral.entity.ProjArrangeGeneralEntity; import cn.com.lzt.projarrangegeneral.service.ProjArrangeGeneralServiceI; import cn.com.lzt.userarrangedetail.dto.UserArrangeDetailDto; import cn.com.lzt.userarrangedetail.service.UserArrangeDetailServiceI; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.ApplicationContextUtil; import org.jeecgframework.core.util.JeecgDataAutorUtils; import org.jeecgframework.core.util.MyClassLoader; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.minidao.annotation.Arguments; import org.jeecgframework.minidao.annotation.ResultType; import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.validation.Validator; import java.io.Serializable; import java.util.*; @Service("projarrangeDetailService") @Transactional public class ProjarrangeDetailServiceImpl extends CommonServiceImpl implements ProjarrangeDetailServiceI { @Autowired ProjArrangeDetailAndUserMiniDao projArrangeDetailAndUserMiniDao; @Autowired UserArrangeCalendarMiniDao userArrangeCalendarMiniDao; //日历表 @Autowired private CalendarServiceI calendarService; //员工排班详情表 @Autowired private UserArrangeDetailServiceI userArrangeDetailService; //班次表 @Autowired private ArrangeDutyServiceI arrangeDutyService; //项目排班总览表 @Autowired private ProjArrangeGeneralServiceI projArrangeGeneralService; //排班操作表 @Autowired private ArrangeDutyOperateServiceI arrangeDutyOperateService; @Autowired private SystemService systemService; @Autowired private Validator validator; //项目排班自己总结公共方法; //ProjectArrangeCommonMethod commonMethod; // 验证轮流值班是否可行 @Autowired UserAndShiftMiniDao userAndShiftMiniDao; public void delete(ProjarrangeDetailEntity entity) throws Exception{ super.delete(entity); //执行删除操作增强业务 this.doDelBus(entity); } public Serializable save(ProjarrangeDetailEntity entity) throws Exception{ Serializable t = super.save(entity); //执行新增操作增强业务 this.doAddBus(entity); return t; } public void saveOrUpdate(ProjarrangeDetailEntity entity) throws Exception{ super.saveOrUpdate(entity); //执行更新操作增强业务 this.doUpdateBus(entity); } /** * 新增操作增强业务 * @param t * @return */ private void doAddBus(ProjarrangeDetailEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 更新操作增强业务 * @param t * @return */ private void doUpdateBus(ProjarrangeDetailEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 删除操作增强业务 * @param id * @return */ private void doDelBus(ProjarrangeDetailEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } private Map populationMap(ProjarrangeDetailEntity t){ Map map = new HashMap(); map.put("id", t.getId()); map.put("yearmonth", t.getYearmonth()); map.put("projarrange_generalid", t.getProjarrangeGeneralid()); map.put("pid", t.getPid()); map.put("pjt_postid", t.getPjtPostId()); map.put("userid", t.getUserid()); map.put("working_days", t.getWorkingDays()); map.put("timeout_overtime_hours", t.getTimeOutOvertimeHours()); map.put("country_overtime_hours", t.getCountryOvertimeHours()); map.put("onduty_days", t.getOndutyDays()); map.put("remark", t.getRemark()); map.put("create_name", t.getCreateName()); map.put("create_by", t.getCreateBy()); map.put("create_date", t.getCreateDate()); map.put("update_name", t.getUpdateName()); map.put("update_by", t.getUpdateBy()); map.put("update_date", t.getUpdateDate()); map.put("sys_org_code", t.getSysOrgCode()); map.put("sys_company_code", t.getSysCompanyCode()); return map; } /** * 替换sql中的变量 * @param sql * @param t * @return */ public String replaceVal(String sql,ProjarrangeDetailEntity t){ sql = sql.replace("#{id}",String.valueOf(t.getId())); sql = sql.replace("#{yearmonth}",String.valueOf(t.getYearmonth())); sql = sql.replace("#{pid}",String.valueOf(t.getPid())); sql = sql.replace("#{projarrange_generalid}",String.valueOf(t.getProjarrangeGeneralid())); sql = sql.replace("#{pjt_postid}",String.valueOf(t.getPjtPostId())); sql = sql.replace("#{userid}",String.valueOf(t.getUserid())); sql = sql.replace("#{working_days}",String.valueOf(t.getWorkingDays())); sql = sql.replace("#{timeout_overtime_hours}",String.valueOf(t.getTimeOutOvertimeHours())); sql = sql.replace("#{country_overtime_hours}",String.valueOf(t.getCountryOvertimeHours())); sql = sql.replace("#{onduty_days}",String.valueOf(t.getOndutyDays())); sql = sql.replace("#{remark}",String.valueOf(t.getRemark())); sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName())); sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy())); sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate())); sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName())); sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy())); sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate())); sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode())); sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode())); sql = sql.replace("#{UUID}",UUID.randomUUID().toString()); return sql; } /** * 执行JAVA增强 */ private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map data) throws Exception { if(StringUtil.isNotEmpty(cgJavaValue)){ Object obj = null; try { if("class".equals(cgJavaType)){ //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断 obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance(); }else if("spring".equals(cgJavaType)){ obj = ApplicationContextUtil.getContext().getBean(cgJavaValue); } if(obj instanceof CgformEnhanceJavaInter){ CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj; javaInter.execute("t_bus_projarrange_detail",data); } } catch (Exception e) { e.printStackTrace(); throw new Exception("执行JAVA增强出现异常!"); } } } @Override public List getProjArrangeDetailAndUserByPIdYearMonth( ProjArrangeDetailAndUserDto projArrangeDetailAndUserDto, String authSql) { return projArrangeDetailAndUserMiniDao.getProjArrangeDetailAndUserByPIdYearMonth(projArrangeDetailAndUserDto, authSql); } @Override public List getUserArrangeCalendar( UserArrangeCalendarDto userArrangeCalendarDto,String authSql) { // TODO Auto-generated method stub return userArrangeCalendarMiniDao.getUserArrangeCalendar(userArrangeCalendarDto, authSql); } @Override public List getProjArrangeDetailAndUserByUserIdListYearMonth( ProjArrangeDetailAndUserDto projArrangeDetailAndUserDto, String authSql) { // TODO Auto-generated method stub return projArrangeDetailAndUserMiniDao.getProjArrangeDetailAndUserByUserIdListYearMonth(projArrangeDetailAndUserDto, authSql); } @Override public List getArrangeDutyOperateData(String ids) { List arrangeDutyOperateIdList=new ArrayList(); if(ids!=null&&ids.length()!=0){ for (int i = 0; i < ids.split(",").length; i++) { arrangeDutyOperateIdList.add(ids.split(",")[i]); } } ArrangeDutyOperateDto arrangeDutyOperateDto=new ArrangeDutyOperateDto(); arrangeDutyOperateDto.setArrangeDutyOperateIdList(arrangeDutyOperateIdList); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List arrangeDutyOperateDtoList = arrangeDutyOperateService.getArrangeDutyOperateDtoByListId(arrangeDutyOperateDto, authSql); return arrangeDutyOperateDtoList; } @Override public List getMonthWorkByUserIdList(ArrangeDutyOperateDto arrangeDutyOperateDto, String yearmonth) { //根据月度查出前一个月最后一天日期id== CalendarAscDto calendarAscDto=new CalendarAscDto(); String preYearMonth=""; int year=Integer.parseInt(yearmonth.split("-")[0]); int month=Integer.parseInt(yearmonth.split("-")[1]); if(!yearmonth.split("-")[1].equals("01")){ month=month-1; calendarAscDto.setYear(year); calendarAscDto.setMonth(month); }else{ year=year-1; month=12; calendarAscDto.setYear(year); calendarAscDto.setMonth(month); } String strYear=String.valueOf(year); String strMonth=String.valueOf(month).length()==1?"0"+String.valueOf(month):String.valueOf(month); preYearMonth=strYear+"-"+strMonth; List calendarAscDtoListPrevMonth=getCalendar(calendarAscDto); if(calendarAscDtoListPrevMonth.size()==0){ return null; } //根据月度查出日期id== //得到前一个月最后两天日历id List calendarIdList=new ArrayList(); calendarIdList.add(calendarAscDtoListPrevMonth.get(calendarAscDtoListPrevMonth.size()-1).getId()); //得到需要排班的所有用户id List userIdList=ProjectArrangeCommonMethod.extractIdListByComma(arrangeDutyOperateDto.getUserid()); UserArrangeDetailDto userArrangeDetailDto=new UserArrangeDetailDto(); userArrangeDetailDto.setUserIdList(userIdList); userArrangeDetailDto.setCalendarIdList(calendarIdList); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); //得到已选择用户上个月所有信息; List userArrangeDetailDtoList=new ArrayList(); userArrangeDetailDtoList=userArrangeDetailService.getMonthWorkByUserId(userArrangeDetailDto, authSql); for (int i = 0; i < userArrangeDetailDtoList.size(); i++) { userArrangeDetailDtoList.get(i).setPreMonthLastShiftType(userArrangeDetailDtoList.get(i).getDutyType()); } calendarIdList.clear(); calendarIdList.add(calendarAscDtoListPrevMonth.get(calendarAscDtoListPrevMonth.size()-2).getId()); userArrangeDetailDto.setCalendarIdList(calendarIdList); List userArrangeDetailDtoList2=userArrangeDetailService.getMonthWorkByUserId(userArrangeDetailDto, authSql); for (int i = 0; i < userArrangeDetailDtoList.size(); i++) { for (int j = 0; j < userArrangeDetailDtoList2.size(); j++) { if(userArrangeDetailDtoList.get(i).getUserid().equals(userArrangeDetailDtoList2.get(j).getUserid())){ userArrangeDetailDtoList.get(i).setPreMonthLastSecondShiftType(userArrangeDetailDtoList2.get(j).getDutyType()); } } } if(userArrangeDetailDtoList.size()==0){ return null; } //查找上个月的运转方式========== //根据月度查询项目排班操作表数据 StringBuffer hql = new StringBuffer(" from ArrangeDutyOperateEntity t where t.yearmonth=? "); List arrangeDutyOperateList = this.findHql(hql.toString() , preYearMonth); for (int i = 0; i < userArrangeDetailDtoList.size(); i++) { for (int j = 0; j < arrangeDutyOperateList.size(); j++) { List arrangeDutyOperateUserIdList=ProjectArrangeCommonMethod.extractIdListByComma(arrangeDutyOperateList.get(j).getUserid()); if(arrangeDutyOperateUserIdList.contains(userArrangeDetailDtoList.get(i).getUserid())){ userArrangeDetailDtoList.get(i).setPreMonthRunWay(arrangeDutyOperateList.get(j).getRunway()); break; } } } //查找上个月的运转方式========== return userArrangeDetailDtoList; } @Override public List getCalendar(CalendarAscDto calendarAscDto) { String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List list=calendarService.getCalendarAsc(calendarAscDto, authSql); return list; } /*@Override public AjaxJson saveOndutyArrangeDutyOperate(String onDutyOperateId, String yearmonth, String pid, String arrangeDutyStatus) { AjaxJson j = new AjaxJson(); Map failMap=new HashMap(); //根据月度排班操作页面的添加和编辑操作值班排班-- if(onDutyOperateId!=null&&onDutyOperateId.length()>0){ //查询值班操作表所有数据,并获得需要值班排班的数据 StringBuffer hql = new StringBuffer(" FROM OnDutyOperateEntity odoe where odoe.yearmonth=? "); List onDutyOperateEntityList = findHql(hql.toString(),yearmonth); List onDutyOperateEntityListNew=new ArrayList(); List onDutyOperateIdList=ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateId); for (int i = 0; i < onDutyOperateEntityList.size(); i++) { for (int k = 0; k < onDutyOperateIdList.size(); k++) { if(onDutyOperateIdList.get(k).equals(onDutyOperateEntityList.get(i).getId())){ onDutyOperateEntityListNew.add(onDutyOperateEntityList.get(i)); break; } } } for (int i = 0; i < onDutyOperateEntityListNew.size(); i++) { //根据月度查出日期id== CalendarAscDto calendarAscDto=new CalendarAscDto(); calendarAscDto.setYear(Integer.parseInt(yearmonth.split("-")[0])); calendarAscDto.setMonth(Integer.parseInt(yearmonth.split("-")[1])); List calendarAscDtoList=getCalendar(calendarAscDto); List calendarAscDtoListNew=new ArrayList(); //根据所选时间段并去除周一至周五 for (int r = 0; r < calendarAscDtoList.size(); r++) { if(calendarAscDtoList.get(r).getDay()>=Integer.parseInt(onDutyOperateEntityListNew.get(i).getArrangeStime().split("-")[2])&& calendarAscDtoList.get(r).getDay()<=Integer.parseInt(onDutyOperateEntityListNew.get(i).getArrangeEtime().split("-")[2])){ if(String.valueOf(calendarAscDtoList.get(r).getWeek()).equals(Globals.week_6)||String.valueOf(calendarAscDtoList.get(r).getWeek()).equals(Globals.week_7)){ if(!calendarAscDtoList.get(r).getDtype().equals(Globals.dtype_2)){ calendarAscDtoListNew.add(calendarAscDtoList.get(r)); } } } } //根据月度查出日期id== //用户id List userIdList = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityListNew.get(i).getUserid()); //查询项目排班详细表数据 hql = new StringBuffer(" FROM ProjarrangeDetailEntity odoe where odoe.yearmonth=? "); List projarrangeDetailEntityList = findHql(hql.toString(),yearmonth); List projarrangeDetailEntityListNew=new ArrayList(); //匹配已经排班的用户 for (int e = 0; e < projarrangeDetailEntityList.size(); e++) { for (int k = 0; k < userIdList.size(); k++) { if(userIdList.get(k).equals(projarrangeDetailEntityList.get(e).getUserid())){ projarrangeDetailEntityListNew.add(projarrangeDetailEntityList.get(e)); break; } } } //把班次id放入班次list中查询班次信息=================== ArrangeDutyDto arrangeDutyDto=new ArrangeDutyDto(); arrangeDutyDto.getArrangeDutyIdList().addAll(ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityListNew.get(i).getShiftid())); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List arrangeDutyDtoList = arrangeDutyService.getArrangeDutyByIdList(arrangeDutyDto, authSql); //轮流值班加班只有一个班次 String shiftType=arrangeDutyDtoList.get(0).getDutyType(); //把班次id放入班次list中查询班次信息==================== //出勤时间 String[] attendanceCycle=ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperateEntityListNew.get(i).getAttendanceCycle()).split(","); int ondutyDays;//值班 BigDecimal timeOutOvertimeHours;//超时加班 //BigDecimal countryOvertimeHours;//国定加班 int x;//记录每天,一天一班次 //循环班次人员 for (int m = 0; m < projarrangeDetailEntityListNew.size(); m++) { j=checkOndutyArrangeOperate(projarrangeDetailEntityListNew.get(m),calendarAscDtoListNew,failMap); if(j.getAttributes().size()!=0){ continue; } //countryOvertimeHours=BigDecimal.ZERO; timeOutOvertimeHours=projarrangeDetailEntityListNew.get(m).getTimeOutOvertimeHours(); ondutyDays=0; x=0; Map myMap=new HashMap(); //循环班次 for (int n = 0; n < arrangeDutyDtoList.size(); n++) { //循环日期 for (int l = x; l < calendarAscDtoListNew.size(); l++) { //循环出勤时间 for (int k = 0; k < attendanceCycle.length; k++) { if(!calendarAscDtoList.get(i).getDtype().equals(Globals.dtype_2)&&calendarAscDtoListNew.get(l).getWeek().equals(attendanceCycle[k])){ myMap.put(calendarAscDtoListNew.get(l).getId(), arrangeDutyDtoList.get(n).getId()); if(arrangeDutyDtoList.get(n).getTimeOutOvertimeHours()!=null){ timeOutOvertimeHours=timeOutOvertimeHours.add(arrangeDutyDtoList.get(n).getTimeOutOvertimeHours()); } ondutyDays++; break; } } //如果这一天没有匹配出勤时间则为休息8e31bf3fb6e6473e9f89dcdb958b145b if(!myMap.containsKey(calendarAscDtoListNew.get(l).getId())){ myMap.put(calendarAscDtoListNew.get(l).getId(), Globals.DUTYTYPE_xiuxi_id); --n; } x=l+1; break; } if(x!=calendarAscDtoListNew.size()){ if(n== arrangeDutyDtoList.size()-1){ n=-1; } }else{ break; } } System.out.println(myMap); if(shiftType.equals(Globals.DUTYTYPE_jiaban)){ if(timeOutOvertimeHours!=null){ projarrangeDetailEntityListNew.get(m).setTimeOutOvertimeHours(timeOutOvertimeHours); if(projarrangeDetailEntityListNew.get(m).getCountryOvertimeHours()==null){ projarrangeDetailEntityListNew.get(m).setCountryOvertimeHours(new BigDecimal("0")); } } }else if(shiftType.equals(Globals.DUTYTYPE_zhiban)){ projarrangeDetailEntityListNew.get(m).setOndutyDays(new BigDecimal(ondutyDays)); if(projarrangeDetailEntityListNew.get(m).getCountryOvertimeHours()==null){ projarrangeDetailEntityListNew.get(m).setCountryOvertimeHours(new BigDecimal("0")); } } //projarrangeDetailEntityListNew.get(m).setCountryOvertimeHours(projarrangeDetailEntityListNew.get(m).getTimeOutOvertimeHours().add(countryOvertimeHours)); try { //更新项目排班详细表 this.saveOrUpdate(projarrangeDetailEntityListNew.get(m)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } UserArrangeDetailEntity userArrangeDetailEntity=new UserArrangeDetailEntity(); for (Entry entryParam : myMap.entrySet()) { //System.out.println("key="+entryParam.getKey()+",value="+entryParam.getValue()); hql = new StringBuffer(" FROM UserArrangeDetailEntity uad where uad.calendarid=? and uad.projarrangeDetailid=? "); List userArrangeDetailEntityList = findHql(hql.toString(),entryParam.getKey(),projarrangeDetailEntityListNew.get(m).getId()); userArrangeDetailEntity.setId(userArrangeDetailEntityList.get(0).getId()); userArrangeDetailEntity.setCalendarid(entryParam.getKey()); userArrangeDetailEntity.setShiftid(entryParam.getValue().toString()); userArrangeDetailEntity.setProjarrangeDetailid(projarrangeDetailEntityListNew.get(m).getId()); //更新员工排班详情表 j=saveUserArrangeDetail(userArrangeDetailEntity); } } } } if(failMap.size()!=0){ j.setMsg(failMap.get("failData")+"在所选日期范围已有排班"); } return j; }*/ /** * 轮流值班加班排班方法 * 多个人批量循环排班 * @author zbw * 2017-11-22 * @return */ /** * 轮流值班/加班验证 * 是否在该时间段排过班 * @author zbw * 2017-11-22 * @param projarrangeDetailEntity * @param calendarAscDtoListNew * @param failMap * @return */ public AjaxJson checkOndutyArrangeOperate(String projarrangeDetailid,List calendarAscDtoList,Map failMap){ AjaxJson j = new AjaxJson(); UserAndShiftDto userAndShiftDto=new UserAndShiftDto(); userAndShiftDto.setProjarrangeDetailid(projarrangeDetailid); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List userAndShiftDtoList=getUserAndShift(userAndShiftDto, authSql); List userAndShiftDtoListNew=new ArrayList(); for (int i = 0; i < userAndShiftDtoList.size(); i++) { for (int k = 0; k < calendarAscDtoList.size(); k++) { if(calendarAscDtoList.get(k).getId().equals(userAndShiftDtoList.get(i).getCalendarid())){ userAndShiftDtoListNew.add(userAndShiftDtoList.get(i)); break; } } } boolean flag= true; String realname=""; for (int i = 0; i < userAndShiftDtoListNew.size(); i++) { realname=userAndShiftDtoListNew.get(0).getRealname(); if(userAndShiftDtoListNew.get(i).getShiftType().equals(Globals.DUTYTYPE_CHANGBAN8H) ||userAndShiftDtoListNew.get(i).getShiftType().equals(Globals.DUTYTYPE_riban11h) ||userAndShiftDtoListNew.get(i).getShiftType().equals(Globals.DUTYTYPE_yeban115) ||userAndShiftDtoListNew.get(i).getShiftType().equals(Globals.DUTYTYPE_zhiban) ||userAndShiftDtoListNew.get(i).getShiftType().equals(Globals.DUTYTYPE_jiaban)){ flag= false; } } if(flag==false){ if(failMap.size()==0){ failMap.put("failData", realname); }else{ failMap.put("failData", failMap.get("failData")+","+realname); } } j.setAttributes(failMap); return j; } @Override @Arguments({ "userAndShiftDto", "authSql" }) @ResultType(UserAndShiftDto.class) public List getUserAndShift( UserAndShiftDto userAndShiftDto, String authSql) { // TODO Auto-generated method stub return userAndShiftMiniDao.getUserAndShift(userAndShiftDto, authSql); } @Override public AjaxJson checkMonthArrangeDutyStatus(String pid, String yearmonth) { AjaxJson j = new AjaxJson(); String message=""; StringBuffer hql = new StringBuffer(" from ProjArrangeGeneralEntity t where 1=1 "); hql.append(" and t.yearmonth =? and t.belongUnitid=? "); List projArrangeGeneralEntityList = projArrangeGeneralService.findHql(hql.toString(),yearmonth,pid); if(projArrangeGeneralEntityList.size()>0){ if(projArrangeGeneralEntityList.get(0).getArrangeDutyStatus().equals(Globals.ARRANGESTATUS_0)){//未上报 message="0"; }else if(projArrangeGeneralEntityList.get(0).getArrangeDutyStatus().equals(Globals.ARRANGESTATUS_1)){//未确认 message="1"; }else if(projArrangeGeneralEntityList.get(0).getArrangeDutyStatus().equals(Globals.ARRANGESTATUS_2)){//已确认 message="2"; } } j.setMsg(message); return j; } }