From 4e863aa69ebb75ad5dda1ef45f64441cf264115f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Fri, 1 Sep 2023 14:52:34 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/InterfaceController.java | 7 ++++++ .../main/java/com/dxhy/erp/model/ZDATAN.java | 24 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATAN.java diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 70474ab8..8fef20a8 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1414,5 +1414,12 @@ public class InterfaceController extends AbstractController { } + public static void main(String[] args) { + String request = "{\"IS_INPUT\":{\"SYSID\":\"SAP\",\"IFYWID\":\"FI849\",\"SAPKEY\":\"GXC0612212150025\",\"ZFILED1\":\"FI\",\"ZFILED5\":850,\"ZDATA\":\"[{\\\"MANDT\\\":\\\"850\\\",\\\"ZBZDH\\\":\\\"GXC0612212150025\\\",\\\"ZFPDM\\\":\\\"\\\",\\\"ZFPHM\\\":\\\"\\\",\\\"JXSZC\\\":495.15,\\\"ZZCYY\\\":\\\"\\\",\\\"BUDAT\\\":\\\"2022-12-15\\\"}]\"}}"; + + ErpInvoiceData erpInvoiceData = JSON.parseObject(request, ErpInvoiceData.class); + System.out.println(erpInvoiceData); + } + } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATAN.java b/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATAN.java new file mode 100644 index 00000000..b6e3cf8e --- /dev/null +++ b/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATAN.java @@ -0,0 +1,24 @@ +package com.dxhy.erp.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ZDATAN { + @JsonProperty(value = "IS_INPUT") + private String MANDT; + @JsonProperty(value = "IS_INPUT") + private String ZBZDH; + @JsonProperty(value = "IS_INPUT") + private String ZFPDM; + @JsonProperty(value = "IS_INPUT") + private String ZFPHM; + @JsonProperty(value = "IS_INPUT") + private BigDecimal JXSZC; + @JsonProperty(value = "IS_INPUT") + private String ZZCYY; + @JsonProperty(value = "IS_INPUT") + private String BUDAT; +} From 46be2cb67ee09e1e6247a14d83476f0f52dd7d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Mon, 4 Sep 2023 11:18:10 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=BF=9B=E9=A1=B9=E7=A8=8E=E8=BD=AC?= =?UTF-8?q?=E5=87=BA=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE=E6=95=B4=E4=BD=93?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=92=8C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/InterfaceController.java | 69 +++++++++++++++++-- .../service/BaseIReceiptInvoiceService.java | 2 +- .../dxhy/erp/service/IReceiptOutService.java | 10 ++- .../impl/BaseIReceiptInvoiceServiceImpl.java | 2 +- .../service/impl/ReceiptOutServiceImpl.java | 39 +++++++---- 5 files changed, 101 insertions(+), 21 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 8fef20a8..b6173e29 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1259,7 +1259,7 @@ public class InterfaceController extends AbstractController { } } - public String transferOut(ErpInvoiceData erpInvoiceData){ + public String transferOuts(ErpInvoiceData erpInvoiceData){ String zdata = erpInvoiceData.getIS_INPUT().getZDATA(); List list = JSON.parseArray(zdata, Map.class); @@ -1414,12 +1414,69 @@ public class InterfaceController extends AbstractController { } - public static void main(String[] args) { - String request = "{\"IS_INPUT\":{\"SYSID\":\"SAP\",\"IFYWID\":\"FI849\",\"SAPKEY\":\"GXC0612212150025\",\"ZFILED1\":\"FI\",\"ZFILED5\":850,\"ZDATA\":\"[{\\\"MANDT\\\":\\\"850\\\",\\\"ZBZDH\\\":\\\"GXC0612212150025\\\",\\\"ZFPDM\\\":\\\"\\\",\\\"ZFPHM\\\":\\\"\\\",\\\"JXSZC\\\":495.15,\\\"ZZCYY\\\":\\\"\\\",\\\"BUDAT\\\":\\\"2022-12-15\\\"}]\"}}"; + public String transferOut(@RequestBody ErpInvoiceData erpInvoiceData){ + try { + //转化实体 + String zdata = erpInvoiceData.getIS_INPUT().getZDATA(); + List zdatans = JSONObject.parseArray(zdata, ZDATAN.class); + //返回结果实体 + OutPut outPut = new OutPut(); + EsOutPutResp es = new EsOutPutResp(); + es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY()); + es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY()); - ErpInvoiceData erpInvoiceData = JSON.parseObject(request, ErpInvoiceData.class); - System.out.println(erpInvoiceData); - } + //校验发票号码 + boolean allMatch = zdatans.stream().allMatch(e -> StringUtils.isNotBlank(e.getZFPHM())); + //号码存在为空直接返回错误 + if (!allMatch) { + es.setZTYPE("E"); + es.setZMESSAGE("发票号码不能为空"); + outPut.setES_OUTPUT(es); + log.info("进项税转出传入发票存在没有发票号码发票"); + return JsonUtils.getInstance().toJsonString(outPut); + } + StringBuilder uuids = new StringBuilder(); + zdatans.forEach(e -> uuids.append(e.getZFPDM() == null ? "" : e.getZFPDM()).append(e.getZFPHM())); + + //根据uuid查询发票 + String[] ids = uuids.toString().split(","); + List tDxRecordInvoices = baseIReceiptInvoiceService.selectByUuids(ids); + if (tDxRecordInvoices == null || tDxRecordInvoices.size() == 0 || tDxRecordInvoices.size() != ids.length) { + es.setZTYPE("E"); + es.setZMESSAGE("发票在发票系统中不存在"); + outPut.setES_OUTPUT(es); + log.info("进项税转出传入发票在发票系统中不存在"); + return JsonUtils.getInstance().toJsonString(outPut); + } + List collect = tDxRecordInvoices.stream().filter(e -> "0".equals(e.getRzhYesorno())).collect(Collectors.toList()); + if (collect.size() > 0) { + es.setZTYPE("E"); + es.setZMESSAGE("发票未认证不可转出"); + outPut.setES_OUTPUT(es); + log.info("进项税转出传入发票存在未认证发票"); + return JsonUtils.getInstance().toJsonString(outPut); + } + //进项税转出或者取消转出 + UserInfo userInfo = getUserInfo(); + iReceiptOutService.transferOrcancelOut(zdatans,userInfo); + es.setZTYPE("Y"); + es.setZMESSAGE("操作成功"); + log.info("进项税转出成功"); + return JsonUtils.getInstance().toJsonString(es); + }catch (Exception e){ + e.printStackTrace(); + log.error("error", e.getMessage()); + OutPut outPut = new OutPut(); + EsOutPutResp es = new EsOutPutResp(); + es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY()); + es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY()); + es.setZTYPE("E"); + es.setZMESSAGE("系统内部错误"); + outPut.setES_OUTPUT(es); + return JsonUtils.getInstance().toJsonString(outPut); + } + } + } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java index d4ee01f7..f8c959a9 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java @@ -31,6 +31,6 @@ public interface BaseIReceiptInvoiceService { * 请求参数 * @return 返回结果 */ - String cancelOut(BaseReceiptOutCancelEditReqVO reqVO); + String cancelOut(BaseReceiptOutCancelEditReqVO reqVO) throws Exception; } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java index 01f71d7d..ae08af61 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java @@ -2,7 +2,13 @@ package com.dxhy.erp.service; import com.dxhy.common.vo.UserInfo; import com.dxhy.erp.entity.BaseInvoiceEditVO; +import com.dxhy.erp.entity.BaseTDxRecordInvoice; import com.dxhy.erp.model.ErpInvoiceData; +import com.dxhy.erp.model.ZDATAN; +import org.junit.jupiter.api.parallel.Execution; + +import java.util.List; +import java.util.concurrent.ExecutionException; /** * @Author wangzhikun @@ -10,5 +16,7 @@ import com.dxhy.erp.model.ErpInvoiceData; */ public interface IReceiptOutService { - String transfer(BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo); + String transfer(BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo) throws Exception; + + String transferOrcancelOut(List zdatans,UserInfo userInfo) throws Exception; } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java index 4594ec06..b36e1e16 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java @@ -63,7 +63,7 @@ public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl invoices = baseIReceiptInvoiceService.selectByUuids(ids); - if(CollectionUtils.isEmpty(invoices)){ - 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 outs = listByUuids(ids); Map outMap = @@ -80,11 +72,34 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl zdatans,UserInfo userInfo) throws Exception{ + String result = ""; + for (ZDATAN zdata : zdatans) { + //转出税额大于1则是转出 + if (zdata.getJXSZC().compareTo(BigDecimal.ZERO)==1){ + BaseInvoiceEditVO baseInvoiceEditVO = new BaseInvoiceEditVO(); + baseInvoiceEditVO.setPrimaryKey(zdata.getZFPDM()==null?"":zdata.getZFPDM()+zdata.getZFPHM()); + baseInvoiceEditVO.setOutReason(zdata.getZZCYY()); + baseInvoiceEditVO.setOutTax(zdata.getJXSZC().toPlainString()); + baseInvoiceEditVO.setOutStatus("1"); + baseInvoiceEditVO.setOutTaxPeriod(zdata.getBUDAT()); + this.transfer(baseInvoiceEditVO,userInfo); + }else {//转出税额小于0取消转出 + BaseReceiptOutCancelEditReqVO baseReceiptOutCancelEditReqVO = new BaseReceiptOutCancelEditReqVO(); + baseReceiptOutCancelEditReqVO.setPrimaryKey(zdata.getZFPDM()==null?"":zdata.getZFPDM()+zdata.getZFPHM()); + baseIReceiptInvoiceService.cancelOut(baseReceiptOutCancelEditReqVO); + } + } + return TransferContant.SUCCESS; + } + /** * 根据uuids查询进项税转出明细 * From c57856d3ec00832989d276adfac91d189569f631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Mon, 4 Sep 2023 13:31:27 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=BF=9B=E9=A1=B9=E7=A8=8E=E8=BD=AC?= =?UTF-8?q?=E5=87=BA=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E6=BA=90=E5=88=87?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/dxhy/erp/controller/InterfaceController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index b6173e29..642dad74 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1440,6 +1440,7 @@ public class InterfaceController extends AbstractController { //根据uuid查询发票 String[] ids = uuids.toString().split(","); + DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); List tDxRecordInvoices = baseIReceiptInvoiceService.selectByUuids(ids); if (tDxRecordInvoices == null || tDxRecordInvoices.size() == 0 || tDxRecordInvoices.size() != ids.length) { es.setZTYPE("E"); @@ -1457,7 +1458,7 @@ public class InterfaceController extends AbstractController { return JsonUtils.getInstance().toJsonString(outPut); } //进项税转出或者取消转出 - UserInfo userInfo = getUserInfo(); + UserInfo userInfo = new UserInfo(); iReceiptOutService.transferOrcancelOut(zdatans,userInfo); es.setZTYPE("Y"); es.setZMESSAGE("操作成功"); From f3d5fddaba955bdc6ecb8d41e020e7264745c705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Mon, 4 Sep 2023 17:33:20 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=BF=9B=E9=A1=B9=E7=A8=8E=E8=BD=AC?= =?UTF-8?q?=E5=87=BA=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE=E6=95=B4=E4=BD=93?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=92=8C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/controller/InterfaceController.java | 2 +- .../com/dxhy/erp/service/BaseIReceiptInvoiceService.java | 2 +- .../main/java/com/dxhy/erp/service/IReceiptOutService.java | 4 ++-- .../erp/service/impl/BaseIReceiptInvoiceServiceImpl.java | 5 ++++- .../com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java | 4 ++-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 642dad74..064eeb3d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1436,7 +1436,7 @@ public class InterfaceController extends AbstractController { return JsonUtils.getInstance().toJsonString(outPut); } StringBuilder uuids = new StringBuilder(); - zdatans.forEach(e -> uuids.append(e.getZFPDM() == null ? "" : e.getZFPDM()).append(e.getZFPHM())); + zdatans.forEach(e -> uuids.append(e.getZFPDM() == null ? "" : e.getZFPDM()).append(e.getZFPHM()).append(",")); //根据uuid查询发票 String[] ids = uuids.toString().split(","); diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java index f8c959a9..d4ee01f7 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java @@ -31,6 +31,6 @@ public interface BaseIReceiptInvoiceService { * 请求参数 * @return 返回结果 */ - String cancelOut(BaseReceiptOutCancelEditReqVO reqVO) throws Exception; + String cancelOut(BaseReceiptOutCancelEditReqVO reqVO); } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java index ae08af61..7418da4e 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/IReceiptOutService.java @@ -16,7 +16,7 @@ import java.util.concurrent.ExecutionException; */ public interface IReceiptOutService { - String transfer(BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo) throws Exception; + String transfer(BaseInvoiceEditVO baseInvoiceEditVO, UserInfo userInfo); - String transferOrcancelOut(List zdatans,UserInfo userInfo) throws Exception; + String transferOrcancelOut(List zdatans,UserInfo userInfo); } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java index b36e1e16..d93f72c7 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java @@ -63,7 +63,7 @@ public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.set("out_status",condRecord.getOutStatus()); updateWrapper.set("out_reason",condRecord.getOutReason()); @@ -130,6 +132,7 @@ public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl zdatans,UserInfo userInfo) throws Exception{ + public String transferOrcancelOut(List zdatans,UserInfo userInfo){ String result = ""; for (ZDATAN zdata : zdatans) { //转出税额大于1则是转出 From fb986f0a2950272cb0d7abd8461b8b94b28f9c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Fri, 15 Sep 2023 14:43:14 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/InterfaceController.java | 13 ++++++++++++- .../service/impl/ReceiptOutServiceImpl.java | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 064eeb3d..7b2ccb4f 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1464,7 +1464,18 @@ public class InterfaceController extends AbstractController { es.setZMESSAGE("操作成功"); log.info("进项税转出成功"); return JsonUtils.getInstance().toJsonString(es); - }catch (Exception e){ + }catch(RuntimeException e){ + e.printStackTrace(); + log.error("error", e.getMessage()); + OutPut outPut = new OutPut(); + EsOutPutResp es = new EsOutPutResp(); + es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY()); + es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY()); + es.setZTYPE("E"); + es.setZMESSAGE(e.getMessage()); + outPut.setES_OUTPUT(es); + return JsonUtils.getInstance().toJsonString(outPut); + } catch (Exception e){ e.printStackTrace(); log.error("error", e.getMessage()); OutPut outPut = new OutPut(); diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java index 685657cc..1552fcd1 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java @@ -19,6 +19,7 @@ import com.dxhy.erp.service.BaseIReceiptInvoiceService; import com.dxhy.erp.service.IReceiptOutService; import com.dxhy.erp.utils.JsonUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -152,10 +153,19 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl0){ + throw new RuntimeException("累计转出税额不能大于发票税额"); + } // 转出金额 condRecord.setOutInvoiceAmout(record.getInvoiceAmount()); // 转出税额 condRecord.setOutTaxAmount(record.getDkTaxAmount()); + if (condRecord.getOutTaxAmount() == null){ + condRecord.setOutTaxAmount(new BigDecimal(condVO.getOutTax())); + } + if (condRecord.getOutTaxAmount().compareTo(record.getTaxAmount()) > 0){ + throw new RuntimeException("转出税额不能大于发票税额"); + } } /*部分转出 */ if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) { @@ -221,10 +231,19 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl0){ + throw new RuntimeException("累计转出税额不能大于发票税额"); + } // 转出金额 record.setOutInvoiceAmout(invoice.getInvoiceAmount()); // 转出税额 record.setOutTaxAmount(invoice.getDkTaxAmount()); + if (record.getOutTaxAmount() == null){ + record.setOutTaxAmount(new BigDecimal(condVO.getOutTax())); + } + if (record.getOutTaxAmount().compareTo(invoice.getTaxAmount()) > 0){ + throw new RuntimeException("转出税额不能大于发票税额"); + } } /* 部分转出 */ if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) { From 9b7d664675b56190354049ecb0d806e759b3fca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Mon, 18 Sep 2023 16:21:53 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E7=A8=8E=E9=A2=9D=E5=B0=8F=E4=BA=8E?= =?UTF-8?q?=E9=9B=B6=E7=9A=84=E4=B8=8D=E8=83=BD=E8=BD=AC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/controller/InterfaceController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index 7b2ccb4f..11e2deda 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -1457,6 +1457,14 @@ public class InterfaceController extends AbstractController { log.info("进项税转出传入发票存在未认证发票"); return JsonUtils.getInstance().toJsonString(outPut); } + List collect1 = tDxRecordInvoices.stream().filter(e -> BigDecimal.ZERO.compareTo(e.getTaxAmount()) > 0).collect(Collectors.toList()); + if (collect1 != null && collect1.size()>0){ + es.setZTYPE("E"); + es.setZMESSAGE("税额小于零不可转出"); + outPut.setES_OUTPUT(es); + log.info("进项税转出传入发票存在税额小于零发票"); + return JsonUtils.getInstance().toJsonString(outPut); + } //进项税转出或者取消转出 UserInfo userInfo = new UserInfo(); iReceiptOutService.transferOrcancelOut(zdatans,userInfo);