Browse Source

Merge remote-tracking branch 'origin/dev' into dev

training
0.0 2 years ago
parent
commit
42b36b8d63
  1. 4
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java
  2. 41
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java
  3. 114
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java
  4. 225
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  5. 31
      blade-service/logpm-factory/src/test/java/com/logpm/factory/excel/JpDataMode.java

4
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOuPaiFactoryService.java

@ -11,4 +11,8 @@ public interface IOuPaiFactoryService {
String saveOuPaiFactoryOrderDTOByCarCarNumber(String carNumber);
String saveOuPaiPackageStatusByCode(String orderCode,Integer event);
String saveOuPaiOutGoingOrderByCode(String orderCode, Integer event);
}

41
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryDataServiceImpl.java

@ -5,6 +5,8 @@ import com.logpm.factory.oupai.service.IOuPaiFactoryService;
import com.logpm.factory.oupai.vo.OuPaiDataPushVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
@Service
@ -20,20 +22,33 @@ public class OuPaiFactoryDataServiceImpl implements IOuPaiFactoryDataService {
@Override
public String saveData(OuPaiDataPushVO ouPaiDataPushVO) {
// 需要判断 这个里面的事件是否为
if(ouPaiDataPushVO.getEvent()==3 && "ReceivingOrder".equals(ouPaiDataPushVO.getTypeName())){
Integer event = ouPaiDataPushVO.getEvent();
String typeName = ouPaiDataPushVO.getTypeName();
String orderCode = ouPaiDataPushVO.getOrderCode();
String code = null;
if(StringUtil.isBlank(typeName)){
log.info("#############saveData: 事件类型为空 typeName={}",typeName);
throw new CustomerException(403,"事件类型为空");
}
if(event == 0){
//收货单开始收货
}else if(event == 1){
//收货单完成收货
}else if(event == 2){
//包件收货
code = ouPaiFactoryService.saveOuPaiPackageStatusByCode(orderCode,event);
}else if(event == 3){
// 收货单创建
// 获取需要处理的数据并存入数据库
String carNum =ouPaiFactoryService.saveOuPaiFactoryOrderDTOByCarCarNumber(ouPaiDataPushVO.getOrderCode());
// 将需要将数据
return carNum;
code = ouPaiFactoryService.saveOuPaiFactoryOrderDTOByCarCarNumber(orderCode);
}else if(event == 4){
//配送单发运
code = ouPaiFactoryService.saveOuPaiOutGoingOrderByCode(orderCode,event);
}else if(event == 5){
//签收单签收
}else if(event == 6){
//签收单部分签收
}
return ouPaiDataPushVO.getOrderCode();
return code;
}
}

114
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java

@ -50,6 +50,118 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
}
@Override
public String saveOuPaiPackageStatusByCode(String orderCode,Integer event) {
//
String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/Package?$filter=Code eq '"+orderCode+"'&select=Code,PdaNumber," +
"FirstClassCode,FirstClassName,SecondClassCode,SecondClassName,ThirdClassCode,ThirdClassName,BuyIn,CosourcingCode," +
"CosourcingUnit,SortingCenter,DistributionCenter,Length,Width,Height,Weight,OrderDetail,Order," +
"PathIndex,PathDetail,DeliveryOrders,ReceivingOrders,LPN,LpnSerialNum,IsEntruck,ReservationOrder," +
"OutGoingOrderDetail,SignBill,IsInventory,Inventories,InventoryInDetails,Freeze," +
"OutGoingOrderDetailInventoryDetail,From,Creator,CreateTime,ShipTime,CarNumber,DeliveryMethod," +
"DeliveryReceiver,DeliveryReceiverPhone,ReturnNumber,GroupType,CarrierCode,CarrierName,PackageDetailNames," +
"ReceivingTime,SendTime,ExceptionSignRemark,Descript,SignTime,OutOrder,IsReceiveByHand,PackageStatus,PackageDetailNames";
handlePackageData(url,event);
return orderCode;
}
@Override
public String saveOuPaiOutGoingOrderByCode(String orderCode, Integer event) {
//
String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/OutGoingOrder?$filter=Code eq 'PS20230802-6'" +
"&$select=Code,Status,Truck,DriverPhone,Platform,DeliveryDate,Creator,CreateTime,IsAdjust,SendTime," +
"Customers,Volume" +
"&$expand=Warehouse($select=Code,Name)" +
"&$expand=Truck($select=Plate,Type)" +
"&$expand=Driver($select=Contact,Phone)" +
"&$expand=ExpressCompany($select=CompanyName,CompanyCode)" +
"&$expand=OutGoingOrderDetails($select=Customer,IsPickUp,CustomerPhone,Province,City,CustomerAddress," +
"InstallationDate,DeliveryDate,ActualDeliveryDate,TimeFrame,Remark,CarrierRemark,Creator,CreateTime;" +
"$expand=Packages($select=Code,PdaNumber,FirstClassCode,FirstClassName,SecondClassCode,SecondClassName," +
"ThirdClassCode,ThirdClassName,BuyIn,CosourcingCode,CosourcingUnit,SortingCenter,DistributionCenter," +
"Length,Width,Height,Weight,OrderDetail,Order,PathIndex,PathDetail,DeliveryOrders,ReceivingOrders," +
"LPN,LpnSerialNum,IsEntruck,ReservationOrder,OutGoingOrderDetail,SignBill,IsInventory,Inventories," +
"InventoryInDetails,Freeze,OutGoingOrderDetailInventoryDetail,From,Creator,CreateTime," +
"ShipTime,CarNumber,DeliveryMethod,DeliveryReceiver,DeliveryReceiverPhone,ReturnNumber,GroupType," +
"CarrierCode,CarrierName,PackageDetailNames,ReceivingTime,SendTime,ExceptionSignRemark,Descript," +
"SignTime,OutOrder,IsReceiveByHand,PackageStatus,PackageDetailNames);" +
"$expand=OutGoingOrderDetailInventoryDetails($select=SendQty;" +
"$expand=ReservationOrderInventoryDetail($select=Qty;$expand=Inventory($select=SerialNumber,BatchCode," +
"Code,Name,Unit,Qty,HoldQty,SelectedQty,Location))))";
handleOutGoingOrderData(url,event);
return orderCode;
}
private void handleOutGoingOrderData(String url, Integer event) {
OpOrderStatusLogEntity opOrderStatusLogEntity = sendRequestData(url,event);
// 保存需要解析的数据
// 获取返回内容
try {
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs());
JSONArray resultArray = jsonObject.getJSONArray("value");
log.info("############handlePackageData: 数据处理开始");
//TODO 这里需要添加处理配送发运单的逻辑
opOrderStatusLogEntity.setDataStatus(1);
} catch (Exception e) {
e.printStackTrace();
log.error("############handlePackageData: {}", e.getMessage());
opOrderStatusLogEntity.setDataStatus(2);
}
opOrderStatusLogService.saveOrUpdate(opOrderStatusLogEntity);
}
private void handlePackageData(String url,Integer event) {
OpOrderStatusLogEntity opOrderStatusLogEntity = sendRequestData(url,event);
// 保存需要解析的数据
// 获取返回内容
try {
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs());
JSONArray resultArray = jsonObject.getJSONArray("value");
log.info("############handlePackageData: 数据处理开始");
//TODO 这里需要添加处理包件状态的逻辑
opOrderStatusLogEntity.setDataStatus(1);
} catch (Exception e) {
e.printStackTrace();
log.error("############handlePackageData: {}", e.getMessage());
opOrderStatusLogEntity.setDataStatus(2);
}
opOrderStatusLogService.saveOrUpdate(opOrderStatusLogEntity);
}
private OpOrderStatusLogEntity sendRequestData(String url, Integer event) {
log.info("#################sendRequestData: 请求地址 url={}", url);
String token = buildToken();
// log.info(">>> Authorization token {}",token);
HttpResponse httpResponse = HttpRequest.get(url).header("Authorization", token).execute();
String result = httpResponse.body();
log.info("#################sendRequestData: 返回数据 result={}", result);
OpOrderStatusLogEntity orderStatusLog = new OpOrderStatusLogEntity();
orderStatusLog.setArgs(result);
orderStatusLog.setStatus(1);
orderStatusLog.setType(event);
orderStatusLog.setDataStatus(0);
orderStatusLog.setBrand("欧派");
opOrderStatusLogService.save(orderStatusLog);
return orderStatusLog;
}
/**
* 处理返回的JSON数据
*
@ -401,7 +513,7 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
OpOrderStatusLogEntity orderStatusLog = new OpOrderStatusLogEntity();
orderStatusLog.setArgs(result);
orderStatusLog.setStatus(1);
orderStatusLog.setType(1);
orderStatusLog.setType(3);
orderStatusLog.setDataStatus(0);
orderStatusLog.setBrand("欧派");
opOrderStatusLogService.save(orderStatusLog);

225
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1,96 +1,129 @@
package com.logpm.factory;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.alibaba.excel.metadata.Sheet;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.logpm.factory.comfac.controller.FactoryCommonController;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.excel.ExcelMode;
import com.logpm.factory.mt.entity.MtFactoryOrderMain;
import com.logpm.factory.mt.entity.MtPushData;
import com.logpm.factory.mt.service.IMtFactoryDataService;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.mt.service.IMtPushDataService;
import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl;
import com.logpm.factory.oupai.service.IOuPaiFactoryService;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import com.logpm.oldproject.entity.AdvanceDetailEntity;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import com.rabbitmq.client.Channel;
import lombok.Data;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.api.ResultCode;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ExtendWith(BladeSpringExtension.class)
@BladeBootTest(appName = "logpm-factory-pref", enableLoader = true)
public class TestService {
// @Autowired
// private IOuPaiFactoryService ouPaiFactoryService;
//
//
//
public void test2() {
// ouPaiFactoryService.findOuPaiFactoryOrderDTOByCarCarNumber("LCD230505047");
// 获取Excle
Sheet sheet = new Sheet(1, 1, ExcelMode.class);
try {
List<Object> readList = EasyExcelFactory.read(new FileInputStream("f://order_status_log.xlsx"), sheet);
List<ExcelMode> list = new ArrayList<ExcelMode>();
for (Object obj : readList) {
ExcelMode t = (ExcelMode) obj;
JSONObject json = JSONObject.parseObject(t.getArgs());
System.out.println(json.getString("unitNo"));
//HttpResponse execute = HttpUtil.createPost("http://h5u.huitongys.com/api/logpm-factory/factory/common/sendOrderStatus").body(t.getArgs()).execute();
//System.out.println(execute.body());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
//package com.logpm.factory;
//
//import cn.hutool.http.HttpResponse;
//import cn.hutool.http.HttpUtil;
//import com.alibaba.excel.EasyExcel;
//import com.alibaba.excel.EasyExcelFactory;
//import com.alibaba.excel.annotation.ExcelProperty;
//import com.alibaba.excel.metadata.BaseRowModel;
//import com.alibaba.excel.metadata.Sheet;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
//import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.logpm.factory.comfac.controller.FactoryCommonController;
//import com.logpm.factory.comfac.dto.UnloadCarDTO;
//import com.logpm.factory.excel.ExcelMode;
//import com.logpm.factory.excel.JpDataMode;
//import com.logpm.factory.mt.entity.MtFactoryOrderMain;
//import com.logpm.factory.mt.entity.MtPushData;
//import com.logpm.factory.mt.service.IMtFactoryDataService;
//import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
//import com.logpm.factory.mt.service.IMtPushDataService;
//import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl;
//import com.logpm.factory.oupai.service.IOuPaiFactoryService;
//import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
//import com.logpm.oldproject.entity.AdvanceDetailEntity;
//import com.logpm.oldproject.feign.IAdvanceDetailClient;
//import com.rabbitmq.client.Channel;
//import lombok.Data;
//import org.junit.jupiter.api.Test;
//import org.junit.jupiter.api.extension.ExtendWith;
//import org.springblade.core.test.BladeBootTest;
//import org.springblade.core.test.BladeSpringExtension;
//import org.springblade.core.tool.api.R;
//import org.springblade.core.tool.api.ResultCode;
//import org.springblade.core.tool.utils.StringUtil;
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.io.*;
//import java.security.NoSuchAlgorithmException;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.*;
//import java.util.stream.Collectors;
//
//@ExtendWith(BladeSpringExtension.class)
//@BladeBootTest(appName = "logpm-factory-pref", enableLoader = true)
//public class TestService {
//
//
//// @Autowired
//// private IOuPaiFactoryService ouPaiFactoryService;
////
////
////
//
//
// @Test
// public void test2() {
//// ouPaiFactoryService.findOuPaiFactoryOrderDTOByCarCarNumber("LCD230505047");
//
// // 获取Excle
//
// try {
//
// File file = new File("F://response.json");
//
// BufferedReader reader = new BufferedReader(new FileReader(file));
//
// StringBuffer sb = new StringBuffer();
//
// while (true) {
// String ms = reader.readLine();
// if (StringUtil.isBlank(ms)) {
// break;
// }
// sb.append(ms);
// }
// JSONObject object = JSONObject.parseObject(sb.toString());
//
// JSONArray jsonArray = object.getJSONArray("rows");
//
// List<JpDataMode> ls = new ArrayList<>();
// for (int i = 0; i < jsonArray.size(); i++) {
// JpDataMode jpDataMode = new JpDataMode();
// JSONObject t = jsonArray.getJSONObject(i);
// String yjOrderNo =t.getString("yjOrderNo");
// String omsExtYsId =t.getString("omsExtYsId");
// String sendTime =t.getString("sendTime");
// String goodsNumber =t.getString("goodsNumber");
// String scanedNum =t.getString("scanedNum");
// String handedNum =t.getString("handedNum");
//
//
// jpDataMode.setOmsExtYsId(omsExtYsId);
// jpDataMode.setOrderId(yjOrderNo);
// jpDataMode.setGoodsNumber(goodsNumber);
// jpDataMode.setSendTime(sendTime);
// jpDataMode.setScanedNum(scanedNum);
// jpDataMode.setHandedNum(handedNum);
//
//
// ls.add(jpDataMode);
// }
//
//
//
//
// EasyExcel.write("F:\\11.xlsx").sheet("sheet1").doWrite(ls);
//
//
//
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
//
//
// }
//
//
//}
//

31
blade-service/logpm-factory/src/test/java/com/logpm/factory/excel/JpDataMode.java

@ -0,0 +1,31 @@
package com.logpm.factory.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.Data;
@Data
public class JpDataMode extends BaseRowModel {
@ExcelProperty("DD单号")
private String orderId;
@ExcelProperty("YS单号")
private String omsExtYsId;
@ExcelProperty("发车时间")
private String sendTime;
@ExcelProperty("总件数")
private String goodsNumber;
@ExcelProperty("扫码入库数")
private String scanedNum;
@ExcelProperty("手动入库件数")
private String handedNum;
}
Loading…
Cancel
Save