From 4ec1b86dcef0d616cfc39c358cd542ed6a4be9e8 Mon Sep 17 00:00:00 2001 From: itzhang <2019326567@qq.com> Date: Tue, 3 Jun 2025 09:20:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FrameContractController.java | 16 ++++-- .../controller/GoodsPlanController.java | 4 +- .../controller/InvoiceController.java | 5 +- .../controller/PreContractController.java | 7 ++- .../controller/QualityBackController.java | 5 +- .../controller/TenderingController.java | 5 +- .../magicboot/controller/XSHTController.java | 50 ++++++++++++++++++- 7 files changed, 81 insertions(+), 11 deletions(-) diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/FrameContractController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/FrameContractController.java index 38893be..b6d8052 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/FrameContractController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/FrameContractController.java @@ -39,7 +39,10 @@ public class FrameContractController { CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); JSONObject frameContract = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("KJ2505200005")) + new Filter("EQ", "life_status", Arrays.asList("normal")), + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + //new Filter("EQ", "name", Arrays.asList("KJ2505200005")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")) ), "framework_contract__c"); JSONObject frameContractRes = new JSONObject(); @@ -112,7 +115,8 @@ public class FrameContractController { projectCode = businessData.getString("opportunity_id__c"); } - frameContractReqMap.put("project_number", "SJ20250424-0033");//todo 项目号(商机编号) + //frameContractReqMap.put("project_number", "SJ20250424-0033");//todo 项目号(商机编号) + frameContractReqMap.put("project_number", projectCode);//todo 项目号(商机编号) frameContractReqMap.put("billtype_number", "conm_salcontract_BT_QD");//erp单据类型 frameContractReqMap.put("zhybilltype", frameContractData.getString("contract_type__c") != null ? frameContractData.getString("contract_type__c") : "");//合同类型 frameContractReqMap.put("billname", frameContractData.getString("contract_name__c") != null ? frameContractData.getString("contract_name__c") : "");//合同名称 @@ -128,7 +132,6 @@ public class FrameContractController { frameContractReqMap.put("biztime", signDate);//签订日期,单据日期 frameContractReqMap.put("biztimebegin", signDate);//起始日期 frameContractReqMap.put("biztimeend", signDate);//截止日期 - 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:分谈分签 @@ -205,8 +208,11 @@ public class FrameContractController { JSONObject customerData = customerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); - //erpContractReq.put("customer_number", customerData.getString("account_no"));//合同单位名称 - frameContractReqMap.put("customer_number", "Cus-000007");//todo 合同单位名称 + frameContractReqMap.put("customer_number", customerData.getString("account_no"));//合同单位名称 + frameContractReqMap.put("reccustomer_number", customerData.getString("account_no"));//收获客户单位名称 + //frameContractReqMap.put("customer_number", "Cus-000007");//todo 合同单位名称 + frameContractReqMap.put("settlecustomer_number", frameContractData.getString("billing_customer_code__c") != null ? frameContractData.getString("billing_customer_code__c") : "");//结算客户 + frameContractReqMap.put("payingcustomer_number", frameContractData.getString("payment_customer_code__c") != null ? frameContractData.getString("payment_customer_code__c") : "");//付款客户 //获取产品线 diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/GoodsPlanController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/GoodsPlanController.java index 7b3005a..5b97b46 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/GoodsPlanController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/GoodsPlanController.java @@ -50,7 +50,9 @@ public class GoodsPlanController { //要货计划请求 JSONObject getGoodsPlan = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("YHJH20250508-0002")), + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")), + //new Filter("EQ", "name", Arrays.asList("YHJH20250508-0002")), new Filter("EQ", "life_status", Arrays.asList("normal")) ), "purchase_plan__c"); diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/InvoiceController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/InvoiceController.java index 1b5543c..e921fc1 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/InvoiceController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/InvoiceController.java @@ -41,7 +41,10 @@ public class InvoiceController { CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); JSONObject getInvoice = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("20250527-000010")) + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("EQ", "life_status", Arrays.asList("normal")), + //new Filter("EQ", "name", Arrays.asList("20250527-000010")) + new Filter("GT", "create_time", Arrays.asList("1748923200000")) ), "InvoiceApplicationObj"); log.info("开始同步创建发票"); diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/PreContractController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/PreContractController.java index 16ff733..b6da5b1 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/PreContractController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/PreContractController.java @@ -49,7 +49,9 @@ public class PreContractController { CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("YQ2505220005")), + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")), + //new Filter("EQ", "name", Arrays.asList("YQ2505220005")), new Filter("EQ", "life_status", Arrays.asList("normal")) ), "pre_signed_contract__c"); @@ -193,7 +195,10 @@ public class PreContractController { JSONObject customerData = customerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); erpContractReq.put("customer_number", customerData.getString("account_no"));//合同单位名称 + erpContractReq.put("reccustomer_number", customerData.getString("account_no"));//收获客户单位名称 //erpContractReq.put("customer_number", "Cus-000007");//todo 合同单位名称 + erpContractReq.put("settlecustomer_number", preContractData.getString("billing_customer_code__c") != null ? preContractData.getString("billing_customer_code__c") : "");//结算客户 + erpContractReq.put("payingcustomer_number", preContractData.getString("payment_customer_code__c") != null ? preContractData.getString("payment_customer_code__c") : "");//付款客户 //获取产品线 diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/QualityBackController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/QualityBackController.java index 195a589..5d00053 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/QualityBackController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/QualityBackController.java @@ -44,7 +44,10 @@ public class QualityBackController { log.info("开始同步新建质量反馈单"); JSONObject getQualityBack = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("ZLXXFK202505270002")) + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("EQ", "life_status", Arrays.asList("normal")), + //new Filter("EQ", "name", Arrays.asList("ZLXXFK202505270002")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")) ), "quality_feedback_form__c"); JSONObject qualityBack = new JSONObject(); diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/TenderingController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/TenderingController.java index 28265e5..a604029 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/TenderingController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/TenderingController.java @@ -43,7 +43,10 @@ public class TenderingController { CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); JSONObject getTendering = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("BSGM250509")) + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("EQ", "life_status", Arrays.asList("normal")), + //new Filter("EQ", "name", Arrays.asList("BSGM250509")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")) ), "bid_application__c"); JSONObject tenderingRes = new JSONObject(); diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/XSHTController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/XSHTController.java index 3ebcb39..4ceb157 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/XSHTController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/XSHTController.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; +import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -47,7 +48,9 @@ public class XSHTController { CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList( - new Filter("EQ", "name", Arrays.asList("ZHY2505280021")), + new Filter("EQ", "sync_status__c", Arrays.asList("option_pending_sync__c")), + new Filter("GT", "create_time", Arrays.asList("1748923200000")), + //new Filter("EQ", "name", Arrays.asList("ZHY2505280021")), new Filter("EQ", "life_status", Arrays.asList("normal")) ), "SaleContractObj"); @@ -218,7 +221,10 @@ public class XSHTController { JSONObject customerData = customerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); erpContractReq.put("customer_number", customerData.getString("account_no"));//合同单位名称 + erpContractReq.put("reccustomer_number", customerData.getString("account_no"));//收获客户单位名称 //erpContractReq.put("customer_number", "Cus-000001");//合同单位名称 + erpContractReq.put("settlecustomer_number", contractData.getString("billing_customer_code__c") != null ? contractData.getString("billing_customer_code__c") : "");//结算客户 + erpContractReq.put("payingcustomer_number", contractData.getString("payment_customer_code__c") != null ? contractData.getString("payment_customer_code__c") : "");//付款客户 //获取产品线 erpContractReq.put("productline_number", contractData.getString("product_line__c"));//产品线 @@ -425,6 +431,48 @@ public class XSHTController { System.out.println("日志插入结果为:" + logRes); + log.info("开始同步销售合同附件"); + + //判断销售合同是否执行成功 + String contractERPID = ""; + + if ("0".equals(contractRes.getString("errorCode"))) { + log.info("销售合同执行成功"); + contractERPID = contractRes.getJSONObject("data").getJSONArray("result").getJSONObject(0).getString("id"); + } else { + log.info("销售合同执行失败,将不再向下执行"); + continue; + } + + List contractFileList = contractData.getJSONArray("contract_attachment__c") != null ? contractData.getJSONArray("contract_attachment__c") : new ArrayList(); + + if (contractFileList == null || contractFileList.isEmpty()) { + log.info("该销售合同不存在附件,将不再向下执行。"); + continue; + } + + log.info("附件存在,继续向下执行"); + + MultiValueMap body = crmRequestUtil.attachmentuploadFile(contractFileList, Long.parseLong(contractERPID)); + + //开始封装请求实体 + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA); + httpHeaders.set("accessToken", accessToken); + + HttpEntity entity = new HttpEntity(body, httpHeaders); + + //开始发起传输 + JSONObject fileRes = new JSONObject(); + + try { + fileRes = restTemplate.postForObject("http://192.168.31.158:8022/ierp/kapi/v2/frame/attachment/uploadFile", entity, JSONObject.class); + } catch (RestClientException e) { + e.printStackTrace(); + } + + System.out.println("附件上传结果为:" + fileRes); + } }