From 6ca70bea9a055b34e0d7837c485944226d918fd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 14 Nov 2023 08:52:40 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImageSubmitServiceImpl.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index c3d4c475..df4da04d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -69,7 +69,17 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { queryWrapper.in("uuid", uuidList); List invoicesList = tdxRecordInvoiceDao.selectList(queryWrapper); if (invoicesList == null || invoicesList.size() == 0) { - return R.error(500, "未查询到发票信息,请重新查验"); + QueryWrapper salesQueryWrapper = new QueryWrapper<>(); + salesQueryWrapper.in("uuid", uuidList); + List saleRecordInvoices = sdnyTDxSaleRecordInvoiceDao.selectList(salesQueryWrapper); + if (saleRecordInvoices == null || saleRecordInvoices.size() == 0) { + return R.error(500, "未查询到发票信息,请重新查验"); + } + invoicesList = new ArrayList<>(); + for (SdnyTDxSaleRecordInvoice item : saleRecordInvoices) { + SdnyTDxRecordInvoice invoice = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoice.class); + invoicesList.add(invoice); + } } if (invoicesList.size() != uuidList.size()) { StringBuffer msg = new StringBuffer(); @@ -88,7 +98,17 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { detailQueryWrapper.in("uuid", uuidList); List detailList = detailDao.selectList(detailQueryWrapper); if (detailList == null || detailList.size() == 0) { - return R.error(500,"未查询到发票明细信息,请重新查验"); + QueryWrapper salesQueryWrapper = new QueryWrapper<>(); + salesQueryWrapper.in("uuid", uuidList); + List salesDetailList = sdnyTDxSaleRecordInvoiceDao.selectList(salesQueryWrapper); + if (salesDetailList == null || salesDetailList.size() == 0) { + return R.error(500,"未查询到发票明细信息,请重新查验"); + } + detailList = new ArrayList<>(); + for (SdnyTDxRecordInvoiceDetailSales item : salesDetailList) { + SdnyTDxRecordInvoiceDetail detail = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoiceDetail.class); + detailList.add(detail); + } } Map> detailiMap = new HashMap<>(); detailList.stream().forEach(item -> { From 0b1c42e89f0b7ac6a45c9f6e7102b1352e90b389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 14 Nov 2023 10:22:56 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SDNYMainProcessController.java | 23 ++++++++++++++++++- .../erp/service/SNPushCheckRecordService.java | 8 +++---- .../service/impl/ImageSubmitServiceImpl.java | 4 ++-- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java index f5bf6160..03faa832 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java @@ -630,9 +630,30 @@ public class SDNYMainProcessController extends AbstractController { QueryWrapper saleDetailWrapper = new QueryWrapper<>(); saleDetailWrapper.eq("invoice_no", invoiceNo); List recordInvoiceSaleDetailModel = snPushCheckRecordService.selectSaleListByWrapper(saleDetailWrapper); + List baseTDxRecordInvoiceDetail = null; + if(recordInvoiceSaleDetailModel == null || recordInvoiceSaleDetailModel.size() == 0){ + log.info("明细行为空,查验补充信息"); + checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap, null); + + if (!checkInvoiceResult.containsKey("code")) { + if (!checkInvoiceResult.containsKey("cyjg")) { + snPushCheckRecordService.updateInvoice(dbName, checkInvoiceResult, recordWrapper); + QueryWrapper detailWrapper = new QueryWrapper<>(); + detailWrapper.eq("uuid", uuid); + baseTDxRecordInvoiceDetail = snPushCheckRecordService.selectRecordDetailListByWrapper(detailWrapper); + } else if (checkInvoiceResult.containsKey("cyjg") && !"0001".equals(checkInvoiceResult.getString("cyjg"))) { + data = errorInfo(checkInvoiceResult, data); + return ResponseEntity.ok(JSONObject.toJSONString(data)); + } + } + checkInvoiceByUuid = snPushCheckRecordService.selectRecordByWrapper(recordWrapper); + } JSONObject checkInvoice = (JSONObject) JSONObject.toJSON(tdxSaleRecordInvoice); JSONArray saleDetail = (JSONArray) JSONObject.toJSON(recordInvoiceSaleDetailModel); + if(baseTDxRecordInvoiceDetail!= null && baseTDxRecordInvoiceDetail.size() > 0){ + saleDetail = (JSONArray) JSONObject.toJSON(baseTDxRecordInvoiceDetail); + } convertToResult(checkInvoice, saleDetail); data.put("data", checkInvoice); @@ -1400,7 +1421,7 @@ public class SDNYMainProcessController extends AbstractController { * @param params * @return */ - //@PostMapping("/imageSubmitSalesInvoice") + @PostMapping("/imageSubmitSalesInvoice") @ResponseBody @SysLog("影像系统提交销项发票") public ResponseEntity imageSubmitSalesInvoice(@RequestBody SNRequestObject params) { diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 069753c9..d6ec0dc0 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -1243,10 +1243,10 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { public void updateInvoice(String dbName, JSONObject checkInvoiceResult, QueryWrapper recordWrapper) throws Exception { //先删除原有主数据,再查验更新主数据和明细数据 int delete = snPushCheckRecordService.deleteRecordByWrapper(recordWrapper); - if (delete > 0) { - checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); - signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", dbName); - } + + checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); + signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", dbName); + } } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index df4da04d..c7cc9f62 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -98,9 +98,9 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { detailQueryWrapper.in("uuid", uuidList); List detailList = detailDao.selectList(detailQueryWrapper); if (detailList == null || detailList.size() == 0) { - QueryWrapper salesQueryWrapper = new QueryWrapper<>(); + QueryWrapper salesQueryWrapper = new QueryWrapper<>(); salesQueryWrapper.in("uuid", uuidList); - List salesDetailList = sdnyTDxSaleRecordInvoiceDao.selectList(salesQueryWrapper); + List salesDetailList = detailSalesDao.selectList(salesQueryWrapper); if (salesDetailList == null || salesDetailList.size() == 0) { return R.error(500,"未查询到发票明细信息,请重新查验"); } From 4f55ef2b31a12de45246cc6b2e1ee22a11769486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Thu, 23 Nov 2023 15:17:29 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/entity/sdny/S4Request.java | 12 ++++++++++++ .../erp/service/impl/ImageSubmitServiceImpl.java | 4 ++-- 升级sql/销项发票提交.sql | 4 +++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/S4Request.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/S4Request.java index 5ca78cc1..dd4bfe6d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/S4Request.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/S4Request.java @@ -1,5 +1,6 @@ package com.dxhy.erp.entity.sdny; +import com.alibaba.fastjson.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,16 +24,27 @@ import javax.xml.bind.annotation.XmlRootElement; @NoArgsConstructor public class S4Request { + @JSONField(name = "SYSID") private String SYSID; + @JSONField(name = "IFYWID") private String IFYWID; + @JSONField(name = "BSKEY") private String BSKEY; + @JSONField(name = "SAPKEY") private String SAPKEY; + @JSONField(name = "ZORG") private String ZORG; + @JSONField(name = "ZFILED1") private String ZFILED1; + @JSONField(name = "ZFILED2") private String ZFILED2; + @JSONField(name = "ZFILED3") private String ZFILED3; + @JSONField(name = "ZFILED4") private String ZFILED4; + @JSONField(name = "ZFILED5") private String ZFILED5; + @JSONField(name = "ZDATA") private String ZDATA; diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index c7cc9f62..e586333b 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -30,7 +30,7 @@ import java.util.*; import java.util.stream.Collectors; @Service -//@Transactional(rollbackFor = Exception.class) +@Transactional(rollbackFor = Exception.class) @Slf4j public class ImageSubmitServiceImpl implements ImageSubmitService { @@ -337,7 +337,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { param.put("IS_INPUT", request); //推送到SAP log.info("推送山能数据:{}", JSONObject.toJSONString(param)); - String result = snPushCheckRecordService.pushCheckResultToSAP(param.toJSONString()); + String result = snPushCheckRecordService.pushCheckResultToSAP(JSONObject.toJSONString(param)); JSONObject rs = JSONObject.parseObject(result).getJSONObject("ES_OUTPUT"); if (!"S".equals(rs.getString("ZTYPE"))) { return R.error(500,rs.getString("ZMESSAGE")); diff --git a/升级sql/销项发票提交.sql b/升级sql/销项发票提交.sql index 50f5399f..f7e06653 100644 --- a/升级sql/销项发票提交.sql +++ b/升级sql/销项发票提交.sql @@ -10,4 +10,6 @@ ALTER TABLE `dxhy_tertiary`.`t_dx_sale_record_invoice` MODIFY COLUMN `image_id` ALTER TABLE `dxhy_tertiary`.`t_dx_sale_record_invoice` MODIFY COLUMN `sn_voucher_number` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '山能凭证号' AFTER `account_period`; -ALTER TABLE `dxhy_detail`.`t_dx_record_invoice_detail_sales` MODIFY COLUMN `tax_code` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '税码' AFTER `kce`; \ No newline at end of file +ALTER TABLE `dxhy_tertiary`.`t_dx_record_invoice_detail_sales` MODIFY COLUMN `tax_code` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '税码' AFTER `kce`; + +ALTER TABLE dxhy_tertiary.t_dx_sale_record_invoice ADD INDEX image_id(image_id); From 8b274893ebc35c9da919c60bbfb8c92ef864a96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Fri, 24 Nov 2023 09:12:32 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=9F=A5=E9=AA=8C=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/dxhy/erp/entity/sdny/SNRequestObject.java | 1 + .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNRequestObject.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNRequestObject.java index 2f1d9fee..f3fb78cd 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNRequestObject.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNRequestObject.java @@ -2,6 +2,7 @@ package com.dxhy.erp.entity.sdny; import lombok.Data; +import java.util.Date; import java.util.List; @Data diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index e586333b..b2094e70 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -182,6 +182,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { saleRecordInvoice.setSort(paramsInvoiceMap.get(invoice.getUuid()).getSort()); saleRecordInvoice.setFileId(paramsInvoiceMap.get(invoice.getUuid()).getFileId()); saleRecordInvoice.setFileName(paramsInvoiceMap.get(invoice.getUuid()).getFileName()); + saleRecordInvoice.setCheckDate(DateUtils.strToDate(paramsInvoiceMap.get(invoice.getUuid()).getCheckDate())); salesInvoiceList.add(saleRecordInvoice); }); @@ -269,7 +270,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { zdata.setZGXR(params.getJbrUserNum()); zdata.setZCYZT("1"); zdata.setZCYJG("查验成功"); - zdata.setZCYRQ(dt); + zdata.setZCYRQ(DateUtils.dateToStr(item.getCheckDate(),"yyyy-MM-dd HH:mm:ss")); zdata.setZBHSJE_Y(item.getInvoiceAmount().toPlainString()); zdata.setZZSE_Y(item.getTaxAmount().toPlainString()); zdata.setZHSJE_Y(item.getTotalAmount().toPlainString()); From 97c482a904a41ce01b98e3e427c27d1043c4d0ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Fri, 24 Nov 2023 15:11:47 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9F=A5=E9=AA=8C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=A0=81=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/controller/SDNYMainProcessController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java index 03faa832..f1d13bc2 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java @@ -706,7 +706,7 @@ public class SDNYMainProcessController extends AbstractController { } } else { //其他类发票,直接入库 - R data = new R(1000, "default success"); + R data = new R(500, "default success"); if (checkInvoiceResult != null && !checkInvoiceResult.isEmpty()) { log.info("其他类发票,不做查验,直接入库"); data.put("message", "success");