修改FI849

release
yishiqihuasheng 2 years ago
parent f7bc3117b6
commit 291d41fd38
  1. 15
      dxhy-common/src/main/java/com/dxhy/common/constant/TransferContant.java
  2. 88
      dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java
  3. 2
      dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java
  4. 3
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java
  5. 21
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java

@ -0,0 +1,15 @@
package com.dxhy.common.constant;
public class TransferContant {
public static final String SUCCESS = "SUCCESS";
public static final String INVOICE_NO_NOT_EXIT = "INVOICE_NO_NOT_EXIT";
public static final String INVOICE_NOT_EXIT = "INVOICE_NOT_EXIT";
public static final String NOT_RZ = "NOT_RZ";
public static final String CANCEL_SUCCESS = "CANCEL_SUCCESS";
}

@ -2,11 +2,13 @@ package com.dxhy.erp.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.druid.sql.ast.statement.SQLIfStatement;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.common.constant.ConfigureConstant;
import com.dxhy.common.constant.ConfigurerInfo;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.constant.TransferContant;
import com.dxhy.common.controller.AbstractController;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.RespStatusEnum;
@ -30,6 +32,7 @@ import com.dxhy.erp.utils.HmacSHA1Util;
import com.dxhy.erp.utils.JsonUtils;
import com.dxhy.erp.utils.OpenApiUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
@ -1278,46 +1281,6 @@ public class InterfaceController extends AbstractController {
"/po", JSONObject.toJSONString(fpdms),JSONObject.toJSONString(fphms), "transferOut");
transferOutRecord.setBzdh(JSONObject.toJSONString(bzdhs));
boolean fphmNotBlank = list.stream().allMatch(e -> StringUtils.isNotBlank((String)e.get("ZFPHM")));
boolean fpdmNotBlank = list.stream().allMatch(e -> StringUtils.isNotBlank((String)e.get("ZFPDM")));
if (!fpdmNotBlank || !fphmNotBlank){
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("E");
es.setZMESSAGE("传入数据存在没有发票号码或发票代码问题");
outPut.setES_OUTPUT(es);
return JsonUtils.getInstance().toJsonString(outPut);
}
StringBuilder uuids = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
String invoiceCode =(String) list.get(i).get("ZFPDM");
String invoiceNo = (String)list.get(i).get("ZFPHM");
uuids.append(invoiceCode).append(invoiceNo);
if (i<list.size()-1){
uuids.append(",");
}
}
log.info(uuids.toString());
String[] ids = uuids.toString().split(",");
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ);
List<BaseTDxRecordInvoice> invoices = baseIReceiptInvoiceService.selectByUuids(ids);
log.info("849查询到发票信息{}",invoices);
invoices = invoices.stream().filter(e->!"0".equals(e.getRzhYesorno())).collect(Collectors.toList());
log.info("过滤后发票信息{}",invoices);
if (CollectionUtils.isEmpty(invoices)){
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("E");
es.setZMESSAGE("底账数据不存在可转出发票");
outPut.setES_OUTPUT(es);
return JsonUtils.getInstance().toJsonString(outPut);
}
// for(Map<String ,Object> map:list){
// String invoiceCode =(String) map.get("ZFPDM");
@ -1354,13 +1317,21 @@ public class InterfaceController extends AbstractController {
try{
/**
* 根据金额判断是转入还是转出
*
*
*/
String transfer ="";
List<String> invoiceNoNotExit = Lists.newArrayList();
List<String> invoiceNotExit = Lists.newArrayList();
List<String> notRz = Lists.newArrayList();
List<String> success = Lists.newArrayList();
for(Map<String,Object> map:list) {
String invoiceCode =(String) map.get("ZFPDM");
String invoiceNo = (String)map.get("ZFPHM");
if (StringUtils.isBlank(invoiceNo)){
invoiceNoNotExit.add((String)map.get("ID"));
continue;
}
BigDecimal bigDecimal = (BigDecimal) map.get("JXSZC");
String outReason = (String)map.get("ZZCYY");
String outTaxPeriod = (String)map.get("BUDAT");
@ -1373,20 +1344,21 @@ public class InterfaceController extends AbstractController {
baseInvoiceEditVO.setOutTaxPeriod(outTaxPeriod);
UserInfo userInfo = new UserInfo();
if(bigDecimal.compareTo(BigDecimal.ZERO)==1){
transfer = iReceiptOutService.transfer(erpInvoiceData,baseInvoiceEditVO, userInfo);
transfer = iReceiptOutService.transfer(baseInvoiceEditVO, userInfo);
if (TransferContant.INVOICE_NOT_EXIT.equals(transfer)){
invoiceNotExit.add((String)map.get("ZFPHM"));
}else if (TransferContant.NOT_RZ.equals(transfer)){
notRz.add((String)map.get("ZFPHM"));
}else if (TransferContant.SUCCESS.equals(transfer)){
success.add((String)map.get("ZFPHM"));
}
}else {
BaseReceiptOutCancelEditReqVO baseReceiptOutCancelEditReqVO = new BaseReceiptOutCancelEditReqVO();
baseReceiptOutCancelEditReqVO.setPrimaryKey(uuid);
String s = baseIReceiptInvoiceService.cancelOut(baseReceiptOutCancelEditReqVO);
if(s.equals("取消转出成功")){
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("S");
es.setZMESSAGE("处理成功");
outPut.setES_OUTPUT(es);
transfer = JsonUtils.getInstance().toJsonString(outPut);
if(TransferContant.CANCEL_SUCCESS.equals(s)){
success.add((String)map.get("ZFPHM"));
}
}
}
@ -1398,7 +1370,17 @@ public class InterfaceController extends AbstractController {
log.error("FI849接口记录保存失败,errormsg:{}",e);
}
return transfer;
StringBuilder message = new StringBuilder();
message.append("ID:").append(invoiceNoNotExit).append("的发票未传入发票号码,").append("发票号码:")
.append(invoiceNotExit).append("的发票不存在,").append("发票号码:").append(notRz).append("的发票未认证,")
.append("发票号码:").append(success).append("处理成功");
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("S");
es.setZMESSAGE(message.toString());
return JsonUtils.getInstance().toJsonString(outPut);
}catch (Exception e){
log.error("error", e);
OutPut outPut = new OutPut();

@ -10,5 +10,5 @@ import com.dxhy.erp.model.ErpInvoiceData;
*/
public interface IReceiptOutService {
String transfer(ErpInvoiceData erpInvoiceData, BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo);
String transfer(BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo);
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.constant.TransferContant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.JxszcCancelEnum;
import com.dxhy.common.enums.JxszcZtEnum;
@ -68,7 +69,7 @@ public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl<BaseTDxRec
String[] uuids = reqVO.getPrimaryKey().split(",");
excuteCancelWrite(uuids);
return "取消转出成功";
return TransferContant.CANCEL_SUCCESS;
}
/**

@ -2,6 +2,7 @@ package com.dxhy.erp.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.constant.TransferContant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.JxszcCancelEnum;
import com.dxhy.common.enums.JxszcZtEnum;
@ -42,13 +43,7 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
@Resource
BaseIReceiptInvoiceService baseIReceiptInvoiceService;
@Override
public String transfer(ErpInvoiceData erpInvoiceData, BaseInvoiceEditVO condVO, UserInfo userInfo) {
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("S");
es.setZMESSAGE("处理成功");
public String transfer( BaseInvoiceEditVO condVO, UserInfo userInfo) {
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ);
String idStr = condVO.getPrimaryKey();
@ -58,12 +53,12 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
// first:查询出底账表相关数据
List<BaseTDxRecordInvoice> invoices = baseIReceiptInvoiceService.selectByUuids(ids);
if(CollectionUtils.isEmpty(invoices)){
es.setZTYPE("E");
es.setZMESSAGE("底账数据不存在");
outPut.setES_OUTPUT(es);
return JsonUtils.getInstance().toJsonString(outPut);
return TransferContant.INVOICE_NOT_EXIT;
}
invoices = invoices.stream().filter(e -> !"0".equals(e.getRzhYesorno())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(invoices)){
return TransferContant.NOT_RZ;
}
// second:根据uuids查询出转出明细并转为map,key=uuid ,value=转出明细
List<BaseTDxRecordInvoiceOut> outs = listByUuids(ids);
Map<String, BaseTDxRecordInvoiceOut> outMap =
@ -87,8 +82,8 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
DynamicContextHolder.push("business" + DbConstant.BUSINESS_WRITE);
excuteTransferWrite(condList, outList);
outPut.setES_OUTPUT(es);
return JsonUtils.getInstance().toJsonString(outPut);
return TransferContant.SUCCESS;
}
/**
* 根据uuids查询进项税转出明细

Loading…
Cancel
Save