ludc
2023-05-18 6cdce28d612c56bc5b8524268c78064c0818e46f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
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.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(dtoList,"码值对象集合",codefixedsecoid,"固定码段的主键");
        if (CollectionUtils.isEmpty(dtoList)){
            return R.status(codeFixedValueService.batchDeleteBySecOid(codefixedsecoid));
        }
        return codeFixedValueService.batchSave4Order(dtoList,codefixedsecoid);
    }
 
}