package com.vci.ubcs.code.service.impl; import com.alibaba.cloud.commons.lang.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; <<<<<<< Updated upstream import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeReferConfigDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.mapper.CodeReferConfigMapper; import com.vci.ubcs.code.service.ICodeReferConfigService; import com.vci.ubcs.code.service.ICodeShowFieldConfigService; import com.vci.ubcs.code.service.ICodeSrchCondConfigService; ======= import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO; import com.vci.ubcs.code.dto.CodeReferConfigDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.mapper.CodeReferConfigMapper; import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper; import com.vci.ubcs.code.service.CodeReferConfigService; import com.vci.ubcs.code.service.CodeShowFieldConfigService; import com.vci.ubcs.code.service.CodeSrchCondConfigService; >>>>>>> Stashed changes import com.vci.ubcs.code.vo.CodeReferConfigVO; import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper; import com.vci.ubcs.code.wrapper.CodeReferConfigWraper; <<<<<<< Updated upstream import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject; ======= import com.vci.ubcs.code.wrapper.CodeShowFieldConfigWraper; import com.vci.ubcs.code.wrapper.CodeSrchCondConfigWraper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.util.Map2MPJLambdaUtil; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; >>>>>>> Stashed changes import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; <<<<<<< Updated upstream import org.springblade.core.tool.utils.Func; import org.springframework.cglib.beans.BeanMap; import org.springframework.stereotype.Service; ======= import org.springframework.cglib.beans.BeanMap; import org.springframework.stereotype.Service; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; >>>>>>> Stashed changes import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Map; <<<<<<< Updated upstream ======= import java.util.Objects; >>>>>>> Stashed changes import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.TS_NOT_PROCESS; /** * 参照配置表(CodeReferconfig)表服务实现类 * * @author ludc * @since 2023-05-19 17:48:02 */ @Service("CodeReferconfigService") <<<<<<< Updated upstream public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl implements ICodeReferConfigService { ======= public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl implements CodeReferConfigService { >>>>>>> Stashed changes @Resource private CodeReferConfigMapper codeReferconfigMapper; @Resource <<<<<<< Updated upstream private ICodeShowFieldConfigService ICodeShowFieldConfigService; @Resource private ICodeSrchCondConfigService ICodeSrchCondConfigService; ======= private CodeShowFieldConfigService codeShowFieldConfigService; @Resource private CodeSrchCondConfigService codeSrchCondConfigService; >>>>>>> Stashed changes /** * 通过ID查询单条数据 * * @param oid 主键 * @return 实例对象 */ @Override public CodeReferConfigVO queryById(String oid) { CodeReferConfig codeReferConfig = this.codeReferconfigMapper.selectJoinOne(CodeReferConfig.class, this.getMPJLambdaWrapper().eq(CodeReferConfig::getOid, oid)); return CodeReferConfigWraper.build().entityVO(codeReferConfig); } <<<<<<< Updated upstream /** * 分页查询 * * @param bladeQueryObject 筛选条件 * @return 查询结果 */ ======= >>>>>>> Stashed changes @Override public IPage queryByJoinPage(BladeQueryObject bladeQueryObject) { CodeReferConfig codeReferConfig = new CodeReferConfig(); // 根据租户进行区分对应的参照配置 Map conditionMap = bladeQueryObject.getConditionMap(); <<<<<<< Updated upstream // 查询所属租户下的和开启全局的参照配置信息 conditionMap.put("tenantId",AuthUtil.getTenantId()); conditionMap.put("isOpenGlobal","true"); ======= conditionMap.put("tenantId",AuthUtil.getTenantId()); >>>>>>> Stashed changes BeanMap beanMap = BeanMap.create(codeReferConfig); beanMap.putAll(conditionMap); // 添加默认排序字段,根据时间进行排序 Query query = bladeQueryObject.getQuery(); query.setAscs("CREATETIME"); IPage codeReferConfigs = codeReferconfigMapper.selectJoinPage(codeReferConfig, Condition.getPage(query)); return CodeReferConfigWraper.build().pageVO(codeReferConfigs); } <<<<<<< Updated upstream ======= /** * 分页查询 * * @param codeReferConfigVO 筛选条件 * @return 查询结果 */ >>>>>>> Stashed changes @Override public List queryByList(CodeReferConfigVO codeReferConfigVO) { codeReferConfigVO.setTenantId(AuthUtil.getTenantId()); //MPJLambdaWrapper mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class) MPJLambdaWrapper mpjLambdaWrapper = getMPJLambdaWrapper() .setEntity(codeReferConfigVO) .orderBy(true, true, CodeReferConfig::getCreateTime); List codeReferConfigList = codeReferconfigMapper.selectJoinList(CodeReferConfig.class, mpjLambdaWrapper); return CodeReferConfigWraper.build().listVO(codeReferConfigList); } /** * 新增数据 * * @param codeReferConfigVO 实例对象 * @return 实例对象 */ @Override @Transactional(rollbackFor = Exception.class) public R insert(CodeReferConfigVO codeReferConfigVO) { VciBaseUtil.alertNotNull(codeReferConfigVO,"需要添加的数据对象"); if (StringUtils.isBlank(codeReferConfigVO.getReferType())){ throw new VciBaseException("参照配置不能为空"); } <<<<<<< Updated upstream // Long count = countCodeReferConfig(codeReferConfigVO); // if(count > 0){ // throw new VciBaseException("已存在相同的参照配置"); // } CodeReferConfig codeReferConfig = CodeReferConfigWraper.build().entityDO(codeReferConfigVO); codeReferConfig.setOid(VciBaseUtil.getPk().toUpperCase()); DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeReferConfig, MdmBtmTypeConstant.CODE_REFER_CONFIG); codeReferConfig.setTenantId(AuthUtil.getTenantId()); boolean resInsertReferConfig = this.codeReferconfigMapper.insert(codeReferConfig) > 0; if (!resInsertReferConfig) { return R.fail("新增参照配置失败!"); } // 主键回填 if(Func.isNotEmpty(codeReferConfig.getCodeShowFieldConfigs())){ ICodeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS(),codeReferConfig.getOid()); } if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){ ICodeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS(),codeReferConfig.getOid()); } ======= Long count = countCodeReferConfig(codeReferConfigVO); if(count > 0){ throw new VciBaseException("已存在相同的参照配置"); } CodeReferConfig CodeReferConfig = Objects.requireNonNull(BeanUtil.copy(codeReferConfigVO, CodeReferConfig.class)); boolean resInsertReferConfig = this.codeReferconfigMapper.insert(CodeReferConfig) > 0; if (!resInsertReferConfig) { return R.fail("新增参照配置失败!"); } codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); >>>>>>> Stashed changes return R.data(codeReferConfigVO); } /** * 获取已存在的参照配置 * @param codeReferConfigVO * @return 个数 */ private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) { String templateName = codeReferConfigVO.getName(); <<<<<<< Updated upstream String templateId = codeReferConfigVO.getId(); if (StringUtils.isBlank(templateName) && StringUtils.isBlank(templateId)){ throw new VciBaseException("参照配置编号和名称不能为空"); } LambdaQueryWrapper wrapper = Wrappers.query() .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId()) .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId()) .or(true) .eq(CodeReferConfig::getIsOpenGlobal,"true") // 查询开启全局的参照配置 .eq(CodeReferConfig::getId,templateId) .eq(CodeReferConfig::getName,templateName); ======= if (StringUtils.isBlank(templateName)){ throw new VciBaseException("参照配置名称不能为空"); } LambdaQueryWrapper wrapper = Wrappers.query() .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId()) .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId()); >>>>>>> Stashed changes Long count = codeReferconfigMapper.selectCount(wrapper); return count; } /** * 连表查询Wrapper对象获取 * @return */ private MPJLambdaWrapper getMPJLambdaWrapper(){ MPJLambdaWrapper mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeReferConfig.class) .selectAll(CodeReferConfig.class) <<<<<<< Updated upstream // .select(CodeShowFieldConfig::getField // ,CodeShowFieldConfig::getTitle // ,CodeShowFieldConfig::getFieldType // ,CodeShowFieldConfig::getSort // ,CodeShowFieldConfig::getAttrSortField // ,CodeShowFieldConfig::getWidth // ,CodeShowFieldConfig::getFixedPosition // ,CodeShowFieldConfig::getTemplet) // .select( // CodeSrchCondConfig::getFilterType, // CodeSrchCondConfig::getFilterField, // CodeSrchCondConfig::getFilterValue) ======= // .select(CodeShowFieldConfig::getField // ,CodeShowFieldConfig::getTitle // ,CodeShowFieldConfig::getFieldType // ,CodeShowFieldConfig::getSort // ,CodeShowFieldConfig::getAttrSortField // ,CodeShowFieldConfig::getWidth // ,CodeShowFieldConfig::getFixedPosition // ,CodeShowFieldConfig::getTemplet) // .select( // CodeSrchCondConfig::getFilterType, // CodeSrchCondConfig::getFilterField, // CodeSrchCondConfig::getFilterValue) >>>>>>> Stashed changes .selectCollection(CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs) .selectCollection(CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs) .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid) .leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid); return mpjLambdaWrapper; } /** * 修改数据 * * @param codeReferConfigVO 实例对象 * @return 实例对象 */ @Override @Transactional(rollbackFor = Exception.class) public R update(CodeReferConfigVO codeReferConfigVO) { boolean resUpdateReferConfig = this.codeReferconfigMapper.updateById(codeReferConfigVO) > 0; if (!resUpdateReferConfig) { return R.fail("参照配置修改失败!"); } <<<<<<< Updated upstream this.ICodeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); this.ICodeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); ======= this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); >>>>>>> Stashed changes return R.data(codeReferConfigVO); } /** * 通过主键删除数据 * * @param codeReferConfigDTO * @return 是否成功 */ @Override @Transactional(rollbackFor = Exception.class) public R deleteById(CodeReferConfigDTO codeReferConfigDTO) { CodeReferConfig tsDO = new CodeReferConfig(); BeanUtil.copyProperties(tsDO,codeReferConfigDTO); CodeReferConfig codeReferConfig = codeReferconfigMapper.queryById(codeReferConfigDTO.getOid()); // 检查ts字段是否一致 if (!checkTs(tsDO,codeReferConfig)) { return R.fail(TS_NOT_PROCESS); } boolean resDeleteReferConfig = this.codeReferconfigMapper.deleteById(codeReferConfigDTO.getOid()) > 0; if (!resDeleteReferConfig) { return R.fail("参照配置删除失败!"); } <<<<<<< Updated upstream this.ICodeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); this.ICodeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); ======= this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); >>>>>>> Stashed changes return R.status(resDeleteReferConfig); } /** * 检查ts * @param tempDO * @param codeReferConfig * @return */ private boolean checkTs(CodeReferConfig tempDO, CodeReferConfig codeReferConfig){ Date dbTs = codeReferConfig.getTs(); Date currentTs = tempDO.getTs(); if(currentTs == null ? dbTs == null:currentTs.compareTo(dbTs)==0){ return true; } return false; } }