| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.xml.ws.WebServiceContext; |
| | | import javax.xml.ws.handler.MessageContext; |
| | | import java.io.PrintWriter; |
| | | import java.io.StringWriter; |
| | | import java.util.*; |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | import java.util.concurrent.ForkJoinPool; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | |
| | | @Service |
| | | @Slf4j |
| | | @VciWebservice(path = "/universalInterface") |
| | | public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI { |
| | | public class UniversalInterfaceImpl implements UniversalInterfaceI { |
| | | |
| | | /*** |
| | | * 操作类型 |
| | |
| | | */ |
| | | @Value("${bzApply.seriesFlow:seriesFlow}") |
| | | private String seriesFlow; |
| | | |
| | | /*** |
| | | * 是否变更系列 |
| | | */ |
| | | @Value("${bzApply.isEditSeries:isEditSeries}") |
| | | private String isEditSeries; |
| | | |
| | | /*** |
| | | * 控制是否写入值的码段名称 |
| | | */ |
| | |
| | | */ |
| | | @Value("${bzApply.yearSecName:年代号}") |
| | | private String yearSecName; |
| | | |
| | | |
| | | @Value("${code.universalinterface.checkSystemConfig:true}") |
| | | public boolean CODE_CHECKCONFIG; |
| | |
| | | */ |
| | | @Resource |
| | | private IDockingLogeService dockingLogeService; |
| | | |
| | | @Resource |
| | | private IPasswordFreeLoginService passwordFreeLoginService; |
| | | |
| | | /** |
| | | * 自定义并发ForkJoinPool |
| | | */ |
| | | private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors() - 1); |
| | | |
| | | private static String separator="##VCI##"; |
| | | private String errorid="0"; |
| | |
| | | throw new Throwable("用户鉴权失败."); |
| | | } |
| | | List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | InterParameterVO finalInterParameterVO = interParameterVO; |
| | | //InterParameterVO finalInterParameterVO = interParameterVO; |
| | | //这是账号信息 |
| | | SessionInfo sessionInfo = new SessionInfo(); |
| | | sessionInfo.setUserId(userVo.getUserName()); |
| | |
| | | // List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>(); |
| | | String finalSystemId = systemId; |
| | | classVOList.stream().forEach(classVO -> { |
| | | log.info("参数:分类COde:" + classVO.getClassCode()); |
| | | log.info("参数:分类Code:" + classVO.getClassCode()); |
| | | boolean isCodeOrGroupCode=false; |
| | | LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); |
| | | String libray =""; |
| | |
| | | */ |
| | | @Override |
| | | public ResultOrgData syncDataForPerson(PersonData personData) { |
| | | |
| | | boolean isUsedFlag= personAndDeptConfig.isUsedFlag(); |
| | | ResultOrgData resultOrgData=new ResultOrgData(); |
| | | |
| | |
| | | ).collect(Collectors.toList()); |
| | | |
| | | List<PersonMasterData> personMasterDataList= personData.getMasterData(); |
| | | List<Map> dataList=new ArrayList<>(); |
| | | |
| | | //List<Map> dataList=new ArrayList<>(); |
| | | List<String> codeList=new ArrayList<>(); |
| | | |
| | | List<ApplyDataVO> applyDataVOList=new ArrayList<>(); |
| | |
| | | |
| | | object.setProp(proppertyVOList); |
| | | if(personMasterData.getDr()==1){ |
| | | object.setOperate("delete");//操作类型 |
| | | //操作类型 |
| | | object.setOperate("delete"); |
| | | deleteDataVOList.add(object); |
| | | }else{ |
| | | String worker_category=personMasterData.getWorker_category(); |
| | | |
| | | //String worker_category=personMasterData.getWorker_category(); |
| | | object.setOperate("create"); |
| | | applyDataVOList.add(object); |
| | | } |
| | |
| | | sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0]))); |
| | | sb.append(")"); |
| | | List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString()); |
| | | |
| | | DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true); |
| | | List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList); |
| | | ApplyDatasVO applyDatasVO=new ApplyDatasVO(); |
| | | ApplyDatasVO editDatasVO=new ApplyDatasVO(); |
| | |
| | | throw new Throwable("编码规则"); |
| | | } |
| | | List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>(); |
| | | dataObjectVO.getRowData().parallelStream().forEach(rowData->{ |
| | | final List<RowDatas> rowDatas = dataObjectVO.getRowData(); |
| | | rowDatas.parallelStream().forEach(rowData->{ |
| | | String mesg=""; |
| | | try { |
| | | CodeOrderDTO orderDTO = new CodeOrderDTO(); |
| | |
| | | resultDataObjectDetailDOs.addAll(xDOs); |
| | | boolean finalSuccess1 = success.get(); |
| | | String finalMessage1 = message; |
| | | // 限制线程并行数量 |
| | | customForkJoinPool.submit(()->{ |
| | | resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{ |
| | | ResultMdMapping resultMdMapping=new ResultMdMapping(); |
| | | resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId()); |
| | |
| | | resultMdMapping.setSubMdMappings(null); |
| | | resultMdMappingList.add(resultMdMapping); |
| | | }); |
| | | }).join(); |
| | | log.info("end:申请获取完毕"); |
| | | } |
| | | }catch (Throwable e){ |
| | |
| | | resultOrgData.setMessage(message); |
| | | resultOrgData.setSuccess(success.get()); |
| | | resultOrgData.setMdMappings(resultMdMappingList); |
| | | Object object = JSONObject.toJSON(resultOrgData); |
| | | //Object object = JSONObject.toJSON(resultOrgData); |
| | | } |
| | | String resultStr = JSONObject.toJSONString(resultOrgData); |
| | | String data = JSONObject.toJSONString(personData); |
| | |
| | | public ResultOrgData syncDataForOrg(OrgData orgData) { |
| | | boolean isUsedFlag= personAndDeptConfig.isUsedFlag(); |
| | | ResultOrgData resultOrgData=new ResultOrgData(); |
| | | boolean isPersonApplyGroupCode= personAndDeptConfig.isDeptApplyGroupCode(); |
| | | // boolean isPersonApplyGroupCode= personAndDeptConfig.isDeptApplyGroupCode(); |
| | | List<ResultMdMapping> resultMdMappingList=new ArrayList<>(); |
| | | AtomicBoolean success= new AtomicBoolean(true); |
| | | String message=""; |
| | |
| | | List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && |
| | | ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) |
| | | ).collect(Collectors.toList()); |
| | | List<Map> dataList=new ArrayList<>(); |
| | | List<String> codeList=new ArrayList<>(); |
| | | List<ApplyDataVO> applyDataVOList=new ArrayList<>(); |
| | | List<ApplyDataVO> deleteDataVOList=new ArrayList<>(); |
| | |
| | | object.setCode(orgMasterData.getMdm_code());//编码 |
| | | object.setCreator(orgMasterData.getCreator());//创建者 |
| | | object.setEditor(orgMasterData.getModifier());//修改者 |
| | | object.setId(orgMasterData.getPk_mdm());//主键 |
| | | object.setId(orgMasterData.getDepartment_code());//主键 |
| | | object.setStatus(CodeDefaultLC.RELEASED.getValue());//状态则需要判断 |
| | | Map<String,String> dataMap= VciBaseUtil.objectToMapString(orgMasterData); |
| | | List<ProppertyVO> proppertyVOList=new ArrayList<>(); |
| | |
| | | object.setOperate("delete");//操作类型 |
| | | deleteDataVOList.add(object); |
| | | }else{ |
| | | |
| | | object.setOperate("create"); |
| | | applyDataVOList.add(object); |
| | | } |
| | |
| | | throw new Throwable("根据业务类型未查询到业务类型对象!"); |
| | | } |
| | | String tableName = btmTypeVO.getTableName(); |
| | | if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { |
| | | if (StringUtils.isBlank(tableName)) { |
| | | throw new Throwable("根据业务类型未查询到业务类型相关联的表"); |
| | | } |
| | | StringBuffer sb=new StringBuffer(); |
| | |
| | | sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0]))); |
| | | sb.append(")"); |
| | | List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString()); |
| | | DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true); |
| | | List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList); |
| | | ApplyDatasVO applyDatasVO=new ApplyDatasVO(); |
| | | ApplyDatasVO editDatasVO=new ApplyDatasVO(); |
| | |
| | | throw new Throwable("编码规则"); |
| | | } |
| | | List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>(); |
| | | //限制线程并行数量 |
| | | customForkJoinPool.submit(()->{ |
| | | dataObjectVO.getRowData().parallelStream().forEach(rowData->{ |
| | | String mesg=""; |
| | | try { |
| | |
| | | orderDTO.setLcStatus(rowData.getStatus()); |
| | | if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) { |
| | | ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> { |
| | | if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//规则之定义为可变码段存储主数据传递过来的数据 |
| | | if (codeBasicSecVO.getSecType().equals("codevariablesec")) { |
| | | //规则之定义为可变码段存储主数据传递过来的数据 |
| | | CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO(); |
| | | CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); |
| | | CodeOrderSecDTO.setSecValue(rowData.getCode()); |
| | | CodeOrderSecDTO.setSecValue(rowData.getOid()); |
| | | codeOrderSecDTOList.add(CodeOrderSecDTO); |
| | | |
| | | } |
| | | }); |
| | | } |
| | |
| | | orderDTO.setSecDTOList(codeOrderSecDTOList);//存储编码 |
| | | orderDTO.setData(rowData.getFiledValue()); |
| | | String code=engineService.addSaveCodeNotauthUser(orderDTO,false); |
| | | if(StringUtils.isNotBlank(code)) { |
| | | /*if(StringUtils.isNotBlank(code)) { |
| | | //rowData.setCode(code); |
| | | StringBuffer sqlsb = new StringBuffer(); |
| | | sqlsb.append(" select * from "); |
| | |
| | | mesg = "数据保存成功,等待申请集团码"; |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | } catch (Exception e) { |
| | | mesg=e.getMessage(); |
| | | e.printStackTrace(); |
| | |
| | | xDOs.add(x); |
| | | } |
| | | }); |
| | | }).join(); |
| | | resultDataObjectDetailDOs.addAll(xDOs); |
| | | boolean finalSuccess1 = success.get(); |
| | | String finalMessage1 = message; |
| | |
| | | throw new Throwable("用户鉴权失败"); |
| | | } |
| | | List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | InterParameterVO finalInterParameterVO = interParameterVO; |
| | | //InterParameterVO finalInterParameterVO = interParameterVO; |
| | | //这是账号信息 |
| | | SessionInfo sessionInfo = new SessionInfo(); |
| | | sessionInfo.setUserId(userVo.getUserName()); |
| | |
| | | sb.append(" and codeclsfid in (" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) +")"); |
| | | sb.append(" and Lcstatus in (" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) +")"); |
| | | List<Map<String,String>> newDataList= commonsMapper.queryByOnlySqlForMap(sb.toString()); |
| | | DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true); |
| | | List<ClientBusinessObject> clientBusinessObjects= ChangeMapTOClientBusinessObjects(newDataList); |
| | | List<com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO> dataObjectVOS=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(clientBusinessObjects)){ |
| | |
| | | */ |
| | | public void getConfigDatas(String systemId,String libray, ApplyBZDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { |
| | | |
| | | LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); |
| | | // LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); |
| | | //如果将数据转换成所需要的数据对象 |
| | | Map<String, String> attrMapConfigMap=new HashMap<>(); |
| | | Map<String, String> propMaps=new HashMap<>(); |