wang1
2023-05-31 db1c3c5b3670639fd1dfc5de0fe75ce6f02f732e
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,190 @@
package com.vci.ubcs.code.webservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.code.webservice.entity.DockingPreApplyForm;
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 IGroupMdmInterService groupMdmInterService;
   /***
    * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
    */
   private final IDockingPreAttrRangeService dockingPreAttrRangeService;
   /***
    * åˆ†ç±»å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
    */
   private final IDockingPreClassifyService dockingPreClassifyService;
   /***
    * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
    */
   private final IDockingPreApplyFormService dockingPreApplyFormService;
   /***
    * å±žæ€§æžšä¸¾èŒƒå›´æœåŠ¡
    */
   private final ICodeClassifyClient codeClassifyClient;
   /**
    * æ ¹æ®ä¸»æ•°æ®ç¼–码oid获取集团属性映射信息
    * @param codeClassifyId ä¸»é”®
    * @return ä¸»æ•°æ®ç¼–码规则显示对象
    */
   @GetMapping("/gridAttrMapping")
   @ApiOperationSupport(order = 8)
   @ApiOperation(value = "分类主键获取与集团模型属性映射关系", notes = "传入主数据:codeClassifyId,集团分类:sourceClassifyId")
   public R getDockingAttrMappingsByCodeClassId(String codeClassifyId,String sourceClassifyId){
      List<DockingPreAttrMappingVO> 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<DockingPreAttrRangeVO> dockingPreAttrRangeVOList=dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(meatId);
      return R.data(dockingPreAttrRangeVOList);
   }
   /**
    * ç”³è¯·å•查询 è‡ªå®šä¹‰åˆ†é¡µ
    */
   @GetMapping("/page")
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "分页", notes = "传入dockingPreApplyForm")
   public R<IPage<DockingPreApplyFormVO>> page(DockingPreApplyForm dockingPreApplyForm, Query query) {
      IPage<DockingPreApplyForm> 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<DockingPreAttrMappingVO> dockingPreAttrMappingVOList){
      List<DockingPreAttrMappingVO> 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<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
      return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject);
   }
   /**
    * å‚ç…§æ ‘ ä¸»æ•°æ®åˆ†ç±»
    * @param treeQueryObject æ ‘形查询对象 conditionMap å­˜ä¸Š codeclsfid=主数据的分类oid
    * @return ä¸»é¢˜åº“分类显示树
    */
   @GetMapping("/referCodeClassifyTree")
   public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject)  {
      return codeClassifyClient.referCodeClassifyTree(treeQueryObject);
   }
   /**
    * å‚ç…§æ ‘ ä¸»æ•°æ®æ¨¡æ¿å±žæ€§ä¿¡æ¯
    * @param codeClassifyId ä¸»æ•°æ®åˆ†ç±»ä¸»é”®
    * @return ä¸»é¢˜åº“分类模板属性
    */
   @GetMapping("/referCodeClassifyTree")
   public List<CodeClassifyTemplateAttrVO>  listCodeAttributeByClassId(String codeClassifyId)  {
      return codeClassifyClient.listCodeAttributeByClassId(codeClassifyId);
   }
   /***
    * ç”³è¯·é›†å›¢ç¼–码
    * @return
    */
   @PostMapping( "/applyGroupCode")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "集团码申请", notes = "dockingPreAttrMappingVOList")
   public R applyGroupCode(String oids,String btmName){
      List<BaseModelVO> BaseModelVOs=new ArrayList<>();
      try {
         return groupMdmInterService.applyGroupCode(oids,btmName);
      }catch (Throwable e){
         return R.fail("集团码申请失败:"+e.getMessage());
      }
   }
   /***
    * åŒæ­¥é›†å›¢æ¨¡åž‹è§†å›¾
    * @return è¿”回执行结果信息
    */
   @PostMapping( "/syncClassifyModel")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "同步集团模型视图", notes = "同步集团模型视图->all:同步集团主模型,one:同步集团模型详细信息")
   public R syncClassifyModel(String classifyId,String operationType){
      try {
         return groupMdmInterService.syncClassifyModel(classifyId,operationType);
      }catch (VciBaseException e){
         return R.fail("同步集团模型视图失败:"+e.getMessage());
      }
   }
}