|
|
|
@ -2,27 +2,38 @@ package com.logpm.factorydata.zbom.mq;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
import cn.hutool.core.convert.Convert; |
|
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
|
import cn.hutool.core.util.EnumUtil; |
|
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
import cn.hutool.json.JSONObject; |
|
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.logpm.factorydata.enums.BrandEnums; |
|
|
|
|
import com.logpm.factorydata.enums.NodeEnums; |
|
|
|
|
import com.logpm.factorydata.feign.IFactoryDataClient; |
|
|
|
|
import com.logpm.factorydata.vo.NodePushMsg; |
|
|
|
|
import com.logpm.factorydata.vo.SendMsg; |
|
|
|
|
import com.logpm.factorydata.zbom.constants.ZbomConstants; |
|
|
|
|
import com.logpm.factorydata.zbom.entity.ZbFactoryNodeOrderEntity; |
|
|
|
|
import com.logpm.factorydata.zbom.entity.ZbFactoryNodePushEntity; |
|
|
|
|
import com.logpm.factorydata.zbom.entity.ZbFactoryNodePushFailEntity; |
|
|
|
|
import com.logpm.factorydata.zbom.enums.NodeNeedEnums; |
|
|
|
|
import com.logpm.factorydata.zbom.enums.ZbomNodeEnums; |
|
|
|
|
import com.logpm.factorydata.zbom.enums.ZbomNodeMappingEnums; |
|
|
|
|
import com.logpm.factorydata.zbom.pros.ZbFactoryProperties; |
|
|
|
|
import com.logpm.factorydata.zbom.service.IFactoryNodeOrderService; |
|
|
|
|
import com.logpm.factorydata.zbom.service.IFactoryNodePushFailService; |
|
|
|
|
import com.logpm.factorydata.zbom.service.IFactoryNodePushService; |
|
|
|
|
import com.logpm.factorydata.zbom.service.IOrderPackageService; |
|
|
|
|
import com.logpm.factorydata.zbom.util.ZbomUtil; |
|
|
|
|
import com.logpm.factorydata.zbom.vo.NoSignNumberDTO; |
|
|
|
|
import com.logpm.factorydata.zbom.vo.NodeConfirmParamDTO; |
|
|
|
|
import com.logpm.factorydata.zbom.vo.OrderPackageSignDTO; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.common.constant.factorydata.FactoryDataConstants; |
|
|
|
|
import org.springblade.common.utils.HutoolConfigUtil; |
|
|
|
|
import org.springframework.amqp.core.ExchangeTypes; |
|
|
|
|
import org.springframework.amqp.rabbit.annotation.Exchange; |
|
|
|
|
import org.springframework.amqp.rabbit.annotation.Queue; |
|
|
|
@ -50,9 +61,29 @@ public class ZbomNodeDataPushListener {
|
|
|
|
|
private final IOrderPackageService orderPackageService; |
|
|
|
|
private final IFactoryNodePushFailService nodePushFailService; |
|
|
|
|
private final IFactoryNodePushService nodePushService; |
|
|
|
|
private final IFactoryNodeOrderService nodeOrderService; |
|
|
|
|
private final IFactoryDataClient factoryDataClient; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 该方法用于监听来自ZBOM节点数据推送的延迟消息。 |
|
|
|
|
* 通过@RabbitListener注解绑定到特定的队列和交换器,以接收特定类型的消息。 |
|
|
|
|
* 接收到消息后,会立即调用nodeDataPush方法处理该消息。 |
|
|
|
|
* |
|
|
|
|
* @param msg 接收到的消息内容,类型为String。 |
|
|
|
|
*/ |
|
|
|
|
@RabbitListener(bindings = @QueueBinding( |
|
|
|
|
value = @Queue(name = FactoryDataConstants.Mq.Queues.ZBOM_NODE_DATA_PUSH, durable = "true"), |
|
|
|
|
exchange = @Exchange(name = FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED, type = ExchangeTypes.TOPIC |
|
|
|
|
, delayed = FactoryDataConstants.Mq.DELAYED), |
|
|
|
|
key = FactoryDataConstants.Mq.RoutingKeys.ZBOM_NODE_DATA_PUSH |
|
|
|
|
)) |
|
|
|
|
public void nodeDataPushDelayed(String msg) { |
|
|
|
|
// 直接调用nodeDataPush方法处理接收到的消息
|
|
|
|
|
nodeDataPush(msg); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@RabbitListener(bindings = @QueueBinding( |
|
|
|
|
value = @Queue(name = FactoryDataConstants.Mq.Queues.ZBOM_NODE_DATA_PUSH), |
|
|
|
|
value = @Queue(name = FactoryDataConstants.Mq.Queues.ZBOM_NODE_DATA_PUSH, durable = "true"), |
|
|
|
|
exchange = @Exchange(name = FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH, type = ExchangeTypes.TOPIC), |
|
|
|
|
key = FactoryDataConstants.Mq.RoutingKeys.ZBOM_NODE_DATA_PUSH |
|
|
|
|
)) |
|
|
|
@ -63,9 +94,9 @@ public class ZbomNodeDataPushListener {
|
|
|
|
|
if (!checkMsg(msg)) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
JSONObject msgEntries = JSONUtil.parseObj(msg); |
|
|
|
|
JSONObject entries = JSONUtil.parseObj(msg); |
|
|
|
|
// 业务数据
|
|
|
|
|
List<JSONObject> content = msgEntries.getBeanList("content", JSONObject.class); |
|
|
|
|
List<JSONObject> content = entries.getBeanList("content", JSONObject.class); |
|
|
|
|
List<String> packageCodeList = null; |
|
|
|
|
if (CollUtil.isNotEmpty(content)) { |
|
|
|
|
// 查询这次操作的所有包件和运单号
|
|
|
|
@ -77,16 +108,102 @@ public class ZbomNodeDataPushListener {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 处理节点信息
|
|
|
|
|
String node = entries.getStr("node"); |
|
|
|
|
NodeEnums nodeEnums = EnumUtil.fromString(NodeEnums.class, node); |
|
|
|
|
if (CollUtil.isNotEmpty(packageCodeList)) { |
|
|
|
|
// 根据运单号和自编码分组查询出对应的数量
|
|
|
|
|
List<OrderPackageSignDTO> orders = orderPackageService.findOrderCodebypackageCodes(packageCodeList); |
|
|
|
|
// 根据运单号和自编码分组查询出未签收的数量
|
|
|
|
|
List<NoSignNumberDTO> noSignNumberDTOS = orderPackageService.findNoSignNumber(packageCodeList); |
|
|
|
|
log.info("未签收数据:{}", JSONUtil.toJsonStr(noSignNumberDTOS)); |
|
|
|
|
Map<String, Integer> noSignNumberMap = new HashMap<>(); |
|
|
|
|
if (CollUtil.isNotEmpty(noSignNumberDTOS)) { |
|
|
|
|
for (NoSignNumberDTO noSignNumberDTO : noSignNumberDTOS) { |
|
|
|
|
noSignNumberMap.put(noSignNumberDTO.getDepartCode() + noSignNumberDTO.getPlatformOrderCode(), noSignNumberDTO.getNum()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (CollUtil.isNotEmpty(orders)) { |
|
|
|
|
for (OrderPackageSignDTO order : orders) { |
|
|
|
|
Boolean flag = Boolean.TRUE; |
|
|
|
|
NodeConfirmParamDTO paramDTO = new NodeConfirmParamDTO(); |
|
|
|
|
paramDTO.setDepartCode(order.getDepartCode()); |
|
|
|
|
paramDTO.setPlatformOrderCode(order.getPlatformOrderCode()); |
|
|
|
|
paramDTO.setSignQty(order.getSignQty()); |
|
|
|
|
order.setOperator(entries.getStr("operator")); |
|
|
|
|
paramDTO.setOperator(entries.getStr("operator")); |
|
|
|
|
order.setOperatorTime(entries.getStr("operatorTime")); |
|
|
|
|
paramDTO.setOperatorTime(entries.getStr("operatorTime")); |
|
|
|
|
order.setAddress(entries.getStr("address")); |
|
|
|
|
paramDTO.setAddress(entries.getStr("address")); |
|
|
|
|
// 如果是签收节点,需要判断是否为全部签收和部分签收
|
|
|
|
|
if (EnumUtil.equals(NodeEnums.CLERK_REVIEW, node)) { |
|
|
|
|
ZbFactoryNodeOrderEntity nodeOrder = nodeOrderService.getOne(Wrappers.<ZbFactoryNodeOrderEntity>lambdaQuery() |
|
|
|
|
.eq(ZbFactoryNodeOrderEntity::getPlatformOrderCode, paramDTO.getPlatformOrderCode()) |
|
|
|
|
.eq(ZbFactoryNodeOrderEntity::getDepartCode, paramDTO.getDepartCode()) |
|
|
|
|
); |
|
|
|
|
if (ObjectUtil.isNotEmpty(nodeOrder)) { |
|
|
|
|
flag = Boolean.FALSE; |
|
|
|
|
} |
|
|
|
|
log.info("key:{},签收数量:{}", paramDTO.getDepartCode() + "_" + paramDTO.getPlatformOrderCode(), paramDTO.getSignQty()); |
|
|
|
|
Integer signNumber = Convert.toInt(paramDTO.getSignQty()); |
|
|
|
|
// 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收
|
|
|
|
|
String key = paramDTO.getDepartCode() + paramDTO.getPlatformOrderCode(); |
|
|
|
|
// 部分签收
|
|
|
|
|
paramDTO.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_SECTION_STATUS).getCode()); |
|
|
|
|
if (ObjectUtil.isNotEmpty(noSignNumberMap) && noSignNumberMap.containsKey(key)) { |
|
|
|
|
Integer noSignNum = noSignNumberMap.get(key); |
|
|
|
|
if (noSignNum <= signNumber) { |
|
|
|
|
// 全部签收
|
|
|
|
|
paramDTO.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_ALL_STATUS).getCode()); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
// 第一次签收,节点改为送货抵达
|
|
|
|
|
if (flag) { |
|
|
|
|
paramDTO.setRejectQty(""); |
|
|
|
|
paramDTO.setSignQty(""); |
|
|
|
|
paramDTO.setNode(ZbomNodeEnums.DELIVERY_ARRIVAL.getCode()); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
paramDTO.setRejectQty(""); |
|
|
|
|
paramDTO.setSignQty(""); |
|
|
|
|
paramDTO.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums).getCode()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 构建参数对象
|
|
|
|
|
List<NodeConfirmParamDTO> nodeConfirmParams = initParam(msgEntries, packageCodeList); |
|
|
|
|
try { |
|
|
|
|
// 推送给志邦
|
|
|
|
|
if (CollUtil.isNotEmpty(nodeConfirmParams)) { |
|
|
|
|
for (NodeConfirmParamDTO nodeConfirmParam : nodeConfirmParams) { |
|
|
|
|
String body = JSONUtil.toJsonStr(nodeConfirmParam); |
|
|
|
|
// if (CollUtil.isNotEmpty(nodeConfirmParams)) {
|
|
|
|
|
// for (NodeConfirmParamDTO nodeConfirmParam : nodeConfirmParams) {
|
|
|
|
|
String body = JSONUtil.toJsonStr(paramDTO); |
|
|
|
|
String result = ZbomUtil.pushZbomSystem(zbProperties, body, ZbomConstants.Method.ROUTE_NODE_CONFIRM); |
|
|
|
|
// JSONObject jsonObject = new JSONObject();
|
|
|
|
|
// jsonObject.set("code", "0");
|
|
|
|
|
// String result = JSONUtil.toJsonStr(jsonObject);
|
|
|
|
|
log.info("zb节点推送数据:参数{},返回值{}。", body, result); |
|
|
|
|
saveResult(entries, packageCodeList, order, body, result, flag); |
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
// 处理推送不成功的异常情况
|
|
|
|
|
log.error("zb节点推送数据异常:{}", e); |
|
|
|
|
// 保存日志
|
|
|
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 构建参数对象
|
|
|
|
|
// List<NodeConfirmParamDTO> nodeConfirmParams = initParam(msgEntries, packageCodeList);
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void saveResult(JSONObject msgEntries, List<String> packageCodeList, OrderPackageSignDTO |
|
|
|
|
nodeConfirmParam, String body, String result, Boolean flag) { |
|
|
|
|
if (StrUtil.isNotBlank(result)) { |
|
|
|
|
ZbFactoryNodePushFailEntity build = ZbFactoryNodePushFailEntity.builder().content(body).resultContent(result).build(); |
|
|
|
|
if (!StrUtil.contains(result, "code")) { |
|
|
|
@ -111,72 +228,106 @@ public class ZbomNodeDataPushListener {
|
|
|
|
|
String node = msgEntries.getStr("node"); |
|
|
|
|
NodeEnums nodeEnums = EnumUtil.fromString(NodeEnums.class, node); |
|
|
|
|
if (ObjectUtil.equal(nodeEnums, NodeEnums.CLERK_REVIEW)) { |
|
|
|
|
if (!flag) { |
|
|
|
|
// 修改订单包件表的签收状态
|
|
|
|
|
orderPackageService.updateSignForStatus(packageCodeList); |
|
|
|
|
List<String> packages = CollUtil.newArrayList(nodeConfirmParam.getPackageCode().split(",")); |
|
|
|
|
orderPackageService.updateSignForStatus(packages); |
|
|
|
|
// 修改加盟商单号+发货单号节点数据
|
|
|
|
|
nodeOrderService.updateNodeOrder(nodeConfirmParam); |
|
|
|
|
} else { |
|
|
|
|
List<Object> js = new ArrayList<>(); |
|
|
|
|
String packageCode = nodeConfirmParam.getPackageCode(); |
|
|
|
|
for (String s : packageCode.split(",")) { |
|
|
|
|
JSONObject entries1 = new JSONObject(); |
|
|
|
|
entries1.set("packageCode", s); |
|
|
|
|
js.add(entries1); |
|
|
|
|
} |
|
|
|
|
NodePushMsg nodePushMsg = NodePushMsg.builder() |
|
|
|
|
.node(NodeEnums.CLERK_REVIEW) |
|
|
|
|
.operator(nodeConfirmParam.getOperator()) |
|
|
|
|
.operatorTime(DateUtil.parseDateTime(nodeConfirmParam.getOperatorTime())) |
|
|
|
|
.address(nodeConfirmParam.getAddress()) |
|
|
|
|
.brand(BrandEnums.ZB) |
|
|
|
|
.address(nodeConfirmParam.getAddress()) |
|
|
|
|
.content(js) |
|
|
|
|
.build(); |
|
|
|
|
SendMsg message = SendMsg.builder() |
|
|
|
|
.delay(30 * 60 * 1000) |
|
|
|
|
.exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED) |
|
|
|
|
.routingKey(FactoryDataConstants.Mq.RoutingKeys.ZBOM_NODE_DATA_PUSH) |
|
|
|
|
.message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat())) |
|
|
|
|
.build(); |
|
|
|
|
factoryDataClient.sendMessage(message); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
// 处理推送不成功的异常情况
|
|
|
|
|
log.error("zb节点推送数据异常:{}", e); |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private List<NodeConfirmParamDTO> initParam(JSONObject entries, List<String> packageCodeList) { |
|
|
|
|
// 处理节点信息
|
|
|
|
|
String node = entries.getStr("node"); |
|
|
|
|
NodeEnums nodeEnums = EnumUtil.fromString(NodeEnums.class, node); |
|
|
|
|
if (CollUtil.isNotEmpty(packageCodeList)) { |
|
|
|
|
// 根据运单号和自编码分组查询出对应的数量
|
|
|
|
|
List<NodeConfirmParamDTO> orders = orderPackageService.findOrderCodebypackageCodes(packageCodeList); |
|
|
|
|
// 根据运单号和自编码分组查询出未签收的数量
|
|
|
|
|
List<NoSignNumberDTO> noSignNumberDTOS = orderPackageService.findNoSignNumber(packageCodeList); |
|
|
|
|
log.info("未签收数据:{}", JSONUtil.toJsonStr(noSignNumberDTOS)); |
|
|
|
|
Map<String, Integer> noSignNumberMap = new HashMap<>(); |
|
|
|
|
if (CollUtil.isNotEmpty(noSignNumberDTOS)) { |
|
|
|
|
for (NoSignNumberDTO noSignNumberDTO : noSignNumberDTOS) { |
|
|
|
|
noSignNumberMap.put(noSignNumberDTO.getDepartCode() + noSignNumberDTO.getPlatformOrderCode(), noSignNumberDTO.getNum()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (CollUtil.isNotEmpty(orders)) { |
|
|
|
|
for (NodeConfirmParamDTO order : orders) { |
|
|
|
|
order.setOperator(entries.getStr("operator")); |
|
|
|
|
order.setOperatorTime(entries.getStr("operatorTime")); |
|
|
|
|
order.setAddress(entries.getStr("address")); |
|
|
|
|
// 如果是签收节点,需要判断是否为全部签收和部分签收
|
|
|
|
|
if (EnumUtil.equals(NodeEnums.CLERK_REVIEW, node)) { |
|
|
|
|
log.info("key:{},签收数量:{}", order.getDepartCode() + "_" + order.getPlatformOrderCode(), order.getSignQty()); |
|
|
|
|
Integer signNumber = Convert.toInt(order.getSignQty()); |
|
|
|
|
// 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收
|
|
|
|
|
String key = order.getDepartCode() + order.getPlatformOrderCode(); |
|
|
|
|
// 部分签收
|
|
|
|
|
order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_SECTION_STATUS).getCode()); |
|
|
|
|
if (ObjectUtil.isNotEmpty(noSignNumberMap) && noSignNumberMap.containsKey(key)) { |
|
|
|
|
Integer noSignNum = noSignNumberMap.get(key); |
|
|
|
|
if (noSignNum <= signNumber) { |
|
|
|
|
// 全部签收
|
|
|
|
|
order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_ALL_STATUS).getCode()); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
order.setRejectQty(""); |
|
|
|
|
order.setSignQty(""); |
|
|
|
|
order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums).getCode()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return orders; |
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
// private List<NodeConfirmParamDTO> initParam(JSONObject entries, List<String> packageCodeList) {
|
|
|
|
|
// // 处理节点信息
|
|
|
|
|
// String node = entries.getStr("node");
|
|
|
|
|
// NodeEnums nodeEnums = EnumUtil.fromString(NodeEnums.class, node);
|
|
|
|
|
// if (CollUtil.isNotEmpty(packageCodeList)) {
|
|
|
|
|
// // 根据运单号和自编码分组查询出对应的数量
|
|
|
|
|
// List<NodeConfirmParamDTO> orders = orderPackageService.findOrderCodebypackageCodes(packageCodeList);
|
|
|
|
|
// // 根据运单号和自编码分组查询出未签收的数量
|
|
|
|
|
// List<NoSignNumberDTO> noSignNumberDTOS = orderPackageService.findNoSignNumber(packageCodeList);
|
|
|
|
|
// log.info("未签收数据:{}", JSONUtil.toJsonStr(noSignNumberDTOS));
|
|
|
|
|
// Map<String, Integer> noSignNumberMap = new HashMap<>();
|
|
|
|
|
// if (CollUtil.isNotEmpty(noSignNumberDTOS)) {
|
|
|
|
|
// for (NoSignNumberDTO noSignNumberDTO : noSignNumberDTOS) {
|
|
|
|
|
// noSignNumberMap.put(noSignNumberDTO.getDepartCode() + noSignNumberDTO.getPlatformOrderCode(), noSignNumberDTO.getNum());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (CollUtil.isNotEmpty(orders)) {
|
|
|
|
|
// for (NodeConfirmParamDTO order : orders) {
|
|
|
|
|
// order.setOperator(entries.getStr("operator"));
|
|
|
|
|
// order.setOperatorTime(entries.getStr("operatorTime"));
|
|
|
|
|
// order.setAddress(entries.getStr("address"));
|
|
|
|
|
// // 如果是签收节点,需要判断是否为全部签收和部分签收
|
|
|
|
|
// if (EnumUtil.equals(NodeEnums.CLERK_REVIEW, node)) {
|
|
|
|
|
// ZbFactoryNodeOrderEntity nodeOrder = nodeOrderService.getOne(Wrappers.<ZbFactoryNodeOrderEntity>lambdaQuery()
|
|
|
|
|
// .eq(ZbFactoryNodeOrderEntity::getPlatformOrderCode, order.getPlatformOrderCode())
|
|
|
|
|
// .eq(ZbFactoryNodeOrderEntity::getDepartCode, order.getDepartCode())
|
|
|
|
|
// );
|
|
|
|
|
// Boolean flag = Boolean.FALSE;
|
|
|
|
|
// if (ObjectUtil.isNotEmpty(nodeOrder)) {
|
|
|
|
|
// flag = Boolean.TRUE;
|
|
|
|
|
// }
|
|
|
|
|
// log.info("key:{},签收数量:{}", order.getDepartCode() + "_" + order.getPlatformOrderCode(), order.getSignQty());
|
|
|
|
|
// Integer signNumber = Convert.toInt(order.getSignQty());
|
|
|
|
|
// // 查询当前未签收的数量与当前签收数量比较,如果未签收数较大,则是部分签收
|
|
|
|
|
// String key = order.getDepartCode() + order.getPlatformOrderCode();
|
|
|
|
|
// // 部分签收
|
|
|
|
|
// order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_SECTION_STATUS).getCode());
|
|
|
|
|
// if (ObjectUtil.isNotEmpty(noSignNumberMap) && noSignNumberMap.containsKey(key)) {
|
|
|
|
|
// Integer noSignNum = noSignNumberMap.get(key);
|
|
|
|
|
// if (noSignNum <= signNumber) {
|
|
|
|
|
// // 全部签收
|
|
|
|
|
// order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums, ZbomConstants.Status.SIGN_FOR_ALL_STATUS).getCode());
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// // 第一次签收,节点改为送货抵达
|
|
|
|
|
// if (flag) {
|
|
|
|
|
// order.setRejectQty("");
|
|
|
|
|
// order.setSignQty("");
|
|
|
|
|
// order.setNode(ZbomNodeEnums.DELIVERY_ARRIVAL.getCode());
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// order.setRejectQty("");
|
|
|
|
|
// order.setSignQty("");
|
|
|
|
|
// order.setNode(ZbomNodeMappingEnums.getZbomByNodeAndStatus(nodeEnums).getCode());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return orders;
|
|
|
|
|
// }
|
|
|
|
|
// return null;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
private boolean checkMsg(String msg) { |
|
|
|
|
Boolean flag = Boolean.FALSE; |
|
|
|
|