|
|
|
@ -913,7 +913,7 @@ public class OrderMergeServiceImpl implements OrderMergeService { |
|
|
|
|
baseInfoQueryBO.setUserId(String.valueOf(userInfoService.getUser().getUserId())); |
|
|
|
|
List<SysBaseInfoEntity> sysBaseInfoEntityList = baseInfoService.queryInfoByCache(baseInfoQueryBO); |
|
|
|
|
//合并同类商品规则类型,默认为 ‘商品名称、规格型号、税率、单价、税收分类编码均一致’
|
|
|
|
|
String mergeCommodityRuleType = OrderInfoEnum.MERGE_COMMODITY_RULE_TYPE_0.getKey(); |
|
|
|
|
String mergeCommodityRuleType = OrderInfoEnum.MERGE_COMMODITY_RULE_TYPE_2.getKey(); |
|
|
|
|
if(CollectionUtil.isNotEmpty(sysBaseInfoEntityList) && Objects.nonNull(sysBaseInfoEntityList.get(0))){ |
|
|
|
|
SysBaseInfoEntity sysBaseInfoEntity = sysBaseInfoEntityList.get(0); |
|
|
|
|
String value = sysBaseInfoEntity.getValue(); |
|
|
|
@ -937,6 +937,8 @@ public class OrderMergeServiceImpl implements OrderMergeService { |
|
|
|
|
List<OrderItemInfo> mergeOutItem = orderItemInfos.stream().filter(t -> !mergeInItem.contains(t)).collect(Collectors.toList()); |
|
|
|
|
String sksbCode = orderInfo.getSksbCode(); |
|
|
|
|
boolean termType = OrderInfoEnum.TAX_EQUIPMENT_FGBW.equals(sksbCode) || OrderInfoEnum.TAX_EQUIPMENT_FGUKEY.equals(sksbCode); |
|
|
|
|
//获取合并规则
|
|
|
|
|
String mergeRuleType = queryMergeCommodityRuleType(orderInfo.getNsrsbh()); |
|
|
|
|
//根据配置去判断合并规则
|
|
|
|
|
Map<String, List<OrderItemInfo>> collect1 = orderItemInfos.stream().map(t->{ |
|
|
|
|
t.setXmmc(StringUtils.isBlank(t.getXmmc())?"":t.getXmmc()); |
|
|
|
@ -944,7 +946,7 @@ public class OrderMergeServiceImpl implements OrderMergeService { |
|
|
|
|
t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh()); |
|
|
|
|
t.setZxbm(StringUtils.isBlank(t.getZxbm())?"":t.getZxbm()); |
|
|
|
|
return t; |
|
|
|
|
}).collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm() + t.getZxbm())); |
|
|
|
|
}).collect(Collectors.groupingBy(t->OrderMergeUtil.getOrderItemInfoKey(t, mergeRuleType))); |
|
|
|
|
List<OrderItemInfo> orderItemInfoList = new ArrayList<>(); |
|
|
|
|
List<String> deleteItem = new ArrayList<>(); |
|
|
|
|
log.debug("明细合并前明细数据,{}",JSONObject.toJSONString(orderItemInfos)); |
|
|
|
@ -1024,7 +1026,7 @@ public class OrderMergeServiceImpl implements OrderMergeService { |
|
|
|
|
commonOrderInfo.setOrderInfo(orderInfoNew); |
|
|
|
|
commonOrderInfo.setProcessInfo(orderProcessInfoNew); |
|
|
|
|
try { |
|
|
|
|
apiInvoiceCommonService.saveItemMergeOrderInfo(commonOrderInfo); |
|
|
|
|
apiInvoiceCommonService.saveItemMergeOrderInfo(commonOrderInfo,deleteItem); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("明细合并更新数据库出错{}",e); |
|
|
|
|
return R.error(); |
|
|
|
|