fix:调整ai统计弹窗,复用/flow/task/listalldata接口的查询方法

pull/39/head
DELL 1 year ago
parent 2c85c8d93b
commit 5244be57f7

@ -14,6 +14,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.task.api.Task;
@ -78,7 +79,7 @@ public interface IFlowTaskService {
* @param tenantId
* @param pageUtils
*/
public void getMyProcessInstancesNew(User user,String tenantId, Map<String, Object> query,PageUtils pageUtils);
public List<OcrTaskchildPictureAppro> getMyProcessInstancesNew(User user, String tenantId, Map<String, Object> query, PageUtils pageUtils);
/**
*

@ -1318,7 +1318,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
query.put("page", paramterPage);
List<OcrTaskchildPictureAppro> list = ocrTaskchildPictureService.listmytask(query);
for (OcrTaskchildPictureAppro taskchildPicture : list) {
if (taskchildPicture.getPictureid() != null && !taskchildPicture.getPictureid().isEmpty()) {
@ -1484,7 +1483,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId
* @param pageUtils
*/
public void getMyProcessInstancesNew(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils) {
public List<OcrTaskchildPictureAppro> getMyProcessInstancesNew(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils) {
ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize());
@ -1513,61 +1512,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
query.put("page", paramterPage);
List<OcrTaskchildPictureAppro> list = ocrTaskchildPictureService.listmytask(query);
//补充历史状态名称,检查补充节点信息
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : list) {
//审批节点 当前如果没有历史操作,则将当前节点赋值到历史审批节点中.
if (StringUtils.isBlank(ocrTaskchildPictureAppro.getTasknamehis())) {
ocrTaskchildPictureAppro.setTasknamehis(ocrTaskchildPictureAppro.getTaskname());
}
if (ocrTaskchildPictureAppro.getStatshis() != null) {
String stateText;
switch (ocrTaskchildPictureAppro.getStatshis()) {
case 1:
stateText = "待审批";
break;
case 2:
stateText = "通过";
break;
case 3:
stateText = "不通过";
break;
default:
stateText = "未知状态";
break;
}
// 将中文状态赋值给 flowUnionVo 的状态属性
ocrTaskchildPictureAppro.setStatshisText(stateText);
} else {
//暂定,后期修改
ocrTaskchildPictureAppro.setStatshisText("待审批");
}
}
List<OcrTaskchildPictureApproVo> listNew = new ArrayList<>();
for (OcrTaskchildPictureAppro one : list) {
OcrTaskchildPictureApproVo ocrTaskchildPictureApproVo = new OcrTaskchildPictureApproVo();
ocrTaskchildPictureApproVo.setId(one.getId()); //任务id
ocrTaskchildPictureApproVo.setFromtaskname(one.getFromtaskname()); //任务名称
ocrTaskchildPictureApproVo.setStatshisText(one.getStatshisText()); //历史-审批状态中文
ocrTaskchildPictureApproVo.setTasknamehis(one.getTasknamehis());//历史-审批节点名称
ocrTaskchildPictureApproVo.setFinishTime(one.getFinishTime()); //完成时间
ocrTaskchildPictureApproVo.setReleaseProvince(one.getPicture().getReleaseprovince()); //省份
ocrTaskchildPictureApproVo.setFromprojectid(one.getFromprojectid()); //项目id
ocrTaskchildPictureApproVo.setProductName(one.getPicture().getField9()); //产品
ocrTaskchildPictureApproVo.setCategory(one.getCategory()); //类型
ocrTaskchildPictureApproVo.setFromsourceid(one.getFromsourceid()); //原始任务id
ocrTaskchildPictureApproVo.setCustomerType(one.getPicture().getField2()); //客户类型
ocrTaskchildPictureApproVo.setCustomerName(one.getPicture().getField3()); //客户名称
ocrTaskchildPictureApproVo.setItemCategory(one.getPicture().getField17());//项目类别
ocrTaskchildPictureApproVo.setFromUserName(one.getFromUserName()); //提报人
ocrTaskchildPictureApproVo.setManufacturer(one.getPicture().getField5()); //manufacturer
ocrTaskchildPictureApproVo.setPackageid(one.getPackageid()); //任务包id
listNew.add(ocrTaskchildPictureApproVo);
}
pageUtils.setList(listNew);
return list;
}

@ -11,6 +11,7 @@ import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import cn.jyjz.xiaoyao.framework.security.sms.MsmService;
import org.apache.commons.lang3.StringUtils;
@ -33,7 +34,7 @@ import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping("/ocr/aitools")
public class OcrAiApprovalTools extends BaseController {
public class OcrAiApprovalTools {
@Autowired
@ -42,11 +43,6 @@ public class OcrAiApprovalTools extends BaseController {
@Autowired
IOcrSearchHistoryService iocrsearchhistoryservice;
@Resource
private UserService userService;
@Resource
IFlowTaskService flowTaskService;
/**
*
@ -65,45 +61,9 @@ public class OcrAiApprovalTools extends BaseController {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid(),request);
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
String taskName = request.getParameter("keyword");
if (org.apache.commons.lang3.StringUtils.isNotBlank(taskName)) {
searchQuery.addLike("fromtaskname", taskName);
}
User user = this.userService.getSessionUser(request);
PageUtils pageUtils = new PageUtils();
pageUtils.setPageSize(9999);
pageUtils.setCurrPage(1);
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils);
ResultVo<Map<String, Integer>> resultVo = new ResultVo<>();
List<Map<String, Object>> instances = (List<Map<String, Object>>) pageUtils.getList();
int pendingApprovalCount = 0; // 待审批的数量
int approvedCount = 0; // 通过的数量
int otherCount = 0; // 其他情况的数量
for (Map<String, Object> instance : instances) {
String statshisText = (String) instance.get("statshisText");
if ("待审批".equals(statshisText)) {
pendingApprovalCount++;
} else if ("通过".equals(statshisText)) {
approvedCount++;
} else if("不通过".equals(statshisText)){
otherCount++;
}
}
Map<String, Integer> counts = new HashMap<>();
counts.put("total", approvedCount+pendingApprovalCount+otherCount);
counts.put("treat", approvedCount);
counts.put("approvedCount", pendingApprovalCount);
resultVo.setData(counts);
// ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid());
return resultVo;
return toolscount;
}
/*

@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@ -19,7 +20,7 @@ import java.util.Map;
public interface IOcrSearchHistoryService extends IService<OcrSearchHistory> {
Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee, String userId, String tenantId);
ResultVo toolscount(String tenantid,String userId);
ResultVo toolscount(String tenantid, String userId, HttpServletRequest request);
Map<Object,Object> selectaisp(String userid,String id,Integer nodeType);

@ -1,8 +1,13 @@
package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.flowable.utils.PageUtils;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQueryUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
@ -10,8 +15,11 @@ import cn.jyjz.xiaoyao.common.redis.cache.ICacheManager;
import cn.jyjz.xiaoyao.common.redis.cache.constants.CacheConstants;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@ -20,6 +28,8 @@ import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrSearchHistoryMapper;
import javax.annotation.Resource;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@ -43,6 +53,13 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
@Resource
private OcrPictureService ocrPictureService;
@Resource
private UserService userService;
@Resource
IFlowTaskService flowTaskService;
@Override
public Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee, String userId, String tenantId) {
@ -65,50 +82,67 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
}
@Override
public ResultVo toolscount(String tenantid,String userId) {
public ResultVo toolscount(String tenantid, String userId, HttpServletRequest request) {
ResultVo<Map<String, Integer>> resultVo = null;
//系统中记录的ai统计租户id
String counttenantid = iCacheManager.get(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId);
try {
//系统中记录的ai统计租户id
String counttenantid = iCacheManager.get(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId);
// if(!StringUtils.isBlank(counttenantid)){
// return ResultVoUtil.error("true");
// }
//用户登录信息写入缓存
iCacheManager.put(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId,"true",CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME);
//用户登录信息写入缓存
iCacheManager.put(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId,"true",CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME);
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
String taskName = request.getParameter("keyword");
if (StringUtils.isNotBlank(taskName)) {
searchQuery.addLike("fromtaskname", taskName);
}
User user = this.userService.getSessionUser(request);
PageUtils pageUtils = new PageUtils();
pageUtils.setPageSize(9999);
pageUtils.setCurrPage(1);
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils);
resultVo = new ResultVo<>();
int pendingApprovalCount = 0; // 待审批的数量
int approvedCount = 0; // 通过的数量
int notGoCount = 0; // 不通过的数量
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) {
if (ocrTaskchildPictureAppro.getStatshis() != null) {
switch (ocrTaskchildPictureAppro.getStatshis()) {
case 1:
pendingApprovalCount++;
break;
case 2:
approvedCount++;
break;
case 3:
notGoCount++;
break;
default:
break;
}
} else {
//暂定,后期修改
pendingApprovalCount++;
}
}
Map<Object, Object> toolscount = ocrsearchhistorymapper.toolscount(userId);
return ResultVoUtil.success(toolscount);
Map<String, Integer> counts = new HashMap<>();
counts.put("total", approvedCount + pendingApprovalCount + notGoCount);
counts.put("treat", pendingApprovalCount);
counts.put("approvedCount", approvedCount);
resultVo.setCode("OK");
resultVo.setMessage("成功");
resultVo.setData(counts);
} catch (Exception e) {
e.printStackTrace();
}
return resultVo;
}
// @Override
// public Map<Object, Object> selectaisp(String userid,String id) {
// Map<Object, Object> selectaisp = ocrsearchhistorymapper.selectaisp(id);
// if(null==selectaisp){
// return null;
// }
// String selectaiuser = ocrsearchhistorymapper.selectaiuser(userid);
//
// String[] cps = selectaisp.get("pictureresult").toString().split(",");
//
// List<OcrPicture> saveList = new ArrayList<>();
// int i=0;
// for (String childpictureid : cps) {
// if (childpictureid.equals("100")){
// i++;
// }
// }
//
// Map<Object,Object> map=new HashMap<>();
// map.put("taskid",id);
// map.put("tenantusername",selectaiuser);
// map.put("packagename",selectaisp.get("packagename"));
// map.put("tasks","基线任务");
//// map.put("similarcount",selectaisp.get("similarcount"));
// map.put("createtime",selectaisp.get("createtime"));
// map.put("similarComplete",i);
//
// return map;
// }
@Override
public Map<Object, Object> selectaisp(String userid, String id,Integer nodeType) {
@ -185,14 +219,31 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
}
// List<OcrPicture> collect = Arrays.stream(cps)
// .map(Long::parseLong)
// .map(childpictureid -> this.ocrPictureService.selectDtoById(childpictureid))
// .filter(ocrPicture->ocrPicture.getSimilarityscore() >= 90)
//
// .collect(Collectors.toList());
return this.ocrPictureService.updateBatchById(saveList) ? ResultVoUtil.success() : ResultVoUtil.error();
}
/**
*Request Parameters, copy from spring WebUtils.
* @param request
* @param prefix
* @return Parameter.ligerui使
*/
public SearchQuery getParametersStartingWithToSearchJson(ServletRequest request, String prefix) {
Map<String, Object> params = SearchQueryUtil.getParametersStartingWith(request,prefix);
SearchQuery searchQuery = new SearchQuery();
if(null != params && params.size() > 0){
for (Map.Entry<String, Object> entry : params.entrySet()) {
JSONObject obj = JSON.parseObject(entry.getValue().toString());
String value = obj.getString("value");
if(StringUtils.isNotBlank(value) && !"null".equals(value) && !"undefined".equals(value)){
obj.put("field",entry.getKey());
searchQuery.addJsonQuery(obj);
}
}
}
return this.ocrPictureService.updateBatchById(saveList) ? ResultVoUtil.success() : ResultVoUtil.error();
return searchQuery;
}
}

Loading…
Cancel
Save