|
@@ -589,6 +589,7 @@ public class WeiXinCorpController {
|
|
}else if("sys_approval_change".equals(event)){
|
|
}else if("sys_approval_change".equals(event)){
|
|
//审批动作事件,发生在该企业已经开通应用的情况下。
|
|
//审批动作事件,发生在该企业已经开通应用的情况下。
|
|
System.out.println("审批动作事件");
|
|
System.out.println("审批动作事件");
|
|
|
|
+ System.out.println(jsonObject.toString());
|
|
if(jsonObject.has("ApprovalInfo")){
|
|
if(jsonObject.has("ApprovalInfo")){
|
|
org.json.JSONObject approvalInfo = jsonObject.getJSONObject("ApprovalInfo");
|
|
org.json.JSONObject approvalInfo = jsonObject.getJSONObject("ApprovalInfo");
|
|
Long spNo = approvalInfo.getLong("SpNo");
|
|
Long spNo = approvalInfo.getLong("SpNo");
|
|
@@ -609,6 +610,7 @@ public class WeiXinCorpController {
|
|
Project project=new Project();
|
|
Project project=new Project();
|
|
BeanUtils.copyProperties(projectApproval,project);
|
|
BeanUtils.copyProperties(projectApproval,project);
|
|
project.setId(null);
|
|
project.setId(null);
|
|
|
|
+ project.setStatus(1);//默认进行中状态
|
|
project.setCreateDate(LocalDate.now());
|
|
project.setCreateDate(LocalDate.now());
|
|
List<ProjectApprovalBasecost> projectApprovalBasecostList = projectApprovalBasecostService.list(new LambdaQueryWrapper<ProjectApprovalBasecost>().eq(ProjectApprovalBasecost::getProjectApprovalId, projectApproval.getId()));
|
|
List<ProjectApprovalBasecost> projectApprovalBasecostList = projectApprovalBasecostService.list(new LambdaQueryWrapper<ProjectApprovalBasecost>().eq(ProjectApprovalBasecost::getProjectApprovalId, projectApproval.getId()));
|
|
List<ParticipationApproval> participationApprovalList = participationApprovalService.list(new LambdaQueryWrapper<ParticipationApproval>().eq(ParticipationApproval::getProjectApprovalId, projectApproval.getId()));
|
|
List<ParticipationApproval> participationApprovalList = participationApprovalService.list(new LambdaQueryWrapper<ParticipationApproval>().eq(ParticipationApproval::getProjectApprovalId, projectApproval.getId()));
|
|
@@ -653,77 +655,42 @@ public class WeiXinCorpController {
|
|
projectApprovalCheckService.remove(new LambdaQueryWrapper<ProjectApprovalCheck>().eq(ProjectApprovalCheck::getProjectApprovalId,projectApproval.getId()).eq(ProjectApprovalCheck::getStatus,0));
|
|
projectApprovalCheckService.remove(new LambdaQueryWrapper<ProjectApprovalCheck>().eq(ProjectApprovalCheck::getProjectApprovalId,projectApproval.getId()).eq(ProjectApprovalCheck::getStatus,0));
|
|
return "success";
|
|
return "success";
|
|
}
|
|
}
|
|
- if(approvalInfo.has("SpRecord")){
|
|
|
|
- org.json.JSONArray spRecord = approvalInfo.getJSONArray("SpRecord");
|
|
|
|
-
|
|
|
|
- for (int i = 0; i < spRecord.length(); i++) {
|
|
|
|
- org.json.JSONObject object = spRecord.getJSONObject(i);
|
|
|
|
- if(object.has("Details")){
|
|
|
|
- org.json.JSONArray details = object.getJSONArray("Details");
|
|
|
|
- for (int i1 = 0; i1 < details.length(); i1++) {
|
|
|
|
- org.json.JSONObject detail = details.getJSONObject(i1);
|
|
|
|
- if(detail.has("Approver")){
|
|
|
|
- org.json.JSONObject approvor = detail.getJSONObject("Approver");
|
|
|
|
- //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
- int spStatus = detail.getInt("SpStatus");
|
|
|
|
- String userId = approvor.getString("UserId");
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+// if(approvalInfo.has("SpRecord")){
|
|
|
|
+// org.json.JSONArray spRecord = approvalInfo.getJSONArray("SpRecord");
|
|
|
|
+//
|
|
|
|
+// for (int i = 0; i < spRecord.length(); i++) {
|
|
|
|
+// org.json.JSONObject object = spRecord.getJSONObject(i);
|
|
|
|
+// if(object.has("Details")){
|
|
|
|
+// org.json.JSONArray details = object.getJSONArray("Details");
|
|
|
|
+// for (int i1 = 0; i1 < details.length(); i1++) {
|
|
|
|
+// org.json.JSONObject detail = details.getJSONObject(i1);
|
|
|
|
+// if(detail.has("Approver")){
|
|
|
|
+// org.json.JSONObject approvor = detail.getJSONObject("Approver");
|
|
|
|
+// //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
+// int spStatus = detail.getInt("SpStatus");
|
|
|
|
+// String userId = approvor.getString("UserId");
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// }
|
|
if(approvalInfo.has("SpRecord")){
|
|
if(approvalInfo.has("SpRecord")){
|
|
//获取到审批节点 生成审核记录
|
|
//获取到审批节点 生成审核记录
|
|
List<ProjectApprovalLog> projectApprovalLogList=new ArrayList<>();
|
|
List<ProjectApprovalLog> projectApprovalLogList=new ArrayList<>();
|
|
- org.json.JSONArray spRecord = approvalInfo.getJSONArray("SpRecord");
|
|
|
|
- for (int i = 0; i < spRecord.length(); i++) {
|
|
|
|
- org.json.JSONObject object = spRecord.getJSONObject(i);
|
|
|
|
- if(object.has("Details")){
|
|
|
|
- Object Details = object.get("Details");
|
|
|
|
- if(Details instanceof org.json.JSONArray){
|
|
|
|
- org.json.JSONArray details = object.getJSONArray("Details");
|
|
|
|
- for (int i1 = 0; i1 < details.length(); i1++) {
|
|
|
|
- org.json.JSONObject detail = details.getJSONObject(i1);
|
|
|
|
- if(detail.has("Approver")){
|
|
|
|
- org.json.JSONObject approver = detail.getJSONObject("Approver");
|
|
|
|
- //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
- int spStatus = detail.getInt("SpStatus");
|
|
|
|
- String userId = approver.getString("UserId");
|
|
|
|
- Optional<User> first = userList.stream().filter(f -> f.getCorpwxUserid().equals(userId)).findFirst();
|
|
|
|
- if(first.isPresent()){
|
|
|
|
- //新增操作记录数据
|
|
|
|
- ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
|
|
- projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
- projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
- projectApprovalLog.setUserName(first.get().getName());
|
|
|
|
- projectApprovalLog.setType(spStatus);
|
|
|
|
- projectApprovalLogList.add(projectApprovalLog);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }else if(Details instanceof org.json.JSONObject){
|
|
|
|
- org.json.JSONObject detail = object.getJSONObject("Details");
|
|
|
|
- if(detail.has("Approver")){
|
|
|
|
- org.json.JSONObject approver = detail.getJSONObject("Approver");
|
|
|
|
- //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
- int spStatus = detail.getInt("SpStatus");
|
|
|
|
- String userId = approver.getString("UserId");
|
|
|
|
- Optional<User> first = userList.stream().filter(f -> f.getCorpwxUserid().equals(userId)).findFirst();
|
|
|
|
- if(first.isPresent()){
|
|
|
|
- //新增操作记录数据
|
|
|
|
- ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
|
|
- projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
- projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
- projectApprovalLog.setUserName(first.get().getName());
|
|
|
|
- projectApprovalLog.setType(spStatus);
|
|
|
|
- projectApprovalLogList.add(projectApprovalLog);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ Object recordObj = approvalInfo.get("SpRecord");
|
|
|
|
+ if (recordObj instanceof org.json.JSONObject) {
|
|
|
|
+ org.json.JSONObject object = approvalInfo.getJSONObject("SpRecord");
|
|
|
|
+ parseSpItem(object, projectApproval, userList, projectApprovalLogList);
|
|
|
|
+ } else if (recordObj instanceof org.json.JSONArray) {
|
|
|
|
+ org.json.JSONArray spRecord = approvalInfo.getJSONArray("SpRecord");
|
|
|
|
+ for (int i = 0; i < spRecord.length(); i++) {
|
|
|
|
+ org.json.JSONObject object = spRecord.getJSONObject(i);
|
|
|
|
+ parseSpItem(object, projectApproval, userList, projectApprovalLogList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
if(projectApprovalLogList.size()>0){
|
|
if(projectApprovalLogList.size()>0){
|
|
List<Integer> typeList=new ArrayList<>();
|
|
List<Integer> typeList=new ArrayList<>();
|
|
typeList.add(2);
|
|
typeList.add(2);
|
|
@@ -748,6 +715,52 @@ public class WeiXinCorpController {
|
|
return "success";
|
|
return "success";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void parseSpItem(org.json.JSONObject object, ProjectApproval projectApproval, List<User> userList, List<ProjectApprovalLog> projectApprovalLogList) {
|
|
|
|
+ if(object.has("Details")){
|
|
|
|
+ Object Details = object.get("Details");
|
|
|
|
+ if(Details instanceof org.json.JSONArray){
|
|
|
|
+ org.json.JSONArray details = object.getJSONArray("Details");
|
|
|
|
+ for (int i1 = 0; i1 < details.length(); i1++) {
|
|
|
|
+ org.json.JSONObject detail = details.getJSONObject(i1);
|
|
|
|
+ if(detail.has("Approver")){
|
|
|
|
+ org.json.JSONObject approver = detail.getJSONObject("Approver");
|
|
|
|
+ //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
+ int spStatus = detail.getInt("SpStatus");
|
|
|
|
+ String userId = approver.getString("UserId");
|
|
|
|
+ Optional<User> first = userList.stream().filter(f -> f.getCorpwxUserid().equals(userId)).findFirst();
|
|
|
|
+ if(first.isPresent()){
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ projectApprovalLog.setUserName(first.get().getName());
|
|
|
|
+ projectApprovalLog.setType(spStatus);
|
|
|
|
+ projectApprovalLogList.add(projectApprovalLog);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else if(Details instanceof org.json.JSONObject){
|
|
|
|
+ org.json.JSONObject detail = object.getJSONObject("Details");
|
|
|
|
+ if(detail.has("Approver")){
|
|
|
|
+ org.json.JSONObject approver = detail.getJSONObject("Approver");
|
|
|
|
+ //分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
+ int spStatus = detail.getInt("SpStatus");
|
|
|
|
+ String userId = approver.getString("UserId");
|
|
|
|
+ Optional<User> first = userList.stream().filter(f -> f.getCorpwxUserid().equals(userId)).findFirst();
|
|
|
|
+ if(first.isPresent()){
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ projectApprovalLog.setUserName(first.get().getName());
|
|
|
|
+ projectApprovalLog.setType(spStatus);
|
|
|
|
+ projectApprovalLogList.add(projectApprovalLog);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//通用开发回调处理
|
|
//通用开发回调处理
|
|
@RequestMapping(value = "/commonDevCallback", method = RequestMethod.GET)
|
|
@RequestMapping(value = "/commonDevCallback", method = RequestMethod.GET)
|
|
@ResponseBody
|
|
@ResponseBody
|