ludc
2023-05-10 0365fc08606d1308b8a81258410c3feb4da0fa7d
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,141 @@
package com.vci.ubcs.code.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.vci.ubcs.code.dto.CodeClassifyValueDTO;
import com.vci.ubcs.code.service.ICodeClassifyValueService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * åˆ†ç±»ç æ®µçš„码值控制器
 *
 * @author weidy
 * @date 2022-01-24
 */
@RestController
@RequestMapping("/codeClassifyValueController")
public class CodeClassifyValueController {
   /**
    * åˆ†ç±»ç æ®µçš„码值 æœåŠ¡
    */
   @Autowired
   private ICodeClassifyValueService codeClassifyValueService;
   /**
    * åˆ†ç±»ç æ®µçš„码值树
    * @param treeQueryObject æ ‘形查询对象
    * @return åˆ†ç±»ç æ®µçš„码值显示树
    */
   @GetMapping("/treeCodeClassifyValue")
   public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject)  {
      return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject);
   }
   /**
    * å¢žåŠ  åˆ†ç±»ç æ®µçš„码值
    * @param codeClassifyValueDTO åˆ†ç±»ç æ®µçš„码值数据传输对象
    * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
    */
   @PostMapping( "/addSave")
   public R<CodeClassifyValueVO> addSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){
      return R.status(codeClassifyValueService.addSave(codeClassifyValueDTO));
   }
   /**
    * ä¿®æ”¹ åˆ†ç±»ç æ®µçš„码值
    * @param codeClassifyValueDTO åˆ†ç±»ç æ®µçš„码值数据传输对象
    * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
    */
   @PutMapping("/editSave")
   public R<CodeClassifyValueVO> editSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){
      return R.status(codeClassifyValueService.editSave(codeClassifyValueDTO));
   }
   /**
    * æ£€æŸ¥ åˆ†ç±»ç æ®µçš„码值是否删除
    * @param codeClassifyValueDTO åˆ†ç±»ç æ®µçš„码值数据传输对象,必须要有oid和ts属性
    * @return æ‰§è¡Œç»“æžœ success为true为可以删除,false表示有数据引用,obj为true表示有下级
    */
   @PostMapping( "/checkIsCanDelete")
   public R checkIsCanDelete( CodeClassifyValueDTO codeClassifyValueDTO)  {
      return codeClassifyValueService.checkIsCanDelete(codeClassifyValueDTO);
   }
   /**
    * åˆ é™¤åˆ†ç±»ç æ®µçš„码值
    * @param codeClassifyValueDTO åˆ†ç±»ç æ®µçš„码值数据传输对象,oid和ts需要传输
    * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
    */
   @DeleteMapping( "/deleteData")
   public R delCodeClassifyValue(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO) {
      return codeClassifyValueService.deleteCodeClassifyValue(codeClassifyValueDTO);
   }
   /**
    * ä¸»é”®èŽ·å–åˆ†ç±»ç æ®µçš„ç å€¼
    * @param oid ä¸»é”®
    * @return åˆ†ç±»ç æ®µçš„码值显示对象
    */
   @GetMapping("/getObjectByOid")
   public R<CodeClassifyValueVO> getObjectByOid(String oid){
      CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.getObjectByOid(oid);
      return R.data(codeClassifyValueVO);
   }
   /**
    * ä¸»é”®æ‰¹é‡èŽ·å–åˆ†ç±»ç æ®µçš„ç å€¼
    * @param oids ä¸»é”®ï¼Œå¤šä¸ªä»¥é€—号分隔,但是受性能影响,建议一次查询不超过10000个
    * @return åˆ†ç±»ç æ®µçš„码值显示对象
    */
   @GetMapping("/listDataByOids")
   public R<Collection<CodeClassifyValueVO>> listCodeClassifyValueByOids(String oids){
      Collection<CodeClassifyValueVO> voCollection =  codeClassifyValueService.listCodeClassifyValueByOids(VciBaseUtil.str2List(oids));
      return R.data(voCollection);
   }
   /**
    * å‚ç…§æ ‘ åˆ†ç±»ç æ®µçš„码值
    * @param treeQueryObject æ ‘形查询对象
    * @return åˆ†ç±»ç æ®µçš„码值显示树
    */
   @GetMapping("/referTree")
   public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
      return codeClassifyValueService.referTree(treeQueryObject);
   }
   /**
    * ä¿å­˜é¡µé¢ä¸Šçš„分类码段码值,主要是保存序号用于排序。如果数据库中存在页面传输对象集合中不存在的值,则删除。
    * @param param å‚数,包括dtoList é¡µé¢ä¼ è¾“对象集合 å’Œcodeclassifysecoid åˆ†ç±»ç æ®µä¸»é”®
    * @return æ‰§è¡Œç»“æžœ
    */
   @PostMapping("/saveOrder")
   public R saveOrder(@RequestBody Map<String,Object> param){
      JSONArray json = JSONArray.parseArray(String.valueOf(param.get("dtoList")));
      List<CodeClassifyValueDTO> dtoList = new ArrayList<>();
      for (int i = 0; i < json.size(); i++) {
         CodeClassifyValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeClassifyValueDTO.class);
         dtoList.add(codeFixedValueDTO);
      }
      String codeclassifysecoid = (String) param.get("codeClassifySecOid");
      VciBaseUtil.alertNotNull(dtoList,"码值集合");
      if (CollectionUtils.isEmpty(dtoList)){
         return R.success("");
      }
      return codeClassifyValueService.batchSave4Order(dtoList,codeclassifysecoid);
   }
}