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 70d5403e..e559943a 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 @@ -399,4 +399,7 @@ public interface workFlowFeignClient { // @RequestMapping(value = "/bat-wkflow/findProcessNameByPrcNum",method = RequestMethod.POST) // List findProcessNameByPrcNum(@RequestBody String taskId); + + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/everyDayTenOlock",method = RequestMethod.GET) + List everyDayTenOlock(); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java index 9051d48a..cdf348f1 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java +++ b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java @@ -1,10 +1,18 @@ package com.adc.da.Timer; import com.adc.da.FeignClient.workFlowFeignClient; +import com.adc.da.common.BusMes; import com.adc.da.common.BusProcessName; +import com.adc.da.common.BusProcessNew; +import com.adc.da.common.Wrapper; +import com.adc.da.http.ResponseMessage; import com.adc.da.sys.common.EmailUtils; import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.IUserEOService; +import com.adc.da.workFlow.controller.WorkFlowController; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; @@ -13,6 +21,7 @@ import org.springframework.stereotype.Component; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -23,6 +32,7 @@ import java.util.List; */ @Component @EnableScheduling +@Slf4j public class ProcessTimer { @Autowired @@ -34,6 +44,9 @@ public class ProcessTimer { @Autowired private IUserEOService userEOService; + @Autowired + private WorkFlowController workFlowController; + /*** * @Description: 自动催办,任务截至时间前3天开始每天催办 * @Author: yangxuenan @@ -46,14 +59,14 @@ public class ProcessTimer { // @Scheduled(cron = "0/20 * * * * ?") public void urging() { List busProcessNames = workFlowFeignClient.queryBusProcessNameForEnd(null); - if(null != busProcessNames && 0 < busProcessNames.size()){ - for (BusProcessName busProcessName : busProcessNames){ + if (null != busProcessNames && 0 < busProcessNames.size()) { + for (BusProcessName busProcessName : busProcessNames) { String type = busProcessName.getPrcType(); Integer typeInt = 99; - if (StringUtils.isNotEmpty(type)){ + if (StringUtils.isNotEmpty(type)) { typeInt = Integer.valueOf(type); } - type = chooseType(typeInt,type); + type = chooseType(typeInt, type); UserEO userEO = userEOService.selectByPrimaryKey(busProcessName.getCreatUserName()); String[] array = userEO.getEmail().split(","); @@ -64,30 +77,30 @@ public class ProcessTimer { try { dateTime = simpleDateFormat.parse(overTime); Date now = new Date(); - long daysBetween = (dateTime.getTime()-now.getTime()+1000000)/(60*60*24*1000); + long daysBetween = (dateTime.getTime() - now.getTime() + 1000000) / (60 * 60 * 24 * 1000); num = Integer.valueOf(String.valueOf(daysBetween)); } catch (ParseException e) { SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); try { dateTime = simpleDateFormat1.parse(overTime); Date now = new Date(); - long daysBetween = (dateTime.getTime()-now.getTime()+1000000)/(60*60*24*1000); + long daysBetween = (dateTime.getTime() - now.getTime() + 1000000) / (60 * 60 * 24 * 1000); num = Integer.valueOf(String.valueOf(daysBetween)); } catch (ParseException e1) { e.getMessage(); } } - String msg = "您好,["+ busProcessName.getPrcNum() +"]-["+ busProcessName.getPrcName() +"] 您有待办任务未及时办理,距离截至日期还有["+ String.valueOf(num) +"]天 请及时办理,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接 ( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter ) 。\n" + + String msg = "您好,[" + busProcessName.getPrcNum() + "]-[" + busProcessName.getPrcName() + "] 您有待办任务未及时办理,距离截至日期还有[" + String.valueOf(num) + "]天 请及时办理,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接 ( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter ) 。\n" + " ——来自 全球标准法规管理系统"; - String title = "GSRM——【待办任务】["+ type +"] 您有未完成的待办任务"; - mailUtil.sendMsgFeign(array,title,msg); + String title = "GSRM——【待办任务】[" + type + "] 您有未完成的待办任务"; + mailUtil.sendMsgFeign(array, title, msg); } } } - public String chooseType(Integer typeInt,String type) { + public String chooseType(Integer typeInt, String type) { switch (typeInt) { case 1: type = "法规入库及评估流程"; @@ -151,4 +164,31 @@ public class ProcessTimer { } return type; } + + @Scheduled(cron = "0 0 10 * * ? ")//每天十点执行 +// @Scheduled(cron = "*/20 * * * * ? ")//每天十点执行 + public void everyDayTenOlockScan() { + List busProcessNews=new ArrayList<>(); + busProcessNews=workFlowFeignClient.everyDayTenOlock(); + if (!busProcessNews.isEmpty()){ + for (BusProcessNew bus:busProcessNews) { + JSONObject jsonObject= JSON.parseObject(bus.getMesg()); + jsonObject.put("auto","1"); + ResponseMessage responseMessage = workFlowController.startProcessNew("19",jsonObject.getString("revisionId"),null); + BusMes busMes=new BusMes(); + busMes.setTaskIds(String.valueOf(responseMessage.getData())); + busMes.setJson(jsonObject.toJSONString()); + busMes.setUserId(jsonObject.getString("revisionId")); + Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); + log.info("政策课题组会后流程已发起"); + } + } + } + + + public static void main(String[]args){ + ProcessTimer processTimer = new ProcessTimer(); + processTimer.everyDayTenOlockScan(); + } + } diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java index f639d5e2..50e95ab8 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java @@ -25,6 +25,24 @@ public class ActDefineStartMap { map.put("8","nonConformanceRectificationKey"); map.put("9","standardReadWkflow"); map.put("10","itemlistvalidationprocessKey"); + + // 政策入库 + map.put("laws1","lawsLibraryWkflow"); + + //张超然 + map.put("20","StandardApplyMeetProcess"); + map.put("21","StandardMeetProcess"); + map.put("22","StandardAfterMeetProcess"); + + //李奥 + map.put("14","ParticipateRevisionFiling"); + map.put("15","JoinStandardFiling"); + map.put("16","RecommendedApprovalleo"); + //孔维一 + map.put("17","policyResearchGroupEnrollment"); + map.put("18","policyResearchGroupAttendMeeting"); + map.put("19","policyResearchGroupAfterMeeting"); + return map.get(type); } } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsLawsEOController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsLawsEOController.java new file mode 100644 index 00000000..db5475cf --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsLawsEOController.java @@ -0,0 +1,39 @@ +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.ActSarItemsEOService; +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.beans.factory.annotation.Value; +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/actSarItemsLaws") +@Api(description = "|ActSarItemsEO|") +public class ActSarItemsLawsEOController extends BaseController { + + @Autowired + private ActSarItemsLawsEOService actSarItemsEOService; + +// private static final Logger logger = LoggerFactory.getLogger(AttFileEOController.class); + + @ApiOperation(value = "|SarLawsStandInfo|政策入库流程") + @PostMapping("/processCreateLaws") + public ResponseMessage processCreateLaws(String infoJson) throws Exception { + if (StringUtils.isNotBlank(infoJson)) { + actSarItemsEOService.processCreateLaws(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 d0efa9b9..2dd91c46 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 @@ -122,6 +122,16 @@ public class WorkFlowController { } } + @ApiOperation(value = "定时任务启动流程-以流程定义id") + @GetMapping("/startProcessNew") + public ResponseMessage startProcessNew(@RequestParam("type") String type, @RequestParam(value="userId",required = false) String userId, @RequestParam(value="id",required = false) String id){ + if(StringUtils.isNotBlank(type)){ + return this.activiti_define_start(ActDefineStartMap.actDefineStartMap(type), userId,id); + }else { + return null; + } + } + @ApiOperation(value = "待办任务详情") @GetMapping("/todotask") public PageInfo todotask(@RequestParam("userId") String userId, @RequestParam("pId") String pId){ diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java index 3d834f4a..844d2c3d 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java @@ -1,9 +1,11 @@ package com.adc.da.workFlow.dao; import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO; +import org.springframework.stereotype.Repository; import java.util.List; +@Repository public interface ActSarItemsEODao { List queryByPage(ActSarItemsEO actSarItemsEO); 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 new file mode 100644 index 00000000..9a56387e --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsLawsEOService.java @@ -0,0 +1,918 @@ +package com.adc.da.workFlow.service; + +import com.adc.da.common.PropertyTypeEnum; +import com.adc.da.common.SarConformStateEnum; +import com.adc.da.common.SarStateColorEnum; +import com.adc.da.common.SarTypeEnum; +import com.adc.da.login.util.UserUtils; +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.entity.SarFileSplitItems; +import com.adc.da.slrs.SarFileSplitItems.service.ISarFileSplitItemsService; +import com.adc.da.slrs.SarStandItemVal.dao.SarStandItemValDao; +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import com.adc.da.slrs.sarLawsAttrInfo.dao.SarLawsAttrInfoDao; +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.service.ISarStandAttrInfoService; +import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.constant.ValueStateEnum; +import com.adc.da.util.UUIDUtils; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.workFlow.dao.ActSarItemsEODao; +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("actSarItemsLawsEOService") +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class ActSarItemsLawsEOService { + + private static final Logger logger = LoggerFactory.getLogger(ActSarItemsLawsEOService.class); + + @Autowired + private ActSarItemsEODao actSarItemsEODao; + + @Autowired + private SarLawsItemsDao sarLawsItemsDao; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private ISarLawsStandInfoService sarLawsStandInfoService; + + @Autowired + private ISarLawsAttrInfoService iSarLawsAttrInfoService; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + + @Autowired + private SarCompStatusInfoDao sarCompStatusInfoEODao; + + @Autowired + private ISarCompResAssessService sarCompResAssessEOService; + + @Autowired + private ISarFileSplitItemsService sarFileSplitItemsEOService; + + @Autowired + private SarLawsItemValDao sarLawsItemValDao; + + + @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 + * @Date: 2020/12/7 13:48 + * @Param: [standJson] + * @Return: void + */ + public void processCreateLaws(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 prcName = String.valueOf(standMap.get("prcName")); + String standType = String.valueOf(standMap.get("standType")); +// String isJudge = String.valueOf(standMap.get("ifIn")); //是否经过技术评估 + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); +// 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.queryFieldListLaws.contains(field)) { + if (value != null && 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; + } + } + attInfoMap.put(field,value); + } else { + createStandBaseField(sarLawsStandInfo,entry.getKey(),value); + } + } + //处理文件 + //此处需要处理之前的文件信息,防止文件丢失 +// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); + String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarLawsStandInfo.setSarStandAttrEOStr(resData); + // 根据标准号判断数据是否已存在 + //2021年4月9日 此处检查当前是否存在standId + String lawsNumber = ""; + if(StringUtils.isNotBlank(sarLawsStandInfo.getLawsNumber()) && !"null".equals(sarLawsStandInfo.getLawsNumber())){ + lawsNumber = sarLawsStandInfo.getLawsNumber(); + } + List lawsList = sarLawsStandInfoService.selectStandardsByStandNumber(lawsNumber); +// 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"); +// } + //此处判断是否是带入的标准 + if(StringUtils.isNotBlank(sarLawsStandInfo.getId())) { + SarLawsStandInfo query = new SarLawsStandInfo(); + query.setId(sarLawsStandInfo.getId()); + sarLawsStandInfoService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarLawsStandInfo.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = iSarLawsAttrInfoService.selectFieldValByLawsId("XGLC",sarLawsStandInfo.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; + } + // 编辑标准 + sarLawsStandInfoService.updateSarLawsStandInfo(sarLawsStandInfo); + // 编辑相关流程 + iSarLawsAttrInfoService.updateLawsInfo(sarLawsStandInfo.getId(),"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(sarLawsStandInfo.getId(),standType+"_STAND",content); + }else if (lawsList != null && !lawsList.isEmpty()) {//Id不存在,但是标准号存在的情况 + String standId = lawsList.get(0).getId(); + SarLawsStandInfo query = new SarLawsStandInfo(); + query.setId(standId); + sarLawsStandInfoService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarLawsStandInfo.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = iSarLawsAttrInfoService.selectFieldValByLawsId("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; + } + // 编辑标准 + sarLawsStandInfo.setId(standId); + sarLawsStandInfoService.updateSarLawsStandInfo(sarLawsStandInfo); + // 编辑相关流程 + iSarLawsAttrInfoService.updateLawsInfo(standId,"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(standId,standType+"_STAND",content); + } else {//标准号、ID都不存在的情况 + // 新增方法 + sarLawsStandInfoService.createSarStandardsInfo(sarLawsStandInfo); + // 编辑相关流程 + iSarLawsAttrInfoService.updateLawsInfo(sarLawsStandInfo.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); +// } + } + } + + /*** + * 标准法规入库流程中技术评估结果入库归档操作 + * @param sarStandardsInfoEO + * @param allItems + * @param prcNum + */ + public void saveCompStatusInfo (SarStandardsInfo sarStandardsInfoEO,Object taskBreak,List allItems,String prcNum) throws Exception { + //首先将入库的标准条款通过之前的拆分库ID转换成入库后的条款的对应关系 + Map itemConvertDataMap = new HashMap<>(); + if(allItems!=null && !allItems.isEmpty()){ + for(SarStandItems itemsEO:allItems){ + itemConvertDataMap.put(itemsEO.getOldId(),itemsEO.getId()); + } + } + //获取本次入库的标准ID和类型 + String standId = sarStandardsInfoEO.getId();//标准ID + //主要时区分国内、国外 + String sarType = sarStandardsInfoEO.getStandType()+"_STAND"; + //判断填写表单是哦服存在 + if(taskBreak!=null){ + List compStatusInfoEOS = new ArrayList<>(); + //解析表单数据 + String compResultStr = String.valueOf(taskBreak); + List jsonArray = JSONArray.parseArray(compResultStr, String.class); + //判断数据是否正常 + if (jsonArray != null && !jsonArray.isEmpty()) { + //当入库时只有标准时 itemList是空的 + for (String jsonStr : jsonArray) { + if (StringUtils.isNotBlank(jsonStr)) { + Map jsonMap = JSONObject.parseObject(jsonStr); + if(jsonMap.containsKey("itemsList")){//开始读取条款集合数据处理结果 + String itemsList = jsonMap.get("itemsList").toString(); + //获取条款级别的评估集合列表 + List itemCompStrList = JSONArray.parseArray(itemsList, String.class); + if(itemCompStrList!=null && !itemCompStrList.isEmpty()){ + for(String itemCompDataStr : itemCompStrList){ + //解析每个人填写的具体评估结果 + Map itemDataMap = JSONObject.parseObject(itemCompDataStr); + if(itemDataMap.containsKey("pgForm")){ + String pgResult = itemDataMap.get("pgForm").toString(); + //新旧条款ID转换 + String oldItemId = itemDataMap.containsKey("id")?itemDataMap.get("id").toString():null; + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + //评估结果 + sarCompStatusInfoEO.setSarState(itemDataMap.containsKey("jspg")?itemDataMap.get("jspg").toString():null); + //新旧条款号转换存储 + if(StringUtils.isNotBlank(oldItemId)){ + sarCompStatusInfoEO.setSarItemId(itemConvertDataMap.get(oldItemId)); + sarCompStatusInfoEO.setSarItemState(sarCompStatusInfoEO.getSarState()); + } + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + //评估人处理 + sarCompStatusInfoEO.setCompPerson(itemDataMap.containsKey("foFillUser")?itemDataMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + }else{ + if(jsonMap.containsKey("pgForm")){ + String pgResult = jsonMap.get("pgForm").toString(); + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + sarCompStatusInfoEO.setSarState(jsonMap.containsKey("jspg")?jsonMap.get("jspg").toString():null); + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + sarCompStatusInfoEO.setCompPerson(jsonMap.containsKey("foFillUser")?jsonMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + }else{//只有标准的情况下 + //获取 + if(jsonMap.containsKey("pgForm")){ + String pgResult = jsonMap.get("pgForm").toString(); + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + sarCompStatusInfoEO.setSarState(jsonMap.containsKey("jspg")?jsonMap.get("jspg").toString():null); + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + sarCompStatusInfoEO.setCompPerson(jsonMap.containsKey("foFillUser")?jsonMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + } + } + } + //最后开始将评估结果入库同时将评估结果汇总后给出标准的评估结果 + saveJSPGResultDataList(compStatusInfoEOS); + } + } + + /** + * 入库技术评估结果 + * @param compResultData + */ + private void saveJSPGResultDataList(List compResultData) throws Exception { + if(compResultData!=null && !compResultData.isEmpty()){ + //1、将数据存储到记录表中 + //2、汇总本次评估的结果 更新所有清单中的状态 此处有坑,如果标准评估后又在新的清单中添加的时候状态可能就是空的, + // 此时就会显示空,所以需要更换实现方法 + //需要中间需要增加一层技术评估的结果,但是代价太大,2021年3月21日 无法在今天修改完,需要于2021年3月22日 整体想下这块, + // 目前的实现思路时有问题的 + //正确逻辑时: 现将当前的评估结果记录到所有的技术评估结果中,然后汇总本次的评估结果内容到当前标准的技术评估汇总表中 + //汇总后形成最新的评估内容,此时有2种做法 1、不记录上一次的状态 直接更新 2、记录上一次状态,新增一条整体评估结果记录 + //在清单查询的时候 查询当前标准的最新一次评估结果,将评估结果不再清单中直接显示,而是在汇总表中的信息进行修改,这样能够达到 + //单一标准不论在任何时间添加到清单的时候都可以查看,同时在标准的技术评估状态的时候也可以直接调用即可。不用每次评估完都需要更新 + //技术清单的逻辑 + /** + * 整体表关系如下: + * 基础库: 国内标准库 海外标准库 政策库 + * 技术评估汇总表 资源的汇总结果记录 + * 详细评估内容记录表 资源本身每次评估的详细记录 + * 清单: 根据标准号到资源的汇总记录表中查询汇总结果 直接展现即可 + * 目前缺少的就是资源的汇总结果记录缺失,导致查询的时候可能汇总结果会有问题 + */ + //开始汇总数据以及状态变更 + //首先先检查当前标准在汇总表中是否存在 + Map> assessMap = new HashMap<>(); + Map compResAssessEOMap = new HashMap<>(); + for(SarCompStatusInfo data : compResultData){ + //评估结果转换 + String state = sysInfoEOService.changeCompStatus(data.getSarState()); + String itemSate = sysInfoEOService.changeCompStatus(data.getSarItemState()); + data.setSarState(state); + data.setSarItemState(itemSate); + if(StringUtils.equals("INLAND",data.getSarType())){ + data.setSarType(SarTypeEnum.INLAND_STAND.getValue()); + }else if(StringUtils.equals("FOREIGN",data.getSarType())){ + data.setSarType(SarTypeEnum.FOREIGN_STAND.getValue()); + } + SarCompResAssess info =null; + if(assessMap.containsKey(data.getSarId())){ + info = compResAssessEOMap.get(data.getSarId()); + }else{ + info= sarCompResAssessEOService.getAssessInfoByResId(data.getSarId()); + if(info==null){ + info = new SarCompResAssess(); + info.setId(UUIDUtils.randomUUID(32)); + info.setAssessTime(new Date()); + info.setCreatedTime(new Date()); + info.setModifyTime(new Date()); + info.setProcessNum(data.getPrcNum()); + info.setResId(data.getSarId()); + info.setResType(data.getSarType()); + sarCompResAssessEOService.save(info); + } + compResAssessEOMap.put(data.getSarId(),info); + } + //汇总结果 + if(!assessMap.containsKey(info.getResId())){ + Map accessData = new HashMap<>(); + accessData.put(state,1); + assessMap.put(info.getResId(),accessData); + }else{ + Map accessData = assessMap.get(info.getResId()); + if(accessData.containsKey(state)){ + Integer stateNum = accessData.get(state); + accessData.put(state,stateNum+1); + assessMap.put(info.getResId(),accessData); + }else{ + accessData.put(state,1); + assessMap.put(info.getResId(),accessData); + } + } + //入库操作 + sarCompStatusInfoEODao.insert(data); + } + //开始遍历状态集合 + for (Map.Entry entry : compResAssessEOMap.entrySet()) { + String compId = entry.getKey().toString();//汇总ID + SarCompResAssess compResAssessEO = (SarCompResAssess) entry.getValue(); + Map stringIntegerMap = assessMap.get(compId); + if(stringIntegerMap!=null){ + if(stringIntegerMap.containsKey(SarConformStateEnum.UNFIT.getValue()+"")){//只要包含不符合的就是不符合 + compResAssessEO.setAssessResult(SarConformStateEnum.UNFIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.size() ==1){//只有一种情况的 + if(stringIntegerMap.containsKey(SarConformStateEnum.FIT.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.FIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.GREEN.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.CHECK.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.NOT_INVOLVE.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.NOT_INVOLVE.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); + } + }else if(stringIntegerMap.containsKey(SarConformStateEnum.CHECK.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.NOT_INVOLVE.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.NOT_INVOLVE.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); + }else{ + compResAssessEO.setAssessResult(SarConformStateEnum.FIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.GREEN.getValue()); + } +// else {//不包含不符合的并且单一情况并不存在的也就是说是 部分符合或者待确认的 +// if(stringIntegerMap.containsKey(SarConformStateEnum.FIT.getValue()+"")){ +// compResAssessEO.setAssessResult(SarConformStateEnum.PART_FIT.getValue()); +// compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); +// }else{ +// compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); +// compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); +// } +// } + } + compResAssessEO.setProcessState("2"); + compResAssessEO.setModifyTime(new Date()); + if(StringUtils.equals("INLAND",compResAssessEO.getResType())){ + compResAssessEO.setResType(SarTypeEnum.INLAND_STAND.getValue()); + }else if(StringUtils.equals("FOREIGN",compResAssessEO.getResType())){ + compResAssessEO.setResType(SarTypeEnum.FOREIGN_STAND.getValue()); + } + //更新汇总后的结果 + sarCompResAssessEOService.updateById(compResAssessEO); + } + } + } + + private String convertColorByState(String stateStr){ + String colorStr = ""; + switch (stateStr){ + case "1": + colorStr = SarStateColorEnum.GREEN.getValue(); + break; + case "2": + colorStr = SarStateColorEnum.YELLOW.getValue(); + break; + case "3": + colorStr = SarStateColorEnum.YELLOW.getValue(); + case "4": + colorStr = SarStateColorEnum.NA.getValue(); + } + return colorStr; + } + + + public String changeStatus (String textStatus) { + String status = ""; + switch (textStatus) { + case "草稿": status="CA";break; + case "征求意见稿": status="ZQYJG";break; + case "报批稿": status="BPG";break; + case "送审稿": status="SSG";break; + case "发布稿(必读)": status="FBGBJBD";break; + } + return status; + } + + /** + * 处理条款信息转换 + * @param itemsEO + * @param field + * @param value + * @throws Exception + */ + public void createItemsBaseField (SarLawsItems itemsEO,String field,Object value) throws Exception{ + String valueStr = ""; + if (value != null) { + valueStr = String.valueOf(value); + } + switch (field) { + case "itemsName": itemsEO.setItemsName(valueStr); break; + case "FO": + List jsonArray = JSONArray.parseArray(valueStr,String.class); + String fo = ""; + if (jsonArray != null && !jsonArray.isEmpty()) { + for (String json : jsonArray) { + fo += json + ","; + } + fo = fo.substring(0,fo.length()-1); + itemsEO.setFoUser(fo); + } + break; + case "itemsNum": itemsEO.setItemsNum(valueStr); break; + case "termsConditions": itemsEO.setTermsConditions(valueStr); break; + case "svpps": itemsEO.setSvpps(valueStr); break; + case "role": itemsEO.setDutyEngineer(valueStr); break; + case "parts": itemsEO.setResponsibleUnit(valueStr); break; + case "FORoleId": itemsEO.setFo(valueStr); break; + case "id": itemsEO.setOldId(valueStr); break; + case "jspg": itemsEO.setJspg(valueStr); break; + case "pgForm": + if (StringUtils.isNotBlank(valueStr)) { + SarCompStatusInfo list = JSONObject.parseObject(valueStr,SarCompStatusInfo.class); + itemsEO.setPgForm(list); + }; + break; + default: break; + } + } + + /** + * 处理保存标准条款信息数据 + * @return + */ +// private List saveStandItemsData(List> itemDataList,SarLawsStandInfo sarStandardsInfoEO) throws Exception { +// String standId = sarStandardsInfoEO.getId(); +// String fileType = changeStatus(sarStandardsInfoEO.getLawsTextState()); +// List itemsEOList = new ArrayList<>();//添加的条款信息 +// List upItemsEOList = new ArrayList<>();//更新的条款数据 +// List delValItemIds = new ArrayList<>();//需要删除重新添加的条款数据集合 +// List itemValEOS = new ArrayList<>();//批量更新进去的条款参数集合 +// List UpSarFileSplitItemsList = new ArrayList<>(); +// for(Map itemData:itemDataList){ +// String itemStr = itemData.get("itemStr").toString();//条款的具体内容 +// Map itemAttrInfo = (Map) itemData.get("itemAttrInfo");//条款的属性字段 +// Map itemMap = new HashMap(); +// //此处需要查询拆分库数据,将之前的拆分数据带入到当前标准中同时检查当前分解单中是否已经包含相关的条款信息, +// // 如果是则更新,如果没有则添加 +// itemMap = JSONObject.parseObject(itemStr);; +// if (itemMap != null && !itemMap.isEmpty()) { +// if(itemMap.containsKey("resId")){ +// //存在 +// String splitItemId = String.valueOf(itemMap.get("resId")); +// if(StringUtils.isNotBlank(splitItemId)){ +// SarFileSplitItems splitItemsEO = sarFileSplitItemsEOService.getById(splitItemId); +// if(splitItemsEO!=null){ +// //拆分库有数据,检查当前的表单中是否有数据,如果有则直接获取后更新即可 +// SarLawsItems nowItemEO = sarLawsItemsDao.selectById(splitItemId); +// if(nowItemEO!=null){ +// //更新数据 +// nowItemEO.setItemsNum(splitItemsEO.getItemsNum()); +// nowItemEO.setItemsName(splitItemsEO.getItemsName()); +// nowItemEO.setApplyArctic(splitItemsEO.getApplyArctic()); +// nowItemEO.setLawsId(standId); +// nowItemEO.setTermsConditions(splitItemsEO.getItermsConditions()); +// nowItemEO.setParts(splitItemsEO.getSvpps()); +// nowItemEO.setCreationUser(UserUtils.getUserId()); +// nowItemEO.setValidFlag(0); +// if(null!=fileType){ +// nowItemEO.setFileType(fileType); +// } +// nowItemEO.setRemarks(splitItemsEO.getRemarks()); +// nowItemEO.setModifyTime(new Date()); +// +// nowItemEO.setClaimType(splitItemsEO.getClaimType()); +// nowItemEO.setBusStandCover(splitItemsEO.getBusStandCover()); +// nowItemEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); +// nowItemEO.setFo(itemAttrInfo.get("FO")); +// nowItemEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); +// nowItemEO.setSvpps(itemAttrInfo.get("SVPPS")); +// upItemsEOList.add(nowItemEO); +// }else{ +// SarLawsItems itemsEO = new SarLawsItems(); +// itemsEO.setId(splitItemId); +// itemsEO.setCreationTime(new Date()); +// itemsEO.setModifyTime(new Date()); +// itemsEO.setValidFlag(0); +// itemsEO.setLawsId(standId); +// itemsEO.setFileType(fileType); +// for (Map.Entry entry : itemMap.entrySet()) { +// String field = entry.getKey(); +// Object value = entry.getValue(); +// createItemsBaseField(itemsEO,field,value); +// } +// itemsEO.setItemsNum(splitItemsEO.getItemsNum()); +// itemsEO.setItemsName(splitItemsEO.getItemsName()); +// itemsEO.setApplyArctic(splitItemsEO.getApplyArctic()); +// itemsEO.setTermsConditions(splitItemsEO.getItermsConditions()); +// itemsEO.setParts(splitItemsEO.getSvpps()); +// itemsEO.setCreationUser(UserUtils.getUserId()); +// itemsEO.setRemarks(splitItemsEO.getRemarks()); +// itemsEO.setClaimType(splitItemsEO.getClaimType()); +// itemsEO.setBusStandCover(splitItemsEO.getBusStandCover()); +// itemsEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); +// itemsEO.setFo(itemAttrInfo.get("FO")); +// itemsEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); +// itemsEO.setSvpps(itemAttrInfo.get("SVPPS")); +// //开始处理后续逻辑 +// itemsEOList.add(itemsEO); +// } +// //apply数据 +// if(StringUtils.isNotEmpty(splitItemsEO.getApplyArctic())){ +// delValItemIds.add(splitItemsEO.getId()); +// String[] applyarr = splitItemsEO.getApplyArctic().trim().split(","); +// for(String applya:applyarr){ +// SarStandItemVal sarStandItemValEO = new SarStandItemVal(); +// sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); +// sarStandItemValEO.setCreationTime(new Date()); +// sarStandItemValEO.setModifyTime(new Date()); +// sarStandItemValEO.setItemId(splitItemsEO.getId()); +// sarStandItemValEO.setId(UUIDUtils.randomUUID20()); +// sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); +// sarStandItemValEO.setPropertyVal(applya); +// itemValEOS.add(sarStandItemValEO); +// } +// } +// //TODO 开始处理拆分库数据 +// splitItemsEO.setModifyTime(new Date()); +// splitItemsEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); +// splitItemsEO.setFo(itemAttrInfo.get("FO")); +// splitItemsEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); +// splitItemsEO.setSvpps(itemAttrInfo.get("SVPPS")); +// UpSarFileSplitItemsList.add(splitItemsEO); +// }else{ +// logger.error("拆分库中找不到对应数据了,数据不见了 /(ㄒoㄒ)/~~"+itemStr); +// } +// }else{ +// logger.error("流程中携带的拆分库ID不见了 Σ(っ °Д °;)っ "+itemStr); +// } +// }else{ +// //不存在 说明数据出现问题了 +// logger.error("流程中携带的拆分库ID,数据不见了 /(ㄒoㄒ)/~~"+itemStr); +// +// } +// } +// } +// //更新拆分库数据 +// if(UpSarFileSplitItemsList!=null && !UpSarFileSplitItemsList.isEmpty()){ +// for(SarFileSplitItems items : UpSarFileSplitItemsList){ +// sarFileSplitItemsEOService.updateById(items); +// } +// } +// //执行批量新增操作 +// if(itemsEOList != null && !itemsEOList.isEmpty()){ +// sarLawsItemsDao.insertForeach(itemsEOList); +// +// } +// //执行批量修改操作 +// if(upItemsEOList != null && !upItemsEOList.isEmpty()){ +// sarLawsItemsDao.updateForeach(upItemsEOList); +// +// } +// //执行适用车型批量操作 +// if(itemValEOS != null && !itemValEOS.isEmpty()){ +// sarLawsItemValDao.deleteByItemsIds(delValItemIds); +// sarLawsItemValDao.insertForeach(itemValEOS); +// } +// return itemsEOList; +// } + + 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); + } + } + } + } + + public Map saveFileMsg (Map attInfoMap,String fileIds,String textStatus) { + switch (textStatus) { + case "草案": attInfoMap.put("CA",fileIds);break; + case "征求意见稿": attInfoMap.put("ZQYJG",fileIds);break; + case "报批稿": attInfoMap.put("BPG",fileIds);break; + case "送审稿": attInfoMap.put("SSG",fileIds);break; + case "增补件(必读)":attInfoMap.put("ZBJBD",fileIds);break; + case "发布稿(必读)": attInfoMap.put("FBGBJBD",fileIds);break; + } + return attInfoMap; + } + + /** + * 处理标准基础库字段 + * @param sarLawsStandInfo + * @param field + * @param value + * @throws Exception + */ + public void createStandBaseField (SarLawsStandInfo sarLawsStandInfo,String field,Object value) throws Exception{ + String valueStr = ""; + if (value != null) { + valueStr = String.valueOf(value); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + switch (field) { + case "country": sarLawsStandInfo.setCountry(valueStr); break; + case "id": sarLawsStandInfo.setId(valueStr); break; + case "lawsType": sarLawsStandInfo.setLawsType(valueStr); break; + case "lawsNumber": sarLawsStandInfo.setLawsNumber(valueStr); break; + case "lawsName": sarLawsStandInfo.setLawsName(valueStr); break; + case "lawsEnName": sarLawsStandInfo.setLawsEnName(valueStr); break; + case "lawsNo": sarLawsStandInfo.setLawsNo(valueStr); break; + case "issueTime": + if (StringUtils.isNotBlank(valueStr)) { + sarLawsStandInfo.setIssueTime(valueStr); + } + break; + case "issueCompany": sarLawsStandInfo.setIssueCompany(valueStr); break; + case "commentCycleStart": + if (StringUtils.isNotBlank(valueStr)) { + sarLawsStandInfo.setCommentCycleStart(valueStr); + } + break; + case "commentCycleEnd": + if (StringUtils.isNotBlank(valueStr)) { + sarLawsStandInfo.setCommentCycleEnd(valueStr); + } + break; + case "lawsTextState": sarLawsStandInfo.setLawsTextState(valueStr); break; + case "lawsSyqy": sarLawsStandInfo.setLawsSyqy(valueStr); break; + case "lawsSycx": sarLawsStandInfo.setLawsSycx(valueStr); break; + case "isRelateAccess": sarLawsStandInfo.setIsRelateAccess(valueStr); break; + case "lawsYear": sarLawsStandInfo.setLawsYear(valueStr); break; + case "lawsNotisyncNum": sarLawsStandInfo.setLawsNotisyncNum(valueStr); break; + case "lawsBulletin": sarLawsStandInfo.setLawsBulletin(valueStr); break; + case "lawsLabel": sarLawsStandInfo.setLawsLabel(valueStr); break; + case "lawsRemark": sarLawsStandInfo.setLawsRemark(valueStr); break; + case "prcNum": sarLawsStandInfo.setProcessNum(valueStr); break; + case "menuId": sarLawsStandInfo.setMenuId(valueStr); break; + case "fileWord": + if (StringUtils.isNotBlank(sarLawsStandInfo.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarLawsStandInfo.getFileIds() + "," + valueStr; + } + sarLawsStandInfo.setFileIds(valueStr); break; + case "filePdf": + if (StringUtils.isNotBlank(sarLawsStandInfo.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarLawsStandInfo.getFileIds() + "," + valueStr; + } + sarLawsStandInfo.setFileIds(valueStr); + break; + default: break; + } + } + +} diff --git a/adc-da-base/pom.xml b/adc-da-base/pom.xml index 538935fe..3c55d5b4 100644 --- a/adc-da-base/pom.xml +++ b/adc-da-base/pom.xml @@ -43,6 +43,12 @@ 5.5.13 compile + + io.jsonwebtoken + jjwt + 0.9.1 + compile + diff --git a/adc-da-base/src/main/java/com/adc/da/util/JwtSysUtils.java b/adc-da-base/src/main/java/com/adc/da/util/JwtSysUtils.java new file mode 100644 index 00000000..e204a9df --- /dev/null +++ b/adc-da-base/src/main/java/com/adc/da/util/JwtSysUtils.java @@ -0,0 +1,74 @@ +package com.adc.da.util; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.ExpiredJwtException; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * token 工具类 + * + * @author ch + * @version 1.0.0 + * @since 1.0.0 + *

+ * Created at 2020/7/30 2:23 下午 + */ +@Component +public class JwtSysUtils { + + // 过期时间 + private static long expire = 6048000; + // 秘钥 + private static String secret = "HSyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"; + + /** + * 创建一个token + * + * @param userId + * @return + */ + public String generateToken(String userId) { + Date now = new Date(); + Date expireDate = new Date(now.getTime() + expire); + return Jwts.builder().setHeaderParam("type", "JWT").setSubject(userId).setIssuedAt(now) + .setExpiration(expireDate).signWith( + SignatureAlgorithm.HS512, secret).compact(); + } + + /** + * 解析token + */ + public Claims getClaimsByToken(String token) { + Claims claims; + try { + claims = Jwts.parser() + .setSigningKey(secret) // 设置标识名 + .parseClaimsJws(token) //解析token + .getBody(); + } catch (ExpiredJwtException e) { + claims = e.getClaims(); + } + return claims; + } + + public String getUserIdByToken(){ + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + String user = ""; + if(attributes != null){ + HttpServletRequest request = attributes.getRequest(); + Claims claim = getClaimsByToken(request.getHeader("token")); + user = claim.getSubject(); + } + return user; + } + +} diff --git a/adc-da-base/src/main/java/com/adc/da/util/LoginUserUtil.java b/adc-da-base/src/main/java/com/adc/da/util/LoginUserUtil.java index 826f7d60..ab855e04 100644 --- a/adc-da-base/src/main/java/com/adc/da/util/LoginUserUtil.java +++ b/adc-da-base/src/main/java/com/adc/da/util/LoginUserUtil.java @@ -15,21 +15,7 @@ public class LoginUserUtil { * */ public static String getUserId() { - String userId = null; - try { - Subject subject = SecurityUtils.getSubject(); - Object object=subject.getPrincipal(); - if(object!=null){ - String json = JSONObject.toJSONString(object); - if(json!=null && json.length()>0){ - Map userInfo=JSONObject.parseObject(json, Map.class); - userId=userInfo.get("id").toString(); - } - } - } catch (UnavailableSecurityManagerException e) { - } catch (InvalidSessionException e) { - } - return userId; + return UserSysUtils.getUserId(); } public static String getUserParamValue() { diff --git a/adc-da-base/src/main/java/com/adc/da/util/UserSysUtils.java b/adc-da-base/src/main/java/com/adc/da/util/UserSysUtils.java new file mode 100644 index 00000000..c4ea9645 --- /dev/null +++ b/adc-da-base/src/main/java/com/adc/da/util/UserSysUtils.java @@ -0,0 +1,97 @@ +package com.adc.da.util; + +import com.google.common.collect.Maps; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.UnavailableSecurityManagerException; +import org.apache.shiro.authz.SimpleAuthorizationInfo; +import org.apache.shiro.session.InvalidSessionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.Map; + +public class UserSysUtils { + + private UserSysUtils() { + super(); + } + + private static Logger logger = LoggerFactory.getLogger(UserSysUtils.class); + + /** + * 当前登陆用户 + */ + public static final String CURRENT_USER = "currentUser"; + + /** + * 角色信息 + */ + public static final String CACHE_ROLE_LIST = "roleList"; + /** + * 菜单信息 + */ + public static final String CACHE_MENU_LIST = "menuList"; + public static final String CACHE_MENU_TREE = "menuTree"; + public static final String CACHE_AREA_LIST = "areaList"; + public static final String CACHE_OFFICE_LIST = "officeList"; + + /** + * @see JwtSysUtils + */ + private static JwtSysUtils jwtUtils = SpringContextHolder1.getBean(JwtSysUtils.class); + + /** + * 退出 + */ + public static void logout() { + try { + SecurityUtils.getSubject().logout(); + } catch (UnavailableSecurityManagerException e) { + logger.error(e.getMessage(),e); + } catch (InvalidSessionException e) { + logger.error(e.getMessage(),e); + } + } + + + /** + * 获取当前登陆用户ID + * @throws Exception + */ + public static String getUserId() { + return jwtUtils.getUserIdByToken(); + } + + + public static void flush() { + CacheUtils.removeCache(CURRENT_USER); + } + + private static final class CacheUtils { + + public static Object getCache(String key) { + return getCache(key, null); + } + + public static Object getCache(String key, Object defaultValue) { + Object obj = getCacheMap().get(key); + return obj == null ? defaultValue : obj; + } + + public static void putCache(String key, Object value) { + getCacheMap().put(key, value); + } + + public static void removeCache(String key) { + getCacheMap().remove(key); + } + + public static Map getCacheMap() { + Map map = Maps.newHashMap(); + return map; + } + } +} \ No newline at end of file diff --git a/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java b/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java index d33481f1..bbadfc57 100644 --- a/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java +++ b/adc-da-base/src/main/java/com/adc/da/util/WaterMarkUtil.java @@ -53,7 +53,7 @@ public class WaterMarkUtil { under.setGState(gs); under.restoreState(); under.beginText(); - under.setFontAndSize(base, 13); + under.setFontAndSize(base, 25); under.setTextMatrix(30, 30); under.setColorFill(BaseColor.LIGHT_GRAY); for (int y = 0; y < 10; y++) { diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java index 503973d9..52092bc8 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java @@ -90,7 +90,7 @@ public class DocConverterPdf { System.out.println("源文件不存在"); return; } - SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("0.0.0.0", 8100); + SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("10.100.5.122", 8100); // SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("10.10.66.176", 8100); try { connection.connect(); diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java b/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java index e951244d..712aa318 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/mq/SendConvertMQService.java @@ -65,9 +65,9 @@ public class SendConvertMQService { private static final Logger logger = LoggerFactory.getLogger(SendConvertMQService.class); @RabbitListener(bindings = @QueueBinding( - value = @Queue(value = "createConvertStandMQ_SQ_GSAR", durable = "true"), - exchange = @Exchange(value = "convert-exchange_SQ_GSAR", ignoreDeclarationExceptions = "true"), - key = "convert-key_SQ_GSAR")) + value = @Queue(value = "createConvertStandMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "convert-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "convert-key_SQ_GSAR_RELEASE")) public void createMQ(Map convertInfo, Message message, Channel channel) throws Exception{ try{ try{ diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java index 965a977c..5206abd3 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java @@ -96,7 +96,7 @@ public class LoginRestController { if(userEO.getDisableFlag()==1){ return Result.error("r0011", "帐号已禁用"); } - String token = jwtUtils.generateToken(account); + String token = jwtUtils.generateToken(userEO.getUsid()); userEO.setToken(token); // 加密重要信息 BASE64Encoder encoder = new BASE64Encoder(); diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index 9e64bac4..16b25f82 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -66,6 +66,12 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSar"); //水印下载 addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarWaterMark"); + //企业标准导出 + addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportSarBussionessStand"); + + //OCR回调存储文件 + addInterceptor.excludePathPatterns("/api/ocr/OCRRestful/OcrHandleResult"); + // //测试接口使用 // addInterceptor.excludePathPatterns("/api/**"); diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index 72319dce..3a1561dc 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -1,4 +1,4 @@ -# dev config + #============================================= # 数据库配置 #============================================= @@ -38,16 +38,14 @@ spring.mail.port=587 # ============================================== # rabbitMQ # ============================================== -#spring.rabbitmq.host=rabbitmq-cluster-01.vs.test.geely.svc +#spring.rabbitmq.host=10.2.186.93 #spring.rabbitmq.port=5672 -#spring.rabbitmq.virtual-host=uat_pcms -#spring.rabbitmq.username=uat_pcms -#spring.rabbitmq.password=VxsBLL5bJruwzXfS -# spring.rabbitmq.publisher-confirms=true -spring.rabbitmq.host=62.234.136.153 +#spring.rabbitmq.username=ca +#spring.rabbitmq.password=cs986432 +spring.rabbitmq.host=62.234.118.181 spring.rabbitmq.port=5672 -spring.rabbitmq.username=guest -spring.rabbitmq.password=guest +spring.rabbitmq.username=admin +spring.rabbitmq.password=admin spring.rabbitmq.listener.simple.acknowledge-mode= manual # 生产者 默认关闭 发版 需改为 true spring.rabbitmq.listener.direct.auto-startup=false @@ -60,7 +58,6 @@ spring.rabbitmq.listener.simple.retry.initial-interval= 5000 spring.rabbitmq.listener.simple.retry.enabled= true #最大重试5次 spring.rabbitmq.listener.simple.retry.max-attempts= 5 -# ============================================== # 文档存储路径指向 # ============================================== file.path=/usr/laws/file/ @@ -69,7 +66,7 @@ file.path=/usr/laws/file/ #OCR请求识别URL地址 OCR.handleFileUrl = http://61.136.1.103:8091/WebService.asmx/FileConversion # OCR回调接口地址 配置客户本地的IP及端口号 -OCR.callBackUrl = http://62.234.136.153:10010/api/ocr/OCRRestful/OcrHandleResult +OCR.callBackUrl = http://62.234.136.153:8033/api/ocr/OCRRestful/OcrHandleResult OCR.userId =dayuzhou1234 OCR.authCode =123456 OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M diff --git a/adc-da-main/src/main/resources/logback-spring.xml b/adc-da-main/src/main/resources/logback-spring.xml index dec4b3f5..39f90eab 100644 --- a/adc-da-main/src/main/resources/logback-spring.xml +++ b/adc-da-main/src/main/resources/logback-spring.xml @@ -8,7 +8,7 @@ - + diff --git a/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java b/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java index 6fa51b04..f3db7cf5 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java +++ b/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java @@ -96,7 +96,11 @@ public class SearchCenterController extends BaseController> } return Result.success(getPageInfo(searchInfoEO.getPager(), result)); } else { - result = searchCenterService.searchSarBykey(searchInfoEO); + if (searchInfoEO.getQueryStatus() != null && StringUtils.isNotBlank(searchInfoEO.getQueryStatus()) && searchInfoEO.getQueryStatus().equals("advancedSearch") && null != searchInfoEO.getSelectValue() && StringUtils.isNotBlank(searchInfoEO.getSelectValue())) { + result = searchCenterService.searchSarBykey(searchInfoEO); + }else { + result = searchCenterService.searchSarConditionBykey(searchInfoEO); + } // 非动态消息的需要查询为我推荐 for (int i = 0; i < result.size(); i++) { String collectId = personCollectEOService.queryCollectByUserAndId(result.get(i).get("id").toString()); diff --git a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java index e48419ea..9101420d 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java +++ b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java @@ -31,6 +31,9 @@ public class SeniorSearchInfoEO extends BasePage { @ApiModelProperty(value = "标准分类") private String standType; + @ApiModelProperty(value = "搜索分类") + private String type; + @ApiModelProperty(value = "国家地区") private String country; @@ -239,6 +242,33 @@ public class SeniorSearchInfoEO extends BasePage { private String stand_status; private String isHigh; + private String queryStatus; + + + private String lawsType; + private String lawsNumber; + private String lawsName; + private String lawsEnName; + private String lawsNo; + private String issueCompany; + private String commentCycleDate; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date commentCycleStart; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date commentCycleEnd; + private String lawsTextState; + private String lawsSyqy; + private String lawsSycx; + private String lawsYear; + private String lawsNotisyncNum; + private String lawsBulletin; + private String lawsLabel; + private String lawsRemark; + private String CYSDLAWS; + private String NYLXCLASS; + diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java b/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java index 328e50e4..0fc72fc6 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java @@ -11,6 +11,8 @@ public interface SearchCenterService { List> searchSarBykey(SeniorSearchInfoEO searchInfoEO) throws Exception; + List> searchSarConditionBykey(SeniorSearchInfoEO searchInfoEO) throws Exception; + /** * 查询结果集searchResponse装换成List形式 * @param searchResponse 需要转换的数据 diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index fc907922..949a77e0 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -7,7 +7,9 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchType; @@ -32,11 +34,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.stream.Stream; @Component @Slf4j @@ -57,19 +61,11 @@ public class SearchCenterServiceImpl implements SearchCenterService { private static final String ISSUE_TIME = "issue_time_data"; private static final String PUT_TIME = "put_time"; private static final String EPOCH_MILLIS = "epoch_millis"; - String numbershowStr = "numbershow"; - String nameshowStr = "nameshow"; - String nameshowSplit = "nameshowSplit"; - String numbershowSplit = "numbershowSplit"; - String replacedStandNumStr = "replaced_stand_num"; - String replaceStandNumStr = "replace_stand_num"; - String content = "content"; //关键字检索 @Override public List> searchSarBykey(SeniorSearchInfoEO searchInfoEO) throws Exception { //判断是否高级查询 isHight = true(searchInfoEO.getIsHigh()为空)时,证明不是高级查询 - boolean isHight = StringUtils.isBlank(searchInfoEO.getIsHigh()); List> result = new ArrayList<>(); SearchRequestBuilder searchRequestBuilder; BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); @@ -78,7 +74,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) - .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) .addSort("issueTime", SortOrder.DESC) .setSize(searchInfoEO.getPageSize()); @@ -114,16 +110,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { .should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*")); break; case "laws": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num", - "synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJG","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC","accessCountry").minimumShouldMatch("100%"); - boolQueryMust.must(multiQueryBuilder); - boolQueryShould.should(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(numbershowSplit, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(nameshowSplit, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(content, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*")) + boolQueryShould.should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("accessCountry", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*")) @@ -188,7 +175,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { }else { boolQueryBuilder.must(boolQueryShould); } - searchRequestBuilder.setQuery(boolQueryBuilder); + searchRequestBuilder.setQuery(boolQueryBuilder).setTrackTotalHits(true); //在结果中检索 if (StringUtils.isNotEmpty(searchInfoEO.getResultKeyword()) && StringUtils.isNotBlank(searchInfoEO.getIsHigh())) { QueryBuilder multiQuery = queryInResult(searchInfoEO); @@ -201,6 +188,140 @@ public class SearchCenterServiceImpl implements SearchCenterService { return result; } + // 条件 + @Override + public List> searchSarConditionBykey(SeniorSearchInfoEO searchInfoEO) throws Exception { + //判断是否高级查询 isHight = true(searchInfoEO.getIsHigh()为空)时,证明不是高级查询 + boolean isHight = StringUtils.isBlank(searchInfoEO.getIsHigh()); + List> result = new ArrayList<>(); + SearchRequestBuilder searchRequestBuilder; + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + BoolQueryBuilder boolQueryShould = QueryBuilders.boolQuery(); + BoolQueryBuilder boolQueryMust = QueryBuilders.boolQuery(); + + + searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) + .addSort("issueTime", SortOrder.DESC) + .setSize(searchInfoEO.getPageSize()); + + if(searchInfoEO.getSelectIndex().equals("stand")) { + boolQueryShould = queryStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } else if(searchInfoEO.getSelectIndex().equals("laws")){ + boolQueryShould = queryLawsMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } else if(searchInfoEO.getSelectIndex().equals("bussstand")){ + boolQueryShould = queryBussStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } + + if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){ + QueryBuilder multiQueryBuilder; + switch (searchInfoEO.getSelectIndex()){ + case "stand": + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + } +// boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standNatureName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("textStatusName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("isRelateAccessName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.matchPhraseQuery("content", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*")); + break; + case "laws": +// boolQueryShould.should(QueryBuilders.wildcardQuery("lawsTypeName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsNumber.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsNo.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("issueCompany.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsTextStateName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("isRelateAccessName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsYearName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsBulletin.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsLabel.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("lawsRemark.keyword", "*"+searchInfoEO.getSelectValue()+"*")); + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + RangeQueryBuilder rangeQueryBuilder2 = QueryBuilders.rangeQuery("commentCycleStart_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder2); + RangeQueryBuilder rangeQueryBuilder3 = QueryBuilders.rangeQuery("commentCycleEnd_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder3); + } + break; + case "bussstand": +// boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("stand_code.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getSelectValue()+"*")); + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + RangeQueryBuilder rangeQueryBuilder2 = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder2); + } + break; + default: break; + } + } + + if(boolQueryShould!=null){ + boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0)); + if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ + if (StringUtils.isNotBlank(searchInfoEO.getType())) { + boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsSyqy())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSyqy.keyword", "*"+searchInfoEO.getLawsSyqy()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsSycx())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSycx.keyword", "*"+searchInfoEO.getLawsSycx()+"*")); + } + boolQueryBuilder.must(boolQueryShould); + }else { + boolQueryBuilder.must(boolQueryShould); + } + + //在结果中检索 + if (StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && !isRqFormat(searchInfoEO.getSelectValue())) { + QueryBuilder multiQuery = queryInResult(searchInfoEO); + boolQueryBuilder.must(multiQuery); + } + + searchRequestBuilder.setQuery(boolQueryBuilder).setTrackTotalHits(true); + + // 获取查询到的结果 + result = countStandSearchResult(searchRequestBuilder,searchInfoEO); + } + + return result; + } + private Date dateFormatToStr(String dateStr){ Date date = new Date(); try { @@ -262,53 +383,57 @@ public class SearchCenterServiceImpl implements SearchCenterService { collectAttrMap.put("CLLX",array); } + if(searchInfoEO.getCYSDLAWS() != null && StringUtils.isNotBlank(searchInfoEO.getCYSDLAWS())){ + List fieldList = Arrays.asList(searchInfoEO.getCYSDLAWS() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList)); + collectAttrMap.put("CYSDLAWS",array); + } + + if(searchInfoEO.getNYLXCLASS() != null && StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){ + List fieldList = Arrays.asList(searchInfoEO.getNYLXCLASS() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList)); + collectAttrMap.put("NYLXCLASS",array); + } + } - String fieldInfo = InitStandAttrSearchUtil.queryField; - String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; - String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; - List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldList = new ArrayList<>(); - fieldList.addAll(fieldInfoList); - fieldList.addAll(fieldLawsInfoList); - fieldList.addAll(fieldBussInfoList); + List fieldList = getStringField(searchInfoEO); // 自动匹配动态属性字段 es 查询 for (String field : fieldList) { // 关键字查询属性字段 String keyWordField = field + ".keyword"; String keyWordField2 = field + "Name.keyword"; - if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ - boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*")); - }else { - if(collectAttrMap.containsKey(field)){ - List fields = new ArrayList<>(); - Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); - if(json instanceof org.json.JSONArray){ - fields = JSONObject.parseArray(collectAttrMap.get(field).toString(),String.class); - }else { - if(!json.equals("null")){ - fields.add(collectAttrMap.get(field).toString()); - } - } - if(!fields.isEmpty()){ - if(fields.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - fields.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+fields.get(0)+"*")); - } - + if(collectAttrMap.containsKey(field)){ + List fields = new ArrayList<>(); + Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + fields = JSONObject.parseArray(collectAttrMap.get(field).toString(),String.class); + }else { + if(!json.equals("null")){ + fields.add(collectAttrMap.get(field).toString()); } } + if(!fields.isEmpty()){ + if(fields.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + fields.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+fields.get(0)+"*")); + } + + } } +// if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ +//// boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*")); +// }else { +// +// } } if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())) { - boolQueryBuilder.should(boolQueryBuilderMust); +// boolQueryBuilder.should(boolQueryBuilderMust); if(searchInfoEO.getQCDW() != null && StringUtils.isNotBlank(searchInfoEO.getQCDW())){ List list = Arrays.asList(searchInfoEO.getQCDW().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); if(list.size() > 1){ @@ -353,62 +478,81 @@ public class SearchCenterServiceImpl implements SearchCenterService { return boolQueryBuilder; } + private List getStringField(SeniorSearchInfoEO searchInfoEO) { + String fieldInfo = InitStandAttrSearchUtil.queryField; + String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; + String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; + List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldList = new ArrayList<>(); + if(StringUtils.isNotBlank(searchInfoEO.getSelectIndex())){ + if(searchInfoEO.getSelectIndex().equals("stand")){ + fieldList.addAll(fieldInfoList); + }else if(searchInfoEO.getSelectIndex().equals("bussstand")){ + fieldList.addAll(fieldBussInfoList); + }else if(searchInfoEO.getSelectIndex().equals("laws")){ + fieldList.addAll(fieldLawsInfoList); + } + } + return fieldList; + } + //检索国内外标准数据 public BoolQueryBuilder queryStandMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ String nameshowStr = "nameshow"; // 高级搜索项,只针对标准 - if(searchInfoEO.getSelectValue() == null || searchInfoEO.getSelectValue().equals("")){ - // 高级搜索项,只针对标准 - if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { - List list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - if(list.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - list.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+s+" "+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); - } - } - if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getStandName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + // 高级搜索项,只针对标准 + if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + List list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.termQuery("standSort.keyword", s)); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.termQuery("standSort.keyword", searchInfoEO.getStandSort())); } + } + if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getStandName()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); + } - if (searchInfoEO.getIssueTime() != null) { - Long starttime = searchInfoEO.getIssueTime().getTime(); - Long endtime = searchInfoEO.getIssueTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } + if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + } - if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); - } + if (searchInfoEO.getIssueTime() != null) { + Long starttime = searchInfoEO.getIssueTime().getTime(); + Long endtime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); + } - if (StringUtils.isNotBlank(searchInfoEO.getStandNature())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getStandNature()+"*")); - } + if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); + } - if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getStandSystem()+"*")); - } + if (StringUtils.isNotBlank(searchInfoEO.getStandNature())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getStandNature()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getStandSystem()+"*")); } querySeniorMsg(searchInfoEO,boolQueryBuilder); @@ -417,205 +561,112 @@ public class SearchCenterServiceImpl implements SearchCenterService { //检索国内外政策数据 public BoolQueryBuilder queryLawsMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ - String numbershowStr = "numbershow"; - String nameshowStr = "nameshow"; - String replacedStandNumStr = "replaced_stand_num"; - String replaceStandNumStr = "replace_stand_num"; - //国家,国内外标准,国内外法规有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getCountry())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCountry().equals("all") && !searchInfoEO.getCountry().equals("[]")) { -// String[] arrlist = searchInfoEO.getCountry().split(","); -// boolQueryBuilder.must(QueryBuilders.termsQuery("country.keyword", arrlist)); - boolQueryBuilder.must(QueryBuilders.matchQuery("country", searchInfoEO.getCountry())); - } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsType.keyword", "*"+searchInfoEO.getLawsType()+"*")); } - //标准性质,国内外标准,法规有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNature())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getNature().equals("all") && !searchInfoEO.getNature().equals("[]")) { - String[] arrlist = searchInfoEO.getNature().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("nature.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsNumber())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNumber.keyword", "*"+searchInfoEO.getLawsNumber()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getSYCLLX())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getSYCLLX().equals("all") && !searchInfoEO.getSYCLLX().equals("[]") ) { - String[] arrlist = searchInfoEO.getSYCLLX().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("SYCLLX.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsName.keyword", "*"+searchInfoEO.getLawsName()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getWSSFCY())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getWSSFCY().equals("all") && !searchInfoEO.getWSSFCY().equals("[]") ) { - String[] arrlist = searchInfoEO.getWSSFCY().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("WSSFCY.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsEnName.keyword", "*"+searchInfoEO.getLawsEnName()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getCBCD())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCBCD().equals("all") && !searchInfoEO.getCBCD().equals("[]") ) { - String[] arrlist = searchInfoEO.getCBCD().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("CBCD.keyword", arrlist)); - } + if (StringUtils.isNotBlank(searchInfoEO.getLawsNo())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNo.keyword", "*"+searchInfoEO.getLawsNo()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getZRLX())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getZRLX().equals("all") && !searchInfoEO.getZRLX().equals("[]") ) { - String[] arrlist = searchInfoEO.getZRLX().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("ZRLX.keyword", arrlist)); - } - } - //编号,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNumberShow())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getNumberShow()+"*")); - } - //名称,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getNameShow())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getNameShow()+"*")); - } - //发布部门 - if (StringUtils.isNotBlank(searchInfoEO.getIssueUnit())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("issueUnit", searchInfoEO.getIssueUnit())); - } - //文件状态,国内外标准,国内外法规,企业标准 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getStandState())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getStandState().equals("all") && !searchInfoEO.getStandState().equals("[]")) { - String[] arrlist = searchInfoEO.getStandState().split(","); - boolQueryBuilder.must(QueryBuilders.termsQuery("statecode.keyword", arrlist)); - //boolQueryBuilder.must(QueryBuilders.matchQuery("statecode", searchInfoEO.getStandState())); - } - } - //代替文件号 - if (StringUtils.isNotBlank(searchInfoEO.getReplaceStandNum())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("replace_laws_num", searchInfoEO.getReplaceStandNum())); - } - //适用车型,国内外标准,国内外法规,企业标准 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getApplyArctic())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getApplyArctic().equals("all") && !searchInfoEO.getApplyArctic().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("apply_arctic", searchInfoEO.getApplyArctic())); - } - } - //能源种类,国内外标准,国内外法规,企业标准 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getEnergyKind())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getEnergyKind().equals("all") && !searchInfoEO.getEnergyKind().equals("[]") ) { - boolQueryBuilder.must(QueryBuilders.matchQuery("energy_kind", searchInfoEO.getEnergyKind())); - } - } - //适用认证,国内外标准,国内外法规 有此属性 录入可多选 - if (StringUtils.isNotBlank(searchInfoEO.getApplyAuth())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getApplyAuth().equals("all") && !searchInfoEO.getApplyAuth().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("apply_auth", searchInfoEO.getApplyAuth())); - } - } - //责任部门 - if (StringUtils.isNotBlank(searchInfoEO.getResponsibleUnit())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("responsibleUnit", searchInfoEO.getResponsibleUnit())); - } - //发布日期 + if (searchInfoEO.getIssueTime() != null) { Long starttime = searchInfoEO.getIssueTime().getTime(); Long endtime = searchInfoEO.getIssueTime().getTime(); RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //实施日期,国内外标准,国内外法规,企业标准 有此属性 - if (searchInfoEO.getPutTime() != null) { - Long starttime = searchInfoEO.getPutTime().getTime(); - Long endtime = searchInfoEO.getPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (StringUtils.isNotBlank(searchInfoEO.getIssueCompany())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("issueCompany.keyword", "*"+searchInfoEO.getIssueCompany()+"*")); + } + if (searchInfoEO.getIssueTime() != null) { + Long startTime = searchInfoEO.getIssueTime().getTime(); + Long endTime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //内容摘要 - if (StringUtils.isNotBlank(searchInfoEO.getSynopsis())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("synopsis", searchInfoEO.getSynopsis())); - } - //标准英文名称 - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("standEnName", searchInfoEO.getStandEnName())); - } - //新定型车实施日期 - if (searchInfoEO.getNewcarPutTime() != null) { - Long starttime = searchInfoEO.getNewcarPutTime().getTime(); - Long endtime = searchInfoEO.getNewcarPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("newcarPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (searchInfoEO.getCommentCycleStart() != null) { + Long startTime = searchInfoEO.getCommentCycleStart().getTime(); + Long endTime = searchInfoEO.getCommentCycleStart().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("commentCycleStart_data").format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //在产车实施日期 - if (searchInfoEO.getProductPutTime() != null) { - Long starttime = searchInfoEO.getProductPutTime().getTime(); - Long endtime = searchInfoEO.getProductPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("productPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + if (searchInfoEO.getCommentCycleEnd() != null) { + Long startTime = searchInfoEO.getCommentCycleEnd().getTime(); + Long endTime = searchInfoEO.getCommentCycleEnd().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("commentCycleEnd_data").format(EPOCH_MILLIS).from(startTime).to(endTime).includeLower(true).includeUpper(true); boolQueryBuilder.filter(rangeQueryBuilder); } - //新生产车实施日期 - if (searchInfoEO.getNewproductPutTime() != null) { - Long starttime = searchInfoEO.getNewproductPutTime().getTime(); - Long endtime = searchInfoEO.getNewproductPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("newproductPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } - //新生产车实施日期 - if (searchInfoEO.getRegisterPutTime() != null) { - Long starttime = searchInfoEO.getRegisterPutTime().getTime(); - Long endtime = searchInfoEO.getRegisterPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("registerPutTime").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } - //被代替标准号 - if (StringUtils.isNotBlank(searchInfoEO.getReplacedStandNum())) { - boolQueryBuilder.must(QueryBuilders.matchQuery(replacedStandNumStr, searchInfoEO.getReplacedStandNum())); - } - //关键词 - if (StringUtils.isNotBlank(searchInfoEO.getTags())) { - boolQueryBuilder.must(QueryBuilders.matchQuery("standTag", searchInfoEO.getTags())); - } - //所属类别,国内外标准, 有此属性 - if (StringUtils.isNotBlank(searchInfoEO.getCategory())) { - // 如果等于All,相当于不限制,查询全部 - if (!searchInfoEO.getCategory().equals("all") && !searchInfoEO.getCategory().equals("[]")) { - boolQueryBuilder.must(QueryBuilders.matchQuery("category", searchInfoEO.getCategory())); + + if (StringUtils.isNotBlank(searchInfoEO.getLawsTextState())) { + List list = Arrays.asList(searchInfoEO.getLawsTextState().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsTextState.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsTextState.keyword", "*"+searchInfoEO.getLawsTextState()+"*")); } } - //发布时间范围 - if (searchInfoEO.getIssueTimeSt() != null || searchInfoEO.getIssueTimeEd() != null) { - Long starttime = 0L; - Long endtime = 0L; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (searchInfoEO.getIssueTimeSt() != null) { - starttime = searchInfoEO.getIssueTimeSt().getTime(); - } else { - starttime = sdf.parse("1970-01-01 00:00:00").getTime(); + if (StringUtils.isNotBlank(searchInfoEO.getLawsSyqy())) { + List list = Arrays.asList(searchInfoEO.getLawsSyqy().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsSyqy.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSyqy.keyword", "*"+searchInfoEO.getLawsSyqy()+"*")); } - if (searchInfoEO.getIssueTimeEd() != null) { - endtime = searchInfoEO.getIssueTimeEd().getTime(); - } else { - endtime = sdf.parse("2999-01-01 00:00:00").getTime(); - } - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); } - if (searchInfoEO.getPutTimeSt() != null || searchInfoEO.getPutTimeEd() != null) { - Long starttime = 0L; - Long endtime = 0L; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (searchInfoEO.getPutTimeSt() != null) { - starttime = searchInfoEO.getPutTimeSt().getTime(); - } else { - starttime = sdf.parse("1970-01-01 00:00:00").getTime(); + if (StringUtils.isNotBlank(searchInfoEO.getLawsSycx())) { + List list = Arrays.asList(searchInfoEO.getLawsSycx().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("lawsSycx.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsSycx.keyword", "*"+searchInfoEO.getLawsSycx()+"*")); } - if (searchInfoEO.getPutTimeEd() != null) { - endtime = searchInfoEO.getPutTimeEd().getTime(); - } else { - endtime = sdf.parse("2999-01-01 00:00:00").getTime(); - } - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(PUT_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); } + + if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsYear.keyword", "*"+searchInfoEO.getLawsYear()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsNotisyncNum())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsNotisyncNum.keyword", "*"+searchInfoEO.getLawsNotisyncNum()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsBulletin())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsBulletin.keyword", "*"+searchInfoEO.getLawsBulletin()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsLabel())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsLabel.keyword", "*"+searchInfoEO.getLawsLabel()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getLawsRemark())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("lawsRemark.keyword", "*"+searchInfoEO.getLawsRemark()+"*")); + } + querySeniorMsg(searchInfoEO,boolQueryBuilder); return boolQueryBuilder; } @@ -625,51 +676,49 @@ public class SearchCenterServiceImpl implements SearchCenterService { * boolQueryBuilder :must * */ public BoolQueryBuilder queryBussStandMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ - if(searchInfoEO.getSelectValue() == null || searchInfoEO.getSelectValue().equals("")){ - // 高级搜索项,只针对标准 - if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getStandName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getTextStatusBuss())) { - List list = Arrays.asList(searchInfoEO.getTextStatusBuss().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - if(list.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - list.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+s+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*")); - } - } + // 高级搜索项,只针对标准 + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getStandName()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); + } - if (searchInfoEO.getIssueTime() != null) { - Long starttime = searchInfoEO.getIssueTime().getTime(); - Long endtime = searchInfoEO.getIssueTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); + if (StringUtils.isNotBlank(searchInfoEO.getTextStatusBuss())) { + List list = Arrays.asList(searchInfoEO.getTextStatusBuss().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*")); } + } - if (searchInfoEO.getPutTime() != null) { - Long starttime = searchInfoEO.getPutTime().getTime(); - Long endtime = searchInfoEO.getPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } + if (searchInfoEO.getIssueTime() != null) { + Long starttime = searchInfoEO.getIssueTime().getTime(); + Long endtime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); + } + if (searchInfoEO.getPutTime() != null) { + Long starttime = searchInfoEO.getPutTime().getTime(); + Long endtime = searchInfoEO.getPutTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); } querySeniorMsg(searchInfoEO,boolQueryBuilder); return boolQueryBuilder; @@ -679,22 +728,45 @@ public class SearchCenterServiceImpl implements SearchCenterService { public QueryBuilder queryInResult(SeniorSearchInfoEO searchInfoEO){ // 记录搜索记录到数据库中 QueryBuilder multiQueryBuilder = QueryBuilders.multiMatchQuery(""); + BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); + List fieldList = getStringField(searchInfoEO); + List fieldNameList = new ArrayList<>(); + String[] standStr = {"content","standSort","standNumber","standYear","stand_name","standEnName","standNatureName", + "textStatusName","isRelateAccessName","numbershow","standSystem"}; + String[] lawsStr = {"content","lawsType","lawsNumber","lawsName","lawsEnName","lawsNo","issueCompany","lawsTextState","lawsSyqy","lawsSycx","isRelateAccess","lawsYear","lawsNotisyncNum","lawsBulletin","lawsLabel","lawsRemark"}; + String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","nameshow","standstateshow","numbershow","textStatusBuss"}; + for (String field : fieldList) { + // 关键字查询属性字段 + String keyWordField2 = field + "Name"; + fieldNameList.add(keyWordField2); + } switch (searchInfoEO.getSelectIndex()){ case "stand": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standSortShow","standstateshow","countryShow","standEnName", - "synopsis","baseSearchContent",content,"CYSDShow","CLLXShow","standstateshow","ZRLXShow","stand_name","stand_number","citeStand","DTBJH","FGXXSXXXShow","CBBH","YYBJ","XGLC","synopsis","isRelateAccess","GKDWShow","CYSDShow","FBJGShow","ZRLXShow","GXHBQShow","GZZXXName","YQLXShow","FGWHRName","ZRBMName","XGBMShow","SVPPSName","FOShow","XMPGJSShow","BDTBZBH","BYYBJ","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ").minimumShouldMatch("100%"); + List listStrings = Stream.of(standStr).collect(Collectors.toList()); + listStrings.addAll(fieldNameList); + String[] fieldArr = listStrings.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldArr + ).minimumShouldMatch("100%"); +// boolQueryBuilder.should(); +// for (String field : fieldList) { +// // 关键字查询属性字段 +// String keyWordField2 = field + "Name.keyword"; +// boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),keyWordField2).minimumShouldMatch("100%")); +// } break; case "laws": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num", - "synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJGShow","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC").minimumShouldMatch("100%"); + List listStringLaws = Stream.of(lawsStr).collect(Collectors.toList()); + listStringLaws.addAll(fieldNameList); + String[] fieldLawsArr = listStringLaws.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldLawsArr + ).minimumShouldMatch("100%"); break; case "bussstand": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standstateshow", "standEnName",replaceStandNumStr, - replacedStandNumStr,"countryShow","synopsis","standSortShow","ZQCBMShow","ZQCBM","stand_status", - "baseSearchContent",content,"numbershow","nameshow","standstateshow","issue_time","replaceStandNum","replacedStandNum","QBMJShow","QBSQShow","XHQBMShow","SVPPSName","XGBMName","ZYQCRShow","ZRBMShow","ZQCBMName","QTQCRShow","content","FSRQString","FZRQString","put_time","XGLC","WFSPJSName").minimumShouldMatch("100%"); + List listStringBussstand = Stream.of(bussstandStr).collect(Collectors.toList()); + listStringBussstand.addAll(fieldNameList); + String[] fieldBussstandArr = listStringBussstand.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldBussstandArr + ).minimumShouldMatch("100%"); break; default: break; } @@ -713,22 +785,36 @@ public class SearchCenterServiceImpl implements SearchCenterService { // 循环统计各种类型数据 String[] seniortype; if("stand".equals(searchInfoEO.getSelectIndex())) { - String[] seniortypeStand = {"standSort", "statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName"}; + String[] seniortypeStand = {"standSort", "numbershow","statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS"}; seniortype = seniortypeStand.clone(); } else if("laws".equals(searchInfoEO.getSelectIndex())){ - String[] seniortypeLaws = {"country","statecode","SYCLLX","ZRLX","WSSFCY"}; + String[] seniortypeLaws = {"lawsSyqy","lawsSycx","CYSDLAWS"}; seniortype = seniortypeLaws.clone(); } else if ("bussstand".equals(searchInfoEO.getSelectIndex())) { - String[] seniortypeBuss = {"textStatusBuss","QCDW"}; + String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS"}; seniortype = seniortypeBuss.clone(); } else { String[] seniortypeMsg = {"module"}; seniortype = seniortypeMsg.clone(); } + String standType = searchInfoEO.getStandType(); + String[] standVerify = {"GB","GB/T","QC/T","JT","JB","GA","GJB","HJ"}; + String[] standEnVerify = {"ECE","EU","EC","EEC","ISO","IEC","GTR","CFR", + "JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN","ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"}; + String[] bussStandVerify = {"Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M","Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"}; + List list = new ArrayList<>(); + if(standType.equals("INLAND")){ + list = Stream.of(standVerify).collect(Collectors.toList()); + }else if(standType.equals("bussstand")){ + list = Stream.of(bussStandVerify).collect(Collectors.toList()); + }else if(standType.equals("FOREIGN")){ + list = Stream.of(standEnVerify).collect(Collectors.toList()); + } + Map map = new HashMap<>(); for (int i = 0; i < seniortype.length; i++) { //分组依靠关键字terms - TermsAggregationBuilder aggregationBuilders = AggregationBuilders.terms("by_" + seniortype[i]).field(seniortype[i] + ".keyword").size(1000); + TermsAggregationBuilder aggregationBuilders = AggregationBuilders.terms("by_" + seniortype[i]).field(seniortype[i] + ".keyword").size(100000); searchRequestBuilder.addAggregation(aggregationBuilders); } // 获取查询到的结果 @@ -745,27 +831,17 @@ public class SearchCenterServiceImpl implements SearchCenterService { Map submap = new HashMap<>(); for (StringTerms.Bucket bucket : stResult.getBuckets()) { // 多选处理,当前全部允许多选 - String keyname = bucket.getKeyAsString(); - String[] keynamelist = keyname.split(","); + String keyName = bucket.getKeyAsString(); + String[] keyNameList = keyName.split(","); // 对于属性允许多选,此处做出处理 - if(keynamelist.length>0){ - for (String itemkeyname: keynamelist){ + if(keyNameList.length>0){ + for (String itemKeyName: keyNameList){ // put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加 - if(submap.containsKey(itemkeyname)){ - submap.put(itemkeyname, (long)submap.get(itemkeyname)+ bucket.getDocCount()); - } - else { - submap.put(itemkeyname, bucket.getDocCount()); - } + keyNameFilter(standType, list, submap, bucket, itemKeyName); } } else { - if(submap.containsKey(keyname)){ - submap.put(keyname, (long)submap.get(keyname)+ bucket.getDocCount()); - } - else { - submap.put(keyname, bucket.getDocCount()); - } + keyNameFilter(standType, list, submap, bucket, keyName); } } map.put(seniortype[i], submap); @@ -776,11 +852,60 @@ public class SearchCenterServiceImpl implements SearchCenterService { } } + if(standType.equals("bussstand")){ + map.forEach((s, o) -> { + if(s.equals("numbershow")){ + map.put("standSort",o); + } + }); + } result.get(0).put("groupdata", map); } return result; } + public static Map objectToMap(Object obj){ + if(obj == null){ + return null; + } + + Map map = new HashMap(); + + Field[] declaredFields = obj.getClass().getDeclaredFields(); + try { + for (Field field : declaredFields) { + field.setAccessible(true); + map.put(field.getName(), field.get(obj)); + } + }catch (Exception e){ + e.getMessage(); + } + + return map; + } + + private void keyNameFilter(String standType, List list, Map submap, StringTerms.Bucket bucket, String keyname) { + if(standType.equals("bussstand")){ + if(!list.isEmpty()){ + String finalKeyName = keyname; + List list1 = list.stream().filter(string-> (finalKeyName.contains(string))).collect(Collectors.toList()); + if(!list1.isEmpty()){ + if(submap.containsKey(list1.get(0))){ + submap.put(list1.get(0).trim(), (long)submap.get(list1.get(0).trim())+ bucket.getDocCount()); + }else { + submap.put(list1.get(0).trim(), bucket.getDocCount()); + } + } + } + }else { + if(submap.containsKey(keyname)){ + submap.put(keyname.trim(), (long)submap.get(keyname)+ bucket.getDocCount()); + }else { + submap.put(keyname.trim(), bucket.getDocCount()); + } + } + } + @Override public List> SearchResponseToList(SearchResponse searchResponse) { List> sourceList = new ArrayList>(); @@ -1047,7 +1172,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { // boolQueryBuilder.must(QueryBuilders.matchQuery("valid_flag", 0)); // boolQueryBuilder.should(boolQueryBuilderShould); - searchRequestBuilder.setQuery(boolQueryBuilder); + searchRequestBuilder.setQuery(boolQueryBuilder).setTrackTotalHits(true); // 获取查询到的结果 SearchResponse response = searchRequestBuilder.get(); for (SearchHit searchHit : response.getHits().getHits()) { diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java index 21240490..e6593226 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java @@ -243,34 +243,42 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { attrInfoMap.put(key, "null"); } } - fullTextSearchEO.put("title",attrInfoMap.get("numbershow")+" "+attrInfoMap.get("nameshow")); + fullTextSearchEO.put("title",attrInfoMap.get("lawsNumber")+" "+attrInfoMap.get("lawsNumber")); StringBuilder contentBuilder = new StringBuilder(); - contentBuilder.append("适用区域: ").append(attrInfoMap.get("countryShow")).append(" "); - contentBuilder.append("政策状态: ").append(attrInfoMap.get("standstateshow")).append(" "); - contentBuilder.append("政策号: ").append(attrInfoMap.get("numbershow")).append(" "); - contentBuilder.append("政策名称: ").append(attrInfoMap.get("nameshow")).append(" "); - contentBuilder.append("英文名称: ").append(attrInfoMap.get("standEnName")).append(" "); + contentBuilder.append("政策分类: ").append(attrInfoMap.get("lawsTypeName")).append(" "); + contentBuilder.append("政策编号: ").append(attrInfoMap.get("lawsNumber")).append(" "); + contentBuilder.append("中文名称: ").append(attrInfoMap.get("lawsName")).append(" "); + contentBuilder.append("英文名称: ").append(attrInfoMap.get("lawsEnName")).append(" "); + contentBuilder.append("政策文号: ").append(attrInfoMap.get("lawsNo")).append(" "); // contentBuilder.append("发布日期:"+attrInfoMap.get("issueTime")+" "); - contentBuilder.append("纳入标准法规清单的国家/地区: ").append(attrInfoMap.get("accessCountry")).append(" "); - contentBuilder.append("代替政策编号: ").append(attrInfoMap.get("replaceLawsNum")).append(" "); - contentBuilder.append("重要度: ").append(attrInfoMap.get("isRelateAccess")).append(" "); - contentBuilder.append("要求类型: ").append(attrInfoMap.get("YQLXShow")).append(" "); - contentBuilder.append("适用车辆类型: ").append(attrInfoMap.get("SYCLLXShow")).append(" "); -// contentBuilder.append("监管类型:"+attrInfoMap.get("")+" "); - contentBuilder.append("监管类型: ").append(attrInfoMap.get("ZRLXShow")).append(" "); - contentBuilder.append("个性化标签: ").append(attrInfoMap.get("GXHBQShow")).append(" "); - contentBuilder.append("新车型实施日期(文本): ").append(attrInfoMap.get("XCXSSRQ")).append(" "); - contentBuilder.append("在产车实施日期(文本): ").append(attrInfoMap.get("ZCCSSRQ")).append(" "); - contentBuilder.append("EOP实施日期(文本): ").append(attrInfoMap.get("EOPSSRQ")).append(" "); - contentBuilder.append("维护工程师: ").append(attrInfoMap.get("ZCGCSShow")).append(" "); - contentBuilder.append("组织标准起草的执行机构/单位: ").append(attrInfoMap.get("FBJGShow")).append(" "); - contentBuilder.append("SVPPS: ").append(attrInfoMap.get("SVPPSName")).append(" "); - contentBuilder.append("相关部门: ").append(attrInfoMap.get("XGBMShow")).append(" "); - contentBuilder.append("责任部门: ").append(attrInfoMap.get("ZRBMShow")).append(" "); - contentBuilder.append("FO: ").append(attrInfoMap.get("FOShow")).append(" "); - contentBuilder.append("归口管理部门: ").append(attrInfoMap.get("GKGLBMShow")).append(" "); - contentBuilder.append("我司是否参与: ").append(attrInfoMap.get("WSSFCYShow")).append(" "); - contentBuilder.append("相关流程: ").append(attrInfoMap.get("XGLC")).append(" "); + contentBuilder.append("地区: ").append(attrInfoMap.get("country")).append(" "); + contentBuilder.append("发文日期: ").append(attrInfoMap.get("issueTime")).append(" "); + contentBuilder.append("发文单位: ").append(attrInfoMap.get("issueCompany")).append(" "); + contentBuilder.append("征集意见周期-起始时间: ").append(attrInfoMap.get("commentCycleStart")).append(" "); + contentBuilder.append("征集意见周期-结束时间: ").append(attrInfoMap.get("commentCycleEnd")).append(" "); + contentBuilder.append("文本状态: ").append(attrInfoMap.get("lawsTextStateName")).append(" "); + contentBuilder.append("适用区域: ").append(attrInfoMap.get("lawsSyqyName")).append(" "); + contentBuilder.append("适用车型: ").append(attrInfoMap.get("lawsSycxName")).append(" "); + contentBuilder.append("是否纳入认证清单: ").append(attrInfoMap.get("isRelateAccessName")).append(" "); + contentBuilder.append("年度: ").append(attrInfoMap.get("lawsYearName")).append(" "); + contentBuilder.append("福田转发通知文号: ").append(attrInfoMap.get("lawsNotisyncNum")).append(" "); + contentBuilder.append("信息简报: ").append(attrInfoMap.get("lawsBulletin")).append(" "); + contentBuilder.append("标签: ").append(attrInfoMap.get("lawsLabel")).append(" "); + contentBuilder.append("备注: ").append(attrInfoMap.get("lawsRemark")).append(" "); + contentBuilder.append("实施日期(文本): ").append(attrInfoMap.get("SSRQLAWSName")).append(" "); + contentBuilder.append("新车型实施日期(文本): ").append(attrInfoMap.get("XCXSSRQLAWSName")).append(" "); + contentBuilder.append("在产车实施日期(文本): ").append(attrInfoMap.get("ZCXSSRQLAWSName")).append(" "); + contentBuilder.append("发布机构: ").append(attrInfoMap.get("FBJGLAWSName")).append(" "); + contentBuilder.append("我司参与深度: ").append(attrInfoMap.get("CYSDLAWSName")).append(" "); + contentBuilder.append("投稿人: ").append(attrInfoMap.get("TGRLAWSName")).append(" "); + contentBuilder.append("投稿单位: ").append(attrInfoMap.get("TGRLAWSName")).append(" "); + contentBuilder.append("能源类型: ").append(attrInfoMap.get("NYLXLAWSName")).append(" "); + contentBuilder.append("适用认证: ").append(attrInfoMap.get("YYRZLAWSName")).append(" "); + contentBuilder.append("责任部门: ").append(attrInfoMap.get("ZRBMLAWSName")).append(" "); + contentBuilder.append("责任工程师: ").append(attrInfoMap.get("ZRGCSLAWSName")).append(" "); + contentBuilder.append("代替文件号: ").append(attrInfoMap.get("DTWJHLAWSName")).append(" "); + contentBuilder.append("被代替文件号: ").append(attrInfoMap.get("BDTWJHLAWSName")).append(" "); + contentBuilder.append("引用标准&政策: ").append(attrInfoMap.get("YYBZZCLAWSName")).append(" "); // contentBuilder.append("相关资料:"+attrInfoMap.get("")+" "); if (attrInfoMap.containsKey("content")){ if (null !=attrInfoMap.get("content") && StringUtils.isNotBlank(String.valueOf(attrInfoMap.get("content")))){ @@ -285,10 +293,10 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { StringBuilder textContent = replaceAll(contentBuilder, "null", "--"); fullTextSearchEO.put("textContent",textContent.toString()); - if (null != attrInfoMap.get("issue_time") && !"".equals(attrInfoMap.get("issue_time")) && !"null".equals(attrInfoMap.get("issue_time"))) { - fullTextSearchEO.put("issue_time", attrInfoMap.get("issue_time")); + if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) { + fullTextSearchEO.put("issue_time", attrInfoMap.get("issueTime")); }else { - fullTextSearchEO.put("issue_time", ""); + fullTextSearchEO.put("issue_time", "--"); } }else if ("bussstand".equals(attrInfoMap.get("type"))){ diff --git a/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java b/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java index 84b94060..3caafc2e 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java +++ b/adc-da-search/src/main/java/com/adc/da/search/util/InitStandAttrSearchUtil.java @@ -11,6 +11,7 @@ import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -37,9 +38,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { standTypeList.add(SarTypeEnum.STAND.getValue()); standTypeList.add(SarTypeEnum.INLAND_STAND.getValue()); standTypeList.add(SarTypeEnum.FOREIGN_STAND.getValue()); - lawsTypeList.add(SarTypeEnum.LAWS.getValue()); - lawsTypeList.add(SarTypeEnum.INLAND_LAWS.getValue()); - lawsTypeList.add(SarTypeEnum.FOREIGN_LAWS.getValue()); + lawsTypeList.add(SarTypeEnum.LAWS_STAND.getValue()); standStateList.add("DRAFT"); standStateList.add("ADVICE"); standStateList.add("RADYSUBMIT"); @@ -78,6 +77,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { public static List numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段 public static List lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段 public static List lawsForeignAttrFieldList = new ArrayList<>(); // 全部政策字段属性 + public static List lawsStandAttrFieldList = new ArrayList<>(); // 全部政策字段属性 public static Map selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值 // 企标属性字段信息 @@ -95,7 +95,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { - logger.info("项目启动时加载-搜索中心-查询标准属性类!"); + logger.info("项目启动时加载--查询标准属性类!"); // 属性表需要查询的字段 StringBuilder fieldInfoBuilder = new StringBuilder(); StringBuilder fieldInfoBuilderLaws = new StringBuilder(); @@ -108,7 +108,7 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { qw.orderByAsc("ORDER_NUM"); List getDetailsList = sarStandAttrDetailsEOService.list(qw); if (getDetailsList != null && !getDetailsList.isEmpty()) { - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!"); + logger.info("项目启动时加载--查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!"); for (SarStandAttrDetails detailsEO : getDetailsList) { String sarType = detailsEO.getSarType(); String attrType = detailsEO.getAttrType(); @@ -137,12 +137,16 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { numFieldList.add(detailsEO.getAttrField()); } } else if (lawsTypeList.contains(sarType)) { - if (!SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { - lawsInlandAttrFieldList.add(detailsEO); - } - if (!SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + if (SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { lawsForeignAttrFieldList.add(detailsEO); } + if (SarTypeEnum.LAWS_STAND.getValue().equals(sarType)) { + lawsStandAttrFieldList.add(detailsEO); + } + + if (SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + lawsInlandAttrFieldList.add(detailsEO); + } fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ","); fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ","); queryFieldListLaws.add(detailsEO.getAttrField()); @@ -193,9 +197,9 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { if (StringUtils.isNotBlank(queryFieldBuss)) { queryFieldBuss = queryFieldBuss.substring(0,queryFieldBuss.length()-1); } - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段为:" + queryField); - logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段为:" + queryFieldLaws); - logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段为:" + queryFieldBuss); + logger.info("项目启动时加载--查询标准属性类--查询到属性字段为:" + queryField); + logger.info("项目启动时加载--查询政策属性类--查询到属性字段为:" + queryFieldLaws); + logger.info("项目启动时加载--查询企标属性类--查询到属性字段为:" + queryFieldBuss); queryFieldNames = fieldInfoNameBuilder.toString(); queryFieldNamesLaws = fieldInfoNameBuilderLaws.toString(); queryFieldNamesBuss = fieldInfoNameBuilderBuss.toString(); @@ -208,11 +212,11 @@ public class InitStandAttrSearchUtil implements ApplicationRunner { if (StringUtils.isNotBlank(queryFieldNamesBuss)) { queryFieldNamesBuss = queryFieldNamesBuss.substring(0,queryFieldNamesBuss.length()-1); } - logger.info("项目启动时加载-搜索中心-查询标准属性类--查询到属性字段名称为:" + queryFieldNames); - logger.info("项目启动时加载-搜索中心-查询政策属性类--查询到属性字段名称为:" + queryFieldNamesLaws); - logger.info("项目启动时加载-搜索中心-查询企标属性类--查询到属性字段名称为:" + queryFieldNamesBuss); + logger.info("项目启动时加载--查询标准属性类--查询到属性字段名称为:" + queryFieldNames); + logger.info("项目启动时加载--查询政策属性类--查询到属性字段名称为:" + queryFieldNamesLaws); + logger.info("项目启动时加载--查询企标属性类--查询到属性字段名称为:" + queryFieldNamesBuss); } else { - logger.error("项目启动时加载-搜索中心-查询标准属性类--未查询到属性字段数据!"); + logger.error("项目启动时加载--查询标准属性类--未查询到属性字段数据!"); } } diff --git a/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java b/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java index 6a0731ca..6ffdf0e8 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java +++ b/adc-da-search/src/main/java/com/adc/da/search/util/SarTypeEnum.java @@ -11,6 +11,7 @@ public enum SarTypeEnum { FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"), STAND("STAND","国内外标准法规"), LAWS("LAWS","国内外政策"), + LAWS_STAND("LAWS_STAND","国内外政策"), BUSINESS("BUSINESS","企业标准"), BUSS("BUSS","企业标准"), SPLIT("SPLIT","标准拆分"), diff --git a/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java b/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java index cc804198..d41522ac 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java +++ b/adc-da-slrs/src/main/java/com/adc/da/common/SarTypeEnum.java @@ -11,6 +11,7 @@ public enum SarTypeEnum { FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"), STAND("STAND","国内外标准法规"), LAWS("LAWS","国内外政策"), + LAWS_STAND("LAWS_STAND","国内外政策"), BUSINESS("BUSINESS","企业标准"), BUSS("BUSS","企业标准"), SPLIT("SPLIT","标准拆分"), diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateMQService.java index d913c62e..5e6c6f22 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateMQService.java @@ -71,7 +71,7 @@ public class CreateMQService { } //发送消息队列 - this.rabbitTemplate.convertAndSend("convert-exchange_SQ_GSAR", "convert-key_SQ_GSAR", convertInfo); + this.rabbitTemplate.convertAndSend("convert-exchange_SQ_GSAR_RELEASE", "convert-key_SQ_GSAR_RELEASE", convertInfo); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java index c0ef3345..d72f08db 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateStandMQService.java @@ -2,6 +2,7 @@ package com.adc.da.mq; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarLawsInfo.entity.SarLawsInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; import net.sf.json.JSONObject; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -29,18 +30,20 @@ public class CreateStandMQService { standMap.put("addOrUpdate", addOrUpdate); //发送消息队列 - this.rabbitTemplate.convertAndSend("stand-exchange_SQ_GSAR", "stand-key_SQ_GSAR", standMap); + this.rabbitTemplate.convertAndSend("stand-exchange_SQ_GSAR_RELEASE", "stand-key_SQ_GSAR_RELEASE", standMap); } - public void sendLawsMQ(SarLawsInfo sarLawsInfoEO, String addOrUpdate) throws Exception{ - JSONObject json = JSONObject.fromObject(sarLawsInfoEO); - String sarLawsInfoStr = json.toString(); + public void sendLawsMQ(SarLawsStandInfo sarLawsStandInfo, String addOrUpdate) throws Exception{ +// JSONObject json = JSONObject.fromObject(sarLawsStandInfo); + com.alibaba.fastjson.JSONObject object = (com.alibaba.fastjson.JSONObject) com.alibaba.fastjson.JSONObject.toJSON(sarLawsStandInfo); + + String sarLawsInfoStr = object.toString(); Map lawsMap = new HashMap(); lawsMap.put("sarLaws", sarLawsInfoStr); lawsMap.put("addOrUpdate", addOrUpdate); //发送消息队列 - this.rabbitTemplate.convertAndSend("laws-exchange_SQ_GSAR", "laws-key_SQ_GSAR", lawsMap); + this.rabbitTemplate.convertAndSend("laws-exchange_SQ_GSAR_RELEASE", "laws-key_SQ_GSAR_RELEASE", lawsMap); } public void sendBussStandMQ(Object sarBussionessStandEO, String addOrUpdate) throws Exception{ @@ -51,7 +54,7 @@ public class CreateStandMQService { bussMap.put("addOrUpdate", addOrUpdate); //发送消息队列 - this.rabbitTemplate.convertAndSend("buss-exchange_SQ_GSAR", "buss-key_SQ_GSAR", bussMap); + this.rabbitTemplate.convertAndSend("buss-exchange_SQ_GSAR_RELEASE", "buss-key_SQ_GSAR_RELEASE", bussMap); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java index f8b1108c..bca2139e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java @@ -45,9 +45,9 @@ public class SendBussMQService { @RabbitListener(bindings = @QueueBinding( - value = @Queue(value = "createBussMQ_SQ_GSAR", durable = "true"), - exchange = @Exchange(value = "buss-exchange_SQ_GSAR", ignoreDeclarationExceptions = "true"), - key = "buss-key_SQ_GSAR")) + value = @Queue(value = "createBussMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "buss-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "buss-key_SQ_GSAR_RELEASE")) public void createMQ(Map bussMap, Message message, Channel channel) throws Exception{ try{ try{ diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java new file mode 100644 index 00000000..9ec25207 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java @@ -0,0 +1,324 @@ +package com.adc.da.mq; + +import com.adc.da.slrs.otSvpps.service.IOtSvppsService; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.dao.DicTypeEODao; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.alibaba.fastjson.JSON; +import com.rabbitmq.client.Channel; +import net.sf.json.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.json.JSONTokener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +@Component +public class SendLawsMQService { + + @Autowired + private ISarStandardsInfoService sarStandardsInfoService; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private DicTypeEODao dicTypeEODao; + + private static final Logger logger = LoggerFactory.getLogger(SendLawsMQService.class); + + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createLawsMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "laws-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "laws-key_SQ_GSAR_RELEASE")) + public void createMQ(Map bussMap, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + insertOrUpdateBussInfo(bussMap); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("搜索中心国内外政策消息队列进入转换前失败!"); + logger.error(e.getMessage(),e); + } finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + } + + public void insertOrUpdateBussInfo(Map bussMap) throws Exception { + String addOrUpdate = bussMap.get("addOrUpdate").toString(); + String sarBuss = bussMap.get("sarLaws").toString(); + JSONObject jsonobject = JSONObject.fromObject(sarBuss); + SarLawsStandInfo infoEO = com.alibaba.fastjson.JSONObject.parseObject(sarBuss,SarLawsStandInfo.class); + + if(infoEO.getMapItems() == null || infoEO.getMapItems().isEmpty()){ + if(jsonobject.get("mapItems") != null){ + infoEO.setMapItems(net.sf.json.JSONObject.fromObject(jsonobject.get("mapItems"))); + } + } +// SarLawsStandInfo infoEO = (SarLawsStandInfo) JSONObject.toBean(jsonobject,SarLawsStandInfo.class); + + String FZRQFSRQ = null; + if ("updateFromAct".equals(addOrUpdate)){ + addOrUpdate = "update"; + FZRQFSRQ = "1"; + } + + String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr(); + Map attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr); + Map infoMap = infoEO.getAttrInfoCaseMap(); + Map infoEOMapItems = infoEO.getMapItems(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + //修改索引信息表 + // 往索引表中插入数据 + String baseSearchContent = ""; + String getCodeName = ""; + Map saveMap = new HashMap<>(); + saveMap.put("standType","laws"); + //发布日期 高级查询 + saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime())); + Date issue_time_data = null; + if (StringUtils.isNotBlank(infoEO.getIssueTime())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + issue_time_data = format.parse(dateFormatToStr(infoEO.getIssueTime())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (issue_time_data != null) { + saveMap.put("issue_time_data",issue_time_data.getTime()); + }else{ + saveMap.put("issue_time_data",-1000000000000000000L); + } + + //征集意见周期-起始时间 + saveMap.put("commentCycleStart",dateFormatToStr(infoEO.getCommentCycleStart())); + Date commentCycleStart_data = null; + if (StringUtils.isNotBlank(infoEO.getCommentCycleStart())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + commentCycleStart_data = format.parse(dateFormatToStr(infoEO.getCommentCycleStart())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (commentCycleStart_data != null) { + saveMap.put("commentCycleStart_data",commentCycleStart_data.getTime()); + }else{ + saveMap.put("commentCycleStart_data",-1000000000000000000L); + } + + //征集意见周期-结束时间 + saveMap.put("commentCycleEnd",dateFormatToStr(infoEO.getCommentCycleEnd())); + Date commentCycleEnd_data = null; + if (StringUtils.isNotBlank(infoEO.getCommentCycleStart())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + commentCycleEnd_data = format.parse(dateFormatToStr(infoEO.getCommentCycleStart())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (commentCycleEnd_data != null) { + saveMap.put("commentCycleEnd_data",commentCycleEnd_data.getTime()); + }else{ + saveMap.put("commentCycleEnd_data",-1000000000000000000L); + } + + saveMap.put("id",infoEO.getId()); + String lawsTypeName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsType())){ + List valArr = Arrays.asList(infoEO.getLawsType().split(",")); + lawsTypeName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsType",infoEO.getLawsType()); + saveMap.put("lawsTypeName",lawsTypeName); + saveMap.put("lawsNumber",infoEO.getLawsNumber()); + saveMap.put("lawsName",infoEO.getLawsName()); + saveMap.put("lawsEnName",infoEO.getLawsEnName()); + saveMap.put("lawsNo",infoEO.getLawsNo()); + saveMap.put("issueCompany",infoEO.getIssueCompany()); + String lawsSyqyName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsSyqy())){ + List valArr = Arrays.asList(infoEO.getLawsSyqy().split(",")); + lawsSyqyName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsSyqy",infoEO.getLawsSyqy()); + saveMap.put("lawsSyqyName",lawsSyqyName); + String lawsSycxName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsSycx())){ + List valArr = Arrays.asList(infoEO.getLawsSycx().split(",")); + lawsSycxName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsSycx",infoEO.getLawsSycx()); + saveMap.put("lawsSycxName",lawsSycxName); + String isRelateAccessName = ""; + if(infoEO.getIsRelateAccess() != null && StringUtils.isNotBlank(infoEO.getIsRelateAccess())){ + if(infoEO.getIsRelateAccess().equals("1")){ + isRelateAccessName = "是"; + }else { + isRelateAccessName = "否"; + } + } + saveMap.put("isRelateAccess",infoEO.getIsRelateAccess()); + saveMap.put("isRelateAccessName",isRelateAccessName); + String lawsYearName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsYear())){ + List valArr = Arrays.asList(infoEO.getLawsYear().split(",")); + lawsYearName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsYear",infoEO.getLawsYear()); + saveMap.put("lawsYearName",lawsYearName); + saveMap.put("lawsNotisyncNum",infoEO.getLawsNotisyncNum()); + saveMap.put("lawsBulletin",infoEO.getLawsBulletin()); + String lawsLabelName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsLabel())){ + List valArr = Arrays.asList(infoEO.getLawsLabel().split(",")); + lawsLabelName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsLabel",infoEO.getLawsLabel()); + saveMap.put("lawsLabelName",lawsLabelName); + saveMap.put("lawsRemark",infoEO.getLawsRemark()); + String lawsTextStateName = ""; + if(infoEO.getLawsTextState() != null && StringUtils.isNotBlank(infoEO.getLawsTextState())){ + List valArr = Arrays.asList(infoEO.getLawsTextState().split(",")); + lawsTextStateName = dicTypeEODao.getDicNamesByCodes(valArr); + } + saveMap.put("lawsTextState",infoEO.getLawsTextState()); + saveMap.put("lawsTextStateName",lawsTextStateName); + //新加字段 + saveMap.put("country",infoEO.getCountry()); + if(StringUtils.isNotEmpty(infoEO.getCountry())){ + String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getCountry()); + saveMap.put("countryShow",codeName); + } + // 自定义属性字段 + if (attrInfoMap != null && !attrInfoMap.isEmpty()) { + attrInfoMap = sysInfoEOService.changeSelectInfo(attrInfoMap, "laws",baseSearchContent); + saveMap.putAll(attrInfoMap); + } + + saveMap.put("type","laws"); + saveMap.put("validFlag","0"); + saveMap.put("content",infoEO.getFileIds()); + + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + + // 动态存储属性字段 + for (String field : fieldInfoList) { + saveMap.put(field,attrInfoMap.getOrDefault(field,"")); + String fieldValue = ""; + String fieldFilter = field.toLowerCase(); + if(infoMap.get(fieldFilter) != null && StringUtils.isNotBlank(infoMap.get(fieldFilter).toString())){ + Object json= new JSONTokener(infoMap.get(fieldFilter).toString()).nextValue(); + if(!json.toString().equals("null")){ + fieldValue = infoMap.get(fieldFilter).toString(); + } + } + saveMap.put(field+"Name",fieldValue); + } + + if(infoEOMapItems != null && !infoEOMapItems.isEmpty()){ + saveMap.put("mapItems",infoEOMapItems); + } + + //当建立代替时,产生的没有文件的问题 + if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) { + String context = filterStringIsNotBlank(String.valueOf(saveMap.get("ZCWBLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("GCWBLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("JDWJLAWS")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("GLWJLAWS")),true); + context = context.replace(",,", ","); + saveMap.put("content", context); + } + if("add".equals(addOrUpdate)){ + sarStandardsInfoService.insertIntoIndexForMap(saveMap); + } else { + sarStandardsInfoService.updateIntoIndexForMap(saveMap); + } + } + + private String filterStringIsNotBlank(String str,boolean boo){ + String f = ","; + return (str == null || str.equals("") || str.equals("null")) ? "" : (boo ? str+f : str); + } + + private String dateFormatToStr(String dateStr){ + if(dateStr == null || dateStr.equals("")){ + return ""; + } + String dateToStr = ""; + try { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateToStr = dateFormat.format(dateFormat.parse(dateStr.trim().substring(0,10))); + }catch (Exception e){ + e.getMessage(); + } + return dateToStr; + } + + public Map dealNumberMsg (Map saveMap,SarBussionessStand infoEO,String getCodeName) { + /*if(StringUtils.isNotEmpty(infoEO.getStandYear())){ + String num = getCodeName + " " + infoEO.getStandCode() + "-" + infoEO.getStandYear(); + saveMap.put("numbershow",num); + int index = infoEO.getStandCode().indexOf("."); + int index1 = infoEO.getStandCode().indexOf(":"); + String numberExpNull = ""; + if(index > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else if(index1 > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index1) + "-" + infoEO.getStandCode().substring(0,index1); + }else{ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + num.replaceAll(" ",""); + } + } else { + String number = getCodeName + " " + infoEO.getStandCode(); + saveMap.put("numbershow",number); + String numberExpNull = ""; + int index = infoEO.getStandCode().indexOf("."); + if(index > -1){ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + number.replaceAll(" ","") + + "-" + getCodeName + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else{ + numberExpNull = getCodeName + infoEO.getStandCode() + "-" + number.replaceAll(" ",""); + } + saveMap.put("numberExpNull",numberExpNull); + }*/ + String number = infoEO.getStandCode(); + saveMap.put("numbershow",number); + String numberExpNull = ""; + int index = infoEO.getStandCode().indexOf("."); + if(index > -1){ + numberExpNull = infoEO.getStandCode() + "-" + number.replaceAll(" ","") + + "-" + infoEO.getStandCode().substring(0,index) + "-" + infoEO.getStandCode().substring(0,index); + }else{ + numberExpNull = infoEO.getStandCode() + "-" + number.replaceAll(" ",""); + } + saveMap.put("numberExpNull",numberExpNull); + return saveMap; + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java index c713507b..4cf2e4e8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java @@ -46,9 +46,9 @@ public class SendStandMQService { private static final Logger logger = LoggerFactory.getLogger(SendStandMQService.class); @RabbitListener(bindings = @QueueBinding( - value = @Queue(value = "createStandMQ_SQ_GSAR", durable = "true"), - exchange = @Exchange(value = "stand-exchange_SQ_GSAR", ignoreDeclarationExceptions = "true"), - key = "stand-key_SQ_GSAR")) + value = @Queue(value = "createStandMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "stand-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "stand-key_SQ_GSAR_RELEASE")) public void createMQ(Map standMap, Message message, Channel channel) throws Exception{ try{ try{ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java index 1a36d323..7ba28226 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java @@ -4,6 +4,7 @@ import com.adc.da.base.web.BaseController; import com.adc.da.common.ReadExcel; import com.adc.da.http.ResponseMessage; import com.adc.da.slrs.ImportExcelDatas.comment.ExclErrorOut; +import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; import com.adc.da.slrs.ImportExcelDatas.service.impl.ImportExcelServiceImpl; @@ -34,7 +35,7 @@ import java.util.Map; @RestController @Api(description = "|SarStandPutTime|") -@RequestMapping("/ImportExcel") +@RequestMapping("/api/ImportExcel") public class ImportExcelController extends BaseController { @Autowired @@ -43,14 +44,24 @@ public class ImportExcelController extends BaseController { @Autowired private ExclErrorOut exclErrorOut; - @ApiOperation("批量删除用户收藏") + + @ApiOperation("从excl中导入标准信息") @PostMapping("/import") public void deleteList(MultipartFile file, MultipartFile file2, HttpServletResponse response, HttpServletRequest request) throws IOException { Map> mapMap=importExcelService.getExcelData(file,file2); + /** + * 导入系统 + */ List errorList = importExcelService.storageExclData(mapMap); +// mapMap.put("导入后的信息",errorList); // List guonei= mapMap.get("GNBZ"); // List haiwai = mapMap.get("HWBZ"); // List qibiao = mapMap.get("QYBZ"); + + + /** + * 生成错误表格 + */ OutputStream os = null; Workbook workbook = null; try { @@ -61,7 +72,11 @@ public class ImportExcelController extends BaseController { response.setContentType("application/force-download"); //导出数据 String headStr="标准号,标准名称,英文名称,发布时间,实施时间,标准状态,代替标准号,附件路径,错误原因"; - workbook = exclErrorOut.exportDatas(errorList,headStr); +// workbook = exclErrorOut.exportDatas(guonei,headStr); + + ExclExport exclExport = new ExclExport(); + workbook = exclExport.exportData(mapMap, headStr); + os = response.getOutputStream(); workbook.write(os); os.flush(); @@ -75,8 +90,8 @@ public class ImportExcelController extends BaseController { } - // return responseMessage; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index 5175ea6c..28a15541 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -2,7 +2,6 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; -import com.adc.da.http.Result; import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; @@ -10,9 +9,7 @@ import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; -import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; -import com.adc.da.sys.entity.DictionaryEO; import com.adc.da.sys.service.impl.DicTypeEOServiceImpl; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.InitStandAttrUtil; @@ -26,13 +23,13 @@ import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.InputStream; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; @Service @@ -54,7 +51,9 @@ public class ImportExcelServiceImpl extends ServiceImpl middle = new HashMap<>(); datas.forEach(items -> { + System.out.print("."); //判断是否是正确的数据 String[] as = items.split(","); - if (!inDate(as[0], dates)) { + if( as.length < 8){ + ImportDto importDto = new ImportDto(); + importDto.setErrorStr(items); + error.add(importDto); + + } else if (!inDate(as[0], dates) ) { ImportDto importDto = getImportDto(as); error.add(importDto); - middle.put(as[0].trim(), "error-" + error.size()); + middle.put(as[7].trim(), "error-" + error.size()); } else { //数据二次拆解 针对标准进行拆解 String[] step2 = as[0].trim().split(" "); @@ -131,15 +137,15 @@ public class ImportExcelServiceImpl extends ServiceImpl { String[] fj = items2.split(","); if (fj.length > 2) { - if (null != middle.get(null != fj[2] ? fj[2].trim() : "")) { + if (null != middle.get(null != fj[1] ? fj[1].trim() : "")) { //对应数据位置 - String[] location = middle.get(fj[2].trim()).split("-"); + String[] location = middle.get(fj[1].trim()).split("-"); +// List importDtos = res.get(location[0]); + res.get(location[0]).get(Integer.parseInt(location[1]) - 1).setPath(fj[3]); } } @@ -189,10 +197,15 @@ public class ImportExcelServiceImpl extends ServiceImpl error = new ArrayList<>(); - private List fileError = new ArrayList<>(); @Autowired private ISarStandardsInfoService sarStandardsInfoService; @@ -278,12 +291,38 @@ public class ImportExcelServiceImpl extends ServiceImpl error = new ArrayList<>(); + + private List fileError = new ArrayList<>(); + + private HashSet sarSort = new HashSet<>(); + + + @Override public List storageExclData(Map> importListMap) { - +//TODO 利用stream把list变为set +// List list = dicTypeEOService.list(); +// list.stream().flatMap(dicTypeEO -> { +// return dicTypeEO; +// }.co) + List isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, null, null); + isExist.forEach(item->{ + sarSort.add(item.getDicTypeCode()); + }); error = importListMap.get("error"); + + AtomicInteger QYBZcount= new AtomicInteger(); + AtomicInteger QYBZcountUpdate= new AtomicInteger(); + AtomicInteger HWBZcount= new AtomicInteger(); + AtomicInteger HWBZcountUpdate= new AtomicInteger(); + AtomicInteger GNBZcount= new AtomicInteger(); + AtomicInteger GNBZcountUpdate= new AtomicInteger(); + /** * 初始化国内外标准属性字段 */ @@ -296,24 +335,26 @@ public class ImportExcelServiceImpl extends ServiceImpl { - String standID = UUIDUtils.randomUUID20(); - //使用初始化的属性字段映射 获得key值,value为"" - Map mapField = standAttrMap; - SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapField, standID); + /*importListMap.get("HWBZ").forEach(item -> { + if (true ) { + String standID = UUIDUtils.randomUUID20(); - if (ForeignEO != null) { - ForeignEO.setValidFlag("0"); - ForeignEO.setStandType("FOREIGN"); - QueryWrapper standSaveWrapper = new QueryWrapper<>(); - standSaveWrapper - .eq("STAND_SORT", ForeignEO.getStandSort()) - .eq("STAND_NUMBER", ForeignEO.getStandNumber()) - .eq("STAND_YEAR", ForeignEO.getStandYear()); + //使用初始化的属性字段映射 获得key值,value为"" + Map mapField = standAttrMap; + SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapField, standID); - SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + if (ForeignEO != null) { + ForeignEO.setValidFlag("0"); + ForeignEO.setStandType("FOREIGN"); + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT", ForeignEO.getStandSort()) + .eq("STAND_NUMBER", ForeignEO.getStandNumber()) + .eq("STAND_YEAR", ForeignEO.getStandYear()); + + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); @@ -322,6 +363,9 @@ public class ImportExcelServiceImpl extends ServiceImpl { - String standID = UUIDUtils.randomUUID20(); - //使用初始化的属性字段映射 获得key值,value为"" - Map mapStandField = standAttrMap; - SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandField,standID); - - if (InlandEO != null) { + /*importListMap.get("GNBZ").forEach(item -> { - InlandEO.setValidFlag("0"); - InlandEO.setStandType("INLAND"); + if (true) { + String standID = UUIDUtils.randomUUID20(); + //使用初始化的属性字段映射 获得key值,value为"" + Map mapStandField = standAttrMap; + SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandField, standID); + + if (InlandEO != null) { - QueryWrapper standSaveWrapper = new QueryWrapper<>(); - standSaveWrapper - .eq("STAND_SORT", InlandEO.getStandSort()) - .eq("STAND_NUMBER", InlandEO.getStandNumber()) - .eq("STAND_YEAR", InlandEO.getStandYear()); + InlandEO.setValidFlag("0"); + InlandEO.setStandType("INLAND"); - SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); - if (one != null) { + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT", InlandEO.getStandSort()) + .eq("STAND_NUMBER", InlandEO.getStandNumber()) + .eq("STAND_YEAR", InlandEO.getStandYear()); - InlandEO.setId(one.getId()); - try { - sarStandardsInfoService.updateSarStandardsInfo(InlandEO); - } catch (Exception e) { - item.setErrorStr("国内标准更新失败"); - error.add(item); - e.printStackTrace(); + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + if (one != null) { + + + InlandEO.setId(one.getId()); + try { + sarStandardsInfoService.updateSarStandardsInfo(InlandEO); + } catch (Exception e) { + item.setErrorStr("国内标准更新失败"); + error.add(item); + e.printStackTrace(); + } + + + } else { + + + try { + sarStandardsInfoService.createSarStandardsInfo(InlandEO); + } catch (Exception e) { + item.setErrorStr("国内标准新增失败"); + error.add(item); + e.printStackTrace(); + } } - - } else { - - - try { - sarStandardsInfoService.createSarStandardsInfo(InlandEO); - } catch (Exception e) { - item.setErrorStr("国内标准新增失败"); - error.add(item); - e.printStackTrace(); - } + item.setErrorStr("标准号无法解析"); + error.add(item); + importListMap.replace("error", error); } - } else { - item.setErrorStr("标准号无法解析"); - error.add(item); - importListMap.replace("error", error); + } - - }); + });*/ /** @@ -420,38 +474,61 @@ public class ImportExcelServiceImpl extends ServiceImpl{ bussAttrMap.put(item,""); }); + importListMap.get("QYBZ").forEach(item -> { - String standId = UUIDUtils.randomUUID20(); - SarBussionessStand BussEO = parseImportDtoToSarBussionessStand(item, bussAttrMap,standId); - if (BussEO != null) { - try { - QueryWrapper saveWrapper = new QueryWrapper<>(); - saveWrapper.eq("STAND_CODE", item.getStandId()); - SarBussionessStand one = sarBussionessStandService.getOne(saveWrapper); - if (one != null) { - BussEO.setId(one.getId()); - sarBussionessStandService.updateSarBussionessStand(BussEO); - } else { - sarBussionessStandService.createSarBussionessStand(BussEO); + if (true){ +// if (item.getStandId().contains("Q/FT T396—2021") ){ + + String standId = UUIDUtils.randomUUID20(); + SarBussionessStand BussEO = parseImportDtoToSarBussionessStand(item, bussAttrMap,standId); + + if (BussEO != null) { + + try { + QueryWrapper saveWrapper = new QueryWrapper<>(); + saveWrapper.eq("STAND_CODE", item.getStandId()); + SarBussionessStand one = sarBussionessStandService.getOne(saveWrapper); + if (one != null) { + BussEO.setId(one.getId()); + sarBussionessStandService.updateSarBussionessStand(BussEO); + QYBZcountUpdate.getAndIncrement(); + QYBZcount.getAndIncrement(); + System.out.println("企业标准执行更新====第: "+QYBZcount+"行"); + + } else { + sarBussionessStandService.createSarBussionessStand(BussEO); + QYBZcount.getAndIncrement(); + System.out.println("企业标准执行新增第: "+QYBZcount+"行"); + } + + + } catch (Exception e) { + item.setErrorStr("数据格式错误"); + error.add(item); + + e.printStackTrace(); + } - - } catch (Exception e) { - item.setErrorStr("数据格式错误"); - error.add(item); - - e.printStackTrace(); - } - } + }); error.addAll(fileError); + System.out.println("执行结束"); + System.out.println("执行国内标准"+GNBZcount+"条"); + System.out.println("国内标准执行更新"+GNBZcountUpdate+"条"); + System.out.println("执行国外标准"+HWBZcount+"条"); + System.out.println("海外标准执行更新"+HWBZcountUpdate+"条"); + System.out.println("执行企业标准"+QYBZcount+"条"); + System.out.println("企业标准执行更新"+QYBZcountUpdate+"条"); + + return error; } @@ -464,13 +541,10 @@ public class ImportExcelServiceImpl extends ServiceImpl fieldMap, String standId) { - - HashMap analysis = analysisStandId(importDto); if (analysis == null) { return null; } - SarStandardsInfo sarStandardsInfoEO = new SarStandardsInfo(); sarStandardsInfoEO.setId(standId); @@ -507,21 +581,21 @@ public class ImportExcelServiceImpl extends ServiceImpl analysisStandId(ImportDto importDto) { HashMap result = new HashMap<>(); - if (importDto.getStandId() == null) { + String standId = importDto.getStandId(); + + if (standId == null) { importDto.setErrorStr("标准号为空"); error.add(importDto); return null; } else { - String standId = importDto.getStandId(); +// String standId = importDto.getStandId(); //格式 非空格字符+空格+非空格字符+‘-’或‘—’或空格+年份 如Q/FT F003—2001 Pattern pattern = Pattern.compile("^\\S*\\s\\S*[\\u2014\\u002d\\s]\\d{4}$"); if (!pattern.matcher(standId).matches()) { @@ -656,7 +732,7 @@ public class ImportExcelServiceImpl extends ServiceImpl isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null); - if (isExist == null || isExist.isEmpty() || isExist.size()==0){ - - DicTypeEO dicTypeVO = new DicTypeEO(); - dicTypeVO.setId(null); - dicTypeVO.setDicId("JKSADFH564S"); - dicTypeVO.setDicTypeCode(sort); - dicTypeVO.setDicTypeName(sort); - dicTypeVO.setShowIndex(1); - Integer dicTypeEO = dicTypeEOService.saveDictype(dicTypeVO); - if (dicTypeEO>0){ - importDto.setErrorStr("标准类别不存在,已新增"); - }else { - importDto.setErrorStr("标准类别不存在,新增失败"); - } - error.add(importDto); - } - + /** + * 标准类别不存在,新增标准类别 + */ +// List isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null); +// if (!sarSort.contains(sort)){ +// +// DicTypeEO dicTypeVO = new DicTypeEO(); +// dicTypeVO.setId(null); +// dicTypeVO.setDicId("JKSADFH564S"); +// dicTypeVO.setDicTypeCode(sort); +// dicTypeVO.setDicTypeName(sort); +// dicTypeVO.setShowIndex(1); +// Integer dicTypeEO = dicTypeEOService.saveDictype(dicTypeVO); +// if (dicTypeEO>0){ +// sarSort.add(sort); +// importDto.setErrorStr("标准类别不存在,已新增"); +// }else { +// importDto.setErrorStr("标准类别不存在,新增失败"); +// } +// error.add(importDto); +// } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java index 01af8442..c6b254db 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.SarCompStatusInfo.dao; import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; /** *

@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @author super_liu * @since 2021-06-21 */ +@Repository public interface SarCompStatusInfoDao extends BaseMapper { } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index f370bec7..fb08f978 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -194,6 +194,16 @@ public class SarBussionessStandController extends BaseController getStandInfoUpdateById(String id) throws Exception { + SarBussionessStand result = sarBussionessStandEOService.selectStandardsInfoUpdateByKey(id); + String collectId = personCollectEOService.queryCollectByUserAndId(id); + result.setCollectId(collectId); + return Result.success(result); + } + /** * 给指定标准配置目录 * @param standardsInfoEO 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 349a675c..633241f4 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 @@ -30,6 +30,8 @@ public interface ISarBussionessStandService extends IService SarBussionessStand selectStandardsInfoByKey(String id) throws Exception; + SarBussionessStand selectStandardsInfoUpdateByKey(String id) throws Exception; + SarBussionessStandEOPage updateStandardsMenu(SarBussionessStandEOPage standardsInfoEO); List queryByList(SarBussionessStandEOPage sarBussionessStandEOPage); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index bc01354b..f216455c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -35,6 +35,7 @@ import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; @@ -60,6 +61,7 @@ import org.springframework.stereotype.Service; import java.sql.Clob; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -218,7 +220,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl getList = sarBussionessStandEODao.getSarBussionessStand(page); - attrInfoShow(getList); + attrInfoShowExport(getList); return getList; } @@ -330,6 +332,55 @@ public class SarBussionessStandServiceImpl extends ServiceImpl sarlist) throws Exception { + for(SarBussionessStand row : sarlist){ + attrInfoDetailsExport(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if ("SVPPS".equals(name)) { + Object svpps = entry.getValue(); + if (svpps != null && StringUtils.isNotBlank(svpps.toString())) { + svppsTip = svpps.toString(); + } + if (StringUtils.isNotBlank(svppsTip)) { + svppsTip = sysInfoEOService.getSvppsNamesTipByIds(svppsTip); + } + value = String.valueOf(getAttrMap.get("SVPPSName")); + entry.setValue(value); + } else if (entry.getValue() != null && InitStandAttrUtil.fileFieldListBuss != null && InitStandAttrUtil.fileFieldListBuss.size() > 0 && InitStandAttrUtil.fileFieldListBuss.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { + value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if("ZYQCR".equals(name)||"QTQCR".equals(name)){ + if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + }else{ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips",svppsTip); + } + } + } + public SarBussionessStand updateSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception { String standId = sarBussionessStandEO.getId(); SarBussionessStand beforeStandEO = this.baseMapper.selectByPrimaryKey(standId); @@ -708,6 +759,19 @@ public class SarBussionessStandServiceImpl extends ServiceImpl sarBussionessStandlist = this.baseMapper.selectStandardsInfoByKey(id); + SarBussionessStand sarBussionessStandEO = new SarBussionessStand(); + if(!sarBussionessStandlist.isEmpty()) { + List newStandList = new ArrayList<>(); + newStandList.add(sarBussionessStandlist.get(0)); + attrInfo(newStandList); + sarBussionessStandEO = newStandList.get(0); + } + return sarBussionessStandEO; + } + public void attrInfoShowDetails(List sarlist) throws Exception { for (SarBussionessStand row : sarlist) { attrInfoDetails(row); @@ -802,7 +866,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl sarlist = this.baseMapper.getBussionessStandInfoPage(page); - attrInfo(sarlist); + attrInfoCollect(sarlist); return sarlist; } @@ -817,6 +881,17 @@ public class SarBussionessStandServiceImpl extends ServiceImpl sarlist) throws Exception { + List collectResIds = sarlist.stream().map(SarBussionessStand::getId).collect(Collectors.toList()); + Map collectMap = personCollectEOService.queryCollectByUserAndIds(collectResIds); + for (SarBussionessStand row : sarlist) { + if(collectMap != null && collectMap.get(row.getId()) != null){ + row.setCollectId(collectMap.get(row.getId())); + } + } + } + + public void attrInfo1 (SarBussionessStand row) throws Exception { String fieldInfo = InitStandAttrUtil.queryFieldBuss; String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); @@ -839,10 +914,10 @@ public class SarBussionessStandServiceImpl extends ServiceImpl getAttrMap = row.getAttrInfoMap(); + Map getAttrMap = row.getAttrInfoCaseMap(); if (getAttrMap != null && getAttrMap.size() > 0) { for (Map.Entry entry : getAttrMap.entrySet()) { - String name = entry.getKey(); + String name = entry.getKey().toUpperCase(); String value = ""; List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { @@ -939,13 +1014,55 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { + String value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getOrgNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getUserNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + value = sysInfoEOService.getRoleNamesByIds(value); + newMap.put(name + "Name",value); } - newMap.put(name + "Name",value); - } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { + } + } + getAttrMap.putAll(newMap); + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + + row.setAttrInfoMap(getAttrMap); + } + } + + public void attrInfoDetailsExport (SarBussionessStand row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldBuss; + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarBussStandAttrInfoEODao.selectStandFieldAndData(fieldInfo,row.getId()); + if (InitStandAttrUtil.clobFieldListBuss != null && !InitStandAttrUtil.clobFieldListBuss.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldListBuss) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField,fieldValue); + } + } + // 组织机构和人员 + Map newMap = new HashMap<>(); + if(getAttrMap != null){ + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + Object value1 = entry.getValue(); + if (value1 != null && value1.toString().equals("\"null\"")){ + entry.setValue(""); + } + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { String value = entry.getValue().toString(); String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name); if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java index 7826e189..1615a683 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java @@ -93,6 +93,14 @@ public class TsInstitutionController extends BaseController { } + @ApiOperation("通过部门机构名称查询部门树形结构 废弃使用") + @GetMapping("/findInstitution") + public List findInstitution(String institutionName){ + //TODO 调用业务接口 + tsInstitutionService.findInstitutionTreeByName(institutionName); + return null; + } + public static void main(String[] args) { // System.out.println(json); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java index 0ea1a63b..8f7b76a9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarInstitution.dao; import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -29,7 +30,7 @@ public interface TsInstitutionDao extends BaseMapper { List selectNextUser(String institutionId); - + List selectTreeByIds(@Param("rootIds") List rootIds); /** * 查询最高级机构及其人员 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java index 478f2e20..208c0c21 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java @@ -11,6 +11,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -73,4 +75,12 @@ public class TsInstitution extends BaseEntity { this.parentId = parentId; this.name = name; } + +// public void addChildren(TsInstitution node){ +// if (this.children==null){ +// this.children=Arrays.asList(node); +// }else { +// this.children.add(node); +// } +// } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java index 8350d452..af1e8996 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java @@ -43,5 +43,13 @@ public interface ITsInstitutionService extends IService { */ public List getFirst(); + + /** + * 根据机构部门名称查询机构树 + * @param institutionName + * @return + */ + public List findInstitutionTreeByName(String institutionName); + int clearData(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java index 57e64d77..0d78c184 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java @@ -6,6 +6,7 @@ import com.adc.da.slrs.sarInstitution.entity.SyncInstitution; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarInstitution.entity.TsUserVO; import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; +import com.adc.da.slrs.sarInstitution.util.TreeUtil; import com.adc.da.sync.service.SyncUserService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -15,8 +16,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -38,17 +39,21 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitution() { + List institutionList = this.list();//查询所有的的数据 + //查询第一层机构 - List institutionRoot=tsInstitutionDao.selectRoot(); - for(TsInstitution tsInstitution:institutionRoot){ - tsInstitution.setChildren(recursionGetInstitution(tsInstitution)); - } - return institutionRoot; + List root=tsInstitutionDao.selectRoot(); + + TreeUtil treeUtil = new TreeUtil(); + List institutionTree = treeUtil.treeAsList(institutionList, root); + + return institutionTree; } + /** * 递归获取子机构 * @param tsInstitution:父机构 @@ -109,21 +114,29 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitutionAndUser(String userName) { - //查询第一层机构 - List institutionRoot=tsInstitutionDao.selectRootAndUser(userName); + List tsInstitutions = new ArrayList<>(); - //把查到的数据结构修改,把用户放 - for(TsInstitution tsInstitution:institutionRoot){ - tsInstitution.setDisabled(true); - tsInstitution.setChildren( recursionGetInstitutionAndUser(tsInstitution) ); - for(TsUserVO user:tsInstitution.getUsers()){ - if(tsInstitution.getChildren()==null){ - tsInstitution.setChildren(new ArrayList<>()); + //当条件为null时避免查询全部,直接返回第一级 + if (userName==null||userName==""){ + tsInstitutions=this.getFirst(); + }else { + //查询第一层机构 + tsInstitutions=tsInstitutionDao.selectRootAndUser(userName); + + //把查到的数据结构修改,把用户放 + for(TsInstitution tsInstitution:tsInstitutions){ + tsInstitution.setDisabled(true); +// tsInstitution.setChildren( recursionGetInstitutionAndUser(tsInstitution) ); + for(TsUserVO user:tsInstitution.getUsers()){ + if(tsInstitution.getChildren()==null){ + tsInstitution.setChildren(new ArrayList<>()); + } +// tsInstitution.getChildren().add(user); } - tsInstitution.getChildren().add(user); } } - return institutionRoot; + + return tsInstitutions; } /** @@ -213,6 +226,27 @@ public class TsInstitutionServiceImpl extends ServiceImpl findInstitutionTreeByName(String institutionName) { + + QueryWrapper tsInstitutionQuery = new QueryWrapper<>(); + tsInstitutionQuery.select("id") + .like("name",institutionName); + + /** + * 查询出id的数据集合并转换成String类型 + */ + List rootIds = this.listObjs(tsInstitutionQuery) + .stream() + .map(item -> item.toString()) + .collect(Collectors.toList()); + + List tsInstitutions = tsInstitutionDao.selectTreeByIds(rootIds); + + + return null; + } + @Override public int clearData() { return tsInstitutionDao.clearData(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java new file mode 100644 index 00000000..b7ab6e4d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java @@ -0,0 +1,132 @@ +package com.adc.da.slrs.sarInstitution.util; + +import com.adc.da.slrs.sarInstitution.entity.TsInstitution; +import org.springframework.stereotype.Component; + +import java.util.*; +import java.util.stream.Collectors; + +@Component +public class TreeUtil { + + public List treeAsList(List institutionList,List rootList){ + + //转换为hashSet + List root = rootList.stream() + .map(item -> item.getId()) + .collect(Collectors.toList()); + HashSet rootSet = new HashSet<>(root); + + //获取父节点,0表示父节点 + List tree = institutionList.stream() + .filter(e -> rootSet.contains(e.getId())) + .map(e -> { + + List childNode = getChildNode(e, institutionList); + + e.setChildren(new ArrayList<>(childNode)); + return e; + }).collect(Collectors.toList()); + + return tree; + } + + /** + * 递归查询子节点 + * @param root + * @param contentKnowledgeList + * @return + */ + private List getChildNode(TsInstitution root, List contentKnowledgeList) { + List childrenList = contentKnowledgeList.stream() + .filter(e -> Objects.equals(e.getParentId(), root.getId())) + .map(e -> { + List childNode = getChildNode(e, contentKnowledgeList); + e.setChildren(new ArrayList<>(childNode)); + return e; + } + ).collect(Collectors.toList()); + return childrenList; + } + + + + +// public List getChildAsHash(TsInstitution root, Map hashInstitution){ +// String id = root.getId(); +// if (hashInstitution.containsKey(id)){ +// +// } +// return null; +// } + + +// //TODO 利用HashMap组装树结构 +// +// public List treeAsHash(List institutionList,List rootList) { +// +// Map idMap = institutionList.stream() +// .collect(Collectors.toMap(TsInstitution::getId, tsInstitution -> tsInstitution)); +// +// Map pid_institution = institutionList.stream() +// .collect(Collectors.toMap(TsInstitution::getParentId, institution -> institution)); +// +// for (TsInstitution institution : rootList) { +// +// String id = institution.getId(); +// if (pid_institution.containsKey(id)) { +// institution.addChildren(pid_institution.get(id)); +// +// } +// +// } +// +// +// Set rootSet = rootList.stream() +// .map(TsInstitution::getId) +// .collect(Collectors.toSet()); +// +// Iterator it = institutionList.iterator(); +// +// ArrayList resultList = new ArrayList<>(); +// +// +// HashMap id_obj = new HashMap<>(); +// while (it.hasNext()) { +// TsInstitution next = it.next(); +// +// String parentId = next.getParentId(); +// id_obj.put(next.getId(), next); +// if (rootSet.contains(parentId)) { +// id_obj.put(next.getId(), next); +// } else if (id_obj.containsKey(parentId)) { +// id_obj.get(parentId).addChildren(next); +// } +// +// } +// return null ; +// +// } + + + +// +// +// +// List list = dbMapper.getNodeList(); +// ArrayList rootNodes = new ArrayList<>(); +// Map map = new HashMap<>(); +// for (TreeNodeDTO node :list) { +// map.put(node.getId(), node); +// Integer parentId = node.getParentId(); +// // 判断是否有父节点 (没有父节点本身就是个父菜单) +// if (parentId.equals('0')){ +// rootNodes.add(node); +// // 找出不是父级菜单的且集合中包括其父菜单ID +// } else if (map.containsKey(parentId)){ +// map.get(parentId).getChildren().add(node); +// } +// } +// +// } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java index dad90b45..8c1e51c7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java @@ -143,7 +143,13 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl { void deleteLawsAttr(@Param("fieldInfo") String fieldInfo); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/entity/SarLawsAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/entity/SarLawsAttrInfo.java index 77f0c880..9e52cac7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/entity/SarLawsAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/entity/SarLawsAttrInfo.java @@ -3,12 +3,16 @@ package com.adc.da.slrs.sarLawsAttrInfo.entity; import com.adc.da.base.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; +import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableField; +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 org.springframework.format.annotation.DateTimeFormat; /** *

@@ -43,68 +47,80 @@ public class SarLawsAttrInfo extends BaseEntity { @ApiModelProperty(value = "创建时间") @TableField("CREATION_TIME") - private LocalDateTime creationTime; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; @ApiModelProperty(value = "修改时间") @TableField("MODIFY_TIME") - private LocalDateTime modifyTime; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; - @TableField("SYCLLX") - private String sycllx; + @TableField("SSRQLAWS") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String ssrqlaws; - @TableField("SVPPS") - private String svpps; + @TableField("XCXSSRQLAWS") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String xcxssrqlaws; - @TableField("XCXSSRQ") - private String xcxssrq; + @TableField("ZCXSSRQLAWS") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String zcxssrqlaws; - @TableField("ZCCSSRQ") - private String zccssrq; + @TableField("ZCWBLAWS") + private String zcwblaws; - @TableField("EOPSSRQ") - private String eopssrq; + @TableField("GCWBLAWS") + private String gcwblaws; - @TableField("XGBM") - private String xgbm; + @TableField("JDWJLAWS") + private String jdwjlaws; - @TableField("ZRBM") - private String zrbm; + @TableField("FBJGLAWS") + private String fbjglaws; - @TableField("FO") - private String fo; + @TableField("CYSDLAWS") + private String cysdlaws; - @TableField("ZRLX") - private String zrlx; + @TableField("TGRLAWS") + private String tgrlaws; - @TableField("YQLX") - private String yqlx; + @TableField("TGDWLAWS") + private String tgdwlaws; - @TableField("GXHBQ") - private String gxhbq; + @TableField("NYLXLAWS") + private String nylxlaws; - @TableField("ZCGCS") - private String zcgcs; + @TableField("YYRZLAWS") + private String yyrzlaws; - @TableField("GKGLBM") - private String gkglbm; + @TableField("ZRBMLAWS") + private String zrbmlaws; - @TableField("FBJG") - private String fbjg; + @TableField("ZRGCSLAWS") + private String zrgcslaws; - @TableField("WSSFCY") - private String wssfcy; + @TableField("DTWJHLAWS") + private String dtwjhlaws; - @TableField("ZCWB") - private String zcwb; + @TableField("BDTWJHLAWS") + private String bdtwjhlaws; - @TableField("GCGJ") - private String gcgj; - - @TableField("GLWJ") - private String glwj; + @TableField("YYBZZCLAWS") + private String yybzzclaws; @TableField("XGLC") private String xglc; + @TableField("CHJLLAWS") + private String chjllaws; + + @TableField("GLWJLAWS") + private String glwjlaws; + + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/ISarLawsAttrInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/ISarLawsAttrInfoService.java index e6e1feb1..3cc07d2c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/ISarLawsAttrInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/ISarLawsAttrInfoService.java @@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarLawsAttrInfoService extends IService { + String selectFieldValByLawsId(String field,String standId); + + int updateLawsInfo(String standId,String field,String value); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/impl/SarLawsAttrInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/impl/SarLawsAttrInfoServiceImpl.java index 8aa2bd74..48ec8683 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/impl/SarLawsAttrInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrInfo/service/impl/SarLawsAttrInfoServiceImpl.java @@ -17,4 +17,13 @@ import org.springframework.stereotype.Service; @Service public class SarLawsAttrInfoServiceImpl extends ServiceImpl implements ISarLawsAttrInfoService { + @Override + public String selectFieldValByLawsId (String field,String standId) { + return this.baseMapper.selectFieldValByLawsId(field,standId); + } + + @Override + public int updateLawsInfo(String standId,String field,String value){ + return this.baseMapper.updateLawsInfo(standId,field,value); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java new file mode 100644 index 00000000..1205d921 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/controller/SarLawsFileController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsFile.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsFile|") +@RequestMapping("/sarLawsFile/sar-laws-file") +public class SarLawsFileController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java new file mode 100644 index 00000000..534dff86 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/dao/SarLawsFileDao.java @@ -0,0 +1,40 @@ +package com.adc.da.slrs.sarLawsFile.dao; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsFileDao extends BaseMapper { + + List selectFileBylawsId(String lawsId); + + List selectFileBylawsIdAndId(SarLawsFile laws); + + List selectFileByAttId(String attId); + + List selectFileMsgByAttId(String attId); + + List selectFileByResId(SarLawsFile sarBussStandFileEO); + + int deleteBylawsId(String standId); + + int insertForeach(List list); //批量新增 + + int insertSelective(SarLawsFile sarBussStandFile); + + int updateByPrimaryKeySelective(SarLawsFile sarBussStandFile); + + int deleteByPrimaryKey(String value); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java new file mode 100644 index 00000000..7cdd6112 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/entity/SarLawsFile.java @@ -0,0 +1,98 @@ +package com.adc.da.slrs.sarLawsFile.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsFile对象", description="") +public class SarLawsFile extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableField("ID") + private String id; + + @ApiModelProperty(value = "政策ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "政策文件分类") + @TableField("LAWS_FILE_CLASSIFY") + private String lawsFileClassify; + + @ApiModelProperty(value = "文件主键") + @TableField("ATT_ID") + private String attId; + + @ApiModelProperty(value = "文件名称") + @TableField("FILE_NAME") + private String fileName; + + @ApiModelProperty(value = "文件后缀") + @TableField("FILE_SUFFIX") + private String fileSuffix; + + @ApiModelProperty(value = "使用模式(SOURCE_FILE原文件,WEB_FILE转换后文件)") + @TableField("USE_MODEL") + private String useModel; + + @ApiModelProperty(value = "加密密码") + @TableField("PASSWORD") + private String password; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "转换原文件id") + @TableField("ORI_ATT_ID") + private String oriAttId; + + + @TableField(exist = false) + private List idList = new ArrayList<>(); + + @TableField(exist = false) + private String useModule; + @TableField(exist = false) + private String resId; + @TableField(exist = false) + private Integer pageCount; + @TableField(exist = false) + private String fileOldName; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java new file mode 100644 index 00000000..333c80c8 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/ISarLawsFileService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsFile.service; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsFileService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java new file mode 100644 index 00000000..5586e2af --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsFile/service/impl/SarLawsFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsFile.service.impl; + +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.adc.da.slrs.sarLawsFile.dao.SarLawsFileDao; +import com.adc.da.slrs.sarLawsFile.service.ISarLawsFileService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsFileServiceImpl extends ServiceImpl implements ISarLawsFileService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java index 7defe663..817149b8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInfo/dao/SarLawsInfoDao.java @@ -2,9 +2,12 @@ package com.adc.da.slrs.sarLawsInfo.dao; import com.adc.da.slrs.sarLawsInfo.entity.SarLawsInfo; import com.adc.da.slrs.sarLawsInfo.page.SarLawsInfoEOPage; +import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; +import java.util.Date; import java.util.List; /** @@ -15,6 +18,7 @@ import java.util.List; * @author super_liu * @since 2021-06-01 */ +@Repository public interface SarLawsInfoDao extends BaseMapper { Integer selectLawsColumn(@Param("columnName") String columnName); @@ -22,4 +26,85 @@ public interface SarLawsInfoDao extends BaseMapper { List queryByPage(SarLawsInfoEOPage page); Integer queryByCount(SarLawsInfoEOPage page); + + /** + * @return com.adc.da.lawss.entity.SarLawsInfo + * @Author yangxuenan + * @Description 通过id查询详细信息 + * Date 2018/9/21 16:42 + * @Param [id] + **/ + SarLawsInfo selectInfoById(String id); + + /** + * @return java.util.List + * @Author yangxuenan + * @Description 分页查询配置法规 + * Date 2018/9/30 17:02 + * @Param [page] + **/ + List queryConfigLawsByPage(SarLawsInfoEOPage page); + + int queryConfigLawsByCount(SarLawsInfoEOPage page); + + + //liwenxuan:标准法规更新数量及清单:国内法规 + Integer selectCounterLawsCountINLAND(Date visitTime); + + //liwenxuan:标准法规更新数量及清单:国内法规All + Integer selectCounterLawsCountINLANDAll(); + + //liwenxuan:标准法规更新数量及清单:国外法规 + Integer selectCounterLawsCountFOREIGN(Date visitTime); + + //liwenxuan:标准法规更新数量及清单:国外法规All + Integer selectCounterLawsCountFOREIGNAll(); + + /** + * 功能描述: 通过文件号查询详细信息 + * + * @param: [Number] + * @return: com.adc.da.lawss.entity.SarLawsInfo + * @auther: SYT + * @date: 2018/10/11 20:34 + */ + List selectInfoByNumber(@Param("number") String number, @Param("resName") String resName, @Param("type") String type); + + + /** + * 搜索中心查询相关推荐 + * + * @param: + * @auther: gaoyan + * @date: 2018/11/10 9:22 + */ + List selectRecommendLaws(SarLawsInfoEOPage pagenew); + + List selectCloseLaws(SarLawsInfoEOPage pagenew); + + /** + * 功能描述: 查询所有小于当前时间的即将实施的条目 + * + * @param: [lawsEO] + * @return: java.util.List + * @auther: SYT + * @date: 2018/11/16 15:24 + */ + List queryByPutTimeList(SarLawsInfo lawsEO); + + int updateSarStandReplaced(SarLawsInfo lawsInfoEO); + + int updateRelacedNumByNumber(SarLawsInfoEOPage lawsInfoEO); + + List selectLawsInfoByIdAndRole(SarLawsInfoEOPage lawsEOPage); + + int queryByCountForES(SarLawsInfoEOPage lawsEOPage); + + List queryByPageForES(SarLawsInfoEOPage lawsEOPage); + + int updateByPrimaryKeyForSynchron(SarLawsInfo SarLawsInfo); + + int deleteByPrimaryKeyFlag(String id); + + SarLawsInfo selectByPrimaryKeyAndTime(SarLawsInfo lawsEO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java new file mode 100644 index 00000000..2476d097 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/controller/SarLawsItemValController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsItemVal.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsItemVal|") +@RequestMapping("/sarLawsItemVal/sar-laws-item-val") +public class SarLawsItemValController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java new file mode 100644 index 00000000..8de561b3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/dao/SarLawsItemValDao.java @@ -0,0 +1,18 @@ +package com.adc.da.slrs.sarLawsItemVal.dao; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsItemValDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java new file mode 100644 index 00000000..bda17ee6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/entity/SarLawsItemVal.java @@ -0,0 +1,59 @@ +package com.adc.da.slrs.sarLawsItemVal.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsItemVal对象", description="") +public class SarLawsItemVal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规条目ID") + @TableField("LAWS_ITEM_ID") + private String lawsItemId; + + @ApiModelProperty(value = "参数类型") + @TableField("PROPERTY_TYPE") + private String propertyType; + + @ApiModelProperty(value = "参数内容") + @TableField("PROPERTY_VAL") + private String propertyVal; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private BigDecimal validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + private LocalDateTime creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + private LocalDateTime modifyTime; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java new file mode 100644 index 00000000..db17c23b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/ISarLawsItemValService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsItemVal.service; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsItemValService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java new file mode 100644 index 00000000..5390b598 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItemVal/service/impl/SarLawsItemValServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsItemVal.service.impl; + +import com.adc.da.slrs.sarLawsItemVal.entity.SarLawsItemVal; +import com.adc.da.slrs.sarLawsItemVal.dao.SarLawsItemValDao; +import com.adc.da.slrs.sarLawsItemVal.service.ISarLawsItemValService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsItemValServiceImpl extends ServiceImpl implements ISarLawsItemValService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java index 16940b4a..5691cdc6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/dao/SarLawsItemsDao.java @@ -2,10 +2,12 @@ package com.adc.da.slrs.sarLawsItems.dao; import com.adc.da.slrs.sarLawsInfo.page.SarLawsItemsEOPage; import com.adc.da.slrs.sarLawsItems.entity.SarLawsItems; +import com.adc.da.slrs.sarStandItems.entity.FindSarItemsPageReqDTO; import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; import java.util.List; import java.util.Set; @@ -18,11 +20,16 @@ import java.util.Set; * @author super_liu * @since 2021-06-02 */ +@Repository public interface SarLawsItemsDao extends BaseMapper { + List querySarItemAndInterpretation(FindSarItemsPageReqDTO page); + Set selectClaimTypesByStandId(@Param("standId") String standId, @Param("fileType") String fileType, @Param("idList") String[] idList); Set selectSvppsByStandId(@Param("standId") String standId, @Param("fileType") String fileType, @Param("idList") String[] idList); List queryByList(SarLawsItemsEOPage page); + + int deleteByStandIdAndFileType(@Param("standId") String standId, @Param("fileType") String fileType); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/entity/SarLawsItems.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/entity/SarLawsItems.java index 830afa22..a8c25912 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/entity/SarLawsItems.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsItems/entity/SarLawsItems.java @@ -2,6 +2,8 @@ package com.adc.da.slrs.sarLawsItems.entity; import com.adc.da.base.entity.BaseEntity; import java.math.BigDecimal; + +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.util.Date; @@ -122,6 +124,16 @@ public class SarLawsItems extends BaseEntity { @TableField("FILE_TYPE") private String fileType; + @ApiModelProperty(value = "新车型实施日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("XCXSSRQLAWS") + private Date xcxssrqlaws; + + @ApiModelProperty(value = "在产车实施日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("ZCXSSRQLAWS") + private Date zcxssrqlaws; + @TableField(exist = false) private String applyArcticShow; @TableField(exist = false) @@ -155,5 +167,20 @@ public class SarLawsItems extends BaseEntity { @TableField(exist = false) private String wczrsh; + @TableField(exist = false) + private String emergyKindShow; + //新加字段 + @TableField(exist = false) + private String foUser;//FO + //新加字段带show + @TableField(exist = false) + private String oldId; + @TableField(exist = false) + private SarCompStatusInfo pgForm; + + //责任工程师 + @TableField(exist = false) + private String responsibleEngineer; + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java new file mode 100644 index 00000000..8914f59b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/controller/SarLawsMenuController.java @@ -0,0 +1,81 @@ +package com.adc.da.slrs.sarLawsMenu.controller; + + +import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; +import com.adc.da.slrs.sarLawsMenu.service.ISarLawsMenuService; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.sys.util.UUIDUtils; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsMenu|") +@RequestMapping("/${restPath}/lawss/sarLawsMenu") +public class SarLawsMenuController extends BaseController { + + @Autowired + private ISarLawsMenuService lawsMenuService; + + @Autowired + private ITsResourceService sarMenuEOService; + + @ApiOperation(value = "|SarBussStandMenuEO|修改") + @PutMapping("/removeStandInfo") +// @RequiresPermissions("lawss:sarStandMenu:update") + public ResponseMessage removeStandInfo(@RequestBody SarLawsMenu standardsInfoEO) throws Exception { + String[] idList = standardsInfoEO.getIdlist(); + int count = 0; + if(idList != null){ + for(String id : idList){ + SarLawsMenu menuEO = new SarLawsMenu(); + menuEO.setLawsId(id); + menuEO.setMenuId(standardsInfoEO.getMenuId()); + //删除所选目录下关联 + String oldMenuId = standardsInfoEO.getOldMenuId(); + if (StringUtils.isEmpty(oldMenuId)) { + oldMenuId = standardsInfoEO.getMenuId(); + } + menuEO.setOldMenuId(oldMenuId); + count += lawsMenuService.deleteByMenuId(menuEO); + //查询是否还有与其他节点的关联,若没有则增加与根节点的关联 + List getList = lawsMenuService.selectAllMenuByStandId(menuEO); + if (getList == null || getList.isEmpty()) { + // 查询根节点 + TsResource sarMenuEO = new TsResource(); + sarMenuEO.setSorDivide("LAWS_STAND"); + List getRootMenu = sarMenuEOService.queryMenuByDis(sarMenuEO); + menuEO.setMenuId(getRootMenu.get(0).getId()); + menuEO.setId(UUIDUtils.randomUUID20()); + menuEO.setValidFlag(0); + lawsMenuService.save(menuEO); + } + } + } + if(count>0){ + return Result.success("0","移除成功!",true); + } else { + return Result.error("移除失败!"); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java new file mode 100644 index 00000000..40ea0076 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/dao/SarLawsMenuDao.java @@ -0,0 +1,37 @@ +package com.adc.da.slrs.sarLawsMenu.dao; + +import com.adc.da.slrs.sarBussStandMenu.entity.NewmenuOldmenuVO; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsMenuDao extends BaseMapper { + List selectByLawsInfo(SarLawsMenu sarLawsMenuEO); + + int updateMenuidByMenuid(NewmenuOldmenuVO var1); + + List selectByLawsId(String lawsId); + + void deleteByLawsId(String lawsId); + + List selectMenuByMenuParentId(SarLawsMenu sarLawsMenuEO); + + int updateByLawsIdAndMenuId(SarLawsMenu sarLawsMenuEO); + + int deleteByLawsIdAndMenuId(SarLawsMenu sarLawsMenuEO); + + List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO); + + int deleteByMenuId(SarLawsMenu sarLawsMenuEO); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java new file mode 100644 index 00000000..357bf9bd --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenu.java @@ -0,0 +1,57 @@ +package com.adc.da.slrs.sarLawsMenu.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsMenu对象", description="") +public class SarLawsMenu extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "目录ID") + @TableField("MENU_ID") + private String menuId; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @TableField(exist = false) + private String oldMenuId; + + @TableField(exist = false) + private String[] idlist; + + @TableField(exist = false) + private List menuIds; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java new file mode 100644 index 00000000..57a5d015 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/entity/SarLawsMenuEOPage.java @@ -0,0 +1,87 @@ +package com.adc.da.slrs.sarLawsMenu.entity; + +import com.adc.da.sys.common.BasePage; + + +/** + * 功能:SAR_LAWS_MENU SarLawsMenuEOPage
+ * 作者:code generator
+ * 日期: 2018-09-03
+ * 版权所有:版权归北京卡达克数据技术中心所有。
+ */ +public class SarLawsMenuEOPage extends BasePage { + + private String validFlag; + private String validFlagOperator = "="; + private String menuId; + private String menuIdOperator = "="; + private String lawsId; + private String lawsIdOperator = "="; + private String id; + private String idOperator = "="; + + public String getValidFlag() { + return this.validFlag; + } + + public void setValidFlag(String validFlag) { + this.validFlag = validFlag; + } + + public String getValidFlagOperator() { + return this.validFlagOperator; + } + + public void setValidFlagOperator(String validFlagOperator) { + this.validFlagOperator = validFlagOperator; + } + + public String getMenuId() { + return this.menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuIdOperator() { + return this.menuIdOperator; + } + + public void setMenuIdOperator(String menuIdOperator) { + this.menuIdOperator = menuIdOperator; + } + + public String getLawsId() { + return this.lawsId; + } + + public void setLawsId(String lawsId) { + this.lawsId = lawsId; + } + + public String getLawsIdOperator() { + return this.lawsIdOperator; + } + + public void setLawsIdOperator(String lawsIdOperator) { + this.lawsIdOperator = lawsIdOperator; + } + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIdOperator() { + return this.idOperator; + } + + public void setIdOperator(String idOperator) { + this.idOperator = idOperator; + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java new file mode 100644 index 00000000..57958324 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/ISarLawsMenuService.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.sarLawsMenu.service; + +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsMenuService extends IService { + + List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO); + + int deleteByMenuId (SarLawsMenu sarStandMenuEO); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java new file mode 100644 index 00000000..717da250 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsMenu/service/impl/SarLawsMenuServiceImpl.java @@ -0,0 +1,37 @@ +package com.adc.da.slrs.sarLawsMenu.service.impl; + +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao; +import com.adc.da.slrs.sarLawsMenu.service.ISarLawsMenuService; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsMenuServiceImpl extends ServiceImpl implements ISarLawsMenuService { + + @Autowired + private ITsResourceService sarMenuEOService; + + public int deleteByMenuId (SarLawsMenu sarStandMenuEO){ + List menuIds = sarMenuEOService.getChildMenuList(sarStandMenuEO.getOldMenuId()); + sarStandMenuEO.setMenuIds(menuIds); + return this.baseMapper.deleteByMenuId(sarStandMenuEO); + } + + @Override + public List selectAllMenuByStandId(SarLawsMenu sarStandMenuEO){ + return this.baseMapper.selectAllMenuByStandId(sarStandMenuEO); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java new file mode 100644 index 00000000..d3aefe07 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/controller/SarLawsStandInfoController.java @@ -0,0 +1,304 @@ +package com.adc.da.slrs.sarLawsStandInfo.controller; + + +import com.adc.da.common.ReadExcel; +import com.adc.da.excel.poi.excel.ExcelExportUtil; +import com.adc.da.exception.AdcDaBaseException; +import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; +import com.adc.da.http.PageInfo; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandardsInfo.entity.StandardsInfoExcelVO; +import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.sys.entity.DicTypeEO; +import com.adc.da.sys.service.IDicTypeEOService; +import com.adc.da.util.utils.StringUtils; +import com.adc.da.utils.util.LawsStandExportUtil; +import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.adc.da.utils.util.StandExportUtil; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-25 +*/ +@RestController +@Api(description = "|SarLawsStandInfo|") +@RequestMapping("/${restPath}/lawss/sarLawsInfo") +public class SarLawsStandInfoController extends BaseController { + + private static final Logger logger = LoggerFactory.getLogger(SarLawsStandInfoController.class); + + @Autowired + private ISarLawsStandInfoService sarLawsInfoEOService; + + @Autowired + private IPersonCollectEOService personCollectEOService; + + @Autowired + private ITsResourceService iTsResourceService; + + + @Autowired + private ITsUserService tsUserService; + + @Autowired + private IDicTypeEOService dicTypeEOService; + + @ApiOperation(value = "|SarLawsInfoEO|分页查询") + @GetMapping("/page") + /*@RequiresPermissions("lawss:sarLawsInfo:page")*/ + public ResponseMessage> page(SarLawsStandInfoPage page) throws Exception { + if (null != page.getNowOrderBy()) { + switch (page.getNowOrderBy()) { + case 1: + page.setOrderByA("a.issueTime");//发布日期 + break; + case 2: + page.setOrderByA("SAR_LAWS_ATTR_INFO.XCXSSRQLAWS");//新车型实施日期 + break; + case 3: + page.setOrderByA("SAR_LAWS_ATTR_INFO.ZCXSSRQLAWS");//在产车实施日期 + break; + case 4: + page.setOrderByA("a.LAWS_TEXT_STATE");//文本状态 + break; + case 5: + page.setOrderByA("paixu"); + break; + case 6: + page.setOrderByA("SAR_LAWS_ATTR_INFO.SSRQ"); + break; + default: + page.setNowOrder(null); + break; + } + if (null != page.getNowOrder()) { + switch (page.getNowOrder()) { + case 1: + page.setOrder1("desc"); + break; + case 2: + page.setOrder1("asc"); + default: + page.setOrder1(null); + break; + } + } + } + + + if (com.adc.da.util.utils.StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_LAWS_ATTR_INFO"); + if (StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + + List rows = sarLawsInfoEOService.getSarStandardsInfoPage(page); + return Result.success(getPageInfo(page.getPager(), rows)); + } + + @ApiOperation(value = "|SarLawsInfoEO|分页查询") + @GetMapping("/pageLaws") + /*@RequiresPermissions("lawss:sarLawsInfo:page")*/ + public ResponseMessage> pageLaws(SarLawsStandInfoPage page) throws Exception { + if (null != page.getNowOrderBy()) { + switch (page.getNowOrderBy()) { + case 1: + page.setOrderByA("a.issueTime");//发布日期 + break; + case 2: + page.setOrderByA("SAR_LAWS_ATTR_INFO.XCXSSRQLAWS");//新车型实施日期 + break; + case 3: + page.setOrderByA("SAR_LAWS_ATTR_INFO.ZCXSSRQLAWS");//在产车实施日期 + break; + case 4: + page.setOrderByA("a.LAWS_TEXT_STATE");//文本状态 + break; + case 5: + page.setOrderByA("paixu"); + break; + case 6: + page.setOrderByA("SAR_LAWS_ATTR_INFO.SSRQ"); + break; + default: + page.setNowOrder(null); + break; + } + if (null != page.getNowOrder()) { + switch (page.getNowOrder()) { + case 1: + page.setOrder1("desc"); + break; + case 2: + page.setOrder1("asc"); + default: + page.setOrder1(null); + break; + } + } + } + + + if (com.adc.da.util.utils.StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_LAWS_ATTR_INFO"); + if (StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + + List rows = sarLawsInfoEOService.getSarStandardsInfoPageBak(page); + return Result.success(getPageInfo(page.getPager(), rows)); + } + + @ApiOperation(value = "|SarLawsStandInfo|详情") + @GetMapping("/getStandInfoById") + //@RequiresPermissions("lawss:sarStandardsInfo:get") + public ResponseMessage find(String id) throws Exception { + SarLawsStandInfo result = sarLawsInfoEOService.selectStandardsInfoByKey(id); + return Result.success(result); + } + + @ApiOperation(value = "|SarLawsStandInfo|详情") + @GetMapping("/getStandInfoUpdateById") + //@RequiresPermissions("lawss:sarStandardsInfo:get") + public ResponseMessage getStandInfoUpdateById(String id) throws Exception { + SarLawsStandInfo result = sarLawsInfoEOService.selectStandardsInfoUpdateByKey(id); + String collectId = personCollectEOService.queryCollectByUserAndId(id); + result.setCollectId(collectId); + return Result.success(result); + } + + @ApiOperation(value = "|SarLawsStandInfo|导出excel") + @GetMapping(value = "/exportStandardsInfoExcel") + public void exportStandardsInfoExcel(String exportContent, String exportType, String exportName,String userId, HttpServletResponse response, + HttpServletRequest request) throws Exception { + OutputStream os = null; + Workbook workbook = null; + try { + if(StringUtils.isEmpty(exportName)||exportName.equals("null")){ + exportName="政策库"; + } + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx",request)); + response.setContentType("application/force-download"); + // 导出所有数据 + List data = sarLawsInfoEOService.getExportData(exportType,exportContent,userId); + workbook = LawsStandExportUtil.exportDatas(data); + + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + } catch (IOException e) { + logger.error(e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } + } + + @ApiOperation(value = "|SarLawsStandInfo|确认配置标准") + @PostMapping("/saveStandardsMenu") + //@RequiresPermissions("lawss:sarBussionessStand:saveStandardsMenu") + public ResponseMessage saveStandardsMenu(@RequestBody SarLawsStandInfoPage standardsInfoEO){ + if ("wdsc".equals(standardsInfoEO.getMenuId()) || "gxhbq".equals(standardsInfoEO.getMenuId())) { + return Result.error("所选节点不支持配置标准"); + } else { + SarLawsStandInfoPage standlist = sarLawsInfoEOService.updateStandardsMenu(standardsInfoEO); + return Result.success(standardsInfoEO); + } + } + + @ApiOperation(value = "|SarLawsStandInfo|企业标准修改") + @PostMapping(value = "/updateSarLawsStandInfo") + public ResponseMessage updateSarLawsStandInfo(@RequestBody SarLawsStandInfo sarLawsStandInfo) throws Exception { + sarLawsStandInfo.setModifyTime(new Date()); + sarLawsInfoEOService.updateSarLawsStandInfo(sarLawsStandInfo); + return Result.success("","修改成功",sarLawsStandInfo); + } + + @ApiOperation(value = "|SarLawsStandInfo|删除") + @PostMapping("deleteSarLawsStandInfo") + public ResponseMessage delete(String ids) throws Exception { + SarLawsStandInfoPage sarLawsStandInfoPage = new SarLawsStandInfoPage(); + sarLawsStandInfoPage.setIdlist(ids.split(",")); + ResponseMessage result = sarLawsInfoEOService.deleteSarLawsStandInfo(sarLawsStandInfoPage); + logger.info("delete from SAR_BUSSIONESS_STAND where id = {}", ids); + return result; + } + + /** + * 新增过程中验证标准号 + * + * @param page + * @return + */ + @ApiOperation(value = "|SarLawsStandInfo|验证输入的标准号") + @PostMapping("/validateStandNumber") + //@RequiresPermissions("lawss:sarStandardsInfo:selectReplaceStandNum") + public ResponseMessage validateStandNumber(SarLawsStandInfoPage page) throws Exception { + String sortName = ""; + String standNumShow = ""; + List getDicCode = dicTypeEOService.getDicEOByDicTypeCode(page.getStandSort()); + if(getDicCode!= null && getDicCode.size()>0){ + sortName = getDicCode.get(0).getDicTypeName(); + } + if (StringUtils.isNotEmpty(page.getLawsNumber())) { + List standlist = sarLawsInfoEOService.selectStandardsByStandNumber(page.getLawsNumber()); + if (standlist.size() > 0) { + if (StringUtils.isNotEmpty(page.getId())) { + // 如果是修改,判断id是否一样 + for (int i = 0; i < standlist.size(); i++) { + if (standlist.get(i).getId().equals(page.getId())) { + continue; + } else { + return Result.error(standNumShow + "政策编号已存在"); + } + } + return Result.success(); + } else { + return Result.error(standNumShow + "政策编号已存在"); + } + } else { + return Result.success(); + } + } else { + return Result.success(); + } + } + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java new file mode 100644 index 00000000..8ca5a2a3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/dao/SarLawsStandInfoDao.java @@ -0,0 +1,30 @@ +package com.adc.da.slrs.sarLawsStandInfo.dao; + +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Repository +public interface SarLawsStandInfoDao extends BaseMapper { + + List getSarStandardsInfoPage(SarLawsStandInfoPage page); + + int getSarStandardsInfoCount(SarLawsStandInfoPage page); + + List selectStandardsInfoByKey(String id); + + List getSarStandardsExportInfo(SarLawsStandInfoPage page); + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java new file mode 100644 index 00000000..9a388dc4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfo.java @@ -0,0 +1,261 @@ +package com.adc.da.slrs.sarLawsStandInfo.entity; + +import com.adc.da.att.vo.AttFileVo; +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; + +import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; +import com.adc.da.slrs.standardSplit.entity.SarStandAttrDetailsEO; +import com.adc.da.sys.entity.DicTypeEO; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.*; + +import com.baomidou.mybatisplus.annotation.TableField; +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 oracle.sql.DATE; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsStandInfo对象", description="") +public class SarLawsStandInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "政策分类 共四级,逐级选择-配置管理中维护") + @TableField("LAWS_TYPE") + private String lawsType; + + @ApiModelProperty(value = "政策编号") + @TableField("LAWS_NUMBER") + private String lawsNumber; + + @ApiModelProperty(value = "中文名称") + @TableField("LAWS_NAME") + private String lawsName; + + @ApiModelProperty(value = "英文名称") + @TableField("LAWS_EN_NAME") + private String lawsEnName; + + @ApiModelProperty(value = "政策文号") + @TableField("LAWS_NO") + private String lawsNo; + + @ApiModelProperty(value = "发文日期") + @TableField("ISSUE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTime; + + @ApiModelProperty(value = "发文单位") + @TableField("ISSUE_COMPANY") + private String issueCompany; + + @ApiModelProperty(value = "征集意见周期-起始时间") + @TableField("COMMENT_CYCLE_START") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleStart; + + @ApiModelProperty(value = "征集意见周期-结束时间") + @TableField("COMMENT_CYCLE_END") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleEnd; + + @ApiModelProperty(value = "文件状态-配置管理中维护") + @TableField("LAWS_TEXT_STATE") + private String lawsTextState; + + @ApiModelProperty(value = "适用区域-配置管理中维护") + @TableField("LAWS_SYQY") + private String lawsSyqy; + + @ApiModelProperty(value = "适用车型-配置管理中维护") + @TableField("LAWS_SYCX") + private String lawsSycx; + + @ApiModelProperty(value = "是/否(选择否,只有政策、政策中文名称是必填项目)") + @TableField("IS_RELATE_ACCESS") + private String isRelateAccess; + + @ApiModelProperty(value = "年度-可在配置管理中维护,根据发布日期自动带入可手动修改") + @TableField("LAWS_YEAR") + private String lawsYear; + + @ApiModelProperty(value = "福田转发通知文号") + @TableField("LAWS_NOTISYNC_NUM") + private String lawsNotisyncNum; + + @ApiModelProperty(value = "信息简报 xxx期次xxx板块") + @TableField("LAWS_BULLETIN") + private String lawsBulletin; + + @ApiModelProperty(value = "标签-可在配置管理中维护") + @TableField("LAWS_LABEL") + private String lawsLabel; + + @ApiModelProperty(value = "备注") + @TableField("LAWS_REMARK") + private String lawsRemark; + + @ApiModelProperty(value = "国家地区") + @TableField("COUNTRY") + private String country; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private Long param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + // 非表字段 + @ApiModelProperty(value = "代替文件号") + @TableField(exist = false) + private String replaceFileNum; + + @ApiModelProperty(value = "被代替文件号") + @TableField(exist = false) + private String replacedFileNum; + + @TableField(exist = false) + private String processNum;//流程编号 + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String firstPutTime; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTimeShow; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTimeShow; + + @TableField(exist = false) + private String issueTimeStr; + + @TableField(exist = false) + private String putTimeStr; + + //目录ID 非标准信息表中的字段 + @TableField(exist = false) + private String menuId; + + @TableField(exist = false) + private String menuParentId; + + @TableField(exist = false) + private String standStatusShow; // 标准状态下拉框 --单选 + + @TableField(exist = false) + private String standNatrueShow; + + @TableField(exist = false) + private String standSortShow; + + @TableField(exist = false) + private String applyCountryShow; + + @TableField(exist = false) + private List standFileList = new ArrayList(); + + @TableField(exist = false) + private List opinionFilesList = new ArrayList(); + + @TableField(exist = false) + private List relevanceFileList = new ArrayList(); + + @TableField(exist = false) + private String collectId; + + //文件的类型 + @TableField(exist = false) + private String standFileClassify; + + //文件的下载id + @TableField(exist = false) + private String attId; + + //记录是否修改了替代文件号 + @TableField(exist = false) + private int upReplaceNumFlag; + //记录是否修改了文件号 + @TableField(exist = false) + private int upNumFlag; + // 数据库新加的字段 + + @TableField(exist = false) + private String remark;//备注 + + @TableField(exist = false) + private Map attrInfoMap = new LinkedHashMap<>(); //属性表字段与值 + + @TableField(exist = false) + private Map attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染 + + @TableField(exist = false) + private String sarStandAttrEOStr; //新增修改时属性表信息 + + @TableField(exist = false) + private String fileIds; //全部文件ID + + @TableField(exist = false) + private List attrInfoList = new ArrayList<>(); + + @TableField(exist = false) + private String standTextStatusShow; // 标准文本状态显示名称 + // 以下为非表中字段 + @TableField(exist = false) + private String countryShow; //国家地区显示名称 + @TableField(exist = false) + private String standStateShow; // 标准状态显示名称 + @TableField(exist = false) + private String standNatureShow; // 标准性质显示名称 + @TableField(exist = false) + private List dicTypeList = new ArrayList(); // 记录标准涉及到的所有数据字典数据 + + @TableField(exist = false) + private List itemsList = new ArrayList<>(); + @ApiModelProperty(value = "分解单条款内容") + @TableField(exist = false) + private Map mapItems = new TreeMap<>(); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java new file mode 100644 index 00000000..897dbaad --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/entity/SarLawsStandInfoPage.java @@ -0,0 +1,277 @@ +package com.adc.da.slrs.sarLawsStandInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.base.page.BasePage; +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 oracle.sql.DATE; + +import java.util.Date; +import java.util.List; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Data +public class SarLawsStandInfoPage extends BasePage { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "政策分类 共四级,逐级选择-配置管理中维护") + private String lawsType; + + @ApiModelProperty(value = "政策编号") + private String lawsNumber; + + @ApiModelProperty(value = "中文名称") + private String lawsName; + + @ApiModelProperty(value = "英文名称") + private String lawsEnName; + + @ApiModelProperty(value = "政策文号") + private String lawsNo; + + @ApiModelProperty(value = "发文日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTime; + + @ApiModelProperty(value = "发文单位") + private String issueCompany; + + @ApiModelProperty(value = "征集意见周期-起始时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleStart; + + @ApiModelProperty(value = "征集意见周期-结束时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String commentCycleEnd; + + @ApiModelProperty(value = "文件状态-配置管理中维护") + private String lawsTextState; + + @ApiModelProperty(value = "适用区域-配置管理中维护") + private String lawsSyqy; + + @ApiModelProperty(value = "适用车型-配置管理中维护") + private String lawsSycx; + + @ApiModelProperty(value = "是/否(选择否,只有政策、政策中文名称是必填项目)") + private String isRelateAccess; + + @ApiModelProperty(value = "年度-可在配置管理中维护,根据发布日期自动带入可手动修改") + private String lawsYear; + + @ApiModelProperty(value = "福田转发通知文号") + private String lawsNotisyncNum; + + @ApiModelProperty(value = "信息简报 xxx期次xxx板块") + private String lawsBulletin; + + @ApiModelProperty(value = "标签-可在配置管理中维护") + private String lawsLabel; + + @ApiModelProperty(value = "备注") + private String lawsRemark; + + @ApiModelProperty(value = "国家地区") + private String country; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + private String validFlag; + + @ApiModelProperty(value = "创建时间") + private String creationTime; + + @ApiModelProperty(value = "修改时间") + private String modifyTime; + + @ApiModelProperty(value = "参数1") + private String param1; + + @ApiModelProperty(value = "参数2") + private String param2; + + private String[] commentCycleDate; + private String modifyTime1; + private String modifyTime2; + private String modifyTimeOperator = "="; + private String creationTime1; + private String creationTime2; + private String creationTimeOperator = "="; + private String validFlagOperator = "="; + private String putUser; + private String putUserOperator = "="; + private String citationUser; + private String citationUserOperator = "="; + private String responsibleUnit; + private String responsibleUnitOperator = "="; + private String standFile; + private String standFileOperator = "="; + private String tags; + private String tagsOperator = "="; + private String standStatus; + private String standStatusOperator = "="; + private String replacedStandNum; + private String replacedStandNumOperator = "="; + private String replaceStandNum; + private String replaceStandNumOperator = "="; + private String quoteStand; + private String quoteStandOperator = "="; + private String firstPutTime; + private String firstPutTime1; + private String firstPutTime2; + private String firstPutTimeOperator = "="; + private String putYear; + private String putYear1; + private String putYear2; + private String putYearOperator = "="; + private String putTime; + private String putTime1; + private String putTime2; + private String putTimeOperator = "="; + private String issueTime1; + private String issueTime2; + private String issueTimeOperator = "="; + private String energyKind; + private String energyKindOperator = "="; + private String applyArctic; + private String applyArcticOperator = "="; + private String standEnName; + private String standEnNameOperator = "="; + private String standName; + private String standNameOperator = "="; + private String standCode; + private String standCodeOperator = "="; + private String classifyCode; + private String classifyCodeOperator = "="; + private String standSubclass; + private String standSubclassOperator = "="; + private String standGenera; + private String standGeneraOperator = "="; + private String idOperator = "="; + private String menuId; + private List menuIdList; + private String[] idlist; + //为了在sql中区分修改操作 + private String updateFlag; + // 数据库新增字段 + private String applyCountry; + private String standYear; + private String applyCountryOperator = "="; + private String standNature; + private String standNatureOperator = "="; + private String synopsis; + private String synopsisOperator = "="; + private String standSort; + private String standSortOperator = "="; + private String opinionFile; + private String opinionFileOperator = "="; + private String relevanceFile; + private String relevanceFileOperator = "="; + private String remark; + private String remarkOperator = "="; + + private List roleIds; + private String rootMenuId; + private String orgName; + private List menuRoleList; + private String[] replacedStandNumList; + private String numberName; + + // 树结构增加搜索条件 + private String collectMenuId; + private String advanceSearchVOStr; + private String advanceSearchStr; + private List menuAllChildrenIdList; + private String userId; + + private String zqcrId; + + private String textStatusBuss; + + // 新增字段 + private String FZRQBUSS; + private String FSRQBUSS; + private String FBGBUSS; + private String BZSMBUSS; + private String LSBBBUSS; + private String QTWJBUSS; + private String QCDW; + private String QCRBUSS; + private String WJSCRYBUSS; + private String SYCXCLASS; + private String NYLXCLASS; + private String SYCPXCLASS; + private String TXLBBUSS; + private String VPPSBMBUSS; + private String VPPSCNBUSS; + private String DTQBBHBUSS; + private String BDTQBBHBUSS; + private String XGJLBUSS; + private String XGLC; + private String GLWJBUSS; + private String XCSJBUSS; + + private String SSRQLAWS; + private String XCXSSRQLAWS; + private String ZCXSSRQLAWS; + private String ZCWBLAWS; + private String GCWBLAWS; + private String JDWJLAWS; + private String FBJGLAWS; + private String CYSDLAWS; + private String TGRLAWS; + private String TGDWLAWS; + private String NYLXLAWS; + private String YYRZLAWS; + private String ZRBMLAWS; + private String ZRGCSLAWS; + private String DTWJHLAWS; + private String BDTWJHLAWS; + private String YYBZZCLAWS; + private String CHJLLAWS; + private String GLWJLAWS; + + + //页面排序 + private String paixu; + private String shunxu; + private String sql; + + // 树结构增加搜索条件 + @TableField(exist = false) + private String labelMenuId; + @TableField(exist = false) + private String ids; + @TableField(exist = false) + private String proType; + @TableField(exist = false) + private Integer nowOrder; + @TableField(exist = false) + private Integer nowOrderBy; + @TableField(exist = false) + private String orderByA = "a.issue_time"; + @TableField(exist = false) + private String orderBy1 = "SAR_LAWS_STAND_INFO.issue_time"; + @TableField(exist = false) + private String order1 = "desc"; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java new file mode 100644 index 00000000..a4a7b022 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/ISarLawsStandInfoService.java @@ -0,0 +1,45 @@ +package com.adc.da.slrs.sarLawsStandInfo.service; + +import com.adc.da.http.ResponseMessage; +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +public interface ISarLawsStandInfoService extends IService { + + void createSarStandardsInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception; + + void attrInfoDetails (SarLawsStandInfo row) throws Exception; + + List selectStandardsByStandNumber(String replaceStandNum); + + ResponseMessage deleteSarLawsStandInfo(SarLawsStandInfoPage page) throws Exception; + + SarLawsStandInfo updateSarLawsStandInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception; + + SarLawsStandInfoPage updateStandardsMenu(SarLawsStandInfoPage standardsInfoEO); + + List getExportData(String exportType, String exportContent,String userId) throws Exception; + + List getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception; + + List getSarStandardsInfoPageBak(SarLawsStandInfoPage page) throws Exception; + + SarLawsStandInfo selectStandardsInfoByKey(String id) throws Exception; + + SarLawsStandInfo selectStandardsInfoUpdateByKey(String id) throws Exception; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java new file mode 100644 index 00000000..0033955a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java @@ -0,0 +1,1116 @@ +package com.adc.da.slrs.sarLawsStandInfo.service.impl; + +import com.adc.da.att.entity.AttFileEO; +import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.common.SarStandStateEnum; +import com.adc.da.common.SarTypeEnum; +import com.adc.da.common.SelectionTypeEnum; +import com.adc.da.common.UseModuleEnum; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.login.util.UserUtils; +import com.adc.da.mq.CreateMQService; +import com.adc.da.mq.CreateStandMQService; +import com.adc.da.person.dao.PersonCollectEODao; +import com.adc.da.person.entity.TsPersonCollect; +import com.adc.da.person.page.PersonCollectEOPage; +import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.search.entity.StandLawsEO; +import com.adc.da.search.service.StandLawsSearchService; +import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; +import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; +import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; +import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao; +import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao; +import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; +import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; +import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; +import com.adc.da.slrs.sarLawsAttrInfo.dao.SarLawsAttrInfoDao; +import com.adc.da.slrs.sarLawsAttrInfo.entity.SarLawsAttrInfo; +import com.adc.da.slrs.sarLawsFile.dao.SarLawsFileDao; +import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile; +import com.adc.da.slrs.sarLawsInfo.dao.SarLawsInfoDao; +import com.adc.da.slrs.sarLawsItems.dao.SarLawsItemsDao; +import com.adc.da.slrs.sarLawsItems.entity.SarLawsItems; +import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao; +import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; +import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService; +import com.adc.da.slrs.sarLawsVal.dao.SarLawsValDao; +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandItems.entity.FindSarItemsPageReqDTO; +import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; +import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; +import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.constant.ValueStateEnum; +import com.adc.da.sys.dao.DicTypeEODao; +import com.adc.da.sys.util.LoginUserUtil; +import com.adc.da.util.UUIDUtils; +import com.adc.da.utils.util.FieldConvertUtil; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import net.sf.json.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.json.JSONTokener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.sql.Clob; +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-25 + */ +@Service +public class SarLawsStandInfoServiceImpl extends ServiceImpl implements ISarLawsStandInfoService { + + + @Value("${elas.flag}") + private boolean elasflag; //ES是否启用 + + @Value("${file.path}") + private String filePath;//文件存储路径 + + @Autowired + private IPersonCollectEOService personCollectEOService; + + @Autowired + private ITsResourceService iTsResourceService; + + @Autowired + private ITsUserService tsUserService; + + @Autowired + private IAttFileEOService attFileEOService; + + @Autowired + private DicTypeEODao dicTypeEODao; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private SarLawsMenuDao sarLawsMenuDao; + + @Autowired + private OtConvertMqDao otConvertEODao; + + @Autowired + private CreateMQService convertMq; + + @Autowired + private SarLawsValDao sarBussStandValEODao; + + @Autowired + private SarLawsFileDao sarBussStandFileEODao; + + @Autowired + private CreateStandMQService createStandMQService; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + + @Autowired + private ITsResourceService sarMenuEOService; + + @Autowired + private PersonCollectEODao personCollectEODao; + + @Autowired + private SarLawsAttrInfoDao sarLawsAttrInfoDao; + + @Autowired + private SarLawsItemsDao sarLawsItemsDao; + + @Autowired + private StandLawsSearchService standLawsSearchService; + + @Override + public List getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception { + //查询当前登录人角色拥有权限的菜单 + String userId = UserUtils.getUserId(); + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(userId)){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(userId); + if (!getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + Integer rowCount = this.baseMapper.getSarStandardsInfoCount(page); + page.getPager().setRowCount(rowCount); + List rows = this.baseMapper.getSarStandardsInfoPage(page); + attrInfoCollect(rows); + return rows; + } + + @Override + public List getSarStandardsInfoPageBak(SarLawsStandInfoPage page) throws Exception { + //查询当前登录人角色拥有权限的菜单 + String userId = UserUtils.getUserId(); + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(userId)){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(userId); + if (!getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(userId); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + Integer rowCount = this.baseMapper.getSarStandardsInfoCount(page); + page.getPager().setRowCount(rowCount); + List rows = this.baseMapper.getSarStandardsInfoPage(page); + attrInfo(rows); + return rows; + } + + + /*** + * @Description: 处理属性表数据 + * @Param: [sarlist] + * @Return: void + */ + public void attrInfo (List sarlist) throws Exception { + for(SarLawsStandInfo row : sarlist){ + attrInfoDetails(row); + } + } + + public void attrInfoCollect (List sarlist) throws Exception { + List collectResIds = sarlist.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList()); + Map collectMap = personCollectEOService.queryCollectByUserAndIds(collectResIds); + for (SarLawsStandInfo row : sarlist) { + if(collectMap != null && collectMap.get(row.getId()) != null){ + row.setCollectId(collectMap.get(row.getId())); + } + } + } + + + @Override + public SarLawsStandInfo selectStandardsInfoByKey(String id) throws Exception{ + List sarLawsStandInfoList = this.baseMapper.selectStandardsInfoByKey(id); + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + if(!sarLawsStandInfoList.isEmpty()) { + List newStandList = new ArrayList<>(); + newStandList.add(sarLawsStandInfoList.get(0)); + attrInfoShowDetails(newStandList); + sarLawsStandInfo = newStandList.get(0); + } + return sarLawsStandInfo; + } + + @Override + public SarLawsStandInfo selectStandardsInfoUpdateByKey(String id) throws Exception{ + List sarLawsStandInfoList = this.baseMapper.selectStandardsInfoByKey(id); + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + if(!sarLawsStandInfoList.isEmpty()) { + List newStandList = new ArrayList<>(); + newStandList.add(sarLawsStandInfoList.get(0)); + attrInfo(newStandList); + sarLawsStandInfo = newStandList.get(0); + } + return sarLawsStandInfo; + } + + public void attrInfoDetails (SarLawsStandInfo row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo,row.getId()); + if (InitStandAttrUtil.clobFieldListLaws != null && !InitStandAttrUtil.clobFieldListLaws.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldListLaws) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField,fieldValue); + } + } + // 组织机构和人员 + Map newMap = new HashMap<>(); + if(getAttrMap != null){ + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + Object value1 = entry.getValue(); + if (value1 != null && value1.toString().equals("\"null\"")){ + entry.setValue(""); + } + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + String value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getOrgNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getUserNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + value = sysInfoEOService.getRoleNamesByIds(value); + newMap.put(name + "Name",value); + } + } + } + getAttrMap.putAll(newMap); + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + + row.setAttrInfoMap(getAttrMap); + } + } + + public void attrInfoDetailsExport (SarLawsStandInfo row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo,row.getId()); + if (InitStandAttrUtil.clobFieldListLaws != null && !InitStandAttrUtil.clobFieldListLaws.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldListLaws) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField,fieldValue); + } + } + // 组织机构和人员 + Map newMap = new HashMap<>(); + if(getAttrMap != null){ + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + Object value1 = entry.getValue(); + if (value1 != null && value1.toString().equals("\"null\"")){ + entry.setValue(""); + } + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + String value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getOrgNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getUserNamesByIds(value); + newMap.put(name + "Name",value); + } else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + value = sysInfoEOService.getRoleNamesByIds(value); + newMap.put(name + "Name",value); + } + } + } + getAttrMap.putAll(newMap); + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + + row.setAttrInfoMap(getAttrMap); + } + } + + private Map transformUpperCase(Map orgMap) { + Map resultMap = new HashMap<>(); + + for (Map.Entry entry : orgMap.entrySet()) { + String newKey = entry.getKey().toLowerCase(); + resultMap.put(newKey, orgMap.get(entry.getKey())); + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && !InitStandAttrUtil.fileFieldListLaws.isEmpty() && InitStandAttrUtil.fileFieldListLaws.contains(entry.getKey())) { + String value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + if(!fileObj.isEmpty()){ + resultMap.put(newKey + "Name", fileObj.get(0).getOldFileName()); + } + } + } + } + + return resultMap; + } + + public void attrInfoShowDetails(List sarlist) throws Exception { + for (SarLawsStandInfo row : sarlist) { + attrInfoDetails(row); + Map getAttrMap = row.getAttrInfoMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + }else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + entry.setValue(value); + } + } + } + } + } + + @Override + public List getExportData(String exportType, String exportContent,String userId) throws Exception { + SarLawsStandInfoPage page = new SarLawsStandInfoPage(); + if ("apart".equals(exportType)) { + page.setIdlist(exportContent.split(",")); + } else { + JSONObject jsonObject = JSONObject.fromObject(exportContent); + page = (SarLawsStandInfoPage)JSONObject.toBean(jsonObject, SarLawsStandInfoPage.class); + page.setPage(1); + page.setPageSize(10000); + //查询当前登录人角色拥有权限的菜单 + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(page.getUserId()); + if (getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = com.alibaba.fastjson.JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList,"SAR_LAWS_ATTR_INFO"); + if (com.adc.da.util.utils.StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + } +// page.setOrderBy("SAR_LAWS_ATTR_INFO.issue_time is null,SAR_LAWS_ATTR_INFO.issue_time desc,SAR_LAWS_ATTR_INFO.id"); + if(userId != null){ + page.setUserId(userId); + }else { + page.setUserId(LoginUserUtil.getUserId()); + } + List rows = this.baseMapper.getSarStandardsExportInfo(page); + attrInfoShowExport(rows); + return rows; + } + + public void attrInfoShow (List sarlist) throws Exception { + for(SarLawsStandInfo row : sarlist){ + attrInfoDetails(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if("ZYQCR".equals(name)||"QTQCR".equals(name)){ + if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + }else{ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips",svppsTip); + } + } + } + + public void attrInfoShowExport (List sarlist) throws Exception { + for(SarLawsStandInfo row : sarlist){ + attrInfoDetailsExport(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if("ZYQCR".equals(name)||"QTQCR".equals(name)){ + if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + }else{ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips",svppsTip); + } + } + } + + @Override + public SarLawsStandInfoPage updateStandardsMenu(SarLawsStandInfoPage standardsInfoEO) { + SarLawsMenu sarStandMenuEO = new SarLawsMenu(); + String nowMenuId = standardsInfoEO.getMenuId(); + sarStandMenuEO.setMenuId(nowMenuId); + for (int i = 0; i < standardsInfoEO.getIdlist().length; i++) { + sarStandMenuEO.setLawsId(standardsInfoEO.getIdlist()[i]); + sarStandMenuEO.setId(null); + sarStandMenuEO.setValidFlag(0); + // 根据当前目录查询所在父节点 + String secondLevelId = ""; + List getMenuPIds = iTsResourceService.getParentMenuId(nowMenuId); + if (getMenuPIds != null && getMenuPIds.size() > 1) { + int idSize = getMenuPIds.size(); + secondLevelId = getMenuPIds.get(idSize-1); + } else { + secondLevelId = nowMenuId; + } + //查询标准是否已在 当前父节点中 + SarLawsMenu standMenuEOQuery = new SarLawsMenu(); + standMenuEOQuery.setMenuId(secondLevelId); + standMenuEOQuery.setLawsId(standardsInfoEO.getIdlist()[i]); + List menuIds = iTsResourceService.getChildMenuList(secondLevelId); + standMenuEOQuery.setMenuIds(menuIds); + List getInfo = sarLawsMenuDao.selectMenuByMenuParentId(standMenuEOQuery); + //删除节点与根节点的关联 + SarLawsMenu sarStandMenuDel = new SarLawsMenu(); + sarStandMenuDel.setLawsId(standardsInfoEO.getIdlist()[i]); + sarStandMenuDel.setMenuId(standardsInfoEO.getRootMenuId()); + sarLawsMenuDao.deleteByLawsIdAndMenuId(sarStandMenuDel); + if (getInfo == null || getInfo.isEmpty()) { + sarStandMenuEO.setId(UUIDUtils.randomUUID20()); + sarLawsMenuDao.insert(sarStandMenuEO); + } else { + sarStandMenuEO.setOldMenuId(secondLevelId); + List menuOldIds = iTsResourceService.getChildMenuList(secondLevelId); + sarStandMenuEO.setMenuIds(menuOldIds); + sarLawsMenuDao.updateByLawsIdAndMenuId(sarStandMenuEO); + } + } + return standardsInfoEO; + } + + public SarLawsStandInfo updateSarLawsStandInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception { + String standId = sarLawsStandInfo.getId(); + SarLawsStandInfo beforeStandEO = this.baseMapper.selectById(standId); + if(beforeStandEO!=null){ + attrInfoDetails(beforeStandEO); + } + //规范性引用文件,如有数据,删除以前关联 + int resultCount = this.baseMapper.updateById(sarLawsStandInfo); + if (resultCount >= 1) { + // 修改属性表数据 + sarLawsAttrInfoDao.deleteLawsAttrByStandId(standId); + + // + sarBussStandValEODao.deleteDataBylawsId(standId); + + //删除文件详情表数据 + sarBussStandFileEODao.deleteBylawsId(standId); + SarLawsFile sarBussStandFileEO = new SarLawsFile(); + sarBussStandFileEO.setLawsId(standId); + sarBussStandFileEO.setIdList(null); + List listFile = sarBussStandFileEODao.selectFileBylawsIdAndId(sarBussStandFileEO); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } + createStandAttrInfo(sarLawsStandInfo); + // 根据代替标准号 ,修改代替标准号标准中的,被代替标准号 +// updateReplaceConnect(sarLawsStandInfo); + updateCiteStand(sarLawsStandInfo, null, "DTWJHLAWS", "BDTWJHLAWS"); + + //修改收藏分享编号名称 + updateCollectAndShare(sarLawsStandInfo); + // 记录修改日志 + saveUpdateLog(sarLawsStandInfo,beforeStandEO); + if (elasflag) { + attrInfoShowSearchDetails(sarLawsStandInfo,"upd"); + createStandMQService.sendLawsMQ(sarLawsStandInfo, "update"); + } + } + return sarLawsStandInfo; + } + + public void attrInfoShowSearchDetails(SarLawsStandInfo row,String type) throws Exception { + if (row != null) { + attrInfoSearchDetails(row,type); + Map getAttrMap = row.getAttrInfoCaseMap(); + if (getAttrMap != null && getAttrMap.size() > 0) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey().toUpperCase(); + String value = ""; + List valArr = new ArrayList<>(); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { + if(StringUtils.isNotBlank(entry.getValue().toString())){ + Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); + }else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if(!valArr.isEmpty()){ + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + } + entry.setValue(value); + } + } + } + } + } + + public void attrInfoSearchDetails(SarLawsStandInfo row,String type) throws Exception { + String fieldInfo = InitStandAttrUtil.queryFieldLaws; + String collectId = personCollectEOService.queryCollectByUserAndId(row.getId()); + row.setCollectId(collectId); + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = new TreeMap<>(); + if(type.equals("add")){ + String sarStandAttrEOStr = row.getSarStandAttrEOStr(); + getAttrMap = JSONObject.fromObject(sarStandAttrEOStr); + }else { + getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo, row.getId()); + } + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + +// row.setAttrInfoMap(getAttrMap); + } + } + + public void saveUpdateLog(SarLawsStandInfo sarStandardsInfoEO,SarLawsStandInfo beforeSarStandardsInfo) throws Exception{ + Map newMap = new HashMap<>(); + Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); + String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr(); + if (StringUtils.isNotBlank(attrStr)) { + newMap = JSONObject.fromObject(attrStr); + } + newMap = changeMap(sarStandardsInfoEO,newMap); + oldMap = changeMap(beforeSarStandardsInfo,oldMap); + String sortName = sysInfoEOService.getDicNamesByCodes(sarStandardsInfoEO.getLawsType()); + String number = sortName + " " + sarStandardsInfoEO.getLawsNumber(); + String content = number + " 《" + sarStandardsInfoEO.getLawsName()+" " + sarStandardsInfoEO.getLawsEnName() + "》"; + sarUpdLogEOService.createUpdateLog(SarTypeEnum.BUSINESS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content); + } + + public Map changeMap (SarLawsStandInfo sarStandardsInfoEO,Map map) { +// map.put("country",verifyObj(sarStandardsInfoEO.getApplyCountry())); + map.put("lawsType",verifyObj(sarStandardsInfoEO.getLawsType())); + map.put("lawsNumber",verifyObj(sarStandardsInfoEO.getLawsNumber())); + map.put("lawsName",verifyObj(sarStandardsInfoEO.getLawsName())); + map.put("lawsEnName",verifyObj(sarStandardsInfoEO.getLawsEnName())); + map.put("lawsNo",verifyObj(sarStandardsInfoEO.getLawsNo())); + return map; + } + + private Object verifyObj(Object str){ + return str == null ? "" : str; + } + + public void updateCollectAndShare(SarLawsStandInfo sarLawsStandInfo) throws Exception { + //修改收藏表中 + String number = sarLawsStandInfo.getLawsNumber()+ ")"; + PersonCollectEOPage personCollectEOPage = new PersonCollectEOPage(); + personCollectEOPage.setValidFlag("0"); + personCollectEOPage.setCollectResId(sarLawsStandInfo.getId()); + List listCollect = personCollectEOService.queryByList(personCollectEOPage); + if (listCollect != null && listCollect.size() > 0) { + for (TsPersonCollect getCollect : listCollect) { + TsPersonCollect collectEO = new TsPersonCollect(); + collectEO.setId(getCollect.getId()); + collectEO.setCollectTitle(sarLawsStandInfo.getLawsName() + " " + "( 编号:" + number); + personCollectEOService.updateByPrimaryKeySelective(collectEO); + } + } + } + + /*** + * @Description: 新增属性表数据 + * @Date: 2020/9/8 9:53 + * @Param: [sarStandardsInfoEO] + * @Return: void + */ + public void createStandAttrInfo (SarLawsStandInfo sarBussionessStandEO) throws Exception { + String sarStandAttrEOStr = sarBussionessStandEO.getSarStandAttrEOStr(); + String mustFields = FieldConvertUtil.mustFieldsLaws; + String mustValues = FieldConvertUtil.mustValues(sarBussionessStandEO.getId()); + // 将字符串转为map进行解析 + Map sarStandAttrMap = JSONObject.fromObject(sarStandAttrEOStr); + StringBuilder fieldsBuilder = new StringBuilder(); + StringBuilder valuesBuilder = new StringBuilder(); + Map selectionMap = new HashMap<>(); + Map fileMap = new HashMap<>(); + Map multiTimeMap = new HashMap<>(); + String fileIds = ""; + for (Map.Entry entry : sarStandAttrMap.entrySet()) { + String attrKey = entry.getKey(); + String attrValue = String.valueOf(entry.getValue()); + if (InitStandAttrUtil.queryFieldListLaws != null && !InitStandAttrUtil.queryFieldListLaws.isEmpty()) { + if (InitStandAttrUtil.queryFieldListLaws.contains(attrKey)) { + fieldsBuilder.append("," + attrKey); + if ("DTWJHLAWS".equals(attrKey)) { + sarBussionessStandEO.setReplaceFileNum(attrValue); + } + // 多选项,文件类型需要单独处理 向子表添加数据 + if (InitStandAttrUtil.selectionFieldListLaws.contains(attrKey)) { + selectionMap.put(attrKey,attrValue); + } else if (InitStandAttrUtil.fileFieldListLaws.contains(attrKey)) { + fileMap.put(attrKey,attrValue); + fileIds += attrValue + ","; + } else if (InitStandAttrUtil.multiTimeFieldList.contains(attrKey)) { + multiTimeMap.put(attrKey,attrValue); + } + // 不同类型存储数据需单独处理值 + if (InitStandAttrUtil.numFieldListLaws.contains(attrKey)) { + if (StringUtils.isBlank(attrValue)) { + attrValue = "null"; + } + } else if (InitStandAttrUtil.timeFieldListLaws.contains(attrKey)) { + attrValue = FieldConvertUtil.changeTimeValue(attrValue); + } else { + attrValue = "'" + attrValue + "'"; + } + valuesBuilder.append("," + attrValue); + sarBussionessStandEO.setFileIds(fileIds); + } + } + } + String insertField = mustFields + fieldsBuilder.toString(); + String insertValue = mustValues + valuesBuilder.toString(); + int insertRes = sarLawsAttrInfoDao.insertLawsAttr(insertField,insertValue); + if (insertRes > 0) { + // 多选项处理 + createStandVal(sarBussionessStandEO.getId(),selectionMap); + // 文件处理 + createStandFile(sarBussionessStandEO.getId(),fileMap); + // 多时间处理 +// createStandPutTime(sarBussionessStandEO.getId(),multiTimeMap); + } + } + + /*** + * @Description: 多选项处理 + * @Author: yangxuenan + * @Date: 2020/9/8 14:37 + * @Param: [sarStandardsInfoEO, selectionMap] + * @Return: void + */ + public void createStandVal (String standId,Map selectionMap) { + if (selectionMap != null && selectionMap.size() > 0) { + List standValList = new ArrayList<>(); + for (Map.Entry entry : selectionMap.entrySet()) { + String value = entry.getValue(); + String field = entry.getKey(); + if (StringUtils.isNotBlank(value)) { + String[] valArr = value.trim().split(","); + for (String val : valArr) { + SarLawsVal sarStandValEO = new SarLawsVal(); + sarStandValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarStandValEO.setCreationTime(new Date()); + sarStandValEO.setModifyTime(new Date()); + sarStandValEO.setLawsId(standId); + sarStandValEO.setId(UUIDUtils.randomUUID20()); + sarStandValEO.setPropertyType(field); + sarStandValEO.setPropertyVal(val); + standValList.add(sarStandValEO); + } + } + } + if (standValList != null && !standValList.isEmpty()) { + sarBussStandValEODao.insertForeach(standValList); + } + } + } + + /*** + * @Description: 文件处理 + * @Author: yangxuenan + * @Date: 2020/9/8 15:01 + * @Param: [standId, fileMap] + * @Return: void + */ + public void createStandFile (String standId,Map fileMap) throws Exception { + if (fileMap != null && fileMap.size() > 0) { + List standFileList = new ArrayList<>(); + for (Map.Entry entry : fileMap.entrySet()) { + String value = entry.getValue(); + String field = entry.getKey(); + if (StringUtils.isNotBlank(value)) { + List fileList = attFileEOService.getMultiFileInfos(value); + if (fileList != null && !fileList.isEmpty()) { + createStandFileAppend(standId,field,fileList,standFileList); + } + } + } + if (standFileList != null && !standFileList.isEmpty()) { + sarBussStandFileEODao.insertForeach(standFileList); + } + } + } + + public void createStandFileAppend (String standId,String field,List fileList,List standFileList) throws Exception { + for (AttFileEO fileInfo : fileList) { + SarLawsFile sarStandFileEO = new SarLawsFile(); + sarStandFileEO.setCreationUser(LoginUserUtil.getUserId()); + sarStandFileEO.setCreationTime(new Date()); + sarStandFileEO.setModifyTime(new Date()); + sarStandFileEO.setValidFlag(0); + sarStandFileEO.setLawsId(standId); //标准ID + sarStandFileEO.setUseModel(UseModuleEnum.SOURCE_FILE.getValue()); //文件使用模式 + sarStandFileEO.setId(com.adc.da.sys.util.UUIDUtils.randomUUID20()); + sarStandFileEO.setAttId(fileInfo.getId()); //文件ID + sarStandFileEO.setLawsFileClassify(field); //文件分类 + sarStandFileEO.setFileName(fileInfo.getOldFileName()); + sarStandFileEO.setFileSuffix(fileInfo.getFileSuffix()); + sarStandFileEO.setOriAttId(fileInfo.getId()); + standFileList.add(sarStandFileEO); + //文档转换 + if ("pdf".equals(fileInfo.getFileSuffix()) || "PDF".equals(fileInfo.getFileSuffix())) { + SarLawsFile newFileEO = new SarLawsFile(); + newFileEO.setCreationUser(LoginUserUtil.getUserId()); + newFileEO.setCreationTime(new Date()); + newFileEO.setModifyTime(new Date()); + newFileEO.setValidFlag(0); + newFileEO.setLawsId(standId); //标准ID + newFileEO.setId(com.adc.da.sys.util.UUIDUtils.randomUUID20()); + newFileEO.setAttId(fileInfo.getId()); //文件ID + newFileEO.setLawsFileClassify(field); //文件分类 + newFileEO.setFileName(fileInfo.getOldFileName()); + newFileEO.setFileSuffix(fileInfo.getFileSuffix()); + newFileEO.setUseModel(UseModuleEnum.WEB_FILE.getValue()); //文件使用模式 //文件名称@@@@@@@需要修改 + newFileEO.setOriAttId(fileInfo.getId()); + standFileList.add(newFileEO); + } else { + String filePath = fileInfo.getFilePath() + fileInfo.getFileName(); + OtConvertMq convert = new OtConvertMq(); + convert.setLawsId(standId); + convert.setAttId(fileInfo.getId()); + convert.setFilePath(filePath); + convert.setAddOrUp("0"); + convert.setFileSuffix(fileInfo.getFileSuffix()); + convert.setStandFileClassify(field); + convert.setConvertType(SarTypeEnum.LAWS_STAND.getValue()); + convertMq.sendMQ(convert); + } + } + } + + @Override + public ResponseMessage deleteSarLawsStandInfo(SarLawsStandInfoPage page) throws Exception { + SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); + sarLawsStandInfo.setValidFlag(1); + sarLawsStandInfo.setModifyTime(new Date()); + for (String id : page.getIdlist()) { + //删除标准表 + sarLawsStandInfo.setId(id); + this.baseMapper.updateById(sarLawsStandInfo); + // 删除标准属性表 + sarLawsAttrInfoDao.deleteLawsAttrByStandId(id); + // 删除条款 + sarLawsItemsDao.deleteByStandIdAndFileType(id,null); + //删除收藏表中数据 + personCollectEODao.deleteByResId(id); + //删除标准关联的value表 + sarBussStandValEODao.deleteDataBylawsId(id); + List listFile = sarBussStandFileEODao.selectFileBylawsId(id); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + sarBussStandFileEODao.deleteByPrimaryKey(listFile.get(f).getId()); + //删除文件信息表数据 +// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } + if(elasflag) { + //删除成功后,将索引中对应数据删除 + StandLawsEO standLawsEO = new StandLawsEO(); + standLawsEO.setId(sarLawsStandInfo.getId()); + standLawsEO.setType("laws"); + standLawsSearchService.deleteStandLawsSearch(standLawsEO); + } + + } + return Result.success("0", "删除成功", sarLawsStandInfo); + } + + public List selectStandardsByStandNumber(String replaceStandNum) { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("LAWS_NUMBER",replaceStandNum); + wrapper.eq("VALID_FLAG",0); + return this.baseMapper.selectList(wrapper); + } + + /*** + * @Description: 新增政策 + * @Return: void + */ + public void createSarStandardsInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception { + // 处理基础表信息 + sarLawsStandInfo.setId(UUIDUtils.randomUUID20()); + sarLawsStandInfo.setCreationUser(LoginUserUtil.getUserId()); + sarLawsStandInfo.setValidFlag(0); + sarLawsStandInfo.setCreationTime(new Date()); + sarLawsStandInfo.setModifyTime(new Date()); + //根据新建标准所在目录,确定此处是否需要在标准目录关联表中插入数据 + if (StringUtils.isNotEmpty(sarLawsStandInfo.getMenuId())) { + SarLawsMenu sarLawsMenu = new SarLawsMenu(); + sarLawsMenu.setLawsId(sarLawsStandInfo.getId()); + sarLawsMenu.setMenuId(sarLawsStandInfo.getMenuId()); + sarLawsMenu.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarLawsMenu.setId(UUIDUtils.randomUUID20()); + sarLawsMenuDao.insert(sarLawsMenu); + } + int insertResult = this.baseMapper.insert(sarLawsStandInfo); + if (insertResult > 0) { + // 修改属性表数据 + List standAttrInfos = sarLawsAttrInfoDao.selectList(new QueryWrapper().eq("LAWS_ID",sarLawsStandInfo.getId())); + if(!standAttrInfos.isEmpty()){ + sarLawsAttrInfoDao.deleteLawsAttrByStandId(standAttrInfos.get(0).getLawsId()); + } + //编写预警信息 +// writeWarnings(sarStandardsInfoEO); + // 处理属性表信息 + if (StringUtils.isNotBlank(sarLawsStandInfo.getSarStandAttrEOStr())) { + createStandAttrInfo(sarLawsStandInfo); + } + updateCiteStand(sarLawsStandInfo, null, "DTWJHLAWS", "BDTWJHLAWS"); +// updateCiteStand(sarLawsStandInfo, null, "BFDTBZ", "BBFDTBZ"); +// updateRelateStand(sarStandardsInfoEO, "CBBH"); + // 根据代替标准号修改被代替的标准的状态 修改为已修订状态 +// replaseStandState(sarStandardsInfoEO); + // 增加关联事件 + String number = ""; + if (StringUtils.isNotBlank(sarLawsStandInfo.getLawsNumber())) { + number = sarLawsStandInfo.getLawsNumber(); + } + String content = "入库" + number + " 《" + sarLawsStandInfo.getLawsName() + "》"; + sarUpdLogEOService.createBaseLog(sarLawsStandInfo.getId(), sarLawsStandInfo.getLawsType() + "_Laws", content); + if(elasflag) { + // 消息队列 + attrInfoShowSearchDetails(sarLawsStandInfo,"add"); + FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO(); + pageInfo.setStandId(sarLawsStandInfo.getId()); + pageInfo.setFileType("FBGBJBD"); + + /** + * SarItemVO换为sarItemVOS + * List sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo); + * .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName)); + */ + + List sarItemVOS = sarLawsItemsDao.querySarItemAndInterpretation(pageInfo); + if(!sarItemVOS.isEmpty()){ + Map collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null) + .collect(Collectors.toMap(SarLawsItems::getItemsNum, SarLawsItems::getTermsConditions)); + sarLawsStandInfo.setMapItems(collectMap); + } + createStandMQService.sendLawsMQ(sarLawsStandInfo,"add"); + } + } + } + + // 新增修改标准过程中,根据代替标准号,修改被代替标准号对应的标准 + public void updateCiteStand(SarLawsStandInfo sarLawsStandInfo, SarLawsStandInfo beforeSarStandardsInfo, String upField, String beUpedField) throws Exception { + // 记录要被代替标准号的数据 +// SarStandardsInfoEO chageEO= new SarStandardsInfoEO(); + SarLawsStandInfo sarStandardsSelectEO = new SarLawsStandInfo(); + String addStrandNumber = ""; + String beforeStrandNumber = ""; + if (StringUtils.isNotEmpty(sarLawsStandInfo.getLawsNumber())) { + addStrandNumber = sarLawsStandInfo.getLawsNumber(); + } + if (beforeSarStandardsInfo != null) { + if (StringUtils.isNotEmpty(beforeSarStandardsInfo.getLawsNumber())) { + beforeStrandNumber = beforeSarStandardsInfo.getLawsNumber(); + } + } + // 以“,”分隔查看之前是否有 ,如果有不修改,如果没有,追加修改 + String newCiteStand = ""; + if ("DTWJHLAWS".equals(upField)) { + newCiteStand = sarLawsStandInfo.getReplaceFileNum(); + } + + if (StringUtils.isNotEmpty(newCiteStand) && newCiteStand.split(",").length > 0) { + // 主要逻辑处理新增的 + String nowEOrepNums[] = newCiteStand.split(","); + for (String citeStand : nowEOrepNums) { + sarStandardsSelectEO.setLawsNumber(citeStand); + List result = selectStandardsByStandNumber(citeStand); + if (result != null && result.size() > 0) { + String standId = result.get(0).getId(); + String field = beUpedField; + String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId()); + String changeCitedStand = ""; + if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) { + String[] beforeReplacedStandNumStr = citedStand.split(","); + if (Arrays.asList(beforeReplacedStandNumStr).contains(addStrandNumber)) { + continue; + } else { + changeCitedStand = citedStand + "," + addStrandNumber; + } + } else { + changeCitedStand = addStrandNumber; + } + sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand); + } + } + // 如果id不为空,说明是修改,有逻辑删除的执行以下语句,存在之前是三项,现在修改成两项的情况 + if (null != beforeSarStandardsInfo) { + String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get(upField)); + if (StringUtils.isNotEmpty(oldCiteStand)) { + String[] beforeEOrepNums = oldCiteStand.split(","); + for (String beforeStr : beforeEOrepNums) { + // 如果再旧的中包含,在新的中没有,需要删除 + if (!Arrays.asList(nowEOrepNums).contains(beforeStr)) { + sarStandardsSelectEO.setLawsNumber(beforeStr); + List result = selectStandardsByStandNumber(beforeStr); + if (result != null && result.size() > 0) { + String standId = result.get(0).getId(); + String field = beUpedField; + String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId()); + String changeCitedStand = ""; + if (StringUtils.isNotBlank(citedStand)) { + String[] beforerepalced = citedStand.split(","); + ArrayList beforlist = new ArrayList<>(Arrays.asList(beforerepalced)); + if (beforlist.contains(beforeStrandNumber)) { + beforlist.remove(beforeStrandNumber); + changeCitedStand = StringUtils.join(beforlist.toArray(), ","); + } else { + continue; + } + sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand); + } + } + } + } + } + } + + } else { + // 如果为空,判断是否为修改 + if (null != beforeSarStandardsInfo) { + String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get("YYBJ")); + if (StringUtils.isNotEmpty(oldCiteStand)) { + String[] beforeEOrepNums = oldCiteStand.split(","); + for (String beforeStr : beforeEOrepNums) { + // 如果再旧的中包含,在新的中没有,需要删除,相关数据取第一条是因为标准号是唯一的 + sarStandardsSelectEO.setLawsNumber(beforeStr); + List result = selectStandardsByStandNumber(beforeStr); + if (result != null && result.size() > 0) { + String standId = result.get(0).getId(); + String field = "BDTWJHLAWS"; + String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId()); + String changeCitedStand = ""; + if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) { + String[] beforerepalced = citedStand.split(","); + ArrayList beforlist = new ArrayList<>(Arrays.asList(beforerepalced)); + if (beforlist.contains(beforeStrandNumber)) { + beforlist.remove(beforeStrandNumber); + changeCitedStand = org.apache.commons.lang3.StringUtils.join(beforlist.toArray(), ","); + } else { + continue; + } + sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand); + } + } + } + } + } + } + } + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java new file mode 100644 index 00000000..962f541a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/controller/SarLawsValController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.sarLawsVal.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-10-28 +*/ +@RestController +@Api(description = "|SarLawsVal|") +@RequestMapping("/sarLawsVal/sar-laws-val") +public class SarLawsValController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java new file mode 100644 index 00000000..51dc4689 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/dao/SarLawsValDao.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sarLawsVal.dao; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Repository +public interface SarLawsValDao extends BaseMapper { + + //通过标准id删除表中数据 + int deleteDataBylawsId(String standId); + + int insertForeach(List list); //批量新增 +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java new file mode 100644 index 00000000..ee02c769 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/entity/SarLawsVal.java @@ -0,0 +1,64 @@ +package com.adc.da.slrs.sarLawsVal.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarLawsVal对象", description="") +public class SarLawsVal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "法规ID") + @TableField("LAWS_ID") + private String lawsId; + + @ApiModelProperty(value = "参数类型") + @TableField("PROPERTY_TYPE") + private String propertyType; + + @ApiModelProperty(value = "参数内容") + @TableField("PROPERTY_VAL") + private String propertyVal; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @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/slrs/sarLawsVal/service/ISarLawsValService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/ISarLawsValService.java new file mode 100644 index 00000000..a4f2349f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/ISarLawsValService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarLawsVal.service; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +public interface ISarLawsValService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java new file mode 100644 index 00000000..01a90c0d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsVal/service/impl/SarLawsValServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarLawsVal.service.impl; + +import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal; +import com.adc.da.slrs.sarLawsVal.dao.SarLawsValDao; +import com.adc.da.slrs.sarLawsVal.service.ISarLawsValService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-10-28 + */ +@Service +public class SarLawsValServiceImpl extends ServiceImpl implements ISarLawsValService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java index dcbc369e..f5fc6db7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java @@ -3,13 +3,10 @@ package com.adc.da.slrs.sarModelTree.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; -import com.adc.da.slrs.sarModelTree.entity.ResponseResult; import com.adc.da.slrs.sarModelTree.service.ISarModelTreeService; import com.adc.da.slrs.sarModelTree.service.ISarModuleTreeService; -import com.adc.da.slrs.sarModelTree.service.impl.SarModuleTreeServiceImpl; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Company; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; -import com.adc.da.slrs.sarStandProjectLibrary.entity.ResponseDto; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.ResponseDto; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -42,7 +39,7 @@ public class SarModelTreeController extends BaseController { @GetMapping("/list") public ResponseMessage> getAll(){ List tsResources = iSarModelTreeService.getAll(null); -// List tsResources = iSarModuleTreeService.getAll(null); +// TODO List tsResources = iSarModuleTreeService.getAll(null); return Result.success(tsResources); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/ISarModuleTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/ISarModuleTreeService.java index a02b6e39..f84026c1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/ISarModuleTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/ISarModuleTreeService.java @@ -1,7 +1,7 @@ package com.adc.da.slrs.sarModelTree.service; import com.adc.da.slrs.sarModelTree.entity.SarModelTree; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import java.util.List; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java index 7a44d284..553be0fb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java @@ -4,7 +4,7 @@ import com.adc.da.slrs.sarModelTree.dao.SarModuleTreeDao; import com.adc.da.slrs.sarModelTree.entity.SarModelTree; import com.adc.da.slrs.sarModelTree.entity.SarModuleTree; import com.adc.da.slrs.sarModelTree.service.ISarModuleTreeService; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -25,27 +26,38 @@ public class SarModuleTreeServiceImpl extends ServiceImpl getAll(SarModelTree sarModelTree) { QueryWrapper treeQueryWrapper = new QueryWrapper<>(); treeQueryWrapper.groupBy("FTVSTYPE1"); List moduleTreeList = this.baseMapper.selectList(treeQueryWrapper); - - //把SarModuleTree类型的list集合转换为SarModelTree类型的list集合 - List sarModelTreeList = moduleTreeList.stream().map(SarModuleTree -> { - SarModelTree modelTree = new SarModelTree(); - modelTree.setId(SarModuleTree.getGuid()); - modelTree.setName(SarModuleTree.getFtvstype1()); -// modelTree.setModel("TS"+SarModuleTree.get); - return modelTree; - }).collect(Collectors.toList()); - - return sarModelTreeList; + //返回转换元素后的数组 + return listTransform(moduleTreeList); } + /** + * 根据根节点查询其所有的子节点 + * @param parent + * @return + */ @Override public List recursionGetChildren(SarModelTree parent) { + + QueryWrapper treeQueryWrapper = new QueryWrapper<>(); + treeQueryWrapper.eq("GUID",parent.getId()); + List moduleTreeList = this.baseMapper.selectList(treeQueryWrapper); + + + Map> collect = moduleTreeList.stream().collect(Collectors.groupingBy(SarModuleTree::getFtvstype1)); + collect.forEach((k, v)->{ + SarModelTree modelTree = new SarModelTree(); + //TODO 生成树型结构 +// modelTree + }); return null; } @@ -93,5 +105,25 @@ public class SarModuleTreeServiceImpl extends ServiceImpl对修改关闭,对扩展开放 + * @param moduleTreeList + * @return + */ + public List listTransform(List moduleTreeList){ + + return moduleTreeList.stream().map(SarModuleTree -> { + SarModelTree modelTree = new SarModelTree(); + modelTree.setId(SarModuleTree.getGuid()); + modelTree.setName(SarModuleTree.getFtvstype1()); + modelTree.setModel("TS" + +SarModuleTree.getFtvstype2().substring(SarModuleTree.getFtvstype2().length()-2) + +SarModuleTree.getSeriesid() + +SarModuleTree.getReserved() + +SarModuleTree.getStarted()); //"TS"+SF_ID+SE_ID+SU_ID 拼接模块编号ID + return modelTree; + }).collect(Collectors.toList()); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java index df811c59..29e87b98 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java @@ -57,6 +57,14 @@ public interface TsPositionDao extends BaseMapper { */ List selectPositionAndRole(TsPosition tsPosition); + /** + * 总数 + * @param tsPosition + * @return + */ + Integer countPositionAndRole(TsPosition tsPosition); + + /** * 通过岗位列表查询绑定的角色列表 * @param positionIds:岗位列表 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java index 0c57e382..f34b3081 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java @@ -44,9 +44,10 @@ public class TsPositionServiceImpl extends ServiceImpl getPosition(TsPosition tsPosition) { IPage page=new Page(); - - page.setTotal(tsPositionDao.pageTotal()); +// page.setTotal(tsPositionDao.pageTotal()); + page.setTotal(tsPositionDao.countPositionAndRole(tsPosition)); page.setRecords(tsPositionDao.selectPositionAndRole(tsPosition)); + page.setTotal(page.getTotal()); page.setCurrent(tsPosition.getCurrent()); page.setSize(tsPosition.getPageSize()); System.out.println(page.getTotal()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/dao/TsResourceDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/dao/TsResourceDao.java index de959ae0..223bbb93 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/dao/TsResourceDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/dao/TsResourceDao.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.sarResource.dao; import com.adc.da.slrs.sarResource.entity.TsResource; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; import java.util.HashMap; import java.util.List; @@ -14,6 +15,7 @@ import java.util.List; * @author zyl * @since 2021-06-30 */ +@Repository public interface TsResourceDao extends BaseMapper { List queryMenuByDis(TsResource sarMenuEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index d1e8776f..eda369a2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -151,6 +151,10 @@ public class TsResourceServiceImpl extends ServiceImpl list = new ArrayList<>(); + list.add("INLAND_STAND"); + list.add("FOREIGN_STAND"); + tsResourceQueryWrapper.notIn("SOR_DIVIDE",list); tsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); List TsResources=dao.selectList(tsResourceQueryWrapper); for(TsResource TsResource:TsResources){ @@ -181,7 +185,7 @@ public class TsResourceServiceImpl extends ServiceImpl */ - private List recursionGetListChildren(TsResource parent,List getMenuIdList){ + private List recursionGetListChildren(String sorDivide,TsResource parent,List getMenuIdList){ QueryWrapper TsResourceQueryWrapper=new QueryWrapper<>(); TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); - TsResourceQueryWrapper.in("ID",getMenuIdList); + if(StringUtils.isNotBlank(sorDivide)){ + if(!sorDivide.equals("INLAND_STAND") && !sorDivide.equals("FOREIGN_STAND")){ + TsResourceQueryWrapper.in("ID",getMenuIdList); + } + } TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); List children=dao.selectList(TsResourceQueryWrapper); for(TsResource TsResource:children){ - TsResource.setChildren(recursionGetListChildren((TsResource),(getMenuIdList))); + TsResource.setChildren(recursionGetListChildren((sorDivide),(TsResource),(getMenuIdList))); } return children; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java index a54e33b7..1a2c55e6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/controller/SarStandAttrDetailsController.java @@ -77,6 +77,8 @@ public class SarStandAttrDetailsController extends BaseController getLawsStandList = InitStandAttrUtil.lawsStandAttrFieldList; + resultMap.put(SarTypeEnum.LAWS_STAND.getValue(),getLawsStandList); List getInlandLawsList = InitStandAttrUtil.lawsInlandAttrFieldList; resultMap.put(SarTypeEnum.INLAND_LAWS.getValue(),getInlandLawsList); List getForeignLawsList = InitStandAttrUtil.lawsForeignAttrFieldList; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java index 464d7fb9..0923070d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrDetails/service/impl/SarStandAttrDetailsServiceImpl.java @@ -66,6 +66,7 @@ public class SarStandAttrDetailsServiceImpl extends ServiceImpl pageInfo = null; try { - pageInfo = sarStandardsInfoController.getSarStandardsInfoPage(page).getData().getList(); + pageInfo = sarStandardsInfoService.getSarStandardsInfoPageBak(page); } catch (Exception e) { e.printStackTrace(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java index b82fafa3..68ec9c77 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java @@ -2,17 +2,13 @@ package com.adc.da.slrs.sarStandProjectLibrary.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.ResponseDto; import com.adc.da.slrs.sarStandProjectLibrary.service.impl.SarStandProjectLibraryServiceImpl; -import com.adc.da.sys.util.UUIDUtils; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -21,8 +17,6 @@ import com.adc.da.base.web.BaseController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; /** *

@@ -50,7 +44,7 @@ public class SarStandProjectLibraryController extends BaseController MaintenanceList = sarStandProjectLibraryService.queryMaintenanceProject(Page,PageSize,sarDto); IPage notMaintenanceList = sarStandProjectLibraryService.queryNotMaintenanceProject(Page,PageSize,sarDto); @@ -231,13 +225,9 @@ public class SarStandProjectLibraryController extends BaseController companies = new ArrayList<>(); - ResponseDto responseDto = new ResponseDto(head,companies); - //todo 未确定返回内容 - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); + + ResponseDto responseDto = new ResponseDto(head); + return responseDto; } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java deleted file mode 100644 index 05e5c48a..00000000 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; - -import lombok.Data; - -@Data -public class Company { - private String COMPANY_CODE; - - private String FISCAL_YEAR; -} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java index 06c6a716..e48e20e0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java @@ -74,7 +74,6 @@ public class SarStandProjectLibrary extends BaseEntity { private String projectManager; @ApiModelProperty(value = "项目经理名称") - @TableField(exist = false) private String uName; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java similarity index 50% rename from adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java rename to adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java index 64cff205..679e9700 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java @@ -1,6 +1,7 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; import com.adc.da.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -24,4 +25,30 @@ public class Head extends BaseEntity { } public Head(){}; + + + @JsonProperty("BIZTRANSACTIONID") + public String getBIZTRANSACTIONID() { + return BIZTRANSACTIONID; + } + @JsonProperty("RESULT") + public String getRESULT() { + return RESULT; + } + @JsonProperty("ERRORCODE") + public String getERRORCODE() { + return ERRORCODE; + } + @JsonProperty("ERRORINFO") + public String getERRORINFO() { + return ERRORINFO; + } + @JsonProperty("COMMENTS") + public String getCOMMENTS() { + return COMMENTS; + } + @JsonProperty("SUCCESSCOUNT") + public String getSUCCESSCOUNT() { + return SUCCESSCOUNT; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java new file mode 100644 index 00000000..cab3896c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +@Data +public class MyResult { +// private String COMPANY_CODE; +// +// private String FISCAL_YEAR; + + private String msg; + + private String code; + + private boolean success; + + + public MyResult(){ + this.msg=""; + this.code=""; + this.success=true; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java similarity index 55% rename from adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java rename to adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java index 277525d9..4b020348 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java @@ -1,9 +1,10 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; -import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Data public class ResponseDto { @@ -26,12 +27,19 @@ public class ResponseDto { } public ResponseDto(Head HEAD) { - ArrayList companies = new ArrayList<>(); - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); - this.LIST=companies; + + + this.LIST=Arrays.asList(new MyResult()); this.HEAD=HEAD; } + + @JsonProperty("HEAD") + public Head getHEAD() { + return HEAD; + } + + @JsonProperty("LIST") + public List getLIST() { + return LIST; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java index d0dc5452..21feeaa7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarStandProjectLibrary.service; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java index 2632a25e..76b8ad99 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java @@ -4,6 +4,7 @@ import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; import com.adc.da.slrs.sarStandProjectLibrary.dao.SarStandProjectLibraryDao; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectLibrary.service.SarStandProjectLibraryService; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; @@ -75,25 +76,23 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl queryProjectManager(int current, int pageSize) { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("distinct product_line","sar_stand_project_library.project_manager as projectManager","s.uName"); - wrapper.last("inner join ts_user s on s.USID = sar_stand_project_library.project_manager"); + wrapper.select("product_line","s.user_id as projectManager","s.NAME AS uName"); + wrapper.last("inner join sar_stand_project_team s on s.project_code = sar_stand_project_library.project_number" + + " and sar_stand_project_library.product_line IS not NULL"); Page page = new Page<>(current, pageSize); IPage userIPage = sarStandProjectLibraryDao.selectPage(page, wrapper); System.out.println("总条数"+userIPage.getTotal()); @@ -436,6 +436,7 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl page = new Page<>(current, pageSize); IPage userIPage = new Page<>(); if (3!=flag) { + //6922 List sarStandProjectLibraries = sarStandProjectLibraryDao.selectPages(current, pageSize, wrapper, flag); Integer count = sarStandProjectLibraryDao.selectCount(wrapper, flag); userIPage.setCurrent(current); @@ -445,6 +446,7 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl sarStandProjectLibraries = sarStandProjectLibraryDao.selectPagesWorkFlow(current, pageSize, wrapper, flag); Integer count = sarStandProjectLibraryDao.selectCountWorkFlow(wrapper, flag); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java index 7017cc96..9fe8004f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java @@ -2,9 +2,8 @@ package com.adc.da.slrs.sarStandProjectTeam.controller; import com.adc.da.base.web.BaseController; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Company; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; -import com.adc.da.slrs.sarStandProjectLibrary.entity.ResponseDto; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.ResponseDto; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; import io.swagger.annotations.Api; @@ -16,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; - /** *

@@ -41,13 +38,8 @@ public class SarStandProjectTeamController extends BaseController companies = new ArrayList<>(); //todo 未确定返回内容 - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); - ResponseDto responseDto = new ResponseDto(head,companies); + ResponseDto responseDto = new ResponseDto(head); return responseDto; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java index 2c0f1731..812d17f4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java @@ -1,6 +1,6 @@ package com.adc.da.slrs.sarStandProjectTeam.service; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java index 2b56d7a3..a0aa7bc0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java @@ -1,15 +1,13 @@ package com.adc.da.slrs.sarStandProjectTeam.service.impl; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.dao.SarStandProjectTeamDao; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.gson.JsonArray; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.springframework.stereotype.Service; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java index 18fc22cd..4f8e4179 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java @@ -91,27 +91,27 @@ public class SarStandardsInfoController extends BaseController @ApiOperation(value = "|SarStandardsInfoEO|自定义分页查询") @GetMapping("/getSarStandardsInfoPage") //@RequiresPermissions("lawss:sarStandardsInfo:getSarStandardsInfoPage") - public ResponseMessage> getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception { + public ResponseMessage> getSarStandardsInfoPage(SarStandardsInfoEOPage page,@RequestParam(defaultValue = "0") String mark) throws Exception { int isNull = -1; if (null != page.getNowOrderBy()) { switch (page.getNowOrderBy()) { case 1: - page.setOrderBy1("issueTime");//发布日期 + page.setOrderByA("issueTime");//发布日期 break; case 2: - page.setOrderBy1("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期 + page.setOrderByA("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期 break; case 3: - page.setOrderBy1("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期 + page.setOrderByA("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期 break; case 4: - page.setOrderBy1("SAR_STANDARDS_INFO.text_status");//文本状态 + page.setOrderByA("SAR_STANDARDS_INFO.text_status");//文本状态 break; case 5: - page.setOrderBy1("paixu"); + page.setOrderByA("paixu"); break; case 6: - page.setOrderBy1("SAR_STAND_ATTR_INFO.SSRQ"); + page.setOrderByA("SAR_STAND_ATTR_INFO.SSRQ"); break; default: page.setNowOrder(null); @@ -183,6 +183,67 @@ public class SarStandardsInfoController extends BaseController return Result.success(getPageInfo(page.getPager(), rows)); } + @ApiOperation(value = "|SarStandardsInfoEO|自定义分页查询") + @GetMapping("/getSarStandardsInfoPageBak") + //@RequiresPermissions("lawss:sarStandardsInfo:getSarStandardsInfoPage") + public ResponseMessage> getSarStandardsInfoPageBak(SarStandardsInfoEOPage page,@RequestParam(defaultValue = "0") String mark) throws Exception { +// int isNull = -1; +// if (null != page.getNowOrderBy()) { +// switch (page.getNowOrderBy()) { +// case 1: +// page.setOrderByA("issueTime");//发布日期 +// break; +// case 2: +// page.setOrderByA("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期 +// break; +// case 3: +// page.setOrderByA("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期 +// break; +// case 4: +// page.setOrderByA("SAR_STANDARDS_INFO.text_status");//文本状态 +// break; +// case 5: +// page.setOrderByA("paixu"); +// break; +// case 6: +// page.setOrderByA("SAR_STAND_ATTR_INFO.SSRQ"); +// break; +// default: +// page.setNowOrder(null); +// break; +// } +// if (null != page.getNowOrder()) { +// switch (page.getNowOrder()) { +// case 1: +// page.setOrder1("desc"); +// break; +// case 2: +// page.setOrder1("asc"); +// default: +// page.setOrder1(null); +// break; +// } +// } +// } +// +// +// if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { +// List searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); +// String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList); +// if (StringUtils.isNotBlank(advanceStr)) { +// page.setAdvanceSearchStr(advanceStr); +// } else { +// page.setAdvanceSearchStr(null); +// } +// } +// +// if(page.getUserId() == null || page.getUserId().equals("")){ +// page.setUserId(LoginUserUtil.getUserId()); +// } + List rows = sarStandardsInfoEOService.getSarStandardsInfoPageBak(page); + return Result.success(getPageInfo(page.getPager(), rows)); + } + @ApiOperation(value = "|SarStandardsInfoEO|新增") @PostMapping("/addarStandardsInfo") //401问题2021-03-31暂时注释掉 liuhuiwen @@ -466,6 +527,14 @@ public class SarStandardsInfoController extends BaseController return Result.success(result); } + @ApiOperation(value = "|SarStandardsInfoEO|修改详情") + @GetMapping("/getStandInfoUpdateById") + //@RequiresPermissions("lawss:sarStandardsInfo:get") + public ResponseMessage findUpdateById(String id) throws Exception { + SarStandardsInfo result = sarStandardsInfoEOService.selectStandardsInfoUpdateByKey(id); + return Result.success(result); + } + @ApiOperation(value = "|SarStandardsInfoEO|确认配置标准") @PostMapping("/saveStandardsMenu") //@RequiresPermissions("lawss:sarStandardsInfo:saveStandardsMenu") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java index ec5291e7..0f5cdc58 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java @@ -199,6 +199,12 @@ public class SarStandardsInfo extends BaseEntity { private String jspg; @TableField(exist = false) private String CHJL; + @TableField(exist = false) + private String SSRQ; + @TableField(exist = false) + private String ZCCSSRQ; + @TableField(exist = false) + private String XCXSSRQ; @TableField(exist = false) private String putTime2; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfoEOPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfoEOPage.java index 7e24c346..0327acda 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfoEOPage.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfoEOPage.java @@ -84,6 +84,7 @@ public class SarStandardsInfoEOPage extends BasePage { private String productId; private Integer nowOrder; private Integer nowOrderBy; + private String orderByA = "a.issue_time"; private String orderBy1 = "SAR_STANDARDS_INFO.issue_time"; private String order1 = "desc"; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java index 290c2343..9fcbf007 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java @@ -21,6 +21,8 @@ public interface ISarStandardsInfoService extends IService { List getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception; + List getSarStandardsInfoPageBak(SarStandardsInfoEOPage page) throws Exception; + void createSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception; int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception; @@ -37,6 +39,8 @@ public interface ISarStandardsInfoService extends IService { SarStandardsInfo selectStandardsInfoByKey(String id) throws Exception; + SarStandardsInfo selectStandardsInfoUpdateByKey(String id) throws Exception; + public void attrInfoDetails (SarStandardsInfo row) throws Exception; boolean updateStandardsMenu(SarStandardsInfoEOPage standardsInfoEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 341c2033..51279907 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -1,6 +1,9 @@ package com.adc.da.slrs.sarStandardsInfo.service.impl; import com.adc.da.att.entity.AttFileEO; +import com.adc.da.slrs.sarPosition.entity.TsPosition; +import com.adc.da.slrs.sarPosition.service.ITsPositionService; +import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; import com.adc.da.common.*; @@ -69,6 +72,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.sf.json.JSONObject; +import org.apache.catalina.User; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.util.PDFTextStripper; @@ -116,6 +120,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl */ + @Override public List getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception { + //查询当前登录人角色拥有权限的菜单 + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(page.getUserId()); + if (getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + } + Integer rowCount = dao.getSarStandardsInfoCount(page); + page.getPager().setRowCount(rowCount); + List sarlist = dao.getSarStandardsInfoPage(page); + attrInfoCollect(sarlist); + return sarlist; + } + + @Override + public List getSarStandardsInfoPageBak(SarStandardsInfoEOPage page) throws Exception { //查询当前登录人角色拥有权限的菜单 if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){ QueryWrapper qw = new QueryWrapper<>(); @@ -304,6 +340,12 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl sarlist) throws Exception { + for (SarStandardsInfo row : sarlist) { + attrInfoDetails(row); + } + } + /*** * @Description: 处理属性表数据 * @Author: super_liu @@ -311,9 +353,13 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl sarlist) throws Exception { + public void attrInfoCollect(List sarlist) throws Exception { + List collectResIds = sarlist.stream().map(SarStandardsInfo::getId).collect(Collectors.toList()); + Map collectMap = personCollectEOService.queryCollectByUserAndIds(collectResIds); for (SarStandardsInfo row : sarlist) { - attrInfoDetails(row); + if(collectMap != null && collectMap.get(row.getId()) != null){ + row.setCollectId(collectMap.get(row.getId())); + } } } @@ -337,44 +383,58 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl newMap = new HashMap<>(); if (getAttrMap != null) { for (Map.Entry entry : getAttrMap.entrySet()) { - if ("EOPSSRQ".equals(entry.getKey())) { - if (entry.getValue() != null && entry.getValue().toString().length() > 10) { - String time = DateUtil.formatStrUTCToDateStr(entry.getValue().toString()); - entry.setValue(time); - } - } String name = entry.getKey(); if ("\"null\"".equals(entry.getValue())) { entry.setValue(""); } - if ("SVPPS".equals(name)) { - Set set = new HashSet(); - // 查询条款svpps - Set itemSvpps = sarStandItemsEODao.selectSvppsByStandId(row.getId(), null, null); - if (itemSvpps != null && !itemSvpps.isEmpty()) { - set.addAll(itemSvpps); + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { + String value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMap.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getOrgNamesByIds(value); + newMap.put(name + "Name", value); + } else if (SelectionTypeEnum.USERLIST.getValue().equals(selVal)) { + value = sysInfoEOService.getUserNamesByIds(value); + newMap.put(name + "Name", value); + } else if (SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + value = sysInfoEOService.getRoleNamesByIds(value); + newMap.put(name + "Name", value); } - Object value = entry.getValue(); - if (value != null && StringUtils.isNotBlank(value.toString())) { - set.addAll(Arrays.asList(value.toString().split(","))); - } - String allVal = ConcatStringUtil.concatSet(set); - if (StringUtils.isNotBlank(allVal)) { - entry.setValue(allVal); - value = sysInfoEOService.getSvppsNamesByIds(allVal); - } - newMap.put(name + "Name", value); - } else if ("YQLX".equals(name)) { - //要求类型来源于条款 - SarStandItems sarStandItemsEO = new SarStandItems(); - sarStandItemsEO.setStandId(row.getId()); - Set itemClaimType = sarStandItemsEODao.selectClaimTypesByStandId(row.getId(), null, null); - if (itemClaimType != null && itemClaimType.size() > 1) { - entry.setValue("RENVECPFGT"); - } else if (itemClaimType != null && itemClaimType.size() == 1) { - entry.setValue(itemClaimType.toArray()[0]); - } - } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { + } + } + getAttrMap.putAll(newMap); + } + + if (getAttrMap != null && !getAttrMap.isEmpty()) { + row.setAttrInfoCaseMap(transformUpperCase(getAttrMap)); + } + + row.setAttrInfoMap(getAttrMap); + } + } + + public void attrInfoDetailsExport(SarStandardsInfo row) throws Exception { + String fieldInfo = InitStandAttrUtil.queryField; + // 查询属性表数据 + if (StringUtils.isNotBlank(fieldInfo)) { + Map getAttrMap = sarStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId()); + if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { + // 遍历修改所有clob类型的值 + for (String clobField : InitStandAttrUtil.clobFieldList) { + Clob clobValue = (Clob) getAttrMap.get(clobField); + String fieldValue = FieldConvertUtil.ClobToString(clobValue); + getAttrMap.put(clobField, fieldValue); + } + } + // 组织机构和人员 + Map newMap = new HashMap<>(); + if (getAttrMap != null) { + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + if ("\"null\"".equals(entry.getValue())) { + entry.setValue(""); + } + if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { String value = entry.getValue().toString(); String selVal = InitStandAttrUtil.selectFieldMap.get(name); if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal)) { @@ -469,7 +529,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl fileObj = attFileEOService.getMultiFileInfos(value); entry.setValue(fileObj); - //以标准id和文本类型查询分解单表 有数据设标记为为 1 + //以标准id和文本类型查询分解单表 有数据设标记为为 1 FindSarItemsPageReqDTO sarItemCount = new FindSarItemsPageReqDTO(); sarItemCount.setStandId(row.getId()); sarItemCount.setFileType(name); @@ -482,7 +542,30 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { value = entry.getValue().toString(); List valArr = Arrays.asList(value.split(",")); - value = dicTypeEODao.getDicNamesByCodes(valArr); + + switch (name){ + //通过id绑定责任工程师名称 + case "ZRGCS":{ + QueryWrapper tsUserQW = new QueryWrapper<>(); + tsUserQW.select("UNAME") + .in("USID",valArr); + List stringList = tsUserService.listObjs(tsUserQW, o ->o.toString()); + value= String.join(",", stringList); + break; + } + //通过id绑定责任部门师名称 + case "ZRBM":{ + QueryWrapper tsPositionQW = new QueryWrapper<>(); + tsPositionQW.select("name") + .in("id",valArr); + List stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString()); + value = String.join(",", stringList); + break; + } + default:value = dicTypeEODao.getDicNamesByCodes(valArr); + } + + entry.setValue(value); } } @@ -568,6 +651,55 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl sarlist) throws Exception { + for (SarStandardsInfo row : sarlist) { + attrInfoDetailsExport(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if ("SVPPS".equals(name)) { + Object svpps = entry.getValue(); + if (svpps != null && StringUtils.isNotBlank(svpps.toString())) { + svppsTip = svpps.toString(); + } + if (StringUtils.isNotBlank(svppsTip)) { + svppsTip = sysInfoEOService.getSvppsNamesTipByIds(svppsTip); + } + value = String.valueOf(getAttrMap.get("SVPPSName")); + entry.setValue(value); + } else if (entry.getValue() != null && InitStandAttrUtil.fileFieldList != null && InitStandAttrUtil.fileFieldList.size() > 0 && InitStandAttrUtil.fileFieldList.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { + value = entry.getValue().toString(); + if ("GZZXX".equals(name)) { + value = sysInfoEOService.getGroupNamesByIds(value); + } else { + String selVal = InitStandAttrUtil.selectFieldMap.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if (getAttrMap.get(name + "Name") != null) { + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips", svppsTip); + } + } + } + /*** * @Description: 新增标准 @@ -603,21 +735,23 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl getMenuIdList = new ArrayList<>(); - if(standardsInfoExcelVO.getUserId() != null){ - getMenuIdList= tsUserService.getResourceUserId(standardsInfoExcelVO.getUserId()); - } - // List getMenuIdList = sarMenuEOService.queryRoleMenuIdList(page.getStandType() + "_STAND", null); - if (getMenuIdList != null && !getMenuIdList.isEmpty()) { - page.setMenuRoleList(getMenuIdList); - } else { - page.setMenuRoleList(null); - } - List ids = sarMenuEOService.getChildMenuList(page.getMenuId()); - if (ids != null && !ids.isEmpty()) { - page.setMenuAllChildrenIdList(ids); + if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ID",page.getMenuId()); + qw.isNull("PARENT_ID"); + List children = iTsResourceService.list(qw); + if(children.isEmpty() && !page.getMenuId().equals("nomenu")){ + List getMenuIdList = tsUserService.getResourceUserId(page.getUserId()); + if (getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } + List ids = iTsResourceService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } } if (org.apache.commons.lang.StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { List searchList = com.alibaba.fastjson.JSONObject.parseArray(page.getAdvanceSearchVOStr(), SarAdvanceSearchVO.class); @@ -1442,14 +1580,13 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl getList = dao.getSarStandardsExportInfo(page); - attrInfoShow(getList); + attrInfoShowExport(getList); return getList; } @@ -2126,6 +2263,30 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl resultlist = dao.selectStandardsInfoByKey(id); + SarStandardsInfo sarStandardsInfoEO = new SarStandardsInfo(); + if (resultlist.size() > 0) { + List sarStandardsInfoEOList = new ArrayList<>(); + sarStandardsInfoEOList.add(resultlist.get(0)); + attrInfo(sarStandardsInfoEOList); + sarStandardsInfoEO = sarStandardsInfoEOList.get(0); + } + // 查询纳入清单的国家地区 + if (sarStandardsInfoEO != null) { + if(sarStandardsInfoEO.getStandSystem() != null){ + SarMenuStandard menu = sarMenuStandardService.selectMenuById(sarStandardsInfoEO.getStandSystem()); + if(menu != null){ + sarStandardsInfoEO.setStandSystemName(menu.getMenuName() == null ? "" : menu.getMenuName()); + } + } + String accessCountry = sarSarAccessEOService.getCountryByRes(sarStandardsInfoEO.getId(), sarStandardsInfoEO.getStandType() + "_STAND"); + sarStandardsInfoEO.setAccessCountry(accessCountry); + } + return sarStandardsInfoEO; + } + public boolean updateStandardsMenu(SarStandardsInfoEOPage standardsInfoEO) { SarStandMenu sarStandMenuEO = new SarStandMenu(); String nowMenuId = standardsInfoEO.getMenuId(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/controller/WgDeptController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/controller/WgDeptController.java new file mode 100644 index 00000000..b02ce635 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/controller/WgDeptController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.wgDept.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.wgDept.entity.WgDept; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 集团参与情况 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgDept|") +@RequestMapping("/${restPath}/wgDept") +public class WgDeptController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/dao/WgDeptDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/dao/WgDeptDao.java new file mode 100644 index 00000000..a8477a26 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/dao/WgDeptDao.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgDept.dao; + +import com.adc.da.slrs.wgDept.entity.WgDept; +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 集团参与情况 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgDeptDao extends BaseMapper { + List researchDatas(@Param(value = "data") String data); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/entity/WgDept.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/entity/WgDept.java new file mode 100644 index 00000000..07b6d5b0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/entity/WgDept.java @@ -0,0 +1,56 @@ +package com.adc.da.slrs.wgDept.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 集团参与情况 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgDept对象", description="集团参与情况") +@TableName("wg_dept") +public class WgDept extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "我司在工作组排名顺序") + @TableField("dept_order") + private String deptOrder; + + @ApiModelProperty(value = "我司人员") + @TableField("dept_people_id") + private String deptPeopleId; + + @ApiModelProperty(value = "身份") + @TableField("identity") + private String identity; + + @ApiModelProperty(value = "资料") + @TableField("datum") + private String datum; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/IWgDeptService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/IWgDeptService.java new file mode 100644 index 00000000..1974bf96 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/IWgDeptService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.wgDept.service; + +import com.adc.da.slrs.wgDept.entity.WgDept; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 集团参与情况 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgDeptService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/impl/WgDeptServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/impl/WgDeptServiceImpl.java new file mode 100644 index 00000000..71a4fb5a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgDept/service/impl/WgDeptServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgDept.service.impl; + +import com.adc.da.slrs.wgDept.entity.WgDept; +import com.adc.da.slrs.wgDept.dao.WgDeptDao; +import com.adc.da.slrs.wgDept.service.IWgDeptService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 集团参与情况 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgDeptServiceImpl extends ServiceImpl implements IWgDeptService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/controller/WgMeetingInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/controller/WgMeetingInfoController.java new file mode 100644 index 00000000..89f7579e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/controller/WgMeetingInfoController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.wgMeetingInfo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 参会记录及资料 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgMeetingInfo|") +@RequestMapping("/${restPath}/wgMeetingInfo") +public class WgMeetingInfoController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/dao/WgMeetingInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/dao/WgMeetingInfoDao.java new file mode 100644 index 00000000..da9b1711 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/dao/WgMeetingInfoDao.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.wgMeetingInfo.dao; + +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 参会记录及资料 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgMeetingInfoDao extends BaseMapper { + + List researchDatas(@Param(value = "data") String data); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/entity/WgMeetingInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/entity/WgMeetingInfo.java new file mode 100644 index 00000000..4fa0854a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/entity/WgMeetingInfo.java @@ -0,0 +1,66 @@ +package com.adc.da.slrs.wgMeetingInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 参会记录及资料 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgMeetingInfo对象", description="参会记录及资料") +@TableName("wg_meeting_info") +public class WgMeetingInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "参会时间") + @TableField("meeting_time") + private LocalDateTime meetingTime; + + @ApiModelProperty(value = "会议名称") + @TableField("meet_name") + private String meetingName; + + @ApiModelProperty(value = "会议人员") + @TableField("meeting_people") + private String meetingPeople; + + @ApiModelProperty(value = "会议人员名称") + @TableField("meeting_people_name") + private String meetingPeopleName; + + @ApiModelProperty(value = "会议报告") + @TableField("meeting_report") + private String meetingReport; + + @ApiModelProperty(value = "会议资料") + @TableField("meeting_datum") + private String meetingDatum; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/IWgMeetingInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/IWgMeetingInfoService.java new file mode 100644 index 00000000..2a2e0155 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/IWgMeetingInfoService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.wgMeetingInfo.service; + +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 参会记录及资料 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgMeetingInfoService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/impl/WgMeetingInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/impl/WgMeetingInfoServiceImpl.java new file mode 100644 index 00000000..0cc958d0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgMeetingInfo/service/impl/WgMeetingInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgMeetingInfo.service.impl; + +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.adc.da.slrs.wgMeetingInfo.dao.WgMeetingInfoDao; +import com.adc.da.slrs.wgMeetingInfo.service.IWgMeetingInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 参会记录及资料 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgMeetingInfoServiceImpl extends ServiceImpl implements IWgMeetingInfoService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/controller/WgNetInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/controller/WgNetInfoController.java new file mode 100644 index 00000000..ee80b7b9 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/controller/WgNetInfoController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.wgNetInfo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 工作组秘书联系方式 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgNetInfo|") +@RequestMapping("/${restPath}/wgNetInfo") +public class WgNetInfoController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/dao/WgNetInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/dao/WgNetInfoDao.java new file mode 100644 index 00000000..cdcaf3d2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/dao/WgNetInfoDao.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.wgNetInfo.dao; + +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 工作组秘书联系方式 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgNetInfoDao extends BaseMapper { + + List researchDatas(@Param(value = "data") String data); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/entity/WgNetInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/entity/WgNetInfo.java new file mode 100644 index 00000000..f36b8e5d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/entity/WgNetInfo.java @@ -0,0 +1,44 @@ +package com.adc.da.slrs.wgNetInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 工作组秘书联系方式 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgNetInfo对象", description="工作组秘书联系方式") +@TableName("wg_net_info") +public class WgNetInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "人员id") + @TableField("net_id") + private String netId; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/IWgNetInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/IWgNetInfoService.java new file mode 100644 index 00000000..37d60274 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/IWgNetInfoService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.wgNetInfo.service; + +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 工作组秘书联系方式 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgNetInfoService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/impl/WgNetInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/impl/WgNetInfoServiceImpl.java new file mode 100644 index 00000000..2ae5d889 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgNetInfo/service/impl/WgNetInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgNetInfo.service.impl; + +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import com.adc.da.slrs.wgNetInfo.dao.WgNetInfoDao; +import com.adc.da.slrs.wgNetInfo.service.IWgNetInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 工作组秘书联系方式 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgNetInfoServiceImpl extends ServiceImpl implements IWgNetInfoService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/controller/WgPayInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/controller/WgPayInfoController.java new file mode 100644 index 00000000..67f75b81 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/controller/WgPayInfoController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.wgPayInfo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 支付信息 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgPayInfo|") +@RequestMapping("/${restPath}/wgPayInfo") +public class WgPayInfoController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/dao/WgPayInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/dao/WgPayInfoDao.java new file mode 100644 index 00000000..c97e3810 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/dao/WgPayInfoDao.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgPayInfo.dao; + +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 支付信息 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgPayInfoDao extends BaseMapper { + List researchDatas(@Param(value = "data") String data); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/entity/WgPayInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/entity/WgPayInfo.java new file mode 100644 index 00000000..81876bc2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/entity/WgPayInfo.java @@ -0,0 +1,70 @@ +package com.adc.da.slrs.wgPayInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 支付信息 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgPayInfo对象", description="支付信息") +@TableName("wg_pay_info") +public class WgPayInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "价格") + @TableField("price") + private BigDecimal price; + + @ApiModelProperty(value = "年份") + @TableField("year") + private String year; + + @ApiModelProperty(value = "支付状态(0:未支付,1:已支付)") + @TableField("status") + private String status; + + @ApiModelProperty(value = "是否计划内(0:计划内,1:计划外)") + @TableField("inplan") + private String inplan; + + @ApiModelProperty(value = "支付方式") + @TableField("pay_way") + private String payWay; + + @ApiModelProperty(value = "支付资料") + @TableField("pay_datum") + private String payDatum; + + @ApiModelProperty(value = "费用列支") + @TableField("pay_info") + private String payInfo; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/IWgPayInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/IWgPayInfoService.java new file mode 100644 index 00000000..ff7d8468 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/IWgPayInfoService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.wgPayInfo.service; + +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 支付信息 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgPayInfoService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/impl/WgPayInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/impl/WgPayInfoServiceImpl.java new file mode 100644 index 00000000..f348bba5 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgPayInfo/service/impl/WgPayInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgPayInfo.service.impl; + +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import com.adc.da.slrs.wgPayInfo.dao.WgPayInfoDao; +import com.adc.da.slrs.wgPayInfo.service.IWgPayInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 支付信息 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgPayInfoServiceImpl extends ServiceImpl implements IWgPayInfoService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/controller/WgStandorpolicyInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/controller/WgStandorpolicyInfoController.java new file mode 100644 index 00000000..582a41a7 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/controller/WgStandorpolicyInfoController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.wgStandorpolicyInfo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 标准/政策 -信息 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgStandorpolicyInfo|") +@RequestMapping("/${restPath}/wgStandorpolicyInfo") +public class WgStandorpolicyInfoController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/dao/WgStandorpolicyInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/dao/WgStandorpolicyInfoDao.java new file mode 100644 index 00000000..16e7d3dd --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/dao/WgStandorpolicyInfoDao.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.wgStandorpolicyInfo.dao; + +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 标准/政策 -信息 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgStandorpolicyInfoDao extends BaseMapper { + + List researchDatas(@Param(value = "data") String data); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/entity/WgStandorpolicyInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/entity/WgStandorpolicyInfo.java new file mode 100644 index 00000000..cc9ffde9 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/entity/WgStandorpolicyInfo.java @@ -0,0 +1,62 @@ +package com.adc.da.slrs.wgStandorpolicyInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 标准/政策 -信息 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgStandorpolicyInfo对象", description="标准/政策 -信息") +@TableName("wg_standorpolicy_info") +public class WgStandorpolicyInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + private String wgId; + + @ApiModelProperty(value = "政策/标准 类别") + private String categary; + + @ApiModelProperty(value = "政策/标准 编号") + private String number; + + @ApiModelProperty(value = "政策/标准 年份") + private String year; + + @ApiModelProperty(value = "政策标准 名称") + private String name; + + @ApiModelProperty(value = "政策/标准 英文名称") + private String usname; + + @ApiModelProperty(value = "文本状态") + private String status; + + @ApiModelProperty(value = "参与制定情况") + private String joinDevelop; + + @ApiModelProperty(value = "相关材料") + private String netDatum; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/IWgStandorpolicyInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/IWgStandorpolicyInfoService.java new file mode 100644 index 00000000..e03fb8a5 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/IWgStandorpolicyInfoService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.wgStandorpolicyInfo.service; + +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 标准/政策 -信息 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgStandorpolicyInfoService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/impl/WgStandorpolicyInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/impl/WgStandorpolicyInfoServiceImpl.java new file mode 100644 index 00000000..3ad3244e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgStandorpolicyInfo/service/impl/WgStandorpolicyInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.wgStandorpolicyInfo.service.impl; + +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import com.adc.da.slrs.wgStandorpolicyInfo.dao.WgStandorpolicyInfoDao; +import com.adc.da.slrs.wgStandorpolicyInfo.service.IWgStandorpolicyInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 标准/政策 -信息 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgStandorpolicyInfoServiceImpl extends ServiceImpl implements IWgStandorpolicyInfoService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/controller/WgWorkGroupController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/controller/WgWorkGroupController.java new file mode 100644 index 00000000..34ce0415 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/controller/WgWorkGroupController.java @@ -0,0 +1,68 @@ +package com.adc.da.slrs.wgWorkGroup.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupDTO; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.adc.da.slrs.wgWorkGroup.service.IWgWorkGroupService; +import io.swagger.annotations.ApiOperation; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroup; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import java.util.List; + +/** +*

+ * 工作组主表 前端控制器 + *

+* +* @author super_liu +* @since 2021-11-04 +*/ +@RestController +@Api(description = "|WgWorkGroup|") +@RequestMapping("/${restPath}/wg_work_group") +public class WgWorkGroupController extends BaseController { + + @Autowired + private IWgWorkGroupService wgWorkGroupService; + + @ApiOperation("添加工作组节点数据") + @PostMapping("/add") + public ResponseMessage addResource(@RequestBody WgWorkGroupDTO wgWorkGroup){ + return Result.success(wgWorkGroupService.saveDatas(wgWorkGroup)); + } + + + @ApiOperation("搜索工作组节点数据") + @GetMapping("/researchData") + public ResponseMessage researchData(@RequestParam(value = "type") String type){ + return Result.success(wgWorkGroupService.researchData(type)); + } + + @ApiOperation("删除工作组节点数据") + @DeleteMapping("/deleteData") + public ResponseMessage deleteData(@Param(value = "id") String id){ + return wgWorkGroupService.deleteData(id); + } + + @ApiOperation("修改工作组节点数据") + @DeleteMapping("/updateData") + public ResponseMessage updateData(@RequestBody WgWorkGroupShowDTO wgWorkGroupShowDTO){ + return wgWorkGroupService.updateData(wgWorkGroupShowDTO); + } + + + + + + + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/dao/WgWorkGroupDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/dao/WgWorkGroupDao.java new file mode 100644 index 00000000..71a92b11 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/dao/WgWorkGroupDao.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.wgWorkGroup.dao; + +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroup; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 工作组主表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface WgWorkGroupDao extends BaseMapper { + + WgWorkGroupShowDTO researchDatas(@Param(value = "data") List wgWorkGroupShowDTOS,@Param(value = "type")String type); + + List researchDownLevel(@Param(value = "data") String data); + + List researchDownCheck(@Param(value = "data") String data,@Param(value = "status")String status); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroup.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroup.java new file mode 100644 index 00000000..113ce616 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroup.java @@ -0,0 +1,78 @@ +package com.adc.da.slrs.wgWorkGroup.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 工作组主表 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgWorkGroup对象", description="工作组主表") +@TableName("wgWorkGroup") +public class WgWorkGroup extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "工作组id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "父级id") + @TableId("pid") + private String pid; + + @ApiModelProperty(value = "编号") + @TableId("number") + private String number; + + @ApiModelProperty(value = "名称") + @TableId("name") + private String name; + + @ApiModelProperty(value = "性质(0:标委会,1:分标委,2:工作组,3:政策)") + @TableId("nature") + private String nature; + + @ApiModelProperty(value = "状态(0:流程中,1:流程已通过)") + @TableId("status") + private String status; + + @ApiModelProperty(value = "换届时间") + @TableField("change_time") + private LocalDateTime changeTime; + + @ApiModelProperty(value = "标准化工作领域") + @TableField("stander_area") + private String standerArea; + + @ApiModelProperty(value = "备注") + @TableField("mark") + private String mark; + + @ApiModelProperty(value = "0:标准化流程 1:政策课题组") + @TableField("type") + private String types; + + @ApiModelProperty(value = "层级") + @TableField("level") + private String level; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupDTO.java new file mode 100644 index 00000000..58badaf3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupDTO.java @@ -0,0 +1,87 @@ +package com.adc.da.slrs.wgWorkGroup.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.slrs.wgDept.entity.WgDept; +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 工作组主表 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgWorkGroup对象", description="工作组主表") +public class WgWorkGroupDTO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "工作组id") + private String id; + + @ApiModelProperty(value = "父级id") + private String pid; + + @ApiModelProperty(value = "编号") + private String number; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "性质(0:标委会,1:分标委,2:工作组,3:政策)") + private String nature; + + @ApiModelProperty(value = "状态(0:流程中,1:流程已通过)") + private String status; + + @ApiModelProperty(value = "换届时间") + private LocalDateTime changeTime; + + @ApiModelProperty(value = "标准化工作领域") + private String standerArea; + + @ApiModelProperty(value = "备注") + private String mark; + + @ApiModelProperty(value = "0:标准化流程 1:政策课题组") + private String types; + + @ApiModelProperty(value = "层级") + private String level; + + //支付信息 + List wgPayInfos; + + //标准政策 + List wgStandorpolicyInfos; + + //集团参与情况 + List wgDepts; + + //秘书联系方式 + List wgNetInfos; + + //参会记录及资料 + List wgMeetingInfos; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupShowDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupShowDTO.java new file mode 100644 index 00000000..b66eea02 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/entity/WgWorkGroupShowDTO.java @@ -0,0 +1,85 @@ +package com.adc.da.slrs.wgWorkGroup.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.slrs.wgDept.entity.WgDept; +import com.adc.da.slrs.wgMeetingInfo.entity.WgMeetingInfo; +import com.adc.da.slrs.wgNetInfo.entity.WgNetInfo; +import com.adc.da.slrs.wgPayInfo.entity.WgPayInfo; +import com.adc.da.slrs.wgStandorpolicyInfo.entity.WgStandorpolicyInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; + +/** + *

+ * 工作组主表 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="WgWorkGroup对象", description="工作组主表") +public class WgWorkGroupShowDTO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "工作组id") + private String id; + + @ApiModelProperty(value = "父级id") + private String pid; + + @ApiModelProperty(value = "编号") + private String number; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "性质(0:标委会,1:分标委,2:工作组,3:政策)") + private String nature; + + @ApiModelProperty(value = "状态(0:流程中,1:流程已通过)") + private String status; + + @ApiModelProperty(value = "换届时间") + private Date changeTime; + + @ApiModelProperty(value = "标准化工作领域") + private String standerArea; + + @ApiModelProperty(value = "备注") + private String mark; + + @ApiModelProperty(value = "0:标准化流程 1:政策课题组") + private String types; + + private String level; + + //支付信息 + List wgPayInfos; + + //标准政策 + List wgStandorpolicyInfos; + + //集团参与情况 + List wgDepts; + + //秘书联系方式 + List wgNetInfos; + + //参会记录及资料 + List wgMeetingInfos; + + List children; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/IWgWorkGroupService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/IWgWorkGroupService.java new file mode 100644 index 00000000..2ba8030e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/IWgWorkGroupService.java @@ -0,0 +1,31 @@ +package com.adc.da.slrs.wgWorkGroup.service; + +import com.adc.da.http.ResponseMessage; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroup; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupDTO; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 工作组主表 服务类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +public interface IWgWorkGroupService extends IService { + + String saveDatas(WgWorkGroupDTO wgWorkGroupDTO); + + WgWorkGroupShowDTO researchData(String type); + + ResponseMessage deleteData(String id); + + ResponseMessage updateData(WgWorkGroupShowDTO wgWorkGroupShowDTO); + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/impl/WgWorkGroupServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/impl/WgWorkGroupServiceImpl.java new file mode 100644 index 00000000..c5087f22 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/wgWorkGroup/service/impl/WgWorkGroupServiceImpl.java @@ -0,0 +1,137 @@ +package com.adc.da.slrs.wgWorkGroup.service.impl; + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.wgDept.service.IWgDeptService; +import com.adc.da.slrs.wgMeetingInfo.service.IWgMeetingInfoService; +import com.adc.da.slrs.wgNetInfo.service.IWgNetInfoService; +import com.adc.da.slrs.wgPayInfo.service.IWgPayInfoService; +import com.adc.da.slrs.wgStandorpolicyInfo.service.IWgStandorpolicyInfoService; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroup; +import com.adc.da.slrs.wgWorkGroup.dao.WgWorkGroupDao; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupDTO; +import com.adc.da.slrs.wgWorkGroup.entity.WgWorkGroupShowDTO; +import com.adc.da.slrs.wgWorkGroup.service.IWgWorkGroupService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + *

+ * 工作组主表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Service +public class WgWorkGroupServiceImpl extends ServiceImpl implements IWgWorkGroupService { + + @Autowired + private IWgWorkGroupService wgWorkGroupService; + @Autowired + private IWgDeptService wgDeptService; + @Autowired + private IWgMeetingInfoService wgMeetingInfoService; + @Autowired + private IWgNetInfoService wgNetInfoService; + @Autowired + private IWgPayInfoService wgPayInfoService; + @Autowired + private IWgStandorpolicyInfoService wgStandorpolicyInfoService; + @Autowired + private WgWorkGroupDao wgWorkGroupDao; + + + @Transactional + @Override + public String saveDatas(WgWorkGroupDTO wgWorkGroupDTO) { + WgWorkGroup wgWorkGroup=new WgWorkGroup(); + BeanUtils.copyProperties(wgWorkGroupDTO,wgWorkGroup); + //存储集团参与情况 + boolean flag1=wgDeptService.saveBatch(wgWorkGroupDTO.getWgDepts()); + //存储会议信息 + boolean flag2=wgMeetingInfoService.saveBatch(wgWorkGroupDTO.getWgMeetingInfos()); + //存储秘书联系方式信息 + boolean flag3=wgNetInfoService.saveBatch(wgWorkGroupDTO.getWgNetInfos()); + //支付信息 + boolean flag4=wgPayInfoService.saveBatch(wgWorkGroupDTO.getWgPayInfos()); + //标准政策信息 + boolean flag5=wgStandorpolicyInfoService.saveBatch(wgWorkGroupDTO.getWgStandorpolicyInfos()); + //先存储主数据 + boolean flag6=wgWorkGroupService.save(wgWorkGroup); + if (flag1 && flag2 && flag3 && flag4 && flag5 && flag6 ) { + return "添加成功"; + }else { + return "数据错误,添加失败"; + } + } + + @Override + public WgWorkGroupShowDTO researchData(String type) { + //构建最初的节点 用来向下搜索 + WgWorkGroupShowDTO wgWorkGroupShowDTO=new WgWorkGroupShowDTO(); + wgWorkGroupShowDTO.setId("root"); + wgWorkGroupShowDTO.setTypes(type); + List wgWorkGroupShowDTOS=new ArrayList<>(); + wgWorkGroupShowDTOS.add(wgWorkGroupShowDTO); + return wgWorkGroupDao.researchDatas(wgWorkGroupShowDTOS,type); + } + + @Override + public ResponseMessage deleteData(String id) { + List wgWorkGroupShowDTOS=wgWorkGroupDao.researchDownCheck(id,"1"); + List wgWorkGroups=wgWorkGroupDao.researchDownLevel(id); + if (null!=wgWorkGroupShowDTOS && wgWorkGroupShowDTOS.size()>0 && null!= wgWorkGroups && wgWorkGroups.size()>0){ + return Result.error("该工作组下存在工作组且处在流程中,无法删除"); + } else if (null!=wgWorkGroups && wgWorkGroups.size()>0) { + return Result.error("该工作组下存在工作组,无法删除"); + } else if (null!=wgWorkGroupShowDTOS && wgWorkGroupShowDTOS.size()>0){ + return Result.error("该工作组处在流程中,无法删除"); + }else { + wgWorkGroupService.removeById(id); + Map columnMap = new HashMap<>(); + columnMap.put("wg_id", id); + wgStandorpolicyInfoService.removeByMap(columnMap); + wgPayInfoService.removeByMap(columnMap); + wgNetInfoService.removeByMap(columnMap); + wgMeetingInfoService.removeByMap(columnMap); + wgDeptService.removeByMap(columnMap); + return Result.success("删除成功"); + } + } + + @Override + public ResponseMessage updateData(WgWorkGroupShowDTO wgWorkGroupShowDTO) { + List wgWorkGroupShowDTOS=wgWorkGroupDao.researchDownCheck(wgWorkGroupShowDTO.getId(),"1"); + if (null!=wgWorkGroupShowDTOS && wgWorkGroupShowDTOS.size()>0){ + return Result.error("工作组处在流程中,无法修改"); + }else { + WgWorkGroup wgWorkGroup=new WgWorkGroup(); + BeanUtils.copyProperties(wgWorkGroupShowDTO,wgWorkGroup); + boolean flag1=wgWorkGroupService.updateById(wgWorkGroup); + boolean flag2=wgDeptService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgDepts()); + boolean flag3=wgMeetingInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgMeetingInfos()); + boolean flag4=wgNetInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgNetInfos()); + boolean flag5=wgPayInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgPayInfos()); + boolean flag6=wgStandorpolicyInfoService.saveOrUpdateBatch(wgWorkGroupShowDTO.getWgStandorpolicyInfos()); + if (flag1 && flag2 && flag3 && flag4 && flag5 && flag6){ + return Result.success("更新成功"); + }else { + return Result.error("无法更新"); + } + } + } + + + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java index a49fc58c..921f9896 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java @@ -44,8 +44,8 @@ public class FieldConvertUtil { "EOP实施日期(文本),责任部门,相关部门,SVPPS,FO,项目评估角色,法规维护人,代替标准编号," + "对应其他标准,文字描述,等效标准,引用标准,被引用标准,覆盖关系"; - public static String exportBaseFieldNamesLaws = "政策编号,中文名称,英文名称," + - "政策状态,适用区域,重要度,代替政策编号,发布日期"; + public static String exportBaseFieldNamesLaws = "政策分类,政策编号,中文名称,英文名称,政策文号,发文日期,发文单位,征集意见周期-起始时间,征集意见周期-结束时间,文本状态," + + "适用区域,适用车型,是否纳入认证清单,年度,福田转发通知文号,信息简报,标签,备注"; public static String exportAttrFieldNamesLaws = "适用车辆类型,要求类型," + "个性化标签,政策文本,过程稿件,新车型实施日期(文本),在产车实施日期(文本),EOP实施日期(文本),SVPPS," + diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/InitStandAttrUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/InitStandAttrUtil.java index 2d3df843..c859e95d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/InitStandAttrUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/InitStandAttrUtil.java @@ -41,9 +41,7 @@ public class InitStandAttrUtil implements ApplicationRunner { standTypeList.add(SarTypeEnum.STAND.getValue()); standTypeList.add(SarTypeEnum.INLAND_STAND.getValue()); standTypeList.add(SarTypeEnum.FOREIGN_STAND.getValue()); - lawsTypeList.add(SarTypeEnum.LAWS.getValue()); - lawsTypeList.add(SarTypeEnum.INLAND_LAWS.getValue()); - lawsTypeList.add(SarTypeEnum.FOREIGN_LAWS.getValue()); + lawsTypeList.add(SarTypeEnum.LAWS_STAND.getValue()); standStateList.add("DRAFT"); standStateList.add("ADVICE"); standStateList.add("RADYSUBMIT"); @@ -82,6 +80,7 @@ public class InitStandAttrUtil implements ApplicationRunner { public static List numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段 public static List lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段 public static List lawsForeignAttrFieldList = new ArrayList<>(); // 全部政策字段属性 + public static List lawsStandAttrFieldList = new ArrayList<>(); // 全部政策字段属性 public static Map selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值 // 企标属性字段信息 @@ -141,12 +140,16 @@ public class InitStandAttrUtil implements ApplicationRunner { numFieldList.add(detailsEO.getAttrField()); } } else if (lawsTypeList.contains(sarType)) { - if (!SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { - lawsInlandAttrFieldList.add(detailsEO); - } - if (!SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + if (SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) { lawsForeignAttrFieldList.add(detailsEO); } + if (SarTypeEnum.LAWS_STAND.getValue().equals(sarType)) { + lawsStandAttrFieldList.add(detailsEO); + } + + if (SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) { + lawsInlandAttrFieldList.add(detailsEO); + } fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ","); fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ","); queryFieldListLaws.add(detailsEO.getAttrField()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java new file mode 100644 index 00000000..27aee726 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/LawsStandExportUtil.java @@ -0,0 +1,176 @@ +package com.adc.da.utils.util; + +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; +import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 标准导出工具 + * date: 2020/9/16 14:09 + */ +public class LawsStandExportUtil { + + private static final Logger logger = LoggerFactory.getLogger(LawsStandExportUtil.class); + + + public static Workbook exportDatas (List datas) { + Workbook workbook = new XSSFWorkbook(); + try { + StringBuilder attrBud = new StringBuilder(); + List detailsEOList = InitStandAttrUtil.lawsStandAttrFieldList; + Map attrInfoMap = new HashMap<>(); + for (SarStandAttrDetails detailsEO : detailsEOList) { + if (!InitStandAttrUtil.fileFieldListLaws.contains(detailsEO.getAttrField())) { + attrBud.append(detailsEO.getAttrName() + ","); + attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField()); + } + } + String header = FieldConvertUtil.exportBaseFieldNamesLaws + "," + attrBud.toString(); + //创建工作表对象 + Sheet sheet = workbook.createSheet(); + // 创建头部 + createHeader(workbook,sheet,header); + // 创建数据 + createDatas(workbook,sheet,datas,header,attrInfoMap); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return workbook; + } + + public static void createHeader(Workbook workbook,Sheet sheet,String header){ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + Row rowHeader = sheet.createRow(0);//开始创建标题行 + if (StringUtils.isNotBlank(header)) { + String[] headerArr = header.split(","); + for (int i=0;i < headerArr.length; i++) { + rowHeader.createCell(i).setCellValue(headerArr[i]); +// rowHeader.createCell(i).setCellStyle(cellStyle); + } + } + } + + public static void createDatas(Workbook workbook,Sheet sheet,List datas, + String header,Map attrInfoMap) throws Exception{ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + if (datas != null && !datas.isEmpty()) { + for (int i=0;i < datas.size(); i++) { + SarLawsStandInfo sarStandardsInfoEO = datas.get(i); + Row row = sheet.createRow(i+1); + String[] headerArr = header.split(","); + int sheetNum = 0; + for (String headerName : headerArr) { + String value = getValueByName(headerName,sarStandardsInfoEO,attrInfoMap); + if (StringUtils.isBlank(value) || "null".equals(value)) { + value = ""; + } + row.createCell(sheetNum).setCellValue(value); + sheetNum++; + } + } + } + } + + // 根据表头返回相应值 + public static String getValueByName (String name,SarLawsStandInfo sarStandardsInfoEO,Map attrInfoMap) throws Exception{ + String value = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Map attrValueMap = sarStandardsInfoEO.getAttrInfoMap(); + switch (name) { + case "政策分类": + value = sarStandardsInfoEO.getLawsType(); + break; + case "政策编号": + value = sarStandardsInfoEO.getLawsNumber(); + break; + case "中文名称": + value = sarStandardsInfoEO.getLawsName(); + break; + case "英文名称": + value = sarStandardsInfoEO.getLawsEnName(); + break; + case "政策文号": + value = sarStandardsInfoEO.getLawsNo(); + break; + case "发文日期": + String issueTime=""; + if (Date.class.equals(sarStandardsInfoEO.getIssueTime())) { + issueTime = sdf.format(sarStandardsInfoEO.getIssueTime()); + + }else { + issueTime=sarStandardsInfoEO.getIssueTime(); + } + value = issueTime; + break; + case "发文单位": + value = sarStandardsInfoEO.getIssueCompany(); + break; + case "征集意见周期-起始时间": + String commentCycleStart=""; + if (Date.class.equals(sarStandardsInfoEO.getCommentCycleStart())){ + commentCycleStart = sdf.format(sarStandardsInfoEO.getCommentCycleStart()); + }else { + commentCycleStart=sarStandardsInfoEO.getCommentCycleStart(); + } + value = commentCycleStart; + break; + case "征集意见周期-结束时间": + String commentCycleEnd=""; + if (Date.class.equals(sarStandardsInfoEO.getCommentCycleEnd())){ + commentCycleEnd = sdf.format(sarStandardsInfoEO.getCommentCycleEnd()); + }else { + commentCycleEnd=sarStandardsInfoEO.getCommentCycleEnd(); + } + value = commentCycleEnd; + break; + case "文本状态": + value = sarStandardsInfoEO.getStandStatusShow(); + break; + case "适用区域": + value = sarStandardsInfoEO.getLawsSyqy(); + break; + case "适用车型": + value = sarStandardsInfoEO.getLawsSycx(); + break; + case "是否纳入认证清单": + value = sarStandardsInfoEO.getIsRelateAccess() != null ? (sarStandardsInfoEO.getIsRelateAccess().equals("1")?"是":"否"): ""; + break; + case "年度": + value = sarStandardsInfoEO.getLawsYear(); + break; + case "福田转发通知文号": + value = sarStandardsInfoEO.getLawsNotisyncNum(); + break; + case "信息简报": + value = sarStandardsInfoEO.getLawsBulletin(); + break; + case "标签": + value = sarStandardsInfoEO.getLawsLabel(); + break; + case "备注": + value = sarStandardsInfoEO.getLawsRemark(); + break; + default: + String field = attrInfoMap.get(name); + if (attrValueMap != null) { + value = String.valueOf(attrValueMap.get(field)); + } + break; + } + return value; + } + +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 2cee4165..18b10815 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -47,7 +47,7 @@ SAR_BUSSIONESS_STAND.modify_time, SAR_BUSSIONESS_STAND.creation_time, SAR_BUSSIONESS_STAND.valid_flag, - SAR_BUSSIONESS_STAND.apply_country, SAR_BUSSIONESS_STAND.stand_nature,SAR_BUSSIONESS_STAND.stand_sort, + SAR_BUSSIONESS_STAND.apply_country, SAR_BUSSIONESS_STAND.stand_nature,SAR_BUSSIONESS_STAND.stand_sort,SAR_BUSSIONESS_STAND.stand_year, stand_status, replaced_stand_num,replace_stand_num,put_time,issue_time,stand_en_name, stand_name, stand_code,SAR_BUSSIONESS_STAND.id,SAR_BUSSIONESS_STAND.text_status_buss @@ -348,6 +348,55 @@ + + ORDER BY + CASE tmp_tb.stand_sort + when 'Q/FT A' THEN 0 + when 'Q/FT B' THEN 1 + when 'Q/FT E' THEN 2 + when 'Q/FT F' THEN 3 + when 'Q/FT G' THEN 4 + when 'Q/FT M' THEN 5 + when 'Q/FT Q' THEN 6 + when 'Q/FT R' THEN 7 + when 'Q/FT S' THEN 8 + when 'Q/FT T' THEN 9 + when 'Q/FT V' THEN 10 + when 'Q/FT X' THEN 11 + when 'Q/FT Y' THEN 12 + when 'Q/FT Z' THEN 13 + when 'Q/QCBFC' THEN 14 + when '雷萨企标Q/FL' THEN 15 + when 'Q/QCFLC' THEN 16 + ELSE 17 + END, + tmp_tb.stand_sort ASC + + + ORDER BY + CASE tmp_tb.stand_sort + when 'Q/FT A' THEN 0 + when 'Q/FT B' THEN 1 + when 'Q/FT E' THEN 2 + when 'Q/FT F' THEN 3 + when 'Q/FT G' THEN 4 + when 'Q/FT M' THEN 5 + when 'Q/FT Q' THEN 6 + when 'Q/FT R' THEN 7 + when 'Q/FT S' THEN 8 + when 'Q/FT T' THEN 9 + when 'Q/FT V' THEN 10 + when 'Q/FT X' THEN 11 + when 'Q/FT Y' THEN 12 + when 'Q/FT Z' THEN 13 + when 'Q/QCBFC' THEN 14 + when '雷萨企标Q/FL' THEN 15 + when 'Q/QCFLC' THEN 16 + ELSE 17 + END, + tmp_tb.stand_sort ASC, + tmp_tb.issue_time is null,tmp_tb.issue_time desc,tmp_tb.id + left join SAR_BUSS_STAND_MENU ON SAR_BUSSIONESS_STAND.id = SAR_BUSS_STAND_MENU.buss_stand_id left join TS_RESOURCE on SAR_BUSS_STAND_MENU.menu_id = TS_RESOURCE.id @@ -585,7 +634,9 @@ ORDER BY ${sql} - ) tmp_tb limit ${pager.startIndex-1},${pageSize}) a + ) tmp_tb + + limit ${pager.startIndex-1},${pageSize}) a @@ -626,13 +677,13 @@ diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml index d5c48467..b3f53de2 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml @@ -40,6 +40,24 @@ select * from ts_user WHERE institution_id=#{institutionId} + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml new file mode 100644 index 00000000..9992bbad --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsFile/SarLawsFileMapper.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + modify_time, creation_time, valid_flag, use_model, att_id, laws_id, id,file_suffix,file_name,laws_file_classify, + password,creation_user,ori_att_id + + + + + where 1=1 + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + and creation_time ${creationTimeOperator} #{creationTime} + + + and creation_time >= #{creationTime1} + + + and creation_time <= #{creationTime2} + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and use_model ${useModuleOperator} #{useModule} + + + and att_id ${attIdOperator} #{attId} + + + and res_id ${resIdOperator} #{resId} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + insert into SAR_LAWS_FILE + + modify_time, + creation_time, + valid_flag, + use_model, + att_id, + laws_id, + id, + file_suffix, + file_name, + laws_file_classify, + password, + creation_user, + ori_att_id, + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{useModule, jdbcType=VARCHAR}, + #{attId, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + #{fileSuffix, jdbcType=VARCHAR}, + #{fileName, jdbcType=VARCHAR}, + #{lawsFileClassify, jdbcType=VARCHAR}, + #{password, jdbcType=VARCHAR}, + #{creationUser, jdbcType=VARCHAR}, + #{oriAttId, jdbcType=VARCHAR}, + + + + + + update SAR_LAWS_FILE + + + ori_att_id = #{oriAttId}, + + + modify_time = #{modifyTime}, + + + creation_time = #{creationTime}, + + + valid_flag = #{validFlag}, + + + use_model = #{useModule}, + + + att_id = #{attId}, + + + laws_id = #{lawsId}, + + + where id = #{id} + + + + + + + + delete from SAR_LAWS_FILE + where id = #{value} + + + + + + + + + + + + + + + + + + + + + + + + delete from SAR_LAWS_FILE + where laws_id = #{value} + + + + + insert into SAR_LAWS_FILE + () + values + + (#{item.modifyTime, jdbcType=TIMESTAMP}, + #{item.creationTime, jdbcType=TIMESTAMP}, + #{item.validFlag, jdbcType=INTEGER}, + #{item.useModel, jdbcType=VARCHAR}, + #{item.attId, jdbcType=VARCHAR}, + #{item.lawsId, jdbcType=VARCHAR}, + #{item.id, jdbcType=VARCHAR}, + #{item.fileSuffix, jdbcType=VARCHAR}, + #{item.fileName, jdbcType=VARCHAR}, + #{item.lawsFileClassify, jdbcType=VARCHAR}, + #{item.password, jdbcType=VARCHAR}, + #{item.creationUser, jdbcType=VARCHAR}, + #{item.oriAttId, jdbcType=VARCHAR}) + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml new file mode 100644 index 00000000..dea8be10 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItemVal/SarLawsItemValMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml index 808c40ad..6579727b 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsItems/SarLawsItemsMapper.xml @@ -35,6 +35,22 @@ + + + + and laws_id=#{standId} + + + + and file_type=#{fileType} + + + + and ITEMS_NAME like CONCAT('%', #{itemsName},'%') + + + + SAR_LAWS_ITEMS.modify_time, SAR_LAWS_ITEMS.creation_time, SAR_LAWS_ITEMS.creation_user, SAR_LAWS_ITEMS.valid_flag, SAR_LAWS_ITEMS.remarks, responsible_unit, energy_kind, apply_arctic, tack_time, parts, items_name, items_num, SAR_LAWS_ITEMS.laws_id,SAR_LAWS_ITEMS.id,SAR_LAWS_ITEMS.MAINPOINTS_IMPEMENTATION,SAR_LAWS_ITEMS.TERMS_CONDITIONS, @@ -264,4 +280,26 @@ and file_type = #{fileType} + + + delete from SAR_LAWS_ITEMS + where laws_id = #{standId} + + and file_type = #{fileType} + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml new file mode 100644 index 00000000..43ca0a2c --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsMenu/SarLawsMenuMapper.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + valid_flag, menu_id, laws_id, id + + + + + where 1=1 + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and menu_id ${menuIdOperator} #{menuId} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + + + insert into SAR_LAWS_MENU() + values (#{validFlag, jdbcType=INTEGER}, #{menuId, jdbcType=VARCHAR}, #{lawsId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}) + + + + + + insert into SAR_LAWS_MENU + + valid_flag, + menu_id, + laws_id, + id, + + + #{validFlag, jdbcType=INTEGER}, + #{menuId, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + + + + + + update SAR_LAWS_MENU + set valid_flag = #{validFlag}, + menu_id = #{menuId}, + laws_id = #{lawsId} + where id = #{id} + + + + + update SAR_LAWS_MENU + + + valid_flag = #{validFlag}, + + + menu_id = #{menuId}, + + + laws_id = #{lawsId}, + + + where id = #{id} + + + + update SAR_LAWS_MENU + set menu_id = #{newMenuid} + where menu_id = #{oldMenuid} + + + + + + + + delete from SAR_LAWS_MENU + where id = #{value} + + + + + + + + + + + + + + + + + + delete from SAR_LAWS_MENU + where laws_id = #{value} + + + + + + + update SAR_LAWS_MENU + + + menu_id = #{menuId}, + + + where laws_id = #{lawsId} + and MENU_ID in + + #{item} + + + + + delete from SAR_LAWS_MENU + where laws_id = #{lawsId} + and MENU_ID in + + #{item} + + + + + delete from SAR_LAWS_MENU + where laws_id = #{lawsId, jdbcType=VARCHAR} and MENU_ID = #{menuId, jdbcType=VARCHAR} + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml new file mode 100644 index 00000000..8c479711 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsStandInfo/SarLawsStandInfoMapper.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0 + + + and SAR_LAWS_STAND_INFO.id ${idOperator} #{id} + + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NUMBER like concat(concat('%',#{lawsNumber}),'%') + + + and LAWS_NAME like concat(concat('%',#{lawsName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{lawsEnName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NO like concat(concat('%',#{lawsNo}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.ISSUE_TIME,'%Y-%m-%d') = #{issueTime} + + + and SAR_LAWS_STAND_INFO.ISSUE_COMPANY like concat(concat('%',#{issueCompany}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleStart},'%Y-%m-%d') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleEnd},'%Y-%m-%d') + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE = #{lawsTextState} + + + and FIND_IN_SET(#{lawsSyqy},SAR_LAWS_STAND_INFO.LAWS_SYQY) + + + and FIND_IN_SET(#{lawsSycx},SAR_LAWS_STAND_INFO.LAWS_SYCX) + + + and SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS = #{isRelateAccess} + + + and SAR_LAWS_STAND_INFO.LAWS_YEAR like concat(concat('%',#{lawsYear}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM like concat(concat('%',#{lawsNotisyncNum}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_BULLETIN like concat(concat('%',#{lawsBulletin}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_LABEL like concat(concat('%',#{lawsLabel}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_REMARK like concat(concat('%',#{lawsRemark}),'%') + + + + and SAR_LAWS_STAND_INFO.country = #{country} + + + + + + left join SAR_LAWS_MENU ON SAR_LAWS_STAND_INFO.id = SAR_LAWS_MENU.laws_id + where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0 + + + + and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NUMBER like concat(concat('%',#{lawsNumber}),'%') + + + and (LAWS_NAME like concat(concat('%',#{numberName}),'%') + or SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{numberName}),'%')) + + + and LAWS_NAME like concat(concat('%',#{lawsName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{lawsEnName}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NO like concat(concat('%',#{lawsNo}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.ISSUE_TIME,'%Y-%m-%d') = #{issueTime} + + + and SAR_LAWS_STAND_INFO.ISSUE_COMPANY like concat(concat('%',#{issueCompany}),'%') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleStart},'%Y-%m-%d') + + + and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleEnd},'%Y-%m-%d') + + + and SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE = #{lawsTextState} + + + and FIND_IN_SET(#{lawsSyqy},SAR_LAWS_STAND_INFO.LAWS_SYQY) + + + and FIND_IN_SET(#{lawsSycx},SAR_LAWS_STAND_INFO.LAWS_SYCX) + + + and SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS = #{isRelateAccess} + + + and SAR_LAWS_STAND_INFO.LAWS_YEAR like concat(concat('%',#{lawsYear}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM like concat(concat('%',#{lawsNotisyncNum}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_BULLETIN like concat(concat('%',#{lawsBulletin}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_LABEL like concat(concat('%',#{lawsLabel}),'%') + + + and SAR_LAWS_STAND_INFO.LAWS_REMARK like concat(concat('%',#{lawsRemark}),'%') + + + + and SAR_LAWS_STAND_INFO.country = #{country} + + + + and SAR_LAWS_MENU.MENU_ID in + + #{item} + + + + + + and SAR_LAWS_MENU.MENU_ID in + + #{item} + + + + + and SAR_LAWS_STAND_INFO.id in + + #{item} + + + + + + and SAR_LAWS_STAND_INFO.id in ( + select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0 + and (collect_type='INLAND_STAND' or collect_type='FOREIGN_STAND') + and TS_PERSON_COLLECT.user_id=#{userId} + ) + + + + + LEFT JOIN TS_DICTYPE dicstandTextStatus ON ( + dicstandTextStatus.dic_type_code = a.LAWS_TEXT_STATE + AND dicstandTextStatus.dic_id IS NOT NULL + AND dicstandTextStatus.valid_flag = 0 + ) + left join SAR_LAWS_ATTR_INFO on (SAR_LAWS_ATTR_INFO.LAWS_ID = a.id and SAR_LAWS_ATTR_INFO.valid_flag=0) + where 1=1 + + + and (${advanceSearchStr}) + + + + + + DISTINCT SAR_LAWS_STAND_INFO.ID, + SAR_LAWS_STAND_INFO.LAWS_TYPE, + SAR_LAWS_STAND_INFO.LAWS_NUMBER, + SAR_LAWS_STAND_INFO.LAWS_NAME, + SAR_LAWS_STAND_INFO.LAWS_EN_NAME, + SAR_LAWS_STAND_INFO.LAWS_NO, + SAR_LAWS_STAND_INFO.ISSUE_TIME, + SAR_LAWS_STAND_INFO.ISSUE_COMPANY, + SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START, + SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END, + SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE, + SAR_LAWS_STAND_INFO.LAWS_SYQY, + SAR_LAWS_STAND_INFO.LAWS_SYCX, + SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS, + SAR_LAWS_STAND_INFO.LAWS_YEAR, + SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM, + SAR_LAWS_STAND_INFO.LAWS_BULLETIN, + SAR_LAWS_STAND_INFO.LAWS_LABEL, + SAR_LAWS_STAND_INFO.LAWS_REMARK, + SAR_LAWS_STAND_INFO.COUNTRY, + SAR_LAWS_STAND_INFO.MODIFY_TIME + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml new file mode 100644 index 00000000..ee57f3ee --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsVal/SarLawsValMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + modify_time, creation_time, valid_flag, property_val, property_type, laws_id, id + + + + + where 1=1 + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + and creation_time ${creationTimeOperator} #{creationTime} + + + and creation_time >= #{creationTime1} + + + and creation_time <= #{creationTime2} + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and property_val ${propertyValOperator} #{propertyVal} + + + and property_type ${propertyTypeOperator} #{propertyType} + + + and laws_id ${lawsIdOperator} #{lawsId} + + + and id ${idOperator} #{id} + + + + + + + insert into SAR_LAWS_VAL() + values (#{modifyTime, jdbcType=TIMESTAMP}, #{creationTime, jdbcType=TIMESTAMP}, #{validFlag, jdbcType=INTEGER}, #{propertyVal, jdbcType=VARCHAR}, #{propertyType, jdbcType=VARCHAR}, #{lawsId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}) + + + + + insert into SAR_LAWS_VAL + + modify_time, + creation_time, + valid_flag, + property_val, + property_type, + laws_id, + id, + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{propertyVal, jdbcType=VARCHAR}, + #{propertyType, jdbcType=VARCHAR}, + #{lawsId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + + + + + + + + + + + + + delete from SAR_LAWS_VAL + where laws_id = #{lawsId} + + + + insert into SAR_LAWS_VAL + () + values + + (#{item.modifyTime, jdbcType=TIMESTAMP}, + #{item.creationTime, jdbcType=TIMESTAMP}, + #{item.validFlag, jdbcType=INTEGER}, + #{item.propertyVal, jdbcType=VARCHAR}, + #{item.propertyType, jdbcType=VARCHAR}, + #{item.lawsId, jdbcType=VARCHAR}, + #{item.id, jdbcType=VARCHAR}) + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml index 59141adc..951c8e74 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml @@ -30,6 +30,7 @@ p.name like concat(concat('%',#{name}),'%') + order by locate(#{name},p.name) @@ -37,6 +38,20 @@ + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml index e6d90b5e..e57eafad 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml @@ -41,57 +41,59 @@ SELECT - sar_stand_project_library.*, - tu.UNAME as uName + library.*, + team.`name` as uName FROM - sar_stand_project_library - LEFT JOIN ts_user tu ON project_manager = tu.USID + sar_stand_project_library as library + LEFT JOIN sar_stand_project_team as team + ON team.project_code = library.project_number WHERE - id NOT IN ( SELECT project_id FROM sar_stand_project_relation ) + library.id NOT IN ( SELECT project_id FROM sar_stand_project_relation ) - id IN ( SELECT project_id FROM sar_stand_project_relation ) + library.id IN ( SELECT project_id FROM sar_stand_project_relation ) 1=1 + - AND project_number LIKE concat(concat('%',#{qu.projectNumber}),'%') + AND library.project_number LIKE concat(concat('%',#{qu.projectNumber}),'%') - AND project_name LIKE concat(concat('%',#{qu.projectName}),'%') + AND library.project_name LIKE concat(concat('%',#{qu.projectName}),'%') - AND project_classification LIKE concat(concat('%',#{qu.projectClassification}),'%') + AND library.project_classification LIKE concat(concat('%',#{qu.projectClassification}),'%') - AND project_platfor LIKE concat(concat('%',#{qu.projectPlatfor}),'%') + AND library.project_platfor LIKE concat(concat('%',#{qu.projectPlatfor}),'%') - AND project_group LIKE concat(concat('%',#{qu.projectGroup}),'%') + AND library.project_group LIKE concat(concat('%',#{qu.projectGroup}),'%') - AND project_status LIKE concat(concat('%',#{qu.projectStatus}),'%') + AND library.project_status LIKE concat(concat('%',#{qu.projectStatus}),'%') - AND current_node LIKE concat(concat('%',#{qu.currentNode}),'%') + AND library.current_node LIKE concat(concat('%',#{qu.currentNode}),'%') - AND project_level LIKE concat(concat('%',#{qu.projectLevel}),'%') + AND library.project_level LIKE concat(concat('%',#{qu.projectLevel}),'%') - AND project_manager LIKE concat(concat('%',#{qu.projectManager}),'%') + AND team.name LIKE concat(concat('%',#{qu.projectManager}),'%') - AND product_line LIKE concat(concat('%',#{qu.productLine}),'%') + AND library.product_line LIKE concat(concat('%',#{qu.productLine}),'%') - AND project_start_date >= #{qu.projectStartDate} + AND library.project_start_date >= #{qu.projectStartDate} - AND project_end_date <= #{qu.projectEndDate} + AND library.project_end_date <= #{qu.projectEndDate} @@ -158,54 +162,61 @@ - select * from + select + a.*, + SAR_STAND_ATTR_INFO.CHJL AS CHJL, + dicstandSort.DIC_TYPE_NAME AS standSortShow, + dicstandTextStatus.DIC_TYPE_NAME AS standTextStatusShow, + ( + CASE + WHEN SAR_STAND_ATTR_INFO.SSRQ ='' THEN '9999-01-01' + ELSE SAR_STAND_ATTR_INFO.SSRQ + END + ) AS SSRQ, + ( + CASE + WHEN SAR_STAND_ATTR_INFO.ZCCSSRQ ='' THEN '9999-01-01' + ELSE SAR_STAND_ATTR_INFO.ZCCSSRQ + END + ) AS ZCCSSRQ, + ( + CASE + WHEN SAR_STAND_ATTR_INFO.XCXSSRQ ='' THEN '9999-01-01' + ELSE SAR_STAND_ATTR_INFO.XCXSSRQ + END + ) AS XCXSSRQ + from (select tmp_tb.* from - (select - ,SAR_STAND_ATTR_INFO.CHJL AS CHJL, - ( - CASE - WHEN ZCCSSRQ = 'TBD' THEN '6999-01-01' - WHEN ZCCSSRQ = '已发布' THEN '7000-01-01' - WHEN ZCCSSRQ = '已实施' THEN '7999-01-01' - WHEN ZCCSSRQ = 'N/A' THEN '8999-01-01' - WHEN ZCCSSRQ IS NULL THEN '9999-01-01' - WHEN ZCCSSRQ ='' THEN '9999-01-01' - ELSE ZCCSSRQ - END - ) AS ZCCSSRQPAIXU, - ( - CASE - WHEN XCXSSRQ = 'TBD' THEN '6999-01-01' - WHEN XCXSSRQ = '已发布' THEN '7000-01-01' - WHEN XCXSSRQ = '已实施' THEN '7999-01-01' - WHEN XCXSSRQ = 'N/A' THEN '8999-01-01' - WHEN XCXSSRQ IS NULL THEN '9999-01-01' - WHEN XCXSSRQ ='' THEN '9999-01-01' - ELSE XCXSSRQ - END - ) AS XCXSSRQPAIXU, - ( - CASE - WHEN SAR_STANDARDS_INFO.issue_time = 'TBD' THEN '6999-01-01' - WHEN SAR_STANDARDS_INFO.issue_time = '已发布' THEN '7000-01-01' - WHEN SAR_STANDARDS_INFO.issue_time = '已实施' THEN '7999-01-01' - WHEN SAR_STANDARDS_INFO.issue_time = 'N/A' THEN '8999-01-01' - WHEN SAR_STANDARDS_INFO.issue_time IS NULL THEN '9999-01-01' - WHEN SAR_STANDARDS_INFO.issue_time ='' THEN '9999-01-01' - ELSE SAR_STANDARDS_INFO.issue_time - END - ) AS issueTime + SELECT + from SAR_STANDARDS_INFO - - GROUP BY ,CHJL,SAR_STAND_ATTR_INFO.XCXSSRQ,SAR_STAND_ATTR_INFO.ZCCSSRQ,SAR_STAND_ATTR_INFO.SSRQ + + ) tmp_tb + + limit ${pager.startIndex-1},${pageSize}) a + order by - ${orderBy1} ${order1},SAR_STANDARDS_INFO.id - ) tmp_tb limit ${pager.startIndex-1},${pageSize}) a + + ${orderByA} ${order1},a.id @@ -598,7 +849,8 @@ @@ -719,11 +971,16 @@ + select * from wg_dept where wg_dept.wg_id =#{data} + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/wgMeetingInfo/WgMeetingInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/wgMeetingInfo/WgMeetingInfoMapper.xml new file mode 100644 index 00000000..986f3f0c --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/wgMeetingInfo/WgMeetingInfoMapper.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/wgNetInfo/WgNetInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/wgNetInfo/WgNetInfoMapper.xml new file mode 100644 index 00000000..f6322188 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/wgNetInfo/WgNetInfoMapper.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/wgPayInfo/WgPayInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/wgPayInfo/WgPayInfoMapper.xml new file mode 100644 index 00000000..18d982b1 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/wgPayInfo/WgPayInfoMapper.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/wgStandorpolicyInfo/WgStandorpolicyInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/wgStandorpolicyInfo/WgStandorpolicyInfoMapper.xml new file mode 100644 index 00000000..636a0b83 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/wgStandorpolicyInfo/WgStandorpolicyInfoMapper.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/wg_work_group/WgWorkGroupMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/wg_work_group/WgWorkGroupMapper.xml new file mode 100644 index 00000000..9256d02a --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/wg_work_group/WgWorkGroupMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java index 5ffdf75d..2e91e397 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/controller/PersonCollectEOController.java @@ -43,10 +43,10 @@ public class PersonCollectEOController extends BaseController { **/ @ApiOperation(value = "|PersonCollectEO|分页查询") @GetMapping("/page") - public ResponseMessage> page(Integer pageNo, Integer pageSize, String collectTitle, String userId) throws Exception { + public ResponseMessage> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) throws Exception { - return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,userId); + return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId); } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/page/PersonCollectEOPage.java b/adc-da-sys/src/main/java/com/adc/da/person/page/PersonCollectEOPage.java index f2ee78b6..44190dcb 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/page/PersonCollectEOPage.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/page/PersonCollectEOPage.java @@ -25,6 +25,7 @@ public class PersonCollectEOPage extends BasePage { private String validFlag; private String validFlagOperator = "="; private String collectResId; + private List collectResIds; private String collectResIdOperator = "LIKE"; private String collectInfoUri; private String collectInfoUriOperator = "LIKE"; @@ -40,6 +41,14 @@ public class PersonCollectEOPage extends BasePage { private List collectTypeList = new ArrayList<>(); + public List getCollectResIds() { + return collectResIds; + } + + public void setCollectResIds(List collectResIds) { + this.collectResIds = collectResIds; + } + public String getModifyTime() { return this.modifyTime; } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java index b21e938f..de22ce6c 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/IPersonCollectEOService.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; public interface IPersonCollectEOService extends IService { @@ -18,12 +19,14 @@ public interface IPersonCollectEOService extends IService { public String queryCollectByUserAndId(String collectResId); + public Map queryCollectByUserAndIds(List collectResIds); + public int deleteByIdList(List idList); public int deleteByResId(String resId); int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception; - public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String modeType, String collectTitle); + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId); } diff --git a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java index fc781203..9dd19ed2 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/service/impl/PersonCollectEOServiceImpl.java @@ -19,7 +19,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** @@ -96,6 +97,22 @@ public class PersonCollectEOServiceImpl extends ServiceImpl queryCollectByUserAndIds(List collectResIds) { + Map resultMap = new TreeMap<>(); + String userId = LoginUserUtil.getUserId(); + PersonCollectEOPage page = new PersonCollectEOPage(); + page.setUserId(userId); + page.setValidFlag("0"); + page.setCollectResIds(collectResIds); + List getCollects = this.baseMapper.queryByList(page); + List distinctList = getCollects.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection( + () -> new TreeSet<>(Comparator.comparing(o -> o.getCollectResId()))), ArrayList::new)); + resultMap = distinctList.stream().collect(Collectors.toMap(TsPersonCollect::getCollectResId, TsPersonCollect::getId)); + return resultMap; + } + public int deleteByIdList(List idList){ return this.baseMapper.deleteByIdList(idList); } @@ -112,13 +129,15 @@ public class PersonCollectEOServiceImpl extends ServiceImpl> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String userId) { + public ResponseMessage> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) { BasePage basePage = new BasePage(); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("user_id",userId); if (collectTitle != null && !collectTitle.equals("")){ wrapper.like("collect_title",collectTitle); - + } + if (modeType != null && !modeType.equals("")){ + wrapper.eq("collect_type",modeType); } if (pageNo != null) { diff --git a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java index 760f65cd..2dba6a45 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java @@ -30,7 +30,7 @@ public class SyncUserService { */ public List syncFotonUser()throws Exception{ String appuser = "app_slrs"; - String appkey = "wj5iDTqyguQCxnsoo5VU21BoRSZqevhI"; + String appkey = "Fxi5LHbI5yGbQQDpVp86GcCdXeC5Bjfe"; AuthUtils util = new AuthUtils(appuser, appkey, null); List json=new ArrayList<>(); @@ -45,7 +45,7 @@ public class SyncUserService { params.put("basedn", "ou=People,o=foton.com.cn,o=isp"); System.out.println("RequestBody:" + params.toString()); // 用户测试 - String rs = util.getResponseFromServer("http://172.24.224.42:82/rest/users/getUserList", params); + String rs = util.getResponseFromServer("http://idmsync.foton.com.cn/rest/users/getUserList", params); json.add(rs); @@ -76,7 +76,7 @@ public class SyncUserService { public List syncFotonOrg()throws Exception{ String appuser = "app_slrs"; - String appkey = "wj5iDTqyguQCxnsoo5VU21BoRSZqevhI"; + String appkey = "Fxi5LHbI5yGbQQDpVp86GcCdXeC5Bjfe"; AuthUtils util = new AuthUtils(appuser, appkey, null); byte[] cookie = null; @@ -90,7 +90,7 @@ public class SyncUserService { params.put("filter", "(orgNumber=*)"); params.put("basedn", "ou=Organizations,o=foton.com.cn,o=isp"); // 组织测试 - String rs = util.getResponseFromServer("http://172.24.224.42:82/rest/orgs/getOrgList", params); + String rs = util.getResponseFromServer("http://idmsync.foton.com.cn/rest/orgs/getOrgList", params); json.add(rs); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java index 5f2fb13f..98c3ccaf 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java @@ -101,6 +101,8 @@ public class DicTypeEOServiceImpl extends ServiceImpl im if(!StringUtils.isNotEmpty(dicTypeEO.getDicTypeCode())){ dicTypeEO.setDicTypeCode(UUIDUtils.randomUUID10()); } + }else { + dicTypeEO.setDicTypeCode(dicTypeEO.getDicTypeName()); } String id = UUIDUtils.randomUUID20(); dicTypeEO.setId(id); diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/person/PersonCollectEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/person/PersonCollectEOMapper.xml index 230c587c..6300499b 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/person/PersonCollectEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/person/PersonCollectEOMapper.xml @@ -49,6 +49,12 @@ and collect_res_id ${collectResIdOperator} #{collectResId} + + and collect_res_id IN + + #{item} + + and collect_info_uri ${collectInfoUriOperator} #{collectInfoUri}