feature:时空支持多明细行开票

reBack
路明慧 11 months ago
parent 5c151a08ff
commit 754a625711
  1. 11
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/SkOrderServiceImpl.java

@ -180,8 +180,14 @@ public class SkOrderServiceImpl implements OrderService {
try {
if (locked){
List<SkOrderItemInfo> skOrderItemInfoList = skOrderItemInfoMapper.queryOrderItemInfo(skOrderInfo.getId());
boolean fpresent = skOrderItemInfoList.stream().filter(item -> DecimalCalculateUtil.stringLessZero(item.getHsje())).findFirst().isPresent();
boolean zpresent = skOrderItemInfoList.stream().filter(item -> DecimalCalculateUtil.stringMoreZero(item.getHsje())).findFirst().isPresent();
if (fpresent && zpresent && skOrderItemInfoList.size() > ConfigureConstant.INT_2){
backMessage.add(String.format(message, skOrderInfo.getXsddm(), "负数行订单明细不能超过两行"));
continue;
}
if (CollectionUtils.isNotEmpty(skOrderItemInfoList)) {
DdpcxxReqBO ddpcxxReqBO = transitionReadData(skOrderInfo, skOrderItemInfoList, deptEntity);
DdpcxxReqBO ddpcxxReqBO = transitionReadData(fpresent && zpresent,skOrderInfo, skOrderItemInfoList, deptEntity);
DdpcxxRspBO ddpcxxRspBO = allocateInvoiceInterfaceServiceImplV3.allocateInvoicesV3(ddpcxxReqBO, "", null, ConfigurerInfo.INTERFACE_VERSION_V6);
log.debug("V3生成预制返回信息:{}", JSON.toJSONString(ddpcxxRspBO));
String format = String.format(message, skOrderInfo.getXsddm(), ddpcxxRspBO.getZTXX());
@ -338,7 +344,7 @@ public class SkOrderServiceImpl implements OrderService {
return ConfigureConstant.INT_1;
}
public DdpcxxReqBO transitionReadData(SkOrderInfo skOrderInfo, List<SkOrderItemInfo> skOrderItemInfoList, DeptEntity deptEntity) {
public DdpcxxReqBO transitionReadData(boolean isZk, SkOrderInfo skOrderInfo, List<SkOrderItemInfo> skOrderItemInfoList, DeptEntity deptEntity) {
TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(deptEntity.getTaxpayerCode(), deptEntity.getDeptId());
@ -387,7 +393,6 @@ public class SkOrderServiceImpl implements OrderService {
String invoiceAmount = ConfigureConstant.STRING_0;
String taxAmount = ConfigureConstant.STRING_0;
boolean isZk = skOrderItemInfoList.size()>ConfigureConstant.INT_1;
String xmmc = skOrderItemInfoList.get(ConfigureConstant.INT_0).getCpmc();
if (isZk){
List<SkOrderItemInfo> collect = skOrderItemInfoList.stream().filter(item -> DecimalCalculateUtil.stringCompare(item.getHsje(), ConfigureConstant.STRING_0) > ConfigureConstant.INT_0).collect(Collectors.toList());

Loading…
Cancel
Save