待办中心开发-待办列表接口修改。
This commit is contained in:
@@ -1218,3 +1218,7 @@ CREATE TABLE `laws_weilai`.`process_info_detail` (
|
||||
`flow_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '流程类型',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程信息明细表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- 待办中心 流程信息明细表 增加字段 2022-10-18 未同步生产环境
|
||||
ALTER TABLE `laws_weilai`.`process_info_detail`
|
||||
ADD COLUMN `end_time` datetime NULL COMMENT '截止时间' AFTER `flow_type`;
|
||||
|
||||
+16
-15
@@ -1393,6 +1393,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
//清单确认截止时间
|
||||
String inventoryAffirmDueDate = json.getString("inventoryAffirmDueDate");
|
||||
Date endTime = new Date();
|
||||
try {
|
||||
endTime = sdf.parse(inventoryAffirmDueDate);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||
if(StringUtils.isNotEmpty(ids)){
|
||||
@@ -1404,9 +1410,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
|
||||
List<String> tempUserIdList = new ArrayList<>();
|
||||
|
||||
//tempUserIdList 未发起或拒绝 可以发起清单确认
|
||||
//未发起或拒绝 可以发起清单确认
|
||||
boolean checkStatus = (StringUtils.equals(projectLawsInventoryEO.getInventoryAffirmStatus(),InventoryAffirmStatusEnum.NOT_STARTED.getValue())
|
||||
||StringUtils.equals(projectLawsInventoryEO.getInventoryAffirmStatus(),InventoryAffirmStatusEnum.REJECTED.getValue()));
|
||||
//如果该数据的法规工程师、认证工程师都不为空
|
||||
@@ -1436,6 +1440,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getHomologationEngineerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.HOMOLOGATION_ENGINEER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
if(regulationOwnerFlag){
|
||||
@@ -1446,6 +1451,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
@@ -1497,8 +1503,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|
||||
//往待办中心添加数据。
|
||||
ProcessInfoEO processInfoEO = new ProcessInfoEO();
|
||||
this.addProcessInfo(processInfoEO,projectLibraryId,inventoryAffirmDueDate);
|
||||
this.addProcessInfoDetail(processInfoEO.getId(),processInfoDetailEOList);
|
||||
this.addProcessInfo(processInfoEO,projectLibraryId,endTime);
|
||||
this.addProcessInfoDetail(processInfoEO.getId(),processInfoDetailEOList,endTime);
|
||||
}
|
||||
|
||||
result = "发起清单确认";
|
||||
@@ -8623,9 +8629,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
* 添加流程信息
|
||||
* @param processInfoEO
|
||||
* @param projectLibraryId
|
||||
* @param inventoryAffirmDueDate
|
||||
* @param endTime
|
||||
*/
|
||||
public void addProcessInfo(ProcessInfoEO processInfoEO,String projectLibraryId,String inventoryAffirmDueDate){
|
||||
public void addProcessInfo(ProcessInfoEO processInfoEO,String projectLibraryId,Date endTime){
|
||||
String id = null;
|
||||
//查询当前项目之前有没有启动过清单确认
|
||||
QueryWrapper<ProcessInfoEO> processInfoQueryWrap = new QueryWrapper<>();
|
||||
@@ -8643,13 +8649,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoEO.setId(id);
|
||||
processInfoEO.setProjectLibraryId(projectLibraryId);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date endTime = new Date();
|
||||
try {
|
||||
endTime = sdf.parse(inventoryAffirmDueDate);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
processInfoEO.setEndTime(endTime);
|
||||
processInfoEO.setStatus(TodoCenterStatusEnum.LIST_TO_CONFIRM.getValue());
|
||||
processInfoEO.setFlowType(FlowTypeEnum.QDQR.getValue());
|
||||
@@ -8663,8 +8662,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
* 添加流程信息,用户的待办、已办信息。
|
||||
* @param processInfoId
|
||||
* @param processInfoDetailEOList
|
||||
* @param endTime
|
||||
*/
|
||||
public void addProcessInfoDetail(String processInfoId,List<ProcessInfoDetailEO> processInfoDetailEOList){
|
||||
public void addProcessInfoDetail(String processInfoId,List<ProcessInfoDetailEO> processInfoDetailEOList,Date endTime){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
processInfoDetailEOList.forEach(detail -> {
|
||||
@@ -8691,6 +8691,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setUpdateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(currentUser.getId());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
|
||||
//删除studio在这个项目的清单确认已办任务。
|
||||
|
||||
+6
@@ -113,4 +113,10 @@ public class ProcessInfoDetailEO implements Serializable {
|
||||
@ApiModelProperty(value = "流程类型")
|
||||
private java.lang.String flowType;
|
||||
|
||||
/**截止时间*/
|
||||
@Excel(name = "截止时间", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "截止时间")
|
||||
private java.util.Date endTime;
|
||||
}
|
||||
|
||||
+6
@@ -126,4 +126,10 @@ public class ProcessInfoEO implements Serializable {
|
||||
/**年份*/
|
||||
@TableField(exist = false)
|
||||
private String yearName;
|
||||
/**待办id*/
|
||||
@TableField(exist = false)
|
||||
private String taskId;
|
||||
/**任务节点定义key*/
|
||||
@TableField(exist = false)
|
||||
private String taskDefinitionKey;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,8 @@
|
||||
package com.jero.modules.todoCenter.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
@@ -17,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
public interface ProcessInfoEOMapper extends BaseMapper<ProcessInfoEO> {
|
||||
|
||||
IPage<ProcessInfoEO> queryPageList(IPage page,Map<String, Object> params);
|
||||
|
||||
IPage<ProcessInfoEO> queryProjectProcessTodoTaskListList(IPage page,Map<String, Object> params);
|
||||
}
|
||||
|
||||
+102
@@ -85,5 +85,107 @@
|
||||
left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
<include refid="BaseQuerySql"/>
|
||||
order by pi.create_time desc
|
||||
</select>
|
||||
<select id="queryProjectProcessTodoTaskListList" resultType="com.jero.modules.todoCenter.entity.ProcessInfoEO">
|
||||
select temp.* from (
|
||||
SELECT
|
||||
pi.id,
|
||||
pi.project_library_id,
|
||||
pi.project_laws_inventory_id,
|
||||
pi.buss_document_library_id,
|
||||
pi.acti_proc_inst_id,
|
||||
pni.project_name,
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
pi.flow_type,
|
||||
createBy.username AS "create_by",
|
||||
pi.end_time,
|
||||
(select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1) as task_id,
|
||||
(select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1) as task_definition_key,
|
||||
pi.STATUS
|
||||
FROM
|
||||
process_info pi
|
||||
LEFT JOIN project_library_base plb ON plb.id = pi.project_library_id
|
||||
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
|
||||
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
|
||||
LEFT JOIN project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
|
||||
where
|
||||
(
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where
|
||||
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
)
|
||||
)
|
||||
AND pi.flow_type IN
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
union
|
||||
SELECT
|
||||
pi.id,
|
||||
pi.project_library_id,
|
||||
pi.project_laws_inventory_id,
|
||||
pi.buss_document_library_id,
|
||||
pi.acti_proc_inst_id,
|
||||
pni.project_name,
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
pi.flow_type,
|
||||
createBy.username AS "create_by",
|
||||
(select pid.end_time from process_info_detail pid where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1) as end_time,
|
||||
'' as task_id,
|
||||
'' as task_definition_key,
|
||||
pi.STATUS
|
||||
FROM
|
||||
process_info pi
|
||||
LEFT JOIN project_library_base plb ON plb.id = pi.project_library_id
|
||||
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
|
||||
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
|
||||
LEFT JOIN project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
|
||||
WHERE
|
||||
(
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where
|
||||
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
)
|
||||
)
|
||||
AND pi.flow_type = #{params.qdqrFlowTypeValue}
|
||||
)temp
|
||||
<where>
|
||||
<if test="params.projectName != null and params.projectName !=''">
|
||||
and (
|
||||
temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
)
|
||||
</if>
|
||||
<if test="params.serialNumber != null and params.serialNumber !=''">
|
||||
and (
|
||||
temp.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
|
||||
)
|
||||
</if>
|
||||
<if test="params.flowType != null and params.flowType !=''">
|
||||
and temp.flow_type = #{params.flowType}
|
||||
</if>
|
||||
<if test="params.status != null and params.status !=''">
|
||||
and temp.status = #{params.status}
|
||||
</if>
|
||||
<if test="params.createBy != null and params.createBy != ''">
|
||||
and temp.create_by = #{params.createBy}
|
||||
</if>
|
||||
</where>
|
||||
order by temp.end_time asc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+6
-2
@@ -150,13 +150,17 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
this.setFlowTypeList(flowTypeList);
|
||||
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
params.put("taskStatus", TaskStatusEnum.NOT_DONE.getValue());
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("qdqrFlowTypeValue",FlowTypeEnum.QDQR.getValue());
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoEO> result = this.baseMapper.queryPageList(page,params);
|
||||
IPage<ProcessInfoEO> result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user