Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
845ac5d2db
  1. 29
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java
  2. 28
      xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java
  3. 6
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml

29
xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java

@ -312,14 +312,12 @@ public class XmProjectPhaseController {
if(exists>0) {
tips.setFailureMsg("存在"+exists+"条任务,不允许删除");
}else {
Long checkExistsChildren =xmProjectPhaseService.checkExistsChildren(xmProjectPhase.getId());
if(checkExistsChildren>0) {
tips.setFailureMsg("存在"+checkExistsChildren+"条子计划,不允许删除");
}else {
xmProjectPhaseService.deleteByPk(xmProjectPhase);
xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-计划-删除计划", "删除计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null);
XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(xmProjectPhase);
if(xmProjectPhaseDb.getChildrenCnt()!=null && xmProjectPhaseDb.getChildrenCnt()>0){
tips.setFailureMsg("存在"+xmProjectPhaseDb.getChildrenCnt()+"条子计划,不允许删除");
} else {
xmProjectPhaseService.deleteByPk(xmProjectPhaseDb);
xmRecordService.addXmPhaseRecord(xmProjectPhaseDb.getProjectId(), xmProjectPhaseDb.getId(), "项目-计划-删除计划", "删除计划"+xmProjectPhaseDb.getPhaseName(),JSON.toJSONString(xmProjectPhaseDb),null);
}
}
@ -379,8 +377,7 @@ public class XmProjectPhaseController {
Tips judgetTips=xmProjectPhaseService.judgetBudget(projectId, phaseBudgetCost,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,phaseBudgetNouserAt,excludePhaseIds);
if(judgetTips.isOk()) {
xmProjectPhase=xmProjectPhaseService.autoCalcWorkload(xmProjectPhase);
xmProjectPhaseService.updateByPk(xmProjectPhase);
xmProjectPhaseService.sumParents(xmProjectPhase);
xmProjectPhaseService.editByPk(xmProjectPhase);
xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-计划-修改计划", "修改计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null);
}else {
@ -417,6 +414,11 @@ public class XmProjectPhaseController {
return m;
}
XmProjectPhase xmProjectPhase=xmProjectPhases.get(0);
if(!StringUtils.hasText(xmProjectPhase.getProjectId())){
tips.setFailureMsg("项目编号不能为空");
m.put("tips", tips);
return m;
}
List<String> noDelList=new ArrayList<>();
List<String> hasChildList=new ArrayList<>();
int delCount=0;
@ -431,7 +433,8 @@ public class XmProjectPhaseController {
}
List<String> noQxUsernames=new ArrayList<>();
List<XmProjectPhase> delPhases=new ArrayList<>();
for (XmProjectPhase phase : xmProjectPhases) {
List<XmProjectPhase> xmProjectPhaseListDb=this.xmProjectPhaseService.selectListByIds(xmProjectPhases.stream().map(i->i.getId()).collect(Collectors.toList()));
for (XmProjectPhase phase : xmProjectPhaseListDb) {
boolean meIsHisTeamHead=groupService.checkUserIsOtherUserTeamHead(groupVoList,phase.getMngUserid(),user.getUserid());
if( !meIsPm && !meIsHisTeamHead ){
noQxUsernames.add(phase.getMngUsername());
@ -448,7 +451,7 @@ public class XmProjectPhaseController {
List<XmProjectPhase> canDelNodes=new ArrayList<>();
for (XmProjectPhase phase : delPhases) {
boolean canDelAllChild =xmProjectPhaseService.checkCanDelAllChild(phase,xmProjectPhases);
boolean canDelAllChild =xmProjectPhaseService.checkCanDelAllChild(phase,delPhases);
if(!canDelAllChild) {
hasChildList.add(phase.getPhaseName());
}else {
@ -456,7 +459,7 @@ public class XmProjectPhaseController {
}
}
if(canDelNodes.size()>0){
this.xmProjectPhaseService.doBatchDelete(delPhases);
this.xmProjectPhaseService.doBatchDelete(canDelNodes);
}
String noQxTips="";
if(noQxUsernames.size()>0){

28
xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java

@ -64,8 +64,7 @@ public class XmProjectPhaseService extends BaseService {
public int insert(XmProjectPhase parameter) {
int i= super.insert(parameter);
if(StringUtils.hasText(parameter.getParentPhaseId())){
this.updatePhaseChildrenCntByPhaseId(parameter.getParentPhaseId());
sumParents(parameter);
sumParents(parameter);
}
return i;
@ -76,7 +75,6 @@ public class XmProjectPhaseService extends BaseService {
public int deleteByPk(XmProjectPhase parameter) {
int i= super.deleteByPk(parameter);
if(StringUtils.hasText(parameter.getParentPhaseId())){
this.updatePhaseChildrenCntByPhaseId(parameter.getParentPhaseId());
sumParents(parameter);
}
return i;
@ -232,15 +230,6 @@ public class XmProjectPhaseService extends BaseService {
if(editList.size()>0) {
this.batchUpdate(editList);
}
List<String> ids=new ArrayList<>();
List<XmProjectPhase> list= xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList());
list=list.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList());
ids=list.stream().map(i->i.getParentPhaseId()).collect(Collectors.toList());
ids=ids.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList());
if(list.size()>0){
this.updateChildrenCntByIds(ids);
}
this.batchSumParents(xmProjectPhases.stream().map(i->(XmProjectPhase)i).collect(Collectors.toList()));
}
@ -258,11 +247,6 @@ public class XmProjectPhaseService extends BaseService {
}
}
super.batchInsert(xmProjectPhases);
List<XmProjectPhase> list= xmProjectPhases.stream().filter(i->!xmProjectPhases.stream().filter(k->k.getId().equals(i.getParentPhaseId())).findAny().isPresent()).collect(Collectors.toList());
list=list.stream().filter(i->StringUtils.hasText(i.getParentPhaseId())).collect(Collectors.toList());
if(list.size()>0){
this.updateChildrenCntByIds(list.stream().map(i->i.getParentPhaseId()).collect(Collectors.toSet()).stream().collect(Collectors.toList()));
}
batchSumParents(xmProjectPhases);
}
@ -464,5 +448,15 @@ public class XmProjectPhaseService extends BaseService {
}
}
@Transactional
public void editByPk(XmProjectPhase xmProjectPhase) {
super.updateByPk(xmProjectPhase);
this.sumParents(xmProjectPhase);
}
public List<XmProjectPhase> selectListByIds(List<String> ids) {
return super.selectList("selectListByIds",ids);
}
}

6
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml

@ -170,6 +170,12 @@
</foreach>
and res.ntype='1'
</update>
<select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmProjectPhase">
select * from xm_project_phase res where res.id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
</select>
<!--结束 自定义sql函数区域-->

Loading…
Cancel
Save