| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyMapper; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyProcessTempMapper; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyProcessTempService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; |
| | | import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper; |
| | | import com.vci.ubcs.common.utils.PageDO2PageVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.service.RevisionModelUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.PageHelper; |
| | | import com.vci.ubcs.starter.web.util.BeanUtil; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | |
| | | IPage<CodeClassifyProcessTempVO> pageList = new Page<CodeClassifyProcessTempVO>(); |
| | | //DataGrid<CodeClassifyProcessTempVO> dataGrid=new DataGrid<>(); |
| | | if (!CollectionUtils.isEmpty(doList.getRecords())) { |
| | | pageList.setRecords(codeClassifyProcessTempDO2VOs(doList.getRecords())); |
| | | pageList.setRecords(CodeClassifyProcessTempWrapper.build().listVO(doList.getRecords())); |
| | | //分页参数转到pageVO对象 |
| | | pageList = PageDO2PageVO.pageDO2PageVO(doList,pageList); |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public CodeClassifyProcessTempVO addSave(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"需要添加的数据对象",codeClassifyProcessTempDTO.getProcessVersion(),"流程模板的版本号",codeClassifyProcessTempDTO.getCodeprocessuse(),"模板流程的用途"); |
| | | if (StringUtils.isBlank(codeClassifyProcessTempDTO.getCodeprocessuse())){ |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"需要添加的数据对象",codeClassifyProcessTempDTO.getProcessVersion(),"流程模板的版本号",codeClassifyProcessTempDTO.getCodeProcessUse(),"模板流程的用途"); |
| | | if (StringUtils.isBlank(codeClassifyProcessTempDTO.getCodeProcessUse())){ |
| | | throw new VciBaseException("模板流程用途不能为空"); |
| | | } |
| | | Long count = countProcessTemplate(codeClassifyProcessTempDTO); |
| | |
| | | //将DTO转换为DO |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = new CodeClassifyProcessTemp(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempDO = DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyProcessTempDO,"codeclsflowtemp"); |
| | | codeClassifyProcessTempMapper.insert(codeClassifyProcessTempDO); |
| | | //因为业务类型本身没有控制版本,所有强制给版本revisionValue设置值,平台也会变成空。。。。 |
| | | //版本号不能使用默认的属性 |
| | | return codeClassifyProcessTempDO2VO(codeClassifyProcessTempDO); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO(codeClassifyProcessTempDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | //将DTO转换为DO |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = selectByOid(codeClassifyProcessTempDTO.getOid()); |
| | | revisionModelUtil.copyFromDTOIgnore(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempDO = DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyProcessTempDO); |
| | | codeClassifyProcessTempMapper.updateById(codeClassifyProcessTempDO); |
| | | return codeClassifyProcessTempDO2VO(codeClassifyProcessTempDO); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO(codeClassifyProcessTempDO); |
| | | } |
| | | |
| | | /** |
| | |
| | | VciBaseUtil.alertNotNull(codeClassifyProcessTempDTO,"分类使用的流程模板数据对象",codeClassifyProcessTempDTO.getOid(),"分类使用的流程模板的主键"); |
| | | CodeClassifyProcessTemp codeClassifyProcessTempDO = selectByOid(codeClassifyProcessTempDTO.getOid()); |
| | | R baseResult = checkIsCanDeleteForDO(codeClassifyProcessTempDTO,codeClassifyProcessTempDO); |
| | | if(!baseResult.isSuccess()) { |
| | | if(baseResult.isSuccess()) { |
| | | }else{ |
| | | return baseResult; |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public CodeClassifyProcessTempVO getObjectByOid(String oid) throws VciBaseException{ |
| | | return codeClassifyProcessTempDO2VO(selectByOid(oid)); |
| | | return CodeClassifyProcessTempWrapper.build().entityVO((selectByOid(oid))); |
| | | } |
| | | |
| | | /** |
| | |
| | | public Collection<CodeClassifyProcessTempVO> listCodeClassifyProcessTempByOids(Collection<String> oidCollections) throws VciBaseException{ |
| | | VciBaseUtil.alertNotNull(oidCollections,"数据对象主键集合"); |
| | | List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = listCodeClassifyProcessTempDOByOidCollections(oidCollections); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempDOList); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempDOList); |
| | | } |
| | | |
| | | /** |
| | |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getClassifyTemplateOid, codeTemplateOid) |
| | | .eq(CodeClassifyProcessTemp::getCodeProcessUse, processUse); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempMapper.selectList(wrapper)); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempMapper.selectList(wrapper)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public List<CodeClassifyProcessTempVO> selectByWrapper(LambdaQueryWrapper<CodeClassifyProcessTemp> queryWrapper) { |
| | | List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList= codeClassifyProcessTempMapper.selectList(queryWrapper); |
| | | return codeClassifyProcessTempDO2VOs(codeClassifyProcessTempDOList); |
| | | return CodeClassifyProcessTempWrapper.build().listVO(codeClassifyProcessTempDOList); |
| | | } |
| | | |
| | | /** |
| | |
| | | private R checkIsCanDeleteForDO(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO, CodeClassifyProcessTemp codeClassifyProcessTempDO) { |
| | | CodeClassifyProcessTemp tempDO = new CodeClassifyProcessTemp(); |
| | | BeanUtil.convert(codeClassifyProcessTempDTO,tempDO); |
| | | if (!checkTs(tempDO)) { |
| | | if (!checkTs(tempDO,codeClassifyProcessTempDO)) { |
| | | return R.fail(TS_NOT_PROCESS); |
| | | } |
| | | if(!checkIsLinked(codeClassifyProcessTempDO.getOid())) { |
| | |
| | | * @param tempDO |
| | | * @return |
| | | */ |
| | | private boolean checkTs(CodeClassifyProcessTemp tempDO){ |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getOid,tempDO.getOid()).select(CodeClassifyProcessTemp::getTs); |
| | | long dbTs = codeClassifyProcessTempMapper.selectById(wrapper).getTs().getTime(); |
| | | long currentTs = tempDO.getTs().getTime(); |
| | | if(dbTs == currentTs){ |
| | | private boolean checkTs(CodeClassifyProcessTemp tempDO, CodeClassifyProcessTemp codeClassifyProcessTempDO){ |
| | | Date dbTs = codeClassifyProcessTempDO.getTs(); |
| | | Date currentTs = tempDO.getTs(); |
| | | int i = currentTs.compareTo(dbTs); |
| | | if(i==0){ |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | throw new VciBaseException("模板流程名称不能为空"); |
| | | } |
| | | LambdaQueryWrapper<CodeClassifyProcessTemp> wrapper = Wrappers.<CodeClassifyProcessTemp>query() |
| | | .lambda().eq(CodeClassifyProcessTemp::getCodeProcessUse, codeClassifyProcessTempDTO.getCodeprocessuse()) |
| | | .lambda().eq(CodeClassifyProcessTemp::getCodeProcessUse, codeClassifyProcessTempDTO.getCodeProcessUse()) |
| | | .eq(CodeClassifyProcessTemp::getClassifyTemplateOid, codeClassifyProcessTempDTO.getClassifyTemplateOid()) |
| | | .eq(CodeClassifyProcessTemp::getId, codeClassifyProcessTempDTO.getId()); |
| | | Long count = codeClassifyProcessTempMapper.selectCount(wrapper); |