Merge remote-tracking branch 'origin/master'

pull/1/head
lzCodeGarden 1 year ago
commit f133c8e9a8

@ -15,6 +15,7 @@ import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
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.SearchQueryForm;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
@ -44,10 +45,8 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Api(tags="ocr_流程接口")
@ -365,6 +364,8 @@ public class FlowTaskController extends BaseController {
}
return ResultVoUtil.success(pageUtils);
}
/**
*
* @return
@ -376,30 +377,70 @@ public class FlowTaskController extends BaseController {
@GetMapping("/listfinal")
@ResponseBody
public ResultVo<OcrTaskchildPicture> listFinalData(PageUtils<OcrTaskchildPicture> pageUtils,
@RequestParam(name="search_fromuserid", defaultValue="",required = false) String searchFromuserid,
@RequestParam(name="search_fromprojectid", defaultValue="",required = false) String searchFromprojectid,
@RequestParam(name="search_fromplanid", defaultValue="",required = false) String searchFromplanid,
@RequestParam(name="search_states", defaultValue="",required = false) String searchStates,
@RequestParam(name="search_fromsourceid", defaultValue="",required = false) String searchFromsourceid,
@RequestParam(name="fromuptime_start", defaultValue="",required = false) BigDecimal fromuptimeStart,
@RequestParam(name="fromuptime_end", defaultValue="",required = false) BigDecimal fromuptimeEnd,
@RequestParam(name="izupuser", defaultValue="",required = false) String izupuser,
@RequestParam(name="izproject", defaultValue="",required = false) String izproject,
@RequestParam(name="izplan", defaultValue="",required = false) String izplan,
@RequestParam(name="izstatus", defaultValue="",required = false) String izstatus,
@RequestParam(name="iztaskrrom", defaultValue="",required = false) String iztaskrrom,
@RequestParam(name="izuptime", defaultValue="",required = false) String izuptime,
HttpServletRequest request){
SearchQuery searchQuery = new SearchQuery();
if(org.springframework.util.StringUtils.hasText(searchFromuserid)){
searchQuery.addEqual("fromuserid",searchFromuserid);
if(org.springframework.util.StringUtils.hasText(izupuser)){
// searchQuery.addEqual("fromuserid",izupuser);
if (izupuser.contains(",")) {
String[] userIds = izupuser.split(",");
List<String> arrayData = Arrays.asList(userIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromuserid", arrayData);
} else {
searchQuery.addEqual("fromuserid", izupuser);
}
}
if (org.springframework.util.StringUtils.hasText(izproject)) {
if (izproject.contains(",")) {
String[] projectIds = izproject.split(","); // 以逗号拆分字符串
searchQuery.addIn("fromprojectid", projectIds);
} else {
searchQuery.addEqual("fromprojectid", izproject);
}
}
if (org.springframework.util.StringUtils.hasText(izplan)) {
if (izplan.contains(",")) {
String[] planIds = izplan.split(","); // 以逗号拆分字符串
searchQuery.addIn("fromplanid", planIds);
} else {
searchQuery.addEqual("fromplanid", izplan);
}
if(org.springframework.util.StringUtils.hasText(searchFromprojectid)){
searchQuery.addEqual("fromprojectid",searchFromprojectid);
}
if(org.springframework.util.StringUtils.hasText(searchFromplanid)){
searchQuery.addEqual("fromplanid",searchFromplanid);
if (org.springframework.util.StringUtils.hasText(izstatus)) {
if (izstatus.contains(",")) {
String[] statusIds = izstatus.split(","); // 以逗号拆分字符串
searchQuery.addIn("states", statusIds);
} else {
searchQuery.addEqual("states", izstatus);
}
if(org.springframework.util.StringUtils.hasText(searchStates)){
searchQuery.addEqual("states",searchStates);
}
if(org.springframework.util.StringUtils.hasText(searchFromsourceid)){
searchQuery.addEqual("fromsourceid",searchFromsourceid);
if (org.springframework.util.StringUtils.hasText(iztaskrrom)) {
if (iztaskrrom.contains(",")) {
String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串
searchQuery.addIn("fromsourceid", taskrromIds);
} else {
searchQuery.addEqual("fromsourceid", iztaskrrom);
}
}
//
// if(org.springframework.util.StringUtils.hasText(izproject)){
// searchQuery.addEqual("fromprojectid",izproject);
// }
// if(org.springframework.util.StringUtils.hasText(izplan)){
// searchQuery.addEqual("fromplanid",izplan);
// }
// if(org.springframework.util.StringUtils.hasText(izstatus)){
// searchQuery.addEqual("states",izstatus);
// }
// if(org.springframework.util.StringUtils.hasText(iztaskrrom)){
// searchQuery.addEqual("fromsourceid",iztaskrrom);
// }
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
@ -414,11 +455,48 @@ public class FlowTaskController extends BaseController {
}
Map<String,Object> query = searchQuery.getQuery();
if(fromuptimeStart != null){
query.put("fromuptimeStart",fromuptimeStart);
if(org.springframework.util.StringUtils.hasText(izuptime)){
String[] dateRange = izuptime.split("-");
// if (dateRange.length == 2) {
// try {
// long startTimeStamp = Long.parseLong(dateRange[0].trim());
// long endTimeStamp = Long.parseLong(dateRange[1].trim());
// query.put("fromuptimeStart", startTimeStamp);
// query.put("fromuptimeEnd", endTimeStamp);
// } catch (NumberFormatException e) {
// e.printStackTrace();
// }
// }
if (dateRange.length == 2) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
// 解析开始时间
long startTimeStamp = Long.parseLong(dateRange[0].trim());
Date startDate = new Date(startTimeStamp);
String startDateString = sdf.format(startDate);
// 解析结束时间
long endTimeStamp = Long.parseLong(dateRange[1].trim());
Date endDate = new Date(endTimeStamp);
String endDateString = sdf.format(endDate);
// 如果开始时间不为空,则将其放入查询条件中
if (!startDateString.isEmpty()) {
query.put("fromuptimeStart", startDateString);
}
// 如果结束时间不为空,则将其放入查询条件中
if (!endDateString.isEmpty()) {
query.put("fromuptimeEnd", endDateString);
}
} catch (NumberFormatException e) {
// 处理时间戳解析异常
e.printStackTrace();
}
}
if(fromuptimeEnd != null) {
query.put("fromuptimeEnd", fromuptimeEnd);
}
flowTaskService.getFinalProcessInstances(query,pageUtils);
return ResultVoUtil.success(pageUtils);

@ -1281,29 +1281,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
for(OcrTaskchildPictureAppro taskchildPicture:list){
if(taskchildPicture.getStatshis() != null){
String stateText;
switch (taskchildPicture.getStatshis()) {
case 1:
stateText = "待审批";
break;
case 2:
stateText = "通过";
break;
case 3:
stateText = "不通过";
break;
default:
stateText = "未知状态";
break;
}
// 将中文状态赋值给 flowUnionVo 的状态属性
taskchildPicture.setStatshisText(stateText);
}else {
//暂定,后期修改
taskchildPicture.setStatshisText("待审批");
}
if(taskchildPicture.getPictureid() != null && !taskchildPicture.getPictureid().isEmpty()){
Long pictureId = Long.parseLong(taskchildPicture.getPictureid());
@ -1400,6 +1377,38 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
pageUtils.setTotalCount(count.intValue());
//补充历史状态名称,检查补充节点信息
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("待审批");
}
}
pageUtils.setList(list);
}

@ -44,4 +44,12 @@ public class OcrAiApprovalTools {
return ResultVoUtil.success(toolscount);
}
@RequestMapping(value = "/aiApprovaltools", method = RequestMethod.GET)
public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Map<Object, Object> selectaisp = iocrsearchhistoryservice.selectaisp(userToken.getUserid(), taskid);
return ResultVoUtil.success(selectaisp);
}
}

@ -74,7 +74,7 @@ public class OcrFieldController extends BaseController {
*/
@ApiOperation(value="字段新增和修改", notes="字段新增和修改")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) @RequestBody OcrFieldVo ocrFieldVo) {
try {
OcrField ocrField = new OcrField();
ocrField.setName(ocrFieldVo.getName());

@ -214,6 +214,14 @@ public class OcrPictureController extends BaseController {
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
String search_month = req.getParameter("search_month");
String ordertype = req.getParameter("ordertype");
if (StringUtils.isNotBlank(ordertype)) {
if (ordertype.equals("0")) {
queryWrapper.orderByAsc("similarity_score");
} else {
queryWrapper.orderByDesc("similarity_score");
}
}
if (StringUtils.isNotBlank(search_month) && Integer.parseInt(search_month) <= 12 && Integer.parseInt(search_month) > 0) {
queryWrapper.ge("create_time", DataUtil.afterDateByMonth(Integer.parseInt(search_month)));
}

@ -30,7 +30,7 @@ public class OcrUserFieldController extends BaseController{
*/
@ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) OcrUserFieldVo ocrUserFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) @RequestBody OcrUserFieldVo ocrUserFieldVo) {
try {
OcrUserField ocrUserField = new OcrUserField();
ocrUserField.setUserId(ocrUserFieldVo.getUserId());

@ -29,4 +29,8 @@ public interface OcrSearchHistoryMapper extends BaseMapper<OcrSearchHistory> {
Map<Object,Object> toolscount(@Param("userid")String userid);
Map<Object,Object> selectaisp(@Param("id")String id);
String selectaiuser(@Param("userid")String userid);
}

@ -306,6 +306,11 @@ public class OcrPicture implements BaseDto, java.io.Serializable {
@TableField(value = "img_hash")
private String imgHash;
@ApiModelProperty(value = "相似度数值")
@Schema(description = "相似度数值")
@TableField(value = "similarity_score")
private Integer similarityscore;
@ApiModelProperty(value = "图片查重的比对图片集合")
@TableField(exist = false)
private List<OcrPicture> listCom;

@ -31,7 +31,6 @@ import java.util.stream.Stream;
import java.util.stream.Collectors;
@Data
@Builder
@NoArgsConstructor
@ -225,6 +224,10 @@ public class OcrTaskchildPicture implements BaseDto,java.io.Serializable {
@TableField(exist = false)
private String reporttime;
@ApiModelProperty(value = "相似度数值")
@TableField(exist = false)
private Integer similarityscore;
@ApiModelProperty(value = "本人审查日志")
@TableField(exist = false)
private Userapprove userapprove;
@ -302,6 +305,7 @@ public class OcrTaskchildPicture implements BaseDto,java.io.Serializable {
new SimpleEntry<>("TASKNAME", "taskname")
)
.collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue));
@Override
public String getQueryFiled(String filedname) {
String obj = null;

@ -20,4 +20,6 @@ public interface IOcrSearchHistoryService extends IService<OcrSearchHistory> {
List<List<Map<String,String>>> selectsearch(String search,String assignee);
Map<Object,Object> toolscount(String userid);
Map<Object,Object> selectaisp(String userid,String id);
}

@ -82,6 +82,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
@Resource
private OcrPictureclassService ocrPictureclassService;
@Resource
private CategoryService categoryService;
@ -427,7 +428,13 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
ocrTaskchildPicture.setPackageid(packageid);
StringBuffer pcid = new StringBuffer();
StringBuffer result = new StringBuffer();
int max = 0;
for (OcrPicture comp : ocrPicture.getListCom()) {
double doubleValue = Double.parseDouble(comp.getResult());
int intValue = (int) doubleValue;
if (intValue > max) {
max = intValue;
}
if (null == pcid || pcid.toString().length() < 1) {
pcid.append(comp.getId());
result.append(comp.getResult());
@ -439,6 +446,8 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
ocrTaskchildPicture.setOcpictureid(pcid.toString());
ocrTaskchildPicture.setPictureresult(result.toString());
ocrTaskchildPicture.setPicturecompare(String.join(",", ocrPicture.getPicturecompareList()));
ocrPicture.setSimilarityscore(max);
this.updateById(ocrPicture);
return ocrTaskchildPictureService.updateById(ocrTaskchildPicture) ? ocrTaskchildPicture : null;
}

@ -1,5 +1,6 @@
package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -7,10 +8,7 @@ import org.springframework.stereotype.Service;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrSearchHistoryMapper;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* <p>
@ -46,4 +44,30 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
public Map<Object, Object> toolscount(String userid) {
return ocrsearchhistorymapper.toolscount(userid);
}
@Override
public Map<Object, Object> selectaisp(String userid,String id) {
Map<Object, Object> selectaisp = ocrsearchhistorymapper.selectaisp(id);
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.00")){
i++;
}
}
Map<Object,Object> map=new HashMap<>();
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;
}
}

@ -83,4 +83,19 @@
(SELECT COUNT(*) FROM ocr_taskchild_picture WHERE USERID = ""#{userid}"" AND STATES = '3') as approved
</select>
<select id="selectaisp" resultType="map">
SELECT
t.packagename,rw.PICTURERESULT as pictureresult,count(length(rw.PICTURERESULT)-length(replace(rw.PICTURERESULT,',',''))+1) as similarcount,t.create_time as createtime
FROM
ocr_taskchild_picture rw
LEFT JOIN ocr_packagetask t ON rw.PACKAGEID = t.ID
WHERE t.ID = #{id}
</select>
<select id="selectaiuser" resultType="String">
SELECT CONCAT_WS( "-", t.`NAME`, u.USERNAME ) as tenantusername FROM s_user_t u LEFT JOIN s_user_tenant_t z ON u.ID = z.USERID
LEFT JOIN s_tenant_t t ON z.TENANTID = t.ID WHERE u.ID = #{userid}
</select>
</mapper>

@ -167,7 +167,7 @@
</where>
</sql>
<select id="listFinal" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture" parameterType="java.util.Map">
select tcp.*,pic.field11 reporttime from (
select tcp.*,pic.field11 reporttime,pic.similarity_score similarityscore from (
select
tc.*
from ocr_taskchild_picture tc,OA_USERFINAL_T uf
@ -215,24 +215,29 @@
</select>
<select id="listmytask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro" parameterType="java.util.Map">
select tcp.* from (
select
tc.*,uf.COMMENTHIS,uf.TASKNAME as TASKNAMEHIS,uf.STATSHIS,uf.TASKINDEX,uf.TASKNO
from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
where tc.ASSIGNEE = #{searchassignee} and tc.TENANTID=#{searchtenantid}
and tc.STATES=2
UNION
select
tc.*,uf.COMMENTHIS,uf.TASKNAME as TASKNAMEHIS,uf.STATSHIS,uf.TASKINDEX,uf.TASKNO
from ocr_taskchild_picture tc,OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID and tc.TENANTID=#{searchtenantid}
<if test="thisLoginUserid != null"> and uf.USERID = #{thisLoginUserid}</if>
<if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid}
</if>
) as tcp
<include refid="Base_Where_union"></include>
<include refid="Base_Where_union">
</include>
<if test="page != null">
<if test="page.sortname != null"> order by tcp.${page.sortname} ${page.sortorder}</if>
<if test="page.sortname != null">
order by tcp.${page.sortname} ${page.sortorder}
</if>
limit ${page.start}, ${page.Pagesize}
</if>
</select>
@ -242,14 +247,18 @@
tc.*
from ocr_taskchild_picture tc
where tc.ASSIGNEE = #{searchassignee} and tc.TENANTID=#{searchtenantid}
and tc.STATES=2
UNION
select
tc.*
from ocr_taskchild_picture tc,OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID and tc.TENANTID=#{searchtenantid}
<if test="thisLoginUserid != null"> and uf.USERID = #{thisLoginUserid}</if>
<if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid}
</if>
) as tcp
<include refid="Base_Where_union"></include>
<include refid="Base_Where_union">
</include>
</select>

Loading…
Cancel
Save