From 3156acafd25ce9cf5431b684c032d4977ccebcaf Mon Sep 17 00:00:00 2001 From: Superman_Main <396572590@qq.com> Date: Fri, 10 Dec 2021 10:42:13 +0800 Subject: [PATCH] feat: There is no way the, buss --- .../da/FeignClient/workFlowFeignClient.java | 4 + .../workFlowFeignClientImpl.java | 6 + .../ActSarItemsBussEOController.java | 38 ++ .../controller/WorkFlowController.java | 7 + .../entity/BusProcessEvaluationHis.java | 78 ++++ .../service/ActSarItemsBussEOService.java | 442 ++++++++++++++++++ .../service/ActSarItemsLawsEOService.java | 32 -- .../service/ISarBussStandAttrInfoService.java | 4 + .../impl/SarBussStandAttrInfoServiceImpl.java | 10 + .../entity/SarBussionessStand.java | 4 + .../service/ISarBussionessStandService.java | 2 + 11 files changed, 595 insertions(+), 32 deletions(-) create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/BusProcessEvaluationHis.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index 8316969c..5a1572d4 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -3,6 +3,7 @@ package com.adc.da.FeignClient; import com.adc.da.common.*; import com.adc.da.common.Category; import com.adc.da.common.Page; +import com.adc.da.workFlow.entity.BusProcessEvaluationHis; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,6 +18,9 @@ import java.util.Set; //@FeignClient(value = "shan6") public interface workFlowFeignClient { + @RequestMapping(value = "/bat-wkflow/busProcessEvaluation/evaluationHisList",method = RequestMethod.GET) + List evaluationHisList(@RequestParam("pid") String pid); + @RequestMapping(value = "/bat-wkflow/oaTaskExec/execTask",method = RequestMethod.GET) Map execTask(@RequestParam("todoId") String todoId); diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java index bd7a87ff..da6071a8 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java @@ -8,6 +8,7 @@ import com.adc.da.common.*; import com.adc.da.common.Page; import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.IUserEOService; +import com.adc.da.workFlow.entity.BusProcessEvaluationHis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestBody; @@ -25,6 +26,11 @@ public class workFlowFeignClientImpl { @Autowired private IUserEOService userEOService; + public List evaluationHisList(@RequestParam("pid") String pid){ + List stringWrapper = workFlowFeignClient.evaluationHisList(pid); + return stringWrapper; + } + public Map execTask(@RequestParam("todoId") String todoId){ Map stringWrapper = workFlowFeignClient.execTask(todoId); return stringWrapper; 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 new file mode 100644 index 00000000..a15cbc75 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java @@ -0,0 +1,38 @@ +package com.adc.da.workFlow.controller; + + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO; +import com.adc.da.workFlow.service.ActSarItemsBussEOService; +import com.adc.da.workFlow.service.ActSarItemsLawsEOService; +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; + +@RestController +@RequestMapping("/${restPath}/lawss/actSarItemsBuss") +@Api(description = "|ActSarItemsBuss|") +public class ActSarItemsBussEOController extends BaseController { + + @Autowired + private ActSarItemsBussEOService actSarItemsEOService; + +// private static final Logger logger = LoggerFactory.getLogger(AttFileEOController.class); + + @ApiOperation(value = "|SarBussionessStand|企标入库流程") + @PostMapping("/processCreateBuss") + public ResponseMessage processCreateBuss(String infoJson) throws Exception { + if (StringUtils.isNotBlank(infoJson)) { + actSarItemsEOService.processCreateBuss(infoJson); + return Result.success("入库成功"); + } else { + return Result.error("传入数据json不能为空"); + } + } +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index c77639d5..1865962f 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -17,6 +17,7 @@ import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.IUserEOService; import com.adc.da.util.LoginUserUtil; import com.adc.da.workFlow.dao.ExportExcelMapper; +import com.adc.da.workFlow.entity.BusProcessEvaluationHis; import com.adc.da.workFlow.entity.ExportExcel; import com.adc.da.workFlow.entity.ExportExcelEO; import com.adc.da.workFlow.entity.ProcessDetailExport; @@ -49,6 +50,12 @@ public class WorkFlowController { // @Autowired // private ExportExcelMapper exportExcelMapper; + @ApiOperation(value = "查询流程父节点所有评分") + @GetMapping("/evaluationHisList") + public List evaluationHisList(@RequestParam("pid") String pid){ + return workFlowFeignClient.evaluationHisList(pid); + } + @ApiOperation(value = "干活流程接收待办") @GetMapping("/execTask") public Map execTask(@RequestParam("todoId") String todoId){ diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/BusProcessEvaluationHis.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/BusProcessEvaluationHis.java new file mode 100644 index 00000000..e70c9bb3 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/BusProcessEvaluationHis.java @@ -0,0 +1,78 @@ +package com.adc.da.workFlow.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * OA日志表 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="BusProcessEvaluationHis对象", description="流程评分历史表") +public class BusProcessEvaluationHis implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "标准id") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "处理人") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "信息") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "节点信息") + @TableField("TASK_INFO") + private String taskInfo; + + @ApiModelProperty(value = "任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty(value = "流程实例id") + @TableField("P_ID") + private String pId; + + @ApiModelProperty(value = "流程名称") + @TableField("PRC_NAME") + private String prcName; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String updateTime; + + @ApiModelProperty(value = "逻辑状态") + @TableField("FLAG") + private String flag; + + +} 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 new file mode 100644 index 00000000..047bfa43 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java @@ -0,0 +1,442 @@ +package com.adc.da.workFlow.service; + +import com.adc.da.FeignClientImpl.workFlowFeignClientImpl; +import com.adc.da.common.SarConformStateEnum; +import com.adc.da.common.SarStateColorEnum; +import com.adc.da.common.SarTypeEnum; +import com.adc.da.http.ResponseMessage; +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import com.adc.da.slrs.SarCompResAssess.service.ISarCompResAssessService; +import com.adc.da.slrs.SarCompStatusInfo.dao.SarCompStatusInfoDao; +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import com.adc.da.slrs.SarFileSplitItems.service.ISarFileSplitItemsService; +import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; +import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; +import com.adc.da.slrs.sarLawsAttrInfo.service.ISarLawsAttrInfoService; +import com.adc.da.slrs.sarLawsItemVal.dao.SarLawsItemValDao; +import com.adc.da.slrs.sarLawsItems.dao.SarLawsItemsDao; +import com.adc.da.slrs.sarLawsItems.entity.SarLawsItems; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +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.workFlow.dao.ActSarItemsEODao; +import com.adc.da.workFlow.entity.BusProcessEvaluationHis; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; + +@Service("actSarItemsBussEOService") +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class ActSarItemsBussEOService { + + private static final Logger logger = LoggerFactory.getLogger(ActSarItemsBussEOService.class); + + @Autowired + private SarStandAttrInfoDao sarStandAttrInfoEODao; + + @Autowired + private workFlowFeignClientImpl workFlowFeignClient; + + @Autowired + private SarBussStandAttrInfoDao sarBussStandAttrInfoEODao; + + @Autowired + private ISarBussStandAttrInfoService sarBussStandAttrInfoService; + + @Autowired + private ISarBussionessStandService iSarBussionessStandService; + + @Autowired + private IQualityEvaluationService qualityEvaluationService; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + + + @Value("${elas.flag}") + private boolean elasflag; + + /*** + * @Description: 国内外标准流程入库" + * @Date: 2020/12/7 13:48 + * @Param: [standJson] + * @Return: void + */ + public void processCreateBuss(String standJson) throws Exception{ + Map standMap = new HashMap(); + standMap = JSONObject.parseObject(standJson); + if (standMap != null && !standMap.isEmpty()) { + String prcNum = String.valueOf(standMap.get("prcNum")); + String pid = String.valueOf(standMap.get("topId")); + String prcName = String.valueOf(standMap.get("prcName")); + String standType = String.valueOf(standMap.get("standType")); +// String isJudge = String.valueOf(standMap.get("ifIn")); //是否经过技术评估 + SarBussionessStand sarBussionessStand = new SarBussionessStand(); +// if(standMap.containsKey("standId")) { +// if (standMap.get("standId") != null && !standMap.get("standId").toString().equals("")) { +// String resId = standMap.get("standId").toString(); +// //此处说明是带入的形式 +// sarStandardsInfoEO.setId(resId); +// SarCompResAssess assessInfoByResId = sarCompResAssessEOService.ssessInfoByResId(resId); +// if (assessInfoByResId != null) { +// assessInfoByResId.setProcessState("2"); +// sarCompResAssessEOService.updateByPrimaryKeySelective(assessInfoByResId); +// } +// } +// } + + Map attInfoMap = new HashMap<>(); + List jsonArray = new ArrayList<>(); + Object breakVal = null; + Object itemList = null; + for (Map.Entry entry : standMap.entrySet()) { + String field = entry.getKey().toUpperCase(); + Object value = entry.getValue(); + if (InitStandAttrUtil.queryFieldListBuss.contains(field)) { + if (value instanceof JSONArray) { + String valStr = String.valueOf(value); + List valueArr = JSONArray.parseArray(valStr,String.class); + if (valueArr != null && !valueArr.isEmpty()) { + String newValue = ""; + for (String val : valueArr) { + newValue += val + ","; + } + newValue = newValue.substring(0,newValue.length()-1); + value = newValue; + }else { + value = ""; + } + } + attInfoMap.put(field,value); + } else { + createStandBaseField(sarBussionessStand,entry.getKey(),value); + } + } + //处理文件 + //此处需要处理之前的文件信息,防止文件丢失 +// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); + String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarBussionessStand.setSarStandAttrEOStr(resData); + // 根据标准号判断数据是否已存在 + //2021年4月9日 此处检查当前是否存在standId + String standCode = ""; + if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){ + standCode = sarBussionessStand.getStandCode(); + } + List lawsList = iSarBussionessStandService.selectStandardsByStandNumber(standCode); +// if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "INLAND".equals(sarStandardsInfoEO.getStandType())) { +// sarStandardsInfoEO.setMenuId("64df1d5522bb49c09af2"); +// sarStandardsInfoEO.setCountry("CN"); +// } else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) { +// sarStandardsInfoEO.setMenuId("22179d54d4e640098e29"); +// } + //此处判断是否是带入的标准 + String bussId = ""; + if(StringUtils.isNotBlank(sarBussionessStand.getId())) { + bussId = sarBussionessStand.getId(); + SarBussionessStand query = new SarBussionessStand(); + query.setId(sarBussionessStand.getId()); + iSarBussionessStandService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarBussionessStand.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = sarBussStandAttrInfoService.selectFieldValByStandId("XGLC",sarBussionessStand.getId()); + if (StringUtils.isNotBlank(relatePro)) { + String[] processSplit = relatePro.split(","); + Set processSet = new HashSet<>(); + for(String sData:processSplit){ + processSet.add(sData); + } + processSet.add(prcNum); + relatePro = StringUtils.join(processSet.toArray(), ","); + } else { + relatePro = prcNum; + } + // 编辑标准 + iSarBussionessStandService.updateSarBussionessStand(sarBussionessStand); + // 编辑相关流程 + sarBussStandAttrInfoService.updateStandInfo(sarBussionessStand.getId(),"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(sarBussionessStand.getId(),standType+"_STAND",content); + }else if (lawsList != null && !lawsList.isEmpty()) {//Id不存在,但是标准号存在的情况 + String standId = lawsList.get(0).getId(); + bussId = lawsList.get(0).getId(); + SarBussionessStand query = new SarBussionessStand(); + query.setId(standId); + iSarBussionessStandService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarBussionessStand.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = sarBussStandAttrInfoService.selectFieldValByStandId("XGLC",standId); + if (StringUtils.isNotBlank(relatePro)) { + String[] processSplit = relatePro.split(","); + Set processSet = new HashSet<>(); + for(String sData:processSplit){ + processSet.add(sData); + } + processSet.add(prcNum); + relatePro = StringUtils.join(processSet.toArray(), ","); + } else { + relatePro = prcNum; + } + // 编辑标准 + sarBussionessStand.setId(standId); + iSarBussionessStandService.updateSarBussionessStand(sarBussionessStand); + // 编辑相关流程 + sarBussStandAttrInfoService.updateStandInfo(standId,"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(standId,standType+"_STAND",content); + } else {//标准号、ID都不存在的情况 + // 新增方法 + ResponseMessage responseMessage = iSarBussionessStandService.createSarBussionessStand(sarBussionessStand); + if(responseMessage.isOk()){ + SarBussionessStand bussionessStand = responseMessage.getData(); + bussId = bussionessStand.getId() == null ? "":bussionessStand.getId(); + } + + // 编辑相关流程 + sarBussStandAttrInfoService.updateStandInfo(sarBussionessStand.getId(),"XGLC",prcNum); + } + List allItems = new ArrayList<>(); + //开始处理条款数据,从去重后的结果中直接处理即可 +// if(itemData!=null && !itemData.isEmpty()){ +// // allItems = +// saveStandItemsData(itemData, sarStandardsInfoEO); +// } + //技术评估结果入库 重构技术评估结果入库内容 +// if ("0".equals(isJudge)) { +// saveCompStatusInfo(sarStandardsInfoEO,breakVal,allItems,prcNum); +// } + + List evaluationHis = workFlowFeignClient.evaluationHisList(pid); + List evaluations = new ArrayList<>(); + if(!evaluationHis.isEmpty()){ + String finalBussId = bussId; + 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(new Date()); + evaluation.setModifyTime(new Date()); + evaluations.add(evaluation); + + }); + } + }); + } + qualityEvaluationService.saveBatch(evaluations); + } + + + } + + private void updateStandFileFieldData(Map addAttInfoMap,Map oldAttInfoMap){ + if(oldAttInfoMap.containsKey("CA")){ + String fileStr = (String) oldAttInfoMap.get("CA"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("CA")?(String)addAttInfoMap.get("CA"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("CA",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("CA",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("ZQYJG")){ + String fileStr = (String) oldAttInfoMap.get("ZQYJG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("ZQYJG")?(String)addAttInfoMap.get("ZQYJG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("ZQYJG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("ZQYJG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("BPG")){ + String fileStr = (String) oldAttInfoMap.get("BPG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("BPG")?(String)addAttInfoMap.get("BPG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("BPG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("BPG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("SSG")){ + String fileStr = (String) oldAttInfoMap.get("SSG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("SSG")?(String)addAttInfoMap.get("SSG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("SSG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("SSG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("ZBJBD")){ + String fileStr = (String) oldAttInfoMap.get("ZBJBD"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("ZBJBD")?(String)addAttInfoMap.get("ZBJBD"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("ZBJBD",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("ZBJBD",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("FBGBJBD")){ + String fileStr = (String) oldAttInfoMap.get("FBGBJBD"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("FBGBJBD")?(String)addAttInfoMap.get("FBGBJBD"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("FBGBJBD",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("FBGBJBD",fileStr); + } + } + } + } + + /** + * 处理标准基础库字段 + * @param sarBussionessStand + * @param field + * @param value + * @throws Exception + */ + public void createStandBaseField (SarBussionessStand sarBussionessStand,String field,Object value) throws Exception{ + String valueStr = ""; + if (value != null) { + valueStr = String.valueOf(value); + } + switch (field) { + case "id": sarBussionessStand.setId(valueStr); break; + case "standSort": sarBussionessStand.setStandSort(valueStr); break; + case "standNumber": sarBussionessStand.setStandNumber(valueStr); break; + case "standYear": sarBussionessStand.setStandYear(valueStr); break; + case "standCode": sarBussionessStand.setStandCode(valueStr); break; + case "standName": sarBussionessStand.setStandName(valueStr); break; + case "standEnName": sarBussionessStand.setStandEnName(valueStr); break; + case "textStatusBuss": sarBussionessStand.setTextStatusBuss(valueStr); break; + case "issueTime": + if (StringUtils.isNotBlank(valueStr)) { + sarBussionessStand.setIssueTime(tTo(valueStr)); + } + break; + case "putTime": + if (StringUtils.isNotBlank(valueStr)) { + sarBussionessStand.setPutTime(tTo(valueStr)); + } + break; + case "prcNum": sarBussionessStand.setProcessNum(valueStr); break; + case "menuId": sarBussionessStand.setMenuId(valueStr); break; + case "fileWord": + if (StringUtils.isNotBlank(sarBussionessStand.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarBussionessStand.getFileIds() + "," + valueStr; + } + sarBussionessStand.setFileIds(valueStr); break; + case "filePdf": + if (StringUtils.isNotBlank(sarBussionessStand.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarBussionessStand.getFileIds() + "," + valueStr; + } + sarBussionessStand.setFileIds(valueStr); + break; + default: break; + } + } + + private String tTo(String dateStr){ + return dateStr.contains("T") ? dateStr.split("T")[0] : dateStr; + } + +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsLawsEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsLawsEOService.java index 9a56387e..9509383b 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsLawsEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsLawsEOService.java @@ -87,38 +87,6 @@ public class ActSarItemsLawsEOService { @Value("${elas.flag}") private boolean elasflag; - /** - * 标准解读流程入库" - * @param standJson - * @throws Exception - */ - public void createStandardRead(String standJson) throws Exception{ - JSONObject object = JSONObject.parseObject(standJson); - String fileName = object.getString("fileName"); - String fileType = object.getString("fileType"); - String creationTime = object.getString("creationTime"); - String creationUser = object.getString("creationUser"); - String standId = object.getString("standId"); - //数组去重 - JSONArray responUserList1 = object.getJSONArray("itemList"); - for (Object obj:responUserList1) { - JSONObject object1 = (JSONObject) obj; - JSONArray preResponUserList = object1.getJSONArray("zxUserId"); - String oldNumber = object1.getString("oldNumber"); - String itemsNum = object1.getString("itemsNum"); - String itemsName = object1.getString("itemsName"); - String itemsTitle = object1.getString("itemsTitle"); - String applyArcticId = object1.getString("applyArcticId"); - String applyArctic = object1.getString("applyArctic"); - String changePoint = object1.getString("changePoint"); - String technicalRequir = object1.getString("technicalRequir"); - String onlineData = object1.getString("onlineData"); - String newData = object1.getString("newData"); - String complianceRequir = object1.getString("complianceRequir"); - String complianceState = object1.getString("complianceState"); - } - } - /*** * @Description: 国内外标准流程入库" * @Author: yangxuenan diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/ISarBussStandAttrInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/ISarBussStandAttrInfoService.java index b34a1f17..a332d80c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/ISarBussStandAttrInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/ISarBussStandAttrInfoService.java @@ -16,6 +16,10 @@ import java.util.List; */ public interface ISarBussStandAttrInfoService extends IService { + String selectFieldValByStandId(String field,String standId); + + int updateStandInfo(String standId,String field,String value); + List queryByList(SarBussStandAttrInfoEOPage page); List queryByPage(SarBussStandAttrInfoEOPage page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/impl/SarBussStandAttrInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/impl/SarBussStandAttrInfoServiceImpl.java index 3bc28e05..d4a5a599 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/impl/SarBussStandAttrInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/service/impl/SarBussStandAttrInfoServiceImpl.java @@ -20,6 +20,16 @@ import java.util.List; @Service public class SarBussStandAttrInfoServiceImpl extends ServiceImpl implements ISarBussStandAttrInfoService { + @Override + public int updateStandInfo(String standId,String field,String value){ + return this.baseMapper.updateStandInfo(standId,field,value); + } + + @Override + public String selectFieldValByStandId (String field,String standId) { + return this.baseMapper.selectFieldValByStandId(field,standId); + } + @Override public List queryByList(SarBussStandAttrInfoEOPage page){ return this.baseMapper.queryByList(page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/SarBussionessStand.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/SarBussionessStand.java index 1009fa1a..3f411919 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/SarBussionessStand.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/entity/SarBussionessStand.java @@ -56,6 +56,7 @@ public class SarBussionessStand extends BaseEntity { @ApiModelProperty(value = "发布日期") @TableField("ISSUE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") private String issueTime; @ApiModelProperty(value = "实施日期") @@ -130,6 +131,9 @@ public class SarBussionessStand extends BaseEntity { @TableField(exist = false) private String putTimeStr; + @TableField(exist = false) + private String processNum;//流程编号 + //目录ID 非标准信息表中的字段 @TableField(exist = false) private String menuId; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index 633241f4..39fa8d65 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -18,6 +18,8 @@ import java.util.List; */ public interface ISarBussionessStandService extends IService { + void attrInfoDetails (SarBussionessStand row) throws Exception; + ResponseMessage deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception; List getSarBussionessStand(String exportType, String exportContent,String userId) throws Exception;