diff --git a/src/main/java/com/management/controller/FrameContractController.java b/src/main/java/com/management/controller/FrameContractController.java index dde1fba..eea419e 100644 --- a/src/main/java/com/management/controller/FrameContractController.java +++ b/src/main/java/com/management/controller/FrameContractController.java @@ -144,6 +144,8 @@ public class FrameContractController { frameContractReqMap.put("party1st", frameContractData.getString("contract_unit_name__c__r") != null ? frameContractData.getString("contract_unit_name__c__r") : "");//甲方 frameContractReqMap.put("party2nd", frameContractData.getString("our_company_name__c__r") != null ? frameContractData.getString("our_company_name__c__r") : "");//乙方 frameContractReqMap.put("bizmode", "C");//业务模式 A:统谈统签, B:统谈分签,C:分谈分签 + frameContractReqMap.put("isentrysumamt", false);//明细金额汇总 + frameContractReqMap.put("totalallamount", frameContractData.getBigDecimal("contract_amount_yuan__c") != null ? frameContractData.getBigDecimal("contract_amount_yuan__c") : BigDecimal.ZERO);//价税合计 //部门编码 String deptCode = ""; @@ -448,54 +450,54 @@ public class FrameContractController { frameContractBGMap.put("srcsysbillid", originalContractId);//来源单ID frameContractBGMap.put("crmid", originalContractId);//CRMID - //获取部门 - String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : ""; - - JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "_id", Arrays.asList(ownerDept)) - ), "DepartmentObj"); - - JSONObject deptRes = new JSONObject(); - - try { - deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("不存在该部门,将不再向下执行"); - continue; - } - - String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); - frameContractBGMap.put("dept", deptERPCode);//部门编码 - //frameContractBGMap.put("dept", "ZHY");//部门编码 - - List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>(); - - JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "user_id", ownerId) - ), "PersonnelObj"); - - JSONObject ownerRes = new JSONObject(); - - try { - ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("负责人不存在或者请求失败"); - continue; - } - - System.out.println("负责人数据为:" + ownerRes); - - String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); - //YQBGMap.put("operator", ownerUserId);//负责人 - frameContractBGMap.put("operator", "ID-000016");//负责人 +// //获取部门 +// String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : ""; +// +// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "_id", Arrays.asList(ownerDept)) +// ), "DepartmentObj"); +// +// JSONObject deptRes = new JSONObject(); +// +// try { +// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("不存在该部门,将不再向下执行"); +// continue; +// } +// +// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); +// frameContractBGMap.put("dept", deptERPCode);//部门编码 +// //frameContractBGMap.put("dept", "ZHY");//部门编码 +// +// List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>(); +// +// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "user_id", ownerId) +// ), "PersonnelObj"); +// +// JSONObject ownerRes = new JSONObject(); +// +// try { +// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("负责人不存在或者请求失败"); +// continue; +// } +// +// System.out.println("负责人数据为:" + ownerRes); +// +// String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); +// //YQBGMap.put("operator", ownerUserId);//负责人 +// frameContractBGMap.put("operator", "ID-000016");//负责人 //质保期 frameContractBGMap.put("warranty", frameContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? frameContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO); diff --git a/src/main/java/com/management/controller/PastContractController.java b/src/main/java/com/management/controller/PastContractController.java index 64e92e5..67d37b9 100644 --- a/src/main/java/com/management/controller/PastContractController.java +++ b/src/main/java/com/management/controller/PastContractController.java @@ -169,6 +169,24 @@ public class PastContractController { erpContractReq.put("deviceqty", 0);//价税合计 erpContractReq.put("iselecsignature", false);//是否电子签章 + //是否竣工 + String isComplete = contractData.getString("is_complete__c") != null ? contractData.getString("is_complete__c") : ""; + + switch (isComplete) { + case "yes": + erpContractReq.put("becompletestatus", "C"); + break; + case "no": + erpContractReq.put("becompletestatus", "A"); + break; + default: + erpContractReq.put("becompletestatus", ""); + break; + } + + //已收金额 + erpContractReq.put("receiptallamount", contractData.getBigDecimal("field_de2AP__c") != null ? contractData.getBigDecimal("field_de2AP__c") : BigDecimal.ZERO); + //部门编码 String deptCode = ""; @@ -303,16 +321,63 @@ public class PastContractController { //销售方式 erpContractReq.put("salesmethod", contractData.getString("sales_method__c") != null ? contractData.getString("sales_method__c") : ""); - //付款方式 - Map paymentMethodMap = new HashMap<>(); - //收款比例 - paymentMethodMap.put("payrate", contractData.getBigDecimal("prepayment_ratio__c") != null ? contractData.getBigDecimal("prepayment_ratio__c") : BigDecimal.ZERO); - //预付款金额 - paymentMethodMap.put("payamount", contractData.getBigDecimal("pre_invoice_amount__c") != null ? contractData.getBigDecimal("pre_invoice_amount__c") : BigDecimal.ZERO); - //是否预收 - paymentMethodMap.put("isprepay", false); + List payMethodList = contractData.getJSONArray("payment_method__c") != null ? contractData.getJSONArray("payment_method__c") : new ArrayList(); - erpContractReq.put("payentry", Arrays.asList(paymentMethodMap)); + List payMethodListMap = new ArrayList(); + + if (payMethodList != null && !payMethodList.isEmpty()) { + for (Object payMethodStr : payMethodList) { + String payMethod = payMethodStr.toString(); + + //单个付款方式 + Map paymentMethodMap = new HashMap<>(); + + if ("1".equals(payMethod)) { + //预付款 + //款项名称 + paymentMethodMap.put("payname_number", "1"); + //收款比例 + paymentMethodMap.put("payrate", contractData.getBigDecimal("prepayment_ratio__c") != null ? contractData.getBigDecimal("prepayment_ratio__c") : BigDecimal.ZERO); + //预付款金额 + paymentMethodMap.put("payamount", contractData.getBigDecimal("pre_invoice_amount__c") != null ? contractData.getBigDecimal("pre_invoice_amount__c") : BigDecimal.ZERO); + //是否预收 + paymentMethodMap.put("isprepay", true); + } else if ("2".equals(payMethod)) { + //到货款 + //款项名称 + paymentMethodMap.put("payname_number", "2"); + //收款比例 + paymentMethodMap.put("payrate", contractData.getBigDecimal("arrival_payment_ratio__c") != null ? contractData.getBigDecimal("arrival_payment_ratio__c") : BigDecimal.ZERO); + //预付款金额 + paymentMethodMap.put("payamount", contractData.getBigDecimal("received_amount__c") != null ? contractData.getBigDecimal("received_amount__c") : BigDecimal.ZERO); + //是否预收 + paymentMethodMap.put("isprepay", false); + } else if ("3".equals(payMethod)) { + //投运款 + //款项名称 + paymentMethodMap.put("payname_number", "3"); + //收款比例 + paymentMethodMap.put("payrate", contractData.getBigDecimal("commission_ratio__c") != null ? contractData.getBigDecimal("commission_ratio__c") : BigDecimal.ZERO); + //预付款金额 + paymentMethodMap.put("payamount", contractData.getBigDecimal("commission_amount__c") != null ? contractData.getBigDecimal("commission_amount__c") : BigDecimal.ZERO); + //是否预收 + paymentMethodMap.put("isprepay", false); + } else if ("4".equals(payMethod)) { + //质保金 + //款项名称 + paymentMethodMap.put("payname_number", "4"); + //收款比例 + paymentMethodMap.put("payrate", contractData.getBigDecimal("warranty_deposit__c") != null ? contractData.getBigDecimal("warranty_deposit__c") : BigDecimal.ZERO); + //预付款金额 + paymentMethodMap.put("payamount", contractData.getBigDecimal("warranty_amount__c") != null ? contractData.getBigDecimal("warranty_amount__c") : BigDecimal.ZERO); + //是否预收 + paymentMethodMap.put("isprepay", false); + } + payMethodListMap.add(paymentMethodMap); + } + } + + erpContractReq.put("payentry", payMethodListMap); //根据合同号查询合同明细 JSONObject contractDetailReq = crmRequestUtil.getCRMList(Arrays.asList( @@ -360,6 +425,12 @@ public class PastContractController { contractDetailMap.put("curamountandtax", contractDetailData.getBigDecimal("subtotal") != null ? contractDetailData.getBigDecimal("subtotal") : 0);//价税合计 //contractDetailMap.put("curtaxamount", contractDetailData.getBigDecimal("tax_amount__c") != null ? contractDetailData.getBigDecimal("tax_amount__c") : 0);//金额 contractDetailMap.put("crmentryid", contractDetailData.getString("_id"));//明细id + //开票金额 + contractDetailMap.put("arjoinamountf", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO); + //应收金额 + contractDetailMap.put("aramount", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO); + //收入金额 + contractDetailMap.put("f9w5_revenueamount", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO); contractDetailList.add(contractDetailMap); @@ -437,7 +508,7 @@ public class PastContractController { logMap.put("log_status", "1"); logMap.put("res_body", "同步失败:" + contractRes.getString("message")); backReqMap.put("sync_status__c", "option_sync_failure__c"); - backReqMap.put("response_info__c", "期初合同同步失败"+contractRes.getString("message")); + backReqMap.put("response_info__c", "期初合同同步失败" + contractRes.getString("message")); } //开始回写 diff --git a/src/main/java/com/management/controller/PreContractController.java b/src/main/java/com/management/controller/PreContractController.java index b881a8d..73d8a34 100644 --- a/src/main/java/com/management/controller/PreContractController.java +++ b/src/main/java/com/management/controller/PreContractController.java @@ -421,54 +421,54 @@ public class PreContractController { YQBGMap.put("srcsysbillid", preContractBGData.getString("original_data"));//来源单ID YQBGMap.put("crmid", preContractBGData.getString("original_data"));//CRMID - //获取部门 - String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : ""; - - JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "_id", Arrays.asList(ownerDept)) - ), "DepartmentObj"); - - JSONObject deptRes = new JSONObject(); - - try { - deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("不存在该部门,将不再向下执行"); - continue; - } - - String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); - YQBGMap.put("dept", deptERPCode);//部门编码 - //YQBGMap.put("dept", "ZHY");//部门编码 - - List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>(); - - JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "user_id", ownerId) - ), "PersonnelObj"); - - JSONObject ownerRes = new JSONObject(); - - try { - ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("负责人不存在或者请求失败"); - continue; - } - - System.out.println("负责人数据为:" + ownerRes); - - String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); - YQBGMap.put("operator", ownerUserId);//负责人 - //YQBGMap.put("operator", "ID-000016");//负责人 +// //获取部门 +// String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : ""; +// +// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "_id", Arrays.asList(ownerDept)) +// ), "DepartmentObj"); +// +// JSONObject deptRes = new JSONObject(); +// +// try { +// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("不存在该部门,将不再向下执行"); +// continue; +// } +// +// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); +// YQBGMap.put("dept", deptERPCode);//部门编码 +// //YQBGMap.put("dept", "ZHY");//部门编码 +// +// List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>(); +// +// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "user_id", ownerId) +// ), "PersonnelObj"); +// +// JSONObject ownerRes = new JSONObject(); +// +// try { +// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("负责人不存在或者请求失败"); +// continue; +// } +// +// System.out.println("负责人数据为:" + ownerRes); +// +// String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); +// YQBGMap.put("operator", ownerUserId);//负责人 +// //YQBGMap.put("operator", "ID-000016");//负责人 //质保期 YQBGMap.put("warranty", preContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? preContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO); diff --git a/src/main/java/com/management/controller/XSHTController.java b/src/main/java/com/management/controller/XSHTController.java index 26f1385..3aea688 100644 --- a/src/main/java/com/management/controller/XSHTController.java +++ b/src/main/java/com/management/controller/XSHTController.java @@ -689,60 +689,60 @@ public class XSHTController { //CRMID contractBGMap.put("crmid", contractBGData.getString("original_data") != null ? contractBGData.getString("original_data") : ""); - //获取部门 - String ownerDept = contractBGData.getString("owner_department_id") != null ? contractBGData.getString("owner_department_id") : ""; - - JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "_id", Arrays.asList(ownerDept)) - ), "DepartmentObj"); - - JSONObject deptRes = new JSONObject(); - - try { - deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("不存在该部门,将不再向下执行"); - continue; - } - - //开始获取部门 - String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); - contractBGMap.put("dept", deptERPCode);//部门编码 - //contractBGMap.put("dept", "zyierp");//部门编码 - - List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>(); - - JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "user_id", ownerId) - ), "PersonnelObj"); - - JSONObject ownerRes = new JSONObject(); - - try { - ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); - } catch (RestClientException e) { - e.printStackTrace(); - } - - if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - log.info("负责人不存在或者请求失败"); - continue; - } - - System.out.println("负责人数据为:" + ownerRes); - - String ownerUserId = ""; - - if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { - JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); - ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; - } - contractBGMap.put("operator", ownerUserId);//负责人 - //contractBGMap.put("operator", "ID-000016");//负责人 +// //获取部门 +// String ownerDept = contractBGData.getString("owner_department_id") != null ? contractBGData.getString("owner_department_id") : ""; +// +// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "_id", Arrays.asList(ownerDept)) +// ), "DepartmentObj"); +// +// JSONObject deptRes = new JSONObject(); +// +// try { +// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("不存在该部门,将不再向下执行"); +// continue; +// } +// +// //开始获取部门 +// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); +// contractBGMap.put("dept", deptERPCode);//部门编码 +// //contractBGMap.put("dept", "zyierp");//部门编码 +// +// List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>(); +// +// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( +// new Filter("EQ", "user_id", ownerId) +// ), "PersonnelObj"); +// +// JSONObject ownerRes = new JSONObject(); +// +// try { +// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); +// } catch (RestClientException e) { +// e.printStackTrace(); +// } +// +// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// log.info("负责人不存在或者请求失败"); +// continue; +// } +// +// System.out.println("负责人数据为:" + ownerRes); +// +// String ownerUserId = ""; +// +// if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { +// JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); +// ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; +// } +// contractBGMap.put("operator", ownerUserId);//负责人 +// //contractBGMap.put("operator", "ID-000016");//负责人 //是否招投标 Boolean isBidding = null;