| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662 |
- package cn.com.lzt.arrangedutyoperate.service.impl;
- import cn.com.lzt.arrangeduty.service.ArrangeDutyServiceI;
- import cn.com.lzt.arrangedutyoperate.dao.ArrangeDutyOperateMiniDao;
- import cn.com.lzt.arrangedutyoperate.dao.UserAndUserPersonnelMiniDao;
- import cn.com.lzt.arrangedutyoperate.dto.ArrangeDutyOperateDto;
- import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto;
- import cn.com.lzt.arrangedutyoperate.entity.ArrangeDutyOperateEntity;
- import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI;
- import cn.com.lzt.ondutyoperate.entity.OnDutyOperateEntity;
- import cn.com.lzt.personnelbasearchivesmanage.service.PersonnelBaseArchivesManageServiceI;
- 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.entity.UserArrangeDetailEntity;
- import org.apache.commons.lang3.StringUtils;
- 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.ApplicationContextUtil;
- import org.jeecgframework.core.util.MyBeanUtils;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.minidao.pojo.MiniDaoPage;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import org.jeecgframework.web.system.pojo.base.DictEntity;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.jeecgframework.web.system.service.UserService;
- 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("arrangeDutyOperateService")
- @Transactional
- public class ArrangeDutyOperateServiceImpl extends CommonServiceImpl implements ArrangeDutyOperateServiceI {
-
- @Autowired
- private SystemService systemService;
- @Autowired
- private Validator validator;
-
- //班次表
- @Autowired
- private ArrangeDutyServiceI arrangeDutyService;
-
- //员工基本档案管理
- @Autowired
- private PersonnelBaseArchivesManageServiceI personnelBaseArchivesManageService;
-
- //公共方法类
- @Autowired
- private CommonService commonService;
-
- //项目排班详细表
- @Autowired
- private ProjarrangeDetailServiceI projarrangeDetailService;
- @Autowired
- UserAndUserPersonnelMiniDao userAndUserPersonnelMiniDao;
-
- @Autowired
- ArrangeDutyOperateMiniDao arrangeDutyOperateMiniDao;
-
- //项目排班总览表
- @Autowired
- private ProjArrangeGeneralServiceI projArrangeGeneralService;
-
- @Autowired
- private UserService userService;
-
- public void delete(ArrangeDutyOperateEntity entity) throws Exception{
- super.delete(entity);
- //执行删除操作增强业务
- this.doDelBus(entity);
- }
-
- public Serializable save(ArrangeDutyOperateEntity entity) throws Exception{
- Serializable t = super.save(entity);
- //执行新增操作增强业务
- this.doAddBus(entity);
- return t;
- }
-
- public void saveOrUpdate(ArrangeDutyOperateEntity entity) throws Exception{
- super.saveOrUpdate(entity);
- //执行更新操作增强业务
- this.doUpdateBus(entity);
- }
-
- /**
- * 新增操作增强业务
- * @param t
- * @return
- */
- private void doAddBus(ArrangeDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 更新操作增强业务
- * @param t
- * @return
- */
- private void doUpdateBus(ArrangeDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 删除操作增强业务
- * @param id
- * @return
- */
- private void doDelBus(ArrangeDutyOperateEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
-
- private Map<String,Object> populationMap(ArrangeDutyOperateEntity t){
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("id", t.getId());
- map.put("pid", t.getPid());
- map.put("pjt_postid", t.getPjtPostId());
- map.put("yearmonth", t.getYearmonth());
- map.put("shiftid", t.getShiftid());
- map.put("userid", t.getUserid());
- map.put("runway", t.getRunway());
- map.put("deploy_people_num", t.getDeployPeopleNum());
- 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());
- //map.put("delete_flag", t.getDeleteFlag());
- return map;
- }
-
- /**
- * 替换sql中的变量
- * @param sql
- * @param t
- * @return
- */
- public String replaceVal(String sql,ArrangeDutyOperateEntity t){
- sql = sql.replace("#{id}",String.valueOf(t.getId()));
- sql = sql.replace("#{pid}",String.valueOf(t.getPid()));
- sql = sql.replace("#{pjt_postid}",String.valueOf(t.getPjtPostId()));
- 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("#{runway}",String.valueOf(t.getRunway()));
- sql = sql.replace("#{deploy_people_num}",String.valueOf(t.getDeployPeopleNum()));
- 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("#{delete_flag}",String.valueOf(t.getDeleteFlag()));
- 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_arrangeduty_operate",data);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new Exception("执行JAVA增强出现异常!");
- }
- }
- }
- @Override
- public MiniDaoPage<UserAndUserPersonnelDto> getUserAndUserPersonnelPage(
- UserAndUserPersonnelDto userAndUserPersonnelDto, int page, int rows, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getUserAndUserPersonnelPage(userAndUserPersonnelDto, page, rows, authSql);
- }
- @Override
- public List<UserAndUserPersonnelDto> getUserAndUserPersonnelNoPage(
- UserAndUserPersonnelDto userAndUserPersonnelDto, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getUserAndUserPersonnelNoPage(userAndUserPersonnelDto, authSql);
- }
-
- @Override
- public List<UserAndUserPersonnelDto> getOnDutyUserAndUserPersonnelNoPage(
- UserAndUserPersonnelDto userAndUserPersonnelDto, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getOnDutyUserAndUserPersonnelNoPage(userAndUserPersonnelDto, authSql);
- }
- @Override
- public void logicDel(ArrangeDutyOperateEntity arrangeDutyOperate) throws Exception {
- super.updateEntitie(arrangeDutyOperate);
- //执行更新操作增强业务
- this.doUpdateBus(arrangeDutyOperate);
- }
- @Override
- public List<ArrangeDutyOperateDto> getArrangeDutyOperateDtoByPIdYearMonthNoPage(
- ArrangeDutyOperateDto arrangeDutyOperateDto, String authSql) {
- // TODO Auto-generated method stub
- return arrangeDutyOperateMiniDao.getArrangeDutyOperateDtoByPIdYearMonthNoPage(arrangeDutyOperateDto, authSql);
- }
- @Override
- public List<UserAndUserPersonnelDto> getUserIdByPId(
- UserAndUserPersonnelDto userAndUserPersonnelDto, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getUserIdByPId(userAndUserPersonnelDto, authSql);
- }
- @Override
- public List<UserAndUserPersonnelDto> getUserAndUserPersonnelByUserId(
- UserAndUserPersonnelDto userAndUserPersonnelDto, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getUserAndUserPersonnelByUserId(userAndUserPersonnelDto, authSql);
- }
- @Override
- public AjaxJson deleteOperateAndGeneralDetail(ArrangeDutyOperateEntity arrangeDutyOperate,String pid) {
- String message = null;
- AjaxJson j = new AjaxJson();
- arrangeDutyOperate = systemService.getEntity(ArrangeDutyOperateEntity.class, arrangeDutyOperate.getId());
- message = "排班操作删除成功";
- try{
-
- deleteProjarrangeDetaiAndUserArrangeDetail(arrangeDutyOperate);
- this.delete(arrangeDutyOperate);
- systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- j.setSuccess(false);
- e.printStackTrace();
- message = "排班操作删除失败";
- }
- j.setMsg(message);
- return j;
- }
-
- @Override
- public AjaxJson deleteProjarrangeDetaiAndUserArrangeDetail(ArrangeDutyOperateEntity arrangeDutyOperate){
- AjaxJson j = new AjaxJson();
- String userId=arrangeDutyOperate.getUserid();
- String yearmonth=arrangeDutyOperate.getYearmonth();
- if(userId!=null&&userId.length()>0){
- String[] userIdArr=userId.split(",");
- for (int k = 0; k < userIdArr.length; k++) {
-
- //判断值班操作表中有无此数据,有的话也要删除
- StringBuffer hql = new StringBuffer(" from OnDutyOperateEntity t where t.yearmonth=? ");
- List<OnDutyOperateEntity> onDutyOperateEntityList = findHql(hql.toString(),yearmonth);
- for (int i = 0; i < onDutyOperateEntityList.size(); i++) {
- List<String> onDutyOperateUserIdList=ProjectArrangeCommonMethod.extractIdListByComma(onDutyOperateEntityList.get(i).getUserid());
- if(onDutyOperateUserIdList.contains(userIdArr[k])){
- //删除值操作班表
- commonService.delete(onDutyOperateEntityList.get(i));
-
- }
- }
-
-
- //根据用户员工id查询项目排班详细表数据t_bus_projarrange_detail
- 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++) {
- /*ProjArrangeGeneralEntity projArrangeGeneralEntity=new ProjArrangeGeneralEntity();
- hql = new StringBuffer(" from ProjArrangeGeneralEntity t where 1=1 ");
- hql.append(" and t.yearmonth =? and t.belongUnitid=? ");
- List<ProjArrangeGeneralEntity> projArrangeGeneralEntityList = projArrangeGeneralService.findHql(hql.toString()
- , yearmonth,arrangeDutyOperate.getPid());
- if(projArrangeGeneralEntityList.size()!=0){
- projArrangeGeneralEntity=projArrangeGeneralEntityList.get(0);
- if(projArrangeGeneralEntityList.get(0).getPeopleQuantity()>=2){
- projArrangeGeneralEntity.setPeopleQuantity(projArrangeGeneralEntity.getPeopleQuantity()-1);
- j=saveProjArrangeGeneral(projArrangeGeneralEntity);
- }else if(projArrangeGeneralEntityList.get(0).getPeopleQuantity()==1){//没有排班人数,则删除项目排班总览表的此数据
- commonService.delete(projArrangeGeneralEntity);
- }
- }*/
-
-
- //根据项目排班详细表的主键id查询员工排班详情表t_bus_user_arrange_detail
- hql = new StringBuffer(" from UserArrangeDetailEntity t where t.projarrangeDetailid =? ");
- List<UserArrangeDetailEntity> userArrangeDetailEntityList = arrangeDutyService.findHql(hql.toString(),projarrangeDetailEntityList.get(i).getId());
-
- if(userArrangeDetailEntityList.size()>0){
- //删除员工排班详情表
- commonService.deleteAllEntitie(userArrangeDetailEntityList);
- }
- }
-
- if(projarrangeDetailEntityList.size()>0){
- //删除项目排班详细表
- commonService.deleteAllEntitie(projarrangeDetailEntityList);
- }
- }
-
-
- }
- return j;
- }
-
-
- @Override
- public AjaxJson saveArrangeDutyOperate(ArrangeDutyOperateEntity arrangeDutyOperate,String sign,String arrangeDutyOperateId){
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "";
- j=checkArrangeDutyOperate(arrangeDutyOperate,sign);
-
- if(j.getMsg().length()==0){
- List<String> arrangeDutyOperateIdList=ProjectArrangeCommonMethod.extractIdListByComma(arrangeDutyOperateId);
- if (StringUtil.isNotEmpty(arrangeDutyOperate.getId())) {
- ArrangeDutyOperateEntity t = this.get(ArrangeDutyOperateEntity.class, arrangeDutyOperate.getId());
- if(t!=null){
- try {//数据存在,进行更新操作
-
- //判断是否是已存的id
- if(!arrangeDutyOperateIdList.contains(t.getId())){
- if(arrangeDutyOperateId!=null&&arrangeDutyOperateId.length()>0){
- arrangeDutyOperateId=arrangeDutyOperateId+","+t.getId();
- }else{
- arrangeDutyOperateId=t.getId();
- }
-
- //返回编辑的id,方便月度排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("arrangeDutyOperateId",arrangeDutyOperateId );
- j.setAttributes(idMap);
- //返回编辑的id,方便月度排班==
- }
-
-
- List<String> userIdOldList=new ArrayList<String>();
- List<String> userIdNewList=new ArrayList<String>();
- for (int i = 0; i < t.getUserid().split(",").length; i++) {
- userIdOldList.add(t.getUserid().split(",")[i]);
- }
- for (int i = 0; i < arrangeDutyOperate.getUserid().split(",").length; i++) {
- userIdNewList.add(arrangeDutyOperate.getUserid().split(",")[i]);
- }
-
- userIdOldList.removeAll(userIdNewList);
- userIdOldList.addAll(userIdNewList);
-
- MyBeanUtils.copyBeanNotNull2Bean(arrangeDutyOperate, 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);
- }
- }
-
- arrangeDutyOperate.setUserid(deleteUserId);
- deleteProjarrangeDetaiAndUserArrangeDetail(arrangeDutyOperate);
-
-
-
-
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- message = "班次操作更新成功";
- } catch (Exception e) {
- j.setSuccess(false);
- e.printStackTrace();
- message = "班次操作更新失败";
- }
- }else{//数据不存在,进行添加操作
- try{
- arrangeDutyOperate.setId("");
- this.save(arrangeDutyOperate);
-
- if(arrangeDutyOperateId!=null&&arrangeDutyOperateId.length()>0){
- arrangeDutyOperateId=arrangeDutyOperateId+","+arrangeDutyOperate.getId();
- }else{
- arrangeDutyOperateId=arrangeDutyOperate.getId();
- }
-
- //返回编辑的id,方便月度排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("arrangeDutyOperateId", arrangeDutyOperateId);
- j.setAttributes(idMap);
- //返回编辑的id,方便月度排班==
-
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- message = "班次操作添加成功";
- }catch(Exception e){
- j.setSuccess(false);
- e.printStackTrace();
- message = "班次操作添加失败";
- }
- }
- } else {//数据不存在,进行添加操作
- try{
- // 根据userId判断用户是否已经在排班操作表中存在
- String userIds = arrangeDutyOperate.getUserid();
- List<String> userNameList = new ArrayList<String>();
- List<String> userIdList = new ArrayList<String>();
- if(StringUtil.isNotEmpty(userIds)) {
- userIdList = Arrays.asList(userIds.split(","));
- Set<String> userIdSet = new HashSet<String>();
- for(int i = 0; i < userIdList.size(); i++) {
- String arrangeDutyOperateByUserIdHql = "from ArrangeDutyOperateEntity where userid like ? and yearmonth = ?";
- List<ArrangeDutyOperateEntity> ArrangeDutyOperateEntityList = findHql(arrangeDutyOperateByUserIdHql, "%" + userIdList.get(i) + "%", arrangeDutyOperate.getYearmonth());
- if(ArrangeDutyOperateEntityList.size() > 0) {
- userIdSet.add(userIdList.get(i));
- }
- }
- //遍历
- for (String str : userIdSet) {
- TSUser user = userService.get(TSUser.class, str);
- userNameList.add(user.getRealName());
- }
- }
-
- if(userNameList.size() > 0) {
- String errorMsg = "员工姓名:";
- for(int i = 0; i < userNameList.size(); i++) {
- if(i == userNameList.size() - 1) {
- errorMsg += userNameList.get(i);
- } else {
- errorMsg += userNameList.get(i) + ",";
- }
- }
- errorMsg += "该月已经存在排班数据,请重新确认。";
- j.setMsg(errorMsg);
- Map<String, Object> flgMap = new HashMap<String, Object>();
- flgMap.put("flg", "1");
- j.setAttributes(flgMap);
- return j;
- }
- if(userIdList.size() > 0) {
- List<Map<String,String>> noLeave = arrangeDutyOperateMiniDao.getUserNoLeave(userIdList);
- //此排班都离职,则不保存
- if(noLeave.size() > 0 && StringUtils.isNotEmpty(noLeave.get(0).get("useridStr"))) {
- List<String> userNoleaveList = new ArrayList<String>();
- String userStr = noLeave.get(0).get("useridStr");
- for(String userid : userIdList) {
- if(userStr.indexOf(userid) > -1) {
- userNoleaveList.add(userid);
- }
- }
- arrangeDutyOperate.setUserid(StringUtils.join(userNoleaveList,","));
- arrangeDutyOperate.setDeployPeopleNum(arrangeDutyOperate.getUserid().split(",").length);
- this.save(arrangeDutyOperate);
- }
- }
-
- if(StringUtils.isNotEmpty(arrangeDutyOperate.getId())){
- if(arrangeDutyOperateId!=null&&arrangeDutyOperateId.length()>0){
- arrangeDutyOperateId=arrangeDutyOperateId+","+arrangeDutyOperate.getId();
- }else{
- arrangeDutyOperateId=arrangeDutyOperate.getId();
- }
- }
-
- //返回编辑的id,方便月度排班==
- Map<String, Object> idMap=new HashMap<String, Object>();
- idMap.put("arrangeDutyOperateId", arrangeDutyOperateId);
- j.setAttributes(idMap);
- //返回编辑的id,方便月度排班==
-
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- message = "班次操作添加成功";
- }catch(Exception e){
- j.setSuccess(false);
- e.printStackTrace();
- message = "班次操作添加失败";
- }
- }
- j.setMsg(message);
- }
-
- return j;
- }
-
- @Override
- public AjaxJson checkArrangeDutyOperate(ArrangeDutyOperateEntity arrangeDutyOperate,String sign){
- AjaxJson j = new AjaxJson();
- //判断是否在别的项目已经排班,证明是调用,要提示删除
- //根据运转方式验证,三班两运转和四班两运转要根据上个月的最后一天是否夜班排班
- String message="";
- Map<String, Object> failMap=new HashMap<String, Object>();
- //获取用户名称
- 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());
- }
- //用户idList
- List<String> arrangeDutyOperateUserIdList = ProjectArrangeCommonMethod.extractIdListByComma(arrangeDutyOperate.getUserid());
-
- for (int k = 0; k < arrangeDutyOperateUserIdList.size(); k++) {
- //根据月度,用户id查询项目排班详细表,再用项目id比对,删除其他项目中的数据
- ProjarrangeDetailEntity projarrangeDetailEntity=new ProjarrangeDetailEntity();
- projarrangeDetailEntity.setUserid(arrangeDutyOperateUserIdList.get(k));
- projarrangeDetailEntity.setYearmonth(arrangeDutyOperate.getYearmonth());
- //查询项目排班详细表
- StringBuffer hql = new StringBuffer(" FROM ProjarrangeDetailEntity pde where pde.yearmonth=? and pde.userid=? ");
- List<ProjarrangeDetailEntity> projarrangeDetailEntityList = findHql(hql.toString(),projarrangeDetailEntity.getYearmonth(),projarrangeDetailEntity.getUserid());
-
- if(projarrangeDetailEntityList.size()>0){
- for (int i = 0; i < projarrangeDetailEntityList.size(); i++) {
- if(!projarrangeDetailEntityList.get(i).getPid().equals(arrangeDutyOperate.getPid())){
- failMap.put(projarrangeDetailEntityList.get(i).getUserid(),projarrangeDetailEntityList.get(i).getPid());
- }
- }
- }
- }
-
- if(failMap.size()>0){
- if(sign.equals("1")){
- message="";
- for (Map.Entry<String, Object> m:failMap.entrySet()) {
- if (message.length()==0) {
- message=baseUserMap.get(m.getKey());
- }else {
- message+=","+baseUserMap.get(m.getKey());
- }
- }
- message+="在其他项目已经有排班("+arrangeDutyOperate.getYearmonth()+")";
- j.setMsg(message);
- j.setSuccess(false);
- }else{
- for (Map.Entry<String, Object> m:failMap.entrySet()) {
- ArrangeDutyOperateEntity arrangeDutyOperateDelete=new ArrangeDutyOperateEntity();
- arrangeDutyOperateDelete.setYearmonth(arrangeDutyOperate.getYearmonth());
- arrangeDutyOperateDelete.setUserid(m.getKey());
- arrangeDutyOperateDelete.setPid(m.getValue().toString());
- deleteProjarrangeDetaiAndUserArrangeDetail(arrangeDutyOperateDelete);
- }
- j.setMsg("");
- }
-
- }else{
- j.setMsg(message);
- //根据运转方式验证,三班两运转和四班两运转要根据上个月的最后一天是否夜班排班
- }
-
- return j;
- }
-
-
- @Override
- public AjaxJson saveProjArrangeGeneral(ProjArrangeGeneralEntity projArrangeGeneralEntity){
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "";
- if (StringUtil.isNotEmpty(projArrangeGeneralEntity.getId())) {
- ProjArrangeGeneralEntity t = projArrangeGeneralService.get(ProjArrangeGeneralEntity.class, projArrangeGeneralEntity.getId());
- try {
- MyBeanUtils.copyBeanNotNull2Bean(projArrangeGeneralEntity, t);
- projArrangeGeneralService.saveOrUpdate(t);
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- message = "项目排班总揽更新成功";
- } catch (Exception e) {
- j.setSuccess(false);
- e.printStackTrace();
- message = "项目排班总揽更新失败";
- }
- } else {
- try{
- projArrangeGeneralService.save(projArrangeGeneralEntity);
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- message = "项目排班总揽添加成功";
- }catch(Exception e){
- j.setSuccess(false);
- e.printStackTrace();
- message = "项目排班总揽添加失败";
- }
- }
- j.setMsg(message);
- return j;
- }
- @Override
- public List<ArrangeDutyOperateDto> getArrangeDutyOperateDtoByListId(
- ArrangeDutyOperateDto arrangeDutyOperateDto, String authSql) {
- // TODO Auto-generated method stub
- return arrangeDutyOperateMiniDao.getArrangeDutyOperateDtoByListId(arrangeDutyOperateDto, authSql);
- }
-
- @Override
- public List<UserAndUserPersonnelDto> getPersonnelAndUser(
- UserAndUserPersonnelDto userAndUserPersonnelDto, String authSql) {
- // TODO Auto-generated method stub
- return userAndUserPersonnelMiniDao.getPersonnelAndUser(userAndUserPersonnelDto, authSql);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
|