| | |
| | | @Autowired |
| | | private FormulaServiceImpl formulaService; |
| | | |
| | | // 注入事务管理器 |
| | | // @Autowired |
| | | // private TransactionTemplate transactionTemplate; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList,BladeUser user) throws Exception { |
| | |
| | | if(!CollectionUtils.isEmpty(editCodeDOs)){ |
| | | codeAllCodeService.updateBatchById(editCodeDOs); |
| | | } |
| | | // 获取事务定义 |
| | | //DefaultTransactionDefinition def = new DefaultTransactionDefinition(); |
| | | // 开始事务 |
| | | //TransactionStatus status = transactionTemplate.getTransactionManager().getTransaction(def); |
| | | if(!CollectionUtils.isEmpty(addCodeDOs)){ |
| | | Map<String, String> statusMap = addCodeDOs.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); |
| | | addCodeDOs.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { |
| | |
| | | for (CodeAllCode codeAllCode : takeBack) { |
| | | codeAllCode.setTs(new Date()); |
| | | codeAllCode.setLastModifyTime(new Date()); |
| | | codeAllCode.setLastModifier(AuthUtil.getUserId().toString()); |
| | | Iterator<CodeAllCode> iterator = addCodeDOs.iterator(); |
| | | codeAllCode.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUserAccount()); |
| | | for (int i = 0; i < addCodeDOs.size(); i++) { |
| | | if(codeAllCode.getId().equals(addCodeDOs.get(i).getId())){ |
| | | codeAllCode.setCreateCodeOid(addCodeDOs.get(i).getCreateCodeOid()); |
| | | codeAllCode.setLcStatus(addCodeDOs.get(i).getLcStatus()); |
| | | addCodeDOs.remove(i); |
| | | } |
| | | } |
| | | /*Iterator<CodeAllCode> iterator = addCodeDOs.iterator(); |
| | | while (iterator.hasNext()){ |
| | | CodeAllCode next = iterator.next(); |
| | | if(codeAllCode.getId().equals(next.getId())){ |
| | | codeAllCode.setCreateCodeOid(next.getCreateCodeOid()); |
| | | codeAllCode.setLcStatus(next.getLcStatus()); |
| | | // TODO: 这儿先暂时注释掉,没看懂这儿为什么要这样做,导致报错 |
| | | //iterator.remove(); |
| | | iterator.remove(); |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | if(takeBack.size()>0){ |
| | | codeAllCodeService.updateBatchById(takeBack); |
| | |
| | | |
| | | codeAllCodeService.saveBatch(addCodeDOs); |
| | | } |
| | | |
| | | // try { |
| | | mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList); |
| | | // 提交事务 |
| | | //transactionTemplate.getTransactionManager().commit(status); |
| | | // }catch (Exception e){ |
| | | // // 出现异常时回滚事务 |
| | | // transactionTemplate.getTransactionManager().rollback(status); |
| | | // } |
| | | |
| | | } |
| | | return codeList; |
| | | }else { |
| | |
| | | codeAllCodeService.updateBatchById(takeBack); |
| | | } |
| | | codeAllCodeService.saveBatch(allCodeDOList); |
| | | // iCodeWupinService.saveBatch(dataCBOList); |
| | | mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList); |
| | | // batchCBO.getCreateCbos().stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmName())).forEach(s -> { |
| | | // s.setLcStatus(statusMap.get(s.getOid())); |
| | | // try { |
| | | // s.setAttributeValue("lcstatus",statusMap.get(s.getOid())); |
| | | // } catch (VCIError e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // }); |
| | | } |
| | | // WebUtil.setPersistence(true); |
| | | // boService.persistenceBatch(batchCBO); |
| | | return codeList; |
| | | } |
| | | |