| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040 |
- package cn.com.lzt.ondutyoperate.service.impl;
- import cn.com.lzt.arrangeduty.dto.ArrangeDutyDto;
- import cn.com.lzt.arrangeduty.entity.ArrangeDutyEntity;
- import cn.com.lzt.arrangeduty.service.ArrangeDutyServiceI;
- import cn.com.lzt.arrangedutyoperate.entity.ArrangeDutyOperateEntity;
- import cn.com.lzt.calendar.dto.CalendarAscDto;
- import cn.com.lzt.ondutyoperate.entity.OnDutyOperateEntity;
- import cn.com.lzt.ondutyoperate.service.OnDutyOperateServiceI;
- 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.userarrangedetail.entity.UserArrangeDetailEntity;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.common.service.CommonService;
- import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.util.*;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import org.jeecgframework.web.system.pojo.base.DictEntity;
- 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.math.BigDecimal;
- import java.util.*;
- @Service("onDutyOperateService")
- @Transactional
- public class OnDutyOperateServiceImpl extends CommonServiceImpl implements OnDutyOperateServiceI {
- @Autowired
- private SystemService systemService;
- @Autowired
- private Validator validator;
-
- //公共方法类
- @Autowired
- private CommonService commonService;
-
- //项目排班详细表
- @Autowired
- ProjarrangeDetailServiceI projarrangeDetailServiceI;
-
- //班次表
- @Autowired
- private ArrangeDutyServiceI arrangeDutyService;
-
-
-
-
- public void delete(OnDutyOperateEntity entity) throws Exception{
- super.delete(entity);
- //执行删除操作增强业务
- this.doDelBus(entity);
- }
-
- public Serializable save(OnDutyOperateEntity entity) throws Exception{
- Serializable t = super.save(entity);
- //执行新增操作增强业务
- this.doAddBus(entity);
- return t;
- }
-
- public void saveOrUpdate(OnDutyOperateEntity entity) throws Exception{
- super.saveOrUpdate(entity);
- //执行更新操作增强业务
- this.doUpdateBus(entity);
- }
-
- /**
- * 新增操作增强业务
- * @param t
- * @return
- */
- private void doAddBus(OnDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 更新操作增强业务
- * @param t
- * @return
- */
- private void doUpdateBus(OnDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 删除操作增强业务
- * @param id
- * @return
- */
- private void doDelBus(OnDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
-
- private Map<String,Object> populationMap(OnDutyOperateEntity t){
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("id", t.getId());
- map.put("pid", t.getPid());
- map.put("yearmonth", t.getYearmonth());
- map.put("shiftid", t.getShiftid());
- map.put("userid", t.getUserid());
- map.put("arrange_stime", t.getArrangeStime());
- map.put("arrange_etime", t.getArrangeEtime());
- map.put("everyday_people_num", t.getEverydayPeopleNum());
- map.put("attendance_cycle", t.getAttendanceCycle());
- 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,OnDutyOperateEntity t){
- sql = sql.replace("#{id}",String.valueOf(t.getId()));
- sql = sql.replace("#{pid}",String.valueOf(t.getPid()));
- sql = sql.replace("#{yearmonth}",String.valueOf(t.getYearmonth()));
- sql = sql.replace("#{shiftid}",String.valueOf(t.getShiftid()));
- sql = sql.replace("#{userid}",String.valueOf(t.getUserid()));
- sql = sql.replace("#{arrange_stime}",String.valueOf(t.getArrangeStime()));
- sql = sql.replace("#{arrange_etime}",String.valueOf(t.getArrangeEtime()));
- sql = sql.replace("#{everyday_people_num}",String.valueOf(t.getEverydayPeopleNum()));
- sql = sql.replace("#{attendance_cycle}",String.valueOf(t.getAttendanceCycle()));
- 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<String,Object> 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_onduty_operate",data);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new Exception("执行JAVA增强出现异常!");
- }
- }
- }
- @Override
- public AjaxJson saveOnDutyOperate(OnDutyOperateEntity onDutyOperate,String onDutyOperateId) {
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "";
- j.setMsg(message);
- j=checkOnDutyOperate(onDutyOperate);
- if(j.getMsg().length()==0){
- List<String> arrangeDutyOperateIdList=ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateId);
-
- if (StringUtil.isNotEmpty(onDutyOperate.getId())) {
- OnDutyOperateEntity t = this.get(OnDutyOperateEntity.class, onDutyOperate.getId());
- if(t!=null){
- try {//数据存在,进行更新操作
- //判断是否是已存的id
- if(!arrangeDutyOperateIdList.contains(t.getId())){
- if(onDutyOperateId!=null&&onDutyOperateId.length()>0){
- onDutyOperateId=onDutyOperateId+","+t.getId();
- }else{
- onDutyOperateId=t.getId();
- }
-
- //返回编辑的id,方便值班排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("onDutyOperateId",onDutyOperateId );
- j.setAttributes(idMap);
- //返回编辑的id,方便值班排班==
- }
-
- /*List<String> userIdOldList=ProjectArrangeCommonMethod.extractIdListByComma(t.getUserid());
- List<String> userIdNewList=ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getUserid());
-
- userIdOldList.removeAll(userIdNewList);
- MyBeanUtils.copyBeanNotNull2Bean(onDutyOperate, t);
- this.saveOrUpdate(t);
-
- String deleteUserId="";
- for (int i = 0; i < userIdOldList.size(); i++) {
- if(deleteUserId.length()!=0){
- deleteUserId+=","+userIdOldList.get(i);
- }else{
- deleteUserId=userIdOldList.get(i);
- }
- }
- onDutyOperate.setUserid(deleteUserId);
- //删除值班操作表数据
- this.deleteUserArrangeDetail(onDutyOperate,pid);*/
-
- //删除值班操作表数据
- this.deleteUserArrangeDetail(t);
-
- MyBeanUtils.copyBeanNotNull2Bean(onDutyOperate, t);
- this.saveOrUpdate(t);
-
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- message = "值班操作更新成功";
- } catch (Exception e) {
- e.printStackTrace();
- message = "值班操作更新失败";
- throw new BusinessException(e.getMessage());
- }
- }else{//数据不存在,进行添加操作
- try{
- onDutyOperate.setId("");
- this.save(onDutyOperate);
-
- if(onDutyOperateId!=null&&onDutyOperateId.length()>0){
- onDutyOperateId=onDutyOperateId+","+onDutyOperate.getId();
- }else{
- onDutyOperateId=onDutyOperate.getId();
- }
-
- //返回编辑的id,方便值班排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("onDutyOperateId",onDutyOperateId );
- j.setAttributes(idMap);
- //返回编辑的id,方便值班排班==
-
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- message = "值班操作添加成功";
- }catch(Exception e){
- e.printStackTrace();
- message = "值班操作添加失败";
- throw new BusinessException(e.getMessage());
- }
- }
- } else {//数据不存在,进行添加操作
- try{
- this.save(onDutyOperate);
- if(onDutyOperateId!=null&&onDutyOperateId.length()>0){
- onDutyOperateId=onDutyOperateId+","+onDutyOperate.getId();
- }else{
- onDutyOperateId=onDutyOperate.getId();
- }
-
- //返回编辑的id,方便值班排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("onDutyOperateId",onDutyOperateId );
- j.setAttributes(idMap);
- //返回编辑的id,方便值班排班==
-
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- message = "值班操作添加成功";
- }catch(Exception e){
- e.printStackTrace();
- message = "值班操作添加失败";
- throw new BusinessException(e.getMessage());
- }
- }
- j.setMsg(message);
- }
-
- return j;
- }
-
-
- @Override
- public AjaxJson checkOnDutyOperate(OnDutyOperateEntity onDutyOperate){
- AjaxJson j = new AjaxJson();
- String message="";
- //获取用户名称
- List<DictEntity> baseUserList=systemService.queryDict("t_s_base_user", "id", "realname");
- Map<String, String> baseUserMap=new HashMap<String, String>();
- for (int i = 0; i < baseUserList.size(); i++) {
- baseUserMap.put(baseUserList.get(i).getTypecode(), baseUserList.get(i).getTypename());
- }
- //1出勤时间
- List<String> attendanceCycleList=ProjectArrangeCommonMethod.extractIdListByComma(ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperate.getAttendanceCycle()));
- //1出勤时间
- Map<String, Object> failMap=new HashMap<String, Object>();
- // 轮流值班/加班保存校验
- //
- // 1.根据运转方式验证
- // 三班两运转和四班两运转一定不能轮流值班加班
- //
- // 2.根据值班操作表已有的数据判断所选时间段内是否已经排班冲突
-
- if(onDutyOperate.getPid()!=null&&onDutyOperate.getPid().length()!=0){
- onDutyOperate.setPid(onDutyOperate.getPid().split(",")[0]);
- }
-
- //用户idList
- List<String> onDutyOperateUserIdList = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getUserid());
-
- //根据月度查询项目排班操作表数据,然后对比userid获取运转方式
- StringBuffer hql = new StringBuffer(" FROM ArrangeDutyOperateEntity adoe where adoe.yearmonth=? and adoe.pid=? ");
- List<ArrangeDutyOperateEntity> arrangeDutyOperateEntityList = findHql(hql.toString(),onDutyOperate.getYearmonth(),onDutyOperate.getPid());
-
- for (int i = 0; i < onDutyOperateUserIdList.size(); i++) {
- for (int k = 0; k < arrangeDutyOperateEntityList.size(); k++) {
- List<String> arrangeDutyOperateList= ProjectArrangeCommonMethod.extractIdListByComma(arrangeDutyOperateEntityList.get(k).getUserid());
- if(arrangeDutyOperateList.contains(onDutyOperateUserIdList.get(i))){
- if(arrangeDutyOperateEntityList.get(k).getRunway().equals(Globals.o2o_wujiabanfei)
- ||arrangeDutyOperateEntityList.get(k).getRunway().equals(Globals.t2t_wujiabanfei)
- ||arrangeDutyOperateEntityList.get(k).getRunway().equals(Globals.t2o_jijiabanfei)){
- if(failMap.size()==0){
- failMap.put(arrangeDutyOperateEntityList.get(k).getRunway(), onDutyOperateUserIdList.get(i));
- }else{
- if(failMap.containsKey(arrangeDutyOperateEntityList.get(k).getRunway())){
- failMap.put(arrangeDutyOperateEntityList.get(k).getRunway(), failMap.get(arrangeDutyOperateEntityList.get(k).getRunway())+","+onDutyOperateUserIdList.get(i));
- }else{
- failMap.put(arrangeDutyOperateEntityList.get(k).getRunway(), onDutyOperateUserIdList.get(i));
- }
- }
-
- }
- break;
- }
- }
- }
-
-
-
- if(failMap.size()>0){
- for (Map.Entry<String, Object> m:failMap.entrySet()) {
- List<String> mapUserIdList= ProjectArrangeCommonMethod.extractIdListByComma(m.getValue().toString());
- if(message.length()==0){
- for (int k = 0; k < mapUserIdList.size(); k++) {
- if(message.length()==0){
- message=baseUserMap.get(mapUserIdList.get(k));
- }else{
- message+=","+baseUserMap.get(mapUserIdList.get(k));
- }
- }
- message+="运转方式为"+ProjectArrangeCommonMethod.getRunWayByCode(m.getKey())+",不能进行轮流值班/加班操作;";
- }else{
- for (int k = 0; k < mapUserIdList.size(); k++) {
- if(k==0){
- message+=baseUserMap.get(mapUserIdList.get(k));
- }else{
- message+=","+baseUserMap.get(mapUserIdList.get(k));
- }
- }
- message+="运转方式为"+ProjectArrangeCommonMethod.getRunWayByCode(m.getKey())+",不能进行轮流值班/加班操作;";
- }
- }
- j.setMsg(message);
- j.setSuccess(false);
- }else{
- //验证员工是否已经排班完成,所选时间段内
-
-
-
- //根据月度查出日期id==
- CalendarAscDto calendarAscDto=new CalendarAscDto();
- calendarAscDto.setYear(Integer.parseInt(onDutyOperate.getYearmonth().split("-")[0]));
- calendarAscDto.setMonth(Integer.parseInt(onDutyOperate.getYearmonth().split("-")[1]));
- List<CalendarAscDto> calendarAscDtoList=projarrangeDetailServiceI.getCalendar(calendarAscDto);
-
- List<CalendarAscDto> calendarAscDtoListOld=new ArrayList<CalendarAscDto>();
- if(onDutyOperate.getId()!=null&&onDutyOperate.getId().length()>0){
- //如果是编辑,先查时间段,不进行时间段内验证
- hql = new StringBuffer(" FROM OnDutyOperateEntity ooe where ooe.id=? ");
- List<OnDutyOperateEntity> onDutyOperateEntityListOld = findHql(hql.toString(),onDutyOperate.getId());
- if(onDutyOperateEntityListOld.size()>0){
- for (int r = 0; r < calendarAscDtoList.size(); r++) {
- if(calendarAscDtoList.get(r).getDay()>=Integer.parseInt(onDutyOperateEntityListOld.get(0).getArrangeStime().split("-")[2])&&
- calendarAscDtoList.get(r).getDay()<=Integer.parseInt(onDutyOperateEntityListOld.get(0).getArrangeEtime().split("-")[2])){
- for (int i = 0; i < attendanceCycleList.size(); i++) {
- if(String.valueOf(calendarAscDtoList.get(r).getWeek()).equals(attendanceCycleList.get(i))&&!calendarAscDtoList.get(r).getDtype().equals("2")){
- calendarAscDtoListOld.add(calendarAscDtoList.get(r));
- }
- }
- }
- }
- }
- }
-
-
-
- List<CalendarAscDto> calendarAscDtoListNew=new ArrayList<CalendarAscDto>();
- //根据所选时间段排过班的日期id
- for (int r = 0; r < calendarAscDtoList.size(); r++) {
- if(calendarAscDtoList.get(r).getDay()>=Integer.parseInt(onDutyOperate.getArrangeStime().split("-")[2])&&
- calendarAscDtoList.get(r).getDay()<=Integer.parseInt(onDutyOperate.getArrangeEtime().split("-")[2])){
- for (int i = 0; i < attendanceCycleList.size(); i++) {
- if(String.valueOf(calendarAscDtoList.get(r).getWeek()).equals(attendanceCycleList.get(i))&&!calendarAscDtoList.get(r).getDtype().equals("2")){
- calendarAscDtoListNew.add(calendarAscDtoList.get(r));
- }
- }
- }
- }
- calendarAscDtoListNew.removeAll(calendarAscDtoListOld);
- //根据月度查出日期id==
-
-
- for (int i = 0; i < onDutyOperateUserIdList.size(); i++) {
-
- //根据月度,项目id,用户id查询项目排班详细表和员工排班详情表
- ProjarrangeDetailEntity projarrangeDetailEntity=new ProjarrangeDetailEntity();
- projarrangeDetailEntity.setUserid(onDutyOperateUserIdList.get(i));
- projarrangeDetailEntity.setYearmonth(onDutyOperate.getYearmonth());
- //查询项目排班详细表
- hql = new StringBuffer(" FROM ProjarrangeDetailEntity pde where pde.yearmonth=? and pde.userid=? ");
- List<ProjarrangeDetailEntity> projarrangeDetailEntityList = findHql(hql.toString(),projarrangeDetailEntity.getYearmonth(),projarrangeDetailEntity.getUserid());
-
- UserArrangeDetailEntity userArrangeDetailEntity=new UserArrangeDetailEntity();
- userArrangeDetailEntity.setProjarrangeDetailid(projarrangeDetailEntityList.get(0).getId());
- //查询员工排班详情表
- hql = new StringBuffer(" FROM UserArrangeDetailEntity uade where uade.projarrangeDetailid=? ");
- List<UserArrangeDetailEntity> userArrangeDetailEntityList = findHql(hql.toString(),userArrangeDetailEntity.getProjarrangeDetailid());
- List<UserArrangeDetailEntity> userArrangeDetailEntityListNew =new ArrayList<UserArrangeDetailEntity>();
- for (int k = 0; k < calendarAscDtoListNew.size(); k++) {
- for (int l = 0; l < userArrangeDetailEntityList.size(); l++) {
- if(calendarAscDtoListNew.get(k).getId().equals(userArrangeDetailEntityList.get(l).getCalendarid())){
- userArrangeDetailEntityListNew.add(userArrangeDetailEntityList.get(l));
- }
- }
- }
-
- for (int k = 0; k < userArrangeDetailEntityListNew.size(); k++) {
- if(!userArrangeDetailEntityListNew.get(k).getShiftid().equals(arrangeDutyService.getDUTYTYPE_xiuxiId())){
- failMap.put(onDutyOperateUserIdList.get(i), "");
- }
- }
-
- }
-
- if(failMap.size()>0){
- for (Map.Entry<String, Object> m:failMap.entrySet()) {
- if (message.length()==0) {
- message=baseUserMap.get(m.getKey());
- }else {
- message+=","+baseUserMap.get(m.getKey());
- }
- }
- message+="所选时间段内已经有排班";
- j.setMsg(message);
- j.setSuccess(false);
- }else{
- //验证排班操作表中已经冲突,还未进行排班操作;
-
- hql = new StringBuffer(" FROM OnDutyOperateEntity ooe where ooe.yearmonth=? and ooe.pid=? ");
- //值班操作表
- List<OnDutyOperateEntity> onDutyOperateEntityList = findHql(hql.toString(),onDutyOperate.getYearmonth(),onDutyOperate.getPid());
- if(onDutyOperate.getId()!=null&&onDutyOperate.getId().length()>0){
- for (int i = 0; i < onDutyOperateEntityList.size(); i++) {
- if(onDutyOperateEntityList.get(i).getId().equals(onDutyOperate.getId())){
- onDutyOperateEntityList.remove(i);
- break;
- }
- }
- }
- for (int i = 0; i < onDutyOperateUserIdList.size(); i++) {
- for (int k = 0; k < onDutyOperateEntityList.size(); k++) {
- List<String> onDutyOperateUserIdListOld = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityList.get(k).getUserid());
- if(onDutyOperateUserIdListOld.contains(onDutyOperateUserIdList.get(i))){
-
- //员工已经在值班加班操作表有数据
- //先获取重合的时间段
- String arrangeStartDay=onDutyOperate.getArrangeStime().split("-")[2];
- String arrangeEndDay=onDutyOperate.getArrangeEtime().split("-")[2];
-
- String arrangeStartDayOld=onDutyOperateEntityList.get(k).getArrangeStime().split("-")[2];
- String arrangeEndDayOld=onDutyOperateEntityList.get(k).getArrangeEtime().split("-")[2];
-
- List<String> arrangeTimeList=new ArrayList<String>();
- List<String> arrangeTimeOldList=new ArrayList<String>();
-
- arrangeTimeList.add(String.valueOf(Integer.parseInt(arrangeStartDay)));
- arrangeTimeList.add(String.valueOf(Integer.parseInt(arrangeEndDay)));
- int temNum=0;
- while(Integer.parseInt(arrangeStartDay)!=Integer.parseInt(arrangeEndDay)){
- arrangeStartDay=String.valueOf(Integer.parseInt(arrangeStartDay)+1);
- if(!arrangeTimeList.contains(arrangeStartDay)){
- arrangeTimeList.add(arrangeStartDay);
- }
- temNum++;
- if(temNum>35){
- break;
- }
- }
-
- arrangeTimeOldList.add(String.valueOf(Integer.parseInt(arrangeStartDayOld)));
- arrangeTimeOldList.add(String.valueOf(Integer.parseInt(arrangeEndDayOld)));
- temNum=0;
- while(Integer.parseInt(arrangeStartDayOld)!=Integer.parseInt(arrangeEndDayOld)){
- arrangeStartDayOld=String.valueOf(Integer.parseInt(arrangeStartDayOld)+1);
- if(!arrangeTimeOldList.contains(arrangeStartDayOld)){
- arrangeTimeOldList.add(arrangeStartDayOld);
- }
- temNum++;
- if(temNum>35){
- break;
- }
- }
-
- // List<String> superpositionList=new ArrayList<String>();
- arrangeTimeList.retainAll(arrangeTimeOldList);//获取重复的日期
- if(arrangeTimeList.size()>0){
- //当有重复日期,在判断出勤时间是否包含,<=即可
- List<String> attendanceCycleListOld=ProjectArrangeCommonMethod.extractIdListByComma(ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperateEntityList.get(k).getAttendanceCycle()));
- attendanceCycleListOld.retainAll(attendanceCycleList);
- if(attendanceCycleListOld.size()!=0){
- failMap.put(onDutyOperateUserIdList.get(i), "");
- }
- }
-
-
-
-
- }
- }
- }
-
- if(failMap.size()>0){
- for (Map.Entry<String, Object> m:failMap.entrySet()) {
- if (message.length()==0) {
- message=baseUserMap.get(m.getKey());
- }else {
- message+=","+baseUserMap.get(m.getKey());
- }
- }
- message+="所选时间段内已经有排班";
- j.setMsg(message);
- j.setSuccess(false);
- }
-
-
- }
-
- }
-
- j.setMsg(message);
- return j;
- }
-
-
-
-
-
-
-
- /*@Override
- public AjaxJson checkArrangeSETime(OnDutyOperateEntity onDutyOperate){
- String message = null;
- AjaxJson j = new AjaxJson();
- message="";
- j.setMsg(message);
- //存时间段已存在的用户id
- List<String> userIdListNew=new ArrayList<String>();
-
- List<String> userIdList = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getUserid());
- for (int i = 0; i < userIdList.size(); i++) {
- //因为用户id为多用户逗号分隔,先查出整个月的数据
- StringBuffer hql = new StringBuffer(" from OnDutyOperateEntity t where t.yearmonth= ? ");
- List<OnDutyOperateEntity> onDutyOperateEntityList = findHql(hql.toString(),onDutyOperate.getYearmonth());
- for (int k = 0; k < onDutyOperateEntityList.size(); k++) {
- if(onDutyOperate.getId()!=null&&onDutyOperate.getId().length()>0){
- if(!onDutyOperateEntityList.get(k).getId().equals(onDutyOperate.getId())){
- List<String> userIdListOld = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityList.get(k).getUserid());
- if(userIdListOld.contains(userIdList.get(i))){
- String arrangeStartDay=onDutyOperate.getArrangeStime().split("-")[2];
- String arrangeEndDay=onDutyOperate.getArrangeEtime().split("-")[2];
-
- String arrangeStartDayOld=onDutyOperateEntityList.get(k).getArrangeStime().split("-")[2];
- String arrangeEndDayOld=onDutyOperateEntityList.get(k).getArrangeEtime().split("-")[2];
-
- List<String> arrangeTimeList=new ArrayList<String>();
- List<String> arrangeTimeOldList=new ArrayList<String>();
-
- arrangeTimeList.add(String.valueOf(Integer.parseInt(arrangeStartDay)));
- arrangeTimeList.add(String.valueOf(Integer.parseInt(arrangeEndDay)));
- int temNum=0;
- while(Integer.parseInt(arrangeStartDay)!=Integer.parseInt(arrangeEndDay)){
- arrangeStartDay=String.valueOf(Integer.parseInt(arrangeStartDay)+1);
- if(!arrangeTimeList.contains(arrangeStartDay)){
- arrangeTimeList.add(arrangeStartDay);
- }
- temNum++;
- if(temNum>35){
- break;
- }
- }
-
- arrangeTimeOldList.add(String.valueOf(Integer.parseInt(arrangeStartDayOld)));
- arrangeTimeOldList.add(String.valueOf(Integer.parseInt(arrangeEndDayOld)));
- temNum=0;
- while(Integer.parseInt(arrangeStartDayOld)!=Integer.parseInt(arrangeEndDayOld)){
- arrangeStartDayOld=String.valueOf(Integer.parseInt(arrangeStartDayOld)+1);
- if(!arrangeTimeOldList.contains(arrangeStartDayOld)){
- arrangeTimeOldList.add(arrangeStartDayOld);
- }
- temNum++;
- if(temNum>35){
- break;
- }
- }
-
- if(arrangeTimeList.contains(arrangeTimeOldList)||arrangeTimeOldList.contains(arrangeTimeList)){
- userIdListNew.add(userIdList.get(i));
- }
- int tempNum=arrangeTimeList.size();
- arrangeTimeList.removeAll(arrangeTimeOldList);
- if(arrangeTimeList.size()!=tempNum){
- if(!userIdListNew.contains(userIdList.get(i))){
- userIdListNew.add(userIdList.get(i));
- }
- }
-
- }
- }
- }else{
- List<String> userIdListOld = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityList.get(k).getUserid());
- if(userIdListOld.contains(userIdList.get(i))){
- String arrangeStartDay=onDutyOperate.getArrangeStime().split("-")[2];
- String arrangeEndDay=onDutyOperate.getArrangeEtime().split("-")[2];
-
- String arrangeStartDayOld=onDutyOperateEntityList.get(k).getArrangeStime().split("-")[2];
- String arrangeEndDayOld=onDutyOperateEntityList.get(k).getArrangeEtime().split("-")[2];
-
- List<String> arrangeTimeList=new ArrayList<String>();
- List<String> arrangeTimeOldList=new ArrayList<String>();
-
- arrangeTimeList.add(arrangeStartDay);
- arrangeTimeList.add(arrangeEndDay);
- while(Integer.parseInt(arrangeStartDay)!=Integer.parseInt(arrangeEndDay)){
- arrangeStartDay=String.valueOf(Integer.parseInt(arrangeStartDay)+1);
- if(!arrangeTimeList.contains(arrangeStartDay)){
- arrangeTimeList.add(arrangeStartDay);
- }
- }
-
- arrangeTimeOldList.add(arrangeStartDayOld);
- arrangeTimeOldList.add(arrangeEndDayOld);
- while(Integer.parseInt(arrangeStartDayOld)!=Integer.parseInt(arrangeEndDayOld)){
- arrangeStartDayOld=String.valueOf(Integer.parseInt(arrangeStartDayOld)+1);
- if(!arrangeTimeOldList.contains(arrangeStartDayOld)){
- arrangeTimeOldList.add(arrangeStartDayOld);
- }
- }
-
- int tempNum=arrangeTimeList.size();
- arrangeTimeList.removeAll(arrangeTimeOldList);
- if(arrangeTimeList.size()!=tempNum){
- if(!userIdListNew.contains(userIdList.get(i))){
- userIdListNew.add(userIdList.get(i));
- }
- }
- }
- }
-
- }
-
-
- }
-
- if(userIdListNew.size()>0){
- //获取用户名称
- List<DictEntity> baseUserList=systemService.queryDict("t_s_base_user", "id", "realname");
- for (int i = 0; i < userIdListNew.size(); i++) {
- for (int k = 0; k < baseUserList.size(); k++) {
- if(baseUserList.get(k).getTypecode().equals(userIdListNew.get(i))){
- if(message.length()>0){
- message+=","+baseUserList.get(k).getTypename();
- }else{
- message=baseUserList.get(k).getTypename();
- }
- }
- }
- }
- }
-
-
- j.setMsg(message);
- return j;
- }*/
-
-
-
- @Override
- public AjaxJson deleteOnDutyOperate(OnDutyOperateEntity onDutyOperate,String pid){
- String message = null;
- AjaxJson j = new AjaxJson();
- onDutyOperate = systemService.getEntity(OnDutyOperateEntity.class, onDutyOperate.getId());
- message = "值班操作删除成功";
- try{
- //删除员工排班详情表的值班数据
- //值班类型项目排班详细表的值班天数要依次相减
- //加班类型项目排班详细表的超时加班要依次相减
- j=this.deleteUserArrangeDetail(onDutyOperate);
-
- this.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;
- }
-
- @Override
- public AjaxJson deleteUserArrangeDetail(OnDutyOperateEntity onDutyOperate){
- AjaxJson j = new AjaxJson();
- // String userId=onDutyOperate.getUserid();
- String yearmonth=onDutyOperate.getYearmonth();
- //1出勤时间
- List<String> attendanceCycleList=ProjectArrangeCommonMethod.extractIdListByComma(ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperate.getAttendanceCycle()));
-
- //1出勤时间
-
- //2根据月度查出日期id
- CalendarAscDto calendarAscDto=new CalendarAscDto();
- calendarAscDto.setYear(Integer.parseInt(yearmonth.split("-")[0]));
- calendarAscDto.setMonth(Integer.parseInt(yearmonth.split("-")[1]));
- List<CalendarAscDto> calendarAscDtoListOld=projarrangeDetailServiceI.getCalendar(calendarAscDto);
- List<CalendarAscDto> calendarAscDtoList=new ArrayList<CalendarAscDto>();
- //根据所选时间段并去除周一至周五以及国家法定节假日
- //并根据出勤时间获取需要排班的日期id
- for (int r = 0; r < calendarAscDtoListOld.size(); r++) {
- if(calendarAscDtoListOld.get(r).getDay()>=Integer.parseInt(onDutyOperate.getArrangeStime().split("-")[2])&&
- calendarAscDtoListOld.get(r).getDay()<=Integer.parseInt(onDutyOperate.getArrangeEtime().split("-")[2])){
- if(!calendarAscDtoListOld.get(r).getDtype().equals(Globals.dtype_2)){
- if(attendanceCycleList.contains(calendarAscDtoListOld.get(r).getWeek())){
- calendarAscDtoList.add(calendarAscDtoListOld.get(r));
- }
- }
- }
- }
- //2根据月度查出日期id==
-
- //3根据用户id获取项目排班详细表数据
- //用户id
- List<String> userIdList = ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getUserid());
- //查询项目排班详细表数据
- StringBuffer hql = new StringBuffer(" FROM ProjarrangeDetailEntity odoe where odoe.yearmonth=? and odoe.pid=? ");
- List<ProjarrangeDetailEntity> projarrangeDetailEntityListOld = findHql(hql.toString(),yearmonth,onDutyOperate.getPid());
- List<ProjarrangeDetailEntity> projarrangeDetailEntityList=new ArrayList<ProjarrangeDetailEntity>();
-
- //匹配已经排班的用户
- for (int e = 0; e < projarrangeDetailEntityListOld.size(); e++) {
- for (int k = 0; k < userIdList.size(); k++) {
- if(userIdList.get(k).equals(projarrangeDetailEntityListOld.get(e).getUserid())){
- projarrangeDetailEntityList.add(projarrangeDetailEntityListOld.get(e));
- break;
- }
- }
- }
- //3根据用户id获取项目排班详细表数据
-
-
- //4把班次id放入班次list中获取班次信息
- ArrangeDutyDto arrangeDutyDto=new ArrangeDutyDto();
- arrangeDutyDto.getArrangeDutyIdList().addAll(ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getShiftid()));
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- List<ArrangeDutyDto> arrangeDutyDtoList = arrangeDutyService.getArrangeDutyByIdList(arrangeDutyDto, authSql);
- arrangeDutyDto=arrangeDutyDtoList.get(0);
- //4把班次id放入班次list中获取班次信息
-
- for (int i = 0; i < projarrangeDetailEntityList.size(); i++) {
-
- for (int k = 0; k < calendarAscDtoList.size(); k++) {
- if(arrangeDutyDto.getDutyType().equals(Globals.DUTYTYPE_zhiban)){
- if(projarrangeDetailEntityList.get(i).getOndutyDays().compareTo(new BigDecimal("0"))==1){
- projarrangeDetailEntityList.get(i).setOndutyDays(projarrangeDetailEntityList.get(i).getOndutyDays().subtract(new BigDecimal("1")));
- }
- }else if(arrangeDutyDto.getDutyType().equals(Globals.DUTYTYPE_jiaban)){
- if(arrangeDutyDto.getTimeOutOvertimeHours()!=null){
- if(projarrangeDetailEntityList.get(i).getTimeOutOvertimeHours().compareTo(arrangeDutyDto.getTimeOutOvertimeHours())==1){
- projarrangeDetailEntityList.get(i).setTimeOutOvertimeHours(projarrangeDetailEntityList.get(i).getTimeOutOvertimeHours().subtract(arrangeDutyDto.getTimeOutOvertimeHours()));
- }
- }
- }
- }
-
-
- //项目排班详细表保存
- this.saveOrUpdate(projarrangeDetailEntityList.get(i));
-
- //根据项目排班详细表的主键id查询员工排班详情表t_bus_user_arrange_detail
- hql = new StringBuffer(" from UserArrangeDetailEntity t where t.projarrangeDetailid =? ");
- List<UserArrangeDetailEntity> userArrangeDetailEntityList = findHql(hql.toString(),projarrangeDetailEntityList.get(i).getId());
- for (int k = 0; k < userArrangeDetailEntityList.size(); k++) {
- for (int m = 0; m < calendarAscDtoList.size(); m++) {
- if(userArrangeDetailEntityList.get(k).getCalendarid().equals(calendarAscDtoList.get(m).getId())){
- hql = new StringBuffer(" from ArrangeDutyEntity t where t.id =? ");
- List<ArrangeDutyEntity> arrangeDutyEntityList = findHql(hql.toString(),userArrangeDetailEntityList.get(k).getShiftid());
- if(arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_zhiban)||arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_jiaban)){
- //值班操作删除时把值班班次改为休息
- this.doUpdateUserArrangeDetail(userArrangeDetailEntityList.get(k));
- }
- }
- }
- }
- }
- return j;
- }
-
- /*@Override
- public AjaxJson deleteUserArrangeDetail(OnDutyOperateEntity onDutyOperate,String pid){
- AjaxJson j = new AjaxJson();
- String userId=onDutyOperate.getUserid();
- String yearmonth=onDutyOperate.getYearmonth();
- //出勤时间
- String[] attendanceCycle=ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperate.getAttendanceCycle()).split(",");
- //1出勤时间
- //String[] attendanceCycle=ProjectArrangeCommonMethod.getAttendanceCycleNumner(onDutyOperateEntityList.get(i).getAttendanceCycle()).split(",");
- List<String> attendanceCycleList=ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getAttendanceCycle());
- //1出勤时间
-
- //根据月度查出日期id==
- CalendarAscDto calendarAscDto=new CalendarAscDto();
- calendarAscDto.setYear(Integer.parseInt(yearmonth.split("-")[0]));
- calendarAscDto.setMonth(Integer.parseInt(yearmonth.split("-")[1]));
- List<CalendarAscDto> calendarAscDtoList=projarrangeDetailServiceI.getCalendar(calendarAscDto);
- List<CalendarAscDto> calendarAscDtoListNew=new ArrayList<CalendarAscDto>();
- //根据所选时间段排过班的日期id
- for (int r = 0; r < calendarAscDtoList.size(); r++) {
- if(calendarAscDtoList.get(r).getDay()>=Integer.parseInt(onDutyOperate.getArrangeStime().split("-")[2])&&
- calendarAscDtoList.get(r).getDay()<=Integer.parseInt(onDutyOperate.getArrangeEtime().split("-")[2])){
- for (int i = 0; i < attendanceCycle.length; i++) {
- if(String.valueOf(calendarAscDtoList.get(r).getWeek()).equals(attendanceCycle[i])&&!calendarAscDtoList.get(r).getDtype().equals("2")){
- calendarAscDtoListNew.add(calendarAscDtoList.get(r));
- }
- }
- }
- }
- //根据月度查出日期id==
-
-
- //把班次id放入班次list中查询班次信息===================
- ArrangeDutyDto arrangeDutyDto=new ArrangeDutyDto();
- arrangeDutyDto.getArrangeDutyIdList().addAll(ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperate.getShiftid()));
-
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- List<ArrangeDutyDto> arrangeDutyDtoList = arrangeDutyService.getArrangeDutyByIdList(arrangeDutyDto, authSql);
- //轮流值班加班只有一个班次
- String shiftType=arrangeDutyDtoList.get(0).getDutyType();
- //把班次id放入班次list中查询班次信息====================
-
- BigDecimal ondutyDays=new BigDecimal(calendarAscDtoListNew.size());//值班
- BigDecimal timeOutOvertimeHours = BigDecimal.ZERO;//超时加班
- for (int i = 0; i < calendarAscDtoListNew.size(); i++) {
- if(arrangeDutyDtoList.get(0).getTimeOutOvertimeHours()!=null){
- timeOutOvertimeHours=timeOutOvertimeHours.add(arrangeDutyDtoList.get(0).getTimeOutOvertimeHours());
- }
- }
-
- if(userId!=null&&userId.length()>0){
- String[] userIdArr=userId.split(",");
- for (int k = 0; k < userIdArr.length; k++) {
- //根据用户员工id查询项目排班详细表数据t_bus_projarrange_detail
- StringBuffer hql = new StringBuffer(" from ProjarrangeDetailEntity t where t.userid = ? and t.yearmonth= ? ");
- List<ProjarrangeDetailEntity> projarrangeDetailEntityList = findHql(hql.toString(),userIdArr[k],yearmonth);
-
- for (int i = 0; i < projarrangeDetailEntityList.size(); i++) {
- if(shiftType.equals(Globals.DUTYTYPE_jiaban)){
- if(timeOutOvertimeHours!=null&&projarrangeDetailEntityList.get(i).getTimeOutOvertimeHours().compareTo(new BigDecimal("0"))==1){
- //加班类型项目排班详细表的超时加班要依次相减
- projarrangeDetailEntityList.get(i).setTimeOutOvertimeHours(projarrangeDetailEntityList.get(i).getTimeOutOvertimeHours().subtract(timeOutOvertimeHours));
- }
- }else if(shiftType.equals(Globals.DUTYTYPE_zhiban)){
- if(timeOutOvertimeHours!=null&&projarrangeDetailEntityList.get(i).getOndutyDays().compareTo(new BigDecimal("0"))==1){
- //值班类型项目排班详细表的值班天数要依次相减
- projarrangeDetailEntityList.get(i).setOndutyDays(projarrangeDetailEntityList.get(i).getOndutyDays().subtract(ondutyDays));
- }
-
- }
- this.saveOrUpdate(projarrangeDetailEntityList.get(i));
-
-
- //根据项目排班详细表的主键id查询员工排班详情表t_bus_user_arrange_detail
- hql = new StringBuffer(" from UserArrangeDetailEntity t where t.projarrangeDetailid = ? ");
- List<UserArrangeDetailEntity> userArrangeDetailEntityList = findHql(hql.toString(),projarrangeDetailEntityList.get(i).getId());
- for (int l = 0; l < userArrangeDetailEntityList.size(); l++) {
- hql = new StringBuffer(" from ArrangeDutyEntity t where t.id = ? ");
- List<ArrangeDutyEntity> arrangeDutyEntityList = findHql(hql.toString(),userArrangeDetailEntityList.get(l).getShiftid());
- if(arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_zhiban)||arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_jiaban)){
- //值班操作删除时把值班班次改为休息
- this.doUpdateUserArrangeDetail(userArrangeDetailEntityList.get(l));
- }
- }
- }
- }
- }
- return j;
- }*/
-
- /*@Override
- public AjaxJson deleteUserArrangeDetail(OnDutyOperateEntity onDutyOperate,String pid){
- AjaxJson j = new AjaxJson();
- String userId=onDutyOperate.getUserid();
- String yearmonth=onDutyOperate.getYearmonth();
- if(userId!=null&&userId.length()>0){
- String[] userIdArr=userId.split(",");
- for (int k = 0; k < userIdArr.length; k++) {
- //根据用户员工id查询项目排班详细表数据t_bus_projarrange_detail
- StringBuffer hql = new StringBuffer(" from ProjarrangeDetailEntity t where t.userid = ? and t.yearmonth= ? ");
- List<ProjarrangeDetailEntity> projarrangeDetailEntityList = findHql(hql.toString(),userIdArr[k],yearmonth);
-
- for (int i = 0; i < projarrangeDetailEntityList.size(); i++) {
- //值班类型项目排班详细表的值班天数设为0
- //加班类型项目排班详细表的超时加班要依次相减
- projarrangeDetailEntityList.get(i).setOndutyDays(new BigDecimal("0"));
- this.saveOrUpdate(projarrangeDetailEntityList.get(i));
-
- //根据项目排班详细表的主键id查询员工排班详情表t_bus_user_arrange_detail
- hql = new StringBuffer(" from UserArrangeDetailEntity t where t.projarrangeDetailid = ? ");
- List<UserArrangeDetailEntity> userArrangeDetailEntityList = findHql(hql.toString(),projarrangeDetailEntityList.get(i).getId());
- for (int l = 0; l < userArrangeDetailEntityList.size(); l++) {
- hql = new StringBuffer(" from ArrangeDutyEntity t where t.id = ? ");
- List<ArrangeDutyEntity> arrangeDutyEntityList = findHql(hql.toString(),userArrangeDetailEntityList.get(l).getShiftid());
- if(arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_zhiban)||arrangeDutyEntityList.get(0).getDutyType().equals(Globals.DUTYTYPE_jiaban)){
- //值班操作删除时把值班班次改为休息
- this.doUpdateUserArrangeDetail(userArrangeDetailEntityList.get(l));
- }
- }
- }
- }
- }
- return j;
- }*/
-
-
-
- /**
- * 值班操作删除时把值班班次改为休息
- * 更新员工排班详情表
- *
- * @param ids
- * @return
- */
- @Override
- public AjaxJson doUpdateUserArrangeDetail(UserArrangeDetailEntity userArrangeDetail) {
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "员工排班详情更新成功";
- UserArrangeDetailEntity t = get(UserArrangeDetailEntity.class, userArrangeDetail.getId());
- try {
- //拼接班次为休息的id
- userArrangeDetail.setShiftid(arrangeDutyService.getDUTYTYPE_xiuxiId());
- MyBeanUtils.copyBeanNotNull2Bean(userArrangeDetail, t);
- this.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;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
|