1、修改回收验证回收的改成发布的,里面的数据oid也要改成最新的的数据oid。
已修改1个文件
44 ■■■■■ 文件已修改
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -31,6 +31,7 @@
import com.vci.ubcs.starter.web.util.VciDateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -278,8 +279,27 @@
                    QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
                    wrapper.eq("CREATECODEBTM",addCodeDOs.get(0).getCreateCodeBtm());
                    wrapper.in("ID",addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
                    if(codeAllCodeService.count(wrapper)>0){
                    List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
                    List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
                    if(codeAllCodes.size()>takeBack.size()){
                        throw new ServiceException("生成编码数据ID已有历史记录,请确认如下生成的ID数据:"+ addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
                    }
                    for (CodeAllCode codeAllCode : takeBack) {
                        codeAllCode.setLcStatus("Released");
                        codeAllCode.setTs(new Date());
                        codeAllCode.setLastModifyTime(new Date());
                        codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
                        Iterator<CodeAllCode> iterator = addCodeDOs.iterator();
                        while (iterator.hasNext()){
                            CodeAllCode next = iterator.next();
                            if(codeAllCode.getId().equals(next.getId())){
                                codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
                                iterator.remove();
                            }
                        }
                    }
                    if(takeBack.size()>0){
                        codeAllCodeService.updateBatchById(takeBack);
                    }
                    codeAllCodeService.saveBatch(addCodeDOs);
                }
@@ -365,9 +385,29 @@
            QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
            wrapper.eq("CREATECODEBTM",allCodeDOList.get(0).getCreateCodeBtm());
            wrapper.in("ID",allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
            if(codeAllCodeService.count(wrapper)>0){
            List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
            List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
            if(codeAllCodes.size()>takeBack.size()){
                throw new ServiceException("生成编码数据ID已有历史记录,请确认如下生成的ID数据:"+ allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
            }
            for (CodeAllCode codeAllCode : takeBack) {
                codeAllCode.setLcStatus("Released");
                codeAllCode.setTs(new Date());
                codeAllCode.setLastModifyTime(new Date());
                codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
                Iterator<CodeAllCode> iterator = allCodeDOList.iterator();
                while (iterator.hasNext()){
                    CodeAllCode next = iterator.next();
                    if(codeAllCode.getId().equals(next.getId())){
                        codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
                        iterator.remove();
                    }
                }
            }
            if(takeBack.size()>0){
                codeAllCodeService.updateBatchById(takeBack);
            }
            codeAllCodeService.saveBatch(allCodeDOList);
//            iCodeWupinService.saveBatch(dataCBOList);
            mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);