From c7a022c304c49fa91da1ebae458ccec3c484718a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 04 三月 2024 10:30:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 66 ++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 26 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java index 649f103..b906342 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java @@ -102,7 +102,7 @@ dispatchUnitMapper.updateById(update); if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){ //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰 - newVersionData(dispatchUnitMapper.selectById(param.getId()),update); + newVersionData(dispatchUnitMapper.selectById(param.getId()),update,false); //瀛樺偍鎿嶄綔鍘嗗彶 this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo()); @@ -136,23 +136,32 @@ return 1; } - private void newVersionData(DispatchUnit model, DispatchUnit update) { - dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() - .set(DispatchUnit::getDataType,Constants.ZERO) - .eq(DispatchUnit::getIsdeleted,Constants.ZERO) - .eq(DispatchUnit::getBaseId,model.getId())); + private void newVersionData(DispatchUnit model, DispatchUnit update,Boolean flag) { DispatchUnit newVersion = new DispatchUnit(); - BeanUtils.copyProperties(model, newVersion); - newVersion.setWorktypeStatus(Constants.ONE); - newVersion.setCheckDate(update.getEditDate()); - newVersion.setCheckUserId(update.getCheckUserId()); - newVersion.setCheckInfo(update.getCheckInfo()); - newVersion.setCreateDate(update.getCreateDate()); - newVersion.setCreator(update.getEditor()); - newVersion.setBaseId(model.getBaseId()); - newVersion.setDataType(Constants.TWO); - dispatchUnitMapper.insert(newVersion); - + if(flag){ + dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda() + .set(DispatchUnit::getDataType,Constants.ZERO) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + .eq(DispatchUnit::getBaseId,model.getId())); + BeanUtils.copyProperties(model, newVersion); + newVersion.setWorktypeStatus(Constants.ONE); + newVersion.setCheckDate(update.getEditDate()); + newVersion.setCheckUserId(update.getCheckUserId()); + newVersion.setCheckInfo(update.getCheckInfo()); + newVersion.setCreateDate(update.getCreateDate()); + newVersion.setCreator(update.getEditor()); + newVersion.setBaseId(model.getId()); + newVersion.setDataType(Constants.TWO); + dispatchUnitMapper.insert(newVersion); + }else{ + newVersion = dispatchUnitMapper.selectOne(new QueryWrapper<DispatchUnit>().lambda() + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + .eq(DispatchUnit::getDataType,Constants.TWO) + .eq(DispatchUnit::getBaseId,model.getId()).last(" limit 1")); + } + if(Objects.isNull(newVersion)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅鏈�鏂扮増鏈�"); + } List<DuWorktype> newWorktypes = new ArrayList<>(); List<DuSolution> solutions = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() .eq(DuSolution::getIsdeleted,Constants.ZERO) @@ -167,7 +176,6 @@ .eq(DuSolution::getStatus,Constants.ZERO) .eq(DuSolution::getDispatchUnitId,model.getId()) ); - if(solutions == null || solutions.size() ==0){ @@ -247,7 +255,7 @@ DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(param.getId()); if(Constants.equalsInteger(param.getUnitStatus(),Constants.ONE)){ //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰 - newVersionData(dispatchUnit,update); + newVersionData(dispatchUnit,update,true); //瀛樺偍鎿嶄綔鍘嗗彶 this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,update.getCheckInfo()); }else{ @@ -455,6 +463,9 @@ } LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); DispatchUnit dispatchUnit = this.dispatchUnitMapper.selectById(saveDispatchUnitDTO.getId()); + if(!dispatchUnit.getUnitStatus().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娲鹃仯鍗曚綅鏈鎵归�氳繃,鏃犳硶杩涜璇ユ搷浣�"); + } dispatchUnit.setWorktypeStatus(Constants.ZERO); dispatchUnit.setEditDate(new Date()); dispatchUnit.setEditor(loginUserInfo.getId()); @@ -810,13 +821,16 @@ if (pageWrap.getModel().getBaseId() != null) { queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId()); } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } + queryWrapper.orderByAsc(DispatchUnit::getUnitStatus); + queryWrapper.orderByAsc(DispatchUnit::getWorktypeStatus); + queryWrapper.orderByDesc(DispatchUnit::getCreateDate); +// for(PageWrap.SortData sortData: pageWrap.getSorts()) { +// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { +// queryWrapper.orderByDesc(sortData.getProperty()); +// } else { +// queryWrapper.orderByAsc(sortData.getProperty()); +// } +// } PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper)); return pageData; } -- Gitblit v1.9.3