feature:明细合并存在单条无法参与合并数据的,比对数据问题

release
gaorl 2 years ago
commit d76edb5318
  1. 12
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  2. 5
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderMergeServiceImpl.java

@ -27,7 +27,6 @@ import com.dxhy.order.baseservice.utils.BaseServiceBeanTransitionUtils;
import com.dxhy.order.constant.*;
import com.dxhy.order.consumer.dao.GroupCommodityCodeMapper;
import com.dxhy.order.consumer.dao.GsClientMapper;
import com.dxhy.order.consumer.dao.OrderBatchRequestMapper;
import com.dxhy.order.consumer.dao.OrderProcessInfoMapper;
import com.dxhy.order.consumer.model.OderDetailInfo;
import com.dxhy.order.consumer.model.PageOrderExt;
@ -36,8 +35,8 @@ import com.dxhy.order.consumer.modules.order.model.PageInvoiceItem;
import com.dxhy.order.consumer.modules.order.model.PageKySlReq;
import com.dxhy.order.consumer.modules.order.model.PageKySlRsp;
import com.dxhy.order.consumer.modules.order.model.bo.YwlxCountTotalBO;
import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo;
import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoTotalAmountVO;
import com.dxhy.order.consumer.modules.order.model.vo.OrderInfoVo;
import com.dxhy.order.consumer.modules.order.service.*;
import com.dxhy.order.consumer.modules.validate.service.ValidateOrderInfoService;
import com.dxhy.order.consumer.openapi.service.CommonInterfaceService;
@ -2027,13 +2026,16 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return R.error("根据订单号未查询到明细行信息");
}
List<OrderItemInfo> collect ;
int itemCount = -1;
if(itemList != null){
itemCount = itemList.size();
collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm()) && StringUtils.isNotBlank(t.getZxbm())).collect(Collectors.toList());
}else{
itemCount = orderItemInfos.size();
collect = orderItemInfos.stream().filter(t -> StringUtils.isNotBlank(t.getSpbm()) && StringUtils.isNotBlank(t.getZxbm())).collect(Collectors.toList());
}
//税编为空的不允许合并
if(itemList.size() != collect.size()){
if(itemCount != collect.size()){
return R.error("税收编码为空的不允许合并,请先更新税收编码");
}
TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(orderInfo.getNsrsbh(), entId);
@ -2060,10 +2062,10 @@ public class OrderInfoServiceImpl implements OrderInfoService {
try {
R r = mergeOrderItem(entId,orderInfoId, null);
if(!ConfigureConstant.STRING_0000.equals(r.getCode())){
return R.error(String.format("结算单号%s明细行合并失败",ddh));
return r;
}
} catch (Exception e) {
log.error("批量合并报错orderInfoId:{},entId:{},报错信息:{}",orderInfoId,entId,e.getMessage());
log.error("批量合并报错orderInfoId:{},entId:{},报错信息:{}",orderInfoId,entId,e);
return R.error(String.format("结算单号%s明细行合并失败",ddh));
}
}

@ -953,7 +953,10 @@ public class OrderMergeServiceImpl implements OrderMergeService {
List<String> deleteItem = new ArrayList<>();
log.debug("明细合并前明细数据,{}",JSONObject.toJSONString(orderItemInfos));
for (List<OrderItemInfo> value : collect1.values()) {
if(value.size() == 1){continue;}
if(value.size() == 1){
mergeOutItem.add(value.get(0));
continue;
}
BigDecimal xmsl = new BigDecimal("0");
BigDecimal xmje = new BigDecimal("0");
BigDecimal se = new BigDecimal("0");

Loading…
Cancel
Save