Procházet zdrojové kódy

差旅费字段调整,推送接口测试

fyz před 2 týdny
rodič
revize
016a552ce7

+ 2 - 2
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/controller/DLController.java

@@ -95,8 +95,8 @@ public class DLController {
     }
     @PostMapping(value = "testPush")
     McR testQuery(@RequestBody Map data) {
-        supplierService.pushToOA();
-//        supplierService.accountPushToOA();
+//        supplierService.pushToOA();
+        supplierService.accountPushToOA();
         return McR.success();
     }
     /**

+ 22 - 4
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/service/Impl/DocumentServiceImpl.java

@@ -177,6 +177,21 @@ public class DocumentServiceImpl implements DocumentService {
                                 } else if (parse1 instanceof JSONArray) {
                                     jsonObject = (JSONObject) JSONObject.parseArray(rowValue.toString()).get(0);
                                 }
+                                if ("金蝶科目档案".equals(sonLabel)){
+                                    JSONArray list = jsonObject.getJSONArray("list");
+                                    for (int i2 = 0; i2 < list.size(); i2++) {
+                                        JSONObject item = list.getJSONObject(i);
+                                        JSONArray rowValue1 = item.getJSONArray("rowValue");
+                                        for (int j = 0; j < rowValue1.size(); j++) {
+                                            JSONObject field = rowValue1.getJSONObject(j);
+                                            String value = field.getString("value");
+                                            String label = field.getString("label");
+                                            if (value != null && "科目编号".equals(label)) {
+                                                tripDetail.setFExpID(new FNumber(value));
+                                            }
+                                        }
+                                    }
+                                }
                                 switch (sonLabel){
                                     case "开始日期":
                                         tripDetail.setFTravelStartDate(jsonObject.get("value").toString().substring(0,10));
@@ -191,7 +206,7 @@ public class DocumentServiceImpl implements DocumentService {
                                             tripDetail.setFExpenseDeptEntryID(new FNumber(UtilMap.getString(jsonObject,"id")));
                                         }
                                         break;
-                                    case "金蝶科目编号":
+                                    case "科目编号":
                                         tripDetail.setFExpID(new FNumber(UtilMap.getString(jsonObject, "value")));
                                         break;
 //                                                case "税率": tripDetail.setFTaxRate(UtilMap.getDouble(jsonObject,"value"));break;
@@ -241,7 +256,8 @@ public class DocumentServiceImpl implements DocumentService {
         tripMain.setFBillTypeID(new BillTypeID("CLFBX001_SYS"));
         tripMain.setFDATE(LocalDate.parse(UtilMap.getString(mainData,"申请日期").substring(0,10)));
         tripMain.setFCurrencyID(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"币别"))));
-        tripMain.setFOrgID(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
+        tripMain.setFOrgID(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"选择报销公司主体"))));
+//        tripMain.setFOrgID(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
         tripMain.setFCausa(UtilMap.getString(mainData,"报销事由"));
         tripMain.setFProposerID(new FSTAFFNUMBER(userId));
         if (HISTORY_DEPTID.containsKey(userDeptName)){
@@ -251,12 +267,14 @@ public class DocumentServiceImpl implements DocumentService {
             tripMain.setFRequestDeptID(new FNumber(userDeptId));//正式
             tripMain.setFExpenseDeptID(new FNumber(userDeptId));
         }
-        tripMain.setFExpenseOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
+//        tripMain.setFExpenseOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
+        tripMain.setFExpenseOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"选择报销公司主体"))));
         tripMain.setFCONTACTUNITTYPE("BD_Empinfo");
         tripMain.setFCONTACTUNIT(new FNumber(userId));
         tripMain.setFLocCurrencyID(new FNumber("PRE001"));
         tripMain.setFExchangeTypeID(new FNumber("HLTX01_SYS"));
-        tripMain.setFPayOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
+//        tripMain.setFPayOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"所属公司主体"))));
+        tripMain.setFPayOrgId(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"选择报销公司主体"))));
         tripMain.setFPaySettlleTypeID(new FNumber(UtilMap.getString(ALL_ENUM,UtilMap.getString(mainData,"结算方式"))));
         tripMain.setFBankAccountT(UtilMap.getString(mainData,"收款账号"));
         tripMain.setFBankBranchT(UtilMap.getString(mainData,"银行开户行"));

+ 10 - 1
mjava-jiuyousimu/src/main/java/com/malk/jiuyousimu/service/Impl/SupplierServiceImpl.java

@@ -242,7 +242,7 @@ public class SupplierServiceImpl implements SupplierService {
         // 使用 ISO_LOCAL_DATE_TIME 格式化(格式:yyyy-MM-dd'T'HH:mm:ss)
 //        String isoStartTime = startTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
 //        String isoEndTime = startTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
-        //获取所有供应商数据
+        //获取所有科目数据
         List<Map<String, Object>> allSupplierInfos = getAllCostAccount();
         log.info("获取所有费用科目:{}",allSupplierInfos.toString());
         List<Map<String, Object>> collect = allSupplierInfos.stream()
@@ -254,12 +254,21 @@ public class SupplierServiceImpl implements SupplierService {
 //        for (String key : component.keySet()) {
         collect.forEach(o->{
             List<Map> formValue = new ArrayList<>();
+            final boolean[] isHas = {false};
             o.forEach((k,v)->{
                 Map formData = UtilMap.empty();
                 formData.put("value", v.toString());
                 formData.put("name", component.get(k));
+                if (v.toString().contains("商务出差") || "招待费".equals(v.toString())){
+                    isHas[0] = true;
+                }
                 formValue.add(formData);
             });
+            if (isHas[0]){
+                formValue.add(UtilMap.map("name, value","是否属于差旅","是"));
+            }else {
+                formValue.add(UtilMap.map("name, value","是否属于差旅","否"));
+            }
             ddClient_workflow.doProcessInstancesNew(ddClient.getAccessToken(), "603864663125953014", ((Map) meta.get("ACCOUNT")).get("processCode").toString(), formValue, "1064083060");
         });
         return McR.success();