Kaynağa Gözat

基础信息修复

CRK 1 gün önce
ebeveyn
işleme
e8a1228c78

+ 20 - 1
mjava-wlh3tok3/src/main/java/com/malk/service/h3yun/H3yunService.java

@@ -609,6 +609,19 @@ public class H3yunService {
         formData.put("F0000031", webhookData.getString("bookdate"));//记账日期
         JSONObject org = webhookData.getJSONObject("bizorg");//采购组织
         String orgNumber = org != null ? org.getString("number") : null;
+        String paymodeValue = webhookData.getString("paymode");
+        if ("CASH".equals(paymodeValue)) {
+            formData.put("F0000047", "现购");
+        } else if ("CREDIT".equals(paymodeValue)) {
+            formData.put("F0000047", "赊购");
+        }
+
+        //币别
+        JSONObject currency = webhookData.getJSONObject("currency");
+        String currencynumber = currency != null ? currency.getString("number") : null;
+        String currencyid = this.getObjectIdByFieldValue("D293655f08d8524a8254d35b3681ea527ce2c59", "F0000001", currencynumber);
+        formData.put("F0000048", currencyid);
+
 
 
         formData.put("F0000030", this.getObjectIdByFieldValue("D29365537feb4e5e8644b21b7fd938dd322dab3", "F0000002", orgNumber));
@@ -632,7 +645,7 @@ public class H3yunService {
                 // 数量
                 Double qty = entry.getDouble("qty");
                 detail.put("F0000021", qty != null ? qty : 0);
-                detail.put("F0000036", qty != null ? qty : 0);
+                detail.put("F0000045", qty != null ? qty : 0);
                 // 单位编码
                 detail.put("F0000043", entry.getString("actualtaxprice"));//单价
                 detail.put("F0000044", entry.getString("amountandtax"));//价税合计金额
@@ -649,6 +662,12 @@ public class H3yunService {
                 detail.put("F0000005", this.getFieldValueById("D293655fc1a38f7956f400a886f376911a54a30", id, "SeqNo"));
                 // 物料名称
                 detail.put("F0000004", entry.getString("materialname"));
+
+                //税率
+                JSONObject taxrateid = entry.getJSONObject("taxrateid");
+                String taxrateidnumber = taxrateid != null ? taxrateid.getString("number") : null;
+                String taxrateidid = this.getObjectIdByFieldValue("D293655sl91vt6h8d0qg1heqw5aq", "F0000001", taxrateidnumber);
+                detail.put("F0000046", taxrateidid);
                 detailList.add(detail);
             }
         }

+ 34 - 11
mjava-wlh3tok3/src/main/java/com/malk/service/sync/SyncService.java

@@ -1061,7 +1061,7 @@ public class SyncService {
         supplier.put("linkman", bizData.getString("F0000010")); // 联系人
         supplier.put("bizpartner_phone", bizData.getString("F0000011")); // 电话】
         supplier.put("paycond_number", h3yunService.getFieldValueById("D293655sxvsttpe7re2tep6gvsdg", bizData.getString("F0000019"), "F0000001"));
-        // supplier.put("idno", bizData.getString("F0000028")); // 身份证号
+        supplier.put("idno", bizData.getString("F0000028")); // 身份证号
 
 
         // 银行账户信息
@@ -1664,6 +1664,14 @@ public class SyncService {
                 payEntry.put("payrate", payData.getDouble("F0000029")); // 付款比例
                 payEntry.put("payamount", payData.getDouble("F0000030")); // 付款金额
                 payEntry.put("planentrysettleorg_number", bizData.getString("F0000038") == "" ? "001" : bizData.getString("F0000038")); // 结算组织.编码
+                String r_needrecadvance = payData.getString("F0000055");
+                if ("是".equals(r_needrecadvance)) {
+                    r_needrecadvance = "true";
+                } else {
+                    r_needrecadvance = "false";
+                }
+                payEntry.put("isprepay", r_needrecadvance);
+
                 payList.add(payEntry);
             }
         }
@@ -1744,7 +1752,8 @@ public class SyncService {
                         "D293655248b1d9bf6c448f0a291341ec58bb943", entryData.getString("F0000030"), "F0000001"));
                 entry.put("e_stockorg_number", saleOrgNumber); // 发货组织(复用)
                 entry.put("entrysettleorg_number", saleOrgNumber); // 结算组织(复用)
-                entry.put("price", entryData.getDouble("F0000032")); // 单价
+             //entry.put("price", entryData.getDouble("F0000032")/(1+(entryData.getDouble("F0000078")/100)) ); // 单价
+                entry.put("priceandtax", entryData.getDouble("F0000032")); // h含税单价
                 entry.put("qty", entryData.getDouble("F0000031")); // 数量
                 entry.put("amount", entryData.getDouble("F0000033")); // 金额
                 entry.put("al95_textfield", entryData.getString("F0000053")); // 物料明细.收货人
@@ -1753,6 +1762,10 @@ public class SyncService {
                 // 仓库编码
                 entry.put("warehouse_number", h3yunService.getFieldValueById(
                         "D293655scvrhqr64jemxdkqk6gf", entryData.getString("F0000049"), "SeqNo"));
+                // 税率
+                entry.put("taxrateid_number", h3yunService.getFieldValueById(
+                        "D293655sl91vt6h8d0qg1heqw5aq", entryData.getString("F0000077"), "F0000001"));
+
                 entryList.add(entry);
             }
         }
@@ -1920,12 +1933,12 @@ public class SyncService {
                         "D293655248b1d9bf6c448f0a291341ec58bb943", entryData.getString("F0000032"), "F0000001"));//基本单位.编码
                 entry.put("baseunit_name", h3yunService.getFieldValueById(
                         "D293655248b1d9bf6c448f0a291341ec58bb943", entryData.getString("F0000032"), "F0000002"));//基本单位.名称
-                entry.put("price", entryData.getDouble("F0000015")); // 物料明细.单价
+               // entry.put("price", entryData.getDouble("F0000043")); // 物料明细.单价
                 entry.put("priceandtax", entryData.getDouble("F0000043")); // 物料明细.含税单价
-                //  entry.put("taxrate", entryData.getDouble("F0000016"));//物料明细.税率%
-                entry.put("amount", entryData.getDouble("F0000018"));//物料明细.金额
-                entry.put("amountandtax", entryData.getDouble("F0000018"));//物料明细.价税合计
-                entry.put("taxamount", entryData.getDouble("F0000045"));//物料明细.税额
+                //entry.put("taxrate", entryData.getDouble("F0000016"));//物料明细.税率%
+//                entry.put("amount", entryData.getDouble("F0000018"));//物料明细.金额
+//                entry.put("amountandtax", entryData.getDouble("F0000018"));//物料明细.价税合计
+                // entry.put("taxamount", entryData.getDouble("F0000045"));//物料明细.税额
 
                 entry.put("purorderbillnumber", purorderbillnumber); //物料明细.采购订单号
 //                entry.put("project_number", project_number);//项目编码.项目编码invstatus_number
@@ -2106,6 +2119,13 @@ public class SyncService {
                 entry.put("mainbillnumber", ida);
                 entry.put("mainbillentryid", h3yunService.getFieldValueById(
                         "D293655srqj5uui3keso9oraeqm", bizData.getString("F0000044"), "F0000041"));//物料明细.来源单据编号
+
+                entry.put("price", entryData.getDouble("F0000066"));//单价
+              entry.put("priceandtax", entryData.getDouble("F0000066"));//含税单价
+
+                entry.put("taxrateid_number", h3yunService.getFieldValueById(
+                        "D293655sl91vt6h8d0qg1heqw5aq", entryData.getString("F0000065"), "F0000001"));//F0000065
+
                 List<Map<String, Object>> lkList = new ArrayList<>();
                 Map<String, Object> lkEntry = new LinkedHashMap<>();
                 lkEntry.put("billentry_lk_stableid", "602924315385558018");
@@ -2118,7 +2138,7 @@ public class SyncService {
                 entryList.add(entry);
             }
         }
-        returnRequest.put("bill-entry", entryList);
+        returnRequest.put("billentry", entryList);
 
         dataList.add(returnRequest);
         data.put("data", dataList);
@@ -2422,6 +2442,8 @@ public class SyncService {
                 entry.put("e_paymenttype_number", "201"); // 付款用途.编码
                 entry.put("e_actamt", entryData.getDouble("F0000024")); // 分录.实付金额
                 entry.put("e_payableamt", entryData.getDouble("F0000024"));//分录.应付金额
+//                entry.put("taxrate", h3yunService.getFieldValueById(
+//                        "D293655sl91vt6h8d0qg1heqw5aq", entryData.getString("F0000044"), "F0000001"));//分录.税率(%)
                 entry.put("taxrate", entryData.getDouble("F0000029"));//分录.税率(%)
                 entry.put("taxamt", entryData.getDouble("F0000030"));//分录.税额
                 entry.put("expectdate", formatDate(entryData.getString("F0000026")));//期望付款日期
@@ -2620,11 +2642,9 @@ public class SyncService {
                 entry.put("quantity", entryData.getDouble("F0000031")); // 数量
                 entry.put("price", entryData.getDouble("F0000032")); // 单价
                 entry.put("pricetax", entryData.getDouble("F0000080"));//明细.含税单价
-                entry.put("e_amount", entryData.getDouble("F0000084")); // 金额
+              entry.put("e_amount", entryData.getDouble("F0000084")); // 金额
                 entry.put("e_pricetaxtotal", entryData.getDouble("F0000033"));//价税合计
                 entry.put("discountmode", "NULL"); // 折扣方式默认写死无
-
-
                 // 单位
                 entry.put("measureunit_number", h3yunService.getFieldValueById(
                         "D293655248b1d9bf6c448f0a291341ec58bb943", entryData.getString("F0000030"), "F0000001"));
@@ -2903,6 +2923,9 @@ public class SyncService {
         }
         invoiceApply.put("exratetable_number", exratetable_number);//汇率表.编码
 
+        //开票类型
+        invoiceApply.put("al95_fp_number", h3yunService.getFieldValueById("D293655sdzbyn4yqt0ub0k8e9euc", bizData.getString("F0000032"), "F0000001"));
+
 
 //
 //