package com.malk.kabeiyi.controller; import com.malk.kabeiyi.service.KabeiyiService; import com.malk.server.common.McR; import com.malk.service.dingtalk.DDClient; import com.malk.service.dingtalk.DDClient_Workflow; import com.malk.utils.UtilDateTime; import com.malk.utils.UtilMap; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.*; @Slf4j @RestController @RequestMapping("/dd/") public class KabeiyiController { @Autowired private DDClient ddClient; @Autowired private DDClient_Workflow ddClient_workflow; @Autowired private KabeiyiService kabeiyiService; //审批实例url前缀 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="; @GetMapping("getList") public McR getList(String pid,String procCode,String nextToken){ LocalDateTime now=LocalDateTime.now(); Map data=new HashMap(); data.put("maxResults",10); data.put("nextToken",nextToken); data.put("statuses", Arrays.asList("COMPLETED")); // data.put("userIds",""); Map rsp=ddClient_workflow.getInstanceIds(ddClient.getAccessToken(),procCode, UtilDateTime.getLocalDateTimeTimeStamp(now.minusDays(120)),UtilDateTime.getLocalDateTimeTimeStamp(now),data); List list=(List)rsp.get("list"); List result=new ArrayList(); for(String id:list){ Map detail=ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(),id); if("agree".equals(String.valueOf(detail.get("result")))){ Map dd=new HashMap(); dd.put("url",PROC_INST_PREFIX_URL + id); dd.put("title",detail.get("title")); dd.put("businessId",detail.get("businessId")); result.add(dd); } } return McR.success(UtilMap.map("data, nextToken",result,rsp.get("nextToken"))); } //新增一张付款单 @PostMapping("addPayment") public McR addPayment(@RequestBody Map map){ return kabeiyiService.addPayment(map); } //审批实例推送到宜搭(卡倍亿) @PostMapping("pushProcInstToYD") public McR pushProcInstToYD(@RequestBody Map map){ return kabeiyiService.pushProcInstToYD(map); } //审批实例推送到宜搭(特充) @PostMapping("pushProcInstToYD2") public McR pushProcInstToYD2(@RequestBody Map map){ return kabeiyiService.pushProcInstToYD2(map); } //发起问题整改审批 @PostMapping("addQuestionApproval") public McR addQuestionApproval(@RequestBody Map map){ return kabeiyiService.addQuestionApproval(map); } @GetMapping("/ocr") public McR ocr(){ return kabeiyiService.ocr(); } }