ludc
2023-05-10 0365fc08606d1308b8a81258410c3feb4da0fa7d
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
@@ -1,15 +1,15 @@
package com.vci.ubcs.code.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.vci.ubcs.code.service.CodeClassifyValueServiceI;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.Tree;
import com.vci.starter.web.pagemodel.TreeQueryObject;
import com.vci.starter.web.util.VciBaseUtil;
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.*;
@@ -18,6 +18,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * 分类码段的码值控制器
@@ -28,119 +29,113 @@
@RestController
@RequestMapping("/codeClassifyValueController")
public class CodeClassifyValueController {
    /**
    * 分类码段的码值 服务
    */
    @Autowired
    private CodeClassifyValueServiceI codeClassifyValueService;
   /**
    * 分类码段的码值 服务
    */
   @Autowired
   private ICodeClassifyValueService codeClassifyValueService;
    /**
     * 分类码段的码值树
     * @param treeQueryObject 树形查询对象
     * @return 分类码段的码值显示树
     */
    @GetMapping("/treeCodeClassifyValue")
    public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject)  {
        return  codeClassifyValueService.treeCodeClassifyValue(treeQueryObject);
    }
   /**
    * 分类码段的码值树
    * @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 BaseResult<CodeClassifyValueVO> addSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){
         CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.addSave(codeClassifyValueDTO);
         return BaseResult.success(codeClassifyValueVO);
    }
   /**
    * 增加 分类码段的码值
    * @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 BaseResult<CodeClassifyValueVO> editSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){
        CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.editSave(codeClassifyValueDTO);
        return BaseResult.success(codeClassifyValueVO);
    }
   /**
    * 修改 分类码段的码值
    * @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 BaseResult checkIsCanDelete( CodeClassifyValueDTO codeClassifyValueDTO)  {
        return codeClassifyValueService.checkIsCanDelete(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 BaseResult delCodeClassifyValue( CodeClassifyValueDTO codeClassifyValueDTO) {
        return codeClassifyValueService.deleteCodeClassifyValue(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 BaseResult<CodeClassifyValueVO> getObjectByOid(String oid){
        CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.getObjectByOid(oid);
        return BaseResult.success(codeClassifyValueVO);
    }
   /**
    * 主键获取分类码段的码值
    * @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 BaseResult<CodeClassifyValueVO> listCodeClassifyValueByOids(String oids){
        Collection<CodeClassifyValueVO> voCollection =  codeClassifyValueService.listCodeClassifyValueByOids(VciBaseUtil.str2List(oids));
        BaseResult baseResult = BaseResult.success();
        baseResult.setData(voCollection);
        return  baseResult;
    }
   /**
    * 主键批量获取分类码段的码值
    * @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 treeQueryObject 树形查询对象
    * @return 分类码段的码值显示树
    */
    @GetMapping("/referTree")
        public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
        return codeClassifyValueService.referTree(treeQueryObject);
    }
    /**
     * 保存页面上的分类码段码值,主要是保存序号用于排序。如果数据库中存在页面传输对象集合中不存在的值,则删除。
     * @param param 参数,包括dtoList 页面传输对象集合 和codeclassifysecoid 分类码段主键
     * @return 执行结果
     */
    @PostMapping("/saveOrder")
    public BaseResult 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 BaseResult.success();
        }
        return codeClassifyValueService.batchSave4Order(dtoList,codeclassifysecoid);
    }
   /**
    * 保存页面上的分类码段码值,主要是保存序号用于排序。如果数据库中存在页面传输对象集合中不存在的值,则删除。
    * @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);
   }
}