Browse Source

流程中心显示列

chenc 3 years ago
parent
commit
579b493688
12 changed files with 627 additions and 7 deletions
  1. 107 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/entity/CdColumnsShow.java
  2. 2 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/ActBusinessMapper.java
  3. 17 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/CdColumnsShowMapper.java
  4. 31 2
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActBusinessMapper.xml
  5. 5 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/CdColumnsShowMapper.xml
  6. 5 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActBusinessService.java
  7. 34 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/ICdColumnsShowService.java
  8. 10 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActBusinessServiceImpl.java
  9. 123 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/CdColumnsShowServiceImpl.java
  10. 76 5
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java
  11. 4 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiProcessController.java
  12. 213 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/CdColumnsShowController.java

+ 107 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/entity/CdColumnsShow.java

@@ -0,0 +1,107 @@
+package org.jeecg.modules.activiti.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 业务表字段是否显示
+ * @Author: jeecg-boot
+ * @Date:   2021-12-08
+ * @Version: V1.0
+ */
+@Data
+@TableName("cd_columns_show")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="cd_columns_show对象", description="业务表字段是否显示")
+public class CdColumnsShow {
+    
+	/**主键id*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键id")
+	private String id;
+	/**列标识*/
+	@Excel(name = "列标识", width = 15)
+    @ApiModelProperty(value = "列标识")
+	private String columnName;
+	/**列名称*/
+	@Excel(name = "列名称", width = 15)
+    @ApiModelProperty(value = "列名称")
+	private String columnDescribe;
+	/**是否显示(1不显示2显示)*/
+	@Excel(name = "是否显示(1不显示2显示)", width = 15)
+    @ApiModelProperty(value = "是否显示(1不显示2显示)")
+	private String isShow;
+	/**业务数据表名称*/
+	@Excel(name = "业务数据表名称", width = 15)
+    @ApiModelProperty(value = "业务数据表名称")
+	private String tableName;
+	/**排序*/
+	@Excel(name = "排序", width = 15)
+    @ApiModelProperty(value = "排序")
+	private Integer sort;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private String createBy;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+	private String updateBy;
+	/**更新时间*/
+	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+	private Date updateTime;
+	/**删除状态(0,正常,1已删除)*/
+	@Excel(name = "删除状态(0,正常,1已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0,正常,1已删除)")
+	private String delFlag;
+	/**公司id*/
+	@Excel(name = "公司id", width = 15)
+    @ApiModelProperty(value = "公司id")
+	private String pkOrg;
+	/**是否页面临时处理字段(1不是2是)*/
+	private String isScopedSlots;
+
+	//页面列属性
+	@TableField(exist = false)
+	private boolean ellipsis;
+	//标题
+	@TableField(exist = false)
+	private String title;
+	//index
+	@TableField(exist = false)
+	private String dataIndex;
+	//key
+	@TableField(exist = false)
+	private String key;
+	@TableField(exist = false)
+	private Map<String,Object> scopedSlots;
+
+	/**多条列数据*/
+	@TableField(exist = false)
+	private List<CdColumnsShow> cdColumnsShowList;
+}

+ 2 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/ActBusinessMapper.java

@@ -39,4 +39,6 @@ public interface ActBusinessMapper extends BaseMapper<ActBusiness> {
     List<Map<String, Object>> getChildList(@Param("tableId") String tableId, @Param("tableName") String tableName, @Param("pid") String pid);
     @Delete("${sql}")
     void deletetBusiData(@Param("sql") String format);
+
+    List<Map<String,Object>> getActBusinessList(@Param("map")Map<String,Object> map);
 }

+ 17 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/CdColumnsShowMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.activiti.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.activiti.entity.CdColumnsShow;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 业务表字段是否显示
+ * @Author: jeecg-boot
+ * @Date:   2021-12-08
+ * @Version: V1.0
+ */
+public interface CdColumnsShowMapper extends BaseMapper<CdColumnsShow> {
+
+}

+ 31 - 2
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActBusinessMapper.xml

@@ -1,5 +1,34 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.activiti.org.jeecg.modules.activiti.mapper.ActBusinessMapper">
-
+<mapper namespace="org.jeecg.modules.activiti.mapper.ActBusinessMapper">
+    <select id="getActBusinessList" resultType="java.util.Map" parameterType="java.util.Map">
+        	SELECT
+                azb.id as id,
+                azb.create_by as createBy,
+                azb.create_time as createTime,
+                azb.del_flag as delFlag,
+                azb.update_by as updateBy,
+                azb.update_time as updateTime,
+                azb.proc_def_id as procDefId,
+                azb.proc_inst_id as procInstId,
+                azb.result,
+                azb.status,
+                azb.table_id as tableId,
+                azb.title,
+                azb.user_id as userId,
+                azb.apply_time as applyTime,
+                azb.is_history as isHistory,
+                azb.table_name as tableName,
+                azb.pk_org as pkOrg,
+                ${map.columnIncrease}
+            FROM
+                act_z_business azb
+                left join ${map.tableName} cl on azb.table_id=cl.id
+            WHERE
+                azb.user_id =#{map.userId}
+                AND azb.pk_org = #{map.pkOrg}
+                AND azb.table_name=#{map.tableName}
+            ORDER BY
+                azb.create_time DESC
+    </select>
 </mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/CdColumnsShowMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.activiti.mapper.CdColumnsShowMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActBusinessService.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.activiti.engine.delegate.DelegateExecution;
 import org.jeecg.modules.activiti.entity.ActBusiness;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 流程业务扩展表
  * @Author: pmc
@@ -15,4 +18,6 @@ public interface IActBusinessService extends IService<ActBusiness> {
     String EVENTNAME_END = "end";
     String EVENTNAME_TAKE = "take";
     void notify(DelegateExecution execution) throws Exception;
+
+    List<Map<String,Object>> getActBusinessList(Map<String,Object> map);
 }

+ 34 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/ICdColumnsShowService.java

@@ -0,0 +1,34 @@
+package org.jeecg.modules.activiti.service;
+
+import org.jeecg.modules.activiti.entity.CdColumnsShow;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 业务表字段是否显示
+ * @Author: jeecg-boot
+ * @Date:   2021-12-08
+ * @Version: V1.0
+ */
+public interface ICdColumnsShowService extends IService<CdColumnsShow> {
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 批量保存显示列数据
+    * @Date 2021/12/8 15:44
+    * @Param [cdColumnsShow]
+    * @return void
+    */
+    void saveBuchColumnsShow(CdColumnsShow cdColumnsShow);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据业务表名称获取显示列数据
+    * @Date 2021/12/8 15:45
+    * @Param [cdColumnsShow]
+    * @return java.util.List<org.jeecg.modules.activiti.entity.CdColumnsShow>
+    */
+    List<Map<String,Object>> getColumnsShowList(CdColumnsShow cdColumnsShow);
+}

+ 10 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActBusinessServiceImpl.java

@@ -14,6 +14,7 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.activiti.entity.ActBusiness;
 import org.jeecg.modules.activiti.mapper.ActBusinessMapper;
 import org.jeecg.modules.activiti.service.IActBusinessService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
@@ -31,6 +32,8 @@ import java.util.Map;
  */
 @Service
 public class ActBusinessServiceImpl extends ServiceImpl<ActBusinessMapper, ActBusiness> implements IActBusinessService {
+    @Autowired
+    ActBusinessMapper actBusinessMapper;
 
     public List<ActBusiness> findByProcDefId(String id) {
        return this.list(new LambdaQueryWrapper<ActBusiness>().eq(ActBusiness::getProcDefId,id));
@@ -288,6 +291,7 @@ public class ActBusinessServiceImpl extends ServiceImpl<ActBusinessMapper, ActBu
         }
     }
 
+
     /**
      * @desc 获取 post 请求内容
      */
@@ -342,4 +346,10 @@ public class ActBusinessServiceImpl extends ServiceImpl<ActBusinessMapper, ActBu
     public List<Map<String,Object>> getChildList(String tableId, String tableName, String pid) {
             return this.baseMapper.getChildList(tableId, tableName, pid);
     }
+
+
+    @Override
+    public List<Map<String, Object>> getActBusinessList(Map<String, Object> map) {
+        return actBusinessMapper.getActBusinessList(map);
+    }
 }

+ 123 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/CdColumnsShowServiceImpl.java

@@ -0,0 +1,123 @@
+package org.jeecg.modules.activiti.service.Impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.A;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.activiti.entity.CdColumnsShow;
+import org.jeecg.modules.activiti.mapper.CdColumnsShowMapper;
+import org.jeecg.modules.activiti.mapper.TbTableInfoMapper;
+import org.jeecg.modules.activiti.service.ICdColumnsShowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * @Description: 业务表字段是否显示
+ * @Author: jeecg-boot
+ * @Date:   2021-12-08
+ * @Version: V1.0
+ */
+@Service
+@Transactional
+public class CdColumnsShowServiceImpl extends ServiceImpl<CdColumnsShowMapper, CdColumnsShow> implements ICdColumnsShowService {
+
+    @Autowired
+    TbTableInfoMapper tbTableInfoMapper;
+
+    @Override
+    public void saveBuchColumnsShow(CdColumnsShow cdColumnsShow) {
+        //删除业务表下的显示列数据
+        //查询条件
+        QueryWrapper<CdColumnsShow> queryWrapper=new QueryWrapper<>();
+        queryWrapper.lambda().eq(CdColumnsShow::getDelFlag,"0");
+        queryWrapper.lambda().eq(CdColumnsShow::getTableName,cdColumnsShow.getTableName());
+        //公司id
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        queryWrapper.lambda().eq(CdColumnsShow::getPkOrg,sysUser.getOrgCode());
+        //修改值
+        CdColumnsShow columnsShowWhere=new CdColumnsShow();
+        columnsShowWhere.setDelFlag("1");
+        this.update(columnsShowWhere,queryWrapper);
+        //新增新加的
+        if(cdColumnsShow.getCdColumnsShowList()!=null&&cdColumnsShow.getCdColumnsShowList().size()>0){
+            int sort=1;
+            for(CdColumnsShow columnsShow:cdColumnsShow.getCdColumnsShowList()){
+                columnsShow.setId(null);
+                columnsShow.setTableName(cdColumnsShow.getTableName());
+                columnsShow.setSort(sort);
+                columnsShow.setDelFlag("0");
+                columnsShow.setPkOrg(sysUser.getOrgCode());
+                sort++;
+            }
+            this.saveBatch(cdColumnsShow.getCdColumnsShowList());
+        }
+    }
+
+    @Override
+    public List<Map<String,Object>> getColumnsShowList(CdColumnsShow cdColumnsShow) {
+        List<Map<String,Object>> cdColumnsShowListResult=new ArrayList<>();
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        //根据业务表明查询是否保存过数据
+        QueryWrapper<CdColumnsShow> queryWrapper=new QueryWrapper<>();
+        queryWrapper.lambda().eq(CdColumnsShow::getDelFlag,"0");
+        queryWrapper.lambda().eq(CdColumnsShow::getPkOrg,loginUser.getOrgCode());
+        queryWrapper.lambda().eq(CdColumnsShow::getTableName,cdColumnsShow.getTableName());
+        queryWrapper.lambda().orderByAsc(CdColumnsShow::getSort);
+        List<CdColumnsShow> cdColumnsShowList=this.list(queryWrapper);
+        if(cdColumnsShowList!=null&&cdColumnsShowList.size()>0){//保存过则直接查询显示列表
+            for(CdColumnsShow columnsShow:cdColumnsShowList){
+                addCdColumnsShow(columnsShow.getIsShow(),true,columnsShow.getColumnDescribe(),columnsShow.getColumnName(),columnsShow.getColumnName(),columnsShow.getIsScopedSlots(),cdColumnsShowListResult);
+            }
+        }else{//没有保存过则组装默认列表
+            addCdColumnsShow("2",true,"标题","title","title","1",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"所属流程","processName","processName","1",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"当前审批环节","currTaskName","currTaskName","1",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"状态","status","status","2",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"结果","result","result","2",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"创建时间","createTime","createTime","1",cdColumnsShowListResult);
+            addCdColumnsShow("2",true,"提交申请时间","applyTime","applyTime","1",cdColumnsShowListResult);
+            //根据业务表查询所有字段名称以及字段说明
+            List<Map<String, Object>> tableColumnList=tbTableInfoMapper.getTableColumnList(cdColumnsShow.getTableName());
+            //放入显示列集合中
+            if(tableColumnList!=null&&tableColumnList.size()>0){
+                for(Map<String, Object> map:tableColumnList){
+                    CdColumnsShow c=new CdColumnsShow();
+//                    c.setIsShow("1");
+//                    c.setEllipsis(true);
+//                    c.setTitle(map.get("columnComment").toString());
+//                    String columnName=cdColumnsShow.getTableName()+"__"+map.get("columnName").toString();
+//                    c.setDataIndex(columnName);
+//                    c.setKey(columnName);
+//                    cdColumnsShowListResult.add(c);
+                    String columnName=cdColumnsShow.getTableName()+"__"+map.get("columnName").toString();
+                    addCdColumnsShow("1",true,map.get("columnComment").toString(),columnName,columnName,"1",cdColumnsShowListResult);
+                }
+            }
+            //操作列
+            addCdColumnsShow("2",true,"操作","action","action","2",cdColumnsShowListResult);
+        }
+        return cdColumnsShowListResult;
+    }
+
+    /**公用添加列对象*/
+    public void addCdColumnsShow(String isShow,boolean ellipsis,String title,String dataIndex,String key,String isScopedSlots,List<Map<String,Object>> cdColumnsShowListResult){
+        Map<String,Object> c1=new LinkedHashMap<>();
+        c1.put("isShow",isShow);
+        c1.put("ellipsis",ellipsis);
+        c1.put("title",title);
+        c1.put("dataIndex",dataIndex);
+        c1.put("key",key);
+        if(isScopedSlots.equals("2")){
+            Map<String,Object> map=new HashMap<>();
+            map.put("customRender",key);
+            c1.put("scopedSlots",map);
+        }
+        cdColumnsShowListResult.add(c1);
+    }
+}

+ 76 - 5
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -22,6 +22,8 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.modules.activiti.entity.*;
+import org.jeecg.modules.activiti.mapper.TbTableInfoMapper;
+import org.jeecg.modules.activiti.service.IActBusinessService;
 import org.jeecg.modules.activiti.service.ITbTableInfoPracticeService;
 import org.jeecg.modules.activiti.service.ITbTableInfoService;
 import org.jeecg.modules.activiti.service.Impl.ActBusinessServiceImpl;
@@ -32,10 +34,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  *
@@ -62,6 +61,11 @@ public class ActBusinessController {
     private ITbTableInfoService tbTableInfoService;
     @Autowired
     private ITbTableInfoPracticeService tbTableInfoPracticeService;
+    @Autowired
+    IActBusinessService iActBusinessService;
+
+    @Autowired
+    TbTableInfoMapper tbTableInfoMapper;
 
     /*添加申请草稿状态*/
     @RequestMapping(value = "/add", method = RequestMethod.POST)
@@ -335,7 +339,7 @@ public class ActBusinessController {
         if (param.getResult()!=null) queryWrapper.lambda().eq(ActBusiness::getResult,param.getResult());
         if (StrUtil.isNotBlank(request.getParameter("createTime_begin"))) queryWrapper.ge("DATE_FORMAT(create_time,'%Y-%m-%d')",request.getParameter("createTime_begin"));
         if (StrUtil.isNotBlank(request.getParameter("createTime_end"))) queryWrapper.le("DATE_FORMAT(create_time,'%Y-%m-%d')",request.getParameter("createTime_end"));
-
+        if (StrUtil.isNotBlank(param.getTableName())) queryWrapper.lambda().eq(ActBusiness::getTableName,param.getTableName());
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         queryWrapper.lambda().eq(ActBusiness::getUserId,loginUser.getUsername());
         //公司id 过滤数据
@@ -364,9 +368,76 @@ public class ActBusinessController {
                 }
             }
         });
+
         return Result.ok(actBusinessList);
     }
 
+    /**
+    * @Author chenchuang
+    * @Description //TODO 流程申请表单列表界面数据查询
+    * @Date 2021/12/7 18:36
+    * @Param [param, request]
+    * @return org.jeecg.common.api.vo.Result
+    */
+    @RequestMapping(value = "/getActBusinessList")
+    public Result getActBusinessList(ActBusiness param, HttpServletRequest request){
+        QueryWrapper<ActBusiness> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().orderByDesc(ActBusiness::getCreateTime);
+        if (StrUtil.isNotBlank(param.getTitle())) queryWrapper.lambda().like(ActBusiness::getTitle,param.getTitle());
+        if (param.getStatus()!=null) queryWrapper.lambda().eq(ActBusiness::getStatus,param.getStatus());
+        if (param.getResult()!=null) queryWrapper.lambda().eq(ActBusiness::getResult,param.getResult());
+        if (StrUtil.isNotBlank(request.getParameter("createTime_begin"))) queryWrapper.ge("DATE_FORMAT(create_time,'%Y-%m-%d')",request.getParameter("createTime_begin"));
+        if (StrUtil.isNotBlank(request.getParameter("createTime_end"))) queryWrapper.le("DATE_FORMAT(create_time,'%Y-%m-%d')",request.getParameter("createTime_end"));
+        if (StrUtil.isNotBlank(param.getTableName())) queryWrapper.lambda().eq(ActBusiness::getTableName,param.getTableName());
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        queryWrapper.lambda().eq(ActBusiness::getUserId,loginUser.getUsername());
+        //公司id 过滤数据
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        queryWrapper.lambda().eq(ActBusiness::getPkOrg,sysUser.getOrgCode());//公司id
+
+        Map<String,Object> map=new HashMap<>();
+        map.put("userId",loginUser.getUsername());//当前登陆人
+        map.put("pkOrg",loginUser.getOrgCode());//公司id
+        map.put("tableName",param.getTableName());//业务表单
+        //获取业务表单列明
+        //根据表明获取字段名称与字段说明
+//        List<Map<String,Object>> tableColumnList=tbTableInfoService.getTableColumnList(param.getTableName());
+        List<Map<String, Object>> tableColumnList=tbTableInfoMapper.getTableColumnList(param.getTableName());
+        String columnIncrease="";//业务表单列明
+        //拼接业务字段属性sql
+        if(tableColumnList!=null&&tableColumnList.size()>0){
+            for(Map<String,Object> column:tableColumnList){
+                columnIncrease=columnIncrease+"cl."+column.get("columnName").toString()+" as "+param.getTableName()+"__"+column.get("columnName").toString()+",";
+            }
+        }
+        //截掉最后一个符号
+        columnIncrease=columnIncrease.substring(0, columnIncrease.length() -1);
+        map.put("columnIncrease",columnIncrease);
+        List<Map<String,Object>> list=iActBusinessService.getActBusinessList(map);
+        list.forEach(e -> {
+            if(StrUtil.isNotBlank(e.get("procDefId").toString())){
+                ActZprocess actProcess = actZprocessService.getById(e.get("procDefId").toString());
+                e.put("routeName",actProcess.getRouteName());
+                e.put("processName",actProcess.getName());
+            }
+            if(e.get("status").toString().equals("1")){
+                // 关联当前任务
+                List<Task> taskList = taskService.createTaskQuery().processInstanceId(e.get("procInstId").toString()).list();
+                if(taskList!=null&&taskList.size()==1){
+                    e.put("currTaskName",taskList.get(0).getName());
+                }else if(taskList!=null&&taskList.size()>1){
+                    StringBuilder sb = new StringBuilder();
+                    for(int i=0;i<taskList.size()-1;i++){
+                        sb.append(taskList.get(i).getName()+"、");
+                    }
+                    sb.append(taskList.get(taskList.size()-1).getName());
+                    e.put("currTaskName",sb.toString());
+                }
+            }
+        });
+        return Result.ok(list);
+    }
+
     /**
      * @desc 获取表单信息
      */

+ 4 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiProcessController.java

@@ -68,6 +68,7 @@ public class ActivitiProcessController {
         String lckey = request.getParameter("lckey");
         String zx = request.getParameter("zx");
         String status = request.getParameter("status");
+        String businessTable=request.getParameter("businessTable");
         LambdaQueryWrapper<ActZprocess> wrapper = new LambdaQueryWrapper<ActZprocess>();
         wrapper.orderByDesc(ActZprocess::getCreateTime);
 //                .orderByDesc(ActZprocess::getName).orderByDesc(ActZprocess::getVersion);
@@ -83,6 +84,9 @@ public class ActivitiProcessController {
         if (StrUtil.isNotBlank(status)){
             wrapper.eq(ActZprocess::getStatus, status);
         }
+        if(StrUtil.isNotBlank(businessTable)){
+            wrapper.eq(ActZprocess::getBusinessTable,businessTable);
+        }
         //获取当前登录公司id 过滤
         LoginUser sysUser1 = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         wrapper.eq(ActZprocess::getPkOrg,sysUser1.getOrgCode());

+ 213 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/CdColumnsShowController.java

@@ -0,0 +1,213 @@
+package org.jeecg.modules.activiti.web;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.activiti.entity.CdColumnsShow;
+import org.jeecg.modules.activiti.service.ICdColumnsShowService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 业务表字段是否显示
+ * @Author: jeecg-boot
+ * @Date:   2021-12-08
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="业务表字段是否显示")
+@RestController
+@RequestMapping("/cdColumnsShow")
+public class CdColumnsShowController extends JeecgController<CdColumnsShow, ICdColumnsShowService> {
+	@Autowired
+	private ICdColumnsShowService cdColumnsShowService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param cdColumnsShow
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-分页列表查询")
+	@ApiOperation(value="业务表字段是否显示-分页列表查询", notes="业务表字段是否显示-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(CdColumnsShow cdColumnsShow,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CdColumnsShow> queryWrapper = QueryGenerator.initQueryWrapper(cdColumnsShow, req.getParameterMap());
+		Page<CdColumnsShow> page = new Page<CdColumnsShow>(pageNo, pageSize);
+		IPage<CdColumnsShow> pageList = cdColumnsShowService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param cdColumnsShow
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-添加")
+	@ApiOperation(value="业务表字段是否显示-添加", notes="业务表字段是否显示-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody CdColumnsShow cdColumnsShow) {
+		cdColumnsShowService.save(cdColumnsShow);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param cdColumnsShow
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-编辑")
+	@ApiOperation(value="业务表字段是否显示-编辑", notes="业务表字段是否显示-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody CdColumnsShow cdColumnsShow) {
+		cdColumnsShowService.updateById(cdColumnsShow);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-通过id删除")
+	@ApiOperation(value="业务表字段是否显示-通过id删除", notes="业务表字段是否显示-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		cdColumnsShowService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-批量删除")
+	@ApiOperation(value="业务表字段是否显示-批量删除", notes="业务表字段是否显示-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.cdColumnsShowService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "业务表字段是否显示-通过id查询")
+	@ApiOperation(value="业务表字段是否显示-通过id查询", notes="业务表字段是否显示-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		CdColumnsShow cdColumnsShow = cdColumnsShowService.getById(id);
+		return Result.ok(cdColumnsShow);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param cdColumnsShow
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, CdColumnsShow cdColumnsShow) {
+      return super.exportXls(request, cdColumnsShow, CdColumnsShow.class, "业务表字段是否显示");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, CdColumnsShow.class);
+  }
+
+  /**
+  * @Author chenchuang
+  * @Description //TODO 批量保存列显示数据
+  * @Date 2021/12/8 12:00
+  * @Param [cdColumnsShow]
+  * @return org.jeecg.common.api.vo.Result
+  */
+  @PostMapping(value = "/saveBuchColumnsShow")
+  public Result saveBuchColumnsShow(@RequestBody CdColumnsShow cdColumnsShow){
+	  Result result=new Result();
+	  try {
+		  cdColumnsShowService.saveBuchColumnsShow(cdColumnsShow);
+		  result.success("保存成功");
+	  } catch (Exception e) {
+		  e.printStackTrace();
+		  result.error500("保存失败:"+e.getMessage());
+	  }
+	  return result;
+  }
+
+  /**
+  * @Author chenchuang
+  * @Description //TODO 根据业务表查询列
+  * @Date 2021/12/8 11:55
+  * @Param [cdColumnsShow]
+  * @return org.jeecg.common.api.vo.Result<java.util.List<org.jeecg.modules.activiti.entity.CdColumnsShow>>
+  */
+  @GetMapping(value = "/getColumnsShowList")
+  public Result<List<Map<String,Object>>> getColumnsShowList(CdColumnsShow cdColumnsShow){
+	  Result<List<Map<String,Object>>> result=new Result<>();
+	  try {
+		  List<Map<String,Object>> cdColumnsShowList=cdColumnsShowService.getColumnsShowList(cdColumnsShow);
+		  if(cdColumnsShowList!=null&&cdColumnsShowList.size()>0){
+              result.setResult(cdColumnsShowList);
+              result.success("操作成功");
+          }
+	  } catch (Exception e) {
+		  e.printStackTrace();
+		  result.error500("操作失败:"+e.getMessage());
+	  }
+	  return result;
+  }
+
+}