From 18648905bd0fd3b0dd1cf39a88ff90ec77dc5e30 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 20 九月 2023 10:28:11 +0800
Subject: [PATCH] 修改 9.20
---
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java | 43 +++++++
inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java | 9 +
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java | 15 --
inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java | 17 ++
inventory-server/src/main/java/com/yuanchu/mom/Task/DataPullTask.java | 62 ++++++++++
framework/src/main/java/com/yuanchu/mom/utils/JsonUtil.java | 54 +++++++++
inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java | 5
inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java | 54 ++++++++
system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java | 2
inventory-server/src/main/java/com/yuanchu/mom/service/SaleService.java | 6 +
inventory-server/src/main/java/com/yuanchu/mom/Task/SyncOrder.java | 72 ++++++++++++
inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java | 9 -
12 files changed, 319 insertions(+), 29 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/JsonUtil.java b/framework/src/main/java/com/yuanchu/mom/utils/JsonUtil.java
new file mode 100644
index 0000000..2327161
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/utils/JsonUtil.java
@@ -0,0 +1,54 @@
+package com.yuanchu.mom.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @Author 寮犲
+ */
+public class JsonUtil {
+
+ private static ObjectMapper JSON_MAPPER = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+ static {
+ JSON_MAPPER.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+ JSON_MAPPER.registerModule(new JavaTimeModule());
+ }
+
+ /**
+ * json杞崲瀵瑰簲瀹炰綋
+ * @param json
+ * @param clazz
+ * @param <T>
+ * @return
+ */
+ public static <T> T jsonToPojo(String json, Class<T> clazz){
+ T t=null;
+ try {
+ t=JSON_MAPPER.readValue(json,clazz);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return t;
+ }
+
+ /**
+ * 瀹炰綋杞崲鎴恓son瀛楃
+ * @param t
+ * @param <T>
+ * @return
+ */
+ public static <T> String jsonToString(T t){
+ String result=null;
+ try {
+ result=JSON_MAPPER.writeValueAsString(t);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+}
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/Task/DataPullTask.java b/inventory-server/src/main/java/com/yuanchu/mom/Task/DataPullTask.java
new file mode 100644
index 0000000..d28113e
--- /dev/null
+++ b/inventory-server/src/main/java/com/yuanchu/mom/Task/DataPullTask.java
@@ -0,0 +1,62 @@
+package com.yuanchu.mom.Task;
+
+import cn.hutool.core.date.DateUtil;
+import com.yuanchu.mom.pojo.Sale;
+import com.yuanchu.mom.pojo.SaleMaterial;
+import com.yuanchu.mom.service.SaleMaterialService;
+import com.yuanchu.mom.service.SaleService;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Component
+public class DataPullTask {
+
+ @Resource
+ SaleService saleService;
+
+ @Resource
+ SaleMaterialService saleMaterialService;
+
+ @Scheduled(cron = "0 0 4 * * ?") // 姣忓ぉ鍑屾櫒4鐐硅Е鍙�
+ public void pullDataFromOtherSystem() {
+ //鑾峰彇涓婚攢鍞暟鎹�
+ List<Map<String, Object>> order = SyncOrder.getMainOrder("2023-08-01 10:00:00 ");
+ List<Sale> list = order.stream().map(orde -> {
+ Sale sale = new Sale();
+ sale.setOrderNumber(orde.get("orderNo").toString());//璁㈠崟缂栧彿
+ sale.setCode(String.valueOf(orde.get("customerContractNumber")));//瀹㈡埛鍚堝悓缂栧彿
+ sale.setName(orde.get("projectName").toString());//宸ョ▼鍚嶇О
+ sale.setProname(orde.get("customerName").toString());//瀹㈡埛鍚嶇О
+ sale.setOrderName(orde.get("createdName").toString());//涓嬪崟浜�
+ sale.setSaleman(orde.get("salesmanName").toString());//涓氬姟鍛�
+ sale.setDelTime(DateUtil.parseDate(orde.get("wantedDeliveryDate").toString()));//浜よ揣鏃ユ湡
+ sale.setCreateTime(DateUtil.parseDate(orde.get("orderDate").toString()));//涓嬪崟鏃ユ湡
+ sale.setNote(String.valueOf(orde.get("comment")));//澶囨敞
+ return sale;
+ }).collect(Collectors.toList());
+ saleService.saveBatch(list);
+ for (Sale sale : list) {
+ List<Map<String, Object>> innerOrder = SyncOrder.getInnerOrder("2023-08-01 10:00:00", sale.getOrderNumber());
+ List<SaleMaterial> saleMaterials = innerOrder.stream().map(inorder -> {
+ SaleMaterial saleMaterial = new SaleMaterial();
+ saleMaterial.setName(inorder.get("productName").toString()); //浜у搧鍚嶇О
+ saleMaterial.setSpecifications(inorder.get("specificationModel").toString()); //浜у搧瑙勬牸鍨嬪彿
+ saleMaterial.setUnit(inorder.get("unit").toString()); //鍗曚綅
+ saleMaterial.setNumber((int) Double.parseDouble(inorder.get("quantity").toString())); //鏁伴噺
+ saleMaterial.setPrice(inorder.get("unitPriceInclTax").toString()); //鍗曚环
+ saleMaterial.setSaleId(sale.getId()); //鍏宠仈 閿�鍞崟id
+ saleMaterial.setAdress(String.valueOf(inorder.get("shippingAddress"))); //鏀惰揣鍦板潃
+ saleMaterial.setUsername(String.valueOf(inorder.get("receivingContact"))); //鑱旂郴浜�
+ saleMaterial.setPhone(String.valueOf(inorder.get("receivingContactPhone"))); //鎵嬫満鍙�
+ return saleMaterial;
+ }).collect(Collectors.toList());
+ saleMaterialService.saveBatch(saleMaterials);
+ }
+ }
+}
\ No newline at end of file
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/Task/SyncOrder.java b/inventory-server/src/main/java/com/yuanchu/mom/Task/SyncOrder.java
new file mode 100644
index 0000000..e44997f
--- /dev/null
+++ b/inventory-server/src/main/java/com/yuanchu/mom/Task/SyncOrder.java
@@ -0,0 +1,72 @@
+package com.yuanchu.mom.Task;
+
+
+import cn.hutool.http.HttpRequest;
+import com.yuanchu.mom.utils.JsonUtil;
+import com.yuanchu.mom.vo.Result;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/9/19
+ */
+public class SyncOrder {
+
+ private static final String TOKEN_URL="http://192.168.18.16:9999/auth/oauth/token";
+
+ private static final String GET_ORDER_MAIN_URL="http://192.168.18.16:9999/order/otcService/getOrderInfoForHyxtMes";
+
+ private static final String GET_ORDER_INNER_URL="http://192.168.18.16:9999/order/otcService/getOrderLineForHyxtMes";
+
+ private static final Map<String, String> GET_TOKEN_HEADER=new HashMap<>(2);
+
+ private static final Map<String, Object>USER_INFO=new HashMap<>(4);
+
+ static {
+ GET_TOKEN_HEADER.put("Authorization","Basic cGlnOnBpZw==");
+ GET_TOKEN_HEADER.put("Content-Type","application/x-www-form-urlencoded");
+
+
+ USER_INFO.put("username","external_interface_hyxt_mes");
+ USER_INFO.put("password","uCc+u3iP83WhO2dAU+5HUkCgfINnKfrHXMT/lwI/1f0=");
+ USER_INFO.put("scope","server");
+ USER_INFO.put("grant_type","password");
+ }
+
+ private static String getToken(){
+ String body = HttpRequest.post(TOKEN_URL)
+ .headerMap(GET_TOKEN_HEADER, true)
+ .form(USER_INFO)//琛ㄥ崟鍐呭
+ .timeout(20000)//瓒呮椂锛屾绉�
+ .execute().body();
+ return String.valueOf(JsonUtil.jsonToPojo(body, Map.class).get("access_token"));
+ }
+
+ public static List<Map<String, Object>> getMainOrder(String time){
+ Map<String,Object> orderCondition = new HashMap<String,Object>();
+ orderCondition.put("selectTime", time);
+ String result = HttpRequest.get(GET_ORDER_MAIN_URL)
+ .header("Authorization", "Bearer " + getToken())
+ .form(orderCondition)
+ .execute().body();
+ List<Map<String, Object>>list = JsonUtil.jsonToPojo(JsonUtil.jsonToString(JsonUtil.jsonToPojo(result,Result.class).getData()),List.class);
+ return list.stream().filter(l-> Objects.equals(l.get("status"),"宸蹭笅杈�")).collect(Collectors.toList());
+ }
+
+ public static List<Map<String, Object>> getInnerOrder(String time,String orderNo){
+ Map<String,Object> orderCondition = new HashMap<String,Object>();
+ orderCondition.put("selectTime", time);
+ orderCondition.put("orderNo",orderNo);
+ String result = HttpRequest.get(GET_ORDER_INNER_URL)
+ .header("Authorization", "Bearer " + getToken())
+ .form(orderCondition)
+ .execute().body();
+ List<Map<String, Object>>list = JsonUtil.jsonToPojo(JsonUtil.jsonToString(JsonUtil.jsonToPojo(result,Result.class).getData()),List.class);
+ return list;
+ }
+}
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java b/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
index 80fb37c..572c0c4 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/controller/SaleController.java
@@ -133,5 +133,10 @@
return Result.success("瀹℃牳鎴愬姛");
}
+ @ApiOperation(value = "鍚屾")
+ @PostMapping("/synchronization")
+ public Result synchronization(){
+ return Result.success(saleService.synchronization());
+ }
}
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java b/inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
index dbe6b3c..04c7520 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/pojo/Sale.java
@@ -44,15 +44,6 @@
@ApiModelProperty(value = "瀹㈡埛鍚嶇О")
private String proname;
- @ApiModelProperty(value = "鏀惰揣鍦板潃")
- private String adress;
-
- @ApiModelProperty(value = "鑱旂郴浜�")
- private String username;
-
- @ApiModelProperty(value = "鑱旂郴鐢佃瘽")
- private String phone;
-
@ApiModelProperty(value = "涓嬪崟浜�")
private String orderName;
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java b/inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java
index 7093b4c..0765c2b 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/pojo/SaleMaterial.java
@@ -48,6 +48,15 @@
@ApiModelProperty(value = "鍗曚环")
private String price;
+ @ApiModelProperty(value = "鏀惰揣鍦板潃")
+ private String adress;
+
+ @ApiModelProperty(value = "鑱旂郴浜�")
+ private String username;
+
+ @ApiModelProperty(value = "鑱旂郴鐢佃瘽")
+ private String phone;
+
@ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true)
private Integer state;
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java b/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
index a97829f..04d32db 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleDto.java
@@ -36,21 +36,6 @@
@JsonSerialize
private String proname;
- //鏀惰揣鍦板潃
- @NotBlank(message = "鏀惰揣鍦板潃涓嶈兘涓虹┖")
- @JsonSerialize
- private String adress;
-
- //鑱旂郴浜�
- @NotBlank(message = "鑱旂郴浜轰笉鑳戒负绌�")
- @JsonSerialize
- private String username;
-
- //鑱旂郴鐢佃瘽
- @NotBlank(message = "鑱旂郴鐢佃瘽涓嶈兘涓虹┖")
- @JsonSerialize
- private String phone;
-
//涓嬪崟浜�
@JsonSerialize
@NotBlank(message = "涓嬪崟浜轰笉鑳戒负绌�")
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java b/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java
index 889fd6d..0b45e74 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/pojo/dto/SaleMaterialDto.java
@@ -32,7 +32,7 @@
private String unit;
//鏁伴噺
- @NotBlank(message = "鏁伴噺涓嶈兘涓虹┖")
+ @NotNull(message = "鏁伴噺涓嶈兘涓虹┖")
@JsonSerialize
private Integer number;
@@ -40,4 +40,19 @@
@NotBlank(message = "鍗曚环涓嶈兘涓虹┖")
@JsonSerialize
private String price;
+
+ //鏀惰揣鍦板潃
+ @NotBlank(message = "鏀惰揣鍦板潃涓嶈兘涓虹┖")
+ @JsonSerialize
+ private String adress;
+
+ //鑱旂郴浜�
+ @NotBlank(message = "鑱旂郴浜轰笉鑳戒负绌�")
+ @JsonSerialize
+ private String username;
+
+ //鑱旂郴鐢佃瘽
+ @NotBlank(message = "鑱旂郴鐢佃瘽涓嶈兘涓虹┖")
+ @JsonSerialize
+ private String phone;
}
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/service/SaleService.java b/inventory-server/src/main/java/com/yuanchu/mom/service/SaleService.java
index d583655..94453b6 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/service/SaleService.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/service/SaleService.java
@@ -77,4 +77,10 @@
* @return
*/
ConsignmentDto1 selSale(String orderNumber);
+
+ /**
+ * 鍚屾璁㈠崟
+ * @return
+ */
+ String synchronization();
}
diff --git a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
index 3e7a1d7..956c217 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
@@ -1,8 +1,10 @@
package com.yuanchu.mom.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.Task.SyncOrder;
import com.yuanchu.mom.mapper.SaleMaterialMapper;
import com.yuanchu.mom.pojo.Sale;
import com.yuanchu.mom.mapper.SaleMapper;
@@ -12,6 +14,7 @@
import com.yuanchu.mom.pojo.dto.SaleDto;
import com.yuanchu.mom.pojo.dto.SaleMaterialDto;
import com.yuanchu.mom.pojo.vo.SaleVo;
+import com.yuanchu.mom.service.SaleMaterialService;
import com.yuanchu.mom.service.SaleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.vo.Result;
@@ -36,6 +39,9 @@
@Resource
SaleMapper saleMapper;
+
+ @Resource
+ SaleMaterialService saleMaterialService;
@Resource
SaleMaterialMapper saleMaterialMapper;
@@ -113,7 +119,7 @@
List<SaleMaterialDto> saleMaterialList = saleVo.getSaleMaterialList();
// 浣跨敤鍝堝笇闆嗗悎鏉ュ垽鏂槸鍚﹀瓨鍦ㄧ浉鍚屽瓧娈靛�肩粍鍚�
Set<String> seen = new HashSet<>();
- for (SaleMaterialDto saleMaterial: saleMaterialList) {
+ for (SaleMaterialDto saleMaterial : saleMaterialList) {
String key = saleMaterial.getName() + "," + saleMaterial.getSpecifications();
if (seen.contains(key)) {
return "鍚屼竴涓骇鍝佺殑瑙勬牸鍨嬪彿涓嶈兘鐩稿悓";
@@ -176,11 +182,51 @@
.orderCode(orderNumber)
.customerCode(sale.getCode())
.proname(sale.getProname())
- .adress(sale.getAdress())
- .username(sale.getUsername())
- .phone(sale.getPhone())
+ //.adress(sale.getAdress())
+ //.username(sale.getUsername())
+ //.phone(sale.getPhone())
.messages(dto2List)
.build();
return consignmentDto1;
}
+
+ //鍚屾閿�鍞暟鎹�
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String synchronization() {
+ //鑾峰彇涓婚攢鍞暟鎹�
+ List<Map<String, Object>> order = SyncOrder.getMainOrder("2023-08-01 10:00:00 ");
+ List<Sale> list = order.stream().map(orde -> {
+ Sale sale = new Sale();
+ sale.setOrderNumber(orde.get("orderNo").toString());//璁㈠崟缂栧彿
+ sale.setCode(String.valueOf(orde.get("customerContractNumber")));//瀹㈡埛鍚堝悓缂栧彿
+ sale.setName(orde.get("projectName").toString());//宸ョ▼鍚嶇О
+ sale.setProname(orde.get("customerName").toString());//瀹㈡埛鍚嶇О
+ sale.setOrderName(orde.get("createdName").toString());//涓嬪崟浜�
+ sale.setSaleman(orde.get("salesmanName").toString());//涓氬姟鍛�
+ sale.setDelTime(DateUtil.parseDate(orde.get("wantedDeliveryDate").toString()));//浜よ揣鏃ユ湡
+ sale.setCreateTime(DateUtil.parseDate(orde.get("orderDate").toString()));//涓嬪崟鏃ユ湡
+ sale.setNote(String.valueOf(orde.get("comment")));//澶囨敞
+ return sale;
+ }).collect(Collectors.toList());
+ this.saveBatch(list);
+ for (Sale sale : list) {
+ List<Map<String, Object>> innerOrder = SyncOrder.getInnerOrder("2023-08-01 10:00:00", sale.getOrderNumber());
+ List<SaleMaterial> saleMaterials = innerOrder.stream().map(inorder -> {
+ SaleMaterial saleMaterial = new SaleMaterial();
+ saleMaterial.setName(inorder.get("productName").toString()); //浜у搧鍚嶇О
+ saleMaterial.setSpecifications(inorder.get("specificationModel").toString()); //浜у搧瑙勬牸鍨嬪彿
+ saleMaterial.setUnit(inorder.get("unit").toString()); //鍗曚綅
+ saleMaterial.setNumber((int) Double.parseDouble(inorder.get("quantity").toString())); //鏁伴噺
+ saleMaterial.setPrice(inorder.get("unitPriceInclTax").toString()); //鍗曚环
+ saleMaterial.setSaleId(sale.getId()); //鍏宠仈 閿�鍞崟id
+ saleMaterial.setAdress(String.valueOf(inorder.get("shippingAddress"))); //鏀惰揣鍦板潃
+ saleMaterial.setUsername(String.valueOf(inorder.get("receivingContact"))); //鑱旂郴浜�
+ saleMaterial.setPhone(String.valueOf(inorder.get("receivingContactPhone"))); //鎵嬫満鍙�
+ return saleMaterial;
+ }).collect(Collectors.toList());
+ saleMaterialService.saveBatch(saleMaterials);
+ }
+ return "鍚屾鎴愬姛!";
+ }
}
diff --git a/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java b/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
index e38aeea..cdc5971 100644
--- a/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
+++ b/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
@@ -4,9 +4,11 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@MapperScan("com.yuanchu.mom.mapper")// 鎵弿Mybatis涓殑mapper鍖�
+@EnableScheduling
public class SystemRunApplication {
public static void main(String[] args) {
diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
index f048138..8db80aa 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,13 +1,56 @@
package com.yuanchu.mom;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.yuanchu.mom.Task.SyncOrder;
+import com.yuanchu.mom.pojo.Sale;
+import com.yuanchu.mom.pojo.SaleMaterial;
+import com.yuanchu.mom.vo.Result;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
@SpringBootTest
class SystemRunApplicationTest {
@Test
void contextLoads() {
+ List<Map<String, Object>> order = SyncOrder.getMainOrder("2023-08-01 10:00:00 ");
+ List<Sale> list = order.stream().map(orde -> {
+ Sale sale = new Sale();
+ sale.setOrderNumber(orde.get("orderNo").toString());//璁㈠崟缂栧彿
+ sale.setCode(String.valueOf(orde.get("customerContractNumber")));//瀹㈡埛鍚堝悓缂栧彿
+ sale.setName(orde.get("projectName").toString());//宸ョ▼鍚嶇О
+ sale.setProname(orde.get("customerName").toString());//瀹㈡埛鍚嶇О
+ sale.setOrderName(orde.get("createdName").toString());//涓嬪崟浜�
+ sale.setSaleman(orde.get("salesmanName").toString());//涓氬姟鍛�
+ sale.setDelTime(DateUtil.parseDate(orde.get("wantedDeliveryDate").toString()));//浜よ揣鏃ユ湡
+ sale.setCreateTime(DateUtil.parseDate(orde.get("orderDate").toString()));//涓嬪崟鏃ユ湡
+ sale.setNote(String.valueOf(orde.get("comment")));//澶囨敞
+ return sale;
+ }).collect(Collectors.toList());
+ //System.out.println(list);
+ for (Sale sale : list) {
+ List<Map<String, Object>> innerOrder = SyncOrder.getInnerOrder("2023-08-01 10:00:00", sale.getOrderNumber());
+ List<SaleMaterial> saleMaterials = innerOrder.stream().map(inorder -> {
+ SaleMaterial saleMaterial = new SaleMaterial();
+ saleMaterial.setName(inorder.get("productName").toString()); //浜у搧鍚嶇О
+ saleMaterial.setSpecifications(inorder.get("specificationModel").toString()); //浜у搧瑙勬牸鍨嬪彿
+ saleMaterial.setUnit(inorder.get("unit").toString()); //鍗曚綅
+ saleMaterial.setNumber((int)Double.parseDouble(inorder.get("quantity").toString())); //鏁伴噺
+ saleMaterial.setPrice(inorder.get("unitPriceInclTax").toString()); //鍗曚环
+ saleMaterial.setSaleId(sale.getId()); //鍏宠仈 閿�鍞崟id
+ saleMaterial.setAdress(String.valueOf(inorder.get("shippingAddress"))); //鏀惰揣鍦板潃
+ saleMaterial.setUsername(String.valueOf(inorder.get("receivingContact"))); //鑱旂郴浜�
+ saleMaterial.setPhone(String.valueOf(inorder.get("receivingContactPhone"))); //鎵嬫満鍙�
+ return saleMaterial;
+ }).collect(Collectors.toList());
+ System.out.println(saleMaterials);
+ }
}
}
--
Gitblit v1.9.3