package com.vci.ubcs.code.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.entity.DockingPreApplyForm; import com.vci.ubcs.code.feign.IMdmInterJtClient; import com.vci.ubcs.code.service.IDockingPreApplyFormService; import com.vci.ubcs.code.service.IDockingPreAttrMappingService; import com.vci.ubcs.code.service.IDockingPreAttrRangeService; import com.vci.ubcs.code.service.IDockingPreClassifyService; import com.vci.ubcs.code.vo.pagemodel.BaseModelVO; import com.vci.ubcs.code.vo.pagemodel.DockingPreApplyFormVO; import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; import com.vci.ubcs.code.wrapper.DockingPreApplyFormWrapper; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.Tree; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; /** * 编码信息 控制器 * * @author xiejun * @since 2023-05-23 */ @RestController @AllArgsConstructor @RequestMapping("/DockingPreApplyCode") @Api(value = "集团属性映射配置", tags = "集团属性映射配置接口") public class DockingPreApplyCodeController { /** * 集团属性映射配置属性 */ private final IDockingPreAttrMappingService dockingPreAttrMappingService; /*** * 属性枚举范围服务 */ private final IDockingPreAttrRangeService dockingPreAttrRangeService; /*** * 分类属性枚举范围服务 */ private final IDockingPreClassifyService dockingPreClassifyService; /*** * 属性枚举范围服务 */ private final IDockingPreApplyFormService dockingPreApplyFormService; /** * 根据主数据编码oid获取集团属性映射信息 * @param codeClassifyId 主键 * @return 主数据编码规则显示对象 */ @GetMapping("/gridAttrMapping") @ApiOperationSupport(order = 8) @ApiOperation(value = "分类主键获取与集团模型属性映射关系", notes = "传入主数据:codeClassifyId,集团分类:sourceClassifyId") public R getDockingAttrMappingsByCodeClassId(String codeClassifyId,String sourceClassifyId){ List dockingPreAttrMappingVOList=dockingPreAttrMappingService.getDockingAttrMappingsByCodeClassifyId(codeClassifyId,sourceClassifyId); return R.data(dockingPreAttrMappingVOList); } /** * 根据集团属性id获取属性枚举范围 * @param meatId 主键 * @return */ @GetMapping("/gridAttrRanges") @ApiOperationSupport(order = 8) @ApiOperation(value = "根据属性id获取属性枚举范围", notes = "传入") public R getDockingPreAttrRangesByMetaId(String meatId){ List dockingPreAttrRangeVOList=dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(meatId); return R.data(dockingPreAttrRangeVOList); } /** * 申请单查询 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入dockingPreApplyForm") public R> page(DockingPreApplyForm dockingPreApplyForm, Query query) { IPage pages = dockingPreApplyFormService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingPreApplyForm)); return R.data(DockingPreApplyFormWrapper.build().pageVO(pages)); } /** * 保存属性映射配置组件 * @param dockingPreAttrMappingVOList 属性映射配置数据传输对象 * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 */ @PostMapping( "/batchAddSave") @ApiOperationSupport(order = 2) @ApiOperation(value = "保存属性映射配置", notes = "dockingPreAttrMappingVOList") public R batchSave(@Valid @RequestBody List dockingPreAttrMappingVOList){ List dockingPreAttrRangeVOS=new ArrayList<>(); try { dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOList); }catch (Exception e){ return R.fail("集团集成属性映射配置保存失败:"+e.getMessage()); } return R.data(dockingPreAttrRangeVOS); } /** * 参照树 集团分类(是否包含属性) * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid * @return 主题库分类显示树 */ @GetMapping("/referTree") public List referTree(@RequestBody TreeQueryObject treeQueryObject) { return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject); } /*** * 申请集团编码 * @return */ @PostMapping( "/applyGroupCode") @ApiOperationSupport(order = 2) @ApiOperation(value = "集团码申请", notes = "dockingPreAttrMappingVOList") public R applyGroupCode(String oids,String btmName){ List BaseModelVOs=new ArrayList<>(); try { return dockingPreAttrMappingService.applyGroupCode(oids,btmName); }catch (Throwable e){ return R.fail("集团码申请失败:"+e.getMessage()); } } }