WarningSettingEndPoint.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628
  1. package com.yihu.ehr.analyze.controller.dataQuality;
  2. import com.yihu.ehr.analyze.common.AnalyzerApi;
  3. import com.yihu.ehr.analyze.feign.StandardServiceClient;
  4. import com.yihu.ehr.analyze.service.dataQuality.DqDatasetWarningService;
  5. import com.yihu.ehr.analyze.service.dataQuality.DqPaltformReceiveWarningService;
  6. import com.yihu.ehr.analyze.service.dataQuality.DqPaltformResourceWarningService;
  7. import com.yihu.ehr.analyze.service.dataQuality.DqPaltformUploadWarningService;
  8. import com.yihu.ehr.constants.ApiVersion;
  9. import com.yihu.ehr.constants.ServiceApi;
  10. import com.yihu.ehr.controller.EnvelopRestEndPoint;
  11. import com.yihu.ehr.entity.quality.DqDatasetWarning;
  12. import com.yihu.ehr.entity.quality.DqPaltformReceiveWarning;
  13. import com.yihu.ehr.entity.quality.DqPaltformResourceWarning;
  14. import com.yihu.ehr.entity.quality.DqPaltformUploadWarning;
  15. import com.yihu.ehr.model.quality.MDqDatasetWarning;
  16. import com.yihu.ehr.model.quality.MDqPaltformReceiveWarning;
  17. import com.yihu.ehr.model.quality.MDqPaltformResourceWarning;
  18. import com.yihu.ehr.model.quality.MDqPaltformUploadWarning;
  19. import com.yihu.ehr.util.rest.Envelop;
  20. import com.yihu.hos.model.standard.MStdDataSet;
  21. import com.yihu.hos.model.standard.MStdMetaData;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiOperation;
  24. import io.swagger.annotations.ApiParam;
  25. import jxl.Sheet;
  26. import jxl.Workbook;
  27. import org.apache.commons.collections.CollectionUtils;
  28. import org.apache.commons.lang.StringUtils;
  29. import org.springframework.beans.factory.annotation.Autowired;
  30. import org.springframework.beans.factory.annotation.Value;
  31. import org.springframework.http.MediaType;
  32. import org.springframework.http.ResponseEntity;
  33. import org.springframework.web.bind.annotation.*;
  34. import org.springframework.web.multipart.MultipartFile;
  35. import java.util.ArrayList;
  36. import java.util.List;
  37. /**
  38. * @author yeshijie on 2018/5/28.
  39. */
  40. @RestController
  41. @RequestMapping(value = ApiVersion.Version1_0, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  42. @Api(value = "WarningSettingEndPoint", description = "质控-预警设置", tags = {"档案分析服务-质控-预警设置"})
  43. public class WarningSettingEndPoint extends EnvelopRestEndPoint {
  44. @Autowired
  45. private DqDatasetWarningService dqDatasetWarningService;
  46. @Autowired
  47. private DqPaltformReceiveWarningService dqPaltformReceiveWarningService;
  48. @Autowired
  49. private DqPaltformResourceWarningService dqPaltformResourceWarningService;
  50. @Autowired
  51. private DqPaltformUploadWarningService dqPaltformUploadWarningService;
  52. @Value("${quality.orgCode}")
  53. private String defaultOrgCode;
  54. @Value("${quality.version}")
  55. private String defaultQualityVersion;
  56. @Autowired
  57. private StandardServiceClient standardServiceClient;
  58. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningList, method = RequestMethod.GET)
  59. @ApiOperation(value = "平台接收预警列表")
  60. public Envelop paltformReceiveWarningList(
  61. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "jkzl")
  62. @RequestParam(value = "orgCode", required = false) String orgCode,
  63. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  64. @RequestParam(value = "size", required = false) int size,
  65. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  66. @RequestParam(value = "page", required = false) int page){
  67. Envelop envelop = new Envelop();
  68. try {
  69. String filters = null;
  70. if(StringUtils.isNotBlank(orgCode)){
  71. filters = "orgCode="+orgCode;
  72. }else {
  73. filters = "orgCode<>"+defaultOrgCode;
  74. }
  75. String sorts = "-updateTime";
  76. List<DqPaltformReceiveWarning> list = dqPaltformReceiveWarningService.search(null, filters, sorts, page, size);
  77. List<MDqPaltformReceiveWarning> warnings = (List<MDqPaltformReceiveWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqPaltformReceiveWarning.class, null);
  78. return getPageResult(warnings, (int)dqPaltformReceiveWarningService.getCount(filters), page, size);
  79. }catch (Exception e){
  80. e.printStackTrace();
  81. envelop.setSuccessFlg(false);
  82. envelop.setErrorMsg(e.getMessage());
  83. }
  84. return envelop;
  85. }
  86. @RequestMapping(value = ServiceApi.DataQuality.PaltformResourceWarningList, method = RequestMethod.GET)
  87. @ApiOperation(value = "平台资源化预警列表")
  88. public Envelop paltformResourceWarningList(
  89. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "jkzl")
  90. @RequestParam(value = "orgCode", required = false) String orgCode,
  91. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  92. @RequestParam(value = "size", required = false) int size,
  93. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  94. @RequestParam(value = "page", required = false) int page){
  95. Envelop envelop = new Envelop();
  96. try {
  97. String filters = null;
  98. if(StringUtils.isNotBlank(orgCode)){
  99. filters = "orgCode="+orgCode;
  100. }
  101. String sorts = "-updateTime";
  102. List<DqPaltformResourceWarning> list = dqPaltformResourceWarningService.search(null, filters, sorts, page, size);
  103. List<MDqPaltformResourceWarning> warnings = (List<MDqPaltformResourceWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqPaltformResourceWarning.class, null);
  104. return getPageResult(warnings, (int)dqPaltformResourceWarningService.getCount(filters), page, size);
  105. }catch (Exception e){
  106. e.printStackTrace();
  107. envelop.setSuccessFlg(false);
  108. envelop.setErrorMsg(e.getMessage());
  109. }
  110. return envelop;
  111. }
  112. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarningList, method = RequestMethod.GET)
  113. @ApiOperation(value = "平台上传预警列表")
  114. public Envelop paltformUploadWarningList(
  115. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "jkzl")
  116. @RequestParam(value = "orgCode", required = false) String orgCode,
  117. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  118. @RequestParam(value = "size", required = false) int size,
  119. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  120. @RequestParam(value = "page", required = false) int page) {
  121. Envelop envelop = new Envelop();
  122. try {
  123. String filters = null;
  124. if(StringUtils.isNotBlank(orgCode)){
  125. filters = "orgCode="+orgCode;
  126. }
  127. String sorts = "-updateTime";
  128. List<DqPaltformUploadWarning> list = dqPaltformUploadWarningService.search(null, filters, sorts, page, size);
  129. List<MDqPaltformUploadWarning> warnings = (List<MDqPaltformUploadWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqPaltformUploadWarning.class, null);
  130. return getPageResult(warnings, (int)dqPaltformUploadWarningService.getCount(filters), page, size);
  131. }catch (Exception e){
  132. e.printStackTrace();
  133. envelop.setSuccessFlg(false);
  134. envelop.setErrorMsg(e.getMessage());
  135. }
  136. return envelop;
  137. }
  138. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningDefault, method = RequestMethod.GET)
  139. @ApiOperation(value = "查找默认的平台接收预警")
  140. public Envelop paltformReceiveWarningDefault() {
  141. Envelop envelop = new Envelop();
  142. try {
  143. DqPaltformReceiveWarning warning = dqPaltformReceiveWarningService.findByOrgCode(defaultOrgCode);
  144. List<DqDatasetWarning> warningList = dqDatasetWarningService.findByOrgCodeAndType(warning.getOrgCode(),"1");
  145. warning.setDatasetWarningNum(warningList.size());
  146. warning.setDatasetWarningList(warningList);
  147. return success(convertToModel(warning, MDqPaltformReceiveWarning.class));
  148. }catch (Exception e){
  149. e.printStackTrace();
  150. envelop.setSuccessFlg(false);
  151. envelop.setErrorMsg(e.getMessage());
  152. }
  153. return envelop;
  154. }
  155. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarning, method = RequestMethod.GET)
  156. @ApiOperation(value = "根据id查询平台接收预警")
  157. public Envelop getMDqPaltformReceiveWarningById(
  158. @ApiParam(name = "id", value = "id", defaultValue = "")
  159. @PathVariable(value = "id") Long id) {
  160. Envelop envelop = new Envelop();
  161. try {
  162. DqPaltformReceiveWarning warning = dqPaltformReceiveWarningService.findById(id);
  163. List<DqDatasetWarning> warningList = dqDatasetWarningService.findByOrgCodeAndType(warning.getOrgCode(),"1");
  164. warning.setDatasetWarningNum(warningList.size());
  165. return success(convertToModel(warning, MDqPaltformReceiveWarning.class),warningList);
  166. }catch (Exception e){
  167. e.printStackTrace();
  168. envelop.setSuccessFlg(false);
  169. envelop.setErrorMsg(e.getMessage());
  170. }
  171. return envelop;
  172. }
  173. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningIsExist, method = RequestMethod.GET)
  174. @ApiOperation(value = "验证机构是否存在")
  175. public Envelop paltformReceiveWarningIsExist(
  176. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "")
  177. @RequestParam(value = "orgCode") String orgCode) {
  178. Envelop envelop = new Envelop();
  179. try {
  180. DqPaltformReceiveWarning warning = dqPaltformReceiveWarningService.findByOrgCode(orgCode);
  181. if(warning!=null){
  182. return success(1);
  183. }else {
  184. return success(0);
  185. }
  186. }catch (Exception e){
  187. e.printStackTrace();
  188. envelop.setSuccessFlg(false);
  189. envelop.setErrorMsg(e.getMessage());
  190. }
  191. return envelop;
  192. }
  193. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarningIsExist, method = RequestMethod.GET)
  194. @ApiOperation(value = "验证机构是否存在")
  195. public Envelop paltformUploadWarningIsExist(
  196. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "")
  197. @RequestParam(value = "orgCode") String orgCode) {
  198. Envelop envelop = new Envelop();
  199. try {
  200. DqPaltformUploadWarning warning = dqPaltformUploadWarningService.findByOrgCode(orgCode);
  201. if(warning!=null){
  202. return success(1);
  203. }else {
  204. return success(0);
  205. }
  206. }catch (Exception e){
  207. e.printStackTrace();
  208. envelop.setSuccessFlg(false);
  209. envelop.setErrorMsg(e.getMessage());
  210. }
  211. return envelop;
  212. }
  213. @RequestMapping(value = ServiceApi.DataQuality.PaltformResourceWarning, method = RequestMethod.GET)
  214. @ApiOperation(value = "根据id查询平台资源化预警")
  215. public Envelop getMDqPaltformResourceWarningById(
  216. @ApiParam(name = "id", value = "id", defaultValue = "")
  217. @PathVariable(value = "id") Long id) {
  218. Envelop envelop = new Envelop();
  219. try {
  220. DqPaltformResourceWarning warning = dqPaltformResourceWarningService.findById(id);
  221. return success(convertToModel(warning, MDqPaltformResourceWarning.class));
  222. }catch (Exception e){
  223. e.printStackTrace();
  224. envelop.setSuccessFlg(false);
  225. envelop.setErrorMsg(e.getMessage());
  226. }
  227. return envelop;
  228. }
  229. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarning, method = RequestMethod.GET)
  230. @ApiOperation(value = "根据id查询平台上传预警")
  231. public Envelop getMDqPaltformUploadWarningById(
  232. @ApiParam(name = "id", value = "id", defaultValue = "")
  233. @PathVariable(value = "id") Long id) {
  234. Envelop envelop = new Envelop();
  235. try {
  236. DqPaltformUploadWarning warning = dqPaltformUploadWarningService.findById(id);
  237. List<DqDatasetWarning> warningList = dqDatasetWarningService.findByOrgCodeAndType(warning.getOrgCode(),"2");
  238. warning.setDatasetWarningNum(warningList.size());
  239. return success(convertToModel(warning, MDqPaltformUploadWarning.class),warningList);
  240. }catch (Exception e){
  241. e.printStackTrace();
  242. envelop.setSuccessFlg(false);
  243. envelop.setErrorMsg(e.getMessage());
  244. }
  245. return envelop;
  246. }
  247. @RequestMapping(value = ServiceApi.DataQuality.DatasetWarningListNoPage, method = RequestMethod.GET)
  248. @ApiOperation(value = "预警数据集列表(不分页)")
  249. public Envelop datasetWarningListNoPage(
  250. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "jkzl")
  251. @RequestParam(value = "orgCode", required = true) String orgCode,
  252. @ApiParam(name = "type", value = "类型(1平台接收,2平台上传)", defaultValue = "1")
  253. @RequestParam(value = "type", required = true) String type) throws Exception {
  254. Envelop envelop = new Envelop();
  255. try{
  256. List<DqDatasetWarning> list = dqDatasetWarningService.findByOrgCodeAndType(orgCode, type);
  257. List<MDqDatasetWarning> warnings = (List<MDqDatasetWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqDatasetWarning.class, null);
  258. return success(warnings);
  259. }catch (Exception e){
  260. e.printStackTrace();
  261. envelop.setSuccessFlg(false);
  262. envelop.setErrorMsg(e.getMessage());
  263. }
  264. return envelop;
  265. }
  266. @RequestMapping(value = ServiceApi.DataQuality.DatasetWarningList, method = RequestMethod.GET)
  267. @ApiOperation(value = "预警数据集列表")
  268. public Envelop datasetWarningList(
  269. @ApiParam(name = "orgCode", value = "机构code", defaultValue = "jkzl")
  270. @RequestParam(value = "orgCode", required = true) String orgCode,
  271. @ApiParam(name = "type", value = "类型(1平台接收,2平台上传)", defaultValue = "1")
  272. @RequestParam(value = "type", required = true) String type,
  273. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  274. @RequestParam(value = "size", required = false) int size,
  275. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  276. @RequestParam(value = "page", required = false) int page){
  277. Envelop envelop = new Envelop();
  278. try{
  279. String filters = "orgCode="+orgCode+";type="+type;
  280. String sorts = "-code";
  281. List<DqDatasetWarning> list = dqDatasetWarningService.search(null, filters, sorts, page, size);
  282. List<MDqDatasetWarning> warnings = (List<MDqDatasetWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqDatasetWarning.class, null);
  283. return getPageResult(warnings,(int)dqDatasetWarningService.getCount(filters), page, size);
  284. }catch (Exception e){
  285. e.printStackTrace();
  286. envelop.setSuccessFlg(false);
  287. envelop.setErrorMsg(e.getMessage());
  288. }
  289. return envelop;
  290. }
  291. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningAdd, method = RequestMethod.POST)
  292. @ApiOperation(value = "新增平台接收预警")
  293. public Envelop paltformReceiveWarningAdd(
  294. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  295. @RequestParam(value = "jsonData", required = true) String jsonData) {
  296. Envelop envelop = new Envelop();
  297. try {
  298. DqPaltformReceiveWarning warning = toEntity(jsonData, DqPaltformReceiveWarning.class);
  299. DqPaltformReceiveWarning oldWarning = dqPaltformReceiveWarningService.findByOrgCode(warning.getOrgCode());
  300. if(oldWarning!=null){
  301. envelop.setSuccessFlg(false);
  302. envelop.setErrorMsg("该机构已存在预警记录");
  303. return envelop;
  304. }
  305. warning = dqPaltformReceiveWarningService.paltformReceiveWarningAdd(warning);
  306. return success(convertToModel(warning, MDqPaltformReceiveWarning.class));
  307. }catch (Exception e){
  308. e.printStackTrace();
  309. envelop.setSuccessFlg(false);
  310. envelop.setErrorMsg(e.getMessage());
  311. }
  312. return envelop;
  313. }
  314. @RequestMapping(value = ServiceApi.DataQuality.PaltformResourceWarningAdd, method = RequestMethod.POST)
  315. @ApiOperation(value = "新增平台资源化预警")
  316. public Envelop paltformResourceWarningAdd(
  317. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  318. @RequestParam(value = "jsonData", required = true) String jsonData) {
  319. Envelop envelop = new Envelop();
  320. try {
  321. DqPaltformResourceWarning warning = toEntity(jsonData, DqPaltformResourceWarning.class);
  322. warning = dqPaltformResourceWarningService.paltformResourceWarningAdd(warning);
  323. return success(convertToModel(warning, MDqPaltformResourceWarning.class));
  324. }catch (Exception e){
  325. e.printStackTrace();
  326. envelop.setSuccessFlg(false);
  327. envelop.setErrorMsg(e.getMessage());
  328. }
  329. return envelop;
  330. }
  331. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarningAdd, method = RequestMethod.POST)
  332. @ApiOperation(value = "新增平台上传预警")
  333. public Envelop paltformUploadWarningAdd(
  334. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  335. @RequestParam(value = "jsonData", required = true) String jsonData){
  336. Envelop envelop = new Envelop();
  337. try {
  338. DqPaltformUploadWarning warning = toEntity(jsonData, DqPaltformUploadWarning.class);
  339. DqPaltformUploadWarning oldWarning = dqPaltformUploadWarningService.findByOrgCode(warning.getOrgCode());
  340. if(oldWarning!=null){
  341. envelop.setSuccessFlg(false);
  342. envelop.setErrorMsg("该机构已存在预警记录");
  343. return envelop;
  344. }
  345. warning = dqPaltformUploadWarningService.paltformUploadWarningAdd(warning);
  346. return success(convertToModel(warning, MDqPaltformUploadWarning.class));
  347. }catch (Exception e){
  348. e.printStackTrace();
  349. envelop.setSuccessFlg(false);
  350. envelop.setErrorMsg(e.getMessage());
  351. }
  352. return envelop;
  353. }
  354. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningDel, method = RequestMethod.POST)
  355. @ApiOperation(value = "删除平台接收预警")
  356. public Envelop paltformReceiveWarningDel(
  357. @ApiParam(name = "id", value = "1", defaultValue = "")
  358. @RequestParam Long id) throws Exception {
  359. Envelop envelop = new Envelop();
  360. try {
  361. dqPaltformReceiveWarningService.deleteWarning(id);
  362. return success(null);
  363. }catch (Exception e){
  364. e.printStackTrace();
  365. envelop.setSuccessFlg(false);
  366. envelop.setErrorMsg(e.getMessage());
  367. }
  368. return envelop;
  369. }
  370. @RequestMapping(value = ServiceApi.DataQuality.PaltformResourceWarningDel, method = RequestMethod.POST)
  371. @ApiOperation(value = "删除平台资源化预警")
  372. public Envelop paltformResourceWarningDel(
  373. @ApiParam(name = "id", value = "1", defaultValue = "")
  374. @RequestParam Long id) throws Exception {
  375. Envelop envelop = new Envelop();
  376. try {
  377. dqPaltformResourceWarningService.delete(id);
  378. return success(null);
  379. }catch (Exception e){
  380. e.printStackTrace();
  381. envelop.setSuccessFlg(false);
  382. envelop.setErrorMsg(e.getMessage());
  383. }
  384. return envelop;
  385. }
  386. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarningDel, method = RequestMethod.POST)
  387. @ApiOperation(value = "删除平台上传预警")
  388. public Envelop paltformUploadWarningDel(
  389. @ApiParam(name = "id", value = "1", defaultValue = "")
  390. @RequestParam Long id) throws Exception {
  391. Envelop envelop = new Envelop();
  392. try {
  393. dqPaltformUploadWarningService.deleteWarning(id);
  394. return success(null);
  395. }catch (Exception e){
  396. e.printStackTrace();
  397. envelop.setSuccessFlg(false);
  398. envelop.setErrorMsg(e.getMessage());
  399. }
  400. return envelop;
  401. }
  402. @RequestMapping(value = ServiceApi.DataQuality.PaltformReceiveWarningUpd, method = RequestMethod.POST)
  403. @ApiOperation(value = "修改平台接收预警")
  404. public Envelop paltformReceiveWarningUpd(
  405. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  406. @RequestParam(value = "jsonData", required = true) String jsonData) {
  407. Envelop envelop = new Envelop();
  408. try {
  409. DqPaltformReceiveWarning warning = toEntity(jsonData, DqPaltformReceiveWarning.class);
  410. warning = dqPaltformReceiveWarningService.paltformReceiveWarningUpd(warning);
  411. return success(convertToModel(warning, MDqPaltformReceiveWarning.class));
  412. }catch (Exception e){
  413. e.printStackTrace();
  414. envelop.setSuccessFlg(false);
  415. envelop.setErrorMsg(e.getMessage());
  416. }
  417. return envelop;
  418. }
  419. @RequestMapping(value = ServiceApi.DataQuality.PaltformResourceWarningUpd, method = RequestMethod.POST)
  420. @ApiOperation(value = "修改平台资源化预警")
  421. public Envelop paltformResourceWarningUpd(
  422. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  423. @RequestParam(value = "jsonData", required = true) String jsonData) {
  424. Envelop envelop = new Envelop();
  425. try {
  426. DqPaltformResourceWarning warning = toEntity(jsonData, DqPaltformResourceWarning.class);
  427. warning = dqPaltformResourceWarningService.paltformResourceWarningUpd(warning);
  428. return success(convertToModel(warning, MDqPaltformResourceWarning.class));
  429. }catch (Exception e){
  430. e.printStackTrace();
  431. envelop.setSuccessFlg(false);
  432. envelop.setErrorMsg(e.getMessage());
  433. }
  434. return envelop;
  435. }
  436. @RequestMapping(value = ServiceApi.DataQuality.PaltformUploadWarningUpd, method = RequestMethod.POST)
  437. @ApiOperation(value = "修改平台上传预警")
  438. public Envelop paltformUploadWarningUpd(
  439. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  440. @RequestParam(value = "jsonData", required = true) String jsonData) {
  441. Envelop envelop = new Envelop();
  442. try {
  443. DqPaltformUploadWarning warning = toEntity(jsonData, DqPaltformUploadWarning.class);
  444. warning = dqPaltformUploadWarningService.paltformUploadWarningUpd(warning);
  445. return success(convertToModel(warning, MDqPaltformUploadWarning.class));
  446. }catch (Exception e){
  447. e.printStackTrace();
  448. envelop.setSuccessFlg(false);
  449. envelop.setErrorMsg(e.getMessage());
  450. }
  451. return envelop;
  452. }
  453. @RequestMapping(value = ServiceApi.DataQuality.DatasetWarningAdd, method = RequestMethod.POST)
  454. @ApiOperation(value = "新增数据集")
  455. public Envelop datasetWarningAdd(
  456. @ApiParam(name = "jsonData", value = "对象JSON结构体", defaultValue = "")
  457. @RequestParam(value = "jsonData", required = true) String jsonData) {
  458. Envelop envelop = new Envelop();
  459. try {
  460. DqDatasetWarning warning = toEntity(jsonData, DqDatasetWarning.class);
  461. warning = dqDatasetWarningService.save(warning);
  462. return success(convertToModel(warning, MDqDatasetWarning.class));
  463. }catch (Exception e){
  464. e.printStackTrace();
  465. envelop.setSuccessFlg(false);
  466. envelop.setErrorMsg(e.getMessage());
  467. }
  468. return envelop;
  469. }
  470. @RequestMapping(value = ServiceApi.DataQuality.DatasetWarningDel, method = RequestMethod.POST)
  471. @ApiOperation(value = "删除数据集")
  472. public Envelop datasetWarningDel(
  473. @ApiParam(name = "id", value = "1", defaultValue = "")
  474. @RequestParam Long id) throws Exception {
  475. Envelop envelop = new Envelop();
  476. try {
  477. dqDatasetWarningService.delete(id);
  478. return success(null);
  479. }catch (Exception e){
  480. e.printStackTrace();
  481. envelop.setSuccessFlg(false);
  482. envelop.setErrorMsg(e.getMessage());
  483. }
  484. return envelop;
  485. }
  486. @RequestMapping(value = ServiceApi.DataQuality.Meta_datas, method = RequestMethod.GET)
  487. @ApiOperation(value = "获取数据元")
  488. public Envelop meta_datas(
  489. @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "")
  490. @RequestParam(value = "fields", required = false) String fields,
  491. @ApiParam(name = "filters", value = "过滤器,为空检索所有条件", defaultValue = "")
  492. @RequestParam(value = "filters", required = false) String filters,
  493. @ApiParam(name = "datasetCode", value = "数据集编码", defaultValue = "")
  494. @RequestParam(value = "datasetCode", required = false) String datasetCode,
  495. @ApiParam(name = "sorts", value = "排序,规则参见说明文档", defaultValue = "")
  496. @RequestParam(value = "sorts", required = false) String sorts,
  497. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  498. @RequestParam(value = "size", required = false) int size,
  499. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  500. @RequestParam(value = "page", required = false) int page) {
  501. Envelop envelop = new Envelop();
  502. try {
  503. String lastStandByOrgCode = standardServiceClient.getLastStandByOrgCode(defaultOrgCode);
  504. if(StringUtils.isNotBlank(datasetCode)){
  505. //查找datasetId
  506. String filter = "code="+datasetCode;
  507. ResponseEntity<List<MStdDataSet>> res = standardServiceClient.searchDataSets(null,filter,null,1,1,lastStandByOrgCode);
  508. List<MStdDataSet> mStdDataSetList = res.getBody();
  509. if(CollectionUtils.isNotEmpty(mStdDataSetList)){
  510. if(StringUtils.isNotBlank(filters)){
  511. filters = "dataSetId="+mStdDataSetList.get(0).getId()+";"+filters;
  512. }else{
  513. filters = "dataSetId="+mStdDataSetList.get(0).getId();
  514. }
  515. }
  516. }
  517. ResponseEntity<List<MStdMetaData>> res = standardServiceClient.searchOrgMetaDatas(fields,filters,sorts,size,page,lastStandByOrgCode);
  518. List<MStdMetaData> mStdDataSetList = res.getBody();
  519. int totalCount = getTotalCount(res);
  520. return getPageResult(mStdDataSetList,totalCount,page,size);
  521. }catch (Exception e){
  522. e.printStackTrace();
  523. envelop.setSuccessFlg(false);
  524. envelop.setErrorMsg(e.getMessage());
  525. }
  526. return envelop;
  527. }
  528. @RequestMapping(value = ServiceApi.DataQuality.DatasetList, method = RequestMethod.GET)
  529. @ApiOperation(value = "获取数据集")
  530. public Envelop datasetList(
  531. @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "")
  532. @RequestParam(value = "fields", required = false) String fields,
  533. @ApiParam(name = "filters", value = "过滤器,为空检索所有条件", defaultValue = "")
  534. @RequestParam(value = "filters", required = false) String filters,
  535. @ApiParam(name = "sorts", value = "排序,规则参见说明文档", defaultValue = "")
  536. @RequestParam(value = "sorts", required = false) String sorts,
  537. @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
  538. @RequestParam(value = "size", required = false) int size,
  539. @ApiParam(name = "page", value = "页码", defaultValue = "1")
  540. @RequestParam(value = "page", required = false) int page) {
  541. Envelop envelop = new Envelop();
  542. try {
  543. String lastStandByOrgCode = standardServiceClient.getLastStandByOrgCode(defaultOrgCode);
  544. ResponseEntity<List<MStdDataSet>> res = standardServiceClient.searchDataSets(fields,filters,sorts,size,page,lastStandByOrgCode);
  545. List<MStdDataSet> mStdDataSetList = res.getBody();
  546. int totalCount = getTotalCount(res);
  547. return getPageResult(mStdDataSetList,totalCount,page,size);
  548. }catch (Exception e){
  549. e.printStackTrace();
  550. envelop.setSuccessFlg(false);
  551. envelop.setErrorMsg(e.getMessage());
  552. }
  553. return envelop;
  554. }
  555. @RequestMapping(value = ServiceApi.DataQuality.ImportDatasetExcel, method = RequestMethod.POST)
  556. @ApiOperation(value = "数据集导入")
  557. public Envelop importDatasetExcel(MultipartFile file) {
  558. Envelop envelop = new Envelop();
  559. try {
  560. Workbook wb = Workbook.getWorkbook(file.getInputStream());
  561. Sheet[] sheets = wb.getSheets();
  562. Sheet sheet = sheets[0];
  563. int rows = sheet.getRows();
  564. List<String> codeList = new ArrayList<>(rows);
  565. if(rows>1){
  566. for(int row = 1;row<rows;row++){
  567. String code = sheet.getCell(0, row).getContents();
  568. if(StringUtils.isNotBlank(code)){
  569. codeList.add(code);
  570. }
  571. }
  572. }
  573. List<DqDatasetWarning> list = dqDatasetWarningService.importDatasetExcel(codeList);
  574. List<MDqDatasetWarning> warnings = (List<MDqDatasetWarning>)convertToModels(list, new ArrayList<>(list.size()), MDqDatasetWarning.class, null);
  575. return success(warnings);
  576. } catch (Exception e) {
  577. e.printStackTrace();
  578. envelop.setSuccessFlg(false);
  579. envelop.setErrorMsg(e.getMessage());
  580. }
  581. return envelop;
  582. }
  583. @RequestMapping(value = AnalyzerApi.StandVersion.GetLastVersion, method = RequestMethod.GET)
  584. @ApiOperation(value = "获取某个机构已发布的最新版本号", notes = "获取某个机构已发布的最新版本号")
  585. public Envelop getLastStandByOrgCode(@ApiParam(value="机构code,不传则默认为jkzl",defaultValue = "jkzl")
  586. @RequestParam(value = "orgCode",required = false) String orgCode){
  587. if(StringUtils.isBlank(orgCode)){
  588. orgCode = defaultOrgCode;
  589. }
  590. String lastStandByOrgCode = standardServiceClient.getLastStandByOrgCode(orgCode);
  591. Envelop envelop = new Envelop();
  592. envelop.setSuccessFlg(true);
  593. envelop.setObj(lastStandByOrgCode);
  594. return envelop;
  595. }
  596. }