AdmDictController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package com.persagy.proxy.dictionary.controller;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.persagy.dmp.define.entity.ObjectInfoCollect;
  5. import com.persagy.proxy.adm.constant.AdmDictConstant;
  6. import com.persagy.proxy.adm.constant.AdmDictCategoryEnum;
  7. import com.persagy.proxy.adm.request.AdmCreateRequest;
  8. import com.persagy.proxy.adm.request.AdmDictQueryCriteria;
  9. import com.persagy.proxy.adm.request.AdmQueryCriteria;
  10. import com.persagy.proxy.adm.request.AdmResponse;
  11. import com.persagy.proxy.dictionary.model.*;
  12. import com.persagy.proxy.dictionary.service.IAdmDictService;
  13. import com.persagy.proxy.adm.utils.AdmContextUtil;
  14. import com.persagy.proxy.common.entity.InstanceUrlParam;
  15. import com.persagy.proxy.object.model.AdmObjectInfo;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.apache.commons.lang.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. /**
  23. * @ClassName AdmDictController
  24. * @Description: 字典查询
  25. * @Author linhuili
  26. * @Date 2021/8/31 18:21
  27. * @Version V1.0
  28. **/
  29. @RestController
  30. @RequestMapping("/dict")
  31. @Slf4j
  32. public class AdmDictController {
  33. @Autowired
  34. private IAdmDictService service;
  35. /**
  36. * 字典类型查询:所有设备类型、部件类型、系统类型、专业类型
  37. * @param request
  38. * @return
  39. * @throws Exception
  40. */
  41. @PostMapping("/category")
  42. public AdmResponse queryCategory(@RequestBody AdmDict request) throws Exception {
  43. // 组装上下文条件
  44. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  45. if(StringUtils.isEmpty(request.getType())){
  46. throw new Exception("type不能为空");
  47. }
  48. return service.queryCategory(context,request, AdmObjectType.class);
  49. }
  50. /**
  51. * 批量处理字典信息操作:方案设定(BDTP暂不支持)
  52. * @param request
  53. * @return
  54. * @throws Exception
  55. */
  56. @PostMapping("/dict-batch")
  57. public AdmResponse dictBatch( @RequestBody AdmCreateRequest<AdmDictBatch> request) throws Exception {
  58. // 组装上下文条件
  59. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  60. //方案设定:方案id :全新设定(schemeZero)、方案1(schemeOne)、方案2(schemeTwo),
  61. //"注意SchemeId为必填字段 ,优先级在列表中[R,S,M] ,一级标签[技术参数,基本参数] 列表为String类型
  62. return AdmResponse.success(new ArrayList<>());
  63. }
  64. /**
  65. * 查询项目下类型的信息点
  66. * @param request
  67. * @return
  68. * @throws Exception
  69. */
  70. @PostMapping("/query")
  71. public AdmResponse query(@RequestBody AdmDictQueryCriteria request) throws Exception {
  72. // 组装上下文条件
  73. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  74. if(StringUtils.isNotEmpty(request.getLabslType())){
  75. request.setName(request.getLabslType());
  76. }
  77. if(StringUtils.isNotEmpty(request.getType())){
  78. request.setName(request.getType());
  79. }
  80. return service.query(context, request, AdmDictConstant.CLASS_CODE, AdmObjectInfo.class);
  81. }
  82. /**
  83. * 查询设备对应的设备族(废弃)
  84. * @param request
  85. * @return
  86. * @throws Exception
  87. */
  88. @PostMapping("/family/query")
  89. @Deprecated
  90. public AdmResponse familyQuery(@RequestBody AdmQueryCriteria request) throws Exception {
  91. // 组装上下文条件
  92. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  93. return AdmResponse.success(new ArrayList<>());
  94. }
  95. /**
  96. * 重置项目下所有得定制信息点
  97. * @param request
  98. * @return
  99. * @throws Exception
  100. */
  101. @PostMapping("/reset-dic")
  102. public AdmResponse resetDic(@RequestBody AdmDictQueryCriteria request) throws Exception {
  103. // 组装上下文条件
  104. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  105. return service.resetDic(context,request,null,AdmObjectInfo.class);
  106. }
  107. /**
  108. * 根据类型,项目id重置信息点
  109. * @param request
  110. * @return
  111. * @throws Exception
  112. */
  113. @PostMapping("/reset-type")
  114. public AdmResponse resetType(@RequestBody AdmDictQueryCriteria request) throws Exception {
  115. // 组装上下文条件
  116. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  117. if(StringUtils.isEmpty(request.getType())){
  118. throw new Exception("type不能为空");
  119. }
  120. request.setName(request.getType());
  121. return service.resetDic(context,request,AdmDictConstant.CLASS_CODE,AdmObjectInfo.class);
  122. }
  123. /**
  124. * 设置-项目定制化字典
  125. * @param request
  126. * @return
  127. * @throws Exception
  128. */
  129. @PostMapping("/setting-dic-project")
  130. public AdmResponse settingDicProject(@RequestBody AdmCreateRequest<AdmDefFuncIdGather> request) throws Exception {
  131. // 组装上下文条件
  132. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  133. return service.settingDicProject(context,request, ObjectInfoCollect.class);
  134. }
  135. /**
  136. * 查询项目下已有的设备类型带系统
  137. * @param request
  138. * @return
  139. * @throws Exception
  140. */
  141. @PostMapping("/system/equip/category")
  142. @Deprecated
  143. public AdmResponse querySystemEquipCategory(@RequestBody AdmDict request) throws Exception {
  144. // 组装上下文条件
  145. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  146. request.setType(AdmDictCategoryEnum.SYSTEM_EQUIP.getValue());
  147. return service.queryCategory(context,request,AdmObjectType.class);
  148. }
  149. /**
  150. * 查询类型下所有字典信息 M 和 L 类型,包括自定义信息点
  151. * @param dictTypeList
  152. * @return
  153. * @throws Exception
  154. */
  155. @PostMapping("/morl/query")
  156. @Deprecated
  157. public AdmResponse queryMorlDict(@RequestBody List<String> dictTypeList) throws Exception {
  158. // 组装上下文条件
  159. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  160. if(CollUtil.isEmpty(dictTypeList)){
  161. return AdmResponse.success(new ArrayList<>());
  162. }
  163. //查询指定类型下的信息点
  164. return service.queryMorlDict(context,dictTypeList);
  165. }
  166. /**
  167. * 获取不能同步到物理世界对象的数量
  168. * @param request
  169. * @return
  170. * @throws Exception
  171. */
  172. @PostMapping("/data-count")
  173. @Deprecated
  174. public AdmResponse queryNotSyncDmpObjects(@RequestBody AdmDictQueryCriteria request) throws Exception {
  175. return AdmResponse.success(new ArrayList<>());
  176. }
  177. /**
  178. * 需采集信息同步到所有项目
  179. * @return
  180. * @throws Exception
  181. */
  182. @GetMapping("/syn-dic-project")
  183. @Deprecated
  184. public AdmResponse syncProjectObjectInfo() throws Exception {
  185. return AdmResponse.success(new ArrayList<>());
  186. }
  187. /**
  188. * 需采集信息同步到所有项目
  189. * @return
  190. * @throws Exception
  191. */
  192. @PostMapping("/delivered/infos")
  193. @Deprecated
  194. public AdmResponse queryDictDeliveredInfos(@RequestBody AdmDictDeliverieInfosRequest request) throws Exception {
  195. if(StringUtils.isEmpty(request.getObjType())){
  196. return AdmResponse.success("对象类型不可以为空");
  197. }
  198. if(StringUtils.isEmpty(request.getClassCode())){
  199. return AdmResponse.success("类型不可以为空");
  200. }
  201. return service.queryDictDeliveredInfos(AdmContextUtil.toDmpContext(),request,AdmObjectInfo.class);
  202. }
  203. }