Explorar o código

搬运工对账单及用户管理

yuansh %!s(int64=2) %!d(string=hai) anos
pai
achega
24fb727ad6

+ 3 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/entity/ActBusiness.java

@@ -141,6 +141,9 @@ public class ActBusiness {
 	@TableField(exist = false)
 	private String externalUsername;
 
+	@TableField(exist = false)
+	private String ortherParam;
+
 	/**公司id*/
 	private String pkOrg;
 }

+ 13 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/TbTableInfoMapper.java

@@ -45,4 +45,17 @@ public interface TbTableInfoMapper extends BaseMapper<TbTableInfo> {
     @Select("select * from ${tableName} where id = #{id}")
     Map<String,String> getColumnValueList(@Param("tableName") String tableName,@Param("id") String id);
 
+    @Select("SELECT db_field_name,db_field_txt, field_show_type,is_query,dict_table,dict_field,dict_text FROM onl_cgform_field \n" +
+            "WHERE is_query = 1 and cgform_head_id in( SELECT id FROM onl_cgform_head where table_name=#{tableName})\n" +
+            "ORDER BY order_num ASC")
+    List<Map<String,Object>> getQueryColumnList(@Param("tableName") String tableName);
+
+    @Select("select ${text} as \"text\",${code} as \"value\" from ${table} where del_flag = 0 order by CONVERT(${text} USING GBK)")
+    List<Map<String,String>> getTableDictColumnList(@Param("text") String text,@Param("code") String code,@Param("table") String table);
+
+    @Select(" select s.item_value as \"value\",s.item_text as \"text\" from sys_dict_item s \n" +
+            " where dict_id = (select id from sys_dict where dict_code = #{code}) \n" +
+            " order by s.sort_order asc")
+    List<Map<String,String>> getDictColumnList(@Param("code") String code);
+
 }

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

@@ -28,6 +28,11 @@
                 azb.user_id =#{map.userId}
                 AND azb.pk_org = #{map.pkOrg}
                 AND azb.table_name=#{map.tableName}
+
+        	    <if test="map.tableName !='' and map.tableName !=null">
+                    ${map.ortherParam}
+                </if>
+
             ORDER BY
                 azb.create_time DESC
     </select>

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

@@ -137,6 +137,12 @@ FROM
 		<if test="map.pkOrg!=null and map.pkOrg!=''">
 			AND RES.pk_org=#{map.pkOrg}
 		</if>
+		<if test="map.name!=null and map.name!=''">
+			AND RES.NAME_ LIKE '%${map.name}%'
+		</if>
+		<if test="map.defname!=null and map.defname!=''">
+			AND RES.PROC_DEF_ID_ LIKE '%${map.defname}%'
+		</if>
 		ORDER BY
 		RES.START_TIME_ DESC
 		LIMIT 2147483647 OFFSET 0

+ 7 - 7
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActZprocessServiceImpl.java

@@ -178,9 +178,9 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
                         map.put("isUrl","1");
                         map.put("url","/activiti/applyList");
                         map.put("taskId",task.getId());
-                        // 异步发消息
-                        sendActMessage(loginUser,user,actBusiness,task.getName(), actBusiness.getSendMessage(),
-                                actBusiness.getSendSms(), actBusiness.getSendEmail(),map);
+                        // 异步发消息 森语取消所有审批消息
+//                        sendActMessage(loginUser,user,actBusiness,task.getName(), actBusiness.getSendMessage(),
+//                                actBusiness.getSendSms(), actBusiness.getSendEmail(),map);
                     }
                 }
             }else {
@@ -192,10 +192,10 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
                     map.put("isUrl","1");
                     map.put("url","/activiti/applyList");
                     map.put("taskId",task.getId());
-                    // 异步发消息
-                    LoginUser user = sysBaseAPI.getUserByName(assignee);
-                    sendActMessage(loginUser,user,actBusiness,task.getName(), actBusiness.getSendMessage(),
-                            actBusiness.getSendSms(), actBusiness.getSendEmail(),map);
+                    // 异步发消息 森语取消所有审批消息
+//                    LoginUser user = sysBaseAPI.getUserByName(assignee);
+//                    sendActMessage(loginUser,user,actBusiness,task.getName(), actBusiness.getSendMessage(),
+//                            actBusiness.getSendSms(), actBusiness.getSendEmail(),map);
                 }
             }
             // 设置任务优先级

+ 105 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -4,6 +4,8 @@ import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.collect.Lists;
@@ -554,6 +556,7 @@ public class ActBusinessController {
     */
     @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());
@@ -572,6 +575,7 @@ public class ActBusinessController {
         map.put("userId",loginUser.getUsername());//当前登陆人
         map.put("pkOrg",loginUser.getOrgCode());//公司id
         map.put("tableName",param.getTableName());//业务表单
+        map.put("ortherParam",getPar(param));//高级查询条件
         //获取业务表单列明
         //根据表明获取字段名称与字段说明
 //        List<Map<String,Object>> tableColumnList=tbTableInfoService.getTableColumnList(param.getTableName());
@@ -625,4 +629,105 @@ public class ActBusinessController {
         list.add(map);
         return Result.ok(list);
     }
+
+    /**
+     * 获取高级查询列表
+     * @param tableName
+     * @return
+     */
+    @RequestMapping(value = "/getQueryColumnList", method = RequestMethod.GET)
+    public Result getQueryColumnList(String tableName){
+        List<Map<String,Object>> list = tbTableInfoMapper.getQueryColumnList(tableName);
+
+        for(Map<String,Object> o:list){
+            List<Map<String,String>> list2 = new ArrayList<>();
+            if(o.get("field_show_type") == null || o.get("dict_table") == null || o.get("dict_field") == null){
+                continue;
+            }
+            String field_show_type = o.get("field_show_type").toString();
+            String dict_table = o.get("dict_table").toString();
+            String dict_field = o.get("dict_field").toString();
+
+            if(StringUtils.isBlank(field_show_type) || !field_show_type.equals("list") || StringUtils.isBlank(dict_table) || StringUtils.isBlank(dict_field)){
+                continue;
+            }
+            Map<String,String> map = new HashMap<>();
+            map.put("value","字典配置错误,请联系管理员");
+            try {
+                if(!dict_table.equals("sys_dict")){
+                    if(o.get("dict_text") == null || StringUtils.isBlank(o.get("dict_text").toString())){
+                        list2.add(map);
+                        continue;
+                    }
+                    list2 = tbTableInfoMapper.getTableDictColumnList(o.get("dict_text").toString(),dict_field,dict_table);
+                }else{
+                    list2 = tbTableInfoMapper.getDictColumnList(dict_field);
+                }
+
+            }catch (Exception e){
+                list2.add(map);
+            }
+            if(list2.size() > 0){
+                o.put("list",list2);
+            }
+
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     * 数据整理
+     * @param param
+     * @return
+     */
+    public String getPar(ActBusiness param){
+        StringBuffer sb2 = new StringBuffer();
+        if(StringUtils.isNotBlank(param.getOrtherParam())){
+
+            JSONArray jsonArray = JSONArray.parseArray("["+param.getOrtherParam()+"]");
+            for(int i=0;i<jsonArray.size();i++){
+                // 遍历 jsonarray 数组,把每一个对象转成 json 对象
+                JSONObject job = jsonArray.getJSONObject(i);
+                String name = "";
+                String val1 = "";
+                String val2 = "";
+                String type = "";
+
+                if(job.get("name") != null){
+                    name = job.get("name").toString();
+                }
+                if(job.get("type") != null){
+                    type = job.get("type").toString();
+                }
+                if(job.get("value") != null){
+                    val1 = job.get("value").toString();
+                }
+                if(job.get("value2") != null){
+                    val2 = job.get("value2").toString();
+                }
+
+                if(StringUtils.isBlank(type) || StringUtils.isBlank(name) || (StringUtils.isBlank(val1) && StringUtils.isBlank(val2))){
+                    continue;
+                }
+                if (type.equals("text")){
+                    sb2.append(" and cl.").append(name).append(" like '%").append(val1).append("%' ");
+                }
+                if (type.equals("list")){
+                    sb2.append(" and cl.").append(name).append(" = '").append(val1).append("' ");
+                }
+                if (type.equals("date")){
+                    if(StringUtils.isNotBlank(val1)){
+                        sb2.append(" and cl.").append(name).append(" >= '").append(val1).append("' ");
+                    }
+                    if(StringUtils.isNotBlank(val2)){
+                        sb2.append(" and cl.").append(name).append(" <= '").append(val2).append(" 23:59:59' ");
+                    }
+
+                }
+
+            }
+        }
+
+        return sb2.toString();
+    }
 }

+ 15 - 5
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActTaskController.java

@@ -310,6 +310,7 @@ public class ActTaskController {
         map.put("isUrl","1");
         map.put("url","/activiti/applyList");
         map.put("taskId",id);
+//        森语取消所有审批消息
         actZprocessService.sendMessage(sysUser,sysBaseAPI.getUserByName(actBusiness.getUserId()),ActivitiConstant.MESSAGE_BACK_CONTENT,
                 String.format("您的 【%s】 申请已被驳回!",actBusiness.getTitle()),sendMessage, sendSms, sendEmail,map);
         // 记录实际审批人员
@@ -441,8 +442,8 @@ public class ActTaskController {
                                 map.put("isUrl","1");
                                 map.put("url","/activiti/applyList");
                                 map.put("taskId",t.getId());
-                                // 异步发消息
-                                actZprocessService.sendActMessage(loginUser,user,actBusiness,task.getName(),  sendMessage, sendSms, sendEmail,map);
+                                // 异步发消息  森语取消所有审批消息
+//                                actZprocessService.sendActMessage(loginUser,user,actBusiness,task.getName(),  sendMessage, sendSms, sendEmail,map);
                             }
                             taskService.setPriority(t.getId(), task.getPriority());
                         }
@@ -460,7 +461,8 @@ public class ActTaskController {
                             map.put("isUrl","1");
                             map.put("url","/activiti/applyList");
                             map.put("taskId",t.getId());
-                            actZprocessService.sendActMessage(loginUser,user,actBusiness,task.getName(),  sendMessage, sendSms, sendEmail,map);
+//                            森语取消所有审批消息
+//                            actZprocessService.sendActMessage(loginUser,user,actBusiness,task.getName(),  sendMessage, sendSms, sendEmail,map);
                             taskService.setPriority(t.getId(), priority);
                         }
                     }
@@ -478,6 +480,7 @@ public class ActTaskController {
             map.put("isUrl","1");
             map.put("url","/activiti/applyList");
             map.put("taskId",task.getId());
+//            森语取消所有审批消息
 //            actZprocessService.sendMessage(loginUser,user,ActivitiConstant.MESSAGE_PASS_CONTENT,
 //                    String.format("您的 【%s】 申请已通过!",actBusiness.getTitle()),sendMessage, sendSms, sendEmail,map);
             //修改公司id
@@ -567,8 +570,9 @@ public class ActTaskController {
                     map.put("isUrl","1");
                     map.put("url","/activiti/applyList");
                     map.put("taskId",e.getId());
-                    actZprocessService.sendMessage(loginUser,sysBaseAPI.getUserByName(assignee),ActivitiConstant.MESSAGE_TODO_CONTENT
-                    ,"您有一个任务待审批,请尽快处理!",sendMessage, sendSms, sendEmail,map);
+//                    森语取消所有审批消息
+//                    actZprocessService.sendMessage(loginUser,sysBaseAPI.getUserByName(assignee),ActivitiConstant.MESSAGE_TODO_CONTENT
+//                    ,"您有一个任务待审批,请尽快处理!",sendMessage, sendSms, sendEmail,map);
                 }
                 if(priority!=null){
                     taskService.setPriority(e.getId(), priority);
@@ -608,6 +612,7 @@ public class ActTaskController {
     @RequestMapping(value = "/doneList")
     public Result<Object> doneList(String name,
                                    String categoryId,
+                                   String defname,
                                    Integer priority,
                                    HttpServletRequest req){
 
@@ -631,9 +636,11 @@ public class ActTaskController {
 //        List<HistoricTaskInstance> taskList = query.list();
         //根据公司id过滤查询已办列表
         Map<String,Object> map=new HashMap<>();
+        map.put("name",name);
         map.put("username",userId);
         map.put("pkOrg",loginUser.getOrgCode());
         map.put("userId",loginUser.getId());
+//        map.put("defname",defname);
         List<HistoricTaskInstanceEntity> taskList=iActReModelService.getHistoricTaskList(map);
         // 转换vo
         List<ComboModel> allUser = sysBaseAPI.queryAllUser();
@@ -659,6 +666,9 @@ public class ActTaskController {
             // 关联流程信息
             ActZprocess actProcess = actZprocessService.getById(htv.getProcDefId());
             if(actProcess!=null){
+                if(StringUtils.isNotBlank(defname.trim()) && !defname.trim().equals(actProcess.getName())){
+                    return;
+                }
                 htv.setProcessName(actProcess.getName());
                 htv.setRouteName(actProcess.getRouteName());
             }