Browse Source

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

fix-sign
汤建军 2 months ago
parent
commit
2bfa44fe2f
  1. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataDriverArteryServiceImpl.java
  2. 29
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/job/PushDataJob.java
  3. 4
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/DeliveryNoteMapper.java
  4. 2
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeAllPushMapper.java
  5. 9
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeAllPushMapper.xml
  6. 12
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeOrderMapper.xml
  7. 7
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java
  8. 3
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/DeliveryNoteService.java
  9. 2
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/FactoryNodeAllPushService.java
  10. 156
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java
  11. 4
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/FactoryNodeAllPushServiceImpl.java

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataDriverArteryServiceImpl.java

@ -275,7 +275,7 @@ public class BasicdataDriverArteryServiceImpl extends BaseServiceImpl<BasicdataD
throw new ServiceException(phone + "手机号码已存在!");
}
R<User> userR = userClient.userInfoByPhone("627683", datum.getPhone());
R<User> userR = userClient.userInfoByPhone(AuthUtil.getTenantId(), datum.getPhone());
if (userR.getData() == null) {
// log.error("未找到用户");
// continue;

29
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/job/PushDataJob.java

@ -45,6 +45,35 @@ public class PushDataJob {
return ReturnT.SUCCESS;
}
/**
* 补传我乐到达节点数据
*
* @param param
* @return
* @throws Exception
*/
@XxlJob("rePushOloNodeData")
public ReturnT<String> rePushOloNodeData(String param) throws Exception {
deliveryNoteService.rePushOloNodeData();
return ReturnT.SUCCESS;
}
/**
* 补传我乐到达节点数据-指定订单 分单 回传
*
* @param param
* @return
* @throws Exception
*/
@XxlJob("rePushOloNodeDataByCode")
public ReturnT<String> rePushOloNodeDataByCode(String param) throws Exception {
if (StrUtil.isEmpty(param)) {
return ReturnT.SUCCESS;
}
deliveryNoteService.rePushOloNodeDataByCode(param);
return ReturnT.SUCCESS;
}
/**
* 自定义回传工厂节点作业数据
*

4
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/DeliveryNoteMapper.java

@ -6,6 +6,8 @@ import com.logpm.factorydata.olo.entity.DeliveryNoteEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 发货单 mapper
*
@ -18,4 +20,6 @@ public interface DeliveryNoteMapper extends BaseMapper<DeliveryNoteEntity> {
JSONObject customPushNodeData();
void updateSustomPushNodeDataStatus(@Param("status") String status, @Param("orderNo") String orderNo, @Param("deliveryNo") String deliveryNo);
List<DeliveryNoteEntity> rePushOloNodeData(@Param("orderCode") String orderCode, @Param("shipmentCode") String shipmentCode, @Param("shipmentSpitCode") String shipmentSpitCode);
}

2
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeAllPushMapper.java

@ -13,4 +13,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FactoryNodeAllPushMapper extends BaseMapper<FactoryNodeAllPushEntity> {
FactoryNodeAllPushEntity rePushOloNodeData();
}

9
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeAllPushMapper.xml

@ -2,4 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.factorydata.olo.mapper.FactoryNodeAllPushMapper">
<select id="rePushOloNodeData" resultType="com.logpm.factorydata.olo.entity.FactoryNodeAllPushEntity">
select *
from olo_factory_node_all_push
where reserve1 != reserve2
and reserve1 is not null
and reserve2 is not null
and type_code = 1
limit 1
</select>
</mapper>

12
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mapper/FactoryNodeOrderMapper.xml

@ -23,4 +23,16 @@
and orderNo = #{orderNo}
and deliveryNo = #{deliveryNo}
</update>
<select id="rePushOloNodeData" resultType="com.logpm.factorydata.olo.entity.DeliveryNoteEntity">
select *
from olo_delivery_note
where
(flag is null or flag = 'A')
and shipment_type_desc != '快递'
and shipment_type_desc != '包车'
and shipment_no = #{shipmentCode}
and shipment_split_no = #{shipmentSpitCode}
and crm_so = #{orderCode}
</select>
</mapper>

7
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java

@ -33,7 +33,6 @@ import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
@ -203,7 +202,11 @@ public class NodeDataPushListener {
pushAllEntities.add(factoryNodeAllPushEntity);
for (Map.Entry<String, Integer> stringIntegerEntry : snMap.entrySet()) {
JSONObject jsonObject = new JSONObject();
jsonObject.set("sn", stringIntegerEntry.getKey());
String key = stringIntegerEntry.getKey();
if (StrUtil.contains(key, "补")) {
key = key.split("-")[0];
}
jsonObject.set("sn", key);
jsonObject.set("qty", stringIntegerEntry.getValue());
jsonObject.set("scanTime", entries.getStr("operatorTime"));
snArray.add(jsonObject);

3
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/DeliveryNoteService.java

@ -26,4 +26,7 @@ public interface DeliveryNoteService extends BaseService<DeliveryNoteEntity> {
**/
void customPushNodeData();
void rePushOloNodeData();
void rePushOloNodeDataByCode(String param);
}

2
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/FactoryNodeAllPushService.java

@ -11,4 +11,6 @@ import org.springblade.core.mp.base.BaseService;
**/
public interface FactoryNodeAllPushService extends BaseService<FactoryNodeAllPushEntity> {
FactoryNodeAllPushEntity rePushOloNodeData();
}

156
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/DeliveryNoteServiceImpl.java

@ -1,9 +1,11 @@
package com.logpm.factorydata.olo.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
@ -16,10 +18,12 @@ import com.logpm.factorydata.enums.BrandEnums;
import com.logpm.factorydata.enums.SaxStatusEnums;
import com.logpm.factorydata.feign.IFactoryDataClient;
import com.logpm.factorydata.olo.entity.DeliveryNoteEntity;
import com.logpm.factorydata.olo.entity.FactoryNodeAllPushEntity;
import com.logpm.factorydata.olo.entity.FactoryOrderLogEntity;
import com.logpm.factorydata.olo.mapper.DeliveryNoteMapper;
import com.logpm.factorydata.olo.pros.OldProperties;
import com.logpm.factorydata.olo.service.DeliveryNoteService;
import com.logpm.factorydata.olo.service.FactoryNodeAllPushService;
import com.logpm.factorydata.olo.service.FactoryOrderLogService;
import com.logpm.factorydata.olo.vo.DeliveryNoteVO;
import com.logpm.factorydata.vo.SendMsg;
@ -54,8 +58,11 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 发货单 业务实现类
@ -74,6 +81,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
private final IFactoryDataBaseClient baseClient;
private final OldProperties oldProperties;
private final RabbitTemplate rabbitTemplate;
private final FactoryNodeAllPushService factoryNodeAllPushService;
@Override
public String order(List<DeliveryNoteVO> vo) {
@ -213,7 +221,7 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
advanceDetailEntity.setQuantity(1);
// 按老系统生成新的逻辑的包件号 OLO2312064418-20231226010129-1-001
// 标准台面全部使用新码,其他的数量大于 1 的使用新码
if (StrUtil.equals(orderPackageDTO.getType(),"标准台面") || anInt > 1) {
if (StrUtil.equals(orderPackageDTO.getType(), "标准台面") || anInt > 1) {
advanceDetailEntity.setOrderPackageCode("OLO" + orderPackageDTO.getSn() + "-" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + "-" + num + "-" + StrUtil.padPre(String.valueOf(i + 1), 3, "0"));
} else {
advanceDetailEntity.setOrderPackageCode(orderPackageDTO.getSn());
@ -292,6 +300,152 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl<DeliveryNoteMapper,
}
}
@Override
public void rePushOloNodeData() {
// 查出少推送的数据
FactoryNodeAllPushEntity entity = factoryNodeAllPushService.rePushOloNodeData();
if (ObjectUtil.isNotEmpty(entity)) {
String content = entity.getContent();
Date createTime = entity.getCreateTime();
JSONObject entries = JSONUtil.parseObj(content);
entries.set("snList", null);
String packageCodes = entity.getPackageCode();
String[] split = packageCodes.split(",");
Set<String> packageCodeSet = new HashSet<>();
for (String s : split) {
if (StrUtil.contains(s, "补")) {
continue;
}
packageCodeSet.add(s);
}
String orderCode = entity.getOrderCode();
String shipmentCode = entity.getShipmentCode();
String shipmentSpitCode = entity.getShipmentSpitCode();
List<DeliveryNoteEntity> list = this.baseMapper.rePushOloNodeData(orderCode, shipmentCode, shipmentSpitCode);
if (CollUtil.isNotEmpty(list)) {
List<DeliveryNoteEntity> sns = list.stream().filter(s -> !packageCodeSet.contains(s.getSn())).map(deliveryNoteEntity -> {
String sn = deliveryNoteEntity.getSn();
if (StrUtil.contains(sn, "补")) {
sn = sn.split("-")[0];
}
deliveryNoteEntity.setSn(sn);
return deliveryNoteEntity;
}).collect(Collectors.toList());
if (CollUtil.isNotEmpty(sns)) {
JSONArray snArray = new JSONArray();
for (DeliveryNoteEntity sn : sns) {
JSONObject jsonObject = new JSONObject();
jsonObject.set("sn", sn.getSn());
jsonObject.set("qty", sn.getQty());
jsonObject.set("scanTime", DateUtil.formatDateTime(createTime));
snArray.add(jsonObject);
}
entries.set("snList", snArray);
JSONArray objects = new JSONArray();
objects.add(entries);
String post = HttpUtil.post(entity.getSendUrl(), JSONUtil.toJsonStr(objects));
FactoryNodeAllPushEntity pushAllEntity = new FactoryNodeAllPushEntity();
BeanUtil.copyProperties(entity, pushAllEntity);
pushAllEntity.setId(null);
try {
JSONObject entries1 = JSONUtil.parseObj(post);
Integer code = entries1.getInt("code");
String data = entries1.getStr("data");
// 成功
Integer successCode = code;
String message = data;
if (NumberUtil.equals(code, 200)) {
if (StrUtil.isNotEmpty(data)) {
JSONObject jsonObject = JSONUtil.parseObj(data);
Integer code1 = jsonObject.getInt("code");
successCode = code1;
}
}
pushAllEntity.setPackageCode(sns.stream().map(DeliveryNoteEntity::getSn).collect(Collectors.joining(",")));
pushAllEntity.setSendStatus(successCode + "");
pushAllEntity.setContent(JSONUtil.toJsonStr(entries));
pushAllEntity.setResultContent(message);
pushAllEntity.setReserve1(Convert.toStr(sns.size()));
pushAllEntity.setReserve2(Convert.toStr(sns.size()));
factoryNodeAllPushService.save(pushAllEntity);
} catch (Exception e) {
log.error("解析返回值失败");
}
}
}
entity.setReserve1(entity.getReserve2());
factoryNodeAllPushService.updateById(entity);
}
}
@Override
public void rePushOloNodeDataByCode(String param) {
JSONObject entries = JSONUtil.parseObj(param);
String orderCode = entries.getStr("orderNo");
String shipmentCode = entries.getStr("shipmentNo");
String shipmentSpitCode = entries.getStr("shipmentSplitNo");
List<DeliveryNoteEntity> list = this.baseMapper.rePushOloNodeData(orderCode, shipmentCode, shipmentSpitCode);
if (CollUtil.isNotEmpty(list)) {
List<DeliveryNoteEntity> sns = list.stream().map(deliveryNoteEntity -> {
String sn = deliveryNoteEntity.getSn();
if (StrUtil.contains(sn, "补")) {
sn = sn.split("-")[0];
}
deliveryNoteEntity.setSn(sn);
return deliveryNoteEntity;
}).collect(Collectors.toList());
if (CollUtil.isNotEmpty(sns)) {
JSONArray snArray = new JSONArray();
for (DeliveryNoteEntity sn : sns) {
JSONObject jsonObject = new JSONObject();
jsonObject.set("sn", sn.getSn());
jsonObject.set("qty", sn.getQty());
jsonObject.set("scanTime", DateUtil.formatDateTime(new Date()));
snArray.add(jsonObject);
}
entries.set("snList", snArray);
JSONArray objects = new JSONArray();
objects.add(entries);
String post = HttpUtil.post(oldProperties.getPushNodeUrl(), JSONUtil.toJsonStr(objects));
FactoryNodeAllPushEntity pushAllEntity = new FactoryNodeAllPushEntity();
pushAllEntity.setWarehouse(entries.getStr("nodeName"));
pushAllEntity.setWorkBatch(orderCode);
pushAllEntity.setSendUrl(oldProperties.getPushNodeUrl());
pushAllEntity.setOrderCode(orderCode);
pushAllEntity.setShipmentCode(shipmentCode);
pushAllEntity.setShipmentSpitCode(shipmentSpitCode);
pushAllEntity.setType(entries.getStr("content"));
pushAllEntity.setWaybillCode(entries.getStr("deliveryNo"));
pushAllEntity.setTypeCode(entries.getInt("siteLevel"));
try {
JSONObject entries1 = JSONUtil.parseObj(post);
Integer code = entries1.getInt("code");
String data = entries1.getStr("data");
// 成功
Integer successCode = code;
String message = data;
if (NumberUtil.equals(code, 200)) {
if (StrUtil.isNotEmpty(data)) {
JSONObject jsonObject = JSONUtil.parseObj(data);
Integer code1 = jsonObject.getInt("code");
successCode = code1;
}
}
pushAllEntity.setPackageCode(sns.stream().map(DeliveryNoteEntity::getSn).collect(Collectors.joining(",")));
pushAllEntity.setSendStatus(successCode + "");
pushAllEntity.setContent(JSONUtil.toJsonStr(entries));
pushAllEntity.setResultContent(message);
pushAllEntity.setReserve1(Convert.toStr(sns.size()));
pushAllEntity.setReserve2(Convert.toStr(sns.size()));
factoryNodeAllPushService.save(pushAllEntity);
} catch (Exception e) {
log.error("解析返回值失败");
}
}
}
}
private String uploadFile(String body) {
// 文本内容和保存为本地文件 并上传
String logPath = FileLogsUtil.saveFileLogs(body);

4
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/service/impl/FactoryNodeAllPushServiceImpl.java

@ -19,4 +19,8 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class FactoryNodeAllPushServiceImpl extends BaseServiceImpl<FactoryNodeAllPushMapper, FactoryNodeAllPushEntity> implements FactoryNodeAllPushService {
@Override
public FactoryNodeAllPushEntity rePushOloNodeData() {
return this.baseMapper.rePushOloNodeData();
}
}

Loading…
Cancel
Save