KabeiyiController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.malk.kabeiyi.controller;
  2. import com.malk.kabeiyi.service.KabeiyiService;
  3. import com.malk.server.common.McR;
  4. import com.malk.service.dingtalk.DDClient;
  5. import com.malk.service.dingtalk.DDClient_Workflow;
  6. import com.malk.utils.UtilDateTime;
  7. import com.malk.utils.UtilMap;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.scheduling.annotation.Scheduled;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.time.LocalDateTime;
  13. import java.util.*;
  14. @Slf4j
  15. @RestController
  16. @RequestMapping("/dd/")
  17. public class KabeiyiController {
  18. @Autowired
  19. private DDClient ddClient;
  20. @Autowired
  21. private DDClient_Workflow ddClient_workflow;
  22. @Autowired
  23. private KabeiyiService kabeiyiService;
  24. //审批实例url前缀
  25. private static final String PROC_INST_PREFIX_URL = "https://aflow.dingtalk.com/dingtalk/web/query/pchomepage.htm?from=oflow&op=true&corpid=dingc3a744cb591a7346f2c783f7214b6d69#/plainapproval?procInstId=";
  26. @GetMapping("test")
  27. public McR test(){
  28. return McR.success();
  29. }
  30. @GetMapping("getList")
  31. public McR getList(String pid,String procCode,String nextToken){
  32. LocalDateTime now=LocalDateTime.now();
  33. Map data=new HashMap();
  34. data.put("maxResults",10);
  35. data.put("nextToken",nextToken);
  36. data.put("statuses", Arrays.asList("COMPLETED"));
  37. // data.put("userIds","");
  38. Map rsp=ddClient_workflow.getInstanceIds(ddClient.getAccessToken(),procCode,
  39. UtilDateTime.getLocalDateTimeTimeStamp(now.minusDays(120)),UtilDateTime.getLocalDateTimeTimeStamp(now),data);
  40. List<String> list=(List)rsp.get("list");
  41. List result=new ArrayList();
  42. for(String id:list){
  43. Map detail=ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(),id);
  44. if("agree".equals(String.valueOf(detail.get("result")))){
  45. Map dd=new HashMap();
  46. dd.put("url",PROC_INST_PREFIX_URL + id);
  47. dd.put("title",detail.get("title"));
  48. dd.put("businessId",detail.get("businessId"));
  49. result.add(dd);
  50. }
  51. }
  52. return McR.success(UtilMap.map("data, nextToken",result,rsp.get("nextToken")));
  53. }
  54. //发起问题整改审批
  55. @PostMapping("addQuestionApproval")
  56. public McR addQuestionApproval(@RequestBody Map map){
  57. return kabeiyiService.addQuestionApproval(map);
  58. }
  59. //审核计划发起审核表
  60. @PostMapping("addPlanApproval")
  61. public McR addPlanApproval(@RequestBody Map map){
  62. return kabeiyiService.addPlanApproval(map);
  63. }
  64. //ocr识别
  65. @GetMapping("ocr")
  66. public McR ocr(String downloadUrl,String name,String type){
  67. return kabeiyiService.ocr(downloadUrl,name,type);
  68. }
  69. //每天0点定时同步出库单信息
  70. @Scheduled(cron = "0 0 0 * * ?")
  71. @GetMapping("getSaleoutInfo")
  72. public McR getSaleoutInfo(){
  73. return kabeiyiService.getSaleoutInfo();
  74. }
  75. //============================================== 一期接口停用 =====================================================
  76. //审批实例推送到宜搭(卡倍亿)
  77. /*@PostMapping("pushProcInstToYD")
  78. public McR pushProcInstToYD(@RequestBody Map map){
  79. return kabeiyiService.pushProcInstToYD(map);
  80. }*/
  81. //审批实例推送到宜搭(特充)
  82. /*@PostMapping("pushProcInstToYD2")
  83. public McR pushProcInstToYD2(@RequestBody Map map){
  84. return kabeiyiService.pushProcInstToYD2(map);
  85. }*/
  86. //新增一张凭证
  87. @PostMapping("addVoucher")
  88. public McR addVoucher(@RequestBody Map map){
  89. kabeiyiService.addVoucher(map);
  90. return McR.success();
  91. }
  92. }