diff --git a/data/magic-api/api/B-传输日志/日志/保存报价询价同步日志.ms b/data/magic-api/api/B-传输日志/日志/保存报价询价同步日志.ms
new file mode 100644
index 0000000..8d4dcb2
--- /dev/null
+++ b/data/magic-api/api/B-传输日志/日志/保存报价询价同步日志.ms
@@ -0,0 +1,50 @@
+{
+ "properties" : { },
+ "id" : "copy1747380095360d17588",
+ "script" : null,
+ "groupId" : "6ee06a9b9fe04b85b70a9364ef324ab4",
+ "name" : "保存报价询价同步日志",
+ "createTime" : 1747380116583,
+ "updateTime" : null,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/savepriceapprova",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : null,
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : null
+}
+================================
+ data.create_time = new Date()
+return db.table('send_log_priceapprova').primary('log_id',uuid()).save(data)
\ No newline at end of file
diff --git a/data/magic-api/api/B-传输日志/日志/保存领料同步日志.ms b/data/magic-api/api/B-传输日志/日志/保存领料同步日志.ms
new file mode 100644
index 0000000..3f78e73
--- /dev/null
+++ b/data/magic-api/api/B-传输日志/日志/保存领料同步日志.ms
@@ -0,0 +1,50 @@
+{
+ "properties" : { },
+ "id" : "copy1747118188498d320",
+ "script" : null,
+ "groupId" : "6ee06a9b9fe04b85b70a9364ef324ab4",
+ "name" : "保存领料同步日志",
+ "createTime" : null,
+ "updateTime" : 1747118204682,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/savematerialreqbill",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : null,
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : null
+}
+================================
+ data.create_time = new Date()
+return db.table('send_log_materialreqbill').primary('log_id',uuid()).save(data)
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/修改报价同步.ms b/data/magic-api/api/B-同步日志/修改报价同步.ms
new file mode 100644
index 0000000..72c0bb6
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/修改报价同步.ms
@@ -0,0 +1,126 @@
+{
+ "properties" : { },
+ "id" : "copy1747380151826d80978",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "修改报价同步",
+ "createTime" : 1747380163630,
+ "updateTime" : null,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/updatepriceapprova",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 500,\n \"message\": \"系统内部出现错误\",\n \"data\": null,\n \"timestamp\": 1701350039104,\n \"executeTime\": 4\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "500",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "系统内部出现错误",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "null",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1701350039104",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "4",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+
+
+
+ data.update_time = new Date()
+return db.table("send_syn_priceapprova").primary('send_id')
+ .update(data)
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/修改领料同步.ms b/data/magic-api/api/B-同步日志/修改领料同步.ms
new file mode 100644
index 0000000..ba50596
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/修改领料同步.ms
@@ -0,0 +1,126 @@
+{
+ "properties" : { },
+ "id" : "copy1747118253162d84764",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "修改领料同步",
+ "createTime" : null,
+ "updateTime" : 1747129492177,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/updatematerialreqbill",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 500,\n \"message\": \"系统内部出现错误\",\n \"data\": null,\n \"timestamp\": 1701350039104,\n \"executeTime\": 4\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "500",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "系统内部出现错误",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "null",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1701350039104",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "4",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+
+
+
+ data.update_time = new Date()
+return db.table("send_syn_materialreqbill").primary('send_id')
+ .update(data)
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/报价待同步保存.ms b/data/magic-api/api/B-同步日志/报价待同步保存.ms
new file mode 100644
index 0000000..f6c8a3f
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/报价待同步保存.ms
@@ -0,0 +1,126 @@
+{
+ "properties" : { },
+ "id" : "copy1747380139022d12449",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "报价待同步保存",
+ "createTime" : 1747380149469,
+ "updateTime" : null,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/savepriceapprova",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": \"17a8bc5553e2400badd36ea784255c01\",\n \"timestamp\": 1701350036264,\n \"executeTime\": 4\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "200",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "success",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "17a8bc5553e2400badd36ea784255c01",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1701350036264",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "4",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+
+
+
+ data.create_time = new Date()
+return db.table("send_syn_priceapprova").primary('send_id', () => uuid())
+ .save(data)
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/查询报价同步日志.ms b/data/magic-api/api/B-同步日志/查询报价同步日志.ms
new file mode 100644
index 0000000..a82dd30
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/查询报价同步日志.ms
@@ -0,0 +1,173 @@
+{
+ "properties" : { },
+ "id" : "copy1747380121763d51481",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "查询报价同步日志",
+ "createTime" : null,
+ "updateTime" : 1747380132413,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/querypriceapprova",
+ "method" : "GET",
+ "parameters" : [ {
+ "name" : "sendType",
+ "value" : "TuiHuo",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "sendStatus3",
+ "value" : "3",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "crmId",
+ "value" : "665532391d23d0000111cab9",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "sendSyn",
+ "value" : "0",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "options" : [ ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": [],\n \"timestamp\": 1716889610473,\n \"executeTime\": 8\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "200",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "success",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Array",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1716889610473",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "8",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+//查询本机mysql
+return db.select(
+"""
+ SELECT * FROM `send_syn_priceapprova` where
+ send_type=#{sendType}
+
+ and dsf_id=#{dataId}
+
+
+ and dsfzhu_id=#{datapId}
+
+
+ and send_syn=#{sendSyn}
+
+
+ and send_status=#{sendStatus}
+
+
+ and crm_id=#{crmId}
+
+
+ and dsf_id=#{dsfId}
+
+
+ and send_status!=#{sendStatus3}
+
+ order by create_time desc
+
+""");
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/查询领料同步日志.ms b/data/magic-api/api/B-同步日志/查询领料同步日志.ms
new file mode 100644
index 0000000..a759c69
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/查询领料同步日志.ms
@@ -0,0 +1,173 @@
+{
+ "properties" : { },
+ "id" : "copy1747118211168d30333",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "查询领料同步日志",
+ "createTime" : null,
+ "updateTime" : 1747118228927,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/querymaterialreqbill",
+ "method" : "GET",
+ "parameters" : [ {
+ "name" : "sendType",
+ "value" : "TuiHuo",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "sendStatus3",
+ "value" : "3",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "crmId",
+ "value" : "665532391d23d0000111cab9",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "sendSyn",
+ "value" : "0",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "options" : [ ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": [],\n \"timestamp\": 1716889610473,\n \"executeTime\": 8\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "200",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "success",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Array",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1716889610473",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "8",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+//查询本机mysql
+return db.select(
+"""
+ SELECT * FROM `send_syn_materialreqbill` where
+ send_type=#{sendType}
+
+ and dsf_id=#{dataId}
+
+
+ and dsfzhu_id=#{datapId}
+
+
+ and send_syn=#{sendSyn}
+
+
+ and send_status=#{sendStatus}
+
+
+ and crm_id=#{crmId}
+
+
+ and dsf_id=#{dsfId}
+
+
+ and send_status!=#{sendStatus3}
+
+ order by create_time desc
+
+""");
\ No newline at end of file
diff --git a/data/magic-api/api/B-同步日志/领料待同步保存.ms b/data/magic-api/api/B-同步日志/领料待同步保存.ms
new file mode 100644
index 0000000..e073683
--- /dev/null
+++ b/data/magic-api/api/B-同步日志/领料待同步保存.ms
@@ -0,0 +1,126 @@
+{
+ "properties" : { },
+ "id" : "copy1747118238121d79879",
+ "script" : null,
+ "groupId" : "4506c21162d24d4c81bad5bc8707672a",
+ "name" : "领料待同步保存",
+ "createTime" : null,
+ "updateTime" : 1747118249721,
+ "lock" : null,
+ "createBy" : null,
+ "updateBy" : null,
+ "path" : "/savematerialreqbill",
+ "method" : "POST",
+ "parameters" : [ ],
+ "options" : [ {
+ "name" : "wrap_request_parameter",
+ "value" : "data",
+ "description" : null,
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ }, {
+ "name" : "permission",
+ "value" : "send:log:save",
+ "description" : "允许拥有该权限的访问",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : null,
+ "error" : null,
+ "expression" : null,
+ "children" : null
+ } ],
+ "requestBody" : "",
+ "headers" : [ ],
+ "paths" : [ ],
+ "responseBody" : "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": \"17a8bc5553e2400badd36ea784255c01\",\n \"timestamp\": 1701350036264,\n \"executeTime\": 4\n}",
+ "description" : null,
+ "requestBodyDefinition" : null,
+ "responseBodyDefinition" : {
+ "name" : "",
+ "value" : "",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Object",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ {
+ "name" : "code",
+ "value" : "200",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "message",
+ "value" : "success",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "data",
+ "value" : "17a8bc5553e2400badd36ea784255c01",
+ "description" : "",
+ "required" : false,
+ "dataType" : "String",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "timestamp",
+ "value" : "1701350036264",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Long",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ }, {
+ "name" : "executeTime",
+ "value" : "4",
+ "description" : "",
+ "required" : false,
+ "dataType" : "Integer",
+ "type" : null,
+ "defaultValue" : null,
+ "validateType" : "",
+ "error" : "",
+ "expression" : "",
+ "children" : [ ]
+ } ]
+ }
+}
+================================
+
+
+
+ data.create_time = new Date()
+return db.table("send_syn_materialreqbill").primary('send_id', () => uuid())
+ .save(data)
\ No newline at end of file
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectNewOpportunityController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectNewOpportunityController.java
index cb24d0c..0edcc4b 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectNewOpportunityController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectNewOpportunityController.java
@@ -50,7 +50,7 @@ public class ProjectNewOpportunityController {
);*/
- List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "华润新能源(禹城)风力发电场项目"));
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "集成测试-商机"));
JSONObject jsonject = fxapi.getSynNewDataObj(false, "商机", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@@ -140,13 +140,13 @@ public class ProjectNewOpportunityController {
//编码
datajson.put("number",number);
- datajson.put("group_number","01");//项目分类
+ datajson.put("group_number","XM-01");//项目分类
datajson.put("name",nameData);//项目名称
datajson.put("f9w5_crmid",dataId);//CRMID
datajson.put("enable","1");//使用状态
datajson.put("status","C");//数据状态
//创建组织
- datajson.put("createorg_number","zycxjtpoc.test");
+ datajson.put("createorg_number","zyierp");
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());
@@ -168,12 +168,12 @@ public class ProjectNewOpportunityController {
*/
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
String syn_type = "0";//同步类型 0新增 1修改 2删除
- String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_project/projectSave";
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/basedata/bd_project/projectSave";
String res_param = obj;
String res = "";
try {
- String accessToken = "2096108315279888384_hjuaG4aAhb6aY7DOaoUmDLzx4lBXY3q4q5n7PvEVsq740PNMWx1X1q4CD1wljgW33pj5Ie8lbXCG3a2CIDFgxqGrmo2TCg5ss6kY03";
- // String accessToken = new KDTokenController().getKDAccessToken();
+ //String accessToken = "2096108315279888384_hjuaG4aAhb6aY7DOaoUmDLzx4lBXY3q4q5n7PvEVsq740PNMWx1X1q4CD1wljgW33pj5Ie8lbXCG3a2CIDFgxqGrmo2TCg5ss6kY03";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
Map headers = new HashMap();
@@ -350,7 +350,7 @@ public class ProjectNewOpportunityController {
datajson.put("enable","2");//使用状态 禁用
datajson.put("status","C");//数据状态
//创建组织
- datajson.put("createorg_number","zycxjtpoc.test");
+ datajson.put("createorg_number","zyierp");
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectObjController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectObjController.java
index e6f08b4..c74745b 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectObjController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/ProjectObjController.java
@@ -50,7 +50,7 @@ public class ProjectObjController {
);*/
- List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "测试"));
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "集成测试--预签-设计文件"));
JSONObject jsonject = fxapi.getSynNewDataObj(false, "项目启动单", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@@ -140,13 +140,13 @@ public class ProjectObjController {
//编码
datajson.put("number",number);
- datajson.put("group_number","02");//项目分类
+ datajson.put("group_number","XM-01");//项目分类
datajson.put("name",nameData);//项目名称
datajson.put("f9w5_crmid",dataId);//CRMID
datajson.put("enable","1");//使用状态
datajson.put("status","C");//数据状态
//创建组织
- datajson.put("createorg_number","zycxjtpoc.test");
+ datajson.put("createorg_number","zyierp");
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());
@@ -168,12 +168,12 @@ public class ProjectObjController {
*/
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
String syn_type = "0";//同步类型 0新增 1修改 2删除
- String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_project/projectSave";
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/basedata/bd_project/projectSave";
String res_param = obj;
String res = "";
try {
- String accessToken = "2096108315279888384_sk2dyYgkHyM1NTWf3w6iZuCElVY8wY7OPRb27af3EAkuzbsSbQChg0AMt5hoLGUqHVkDmHsucRLvpyd8FoS77k46strtfebvRzp205";
- // String accessToken = new KDTokenController().getKDAccessToken();
+ // String accessToken = "2096108315279888384_sk2dyYgkHyM1NTWf3w6iZuCElVY8wY7OPRb27af3EAkuzbsSbQChg0AMt5hoLGUqHVkDmHsucRLvpyd8FoS77k46strtfebvRzp205";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
Map headers = new HashMap();
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java
index 5bce7e2..0cd5bde 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/UsceController.java
@@ -59,7 +59,7 @@ public class UsceController {
datajson.put("createtime", "2012-02-26 11:04:43");
JSONArray arr = new JSONArray();
String[] strings = {
- "王小龙"
+ "苗依达"
};
// 将字符串添加到 JSONArray 中
@@ -185,9 +185,11 @@ public class UsceController {
JSONArray entryentity = str.getJSONArray("entryentity");
String deptNumber = "";
+ String position = "";
if (entryentity != null) {
JSONObject deptobj = (JSONObject) entryentity.get(0);
deptNumber = deptobj.getString("dpt_number");
+ position = deptobj.getString("position");
}
@@ -222,6 +224,7 @@ public class UsceController {
map.put("body.data.object_data.field_T1xid__c", number);//编码
map.put("body.data.object_data.user_name", phone);
map.put("body.data.object_data.email", email);
+ map.put("body.data.object_data.position", position);
if (enable.equals("2")) {
map.put("body.data.object_data.status", "1");
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customerController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customerController.java
index fb28b56..607b1b1 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customerController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customerController.java
@@ -29,8 +29,8 @@ public class customerController {
static Logger log = LoggerFactory.getLogger("customer");
public static void main(String[] args) throws Exception {
- new customerController().getSynDataUpdate();
- new customerController().getSynKHUPdate();
+ new customerController().getSynDataAdd();
+ new customerController().getSynKH();
}
@@ -44,15 +44,15 @@ public class customerController {
String apiName = "AccountObj";
- List paramList = Arrays.asList(
+ /* List paramList = Arrays.asList(
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("ISN", "erp_category__c", ""),
new CrmFXApiParam("EQ", "life_status", "normal")
- );
+ );*/
- /* List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "河北省水利行业协会"));*/
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "灵宝市窄口水务管理局"));
JSONObject jsonject = fxapi.getSynNewDataObj(false, "客户", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@@ -166,8 +166,53 @@ public class customerController {
groupstandardarr.add(groupstandardjson);
datajson.put("entry_groupstandard",groupstandardarr);//分类标准
+
+
+ JSONArray lxrarr = new JSONArray();
+ JSONObject jsonjectZ = fxapi.getSynDataObj("客户下联系人", "ContactObj", "account_id", dataId);
+ JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
+ if (!arrayZ.isEmpty()){
+ for (int j = 0; j < arrayZ.size(); j++) {
+
+ JSONObject stra = arrayZ.getJSONObject(j);
+ JSONObject lxrjson = new JSONObject();
+ lxrjson.put("contactperson",GcjJson.getNodeValue(stra, "JSON.name"));
+ lxrjson.put("contactpersonpost",GcjJson.getNodeValue(stra, "JSON.job_title"));
+ lxrjson.put("dept",GcjJson.getNodeValue(stra, "JSON.department"));
+ lxrjson.put("email",GcjJson.getNodeValue(stra, "JSON.email"));
+ lxrjson.put("phone",GcjJson.getNodeValue(stra, "JSON.mobile1"));
+ if(j==0){
+ lxrjson.put("isdefault_linkman",true);
+ }
+
+ lxrarr.add(lxrjson);
+ }
+ datajson.put("entry_linkman",lxrarr);//联系人
+ }
+
+ JSONArray groupstandardarr2 = new JSONArray();
+ JSONObject groupstandardjson2 = new JSONObject();
+ groupstandardjson2.put("bank_number","001100001509");
+ groupstandardjson2.put("accountname","1");
+ groupstandardjson2.put("currency_number","CNY");
+ groupstandardjson2.put("bankaccount","1");
+ groupstandardjson2.put("isdefault_bank",true);
+ groupstandardarr2.add(groupstandardjson2);
+
+
+ JSONObject groupstandardjson3 = new JSONObject();
+ groupstandardjson3.put("bank_number","001110012009");
+ groupstandardjson3.put("accountname","2");
+ groupstandardjson3.put("currency_number","CNY");
+ groupstandardjson3.put("bankaccount","2");
+ groupstandardjson3.put("isdefault_bank",false);
+ groupstandardarr2.add(groupstandardjson3);
+
+
+ datajson.put("entry_bank",groupstandardarr2);//银行信息
+
//创建组织
- datajson.put("createorg_number","zycxjtpoc.test");
+ datajson.put("createorg_number","zyierp");
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());
@@ -189,12 +234,12 @@ public class customerController {
*/
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
String syn_type = "0";//同步类型 0新增 1修改 2删除
- String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_customer/customerSave";
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/basedata/bd_customer/customerSave";
String res_param = obj;
String res = "";
try {
// String token = "2096108315279888384_HJyMZK1Lco9gSZUKU1ipq85P5J32eQDdaz8WgChd1DvHrPZylIodiBmBYa8U2smKVC8MKAspXtjNQ2Fjw5MlWXDnkn5nPFPQWzSB03";
- String accessToken = new KDTokenController().getKDAccessToken();
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
Map headers = new HashMap();
@@ -278,7 +323,7 @@ public class customerController {
);*/
- List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "河北省水利行业协会"));
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "国网湖北省电力有限公司武汉供电公司"));
JSONObject jsonject = fxapi.getSynNewDataObj(false, "客户", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@@ -382,7 +427,7 @@ public class customerController {
//编码
datajson.put("number",account_no);
datajson.put("paymentcurrency_number","CNY");//付款币种.货币代码
- datajson.put("name",nameData);//客户名称
+ datajson.put("name","新-"+nameData);//客户名称
datajson.put("f9w5_crmid",dataId);//CRMID
// datajson.put("settlementtypeid_number","JSFS04");//结算方式
@@ -393,8 +438,32 @@ public class customerController {
groupstandardarr.add(groupstandardjson);
datajson.put("entry_groupstandard",groupstandardarr);//分类标准
+
+ JSONArray groupstandardarr2 = new JSONArray();
+ JSONObject groupstandardjson2 = new JSONObject();
+ groupstandardjson2.put("bank_number","001100001509");
+ groupstandardjson2.put("accountname","1");
+ groupstandardjson2.put("currency_number","CNY");
+ groupstandardjson2.put("bankaccount","1");
+ groupstandardjson2.put("isdefault_bank",true);
+ groupstandardarr2.add(groupstandardjson2);
+
+
+ JSONObject groupstandardjson3 = new JSONObject();
+ groupstandardjson3.put("bank_number","001110012009");
+ groupstandardjson3.put("accountname","2");
+ groupstandardjson3.put("currency_number","CNY");
+ groupstandardjson3.put("bankaccount","2");
+ groupstandardjson3.put("isdefault_bank",false);
+ groupstandardarr2.add(groupstandardjson3);
+
+
+ datajson.put("entry_bank",groupstandardarr2);//银行信息
+
+
+
//创建组织
- datajson.put("createorg_number","zycxjtpoc.test");
+ datajson.put("createorg_number","zyierp");
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());
@@ -414,12 +483,12 @@ public class customerController {
public void getSynDataSaveup(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
String syn_type = "1";//同步类型 0新增 1修改 2删除
- String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_customer/customerSave";
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/basedata/bd_customer/customerSave";
String res_param = obj;
String res = "";
try {
// String token = "2096108315279888384_HJyMZK1Lco9gSZUKU1ipq85P5J32eQDdaz8WgChd1DvHrPZylIodiBmBYa8U2smKVC8MKAspXtjNQ2Fjw5MlWXDnkn5nPFPQWzSB03";
- String accessToken = new KDTokenController().getKDAccessToken();
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customergroupController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customergroupController.java
index 3f0ed93..05a0da5 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customergroupController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/customergroupController.java
@@ -42,7 +42,7 @@ public class customergroupController {
Boolean sendFlag = false;//是否阻断
StringBuffer stringBuffer = new StringBuffer();
- String sendUrl = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_customergroup/customergroupSave";
+ String sendUrl = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/basedata/bd_customergroup/customergroupSave";
String sendBody = "";
String sendRes = "";
@@ -63,7 +63,7 @@ public class customergroupController {
// String token = "2096108315279888384_Y8HeV0864EhPN9oPNs57p3B6tpFipZoQB6NMm1aczKr1QGotVhrr6FIpOfz4H67lNpol7NvBPXIb93t8U2UddG1SFKdXy5h78Sl502";
- String accessToken = new KDTokenController().getKDAccessToken();
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
if (accessToken == null || accessToken.equals("")) {
logger.info("金蝶token为空或不存在");
@@ -80,7 +80,10 @@ public class customergroupController {
datajson.put("number",value);
datajson.put("name",label);
- datajson.put("parent_number","01");//上级是中国
+ datajson.put("parent_number","K001");//上级是中国
+ datajson.put("standard_number","JBFLBZ");//基本分类标准
+ datajson.put("createorg_number","zyierp");//上级是中国
+
dataarr.add(datajson);
params.put("data",dataarr);
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillController.java
new file mode 100644
index 0000000..b1ba382
--- /dev/null
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillController.java
@@ -0,0 +1,324 @@
+package org.ssssssss.magicboot.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.context.XxlJobHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.ssssssss.magicboot.fxapi.HttpClientResult;
+import org.ssssssss.magicboot.fxapi.HttpClientUtils;
+import org.ssssssss.magicboot.fxapi.XKTokenAccess;
+import org.ssssssss.magicboot.fxapi.model.CrmFXApiParam;
+import org.ssssssss.magicboot.zdyutils.FXHTTP;
+import org.ssssssss.magicboot.zdyutils.GcjJson;
+import org.ssssssss.magicboot.zdyutils.MagicApi;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/materialreqbill")
+public class materialreqbillController {
+ static Logger log = LoggerFactory.getLogger("customer");
+
+ public static void main(String[] args) throws Exception {
+ // new materialreqbillController().getSynDataAdd();
+ new materialreqbillController().materialreqbillSave();
+
+ }
+
+ public void getSynDataAdd() throws Exception {
+ FXHTTP fxapi = new FXHTTP();
+ XKTokenAccess xktonken = new XKTokenAccess();
+ // 查询magic接口
+ //获取时间戳
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60));
+
+ String apiName = "shipping_application__c";
+
+ /* List paramList = Arrays.asList(
+ new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
+ new CrmFXApiParam("IS", "erp_id__c", ""),
+ new CrmFXApiParam("EQ", "life_status", "normal")
+ );*/
+
+
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ-2025-05-120001"));
+
+ JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", apiName, paramList);
+ JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
+
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject str = array.getJSONObject(i);
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ log.info("-------------------开始执行发货申请" + i + " -------------------" + nameData);
+ XxlJobHelper.log("-------------------开始执行发货申请" + i + " -------------------" + nameData);
+
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+
+ try {
+ boolean tbflag = false;
+ //验证数据是否已存在
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("FHD", syn_type, dataId);
+
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+ log.info("发货申请待同步数据-" + i + " ------" + nameData);
+ JSONObject jsonObjectData = new JSONObject();
+ jsonObjectData.put("send_type", "FHD"); //业务类型
+ jsonObjectData.put("send_syn", "0"); //同步类型 0新增 1修改 2删除
+ jsonObjectData.put("crm_id", dataId);//数据id
+ jsonObjectData.put("crmzhu_id", dataId);//数据id
+ jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
+ jsonObjectData.put("crm_code", nameData);//数据名称
+ jsonObjectData.put("mark", nameData);//标识
+ jsonObjectData.put("crm_json", str.toJSONString());//标识
+
+ MagicApi.saveSendSYNDatamaterialreqbill(jsonObjectData);
+ } catch (Exception e) {
+ continue;
+ }
+
+ }
+ }
+
+ public void materialreqbillSave() throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ FXHTTP fxapi = new FXHTTP();
+ String resJsonStr = MagicApi.getWNRES("http://localhost:18088/syn/querymaterialreqbill?sendType=FHD&sendStatus=3&sendSyn=0", "");
+ JSONObject resJson = JSON.parseObject(resJsonStr);
+ if (resJson != null) {
+ log.info("待同步发货申请数" + resJson.getJSONArray("data").size());
+ for (int i = 0; i < resJson.getJSONArray("data").size(); i++) {
+
+ JSONObject getData = resJson.getJSONArray("data").getJSONObject(i);
+ JSONObject str = getData.getJSONObject("crmJson");
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+ boolean tbflag = false;
+ // 构建json
+
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String remark = GcjJson.getNodeValue(str, "JSON.remark__c") != null ? GcjJson.getNodeValue(str, "JSON.remark__c").toString() : "";
+ String contractno = GcjJson.getNodeValue(str, "JSON.contract_number_text__c") != null ? GcjJson.getNodeValue(str, "JSON.contract_number_text__c").toString() : "";
+
+
+ String cemployeeid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
+ cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
+ cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
+ }
+ /* if (StringUtils.isBlank(cemployeeid)) {
+ sendFlag = true;
+ stringBuffer.append("销售员不存在\n");
+ }*/
+ String cdeptid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
+ String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
+ cdeptid = fxapi.getDataBYID("DepartmentObj", "dept_id", dept_id, "JSON.data.dataList[0].field_Vj6sf__c");
+ }
+ String strJson = "";
+ try{
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("FHD", syn_type, dataId,"3");
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+
+ JSONObject params = new JSONObject();
+
+ JSONArray dataarr = new JSONArray();
+ JSONObject datajson = new JSONObject();
+ //编号
+ datajson.put("billno",nameData);
+ datajson.put("comment",remark);
+ datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.application_date__c")));
+ datajson.put("contractno",contractno);//contractno
+
+ datajson.put("supplyownertype","bos_org");//货主类型 为啥不用客户
+ datajson.put("org_number","zyierp");
+ datajson.put("applydept_number","004");
+ datajson.put("biztype_number","320");
+ datajson.put("billtype_number","im_MaterialReqBill_STD_BT_S");
+ datajson.put("bizorg_number","ZHY");
+ datajson.put("supplyowner_number","ZHY");
+ datajson.put("crmid",dataId);
+
+
+ JSONArray groupstandardarr = new JSONArray();
+
+ JSONObject jsonjectZ = fxapi.getZDYSynDataObj("发货申请明细", "shipping_product__c", "shipping_application__c", dataId);
+ JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
+ for (int j = 0; j < arrayZ.size(); j++) {
+ JSONObject stra = arrayZ.getJSONObject(j);
+
+ JSONObject groupstandardjson = new JSONObject();
+
+ groupstandardjson.put("qty",GcjJson.getNodeValue(stra, "JSON.current_application_quanti__c"));
+
+
+ String is_pickup__c = GcjJson.getNodeValue(stra, "JSON.is_pickup__c") != null ? GcjJson.getNodeValue(stra, "JSON.is_pickup__c").toString() : "";
+ if("yes".equals(is_pickup__c)){
+ groupstandardjson.put("ispikeup",true);
+ } else if ("no".equals(is_pickup__c)) {
+ groupstandardjson.put("ispikeup",false);
+ }
+
+ String temporary_direct_delivery__c = GcjJson.getNodeValue(stra, "JSON.temporary_direct_delivery__c") != null ? GcjJson.getNodeValue(stra, "JSON.temporary_direct_delivery__c").toString() : "";
+ if("yes".equals(temporary_direct_delivery__c)){
+ groupstandardjson.put("isdiscovery",true);
+ } else if ("no".equals(temporary_direct_delivery__c)) {
+ groupstandardjson.put("isdiscovery",false);
+ }
+
+ String isspecialask = GcjJson.getNodeValue(stra, "JSON.special_requirements_flag__c") != null ? GcjJson.getNodeValue(stra, "JSON.special_requirements_flag__c").toString() : "";
+ if("yes".equals(isspecialask)){
+ groupstandardjson.put("isspecialask",true);
+ } else if ("no".equals(isspecialask)) {
+ groupstandardjson.put("isspecialask",false);
+ }
+
+ String isemergency = GcjJson.getNodeValue(stra, "JSON.is_urgent__c") != null ? GcjJson.getNodeValue(stra, "JSON.is_urgent__c").toString() : "";
+ if("yes".equals(isemergency)){
+ groupstandardjson.put("isemergency",true);
+ } else if ("no".equals(isemergency)) {
+ groupstandardjson.put("isemergency",false);
+ }
+ //设计文件编码
+ groupstandardjson.put("designfileno",GcjJson.getNodeValue(stra, "JSON.design_file_encoding__c"));
+
+ groupstandardjson.put("crmentryid",GcjJson.getNodeValue(stra, "JSON._id"));
+ //批号
+ groupstandardjson.put("lotnumber",GcjJson.getNodeValue(stra, "JSON.batch_number__c"));
+ //产品编码
+ groupstandardjson.put("material_number",GcjJson.getNodeValue(stra, "JSON.material_name__c"));
+ //仓库编码
+ groupstandardjson.put("warehouse_number",GcjJson.getNodeValue(stra, "JSON.warehouse_code__c"));
+ //项目编码
+ groupstandardjson.put("project_number",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
+ groupstandardjson.put("ecostcenter_number","CHDL001");
+
+
+ groupstandardarr.add(groupstandardjson);
+
+ }
+
+ datajson.put("billentry",groupstandardarr);//明细
+ dataarr.add(datajson);
+ params.put("data",dataarr);
+ log.info("--请求json---" + params.toJSONString());
+ System.out.println("--请求json:---" +params.toJSONString());
+ strJson = params.toJSONString();
+
+ }catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("参数解析错误,请联系开发人员");
+ e.printStackTrace();
+ }
+ getSynDataSave(stringBuffer,sendFlag,fxapi,dataId,nameData,strJson,getData);
+
+ }
+ }
+ }
+ /**
+ * 写数据
+ */
+ public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/im/im_materialreqbill/materialreqbillSave";
+ String res_param = obj;
+ String res = "";
+ try {
+ // String accessToken = "2095345516136108032_XQmekTd9H2mWOICLK86jt4bMzjP53Bm4KrspyFaPG790rSA6k3CdpwJ9fSx9RiBhK63rKELG7oIyLPdeNgpXu47zRh6Ndnud9jf009";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
+
+
+ Map headers = new HashMap();
+ headers.put("accessToken", accessToken);//放token
+ HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
+ String resStr = rtn.getContent();
+ JSONObject resjs = JSONObject.parseObject(resStr);
+ res = resStr;
+ if (resjs != null && resjs.getBoolean("status")) {
+ JSONObject successdata = resjs.getJSONObject("data");
+ JSONArray result = successdata.getJSONArray("result");
+ JSONObject erpdata = (JSONObject) result.get(0);
+ String erpid = erpdata.getString("id");
+
+ Map paramMap = new HashMap();
+ paramMap.put("erp_id__c", erpid);//数据ID
+ paramMap.put("sync_status__c", "option_sync_success__c");
+ paramMap.put("sync_info__c", resjs.getString("message"));
+ //回写json
+ fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
+ }else{
+ sendFlag=true;
+ stringBuffer.append("发货申请创建接口调用失败:"+resjs.getString("message"));
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
+ }
+ } catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("发货申请创建接口调用失败,请检查网络配置");
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynFieldParam("", "shipping_application__c", dataId, paramMap);
+ }
+
+ JSONObject sendData = new JSONObject();
+
+ sendData.put("send_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+
+ sendData.put("send_id", str.getString("sendId")); //send_id
+ MagicApi.updateSendSYUPDATEmaterialreqbill(sendData);
+
+ JSONObject logData = new JSONObject();
+ logData.put("log_type", "FHD"); //业务类型
+ logData.put("log_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+ logData.put("syn_type", syn_type);//同步类型 0新增 1修改 2删除
+ logData.put("data_id", dataId);//数据id
+ logData.put("data_name", nameData);//数据名称
+ logData.put("res_body", "同步成功");//返回值
+ logData.put("res_url", res_url);//
+ logData.put("res_param", res_param);//
+ logData.put("res_res", res);//
+ if (sendFlag) {
+ logData.put("res_body", stringBuffer.toString());//返回值
+ }
+ //写入传输日志
+ MagicApi.saveCustomermaterialreqbill(logData);
+ }
+
+
+
+}
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillXTController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillXTController.java
new file mode 100644
index 0000000..27427ff
--- /dev/null
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/materialreqbillXTController.java
@@ -0,0 +1,337 @@
+package org.ssssssss.magicboot.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.context.XxlJobHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.ssssssss.magicboot.fxapi.HttpClientResult;
+import org.ssssssss.magicboot.fxapi.HttpClientUtils;
+import org.ssssssss.magicboot.fxapi.XKTokenAccess;
+import org.ssssssss.magicboot.fxapi.model.CrmFXApiParam;
+import org.ssssssss.magicboot.zdyutils.FXHTTP;
+import org.ssssssss.magicboot.zdyutils.GcjJson;
+import org.ssssssss.magicboot.zdyutils.MagicApi;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/materialreqbillv2")
+public class materialreqbillXTController {
+ static Logger log = LoggerFactory.getLogger("materialreqbillv2");
+
+ public static void main(String[] args) throws Exception {
+ new materialreqbillXTController().getSynDataAdd();
+ new materialreqbillXTController().materialreqbillSave();
+ //new materialreqbillXTController().doOperation("682f14a051a7140001ecc663","audit");
+ }
+
+ public void getSynDataAdd() throws Exception {
+ FXHTTP fxapi = new FXHTTP();
+ XKTokenAccess xktonken = new XKTokenAccess();
+ // 查询magic接口
+ //获取时间戳
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60));
+
+ String apiName = "shipping_application__c";
+
+ /* List paramList = Arrays.asList(
+ new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
+ new CrmFXApiParam("IS", "erp_id__c", ""),
+ new CrmFXApiParam("EQ", "life_status", "normal")
+ );*/
+
+
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ202505220003"));
+
+ JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", apiName, paramList);
+ JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
+
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject str = array.getJSONObject(i);
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ log.info("-------------------开始执行发货申请" + i + " -------------------" + nameData);
+ XxlJobHelper.log("-------------------开始执行发货申请" + i + " -------------------" + nameData);
+
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+
+ try {
+ boolean tbflag = false;
+ //验证数据是否已存在
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("FHD", syn_type, dataId);
+
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+ log.info("发货申请待同步数据-" + i + " ------" + nameData);
+ JSONObject jsonObjectData = new JSONObject();
+ jsonObjectData.put("send_type", "FHD"); //业务类型
+ jsonObjectData.put("send_syn", "0"); //同步类型 0新增 1修改 2删除
+ jsonObjectData.put("crm_id", dataId);//数据id
+ jsonObjectData.put("crmzhu_id", dataId);//数据id
+ jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
+ jsonObjectData.put("crm_code", nameData);//数据名称
+ jsonObjectData.put("mark", nameData);//标识
+ jsonObjectData.put("crm_json", str.toJSONString());//标识
+
+ MagicApi.saveSendSYNDatamaterialreqbill(jsonObjectData);
+ } catch (Exception e) {
+ continue;
+ }
+
+ }
+ }
+
+ public void materialreqbillSave() throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ FXHTTP fxapi = new FXHTTP();
+ String resJsonStr = MagicApi.getWNRES("http://localhost:18088/syn/querymaterialreqbill?sendType=FHD&sendStatus=3&sendSyn=0", "");
+ JSONObject resJson = JSON.parseObject(resJsonStr);
+ if (resJson != null) {
+ log.info("待同步发货申请数" + resJson.getJSONArray("data").size());
+ for (int i = 0; i < resJson.getJSONArray("data").size(); i++) {
+
+ JSONObject getData = resJson.getJSONArray("data").getJSONObject(i);
+ JSONObject str = getData.getJSONObject("crmJson");
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+ boolean tbflag = false;
+ // 构建json
+
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String sjerpid = GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c") != null ? GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c").toString() : "";
+ String contractno = GcjJson.getNodeValue(str, "JSON.contract_number_text__c") != null ? GcjJson.getNodeValue(str, "JSON.contract_number_text__c").toString() : "";
+
+
+ String cemployeeid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
+ cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
+ cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
+ }
+ /* if (StringUtils.isBlank(cemployeeid)) {
+ sendFlag = true;
+ stringBuffer.append("销售员不存在\n");
+ }*/
+ String cdeptid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
+ String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
+ cdeptid = fxapi.getDataBYID("DepartmentObj", "dept_id", dept_id, "JSON.data.dataList[0].field_Vj6sf__c");
+ }
+ String strJson = "";
+ try{
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("FHD", syn_type, dataId,"3");
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+
+ JSONObject params = new JSONObject();
+
+ JSONArray dataarr = new JSONArray();
+ JSONObject datajson = new JSONObject();
+
+ //datajson.put("org_number","zyierp");
+ datajson.put("org","ZHY");
+ datajson.put("bizorg","ZHY");
+ datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.application_date__c")));
+ datajson.put("applyuser","ID-000016");
+ datajson.put("applydept","004");
+ datajson.put("contractno",contractno);//contractno
+ datajson.put("crmid",dataId);
+ datajson.put("erpId",sjerpid);//设计文件erpID //design_file_ERPID__c
+
+ //编号
+ // datajson.put("billno",nameData);
+ //datajson.put("comment",remark);
+
+
+ JSONArray groupstandardarr = new JSONArray();
+
+ JSONObject jsonjectZ = fxapi.getZDYSynDataObj("发货申请明细", "shipping_product__c", "shipping_application__c", dataId);
+ JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
+ for (int j = 0; j < arrayZ.size(); j++) {
+ JSONObject stra = arrayZ.getJSONObject(j);
+
+ JSONObject groupstandardjson = new JSONObject();
+
+ groupstandardjson.put("qty",GcjJson.getNodeValue(stra, "JSON.current_application_quanti__c"));
+ //产品编码
+ groupstandardjson.put("material",GcjJson.getNodeValue(stra, "JSON.material_name__c"));
+ // groupstandardjson.put("material","10060030170");
+ //仓库编码
+ groupstandardjson.put("warehouse",GcjJson.getNodeValue(stra, "JSON.warehouse_code__c"));
+ groupstandardjson.put("location",GcjJson.getNodeValue(stra, "JSON.warehouse_position__c"));
+
+ //批号
+ groupstandardjson.put("lot",GcjJson.getNodeValue(stra, "JSON.batch_number__c"));
+ groupstandardjson.put("ecostcenter","ZHY");
+
+ //项目编码
+ groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
+
+ //设计文件明细ERPID
+ groupstandardjson.put("erpEntryId",GcjJson.getNodeValue(stra, "JSON.design_file_erp_detail_id__c"));
+ // groupstandardjson.put("erpEntryId","2216158993854770176");
+
+ groupstandardjson.put("crmentryid",GcjJson.getNodeValue(stra, "JSON._id"));
+
+ groupstandardjson.put("tracknumber_number",GcjJson.getNodeValue(stra, "JSON.shipping_tracking_number__c"));
+
+
+ groupstandardarr.add(groupstandardjson);
+
+ }
+
+ datajson.put("entryList",groupstandardarr);//明细
+ // dataarr.add(datajson);
+ // params.put("data",dataarr);
+ params= datajson;
+ log.info("--请求json---" + params.toJSONString());
+ System.out.println("--请求json:---" +params.toJSONString());
+ strJson = params.toJSONString();
+
+ }catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("参数解析错误,请联系开发人员");
+ e.printStackTrace();
+ }
+ getSynDataSave(stringBuffer,sendFlag,fxapi,dataId,nameData,strJson,getData);
+
+ }
+ }
+ }
+ /**
+ * 写数据
+ */
+ public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/im/materialreqbill/push";
+ String res_param = obj;
+ String res = "";
+ try {
+ // String accessToken = "2095345516136108032_XQmekTd9H2mWOICLK86jt4bMzjP53Bm4KrspyFaPG790rSA6k3CdpwJ9fSx9RiBhK63rKELG7oIyLPdeNgpXu47zRh6Ndnud9jf009";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
+
+
+ Map headers = new HashMap();
+ headers.put("accessToken", accessToken);//放token
+ HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
+ String resStr = rtn.getContent();
+ JSONObject resjs = JSONObject.parseObject(resStr);
+ res = resStr;
+ if (resjs != null && resjs.getBoolean("status")) {
+ JSONObject successdata = resjs.getJSONObject("data");
+ JSONArray result = successdata.getJSONArray("result");
+ JSONObject erpdata = (JSONObject) result.get(0);
+ String erpid = erpdata.getString("id");
+
+ Map paramMap = new HashMap();
+ paramMap.put("erp_id__c", erpid);//数据ID
+ paramMap.put("sync_status__c", "option_sync_success__c");
+ paramMap.put("sync_info__c", resjs.getString("message"));
+ //回写json
+ fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
+ //调用提交
+ this.doOperation(dataId,"submit");
+ }else{
+ sendFlag=true;
+ stringBuffer.append("发货申请创建接口调用失败:"+resjs.getString("message"));
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
+ }
+ } catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("发货申请创建接口调用失败,请检查网络配置");
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
+ }
+
+ JSONObject sendData = new JSONObject();
+
+ sendData.put("send_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+
+ sendData.put("send_id", str.getString("sendId")); //send_id
+ MagicApi.updateSendSYUPDATEmaterialreqbill(sendData);
+
+ JSONObject logData = new JSONObject();
+ logData.put("log_type", "FHD"); //业务类型
+ logData.put("log_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+ logData.put("syn_type", syn_type);//同步类型 0新增 1修改 2删除
+ logData.put("data_id", dataId);//数据id
+ logData.put("data_name", nameData);//数据名称
+ logData.put("res_body", "同步成功");//返回值
+ logData.put("res_url", res_url);//
+ logData.put("res_param", res_param);//
+ logData.put("res_res", res);//
+ if (sendFlag) {
+ logData.put("res_body", stringBuffer.toString());//返回值
+ }
+ //写入传输日志
+ MagicApi.saveCustomermaterialreqbill(logData);
+ }
+
+ public void doOperation(String crmId,String operation) throws Exception {
+ //操作类型:submit:提交;audit:审核;撤销:unsubmit;删除:delete;反审核:unaudit
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/im/materialreqbill/doOperation";
+ JSONObject datajson = new JSONObject();
+ datajson.put("crmId",crmId);
+ datajson.put("operation",operation);
+
+ String obj = datajson.toJSONString();
+
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
+
+
+ Map headers = new HashMap();
+ headers.put("accessToken", accessToken);//放token
+ HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
+ String resStr = rtn.getContent();
+ JSONObject resjs = JSONObject.parseObject(resStr);
+
+ if (resjs != null && resjs.getBoolean("status")) {
+ JSONObject successdata = resjs.getJSONObject("data");
+ String crmid = successdata.getString("crmid");
+ String erpid = successdata.getString("pkId");
+ String billno = successdata.getString("billno");
+
+ }else{
+ //响应的消息
+ String message = resjs.getString("message");
+
+ }
+
+
+ }
+
+}
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/priceapprovaController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/priceapprovaController.java
new file mode 100644
index 0000000..e6d9413
--- /dev/null
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/priceapprovaController.java
@@ -0,0 +1,323 @@
+package org.ssssssss.magicboot.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.context.XxlJobHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.ssssssss.magicboot.fxapi.HttpClientResult;
+import org.ssssssss.magicboot.fxapi.HttpClientUtils;
+import org.ssssssss.magicboot.fxapi.XKTokenAccess;
+import org.ssssssss.magicboot.fxapi.model.CrmFXApiParam;
+import org.ssssssss.magicboot.zdyutils.FXHTTP;
+import org.ssssssss.magicboot.zdyutils.GcjJson;
+import org.ssssssss.magicboot.zdyutils.MagicApi;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/priceapprova")
+public class priceapprovaController {
+ static Logger log = LoggerFactory.getLogger("priceapprova");
+
+ public static void main(String[] args) throws Exception {
+ new priceapprovaController().getSynDataAdd();
+ new priceapprovaController().priceapprovaSave();
+
+ }
+
+ public void getSynDataAdd() throws Exception {
+ FXHTTP fxapi = new FXHTTP();
+ XKTokenAccess xktonken = new XKTokenAccess();
+ // 查询magic接口
+ //获取时间戳
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60));
+
+ String apiName = "project_quote_quotation__c";
+
+ /* List paramList = Arrays.asList(
+ new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
+ new CrmFXApiParam("IS", "erp_id__c", ""),
+ new CrmFXApiParam("EQ", "life_status", "normal")
+ );*/
+
+
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "BJD-2025-05-230001"));
+
+ JSONObject jsonject = fxapi.getSynNewDataObj(true, "项目报价询价", apiName, paramList);
+ JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
+
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject str = array.getJSONObject(i);
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ log.info("-------------------开始执行项目报价询价" + i + " -------------------" + nameData);
+ XxlJobHelper.log("-------------------开始执行项目报价询价" + i + " -------------------" + nameData);
+
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+
+ try {
+ boolean tbflag = false;
+ //验证数据是否已存在
+ JSONObject dataSyn = MagicApi.getSendSYNDatapriceapprova("priceapprova", syn_type, dataId);
+
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+ log.info("项目报价询价申请待同步数据-" + i + " ------" + nameData);
+ JSONObject jsonObjectData = new JSONObject();
+ jsonObjectData.put("send_type", "priceapprova"); //业务类型
+ jsonObjectData.put("send_syn", "0"); //同步类型 0新增 1修改 2删除
+ jsonObjectData.put("crm_id", dataId);//数据id
+ jsonObjectData.put("crmzhu_id", dataId);//数据id
+ jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
+ jsonObjectData.put("crm_code", nameData);//数据名称
+ jsonObjectData.put("mark", nameData);//标识
+ jsonObjectData.put("crm_json", str.toJSONString());//标识
+
+ MagicApi.saveSendSYNDatapriceapprova(jsonObjectData);
+ } catch (Exception e) {
+ continue;
+ }
+
+ }
+ }
+
+ public void priceapprovaSave() throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ FXHTTP fxapi = new FXHTTP();
+ String resJsonStr = MagicApi.getWNRES("http://localhost:18088/syn/querypriceapprova?sendType=priceapprova&sendStatus=3&sendSyn=0", "");
+ JSONObject resJson = JSON.parseObject(resJsonStr);
+ if (resJson != null) {
+ log.info("待同步项目报价询价申请数" + resJson.getJSONArray("data").size());
+ for (int i = 0; i < resJson.getJSONArray("data").size(); i++) {
+
+ JSONObject getData = resJson.getJSONArray("data").getJSONObject(i);
+ JSONObject str = getData.getJSONObject("crmJson");
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+ boolean tbflag = false;
+ // 构建json
+
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String warranty = GcjJson.getNodeValue(str, "JSON.field_I3e77__c") != null ? GcjJson.getNodeValue(str, "JSON.field_I3e77__c").toString() : "";
+
+ String project_location = GcjJson.getNodeValue(str, "JSON.project_location__c") != null ? GcjJson.getNodeValue(str, "JSON.project_location__c").toString() : "";
+ String crspdencestd = GcjJson.getNodeValue(str, "JSON.field_h1HJx__c") != null ? GcjJson.getNodeValue(str, "JSON.field_h1HJx__c").toString() : "";
+
+ String correspondence = GcjJson.getNodeValue(str, "JSON.field_6p1ku__c") != null ? GcjJson.getNodeValue(str, "JSON.field_6p1ku__c").toString() : "";
+ String platform_manufacturer_text__c = GcjJson.getNodeValue(str, "JSON.platform_manufacturer_text__c") != null ? GcjJson.getNodeValue(str, "JSON.platform_manufacturer_text__c").toString() : "";
+ String quote_requirements__c = GcjJson.getNodeValue(str, "JSON.quote_requirements__c") != null ? GcjJson.getNodeValue(str, "JSON.quote_requirements__c").toString() : "";
+
+
+
+ String cemployeeid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
+ cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
+ cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
+ }
+ /* if (StringUtils.isBlank(cemployeeid)) {
+ sendFlag = true;
+ stringBuffer.append("销售员不存在\n");
+ }*/
+ String cdeptid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
+ String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
+ cdeptid = fxapi.getDataBYID("DepartmentObj", "dept_id", dept_id, "JSON.data.dataList[0].field_Vj6sf__c");
+ }
+ String strJson = "";
+ try{
+ JSONObject dataSyn = MagicApi.getSendSYNDataquerypriceapprova("priceapprova", syn_type, dataId,"3");
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+
+
+
+
+ JSONObject params = new JSONObject();
+
+ JSONArray dataarr = new JSONArray();
+ JSONObject datajson = new JSONObject();
+ //编号
+ datajson.put("billno",nameData);
+ datajson.put("f9w5_crmid",dataId);
+ datajson.put("istax","0");
+
+
+ datajson.put("f9w5_billtype_number","f9w5_pmp_priceapproval_BT_XMBJ");
+ datajson.put("billcretype","3");
+ datajson.put("currency_number","CNY");
+ datajson.put("pricelisttypeid_number","JMLX_SYS_CG");
+ datajson.put("org_number","ZHY");
+ datajson.put("f9w5_warranty",warranty);
+ datajson.put("f9w5_projectlocation",project_location);
+ datajson.put("f9w5_crspdencestd",crspdencestd);
+ datajson.put("f9w5_correspondence",correspondence);
+
+
+ datajson.put("f9w5_quotereq",quote_requirements__c);//其他服务要求
+ datajson.put("f9w5_platform",platform_manufacturer_text__c);
+ String implementation_needed__c = GcjJson.getNodeValue(str, "JSON.implementation_needed__c") != null ? GcjJson.getNodeValue(str, "JSON.implementation_needed__c").toString() : "";
+ if("yes".equals(implementation_needed__c)){
+ datajson.put("f9w5_implementation","0");
+ } else if ("no".equals(implementation_needed__c)) {
+ datajson.put("f9w5_implementation","1");
+ }
+ //是否送检
+ String is_inspected__c = GcjJson.getNodeValue(str, "JSON.is_inspected__c") != null ? GcjJson.getNodeValue(str, "JSON.is_inspected__c").toString() : "";
+ if("yes".equals(is_inspected__c)){
+ datajson.put("f9w5_isinspected","0");
+ } else if ("no".equals(is_inspected__c)) {
+ datajson.put("f9w5_isinspected","1");
+ }
+
+ JSONArray groupstandardarr = new JSONArray();
+ JSONObject jsonjectZ = fxapi.getZDYSynDataObj("项目报价询价申请明细", "quote_details__c", "project_quote_quotation__c", dataId);
+ JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
+ for (int j = 0; j < arrayZ.size(); j++) {
+ JSONObject stra = arrayZ.getJSONObject(j);
+ JSONObject groupstandardjson = new JSONObject();
+ // groupstandardjson.put("priceandtax",GcjJson.getNodeValue(stra, "JSON.quote_price__c"));
+
+ //产品编码
+ groupstandardjson.put("material_number",GcjJson.getNodeValue(stra, "JSON.product_code_text__c"));
+
+ groupstandardjson.put("user_operatornumber","ID-000016");
+ groupstandardjson.put("dept_number","004");
+ //供应商编码
+ // groupstandardjson.put("supplierid_number",GcjJson.getNodeValue(stra, "JSON.supplier_code__c"));
+ groupstandardjson.put("supplierid_number","Sup-000001");
+
+ groupstandardjson.put("f9w5_mtdescription",GcjJson.getNodeValue(stra, "JSON.material_description__c"));
+ groupstandardjson.put("f9w5_modelnum",GcjJson.getNodeValue(stra, "JSON.specification_model__c"));
+
+ groupstandardjson.put("f9w5_crmentryid",GcjJson.getNodeValue(stra, "JSON._id"));
+
+ // groupstandardjson.put("taxrateid_number","V13");
+ // groupstandardjson.put("invoicetype",GcjJson.getNodeValue(stra, "JSON.invoice_type__c"));
+ // groupstandardjson.put("settlementtype",GcjJson.getNodeValue(stra, "JSON.payment_method__c"));
+
+ groupstandardarr.add(groupstandardjson);
+
+ }
+
+ datajson.put("priceentryentity",groupstandardarr);//明细
+ dataarr.add(datajson);
+ params.put("data",dataarr);
+ log.info("--请求json---" + params.toJSONString());
+ System.out.println("--请求json:---" +params.toJSONString());
+ strJson = params.toJSONString();
+
+ }catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("参数解析错误,请联系开发人员");
+ e.printStackTrace();
+ }
+ getSynDataSave(stringBuffer,sendFlag,fxapi,dataId,nameData,strJson,getData);
+
+ }
+ }
+ }
+ /**
+ * 写数据
+ */
+ public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/pmp/f9w5_pmp_priceapproval/priceapprovalSave";
+ String res_param = obj;
+ String res = "";
+ try {
+ // String accessToken = "2095345516136108032_XQmekTd9H2mWOICLK86jt4bMzjP53Bm4KrspyFaPG790rSA6k3CdpwJ9fSx9RiBhK63rKELG7oIyLPdeNgpXu47zRh6Ndnud9jf009";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
+
+
+ Map headers = new HashMap();
+ headers.put("accessToken", accessToken);//放token
+ HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
+ String resStr = rtn.getContent();
+ JSONObject resjs = JSONObject.parseObject(resStr);
+ res = resStr;
+ if (resjs != null && resjs.getBoolean("status")) {
+ JSONObject successdata = resjs.getJSONObject("data");
+ JSONArray result = successdata.getJSONArray("result");
+ JSONObject erpdata = (JSONObject) result.get(0);
+ String erpid = erpdata.getString("id");
+
+ Map paramMap = new HashMap();
+ paramMap.put("erp_id__c", erpid);//数据ID
+ paramMap.put("sync_status__c", "option_sync_success__c");
+ paramMap.put("sync_info__c", resjs.getString("message"));
+ //回写json
+ fxapi.upSynZDYFieldParam("", "project_quote_quotation__c", dataId, paramMap);
+ }else{
+ sendFlag=true;
+ stringBuffer.append("项目报价询价申请创建接口调用失败:"+resjs.getString("message"));
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynZDYFieldParam("", "project_quote_quotation__c", dataId, paramMap);
+ }
+ } catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("项目报价询价申请创建接口调用失败,请检查网络配置");
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynFieldParam("", "project_quote_quotation__c", dataId, paramMap);
+ }
+
+ JSONObject sendData = new JSONObject();
+
+ sendData.put("send_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+
+ sendData.put("send_id", str.getString("sendId")); //send_id
+ MagicApi.updateSendSYUPDATEpriceapprova(sendData);
+
+ JSONObject logData = new JSONObject();
+ logData.put("log_type", "priceapprova"); //业务类型
+ logData.put("log_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+ logData.put("syn_type", syn_type);//同步类型 0新增 1修改 2删除
+ logData.put("data_id", dataId);//数据id
+ logData.put("data_name", nameData);//数据名称
+ logData.put("res_body", "同步成功");//返回值
+ logData.put("res_url", res_url);//
+ logData.put("res_param", res_param);//
+ logData.put("res_res", res);//
+ if (sendFlag) {
+ logData.put("res_body", stringBuffer.toString());//返回值
+ }
+ //写入传输日志
+ MagicApi.savesavepriceapprovaLog(logData);
+ }
+
+
+
+}
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/returnapplicationController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/returnapplicationController.java
new file mode 100644
index 0000000..625f7de
--- /dev/null
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/returnapplicationController.java
@@ -0,0 +1,298 @@
+package org.ssssssss.magicboot.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.context.XxlJobHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.ssssssss.magicboot.fxapi.HttpClientResult;
+import org.ssssssss.magicboot.fxapi.HttpClientUtils;
+import org.ssssssss.magicboot.fxapi.XKTokenAccess;
+import org.ssssssss.magicboot.fxapi.model.CrmFXApiParam;
+import org.ssssssss.magicboot.zdyutils.FXHTTP;
+import org.ssssssss.magicboot.zdyutils.GcjJson;
+import org.ssssssss.magicboot.zdyutils.MagicApi;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/returnapplication")
+public class returnapplicationController {
+ static Logger log = LoggerFactory.getLogger("returnapplication");
+
+ public static void main(String[] args) throws Exception {
+ new returnapplicationController().getSynDataAdd();
+ new returnapplicationController().materialreqbillSave();
+
+ }
+
+ public void getSynDataAdd() throws Exception {
+ FXHTTP fxapi = new FXHTTP();
+ XKTokenAccess xktonken = new XKTokenAccess();
+ // 查询magic接口
+ //获取时间戳
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60));
+
+ String apiName = "return_application__c";
+
+ /* List paramList = Arrays.asList(
+ new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
+ new CrmFXApiParam("IS", "erp_id__c", ""),
+ new CrmFXApiParam("EQ", "life_status", "normal")
+ );*/
+
+
+ List paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "THSQ20250507-0001"));
+
+ JSONObject jsonject = fxapi.getSynNewDataObj(true, "退货申请", apiName, paramList);
+ JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
+
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject str = array.getJSONObject(i);
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ log.info("-------------------开始执行退货申请" + i + " -------------------" + nameData);
+ XxlJobHelper.log("-------------------开始执行退货申请" + i + " -------------------" + nameData);
+
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+
+ try {
+ boolean tbflag = false;
+ //验证数据是否已存在
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("THD", syn_type, dataId);
+
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+ log.info("退货申请待同步数据-" + i + " ------" + nameData);
+ JSONObject jsonObjectData = new JSONObject();
+ jsonObjectData.put("send_type", "THD"); //业务类型
+ jsonObjectData.put("send_syn", "0"); //同步类型 0新增 1修改 2删除
+ jsonObjectData.put("crm_id", dataId);//数据id
+ jsonObjectData.put("crmzhu_id", dataId);//数据id
+ jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
+ jsonObjectData.put("crm_code", nameData);//数据名称
+ jsonObjectData.put("mark", nameData);//标识
+ jsonObjectData.put("crm_json", str.toJSONString());//标识
+
+ MagicApi.saveSendSYNDatamaterialreqbill(jsonObjectData);
+ } catch (Exception e) {
+ continue;
+ }
+
+ }
+ }
+
+ public void materialreqbillSave() throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ FXHTTP fxapi = new FXHTTP();
+ String resJsonStr = MagicApi.getWNRES("http://localhost:18088/syn/querymaterialreqbill?sendType=THD&sendStatus=3&sendSyn=0", "");
+ JSONObject resJson = JSON.parseObject(resJsonStr);
+ if (resJson != null) {
+ log.info("待同步退货申请数" + resJson.getJSONArray("data").size());
+ for (int i = 0; i < resJson.getJSONArray("data").size(); i++) {
+
+ JSONObject getData = resJson.getJSONArray("data").getJSONObject(i);
+ JSONObject str = getData.getJSONObject("crmJson");
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ Boolean sendFlag = false;
+ StringBuffer stringBuffer = new StringBuffer();
+ boolean tbflag = false;
+ // 构建json
+
+ String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
+ String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
+
+ String remark = GcjJson.getNodeValue(str, "JSON.remark__c") != null ? GcjJson.getNodeValue(str, "JSON.remark__c").toString() : "";
+ String contractno = GcjJson.getNodeValue(str, "JSON.contract_number_text__c") != null ? GcjJson.getNodeValue(str, "JSON.contract_number_text__c").toString() : "";
+
+ String erpid = GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c").toString() : "";
+
+
+ String cemployeeid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
+ cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
+ cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
+ }
+ /* if (StringUtils.isBlank(cemployeeid)) {
+ sendFlag = true;
+ stringBuffer.append("销售员不存在\n");
+ }*/
+ String cdeptid = "";
+ if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
+ String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
+ cdeptid = fxapi.getDataBYID("DepartmentObj", "dept_id", dept_id, "JSON.data.dataList[0].field_Vj6sf__c");
+ }
+ String strJson = "";
+ try{
+ JSONObject dataSyn = MagicApi.getSendSYNDatamaterialreqbill("THD", syn_type, dataId,"3");
+ if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
+ log.info("数据已存在-" + nameData);
+ XxlJobHelper.log("--数据已存在---" + nameData);
+ tbflag = true;
+ }
+ if (tbflag) {
+ continue;
+ }
+
+
+
+
+ JSONObject datajson = new JSONObject();
+ //编号
+ datajson.put("billno",nameData);
+ datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.return_date__c")));
+ datajson.put("contractno",contractno);//contractno
+ datajson.put("applydept","004");
+ datajson.put("applyuser","ID-000016");
+ datajson.put("bizorg","ZHY");
+ datajson.put("org","ZHY");
+ datajson.put("crmid",dataId);
+ datajson.put("erpid",erpid);
+
+ JSONArray groupstandardarr = new JSONArray();
+
+ JSONObject jsonjectZ = fxapi.getZDYSynDataObj("退货申请明细", "return_application_details__c", "field_Ok1G3__c", dataId);
+ JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
+ for (int j = 0; j < arrayZ.size(); j++) {
+ JSONObject stra = arrayZ.getJSONObject(j);
+
+ JSONObject groupstandardjson = new JSONObject();
+
+ groupstandardjson.put("qty",GcjJson.getNodeValue(stra, "JSON.quantity__c"));
+
+
+
+ //设计文件编码
+ groupstandardjson.put("designfileno",GcjJson.getNodeValue(stra, "JSON.design_file_encoding__c"));
+
+ groupstandardjson.put("crmentryid",GcjJson.getNodeValue(stra, "JSON._id"));
+ //批号
+ groupstandardjson.put("lot",GcjJson.getNodeValue(stra, "JSON.batch_number__c"));
+ //产品编码
+ groupstandardjson.put("material",GcjJson.getNodeValue(stra, "JSON.material_name__c"));
+ //仓库编码
+ groupstandardjson.put("warehouse",GcjJson.getNodeValue(stra, "JSON.warehouse_code__c"));
+ //仓位
+
+ //项目编码
+ groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
+ groupstandardjson.put("ecostcenter","ZHY");
+
+ groupstandardjson.put("erpEntryId",GcjJson.getNodeValue(stra, "JSON.erp_outbound_line_id__c"));
+
+
+ groupstandardarr.add(groupstandardjson);
+
+ }
+
+ datajson.put("entryList",groupstandardarr);//明细
+
+ log.info("--请求json---" + datajson.toJSONString());
+ System.out.println("--请求json:---" +datajson.toJSONString());
+ strJson = datajson.toJSONString();
+
+ }catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("参数解析错误,请联系开发人员");
+ e.printStackTrace();
+ }
+ getSynDataSave(stringBuffer,sendFlag,fxapi,dataId,nameData,strJson,getData);
+
+ }
+ }
+ }
+ /**
+ * 写数据
+ */
+ public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
+ String syn_type = "0";//同步类型 0新增 1修改 2删除
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/im/materialreqbill/save";
+ String res_param = obj;
+ String res = "";
+ try {
+ // String accessToken = "2095345516136108032_XQmekTd9H2mWOICLK86jt4bMzjP53Bm4KrspyFaPG790rSA6k3CdpwJ9fSx9RiBhK63rKELG7oIyLPdeNgpXu47zRh6Ndnud9jf009";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
+
+
+ Map headers = new HashMap();
+ headers.put("accessToken", accessToken);//放token
+ HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
+ String resStr = rtn.getContent();
+ JSONObject resjs = JSONObject.parseObject(resStr);
+ res = resStr;
+ if (resjs != null && resjs.getBoolean("status")) {
+ JSONObject successdata = resjs.getJSONObject("data");
+ JSONArray result = successdata.getJSONArray("result");
+ JSONObject erpdata = (JSONObject) result.get(0);
+ String erpid = erpdata.getString("id");
+
+ Map paramMap = new HashMap();
+ paramMap.put("erp_id__c", erpid);//数据ID
+ paramMap.put("sync_status__c", "option_sync_success__c");
+ paramMap.put("sync_info__c", resjs.getString("message"));
+ //回写json
+ fxapi.upSynZDYFieldParam("", "return_application__c", dataId, paramMap);
+ }else{
+ sendFlag=true;
+ stringBuffer.append("退货申请创建接口调用失败:"+resjs.getString("message"));
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynZDYFieldParam("", "return_application__c", dataId, paramMap);
+ }
+ } catch (Exception e) {
+ sendFlag = true;
+ stringBuffer.append("退货申请创建接口调用失败,请检查网络配置");
+ Map paramMap = new HashMap();
+ paramMap.put("sync_status__c", "option_sync_failure__c");
+ paramMap.put("sync_info__c", stringBuffer);
+ //回写json
+ fxapi.upSynFieldParam("", "return_application__c", dataId, paramMap);
+ }
+
+ JSONObject sendData = new JSONObject();
+
+ sendData.put("send_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+
+ sendData.put("send_id", str.getString("sendId")); //send_id
+ MagicApi.updateSendSYUPDATEmaterialreqbill(sendData);
+
+ JSONObject logData = new JSONObject();
+ logData.put("log_type", "THD"); //业务类型
+ logData.put("log_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
+ logData.put("syn_type", syn_type);//同步类型 0新增 1修改 2删除
+ logData.put("data_id", dataId);//数据id
+ logData.put("data_name", nameData);//数据名称
+ logData.put("res_body", "同步成功");//返回值
+ logData.put("res_url", res_url);//
+ logData.put("res_param", res_param);//
+ logData.put("res_res", res);//
+ if (sendFlag) {
+ logData.put("res_body", stringBuffer.toString());//返回值
+ }
+ //写入传输日志
+ MagicApi.saveCustomermaterialreqbill(logData);
+ }
+
+
+
+}
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/salesPredictionController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/salesPredictionController.java
index 5a01ebf..45f604a 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/salesPredictionController.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/salesPredictionController.java
@@ -223,12 +223,12 @@ public class salesPredictionController {
*/
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
String syn_type = "0";//同步类型 0新增 1修改 2删除
- String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/sm/f9w5_salespred/salespredSave";
+ String res_url = "http://192.168.31.233:8022/ierp/kapi/v2/f9w5/sm/f9w5_salespred/salespredSave";
String res_param = obj;
String res = "";
try {
- String accessToken = "2096108315279888384_8elReBSzvx315JiLWiH82YKJGosF3G2kN688q05rHUritX9x3fWS3lmetalPeMe3HceZV7fK1GdSJsk1J46A3S0VkOxIUqf7wnS207";
- // String accessToken = new KDTokenController().getKDAccessToken();
+ // String accessToken = "2096108315279888384_8elReBSzvx315JiLWiH82YKJGosF3G2kN688q05rHUritX9x3fWS3lmetalPeMe3HceZV7fK1GdSJsk1J46A3S0VkOxIUqf7wnS207";
+ String accessToken = new KDTokenController().getKDAccessTokenTest();
Map headers = new HashMap();
diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/zdyutils/MagicApi.java b/magic-boot/src/main/java/org/ssssssss/magicboot/zdyutils/MagicApi.java
index e1568ca..ea682d5 100644
--- a/magic-boot/src/main/java/org/ssssssss/magicboot/zdyutils/MagicApi.java
+++ b/magic-boot/src/main/java/org/ssssssss/magicboot/zdyutils/MagicApi.java
@@ -48,6 +48,26 @@ public class MagicApi {
e.printStackTrace();
}
}
+ public static void saveCustomermaterialreqbill(JSONObject data) {
+ System.out.println(data);
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/send/log/savematerialreqbill"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ public static void savesavepriceapprovaLog(JSONObject data) {
+ System.out.println(data);
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/send/log/savepriceapprova"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
public static void saveSPLog(JSONObject data) {
System.out.println(data);
try {
@@ -303,6 +323,28 @@ public class MagicApi {
e.printStackTrace();
}
}
+
+ public static void saveSendSYNDatapriceapprova(JSONObject data) {
+ System.out.println(data.toJSONString());
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/syn/savepriceapprova"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ public static void saveSendSYNDatamaterialreqbill(JSONObject data) {
+ System.out.println(data.toJSONString());
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/syn/savematerialreqbill"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
public static void saveSendSYNDataSP(JSONObject data) {
System.out.println(data.toJSONString());
try {
@@ -353,6 +395,26 @@ public class MagicApi {
e.printStackTrace();
}
}
+ public static void updateSendSYUPDATEpriceapprova(JSONObject data) {
+ System.out.println(data.toJSONString());
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/syn/updatepriceapprova"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ public static void updateSendSYUPDATEmaterialreqbill(JSONObject data) {
+ System.out.println(data.toJSONString());
+ try {
+ String res = HttpSend.sendMagicPost(
+ "http://127.0.0.1:18088/syn/updatematerialreqbill"
+ , data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
public static void updateSendSYUPDATESP(JSONObject data) {
System.out.println(data.toJSONString());
try {
@@ -402,6 +464,42 @@ public class MagicApi {
return null;
}
+ public static JSONObject getSendSYNDatamaterialreqbill(String type, String syn, String dataId) {
+
+ try {
+ String res = HttpSend.sendMagicGet(
+ "http://127.0.0.1:18088/syn/querymaterialreqbill?sendType=" + URLEncoder.encode(type, "UTF-8")
+ + "&crmId=" + URLEncoder.encode(dataId, "UTF-8")
+ + "&sendSyn=" + URLEncoder.encode(syn, "UTF-8")
+ , "");
+ JSONObject resJson = JSONObject.parseObject(res);
+
+ if (resJson.getJSONArray("data").size() > 0) {
+ return resJson.getJSONArray("data").getJSONObject(0);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static JSONObject getSendSYNDatapriceapprova(String type, String syn, String dataId) {
+
+ try {
+ String res = HttpSend.sendMagicGet(
+ "http://127.0.0.1:18088/syn/querypriceapprova?sendType=" + URLEncoder.encode(type, "UTF-8")
+ + "&crmId=" + URLEncoder.encode(dataId, "UTF-8")
+ + "&sendSyn=" + URLEncoder.encode(syn, "UTF-8")
+ , "");
+ JSONObject resJson = JSONObject.parseObject(res);
+
+ if (resJson.getJSONArray("data").size() > 0) {
+ return resJson.getJSONArray("data").getJSONObject(0);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
public static JSONObject getSendSYNDataCustomer(String type, String syn, String dataId) {
try {
@@ -475,6 +573,44 @@ public class MagicApi {
}
return null;
}
+ public static JSONObject getSendSYNDataquerypriceapprova(String type, String syn, String dataId, String sendStatus3) {
+
+ try {
+ String res = HttpSend.sendMagicGet(
+ "http://127.0.0.1:18088/syn/querypriceapprova?sendType=" + URLEncoder.encode(type, "UTF-8")
+ + "&crmId=" + URLEncoder.encode(dataId, "UTF-8")
+ + "&sendSyn=" + URLEncoder.encode(syn, "UTF-8")
+ + "&sendStatus3="+sendStatus3
+ , "");
+ JSONObject resJson = JSONObject.parseObject(res);
+
+ if (resJson.getJSONArray("data").size() > 0) {
+ return resJson.getJSONArray("data").getJSONObject(0);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static JSONObject getSendSYNDatamaterialreqbill(String type, String syn, String dataId, String sendStatus3) {
+
+ try {
+ String res = HttpSend.sendMagicGet(
+ "http://127.0.0.1:18088/syn/querymaterialreqbill?sendType=" + URLEncoder.encode(type, "UTF-8")
+ + "&crmId=" + URLEncoder.encode(dataId, "UTF-8")
+ + "&sendSyn=" + URLEncoder.encode(syn, "UTF-8")
+ + "&sendStatus3="+sendStatus3
+ , "");
+ JSONObject resJson = JSONObject.parseObject(res);
+
+ if (resJson.getJSONArray("data").size() > 0) {
+ return resJson.getJSONArray("data").getJSONObject(0);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
public static JSONObject getSendSYNDataCustomer(String type, String syn, String dataId, String sendStatus3) {
try {