package cn.com.lzt.ondutyoperate.controller; import cn.com.lzt.arrangeduty.dto.ArrangeDutyDto; import cn.com.lzt.arrangeduty.dto.MealsSubsidyDto; import cn.com.lzt.arrangeduty.service.ArrangeDutyServiceI; import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto; import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI; import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI; import cn.com.lzt.ondutyoperate.entity.OnDutyOperateEntity; import cn.com.lzt.ondutyoperate.service.OnDutyOperateServiceI; import cn.com.lzt.projarrangedetail.entity.ProjarrangeDetailEntity; import org.apache.log4j.Logger; import org.jeecgframework.core.beanvalidator.BeanValidators; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.*; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.util.UriComponentsBuilder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.ConstraintViolation; import javax.validation.Validator; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; /** * @Title: Controller * @Description: 值班操作表 * @author onlineGenerator * @date 2017-11-16 18:35:35 * @version V1.0 * */ @Controller @RequestMapping("/onDutyOperateController") public class OnDutyOperateController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(OnDutyOperateController.class); @Autowired private OnDutyOperateServiceI onDutyOperateService; @Autowired private SystemService systemService; @Autowired private Validator validator; //班次表 @Autowired private ArrangeDutyServiceI arrangeDutyService; //公共方法类 @Autowired private CommonService commonService; //排班操作表 @Autowired private ArrangeDutyOperateServiceI arrangeDutyOperateService; // 用户和项目关系处理 @Autowired UserDepartOrgDealServiceI userDepartOrgDealServiceI; /** * 值班操作表列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { request.setAttribute("yearmonth", request.getParameter("yearmonth")); request.setAttribute("pid", request.getParameter("pid")); return new ModelAndView("cn/com/lzt/ondutyoperate/onDutyOperateList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid * @param user */ @RequestMapping(params = "datagrid") public void datagrid(OnDutyOperateEntity onDutyOperate,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { /*CriteriaQuery cq = new CriteriaQuery(OnDutyOperateEntity.class, dataGrid); //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onDutyOperate, request.getParameterMap()); try{ //自定义追加查询条件 }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.onDutyOperateService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid);*/ String pid=request.getParameter("pid"); if(pid!=null&&pid.length()!=0){ pid=pid.split(",")[0]; } String yearmonth=request.getParameter("yearmonth"); /*//根据项目pid获取所有的userid;-- //根据项目id查询所有子节点id//包括该项目id List ChildIdList=userDepartOrgDealServiceI.getChildIdByProjectDepartId(pid); UserAndUserPersonnelDto userAndUserPersonnelDto=new UserAndUserPersonnelDto(); userAndUserPersonnelDto.setChildDepartIdList(ChildIdList); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List listUserAndUserPersonnelDto = arrangeDutyOperateService.getUserAndUserPersonnelNoPage(userAndUserPersonnelDto,authSql); List userIdList=new ArrayList(); for (int i = 0; i < listUserAndUserPersonnelDto.size(); i++) { userIdList.add(listUserAndUserPersonnelDto.get(i).getUserid()); } //根据项目pid获取所有的userid;-- List onDutyOperateEntityListNew=new ArrayList(); //查询值班操作表所有数据,根据项目pid匹配userid,然后获取排班操作表id== StringBuffer hql = new StringBuffer(" FROM OnDutyOperateEntity where yearmonth=? "); List onDutyOperateEntityList = commonService.findHql(hql.toString(),yearmonth); for (int i = 0; i < onDutyOperateEntityList.size(); i++) { List tempUserIDList=extractIdListByComma(onDutyOperateEntityList.get(i).getUserid()); for (int j = 0; j < tempUserIDList.size(); j++) { if(userIdList.contains(tempUserIDList.get(j))){ onDutyOperateEntityList.get(i).setArrangeStime(onDutyOperateEntityList.get(i).getArrangeStime()+"~"+onDutyOperateEntityList.get(i).getArrangeEtime()); onDutyOperateEntityListNew.add(onDutyOperateEntityList.get(i)); break; } } } //查询排班操作表所有数据,根据项目pid匹配userid,然后获取排班操作表id== */ //再匹配月度字段查出数据 StringBuffer hql = new StringBuffer(" FROM OnDutyOperateEntity where yearmonth=? and pid=? "); List onDutyOperateEntityList = commonService.findHql(hql.toString(),yearmonth,pid); for (int i = 0; i < onDutyOperateEntityList.size(); i++) { onDutyOperateEntityList.get(i).setArrangeStime(onDutyOperateEntityList.get(i).getArrangeStime()+"~"+onDutyOperateEntityList.get(i).getArrangeEtime()); } dataGrid.setResults(onDutyOperateEntityList); TagUtil.datagrid(response, dataGrid); } /** * 删除值班操作表 * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(OnDutyOperateEntity onDutyOperate,String pid, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); onDutyOperate = systemService.getEntity(OnDutyOperateEntity.class, onDutyOperate.getId()); message = "值班操作删除成功"; try{ if(pid!=null&&pid.length()>0){ pid=pid.split(",")[0]; } j=onDutyOperateService.deleteOnDutyOperate(onDutyOperate,pid); //onDutyOperateService.delete(onDutyOperate); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "值班操作删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 批量删除值班操作表 * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids,HttpServletRequest request){ String message = null; AjaxJson j = new AjaxJson(); message = "值班操作表删除成功"; try{ for(String id:ids.split(",")){ OnDutyOperateEntity onDutyOperate = systemService.getEntity(OnDutyOperateEntity.class, id ); onDutyOperateService.delete(onDutyOperate); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } }catch(Exception e){ e.printStackTrace(); message = "值班操作表删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 添加值班操作表 * * @param ids * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(OnDutyOperateEntity onDutyOperate, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "值班操作添加成功"; try{ onDutyOperateService.save(onDutyOperate); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "值班操作添加失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 更新值班操作表 * * @param ids * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(OnDutyOperateEntity onDutyOperate, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "值班操作更新成功"; OnDutyOperateEntity t = onDutyOperateService.get(OnDutyOperateEntity.class, onDutyOperate.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(onDutyOperate, t); onDutyOperateService.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "值班操作更新失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 值班操作表新增页面跳转 * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(OnDutyOperateEntity onDutyOperate, HttpServletRequest req) { if (StringUtil.isNotEmpty(onDutyOperate.getId())) { onDutyOperate = onDutyOperateService.getEntity(OnDutyOperateEntity.class, onDutyOperate.getId()); req.setAttribute("onDutyOperatePage", onDutyOperate); } return new ModelAndView("cn/com/lzt/ondutyoperate/onDutyOperate-add"); } /** * 值班操作表编辑页面跳转 * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(OnDutyOperateEntity onDutyOperate, HttpServletRequest req) { if (StringUtil.isNotEmpty(onDutyOperate.getId())) { onDutyOperate = onDutyOperateService.getEntity(OnDutyOperateEntity.class, onDutyOperate.getId()); req.setAttribute("onDutyOperatePage", onDutyOperate); } return new ModelAndView("cn/com/lzt/ondutyoperate/onDutyOperate-update"); } /** * 导入功能跳转 * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { req.setAttribute("controller_name","onDutyOperateController"); return new ModelAndView("common/upload/pub_excel_upload"); } /** * 导出excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public String exportXls(OnDutyOperateEntity onDutyOperate,HttpServletRequest request,HttpServletResponse response , DataGrid dataGrid,ModelMap modelMap) { CriteriaQuery cq = new CriteriaQuery(OnDutyOperateEntity.class, dataGrid); org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onDutyOperate, request.getParameterMap()); List onDutyOperates = this.onDutyOperateService.getListByCriteriaQuery(cq,false); modelMap.put(NormalExcelConstants.FILE_NAME,"值班操作"); modelMap.put(NormalExcelConstants.CLASS,OnDutyOperateEntity.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("值班操作列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(), "导出信息")); modelMap.put(NormalExcelConstants.DATA_LIST,onDutyOperates); return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 导出excel 使模板 * * @param request * @param response */ @RequestMapping(params = "exportXlsByT") public String exportXlsByT(OnDutyOperateEntity onDutyOperate,HttpServletRequest request,HttpServletResponse response , DataGrid dataGrid,ModelMap modelMap) { modelMap.put(NormalExcelConstants.FILE_NAME,"值班操作"); modelMap.put(NormalExcelConstants.CLASS,OnDutyOperateEntity.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("值班操作列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(), "导出信息")); modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList()); return NormalExcelConstants.JEECG_EXCEL_VIEW; } @SuppressWarnings("unchecked") @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); try { List listOnDutyOperateEntitys = ExcelImportUtil.importExcel(file.getInputStream(),OnDutyOperateEntity.class,params); for (OnDutyOperateEntity onDutyOperate : listOnDutyOperateEntitys) { onDutyOperateService.save(onDutyOperate); } j.setMsg("文件导入成功!"); } catch (Exception e) { j.setMsg("文件导入失败!"); logger.error(ExceptionUtil.getExceptionMessage(e)); }finally{ try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } @RequestMapping(method = RequestMethod.GET) @ResponseBody public List list() { List listOnDutyOperates=onDutyOperateService.getList(OnDutyOperateEntity.class); return listOnDutyOperates; } @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public ResponseEntity get(@PathVariable("id") String id) { OnDutyOperateEntity task = onDutyOperateService.get(OnDutyOperateEntity.class, id); if (task == null) { return new ResponseEntity(HttpStatus.NOT_FOUND); } return new ResponseEntity(task, HttpStatus.OK); } @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity create(@RequestBody OnDutyOperateEntity onDutyOperate, UriComponentsBuilder uriBuilder) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(onDutyOperate); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 try{ onDutyOperateService.save(onDutyOperate); } catch (Exception e) { e.printStackTrace(); return new ResponseEntity(HttpStatus.NO_CONTENT); } //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象. String id = onDutyOperate.getId(); URI uri = uriBuilder.path("/rest/onDutyOperateController/" + id).build().toUri(); HttpHeaders headers = new HttpHeaders(); headers.setLocation(uri); return new ResponseEntity(headers, HttpStatus.CREATED); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity update(@RequestBody OnDutyOperateEntity onDutyOperate) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(onDutyOperate); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 try{ onDutyOperateService.saveOrUpdate(onDutyOperate); } catch (Exception e) { e.printStackTrace(); return new ResponseEntity(HttpStatus.NO_CONTENT); } //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码. return new ResponseEntity(HttpStatus.NO_CONTENT); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable("id") String id) { onDutyOperateService.deleteEntityById(OnDutyOperateEntity.class, id); } /** * 班次选择 * 轮流值班 * 班次表列表 页面跳转 * * @return */ @RequestMapping(params = "arrangeDutySelectList") public ModelAndView arrangeDutySelectList(HttpServletRequest request) { request.setAttribute("ids", request.getParameter("ids")); request.setAttribute("pid", request.getParameter("pid")); return new ModelAndView("cn/com/lzt/ondutyoperate/arrangeDutySelectList"); } /** * 班次选择页面 * 轮流值班 * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid * @param user */ @RequestMapping(params = "arrangeDutyDatagrid") public void arrangeDutyDatagrid(ArrangeDutyDto arrangeDutyDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { if(arrangeDutyDto.getPid()!=null&&arrangeDutyDto.getPid().length()>0){ arrangeDutyDto.setPid(arrangeDutyDto.getPid().split(",")[0]); } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List arrangeDutyMinidaoDtoList = arrangeDutyService.getArrangeOnDutyNoPage(arrangeDutyDto,authSql); for (int i = 0; i < arrangeDutyMinidaoDtoList.size(); i++) { if(arrangeDutyMinidaoDtoList.get(i)!=null){ if(arrangeDutyMinidaoDtoList.get(i).getNormalworkStime()!=null &&arrangeDutyMinidaoDtoList.get(i).getNormalworkStime().length()!=0 &&arrangeDutyMinidaoDtoList.get(i).getNormalworkEtime()!=null &&arrangeDutyMinidaoDtoList.get(i).getNormalworkEtime().length()!=0){ //正常工作时间 String normalworkStime=arrangeDutyMinidaoDtoList.get(i).getNormalworkStime()+"-"+arrangeDutyMinidaoDtoList.get(i).getNormalworkEtime(); arrangeDutyMinidaoDtoList.get(i).setNormalworkStime(normalworkStime); } if(arrangeDutyMinidaoDtoList.get(i).getOndutyStime()!=null &&arrangeDutyMinidaoDtoList.get(i).getOndutyStime().length()!=0 &&arrangeDutyMinidaoDtoList.get(i).getOndutyEtime()!=null &&arrangeDutyMinidaoDtoList.get(i).getOndutyEtime().length()!=0){ //值班时间 String ondutyStime=arrangeDutyMinidaoDtoList.get(i).getOndutyStime()+"-"+arrangeDutyMinidaoDtoList.get(i).getOndutyEtime(); arrangeDutyMinidaoDtoList.get(i).setOndutyStime(ondutyStime); } if(arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeStime()!=null &&arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeStime().length()!=0 &&arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeEtime()!=null &&arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeEtime().length()!=0){ //超时加班时间 String Overtime=arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeStime()+"-"+arrangeDutyMinidaoDtoList.get(i).getTimeOutOvertimeEtime(); arrangeDutyMinidaoDtoList.get(i).setTimeOutOvertimeStime(Overtime); } //手动拼接班次餐补 if(arrangeDutyMinidaoDtoList.get(i).getDutyMealid()!=null&&arrangeDutyMinidaoDtoList.get(i).getDutyMealid().length()!=0){ String dutyMealid = arrangeDutyMinidaoDtoList.get(i).getDutyMealid(); List mealsSubsidyDtolist=getSubsidyInfo(dutyMealid); if(mealsSubsidyDtolist.size()>0){ String subsidyMoneyAndUnit=""; for (int j = 0; j < mealsSubsidyDtolist.size(); j++) { String strUnit=""; if(mealsSubsidyDtolist.get(j).getCalcuUnit().equals(Globals.CALCU_UNIT_dun)){ strUnit="元/顿"; }else if(mealsSubsidyDtolist.get(j).getCalcuUnit().equals(Globals.CALCU_UNIT_yue)){ strUnit="元/月"; }else if(mealsSubsidyDtolist.get(j).getCalcuUnit().equals(Globals.CALCU_UNIT_ci)){ strUnit="元/次"; } if(subsidyMoneyAndUnit.length()>0){ subsidyMoneyAndUnit+=","+mealsSubsidyDtolist.get(j).getSubsidyMoney()+strUnit; }else{ subsidyMoneyAndUnit=mealsSubsidyDtolist.get(j).getSubsidyMoney()+strUnit; } } arrangeDutyMinidaoDtoList.get(i).setSubsidyMoneyAndUnit(subsidyMoneyAndUnit); } } } } //dataGrid.setTotal(list.getTotal()); dataGrid.setResults(arrangeDutyMinidaoDtoList); TagUtil.datagrid(response, dataGrid); } /** * 根据id查询餐费补贴表信息 * @author zbw * 2017-11-1 * @param request * @param response * @return */ @RequestMapping(params = "getSubsidyInfo") @ResponseBody public List getSubsidyInfo(String dutyMealid) { List mealsSubsidyDtolist=new ArrayList(); //String dutyMealid = request.getParameter("id"); if(dutyMealid.length()==0){ return mealsSubsidyDtolist; } MealsSubsidyDto mealsSubsidyDto=new MealsSubsidyDto(); //班次餐补id List mealsSubsidyIdList=extractIdListByComma(dutyMealid); if(mealsSubsidyIdList.size()>0){ mealsSubsidyDto.setMealsSubsidyIdList(mealsSubsidyIdList); } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); //查询项目排班详细表数据 List MealsSubsidyDtolist = arrangeDutyService.getMealsSubsidyByIdList( mealsSubsidyDto,authSql); return MealsSubsidyDtolist; } /** * 班次员工选择 * 轮流值班 * 员工表列表 页面跳转 * * @return */ @RequestMapping(params = "personnelBaseArchivesManageSelectList") public ModelAndView personnelBaseArchivesManageSelectList(HttpServletRequest request) { request.setAttribute("userid", request.getParameter("userid")); request.setAttribute("pid", request.getParameter("pid")); request.setAttribute("yearmonth", request.getParameter("yearmonth")); return new ModelAndView("cn/com/lzt/ondutyoperate/personnelBaseArchivesManageSelectList"); } /** * 查询班次人员弹窗 * 轮流值班 * @author zbw * 2017-11-5 * @param userAndUserPersonnelDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "getPersonnelBaseArchivesManageInfo") public void getPersonnelBaseArchivesManageInfo(UserAndUserPersonnelDto userAndUserPersonnelDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // //extractIdListByComma // //获取当前选中的userid-- // List useridListPart=new ArrayList(); // if(userAndUserPersonnelDto.getUserid()!=null&&userAndUserPersonnelDto.getUserid().length()!=0){ // useridListPart=extractIdListByComma(userAndUserPersonnelDto.getUserid()); // } // //获取当前选中的userid-- // // // //查询值班操作表所有数据,并获取所有的userid== // StringBuffer hql = new StringBuffer(" FROM OnDutyOperateEntity odoe where odoe.yearmonth=? "); // List onDutyOperateEntityList = commonService.findHql(hql.toString(),userAndUserPersonnelDto.getYearmonth()); // List useridListAll=new ArrayList(); //// for (int i = 0; i < onDutyOperateEntityList.size(); i++) { //// if(onDutyOperateEntityList.get(i).getUserid()!=null&&onDutyOperateEntityList.get(i).getUserid().length()!=0){ //// useridListAll.addAll(extractIdListByComma(onDutyOperateEntityList.get(i).getUserid())); //// } //// } // //查询值班操作表所有数据,并获取所有的userid== // // //获取当前要排除的userid // //useridListAll.removeAll(useridListPart); // // //根据项目pid查询所有可选用户,包括当前已选择的方便编辑;== // if(userAndUserPersonnelDto.getPid()!=null&&userAndUserPersonnelDto.getPid().length()!=0){ // userAndUserPersonnelDto.setPid(userAndUserPersonnelDto.getPid().split(",")[0]); // } // // //拿到项目id,根据项目排班总览表,项目排班详细表,查询已经排班的员工,再排除已经值班过得员工,返回页面 // // userAndUserPersonnelDto.setUserIdList(useridListAll); // String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); // List listUserAndUserPersonnelDto = arrangeDutyOperateService.getOnDutyUserAndUserPersonnelNoPage(userAndUserPersonnelDto,authSql); // // // //根据项目pid查询所有可选用户,包括当前已选择的方便编辑;== if(userAndUserPersonnelDto.getPid()!=null&&userAndUserPersonnelDto.getPid().length()!=0){ userAndUserPersonnelDto.setPid(userAndUserPersonnelDto.getPid().split(",")[0]); } /*//查询排班操作表所有数据,并获取所有的userid== StringBuffer hql = new StringBuffer(" FROM ArrangeDutyOperateEntity adoe where adoe.yearmonth=? and adoe.pid=? "); List arrangeDutyOperateEntityList = commonService.findHql(hql.toString(),userAndUserPersonnelDto.getYearmonth(),userAndUserPersonnelDto.getPid()); List useridListAll=new ArrayList(); for (int i = 0; i < arrangeDutyOperateEntityList.size(); i++) { if(arrangeDutyOperateEntityList.get(i).getUserid()!=null&&arrangeDutyOperateEntityList.get(i).getUserid().length()!=0){ useridListAll.addAll(extractIdListByComma(arrangeDutyOperateEntityList.get(i).getUserid())); } } //查询排班操作表所有数据,并获取所有的userid== */ //查询项目排班详细表所有数据,并获取所有的userid== StringBuffer hql = new StringBuffer(" FROM ProjarrangeDetailEntity pjde where pjde.yearmonth=? and pjde.pid=? "); List projarrangeDetailEntityList = commonService.findHql(hql.toString(),userAndUserPersonnelDto.getYearmonth(),userAndUserPersonnelDto.getPid()); List useridListAll=new ArrayList(); for (int i = 0; i < projarrangeDetailEntityList.size(); i++) { if(projarrangeDetailEntityList.get(i).getUserid()!=null&&projarrangeDetailEntityList.get(i).getUserid().length()!=0){ useridListAll.add(projarrangeDetailEntityList.get(i).getUserid()); } } //查询项目排班详细表所有数据,并获取所有的userid== userAndUserPersonnelDto.setUserIdList(useridListAll); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List listUserAndUserPersonnelDto = arrangeDutyOperateService.getOnDutyUserAndUserPersonnelNoPage(userAndUserPersonnelDto,authSql); dataGrid.setResults(listUserAndUserPersonnelDto); TagUtil.datagrid(response, dataGrid); } /** * 轮流值班页面获取班次类型进行验证; * 暂时不用,因为现在只选择一个班次,无需验证 * @author zbw * 2017-11-17 * @param pid * @return */ @RequestMapping(params = "getCheckShiftType") @ResponseBody public AjaxJson getCheckShiftType(String shiftid){ AjaxJson j = new AjaxJson(); ArrangeDutyDto arrangeDutyDto=new ArrangeDutyDto(); arrangeDutyDto.getArrangeDutyIdList().addAll(extractIdListByComma(shiftid)); String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); List arrangeDutyDtoList = arrangeDutyService.getArrangeDutyByIdList(arrangeDutyDto, authSql); List shiftTypeList=new ArrayList(); for (int i = 0; i < arrangeDutyDtoList.size(); i++) { if(!shiftTypeList.contains(arrangeDutyDtoList.get(i).getDutyType())){ shiftTypeList.add(arrangeDutyDtoList.get(i).getDutyType()); } } if(shiftTypeList.size()!=1){ j.setMsg("false"); } return j; } /** * 值班操作表 * 保存新增/更新的行数据 * @author zbw * 2017-11-1 * @param arrangeDutyOperate * @param request * @return */ @RequestMapping(params = "saveOnDutyOperate") @ResponseBody public AjaxJson saveOnDutyOperate(OnDutyOperateEntity onDutyOperate,String onDutyOperateId){ AjaxJson j = new AjaxJson(); if(onDutyOperate.getPid()!=null&&onDutyOperate.getPid().length()>0){ onDutyOperate.setPid(onDutyOperate.getPid().split(",")[0]); } j=onDutyOperateService.saveOnDutyOperate(onDutyOperate,onDutyOperateId); return j; } }