no message

main
HUOJIN\92525 2024-04-26 16:52:34 +08:00
parent a0f73cd299
commit 2c55aa09e6
17 changed files with 406 additions and 193 deletions

View File

@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
date = "2024-04-16T16:48:50+0800",
date = "2024-04-24T17:39:34+0800",
comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)"
)
@Component

View File

@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
date = "2024-04-16T16:48:50+0800",
date = "2024-04-24T17:39:34+0800",
comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)"
)
@Component

View File

@ -87,7 +87,7 @@ public class ItemKey extends BaseEntity implements Serializable {
private Dept dept;
@Column(name = "`order_number`")
@ApiModelProperty(value = "工单号")
@ApiModelProperty(value = "工单号")
private String orderNumber;

View File

@ -58,7 +58,7 @@ public class Task extends BaseEntity implements Serializable {
private ItemKey itemKey;
@Column(name = "`bill_code`")
@ApiModelProperty(value = "任务号")
@ApiModelProperty(value = "送货单条码号")
private String billCode;
@Column(name = "`task_type`")

View File

@ -67,7 +67,30 @@ public class KMReSController {
String containerCode = missionStateCallback.getContainerCode();//容器编号
String missionStatus = missionStateCallback.getMissionStatus();//作业当前状态
try {
//料箱任务
//料箱出库任务
if(id.indexOf("XJ")!=-1){
if(missionStatus.equals("CANCELED")){
List<AgvTask> agvTaskList= agvTaskService.findByjobCode(id);
for(AgvTask agvTask:agvTaskList){
if(!agvTask.getStatus().equals(BizStatus.FINISH)){
agvTask.setStatus(BizStatus.CANCEL);
agvTask.setEndTime(new Timestamp(new Date().getTime()));
agvTaskService.update(agvTask);
}
}
}else {
AgvTask agvTask= agvTaskService.findByjobCode(id,containerCode);
agvTaskService.agvTaskCallback(agvTask,missionStatus,containerCode);
List<Task> taskList = taskRepository.getAgvTaskList(agvTask.getId());
Task task = taskList.get(0);
if(task==null){
return new ResponseEntity<>(ApiResult.fail(BAD_REQUEST.value(), "任务不存在!", ""), BAD_REQUEST);
}
returnIssue(task);//叫料结果回传
}
}else{
//入库
AgvTaskDto agvTaskDto = agvTaskService.findById(Integer.parseInt(id));
AgvTask agvTask = agvTaskService.toEntity(agvTaskDto);//转实体
List<Task> taskList = taskRepository.getAgvTaskList(agvTask.getId());
@ -76,12 +99,9 @@ public class KMReSController {
}
Task task = taskList.get(0);
agvTaskService.agvTaskCallback(agvTask, task, missionStatus);
//回传
if (agvTask.getType().equals(BizStatus.ASN)) {
returnMo(task.getItemKey().getOrderNumber());
} else if (agvTask.getType().equals(BizStatus.PICK)) {
returnIssue(task);
returnMo(task.getBillCode());//回传MO信息
}
return new ResponseEntity<>(ApiResult.success(OK.value(), "", ""), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(ApiResult.fail(BAD_REQUEST.value(), "KMReS接口回调异常", e.getMessage()), BAD_REQUEST);

View File

@ -148,10 +148,26 @@ public interface AgvTaskService {
*/
void agvTaskCallback(AgvTask agvTask,Task task, String status);
boolean findByendSlotCode(String endSlotCode,String type,String jobType);
void agvTaskCallback(AgvTask agvTask,String status,String containerCode);
List<AgvTask> findById(List<Integer> ids);
double queryOrderNumberSum(String orderNumber);
/**
*+AGV
* @param jobForce-
* @param containerCode-
* @return
*/
AgvTask findByjobCode(String jobForce,String containerCode);
/**
*+AGV
* @param jobForce-
* @return
*/
List<AgvTask> findByjobCode(String jobForce);
}

View File

@ -21,9 +21,12 @@ import com.youchain.businessdata.service.dto.MoDto;
import com.youchain.businessdata.service.dto.OrderDto;
import com.youchain.businessdata.service.dto.OrderQueryCriteria;
import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.Async;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
/**
@ -70,6 +73,8 @@ public interface OrderService {
*/
OrderDto findByBarcodeNumber(String barcodeNumber);
Map<String, Order> findByBarcodeNumbers(Set barcodeNumbers);
/**
*
* @param resources /
@ -77,6 +82,16 @@ public interface OrderService {
*/
OrderDto create(Order resources);
/**
*
* @param orders
*/
@Async
void batchCreateOrders(List<Order> orders);
@Async
void batchUpdateOrders(List<Order> orders);
/**
*
* @param resources /

View File

@ -37,6 +37,10 @@ public class MoQueryCriteria{
@Query(type = Query.Type.INNER_LIKE)
private String labelNo;
/** 工单编号 */
@Query(type = Query.Type.INNER_LIKE)
private String workOrderName;
@Query(joinName = "item", propName="code",type = Query.Type.INNER_LIKE)
private long itemCode;

View File

@ -18,10 +18,12 @@ package com.youchain.businessdata.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.youchain.basicdata.domain.Box;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.repository.StockRepository;
import com.youchain.basicdata.service.PointService;
import com.youchain.basicdata.service.impl.BoxServiceImpl;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.repository.AsnDetailRepository;
import com.youchain.businessdata.repository.TaskRepository;
@ -461,11 +463,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
@Override
public void agvTaskCallback(AgvTask agvTask, Task task, String status) {
if (status.equals("ARRIVED")) {
} else if (status.equals("UP_CONTAINER")) {
} else if (status.equals("COMPLETED")) {
if (status.equals("COMPLETED")) {
//入库
if (agvTask.getType().equals(BizStatus.ASN)) {
//增加库存
@ -489,15 +487,6 @@ public class AgvTaskServiceImpl implements AgvTaskService {
inventory.setQuantity(task.getPlanQty());
inventoryService.update(inventory);
inventoryLogService.storeInventoryLog(BizStatus.RECEIVING_UP, BizStatus.ADD, null, task.getItemKey(), task.getSrcPoint(), task.getDstPoint(), task.getSrcStock(), task.getSrcStock(), task.getPlanQty(), task.getPlanQty(), BizStatus.ASN, ad.getId(), inventory.getId(), ad.getRemark());
} else if (agvTask.getType().equals(BizStatus.PICK)) {
//出库
//扣除库存
try {
taskService.pickConfirm(task.getId(), task.getPlanQty());
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
//回传
}
//任务完成
agvTask.setStatus(BizStatus.FINISH);
@ -512,15 +501,27 @@ public class AgvTaskServiceImpl implements AgvTaskService {
}
@Override
public boolean findByendSlotCode(String endSlotCode, String type, String jobType) {
String hql = " from AgvTask agv " + " where agv.endSlotCode='" + endSlotCode + "' " + " and agv.type='" + type + "' " + " and agv.jobType='" + jobType + "' " + " and agv.status in ('ATCALL','UP_CONTAINER') ";
public void agvTaskCallback(AgvTask agvTask, String status, String containerCode) {
if (status.equals("PICKER_RECEIVE")) {
//小件AGV把料箱放到料箱车上扣减库存
List<Task> taskList = taskRepository.getAgvTaskList(agvTask.getId());
//扣除库存
for (Task task : taskList) {
try {
taskService.pickConfirm(task.getId(), task.getPlanQty());
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
agvTask.setStatus(BizStatus.FINISH);
agvTask.setEndTime(new Timestamp(new Date().getTime()));
this.update(agvTask);
Query query = entityMapper.createQuery(hql);
List<AgvTask> agvTaskList = query.getResultList();
if (agvTaskList.size() > 0) {
return false;
}
return true;
}
@Override
@ -535,7 +536,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
@Override
public double queryOrderNumberSum(String orderNumber) {
String hql = "select sum(task.moveQty) from Task task where task.itemKey.orderNumber= :orderNumber";
String hql = "select sum(task.moveQty) from Task task where task.billCode= :orderNumber";
Query query = entityMapper.createQuery(hql);
query.setParameter("orderNumber", orderNumber);
List<Double> orderNumberSumList = query.getResultList();
@ -546,4 +547,26 @@ public class AgvTaskServiceImpl implements AgvTaskService {
}
@Override
public AgvTask findByjobCode(String jobForce, String containerCode) {
String hql = " from AgvTask agv where agv.jobForce= :jobForce and agv.stockCode= :containerCode";
Query query = entityMapper.createQuery(hql);
query.setParameter("jobForce", jobForce);
query.setParameter("containerCode", containerCode);
List<AgvTask> agvTaskList = query.getResultList();
if (agvTaskList.size() > 0) {
return agvTaskList.get(0);
}
return null;
}
@Override
public List<AgvTask> findByjobCode(String jobForce) {
String hql = " from AgvTask agv where agv.jobForce= :jobForce";
Query query = entityMapper.createQuery(hql);
query.setParameter("jobForce", jobForce);
List<AgvTask> agvTaskList = query.getResultList();
return agvTaskList;
}
}

View File

@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@ -100,7 +101,6 @@ public class MlsServiceImpl implements MlsService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void getOrderInfo(String resultJson) {
if (StringUtils.isEmpty(resultJson)) {
throw new RuntimeException("获取送货单接口失败!");
@ -127,10 +127,48 @@ public class MlsServiceImpl implements MlsService {
if (details == null || details.size() == 0) {
throw new RuntimeException("没有获取到送货单数据!");
}
List<Order> ordersToCreate = new ArrayList<>();//新增订单集合
List<Order> ordersToUpdate = new ArrayList<>();//更新订单集合
//获取所有送货单条码号
Set<String> barcodeNumbers = details.stream()
.map(detail -> ((JSONObject) detail).getString("barcodeNumber"))
.collect(Collectors.toSet());
//获取已存在的订单
Map<String, Order> existingOrders = orderService.findByBarcodeNumbers(barcodeNumbers);
//循环处理每个送货单
log.info("送货单数量:" + details.size());
for (int i = 0; i < details.size(); i++) {
JSONObject detail = details.getJSONObject(i);
String barcodeNumber = detail.getString("barcodeNumber");
//判断是否已存在订单
if (existingOrders.containsKey(barcodeNumber)) {
Order existingOrder = existingOrders.get(barcodeNumber);
//更新订单信息
ordersToUpdate.add(updateOrder(existingOrder, detail));
} else {
//新增订单
ordersToCreate.add(createOrder(detail));
}
}
//批量新增订单
if (!ordersToCreate.isEmpty()) {
orderService.batchCreateOrders(ordersToCreate);
}
//批量更新订单
if (!ordersToUpdate.isEmpty()) {
orderService.batchUpdateOrders(ordersToUpdate);
}
}
/**
*
*
* @param detail
* @return
*/
private Order createOrder(JSONObject detail) {
String barcodeNumber = detail.getString("barcodeNumber");//送货单条码号
String isCreatedLabel = detail.getString("isCreatedLabel");//是否已生成标签N
String itemCode = detail.getString("itemCode");//物料编码
@ -144,21 +182,18 @@ public class MlsServiceImpl implements MlsService {
String receivedAreaCode = detail.getString("receivedAreaCode");//LMES接收货区编码
String supplierName = detail.getString("supplierName");//供应商名称
String isIqcInspected = detail.getString("isIqcInspected");//Y-已检验N-未检验
Double deliveryQty = detail.getDouble("deliveryQty");//计划数量
Double deliveryQty = detail.getDouble("deliveryQty") == null ? 0 : detail.getDouble("deliveryQty");//计划数量
//String deliveryType=detail.getString("deliveryType");//文档没有该字段
String receivedLocationCode = detail.getString("receivedLocationCode");//LMES货位编码
String mlsUpdateTime = detail.getString("updateTime");//更新时间
String receivedInvName = detail.getString("receivedInvName");//LMES接收子库名称
Double receivedQty = detail.getDouble("receivedQty");//实际接收数量
Double receivedQty = detail.getDouble("receivedQty") == null ? 0 : detail.getDouble("receivedQty");//实际接收数量
//Integer deliveryLineId = detail.getInteger("deliveryLineId");//送货单行ID
String inInspector = detail.getString("inInspector");//检验员
Integer deliveryHeaderId = detail.getInteger("deliveryHeaderId");//送货单头ID和003接口关联
String receivedAreaName = detail.getString("receivedAreaName");//mls接收货区名称
String deliveryStatus = detail.getString("deliveryStatus");//送货单状态
//直接接收已合格的送货单
OrderDto orderdto = orderService.findByBarcodeNumber(barcodeNumber);
if (orderdto == null) {
//创建
Order newOrder = new Order(deliveryHeaderId, null, null,
deliveryNumber, barcodeNumber, deliveryStatus, receivedInvCode, receivedInvName,
@ -166,36 +201,19 @@ public class MlsServiceImpl implements MlsService {
itemCode, deliveryQty, inInspector, receivedQty, isIqcInspected, iqcResult, isCreatedLabel,
supplierCode, supplierName, mlsUpdateTime == null ? null : DateUtil.parse(mlsUpdateTime).toTimestamp()
);
orderService.create(newOrder);
} else {
//更新
Order order = orderService.toEntity(orderdto);
order.setDeliveryHeaderId(deliveryHeaderId);
order.setDeliveryNumber(deliveryNumber);
order.setDeliveryStatus(deliveryStatus);
order.setReceivedInvCode(receivedInvCode);
order.setReceivedInvName(receivedInvName);
order.setReceivedAreaCode(receivedAreaCode);
order.setReceivedAreaName(receivedAreaName);
order.setReceivedLocationCode(receivedLocationCode);
order.setReceivedLocationName(receivedLocationName);
order.setItemCode(itemCode);
order.setDeliveryQty(deliveryQty);
order.setInInspector(inInspector);
order.setReceivedQty(receivedQty);
order.setIsIqcInspected(isIqcInspected);
order.setIqcResult(iqcResult);
order.setIsCreatedLabel(isCreatedLabel);
order.setSupplierCode(supplierCode);
order.setSupplierName(supplierName);
order.setMlsUpdateTime(mlsUpdateTime == null ? null : DateUtil.parse(mlsUpdateTime).toTimestamp());
orderService.update(order);
return newOrder;
}
}
/**
*
*
* @param order
* @param detail
*/
private Order updateOrder(Order order, JSONObject detail) {
order.setDeliveryStatus(detail.getString("deliveryStatus"));
return order;
}
/**
@ -248,7 +266,6 @@ public class MlsServiceImpl implements MlsService {
throw new RuntimeException("没有获取到MO票数据!");
}
//循环处理每个MO票
log.info("MO票数量" + details.size());
for (int i = 0; i < details.size(); i++) {
JSONObject detail = details.getJSONObject(i);
Integer selfWorkOrderId = detail.getInteger("selfWorkOrderId");//自制件工单id
@ -268,7 +285,7 @@ public class MlsServiceImpl implements MlsService {
Long itemId = detail.getLong("itemId");//物料id
String updateUserCode = detail.getString("updateUserCode");//修改人
String mlsCreateTime = detail.getString("createTime");//创建时间
Double qty = detail.getDouble("qty");//可用数量
Double qty = detail.getDouble("qty") == null ? 0 : detail.getDouble("qty");//可用数量
String labelState = detail.getString("labelState");//标签状态
Integer deliveryHeaderId = detail.getInteger("deliveryHeaderId");//送货单头ID通过该字段能找到002接口送货单
String workOrderName = detail.getString("workOrderName");//工单编号
@ -276,7 +293,7 @@ public class MlsServiceImpl implements MlsService {
String goodsLocationCode = detail.getString("goodsLocationCode");//MLS货位
String invCode = detail.getString("invCode");//MLS子库
if ("PRINTED".equals(labelState)) {
//判断物料是否存在;不存在新增;
ItemDto itemDto = itemService.findByCode(itemCode);
Item item = itemService.toEntity(itemDto);
@ -326,6 +343,8 @@ public class MlsServiceImpl implements MlsService {
mo.setUpdateUserCode(updateUserCode);
moService.update(mo);
}
}
}
}
@ -333,7 +352,7 @@ public class MlsServiceImpl implements MlsService {
@Override
@Transactional(rollbackFor = Exception.class)
public void getIssueInfo(IssueInfo issueInfo) {
String taskNumber=issueInfo.getTaskNumber();//任务号
String taskNumber = issueInfo.getTaskNumber();//任务号
// 指定Set的类型
Set<String> workOrderNameSet = issueInfo.getWorkOrderName();
if (workOrderNameSet.isEmpty()) {

View File

@ -239,16 +239,16 @@ public class MoServiceImpl implements MoService {
// 生成入库任务
AsnDetail asnDetail = asnDetailService.createAsnDetail(item, stock, srcPoint, propC1, orderDto.getBarcodeNumber());
AsnDetail asnDetail = asnDetailService.createAsnDetail(item, stock, srcPoint, propC1, moDto.getWorkOrderName());
asnDetail.setOrderQty(moDto.getQty());
asnDetail.setPo(orderDto.getBarcodeNumber());
asnDetail.setPo(moDto.getWorkOrderName());
asnDetailService.create(asnDetail);
//生成Itemkey
ItemKey itemKey = itemKeyService.getItemKey(item, moDto.getLabelNo(), orderDto.getBarcodeNumber());
ItemKey itemKey = itemKeyService.getItemKey(item, moDto.getLabelNo(), moDto.getWorkOrderName());
//生成收货记录
Task task = new Task(item, itemKey, asnDetail.getOrderNumber(), BizStatus.ASN, asnDetail, null, null, null, stock, stock, srcPoint, endPoint, stock.getCode(), stock.getCode(), srcPoint.getCode(), endPoint.getCode(), null, BizStatus.OPEN, asnDetail.getOrderQty(), null, null, item.getDept(), agvTask);
Task task = new Task(item, itemKey, orderDto.getBarcodeNumber(), BizStatus.ASN, asnDetail, null, null, null, stock, stock, srcPoint, endPoint, stock.getCode(), stock.getCode(), srcPoint.getCode(), endPoint.getCode(), null, BizStatus.OPEN, asnDetail.getOrderQty(), null, null, item.getDept(), agvTask);
taskService.create(task);
}

View File

@ -34,14 +34,11 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.io.IOException;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @author huojin
@ -105,12 +102,58 @@ public class OrderServiceImpl implements OrderService {
}
@Override
public Map<String, Order> findByBarcodeNumbers(Set barcodeNumbers) {
Map<String, Order> result = new HashMap<>();
String hql = "from Order o where o.barcodeNumber in (:barcodeNumbers)";
Query query = entityManager.createQuery(hql); // 这里的query是org.hibernate.query.Query
query.setParameter("barcodeNumbers", barcodeNumbers);
List<Order> orders = query.getResultList();
if (orders.size() > 0) {
for (Order order : orders) {
result.put(order.getBarcodeNumber(), order);
}
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public OrderDto create(Order resources) {
return orderMapper.toDto(orderRepository.save(resources));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchCreateOrders(List<Order> orders) {
int batchSize = 50; // 根据需求调整批处理大小
for (int i = 0; i < orders.size(); i++) {
entityManager.persist(orders.get(i));
if (i % batchSize == 0 && i > 0) {
entityManager.flush(); // 批量提交
entityManager.clear(); // 清理缓存
}
}
entityManager.flush(); // 最后确保所有剩余的实体也被flush到数据库
entityManager.clear();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchUpdateOrders(List<Order> orders) {
int batchSize = 100; // 根据需求调整批处理大小
for (int i = 0; i < orders.size(); i++) {
Order order = orders.get(i);
entityManager.merge(order); // 更新实体
if (i % batchSize == 0 && i > 0) { // 每处理50个实体执行一次flush和clear
entityManager.flush();
entityManager.clear();
}
}
entityManager.flush(); // 确保最后的更改也被写入数据库
entityManager.clear(); // 清理持久化上下文以释放内存
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(Order resources) {

View File

@ -163,9 +163,6 @@ public class TaskServiceImpl implements TaskService {
taskRepository.save(task);
Inventory inv = inventoryRepository.findById(task.getInvId()).get();
if (inv != null) {
ItemKey itemKey = inv.getItemKey();
Item item = itemKey.getItem();
Dept dept = item.getDept();
double srcQty=inv.getQuantity();
inv.setQuantity(inv.getQuantity() - pickedQuantity);
inv.setQueuedQty(inv.getQueuedQty() - pickedQuantity);

View File

@ -0,0 +1,14 @@
package com.youchain.modules.quartz.task;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
*
*/
@Slf4j
@Service
public class asnTask {
public void asnTask() {
log.info("asnTask start");
}
}

View File

@ -0,0 +1,54 @@
package com.youchain.modules.quartz.task;
import com.youchain.businessdata.inputJson.MoInfo;
import com.youchain.businessdata.inputJson.MoParams;
import com.youchain.businessdata.rest.MlsController;
import com.youchain.businessdata.service.MlsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
/**
* mo
*/
@Slf4j
@Service
public class moTask {
@Autowired
public MlsService mlsService;
public void moTask() {
try {
log.info("获取mo信息");
MoInfo moInfo = getMoInfo();
String moJson = mlsService.getMoJson(moInfo);
mlsService.getMoInfo(moJson);
} catch (Exception e) {
throw new RuntimeException("MLS异常信息:" + e);
}
}
public MoInfo getMoInfo() {
MoParams params = new MoParams();
params.setOrgId(808);
Set invCodes = new HashSet<>();
invCodes.add("MA2111");
params.setInvCodes(invCodes);
//DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss")
params.setStartTime("2024-04-11 00:00:00");
params.setEndTime("2024-04-11 23:59:59");
MoInfo moInfo = new MoInfo();
moInfo.setIfaceCode("MLS-WQ-003");
moInfo.setSourceSystem("WQ");
moInfo.setParams(params);
return moInfo;
}
}

View File

@ -1,17 +1,27 @@
package com.youchain.modules.quartz.task;
import cn.hutool.core.date.DateUtil;
import com.youchain.annotation.Log;
import com.youchain.businessdata.domain.Task;
import com.youchain.businessdata.inputJson.OrderInfo;
import com.youchain.businessdata.inputJson.OrderParams;
import com.youchain.businessdata.inputJson.ReturnIssueInfo;
import com.youchain.businessdata.inputJson.ReturnIssueInfoParams;
import com.youchain.businessdata.rest.MlsController;
import com.youchain.businessdata.service.MlsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
*
@ -21,37 +31,35 @@ import java.util.Set;
@Service
public class orderTask {
private final MlsController mlsController;
@Autowired
public orderTask(MlsController mlsController) {
this.mlsController = mlsController;
}
public MlsService mlsService;
public void orderTask() {
OrderInfo orderInfo = getOrderInfo();
String orderJson = mlsService.getOrderJson(orderInfo);
mlsService.getOrderInfo(orderJson);
}
Date date = new Date();
public OrderInfo getOrderInfo() {
OrderParams params = new OrderParams();
params.setOrgId(808);
Set invCodes = new HashSet<>();
invCodes.add("MA2111");
params.setInvCodes(invCodes);
params.setIqcResult("");
//DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss")
params.setStartTime("2024-04-10 00:00:00");
params.setEndTime("2024-04-10 23:59:59");
params.setPageNo(1);
params.setPageSize(100);
OrderInfo orderInfo = new OrderInfo();
orderInfo.setIfaceCode("MLS-WQ-002");
orderInfo.setSourceSystem("WQ");
Set invCodes = new HashSet<>();
invCodes.add("MA2111");
String startTime = DateUtil.format(DateUtil.beginOfDay(date), "yyyy-MM-dd HH:mm:ss");
String endTime = DateUtil.format(DateUtil.endOfDay(date), "yyyy-MM-dd HH:mm:ss");
OrderParams params = new OrderParams(100059, invCodes, "", startTime, endTime, 1, 100);
orderInfo.setParams(params);
try {
log.info("获取送货单信息");
mlsController.getOrderInfo(orderInfo);
} catch (Exception e) {
throw new RuntimeException("MLS异常信息:" + e);
}
return orderInfo;
}
}

View File

@ -1,5 +1,5 @@
server:
port: 8000
port: 8010
spring:
main:
allow-circular-references: true
@ -29,7 +29,7 @@ spring:
redis:
#数据库索引
database: ${REDIS_DB:0}
database: ${REDIS_DB:9}
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}