@ -25,12 +25,15 @@ import com.easy.admin.common.api.vo.Result;
import com.easy.admin.common.core.common.pagination.Page ;
import com.easy.admin.common.core.common.select.Select ;
import com.easy.admin.common.core.util.ToolUtil ;
import com.easy.admin.common.util.CommonUtils ;
import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoMapper ;
import com.easy.admin.modules.huzhou.dao.HuzhouProcessinfoMapper ;
import com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper ;
import com.easy.admin.modules.huzhou.dao.WorkflowMapper ;
import com.easy.admin.modules.huzhou.entity.* ;
import com.easy.admin.modules.huzhou.service.IHuzhouProcessinfoService ;
import com.easy.admin.modules.huzhou.vo.WorkflowActionParamOV ;
import com.easy.admin.modules.huzhou.vo.* ;
import com.easy.admin.util.ShiroUtil ;
import com.easy.admin.modules.huzhou.service.IWorkflowService ;
@ -74,7 +77,11 @@ public class WorkflowServiceImpl implements IWorkflowService {
@Autowired
private ActivitiProcessDefinitionService activitiProcessDefinitionService ;
@Autowired
private ActivitiTaskService activitiTaskService ;
private HuzhouProjectinfoMapper projectinfoMapper ;
@Autowired
private HuzhouProcessinfoMapper processinfoMapper ;
@Autowired
private HuzhouPlaninfoMapper planinfoMapper ;
@Autowired
private TaskService taskService ;
@Autowired
@ -264,6 +271,7 @@ public class WorkflowServiceImpl implements IWorkflowService {
select2 . setLabel ( "作废" ) ;
select2 . setValue ( "3" ) ;
actionButtons . add ( select2 ) ;
workflowActionParamOV . setIsEdit ( true ) ;
} else {
Select select1 = new Select ( ) ;
select1 . setLabel ( "同意" ) ;
@ -271,11 +279,11 @@ public class WorkflowServiceImpl implements IWorkflowService {
actionButtons . add ( select1 ) ;
workflowActionParamOV . setIsEdit ( true ) ;
}
Select select1 = new Select ( ) ;
select1 . setLabel ( "同意" ) ;
select1 . setValue ( "1" ) ;
actionButtons . add ( select1 ) ;
workflowActionParamOV . setIsEdit ( true ) ;
// Select select1 = new Select();
// select1.setLabel("同意");
// select1.setValue("1");
// actionButtons.add(select1);
// workflowActionParamOV.setIsEdit(true);
} else if ( "总咨询单位" . equals ( name ) & & ( task . getProcessDefinitionId ( ) . contains ( "feasibilityTechReviewConfirm" ) | | task . getProcessDefinitionId ( ) . contains ( "costEvalReportConfirm" ) ) ) {
Select select1 = new Select ( ) ;
select1 . setLabel ( "同意" ) ;
@ -732,4 +740,118 @@ public class WorkflowServiceImpl implements IWorkflowService {
// }
return sortedList ;
}
@Override
public com . baomidou . mybatisplus . extension . plugins . pagination . Page < UrtsituationOV > getURTProcessPage ( HuzhouProjectinfoOV projectInfo , Integer pageNo , Integer pageSize ) {
//根据项目找到计划,找到计划的联合技术审查,项目可能没有计划就是空
// 联合技术审查id 找到流程processInstanceId,可能为空
//processInstanceId 找流程审批意见
ArrayList < UrtsituationOV > arrayList = new ArrayList < > ( ) ;
com . baomidou . mybatisplus . extension . plugins . pagination . Page page = new com . baomidou . mybatisplus . extension . plugins . pagination . Page ( pageNo , pageSize ) ;
projectInfo . setStage ( "0" ) ;
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils . setGetProjectInfoAuth ( projectInfo ) ;
com . baomidou . mybatisplus . extension . plugins . pagination . Page < HuzhouProjectinfoOV > projectAndChildInfoPageList = projectinfoMapper . getProjectAndChildInfoPageList ( page , projectInfoAuthSelect ) ;
for ( HuzhouProjectinfoOV item :
projectAndChildInfoPageList . getRecords ( ) ) {
UrtsituationOV urtsituationOV = new UrtsituationOV ( ) ;
String id = item . getId ( ) ;
LambdaQueryWrapper < HuzhouPlaninfo > huzhouPlaninfoLambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
huzhouPlaninfoLambdaQueryWrapper . eq ( HuzhouPlaninfo : : getProjectId , id ) ;
huzhouPlaninfoLambdaQueryWrapper . eq ( HuzhouPlaninfo : : getTaskName , "联合技术审查" ) ;
List < HuzhouPlaninfo > huzhouPlaninfos = planinfoMapper . selectList ( huzhouPlaninfoLambdaQueryWrapper ) ;
if ( huzhouPlaninfos . size ( ) = = 1 ) {
String planId = huzhouPlaninfos . get ( 0 ) . getId ( ) ;
LambdaQueryWrapper < HuzhouProcessinfo > processinfoLambdaQueryWrapper = new LambdaQueryWrapper < > ( ) ;
processinfoLambdaQueryWrapper . eq ( HuzhouProcessinfo : : getProjectid , planId ) ;
processinfoLambdaQueryWrapper . ne ( HuzhouProcessinfo : : getProcessstatus , "0" ) ;
List < HuzhouProcessinfo > huzhouProcessinfos = processinfoMapper . selectList ( processinfoLambdaQueryWrapper ) ;
if ( huzhouProcessinfos . size ( ) = = 1 ) {
String processInstanceId = huzhouProcessinfos . get ( 0 ) . getProcessinstanceid ( ) ;
List < HistoricTaskInstance > history = historyService . createHistoricTaskInstanceQuery ( )
. processInstanceId ( processInstanceId ) . orderByHistoricTaskInstanceEndTime ( ) . asc ( )
. list ( ) ;
HashMap < String , String > hashMap = new HashMap < > ( ) ;
for ( HistoricTaskInstance activityInstance :
history ) {
String approvalSuggestion = "" ;
List < Comment > taskComments = taskService . getTaskComments ( activityInstance . getId ( ) ) ;
if ( taskComments ! = null & & ! taskComments . isEmpty ( ) ) {
approvalSuggestion = taskComments . get ( 0 ) . getFullMessage ( ) ;
}
hashMap . put ( activityInstance . getName ( ) , approvalSuggestion ) ;
}
urtsituationOV . setProjectName ( item . getProjectName ( ) ) ;
urtsituationOV . setSczj ( hashMap . get ( "市财政局" ) ) ;
urtsituationOV . setSfzgw ( hashMap . get ( "市发展改革委" ) ) ;
urtsituationOV . setSgaj ( hashMap . get ( "市公安局" ) ) ;
urtsituationOV . setSmmglj ( hashMap . get ( "市密码管理局" ) ) ;
urtsituationOV . setSsjj ( hashMap . get ( "市数据局" ) ) ;
urtsituationOV . setShwjk ( hashMap . get ( "市卫生健康委" ) ) ;
urtsituationOV . setSwxb ( hashMap . get ( "市委网信办" ) ) ;
urtsituationOV . setTaskName ( "联合技术审查" ) ;
urtsituationOV . setIsfinish ( huzhouPlaninfos . get ( 0 ) . getIsfinish ( ) ) ;
urtsituationOV . setId ( id ) ;
urtsituationOV . setPlaninfoid ( planId ) ;
} else {
urtsituationOV . setProjectName ( item . getProjectName ( ) ) ;
}
} else {
urtsituationOV . setProjectName ( item . getProjectName ( ) ) ;
}
arrayList . add ( urtsituationOV ) ;
}
com . baomidou . mybatisplus . extension . plugins . pagination . Page < UrtsituationOV > taskPage = new com . baomidou . mybatisplus . extension . plugins . pagination . Page < > ( ) ;
taskPage . setCurrent ( pageNo ) ;
taskPage . setSize ( pageSize ) ;
taskPage . setTotal ( projectAndChildInfoPageList . getTotal ( ) ) ;
taskPage . setRecords ( arrayList ) ;
return taskPage ;
}
@Override
public com . baomidou . mybatisplus . extension . plugins . pagination . Page < SuperLeaderApprovalDetailsOV > getSuperLeaderApproveInfo ( SuperLeaderApprovalDetailsOV superLeaderApproveInfo , Integer pageNo , Integer pageSize ) {
com . baomidou . mybatisplus . extension . plugins . pagination . Page page = new com . baomidou . mybatisplus . extension . plugins . pagination . Page ( pageNo , pageSize ) ;
com . baomidou . mybatisplus . extension . plugins . pagination . Page < SuperLeaderApprovalDetailsOV > info = workflowMapper . getSuperLeaderInfoAndReformInfo ( page ) ;
info . getRecords ( ) . forEach ( item - > {
List < Integer > unApprovedDays = workflowMapper . getUnApprovedDays ( item . getSuperLeader ( ) , item . getReformName ( ) ) ;
if ( unApprovedDays ! = null & & unApprovedDays . size ( ) > 0 ) {
item . setUnapprovedCount ( unApprovedDays . stream ( ) . filter ( count - > count = = 0 ) . count ( ) ) ;
item . setUnapprovedCount2d ( unApprovedDays . stream ( ) . filter ( count - > count = = 2 ) . count ( ) ) ;
item . setUnapprovedCount3d ( unApprovedDays . stream ( ) . filter ( count - > count = = 3 ) . count ( ) ) ;
item . setUnapprovedCount5d ( unApprovedDays . stream ( ) . filter ( count - > count = = 5 ) . count ( ) ) ;
item . setUnapprovedCountOver5d ( unApprovedDays . stream ( ) . filter ( count - > count > 5 ) . count ( ) ) ;
} else {
item . setUnapprovedCount ( 0L ) ;
item . setUnapprovedCount2d ( 0L ) ;
item . setUnapprovedCount3d ( 0L ) ;
item . setUnapprovedCount5d ( 0L ) ;
item . setUnapprovedCountOver5d ( 0L ) ;
}
} ) ;
return info ;
}
@Override
public com . baomidou . mybatisplus . extension . plugins . pagination . Page < SuperLeaderApprovalDetailsOV > getURTUnApprovedDaysPage ( SuperLeaderApprovalDetailsOV superLeaderApproveInfo , Integer pageNo , Integer pageSize ) {
com . baomidou . mybatisplus . extension . plugins . pagination . Page page = new com . baomidou . mybatisplus . extension . plugins . pagination . Page ( pageNo , pageSize ) ;
com . baomidou . mybatisplus . extension . plugins . pagination . Page < SuperLeaderApprovalDetailsOV > urtDepInfo = workflowMapper . getURTDepInfo ( page ) ;
urtDepInfo . getRecords ( ) . forEach ( item - > {
List < Integer > unApprovedDays = workflowMapper . getURTUnApprovedDays ( item . getUrtDep ( ) . replace ( "负责人" , "" ) ) ;
if ( unApprovedDays ! = null & & unApprovedDays . size ( ) > 0 ) {
item . setUnapprovedCount ( unApprovedDays . stream ( ) . filter ( count - > count = = 0 ) . count ( ) ) ;
item . setUnapprovedCount2d ( unApprovedDays . stream ( ) . filter ( count - > count = = 2 ) . count ( ) ) ;
item . setUnapprovedCount3d ( unApprovedDays . stream ( ) . filter ( count - > count = = 3 ) . count ( ) ) ;
item . setUnapprovedCount5d ( unApprovedDays . stream ( ) . filter ( count - > count = = 5 ) . count ( ) ) ;
item . setUnapprovedCountOver5d ( unApprovedDays . stream ( ) . filter ( count - > count > 5 ) . count ( ) ) ;
} else {
item . setUnapprovedCount ( 0L ) ;
item . setUnapprovedCount2d ( 0L ) ;
item . setUnapprovedCount3d ( 0L ) ;
item . setUnapprovedCount5d ( 0L ) ;
item . setUnapprovedCountOver5d ( 0L ) ;
}
} ) ;
return urtDepInfo ;
}
}