政策征求意见流程开发、对接。

This commit is contained in:
wangzhijiang
2023-10-23 14:27:06 +08:00
parent 6fa188cf35
commit c5ef2042b0
9 changed files with 260 additions and 1 deletions
@@ -509,4 +509,7 @@ public interface workFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/fushen",method = RequestMethod.GET)
String fushen();
@RequestMapping(value = "/bat-wkflow/datas/policySolicitOpinion/queryPolicitOpinionEOList",method = RequestMethod.GET)
ResponseMessage<List<PolicySolicitOpinionEO>> queryPolicitOpinionEOList(@RequestParam Map<String, Object> params);
}
@@ -479,4 +479,8 @@ public class workFlowFeignClientImpl {
public String fushen() {
return workFlowFeignClient.fushen();
}
public ResponseMessage<List<PolicySolicitOpinionEO>> queryPolicitOpinionEOList(@RequestParam Map<String, Object> params) {
return this.workFlowFeignClient.queryPolicitOpinionEOList(params);
}
}
@@ -58,4 +58,6 @@ public class BusProcessName implements Serializable {
private String taskBackAssignee;
private boolean showreceive;
private String taskDefinitionKey;
}
@@ -0,0 +1,108 @@
package com.adc.da.common;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.adc.da.att.entity.AttFileEO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* @Description: 政策征求意见列表
* @author: wangzhijiang
* @date: 2023-10-18
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="PolicySolicitOpinion对象", description="")
public class PolicySolicitOpinionEO {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
@TableField("PRC_ID")
private String prcId;
@TableField("SAR_LAWS_INFO_ID")
private String sarLawsInfoId;
// 章节编号
@Excel(name = "章节编号", orderNum = "1")
@TableField("CHAPTER_NUMBER")
private String chapterNumber;
// 章节条目
@Excel(name = "章节条目", orderNum = "2")
@TableField("CHAPTER_ENTRIES")
private String chapterEntries;
// 修改前
@Excel(name = "修改前", orderNum = "3")
@TableField("MODIFY_BEFORE")
private String modifyBefore;
// 修改后
@Excel(name = "修改后", orderNum = "4")
@TableField("MODIFY_AFTER")
private String modifyAfter;
// 修改理由
@Excel(name = "修改理由", orderNum = "5")
@TableField("MODIFY_REASON")
private String modifyReason;
// 原因
@Excel(name = "原因", orderNum = "6")
@TableField("CAUSE")
private String cause;
// 附件id
@TableField("ANNEX_FILE_ID")
private String annexFileId;
@Excel(name = "附件", orderNum = "7")
private String annexFileName;
private List<AttFileEO> annexFileList;
// 处理意见
@Excel(name = "处理意见", orderNum = "10")
@TableField("HANDLING_OPINIONS")
private String handlingOpinions;
// 处理原因
@Excel(name = "处理原因", orderNum = "11")
@TableField("HANDLING_CAUSE")
private String handlingCause;
// 提出人/创建人/责任人
@TableField("CREATE_USER_ID")
private String createUserId;
// 提出人/创建人/责任人
@Excel(name = "提出人", orderNum = "9")
private String createUserName;
// 提出部门/创建人所在部门
@Excel(name = "提出部门", orderNum = "8")
private String createUserDeptName;
// 创建时间
@TableField("CREATE_TIME")
private Date createTime;
// 更新人
@TableField("MODIFY_USER_ID")
private String modifyUserId;
// 更新时间
@TableField("MODIFY_TIME")
private Date modifyTime;
}
@@ -41,6 +41,7 @@ import com.adc.da.sys.common.EmailUtils;
import com.adc.da.sys.dao.DicTypeEODao;
import com.adc.da.sys.entity.DicTypeEO;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.page.UserEOPage;
import com.adc.da.sys.service.IUserEOService;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.workFlow.entity.*;
@@ -49,6 +50,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.poi.ss.usermodel.Workbook;
@@ -1523,4 +1525,90 @@ public class WorkFlowController extends BaseController {
public void conversionOnlineFilePDF(){
// return workFlowFeignClient.conversionOnlineFilePDF();
}
@ApiOperation(value = "查询政策征求意见列表")
@GetMapping("/queryPolicitOpinionEOList")
public ResponseMessage<List<PolicySolicitOpinionEO>> queryPolicitOpinionEOList(@RequestParam Map<String,Object> params) {
String currentUserId = LoginUserUtil.getUserId();
params.put("currentUserId", currentUserId);
ResponseMessage<List<PolicySolicitOpinionEO>> responseMessage = this.workFlowFeignClient.queryPolicitOpinionEOList(params);
List<PolicySolicitOpinionEO> datas = responseMessage.getData();
this.disposeData(datas);
return responseMessage;
}
public void disposeData(List<PolicySolicitOpinionEO> datas) {
if (CollectionUtils.isNotEmpty(datas)) {
List<String> userIdList = datas.stream().map(PolicySolicitOpinionEO::getCreateUserId).distinct().collect(Collectors.toList());
UserEOPage page = new UserEOPage();
page.setUsidList(userIdList);
List<UserEO> userEOS = this.userEOService.queryUserEoList(page);
String annexFileIds = Arrays.asList(
datas.stream().map(PolicySolicitOpinionEO::getAnnexFileId).collect(Collectors.joining(",")).split(",")
).stream().distinct().collect(Collectors.joining(","));
List<AttFileEO> fileInfoList = this.attFileEOService.getMultiFileInfos(annexFileIds);
for (PolicySolicitOpinionEO data : datas) {
List<UserEO> userEOList = userEOS.stream().filter(user -> {
return StringUtils.equals(data.getCreateUserId(), user.getUsid());
}).distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(userEOList)) {
data.setCreateUserName(userEOList.get(0).getUname());
data.setCreateUserDeptName(userEOList.get(0).getInstitutionName());
}
if (StringUtils.isNotEmpty(data.getAnnexFileId())) {
List<String> annexFileIdList = Arrays.asList(data.getAnnexFileId().split(","));
if (CollectionUtils.isNotEmpty(fileInfoList) && CollectionUtils.isNotEmpty(annexFileIdList)) {
List<AttFileEO> annexFileList = fileInfoList.stream().filter(fileInfo -> {
boolean flag = false;
for (String annexFileId : annexFileIdList) {
if (StringUtils.equals(fileInfo.getId(), annexFileId)) {
flag = true;
break;
}
}
return flag;
}).distinct().collect(Collectors.toList());
data.setAnnexFileList(annexFileList);
String annexFileNames = annexFileList.stream().map(AttFileEO::getOldFileName).distinct().collect(Collectors.joining(","));
data.setAnnexFileName(annexFileNames);
}
}
}
}
}
@ApiOperation(value = "导出政策征求意见列表")
@GetMapping("/exportPolicitOpinionEOListExcel")
public void exportExcel(HttpServletRequest request, HttpServletResponse response, String exportName, @RequestParam Map<String,Object> params) throws Exception {
OutputStream os = null;
Workbook workbook = null;
ResponseMessage<List<PolicySolicitOpinionEO>> responseMessage = this.workFlowFeignClient.queryPolicitOpinionEOList(params);
List<PolicySolicitOpinionEO> exportDataList = responseMessage.getData();
this.disposeData(exportDataList);
try {
if (StringUtils.isEmpty(exportName)) {
exportName = "征求意见列表";
}
response.setHeader("Content-Disposition",
"attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx",request));
response.setContentType("application/force-download");
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
workbook = ExcelExportUtil.exportExcel(exportParams, PolicySolicitOpinionEO.class, exportDataList);
workbook.setSheetName(0,"Sheet1");
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
e.printStackTrace();
throw new AdcDaBaseException("导出" + exportName + "列表数据失败,请重试");
} finally {
IOUtils.closeQuietly(os);
}
}
}
@@ -107,6 +107,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/lawss/activiti/processModelHisOneCount");
addInterceptor.excludePathPatterns("/api/lawss/activiti/exportPolicitOpinionEOListExcel");
addInterceptor.excludePathPatterns("/api/att/attFile/getSyncPdfFileInfo");
//附件下载
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSar");
@@ -2,6 +2,8 @@ package com.adc.da.sys.page;
import com.adc.da.base.page.BasePage;
import java.util.List;
/**
* <b>功能:</b>TS_USER UserEOPage<br>
@@ -11,6 +13,7 @@ import com.adc.da.base.page.BasePage;
*/
public class UserEOPage extends BasePage {
private List<String> usidList;
private String usid;
private String usidOperator = "=";
private String account;
@@ -40,6 +43,13 @@ public class UserEOPage extends BasePage {
private boolean disAdmin=true;
public List<String> getUsidList() {
return usidList;
}
public void setUsidList(List<String> usidList) {
this.usidList = usidList;
}
public String getUsid() {
return this.usid;
@@ -141,6 +141,12 @@
<if test="userType != null">
and user_type ${userTypeOperator} #{userType}
</if>
<if test="usidList != null">
and usid in
<foreach collection="usidList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</trim>
</sql>
<!-- 查询条件 (不让管理员显示出来 TU.usid != 'WY8J26MH23')-->
+37 -1
View File
@@ -1,2 +1,38 @@
-- 流程数据库,增加字段。
ALTER TABLE `bus_process_name` ADD COLUMN `RESPONSIBLE_UNIT_DEADLINE_DATE` datetime NULL COMMENT '责任单位截止日期' AFTER `END_TIME`;
ALTER TABLE `bus_process_name` ADD COLUMN `RESPONSIBLE_UNIT_DEADLINE_DATE` datetime NULL COMMENT '责任单位截止日期' AFTER `END_TIME`;
-- 流程数据库,增加 政策征求意见列表 表。
CREATE TABLE `POLICY_SOLICIT_OPINION` (
`ID` varchar(64) NOT NULL COMMENT '主键id',
`PRC_ID` varchar(64) NOT NULL COMMENT '流程实例id',
`SAR_LAWS_INFO_ID` varchar(64) NOT NULL COMMENT '政策信息数据id',
`CHAPTER_NUMBER` varchar(400) NULL COMMENT '章节编号',
`CHAPTER_ENTRIES` varchar(400) NULL COMMENT '章节条目',
`MODIFY_BEFORE` varchar(400) NULL COMMENT '修改前',
`MODIFY_AFTER` varchar(400) NULL COMMENT '修改后',
`MODIFY_REASON` varchar(400) NULL COMMENT '修改理由',
`CAUSE` varchar(400) NULL COMMENT '原因',
`ANNEX_FILE_ID` varchar(4000) NULL COMMENT '附件id',
`HANDLING_OPINIONS` varchar(400) NULL COMMENT '处理意见',
`HANDLING_CAUSE` varchar(400) NULL COMMENT '处理原因',
`CREATE_USER_ID` varchar(64) NULL COMMENT '创建人id',
`CREATE_TIME` datetime NULL COMMENT '创建时间',
`MODIFY_USER_ID` varchar(64) NULL COMMENT '更新人id',
`MODIFY_TIME` datetime NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) COMMENT = '政策征求意见列表';
-- 流程数据库,增加 流程用户关系表
CREATE TABLE `t_flow_user_rel_info` (
`id` varchar(64) NOT NULL COMMENT '主键id',
`flow_type` varchar(10) NULL COMMENT '流程类型,对应系统中FlowTypeEnum中value',
`data_type` varchar(50) NULL COMMENT '数据类型,对应系统中DataTypeEnum中value',
`user_id` varchar(64) NULL COMMENT '用户id',
`parent_user_id` varchar(64) NULL COMMENT '上级用户id',
`stand_id` varchar(64) NULL COMMENT '标准id',
`task_id` varchar(64) NULL COMMENT '待办id',
`acti_proc_inst_id` varchar(64) NULL COMMENT '流程实例id',
`create_time` datetime NULL COMMENT '创建时间',
`create_by` varchar(64) NULL COMMENT '创建人id',
PRIMARY KEY (`id`) USING BTREE
) COMMENT = '流程用户关系表';