| | |
| | | |
| | | 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.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; |
| | | import com.vci.ubcs.code.service.ICodeReferConfigService; |
| | | import com.vci.ubcs.code.service.ICodeShowFieldConfigService; |
| | | import com.vci.ubcs.code.service.ICodeSrchCondConfigService; |
| | | import com.vci.ubcs.code.vo.CodeReferConfigVO; |
| | | import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper; |
| | | import com.vci.ubcs.code.wrapper.CodeReferConfigWraper; |
| | | 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; |
| | | 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; |
| | | import org.springblade.core.tool.utils.Func; |
| | | 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; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | | import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.TS_NOT_PROCESS; |
| | | |
| | |
| | | * @since 2023-05-19 17:48:02 |
| | | */ |
| | | @Service("CodeReferconfigService") |
| | | public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService { |
| | | public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements ICodeReferConfigService { |
| | | |
| | | @Resource |
| | | private CodeReferConfigMapper codeReferconfigMapper; |
| | | |
| | | @Resource |
| | | private CodeShowFieldConfigService codeShowFieldConfigService; |
| | | private ICodeShowFieldConfigService ICodeShowFieldConfigService; |
| | | |
| | | @Resource |
| | | private CodeSrchCondConfigService codeSrchCondConfigService; |
| | | private ICodeSrchCondConfigService ICodeSrchCondConfigService; |
| | | |
| | | /** |
| | | * 通过ID查询单条数据 |
| | |
| | | return CodeReferConfigWraper.build().entityVO(codeReferConfig); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | | * @param bladeQueryObject 筛选条件 |
| | | * @return 查询结果 |
| | | */ |
| | | @Override |
| | | public IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject) { |
| | | CodeReferConfig codeReferConfig = new CodeReferConfig(); |
| | | // 根据租户进行区分对应的参照配置 |
| | | Map<String, Object> conditionMap = bladeQueryObject.getConditionMap(); |
| | | // 查询所属租户下的和开启全局的参照配置信息 |
| | | conditionMap.put("tenantId",AuthUtil.getTenantId()); |
| | | conditionMap.put("isOpenGlobal","true"); |
| | | BeanMap beanMap = BeanMap.create(codeReferConfig); |
| | | beanMap.putAll(conditionMap); |
| | | // 添加默认排序字段,根据时间进行排序 |
| | |
| | | return CodeReferConfigWraper.build().pageVO(codeReferConfigs); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | | * @param codeReferConfigVO 筛选条件 |
| | | * @return 查询结果 |
| | | */ |
| | | @Override |
| | | public List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO) { |
| | | codeReferConfigVO.setTenantId(AuthUtil.getTenantId()); |
| | |
| | | if (StringUtils.isBlank(codeReferConfigVO.getReferType())){ |
| | | throw new VciBaseException("参照配置不能为空"); |
| | | } |
| | | 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; |
| | | // 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("新增参照配置失败!"); |
| | | } |
| | | codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); |
| | | codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); |
| | | // 主键回填 |
| | | if(Func.isNotEmpty(codeReferConfig.getCodeShowFieldConfigs())){ |
| | | ICodeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS(),codeReferConfig.getOid()); |
| | | } |
| | | if(Func.isNotEmpty(codeReferConfig.getCodeSrchCondConfigs())){ |
| | | ICodeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS(),codeReferConfig.getOid()); |
| | | } |
| | | return R.data(codeReferConfigVO); |
| | | } |
| | | |
| | |
| | | */ |
| | | private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) { |
| | | String templateName = codeReferConfigVO.getName(); |
| | | if (StringUtils.isBlank(templateName)){ |
| | | throw new VciBaseException("参照配置名称不能为空"); |
| | | String templateId = codeReferConfigVO.getId(); |
| | | if (StringUtils.isBlank(templateName) && StringUtils.isBlank(templateId)){ |
| | | throw new VciBaseException("参照配置编号和名称不能为空"); |
| | | } |
| | | LambdaQueryWrapper<CodeReferConfig> wrapper = Wrappers.<CodeReferConfig>query() |
| | | .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId()) |
| | | .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId()); |
| | | .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId()) |
| | | .or(true) |
| | | .eq(CodeReferConfig::getIsOpenGlobal,"true") // 查询开启全局的参照配置 |
| | | .eq(CodeReferConfig::getId,templateId) |
| | | .eq(CodeReferConfig::getName,templateName); |
| | | Long count = codeReferconfigMapper.selectCount(wrapper); |
| | | return count; |
| | | } |
| | |
| | | private MPJLambdaWrapper<CodeReferConfig> getMPJLambdaWrapper(){ |
| | | MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeReferConfig.class) |
| | | .selectAll(CodeReferConfig.class) |
| | | // .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) |
| | | .selectCollection(CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs) |
| | | .selectCollection(CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs) |
| | | .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid) |
| | |
| | | if (!resUpdateReferConfig) { |
| | | return R.fail("参照配置修改失败!"); |
| | | } |
| | | this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); |
| | | this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); |
| | | this.ICodeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS()); |
| | | this.ICodeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS()); |
| | | return R.data(codeReferConfigVO); |
| | | } |
| | | |
| | |
| | | if (!resDeleteReferConfig) { |
| | | return R.fail("参照配置删除失败!"); |
| | | } |
| | | this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); |
| | | this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); |
| | | this.ICodeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); |
| | | this.ICodeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid()); |
| | | return R.status(resDeleteReferConfig); |
| | | } |
| | | |