GLDApproveService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package easydo.technology.service;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import javax.annotation.Resource;
  5. import org.springframework.beans.factory.annotation.Value;
  6. import org.springframework.stereotype.Component;
  7. import com.alibaba.fastjson.JSONArray;
  8. import com.alibaba.fastjson.JSONObject;
  9. import easydo.technology.components.JdbcClient;
  10. import easydo.technology.model.GldMember;
  11. import easydo.technology.model.SysUser;
  12. import easydo.technology.model.vo.GLDApproveVo;
  13. import easydo.technology.util.HttpClientUtil;
  14. import easydo.technology.utils.SecurityUtils;
  15. import lombok.extern.java.Log;
  16. @Log
  17. @Component
  18. public class GLDApproveService {
  19. @Value("${tenantId_gld_master}")
  20. String tenantId;
  21. @Value("${GLD.APPROVE.mgtGroupId}")
  22. String mgtGroupId;
  23. @Value("${GLD.APPROVE.authorization}")
  24. String authorization;
  25. @Value("${GLD.APPROVE.formCode}")
  26. String formCode;
  27. @Value("${GLD.APPROVE.formName}")
  28. String formName;
  29. @Value("${GLD.host}")
  30. String host;
  31. @Value("${GLD.APPROVE.startApprove}")
  32. String startApprove;
  33. @Value("${GLD.APPROVE.getApproveInfo}")
  34. String getApproveInfo;
  35. @Resource
  36. JdbcClient jdbcClient;
  37. public String startApprove(GLDApproveVo vo) throws Exception {
  38. Long userId = SecurityUtils.getCurrentUserId();
  39. SysUser user = new SysUser();
  40. user.setUserId(userId);
  41. user = jdbcClient.getJdbcModel(user);
  42. GldMember member = new GldMember();
  43. member.setPhone(user.getPhone());
  44. member = jdbcClient.getJdbcModel(member);
  45. String url = (host + startApprove).replace("{deptId}", mgtGroupId);
  46. Map<String, String> header = new HashMap<>();
  47. header.put("X-CORAL-TENANT", tenantId);
  48. header.put("Authorization", authorization);
  49. JSONObject object = new JSONObject();
  50. object.put("subject", "startPosName");
  51. object.put("startPos", formCode);
  52. object.put("startPosName", formName);
  53. object.put("templateId", vo.getTemplateId());
  54. object.put("targetType", vo.getTargetType());
  55. object.put("targetId", vo.getTargetId());
  56. object.put("taskType", "APPROVAL");
  57. object.put("hiddenResubmit", true);
  58. object.put("startorId", member.getId());
  59. log.info("发起审批流req========>" + object.toJSONString() + ",url======>" + url);
  60. JSONObject resObj = HttpClientUtil.sendPOSTWithHeader(url, object.toJSONString(), header);
  61. log.info("发起审批流req========>" + object.toJSONString() + "res========>" + resObj.toJSONString());
  62. return resObj.getString("id");
  63. }
  64. public GLDApproveVo getApproveInfo(GLDApproveVo vo) {
  65. String url = host + getApproveInfo.replace("{deptId}", mgtGroupId)
  66. .replace("{ids}", vo.getTaskId());
  67. Map<String, String> header = new HashMap<>();
  68. header.put("X-CORAL-TENANT", tenantId);
  69. header.put("Authorization", authorization);
  70. JSONArray resArray = HttpClientUtil.sendGETWithHeader_Arr(url, header);
  71. log.info("查询审批流res========>" + resArray.toJSONString());
  72. if (resArray.size() > 0) {
  73. String instanceId = ((JSONObject) resArray.get(0)).getString("xmglInstanceId");
  74. String state = ((JSONObject) resArray.get(0)).getString("state");
  75. vo.setInstanceId(instanceId);
  76. vo.setState(state);
  77. }
  78. return vo;
  79. }
  80. public static void main(String[] args) {
  81. // String url = "http://218.201.101.181:14780/task/tasks?targetId=89bfac89-7fd5-4c1f-a386-f2f36efafb1d&targetType=purchase_plan";
  82. String url = "http://218.201.101.181:14780/task/11200297/tasks?ids=11201008&taskType=APPROVAL";
  83. Map<String, String> header = new HashMap<>();
  84. header.put("X-CORAL-TENANT", "5600003");
  85. header.put("Authorization", "Basic YlFvc0tIeWJkSlZUZGtMcXA0U1VIMlE0ejNZQjc5eVA6b1ZmaU5zR1c1NVZzSW5ITTlDOVI3c2g0SHlpVGMxY2w=");
  86. JSONArray resArray = HttpClientUtil.sendGETWithHeader_Arr(url, header);
  87. log.info("查询审批流res========>" + resArray.toJSONString());
  88. }
  89. }