wzy пре 2 недеља
родитељ
комит
fba892b147

+ 44 - 4
mjava-siku/src/main/java/com/malk/siku/service/impl/SikuServiceImpl.java

@@ -509,7 +509,17 @@ public class SikuServiceImpl implements SikuService {
                 body2.put("employeeId",mktdrgh);//需要导入的对应员工的工号
                 body2.put("expenseList",Arrays.asList(expenseListItem));
 
-                List<String> expenseCodes = MkBxUtil.receiveExpense(body2);
+                List<String> expenseCodes = new ArrayList<>();
+                try {
+                    expenseCodes = MkBxUtil.receiveExpense(body2);
+                }catch (Exception e){
+                    ydClient.operateData(YDParam.builder()
+                            .formInstanceId(formInstId)
+                            .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mpp9c6w9, textareaField_mpp9c6wa","推送失败",e.getMessage())))
+                            .build(), YDConf.FORM_OPERATION.update);
+
+                    continue;
+                }
 
                 body.put("expenseCodes",expenseCodes);//费用类型业务编码
 
@@ -612,7 +622,17 @@ public class SikuServiceImpl implements SikuService {
                 body2.put("employeeId",mktdrgh);//需要导入的对应员工的工号
                 body2.put("expenseList",Arrays.asList(expenseListItem));
 
-                List<String> expenseCodes = MkBxUtil.receiveExpense(body2);
+                List<String> expenseCodes = new ArrayList<>();
+                try {
+                    expenseCodes = MkBxUtil.receiveExpense(body2);
+                }catch (Exception e){
+                    ydClient.operateData(YDParam.builder()
+                            .formInstanceId(formInstId)
+                            .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mpp9c6w9, textareaField_mpp9c6wa","推送失败",e.getMessage())))
+                            .build(), YDConf.FORM_OPERATION.update);
+
+                    continue;
+                }
 
                 body.put("expenseCodes",expenseCodes);//费用类型业务编码
 
@@ -1355,7 +1375,17 @@ public class SikuServiceImpl implements SikuService {
                 body2.put("employeeId",mktdrgh);//需要导入的对应员工的工号
                 body2.put("expenseList",Arrays.asList(expenseListItem));
 
-                List<String> expenseCodes = MkBxUtil.receiveExpense(body2);
+                List<String> expenseCodes = new ArrayList<>();
+                try {
+                    expenseCodes = MkBxUtil.receiveExpense(body2);
+                }catch (Exception e){
+                    ydClient.operateData(YDParam.builder()
+                            .formInstanceId(formInstId)
+                            .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mpp9c6w9, textareaField_mpp9c6wa","推送失败",e.getMessage())))
+                            .build(), YDConf.FORM_OPERATION.update);
+
+                    continue;
+                }
 
                 body.put("expenseCodes",expenseCodes);//费用类型业务编码
 
@@ -1459,7 +1489,17 @@ public class SikuServiceImpl implements SikuService {
                 body2.put("employeeId",mktdrgh);//需要导入的对应员工的工号
                 body2.put("expenseList",Arrays.asList(expenseListItem));
 
-                List<String> expenseCodes = MkBxUtil.receiveExpense(body2);
+                List<String> expenseCodes = new ArrayList<>();
+                try {
+                    expenseCodes = MkBxUtil.receiveExpense(body2);
+                }catch (Exception e){
+                    ydClient.operateData(YDParam.builder()
+                            .formInstanceId(formInstId)
+                            .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mpp9c6w9, textareaField_mpp9c6wa","推送失败",e.getMessage())))
+                            .build(), YDConf.FORM_OPERATION.update);
+
+                    continue;
+                }
 
                 body.put("expenseCodes",expenseCodes);//费用类型业务编码
 

+ 7 - 0
mjava-siku/src/main/java/com/malk/siku/utils/MkBxUtil.java

@@ -148,6 +148,13 @@ public class MkBxUtil {
 
         log.info("Result:{}",result);
 
+        String code = UtilMap.getString(result, "code");
+        if ("NACK".equals(code)){
+            String message = UtilMap.getString(result, "message");
+
+            throw new RuntimeException(message);
+        }
+
         Map data = UtilMap.getMap(result, "data");
 
         List<String> expenseCodes = new ArrayList<>();