ludc
2023-06-07 a17f731ee4bcad459c184be5a7c3de6c3619443b
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
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.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.code.webservice.vo.collection.DockingPreAttrMappingVOList;
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 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 IDockingPreViewModelService dockingPreViewModelService;
 
 
    /***
     * 属性枚举范围服务
     */
 
    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(@RequestBody DockingPreAttrMappingVOList dockingPreAttrMappingVOList){
        List<DockingPreAttrMappingVO> dockingPreAttrMappingVOs = dockingPreAttrMappingVOList.getDockingPreAttrMappingVOList();
        List<DockingPreAttrMappingVO> dockingPreAttrRangeVOS=new ArrayList<>();
        try {
             dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOs);
        }catch (Exception e){
            return R.fail("集团集成属性映射配置保存失败:"+e.getMessage());
        }
        return R.data(dockingPreAttrRangeVOS);
    }
 
 
    /**
     * 参照树 集团分类(是否包含属性)
     * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid
     * @return 集团分类显示树
     */
    @GetMapping("/referTree")
    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
        return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject);
    }
 
 
    /**
     * 参照树 主数据模板属性信息
     * @param classifyId 主数据分类主键
     * @return 主题库分类模板属性
     */
    @GetMapping("/listViewModelAttributeByClassId")
    public R listViewModelAttributeByClassId(String classifyId)  {
        return R.data(dockingPreViewModelService.selectDockingPreViewModelByClassId(classifyId,true));
    }
 
    /**
     * 参照树 主数据分类
     * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid
     * @return 主题库分类显示树
     */
    @GetMapping("/referCodeClassifyTree")
    public List<Tree> referCodeClassifyTree(TreeQueryObject treeQueryObject)  {
        return codeClassifyClient.referCodeClassifyTree(treeQueryObject);
    }
 
    /**
     * 参照树 主数据模板属性信息
     * @param codeClassifyId 主数据分类主键
     * @return 主题库分类模板属性
     */
    @GetMapping("/listCodeAttributeByClassId")
    public R listCodeAttributeByClassId(String codeClassifyId)  {
        return R.data(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());
        }
 
    }
 
/***
 * 查询申请单状态
 * oids:业务数据oid
 * @return 返回执行结果信息
 */
    @GetMapping( "/queryApplyState")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "查看申请单状态", notes = "查看申请单状态")
    public R  queryApplyState(String oids){
        try {
            return groupMdmInterService.queryApplyState(oids);
        }catch (VciBaseException e){
            return R.fail("查看申请单状态失败:"+e.getMessage());
        }
    }
}