ludc
2024-04-12 f21bdede8546a348e2b16ffc3bbe292df7eeba76
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
package com.vci.ubcs.code.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.dto.CodeFixedValueDTO;
import com.vci.ubcs.code.entity.CodeFixedValue;
import com.vci.ubcs.code.service.ICodeFixedValueService;
import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * å›ºå®šç æ®µçš„码值控制器
 *
 * @author ludc
 * @date 2022-01-24
 */
@RestController
@RequestMapping("/codeFixedValueController")
@Api(value = "固定码段的码值控制器", tags = "固定码段的码值控制器")
public class CodeFixedValueController {
    /**
    * å›ºå®šç æ®µçš„码值 æœåŠ¡
    */
    @Autowired
    private ICodeFixedValueService codeFixedValueService;
    /**
     * å›ºå®šç æ®µçš„码值列表
     * @param codeFixedValueVO query åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return å›ºå®šç æ®µçš„码值显示对象列表
     */
    @GetMapping("/gridCodeFixedValue")
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "固定码段的码值列表", notes = "CodeFixedValueVO")
    public R<IPage<CodeFixedValueVO>> gridCodeFixedValue(CodeFixedValueVO codeFixedValueVO, Query query){
        return R.data(codeFixedValueService.gridCodeFixedValue(codeFixedValueVO, Condition.getPage(query.setAscs("orderNum"))));
    }
    /**
     * å¢žåŠ  å›ºå®šç æ®µçš„码值
     * @param codeFixedValueDTO å›ºå®šç æ®µçš„码值数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PostMapping( "/addSave")
    public R addSave(@RequestBody CodeFixedValueDTO codeFixedValueDTO){
         boolean resBoolean = codeFixedValueService.addSave(codeFixedValueDTO);
         return R.status(resBoolean);
    }
    /**
     * ä¿®æ”¹ å›ºå®šç æ®µçš„码值
     * @param codeFixedValueDTO å›ºå®šç æ®µçš„码值数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PutMapping("/editSave")
    public R editSave(@RequestBody CodeFixedValueDTO codeFixedValueDTO){
      boolean resBoolean = codeFixedValueService.editSave(codeFixedValueDTO);
      return R.status(resBoolean);
    }
    /**
     * åˆ é™¤å›ºå®šç æ®µçš„码值
     * @param codeFixedValueDTO å›ºå®šç æ®µçš„码值数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delCodeFixedValue(@Valid @RequestBody CodeFixedValueDTO codeFixedValueDTO) {
        return codeFixedValueService.deleteCodeFixedValue(codeFixedValueDTO);
    }
    /**
    * ä¸»é”®èŽ·å–å›ºå®šç æ®µçš„ç å€¼
    * @param oid ä¸»é”®
    * @return å›ºå®šç æ®µçš„码值显示对象
    */
    @GetMapping("/getObjectByOid")
    public R<CodeFixedValueVO> getObjectByOid(String oid){
        CodeFixedValueVO codeFixedValueVO = codeFixedValueService.getObjectByOid(oid);
        return R.data(codeFixedValueVO);
    }
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–å›ºå®šç æ®µçš„ç å€¼
     * @param oids ä¸»é”®ï¼Œå¤šä¸ªä»¥é€—号分隔,但是受性能影响,建议一次查询不超过10000个
     * @return å›ºå®šç æ®µçš„码值显示对象
     */
    @GetMapping("/listDataByOids")
    public R<Collection<CodeFixedValueVO>> listCodeFixedValueByOids(String oids){
        Collection<CodeFixedValueVO> voCollection =  codeFixedValueService.listCodeFixedValueByOids(VciBaseUtil.str2List(oids));
        return R.data(voCollection);
    }
    /**
     * å‚照固定码段的码值列表
     * @param codeFixedValueVO query åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return å›ºå®šç æ®µçš„码值显示对象列表,生效的内容
     */
    @GetMapping("/refDataGrid")
    public R<IPage<CodeFixedValueVO>> refDataGridCodeFixedValue(CodeFixedValueVO codeFixedValueVO, Query query){
        return R.data(codeFixedValueService.refDataGridCodeFixedValue(codeFixedValueVO,Condition.getPage(query.setAscs("ordernum"))));
    }
    /**
     * æ‰¹é‡æ·»åŠ å›ºå®šç æ®µçš„ç å€¼ï¼Œå¦‚æžœä¿å­˜çš„é›†åˆä¸­ä¸å­˜åœ¨å·²åœ¨æ•°æ®åº“ä¸­çš„ç å€¼åˆ™åˆ é™¤ã€‚ä¸»è¦æ˜¯ä¿å­˜ç å€¼çš„åºå·
     * @param param å‚数,包括dtoList é¡µé¢ä¼ è¾“对象集合 codefixedsecoid å›ºå®šç æ®µä¸»é”®
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/saveOrder")
    public R batchSave4Order(@RequestBody Map<String,Object> param){
      JSONArray json = JSONArray.parseArray(String.valueOf(param.get("dtoList")));
      List<CodeFixedValueDTO> dtoList = new ArrayList<>();
        for (int i = 0; i < json.size(); i++) {
            CodeFixedValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeFixedValueDTO.class);
            dtoList.add(codeFixedValueDTO);
        }
        String codefixedsecoid = (String) param.get("codeFixedSecOid");
        VciBaseUtil.alertNotNull(codefixedsecoid,"固定码段的主键");
        if (CollectionUtils.isEmpty(dtoList)){
            return R.status(codeFixedValueService.batchDeleteBySecOid(codefixedsecoid));
        }
        return codeFixedValueService.batchSave4Order(dtoList,codefixedsecoid);
    }
}