Compare commits

...

5 Commits

  1. 11
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/SkOrderServiceImpl.java
  2. 55
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/YyOrderServiceImpl.java

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

@ -6,13 +6,10 @@ import com.dxhy.base.common.constant.OrderManagementConstant;
import com.dxhy.base.common.model.OrderInfo; import com.dxhy.base.common.model.OrderInfo;
import com.dxhy.base.common.model.R; import com.dxhy.base.common.model.R;
import com.dxhy.base.common.utils.DecimalCalculateUtil; import com.dxhy.base.common.utils.DecimalCalculateUtil;
import com.dxhy.base.service.module.buyer.model.BuyerEntity;
import com.dxhy.base.service.module.buyer.service.BuyerService;
import com.dxhy.base.service.module.thirdservice.simsback.model.TaxEquipmentInfo; import com.dxhy.base.service.module.thirdservice.simsback.model.TaxEquipmentInfo;
import com.dxhy.base.service.module.thirdservice.simsback.service.SimsBackService; import com.dxhy.base.service.module.thirdservice.simsback.service.SimsBackService;
import com.dxhy.base.service.module.thirdservice.user.model.DeptEntity; import com.dxhy.base.service.module.thirdservice.user.model.DeptEntity;
import com.dxhy.base.service.module.thirdservice.user.service.UserInfoService; import com.dxhy.base.service.module.thirdservice.user.service.UserInfoService;
import com.dxhy.base.service.openapi.protocol.qd.PageGfxxReq;
import com.dxhy.base.thirdservice.module.base.service.BaseService; import com.dxhy.base.thirdservice.module.base.service.BaseService;
import com.dxhy.base.thirdservice.module.thirdservice.redis.service.RedissonService; import com.dxhy.base.thirdservice.module.thirdservice.redis.service.RedissonService;
import com.dxhy.management.common.constant.ConfigureConstant; import com.dxhy.management.common.constant.ConfigureConstant;
@ -49,6 +46,7 @@ import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
@ -80,8 +78,6 @@ public class YyOrderServiceImpl implements OrderService {
@Resource @Resource
private AllocateInvoiceInterfaceServiceV3 allocateInvoiceInterfaceServiceImplV3; private AllocateInvoiceInterfaceServiceV3 allocateInvoiceInterfaceServiceImplV3;
@Resource
private BuyerService buyerService;
@Resource @Resource
private SimsBackService simsBackService; private SimsBackService simsBackService;
@ -184,8 +180,14 @@ public class YyOrderServiceImpl implements OrderService {
try { try {
if (locked){ if (locked){
List<YyOrderItemInfo> yyOrderItemInfoList = yyOrderItemInfoMapper.queryOrderItemInfo(yyOrderInfo.getId()); List<YyOrderItemInfo> yyOrderItemInfoList = yyOrderItemInfoMapper.queryOrderItemInfo(yyOrderInfo.getId());
boolean fpresent = yyOrderItemInfoList.stream().anyMatch(item->DecimalCalculateUtil.stringLessZero(item.getIsum()));
boolean zpresent = yyOrderItemInfoList.stream().anyMatch(item->DecimalCalculateUtil.stringMoreZero(item.getIsum()));
if (fpresent && zpresent && yyOrderItemInfoList.size() > ConfigureConstant.INT_2){
backMessage.add(String.format(message, yyOrderInfo.getCdlcode(), "含有负数行订单明细不能超过两行"));
continue;
}
if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)) { if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)) {
DdpcxxReqBO ddpcxxReqBO = transitionReadData(yyOrderInfo, yyOrderItemInfoList, deptEntity); DdpcxxReqBO ddpcxxReqBO = transitionReadData(fpresent && zpresent,yyOrderInfo, yyOrderItemInfoList, deptEntity);
DdpcxxRspBO ddpcxxRspBO = allocateInvoiceInterfaceServiceImplV3.allocateInvoicesV3(ddpcxxReqBO, "", null, ConfigurerInfo.INTERFACE_VERSION_V6); DdpcxxRspBO ddpcxxRspBO = allocateInvoiceInterfaceServiceImplV3.allocateInvoicesV3(ddpcxxReqBO, "", null, ConfigurerInfo.INTERFACE_VERSION_V6);
log.debug("V3生成预制返回信息:{}", JSON.toJSONString(ddpcxxRspBO)); log.debug("V3生成预制返回信息:{}", JSON.toJSONString(ddpcxxRspBO));
String format = String.format(message, yyOrderInfo.getCdlcode(), ddpcxxRspBO.getZTXX()); String format = String.format(message, yyOrderInfo.getCdlcode(), ddpcxxRspBO.getZTXX());
@ -295,20 +297,34 @@ public class YyOrderServiceImpl implements OrderService {
DynamicContextHolder.push(ConfigureConstant.MAIN); DynamicContextHolder.push(ConfigureConstant.MAIN);
tInvoiceInvmapMapper.deleteBackMsg(fphm); tInvoiceInvmapMapper.deleteBackMsg(fphm);
for (NewTable newTable : newTableList) { for (NewTable newTable : newTableList) {
DynamicContextHolder.push(nsrsbh); //判断是否存在逗号
List<InvoiceBpmmap> ddbhList = yyOrderMapper.getDdbh(newTable.getCDLCode()); log.debug("cdlCode:{}", newTable.getCDLCode());
log.debug("查询到中间表信息:{}", JSON.toJSONString(ddbhList)); List<String> ddhList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(ddbhList)) { if (newTable.getCDLCode().contains(",") || newTable.getCDLCode().contains(",")){
for (InvoiceBpmmap invoiceBpmmap : ddbhList) { String[] ddhs = newTable.getCDLCode().replace(",", ",").split(",");
NewTable newTableFull = new NewTable(); ddhList = Arrays.asList(ddhs);
BeanUtil.copyProperties(newTable, newTableFull); }else {
newTableFull.setBpmNo(invoiceBpmmap.getBpmno()); ddhList.add(newTable.getCDLCode());
newTableFull.setBpmlsNo(invoiceBpmmap.getBpmlsno()); }
DynamicContextHolder.push(ConfigureConstant.MAIN); log.debug("cdlCodeList:{}", JSON.toJSONString(ddhList));
count += tInvoiceInvmapMapper.insertBackMsg(newTableFull); for (String cdlCode : ddhList) {
} DynamicContextHolder.push(nsrsbh);
List<InvoiceBpmmap> ddbhList = yyOrderMapper.getDdbh(cdlCode);
log.debug("查询到中间表信息:{}", JSON.toJSONString(ddbhList));
if (CollectionUtils.isNotEmpty(ddbhList)) {
for (InvoiceBpmmap invoiceBpmmap : ddbhList) {
NewTable newTableFull = new NewTable();
BeanUtil.copyProperties(newTable, newTableFull);
newTableFull.setBpmNo(invoiceBpmmap.getBpmno());
newTableFull.setBpmlsNo(invoiceBpmmap.getBpmlsno());
newTableFull.setCDLCode(cdlCode);
DynamicContextHolder.push(ConfigureConstant.MAIN);
count += tInvoiceInvmapMapper.insertBackMsg(newTableFull);
}
}
} }
} }
return count; return count;
@ -361,7 +377,7 @@ public class YyOrderServiceImpl implements OrderService {
return ConfigureConstant.INT_1; return ConfigureConstant.INT_1;
} }
public DdpcxxReqBO transitionReadData(YyOrderInfo yyOrderInfo, List<YyOrderItemInfo> yyOrderItemInfoList, DeptEntity deptEntity) { public DdpcxxReqBO transitionReadData(boolean isZk,YyOrderInfo yyOrderInfo, List<YyOrderItemInfo> yyOrderItemInfoList, DeptEntity deptEntity) {
TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(deptEntity.getTaxpayerCode(), deptEntity.getDeptId()); TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(deptEntity.getTaxpayerCode(), deptEntity.getDeptId());
@ -411,7 +427,6 @@ public class YyOrderServiceImpl implements OrderService {
String invoiceAmount = ConfigureConstant.STRING_0; String invoiceAmount = ConfigureConstant.STRING_0;
String taxAmount = ConfigureConstant.STRING_0; String taxAmount = ConfigureConstant.STRING_0;
boolean isZk = yyOrderItemInfoList.size()>ConfigureConstant.INT_1;
String xmmc = yyOrderItemInfoList.get(ConfigureConstant.INT_0).getCinvname(); String xmmc = yyOrderItemInfoList.get(ConfigureConstant.INT_0).getCinvname();
if (isZk){ if (isZk){
List<YyOrderItemInfo> collect = yyOrderItemInfoList.stream().filter(item -> DecimalCalculateUtil.stringCompare(item.getIsum(), ConfigureConstant.STRING_0) > ConfigureConstant.INT_0).collect(Collectors.toList()); List<YyOrderItemInfo> collect = yyOrderItemInfoList.stream().filter(item -> DecimalCalculateUtil.stringCompare(item.getIsum(), ConfigureConstant.STRING_0) > ConfigureConstant.INT_0).collect(Collectors.toList());

Loading…
Cancel
Save