From a5ef1518e11684ec903cbe0b6952403ef9297d0e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 20 五月 2025 11:21:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 43 insertions(+), 5 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 3e7672d..f3210d9 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
@@ -147,6 +147,7 @@
newVersion.setCheckDate(update.getEditDate());
newVersion.setCheckUserId(update.getCheckUserId());
newVersion.setCheckInfo(update.getCheckInfo());
+ newVersion.setStatus(Constants.ZERO);
newVersion.setCreateDate(update.getCreateDate());
newVersion.setCreator(update.getEditor());
newVersion.setBaseId(model.getId());
@@ -184,6 +185,7 @@
for (DuSolution s : solutions){
DuSolution ns = new DuSolution();
BeanUtils.copyProperties(s, ns);
+ ns.setId(null);
ns.setDispatchUnitId(newVersion.getId());
ns.setCheckDate(update.getEditDate());
ns.setStatus(Constants.ONE);
@@ -209,8 +211,13 @@
for (DuWorktype w : worktypes) {
+ if(Constants.equalsInteger(w.getStatus(),Constants.TWO)){
+ continue;
+ }
DuWorktype nw = new DuWorktype();
BeanUtils.copyProperties(w, nw);
+ nw.setId(null);
+ nw.setCreateDate(new Date());
nw.setCheckDate(update.getEditDate());
nw.setStatus(Constants.ONE);
nw.setDuSolutionId(ns.getId());
@@ -284,7 +291,6 @@
//鍒犻櫎鍏朵粬寰呭姙
noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
-
return 1;
}
@Override
@@ -301,6 +307,7 @@
.eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
.eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
.eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+ .eq(DispatchUnit::getDataType,Constants.ZERO)
)> Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
};
@@ -404,9 +411,11 @@
}
if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
.ne(DispatchUnit::getId,saveDispatchUnitDTO.getId())
+ .ne(DispatchUnit::getBaseId,saveDispatchUnitDTO.getId())
.eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
.eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
.eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+ .eq(DispatchUnit::getDataType,Constants.ZERO)
)> Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
};
@@ -417,6 +426,11 @@
dispatchUnit.setEditDate(new Date());
dispatchUnit.setEditor(loginUserInfo.getId());
dispatchUnitMapper.updateById(dispatchUnit);
+
+ dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda().set(DispatchUnit::getDataType,Constants.ONE).eq(DispatchUnit::getBaseId,dispatchUnit.getId())
+ .eq(DispatchUnit::getDataType,Constants.TWO)
+ );
+
//瀛樺偍鎿嶄綔璁板綍
this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null);
@@ -486,7 +500,7 @@
DuSolution duSolution = duSolutionMapper.selectOne(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDispatchUnitDTO.getId())
.eq(DuSolution::getIsdeleted,Constants.ZERO)
.eq(DuSolution::getSolutionId,saveDuSolutionDTO.getSolutionId()).last("limit 1"));
- Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId()));
+ Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId())).intValue();
if(Objects.isNull(duSolution)){
duSolution = new DuSolution();
duSolution.setCreateDate(new Date());
@@ -518,7 +532,7 @@
.eq(DuWorktype::getWorkTypeId,saveDuWorkTypeDTO.getWorkTypeId()))>0){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶅凡瀛樺湪");
}
- Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()));
+ Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())).intValue();
DuWorktype duWorktype = new DuWorktype();
duWorktype.setCreateDate(new Date());
duWorktype.setCreator(loginUserInfo.getId());
@@ -670,7 +684,20 @@
@Override
public void deleteById(Integer id) {
- dispatchUnitMapper.deleteById(id);
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id);
+ if(Objects.isNull(dispatchUnit)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(dispatchUnit.getUnitStatus().equals(Constants.TWO)){
+ dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
+ .set(DispatchUnit::getEditor,loginUserInfo.getId())
+ .set(DispatchUnit::getEditDate,new Date())
+ .set(DispatchUnit::getIsdeleted,Constants.ONE)
+ .eq(DispatchUnit::getId,id));
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠娲鹃仯鍗曚綅鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+ }
}
@Override
@@ -690,6 +717,14 @@
@Override
public void updateById(DispatchUnit dispatchUnit) {
dispatchUnitMapper.updateById(dispatchUnit);
+ //鏇存柊鍘嗗彶琛ㄧ姸鎬�
+ if(Objects.nonNull(dispatchUnit.getId())&& Objects.nonNull(dispatchUnit.getStatus())){
+ dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
+ .set(DispatchUnit::getStatus,dispatchUnit.getStatus())
+ .eq(DispatchUnit::getDataType,Constants.TWO)
+ .eq(DispatchUnit::getBaseId,dispatchUnit.getId())
+ );
+ }
}
@Override
@@ -847,7 +882,9 @@
.selectAll(DuSolution.class)
.selectAs(Solutions::getName,DuSolution::getSolutionName)
.leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId)
+ .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
.eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())
+ .eq(CompanySolution::getCompanyId,dispatchUnit.getCompanyId())
.orderByAsc(DuSolution::getSortnum)
);
if(CollectionUtils.isNotEmpty(duSolutionList)){
@@ -900,8 +937,9 @@
new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class)
.eq(DispatchUnit::getIsdeleted,Constants.ZERO)
.eq(DispatchUnit::getStatus,Constants.ZERO)
- .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" )
+ .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" order by b.CHECK_DATE desc limit 1) as du_solution_id" )
.eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
+ .eq(Objects.nonNull(dispatchUnitQueryDTO.getCompanyId()),DispatchUnit::getCompanyId,dispatchUnitQueryDTO.getCompanyId())
.eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
.eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
.exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),
--
Gitblit v1.9.3