政策征求意见流程开发、对接。
This commit is contained in:
@@ -509,4 +509,7 @@ public interface workFlowFeignClient {
|
|||||||
|
|
||||||
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/fushen",method = RequestMethod.GET)
|
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/fushen",method = RequestMethod.GET)
|
||||||
String fushen();
|
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() {
|
public String fushen() {
|
||||||
return workFlowFeignClient.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 String taskBackAssignee;
|
||||||
|
|
||||||
private boolean showreceive;
|
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.dao.DicTypeEODao;
|
||||||
import com.adc.da.sys.entity.DicTypeEO;
|
import com.adc.da.sys.entity.DicTypeEO;
|
||||||
import com.adc.da.sys.entity.UserEO;
|
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.sys.service.IUserEOService;
|
||||||
import com.adc.da.util.LoginUserUtil;
|
import com.adc.da.util.LoginUserUtil;
|
||||||
import com.adc.da.workFlow.entity.*;
|
import com.adc.da.workFlow.entity.*;
|
||||||
@@ -49,6 +50,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
@@ -1523,4 +1525,90 @@ public class WorkFlowController extends BaseController {
|
|||||||
public void conversionOnlineFilePDF(){
|
public void conversionOnlineFilePDF(){
|
||||||
// return workFlowFeignClient.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/processModelHisOneCount");
|
||||||
|
|
||||||
|
addInterceptor.excludePathPatterns("/api/lawss/activiti/exportPolicitOpinionEOListExcel");
|
||||||
|
|
||||||
addInterceptor.excludePathPatterns("/api/att/attFile/getSyncPdfFileInfo");
|
addInterceptor.excludePathPatterns("/api/att/attFile/getSyncPdfFileInfo");
|
||||||
//附件下载
|
//附件下载
|
||||||
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSar");
|
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSar");
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.adc.da.sys.page;
|
|||||||
|
|
||||||
import com.adc.da.base.page.BasePage;
|
import com.adc.da.base.page.BasePage;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <b>功能:</b>TS_USER UserEOPage<br>
|
* <b>功能:</b>TS_USER UserEOPage<br>
|
||||||
@@ -11,6 +13,7 @@ import com.adc.da.base.page.BasePage;
|
|||||||
*/
|
*/
|
||||||
public class UserEOPage extends BasePage {
|
public class UserEOPage extends BasePage {
|
||||||
|
|
||||||
|
private List<String> usidList;
|
||||||
private String usid;
|
private String usid;
|
||||||
private String usidOperator = "=";
|
private String usidOperator = "=";
|
||||||
private String account;
|
private String account;
|
||||||
@@ -40,6 +43,13 @@ public class UserEOPage extends BasePage {
|
|||||||
private boolean disAdmin=true;
|
private boolean disAdmin=true;
|
||||||
|
|
||||||
|
|
||||||
|
public List<String> getUsidList() {
|
||||||
|
return usidList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsidList(List<String> usidList) {
|
||||||
|
this.usidList = usidList;
|
||||||
|
}
|
||||||
|
|
||||||
public String getUsid() {
|
public String getUsid() {
|
||||||
return this.usid;
|
return this.usid;
|
||||||
|
|||||||
@@ -141,6 +141,12 @@
|
|||||||
<if test="userType != null">
|
<if test="userType != null">
|
||||||
and user_type ${userTypeOperator} #{userType}
|
and user_type ${userTypeOperator} #{userType}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="usidList != null">
|
||||||
|
and usid in
|
||||||
|
<foreach collection="usidList" index="index" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</sql>
|
</sql>
|
||||||
<!-- 查询条件 (不让管理员显示出来 TU.usid != 'WY8J26MH23')-->
|
<!-- 查询条件 (不让管理员显示出来 TU.usid != 'WY8J26MH23')-->
|
||||||
|
|||||||
@@ -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 = '流程用户关系表';
|
||||||
Reference in New Issue
Block a user