no message

main
HUOJIN\92525 2024-04-28 16:27:16 +08:00
parent 93878a2ee0
commit 15317f5e1e
17 changed files with 145 additions and 95 deletions

View File

@ -34,6 +34,7 @@ public interface LogService {
/**
*
*
* @param criteria
* @param pageable
* @return /
@ -42,6 +43,7 @@ public interface LogService {
/**
*
*
* @param criteria
* @return /
*/
@ -49,6 +51,7 @@ public interface LogService {
/**
*
*
* @param criteria
* @param pageable
* @return -
@ -57,6 +60,7 @@ public interface LogService {
/**
*
*
* @param username
* @param browser
* @param ip IP
@ -64,12 +68,17 @@ public interface LogService {
* @param log
*/
@Async
void save(String url,String returnValue,String username, String browser, String ip, JoinPoint joinPoint, Log log);
void save(String url, String returnValue, String username, String browser, String ip, JoinPoint joinPoint, Log log);
@Async
void saveLog(Log log);
@Async
void saveLogInfo(Object object, String url, String resultJson, String description, long time);
/**
*
*
* @param id ID
* @return Object
*/
@ -77,6 +86,7 @@ public interface LogService {
/**
*
*
* @param logs
* @param response /
* @throws IOException /

View File

@ -19,6 +19,7 @@ import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.youchain.domain.Log;
import com.youchain.repository.LogRepository;
import com.youchain.service.LogService;
@ -43,6 +44,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.sql.Timestamp;
import java.util.*;
/**
@ -120,6 +122,25 @@ public class LogServiceImpl implements LogService {
logRepository.save(log_data);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveLogInfo(Object object,String url, String resultJson, String description, long time) {
// 设置日志信息
Log log_data = new Log();
log_data.setDescription(description);
log_data.setLogType("INFO");
log_data.setMethod(url);
log_data.setParams(JSON.toJSONString(object));
log_data.setReturnData(resultJson);
log_data.setRequestIp("127.0.0.1");
log_data.setTime(time);
log_data.setUsername("admin");
log_data.setAddress("内网IP");
log_data.setBrowser("Chrome 123");
log_data.setCreateTime(new Timestamp(new Date().getTime()));
logRepository.save(log_data);
}
/**
*
*/

View File

@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
date = "2024-04-24T17:39:34+0800",
date = "2024-04-28T13:35:56+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-24T17:39:34+0800",
date = "2024-04-28T13:35:56+0800",
comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)"
)
@Component

View File

@ -17,13 +17,6 @@ public class MoInfo {
@Schema(example = "WQ")
String sourceSystem;
@ApiModelProperty(value = "当前页码")
@Schema(example = "1")
int pageNo;
@ApiModelProperty(value = "每页记录数")
@Schema(example = "100")
int pageSize;
@ApiModelProperty(value = "参数")
MoParams params;

View File

@ -24,6 +24,17 @@ public class MoParams {
@Schema(example = "2023-07-03 23:59:59")
String endTime;
@ApiModelProperty(value = "检验结果")
String iqcResult;
@ApiModelProperty(value = "当前页码")
@Schema(example = "1")
int pageNo;
@ApiModelProperty(value = "每页记录数")
@Schema(example = "100")
int pageSize;
public MoParams() {
}

View File

@ -112,32 +112,29 @@ public class KMReSController {
/**
* MO
*
* @param orderNumber
* @param billCode
*/
public void returnMo(String orderNumber) {
OrderDto orderDto = orderService.findByBarcodeNumber(orderNumber);
public void returnMo(String billCode) {
OrderDto orderDto = orderService.findByBarcodeNumber(billCode);
if (orderDto == null) {
throw new RuntimeException("系统无此送货单号: " + orderNumber);
throw new RuntimeException("系统无此送货单号: " + billCode);
}
double receivedQty = agvTaskService.queryOrderNumberSum(orderNumber);
if (receivedQty == orderDto.getReceivedQty()) {
List<Task> tasks = taskService.findByOrderNumber(orderNumber);
double receivedQty = agvTaskService.queryBillCodeSum(billCode);
if (receivedQty == orderDto.getDeliveryQty()) {
List<Task> tasks = taskService.findByBillCode(billCode);
ReturnMoInfo returnMoInfo = getReturnMoInfo(tasks);
long startTime = System.currentTimeMillis();
//调用接口
String resultJson = mlsService.returnMo(returnMoInfo);
long endTime = System.currentTimeMillis();
long time = endTime - startTime;
JSONObject resulObject = JSON.parseObject(resultJson);
if (resulObject == null) {
throw new RuntimeException("按MO票入库接口返回数据为空!");
}
// 保存日志
saveLogInfo(returnMoInfo, resultJson, "按MO票入库", time);
logService.saveLogInfo(returnMoInfo,UrlApi.publicApi, resultJson, "按MO票入库", time);
}
}
@ -153,35 +150,16 @@ public class KMReSController {
String resultJson = mlsService.returnIssue(returnIssueInfo);
long endTime = System.currentTimeMillis();
long time = endTime - startTime;
JSONObject resulObject = JSON.parseObject(resultJson);
if (resulObject == null) {
throw new RuntimeException("叫料结果回传接口返回数据为空!");
}
// 保存日志
saveLogInfo(returnIssueInfo, resultJson, "叫料结果回传", time);
logService.saveLogInfo(returnIssueInfo,UrlApi.publicApi, resultJson, "叫料结果回传", time);
}
public void saveLogInfo(Object object, String resultJson, String description, long time) {
// 设置日志信息
com.youchain.domain.Log newlogs = new com.youchain.domain.Log();
newlogs.setDescription(description);
newlogs.setLogType("INFO");
newlogs.setMethod(UrlApi.publicApi);
newlogs.setParams(JSON.toJSONString(object));
newlogs.setReturnData(resultJson);
newlogs.setRequestIp("127.0.0.1");
newlogs.setTime(time);
newlogs.setUsername("admin");
newlogs.setAddress("内网IP");
newlogs.setBrowser("Chrome 123");
newlogs.setCreateTime(new Timestamp(new Date().getTime()));
logService.saveLog(newlogs);
}
public static ReturnMoInfo getReturnMoInfo(List<Task> tasks) {
ReturnMoParams params = new ReturnMoParams();
params.setOrgId(100059);
params.setOrgId(808);
params.setInvCode("MA2111");
Set<String> labelNos = new HashSet<>();
for (Task task : tasks) {

View File

@ -153,7 +153,7 @@ public interface AgvTaskService {
List<AgvTask> findById(List<Integer> ids);
double queryOrderNumberSum(String orderNumber);
double queryBillCodeSum(String billCode);
/**
*+AGV

View File

@ -130,10 +130,10 @@ public interface TaskService {
List<Task> findByLabelNo(String labelNo);
/**
*
* @param orderNumber
*
* @param billCode
* @return List<Task>
*/
List<Task> findByOrderNumber(String orderNumber);
List<Task> findByBillCode(String billCode);
}

View File

@ -535,10 +535,10 @@ public class AgvTaskServiceImpl implements AgvTaskService {
@Override
public double queryOrderNumberSum(String orderNumber) {
String hql = "select sum(task.moveQty) from Task task where task.billCode= :orderNumber";
public double queryBillCodeSum(String billCode) {
String hql = "select sum(task.moveQty) from Task task where task.billCode= :billCode";
Query query = entityMapper.createQuery(hql);
query.setParameter("orderNumber", orderNumber);
query.setParameter("billCode", billCode);
List<Double> orderNumberSumList = query.getResultList();
if (orderNumberSumList.size() > 0) {
return orderNumberSumList.get(0);

View File

@ -41,6 +41,7 @@ public class MlsServiceImpl implements MlsService {
private final AgvTaskService agvTaskService;
private final PickDetailService pickDetailService;
private final InventoryService inventoryService;
private final RedisUtils redisUtils;
/**
@ -209,7 +210,9 @@ public class MlsServiceImpl implements MlsService {
* @param detail
*/
private Order updateOrder(Order order, JSONObject detail) {
order.setReceivedQty(detail.getDouble("receivedQty") == null ? 0 : detail.getDouble("receivedQty"));
order.setDeliveryStatus(detail.getString("deliveryStatus"));
order.setMlsUpdateTime(detail.getString("updateTime") == null ? null : DateUtil.parse(detail.getString("updateTime")).toTimestamp());
return order;
}
@ -280,19 +283,30 @@ public class MlsServiceImpl implements MlsService {
//获取已存在的MO票
Map<String, Mo> existingMos = moService.findBylabelNos(labelNos);
Dept dept = null;
boolean flag = redisUtils.hasKey("dept");
if (flag) {
dept = (Dept) redisUtils.get("dept");
} else {
DeptDto deptDto = deptService.findById(7L);
dept = deptService.toEntity(deptDto);
redisUtils.set("dept", dept, 0);
}
//循环处理每个MO票
for (int i = 0; i < details.size(); i++) {
JSONObject detail = details.getJSONObject(i);
String labelState = detail.getString("labelState");//标签状态
if ("PRINTED".equals(labelState)) {
//物料编码
String itemCode = detail.getString("itemCode");
String itemCode = detail.getString("itemCode").trim();
Item item = null;
if (existingItems.containsKey(itemCode)) {
item = existingItems.get(itemCode);
} else {
//新增物料
item = createItem(detail);
item = createItem(detail, dept);
existingItems.put(itemCode, item);
}
//MO票
@ -307,7 +321,6 @@ public class MlsServiceImpl implements MlsService {
mosToCreate.add(createMo(detail, item));
}
}
}
//批量新增Mo票
@ -326,7 +339,7 @@ public class MlsServiceImpl implements MlsService {
* @param detail
* @return
*/
private Item createItem(JSONObject detail) {
private Item createItem(JSONObject detail, Dept dept) {
String itemCode = detail.getString("itemCode");//物料编码
String itemDesc = detail.getString("itemDesc");//物料描述
@ -334,8 +347,9 @@ public class MlsServiceImpl implements MlsService {
String sourceSystem = detail.getString("sourceSystem");//来源系统
Long itemId = detail.getLong("itemId");//物料id
//创建
Item Item = new Item(itemCode, itemDesc, uom, UserUtils.getDept(), sourceSystem, itemId);
Item Item = new Item(itemCode, itemDesc, uom, dept, sourceSystem, itemId);
itemService.create(Item);
return Item;
}
@ -381,8 +395,7 @@ public class MlsServiceImpl implements MlsService {
}
private Mo updateMo(Mo mo, JSONObject detail) {
mo.setCheckResult(detail.getString("checkResult"));
mo.setDeleteFlag(Boolean.parseBoolean(detail.getString("deleteFlag")));
mo.setLabelState(detail.getString("labelState"));
mo.setMlsUpdateTime(detail.getString("updateTime") == null ? null : DateUtil.parse(detail.getString("updateTime")).toTimestamp());
mo.setUpdateUserCode(detail.getString("updateUserCode"));
return mo;

View File

@ -267,10 +267,10 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public List<Task> findByOrderNumber(String orderNumber) {
String hql = "from Task t where t.itemKey.orderNumber = :orderNumber";
public List<Task> findByBillCode(String billCode) {
String hql = "from Task t where t.billCode = :billCode";
Query query = entityMapper.createQuery(hql);
query.setParameter("orderNumber", orderNumber); // 工单号
query.setParameter("billCode", billCode); // 工单号
List<Task> tasks = query.getResultList();
return tasks;
}

View File

@ -4,6 +4,8 @@ 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 com.youchain.service.LogService;
import com.youchain.utils.UrlApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -22,10 +24,17 @@ public class moTask {
@Autowired
public MlsService mlsService;
@Autowired
public LogService logService;
public void moTask() {
long startTime = System.currentTimeMillis();
MoInfo moInfo = getMoInfo();
String moJson = mlsService.getMoJson(moInfo);
mlsService.getMoInfo(moJson);
String resultJson = mlsService.getMoJson(moInfo);
mlsService.getMoInfo(resultJson);
long time = System.currentTimeMillis() - startTime;
// 保存日志
logService.saveLogInfo(moInfo, UrlApi.publicApi, resultJson, "获取MO票信息", time);
}
public MoInfo getMoInfo() {
@ -36,12 +45,16 @@ public class moTask {
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");
params.setIqcResult("");
params.setStartTime("2024-04-28 00:00:00");
params.setEndTime("2024-04-28 23:59:59");
params.setPageNo(1);
params.setPageSize(100);
MoInfo moInfo = new MoInfo();
moInfo.setIfaceCode("MLS-WQ-003");
moInfo.setSourceSystem("WQ");
moInfo.setParams(params);
return moInfo;
}
}

View File

@ -9,6 +9,8 @@ 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 com.youchain.service.LogService;
import com.youchain.utils.UrlApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
@ -34,11 +36,18 @@ public class orderTask {
@Autowired
public MlsService mlsService;
@Autowired
public LogService logService;
public void orderTask() {
long startTime = System.currentTimeMillis();
OrderInfo orderInfo = getOrderInfo();
String orderJson = mlsService.getOrderJson(orderInfo);
mlsService.getOrderInfo(orderJson);
String resultJson = mlsService.getOrderJson(orderInfo);
mlsService.getOrderInfo(resultJson);
long time = System.currentTimeMillis() - startTime;
// 保存日志
logService.saveLogInfo(orderInfo, UrlApi.publicApi, resultJson, "获取送货单信息", time);
}
@ -51,8 +60,8 @@ public class orderTask {
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.setStartTime("2024-04-27 00:00:00");
params.setEndTime("2024-04-27 23:59:59");
params.setPageNo(1);
params.setPageSize(100);
OrderInfo orderInfo = new OrderInfo();

View File

@ -38,7 +38,9 @@ public class UrlApi {
/**
* MLS
* https://apiuat.midea.com/mls/mlsapi/public/publicApi
* https://apisit.midea.com/mls/mlsapi/public/publicApi
*/
public static String publicApi="https://apiuat.midea.com/mls/mlsapi/public/publicApi";
public static String publicApi="https://apisit.midea.com/mls/mlsapi/public/publicApi";
}