diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java index a15cbc75..956a30b3 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java @@ -11,9 +11,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/${restPath}/lawss/actSarItemsBuss") @@ -35,4 +33,10 @@ public class ActSarItemsBussEOController extends BaseController { return Result.error("传入数据json不能为空"); } } + + @ApiOperation(value = "手动更新") + @GetMapping("/autoUpdIndex") + public void autoUpdIndex(@RequestParam("pid") String pid,@RequestParam("bussId") String bussId) { + actSarItemsEOService.autoUpdIndex(pid,bussId); + } } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java index badbd890..341e3159 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java @@ -29,6 +29,7 @@ import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.adc.da.workFlow.dao.ActSarItemsEODao; import com.adc.da.workFlow.entity.BusProcessEvaluationHis; import com.alibaba.fastjson.JSON; @@ -44,8 +45,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service("actSarItemsBussEOService") @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) @@ -78,6 +81,49 @@ public class ActSarItemsBussEOService { @Value("${elas.flag}") private boolean elasflag; + public void autoUpdIndex(String pid,String bussId){ + List evaluationHisFilter = workFlowFeignClient.evaluationHisList(pid); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = evaluationHisFilter.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo()))); + + List evaluations = new ArrayList<>(); + if(!listMap.isEmpty()){ + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + evaluationHis.add(value.get(0)); + } + }); + String finalBussId = bussId; + Date date = new Date(); + evaluationHis.forEach(busProcessEvaluationHis -> { + List valueArr = JSONArray.parseArray(busProcessEvaluationHis.getMesg(),JSONObject.class); + if(!valueArr.isEmpty()){ + valueArr.forEach(object -> { + QualityEvaluation evaluation = new QualityEvaluation(); + evaluation.setId(UUIDUtils.randomUUID20()); + evaluation.setLawId(finalBussId); + evaluation.setUserId(object.getString("userId")); + evaluation.setScore(object.getString("score")); + evaluation.setReason(object.getString("reason")); + evaluation.setEvaluationIndex(object.getString("code")); + evaluation.setProcessNode(object.getString("processNode")); + evaluation.setEvaluationType(object.getString("indexType")); + evaluation.setCreateTime(date); + evaluation.setModifyTime(date); + evaluations.add(evaluation); + + }); + } + }); + qualityEvaluationService.saveBatch(evaluations); + } + } + /*** * @Description: 国内外标准流程入库" * @Date: 2020/12/7 13:48 @@ -238,10 +284,24 @@ public class ActSarItemsBussEOService { // saveCompStatusInfo(sarStandardsInfoEO,breakVal,allItems,prcNum); // } - List evaluationHis = workFlowFeignClient.evaluationHisList(pid); + List evaluationHisFilter = workFlowFeignClient.evaluationHisList(pid); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = evaluationHisFilter.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo()))); + List evaluations = new ArrayList<>(); - if(!evaluationHis.isEmpty()){ + if(!listMap.isEmpty()){ + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + evaluationHis.add(value.get(0)); + } + }); String finalBussId = bussId; + Date date = new Date(); evaluationHis.forEach(busProcessEvaluationHis -> { List valueArr = JSONArray.parseArray(busProcessEvaluationHis.getMesg(),JSONObject.class); if(!valueArr.isEmpty()){ @@ -255,15 +315,15 @@ public class ActSarItemsBussEOService { evaluation.setEvaluationIndex(object.getString("code")); evaluation.setProcessNode(object.getString("processNode")); evaluation.setEvaluationType(object.getString("indexType")); - evaluation.setCreateTime(new Date()); - evaluation.setModifyTime(new Date()); + evaluation.setCreateTime(date); + evaluation.setModifyTime(date); evaluations.add(evaluation); }); } }); + qualityEvaluationService.saveBatch(evaluations); } - qualityEvaluationService.saveBatch(evaluations); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java index db50f52a..a6398a23 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity; import com.adc.da.base.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -77,10 +78,12 @@ public class QualityEvaluation extends BaseEntity { @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @ApiModelProperty(value = "更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date modifyTime; diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java index 27a7a463..f43dfae9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java @@ -5,6 +5,8 @@ import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; +import java.text.MessageFormat; + /** * @Description: TODO * @author: super_liu @@ -12,6 +14,10 @@ import org.apache.poi.ss.usermodel.Row; */ public class Utils { + public static String format(String value, Object... paras) { + return MessageFormat.format(value, paras); + } + //判断row是否为空 空返回true public static boolean isRowEmpty(Row row) { if (null == row) {