feature:回写

zkh
路明慧 11 months ago
parent 9a6b00c67d
commit 5fb1dc0dd2
  1. 2
      order-management-order/src/main/java/com/dxhy/order/consumer/dao/SkOrderMapper.java
  2. 5
      order-management-order/src/main/java/com/dxhy/order/consumer/dao/YyOrderInfoMapper.java
  3. 8
      order-management-order/src/main/java/com/dxhy/order/consumer/dao/YyOrderMapper.java
  4. 10
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/FileModel.java
  5. 10
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/sk/SkOrderInfo.java
  6. 13
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/yy/InvoiceBpmmap.java
  7. 38
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/yy/NewTable.java
  8. 5
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/yy/YyOrderItemInfo.java
  9. 12
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java
  10. 9
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderService.java
  11. 91
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java
  12. 16
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/SkOrderServiceImpl.java
  13. 95
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/YyOrderServiceImpl.java
  14. 4
      order-management-order/src/main/resources/mybatis/mapper/SkOrderMapper.xml
  15. 12
      order-management-order/src/main/resources/mybatis/mapper/YyOrderInfoMapper.xml
  16. 102
      order-management-order/src/main/resources/mybatis/mapper/YyOrderMapper.xml

@ -13,4 +13,6 @@ public interface SkOrderMapper {
//查询订单明细信息
List<SkOrderItemInfo> findOrderDetailList(String xsddm);
int updateOrder(SkOrderInfo skOrderInfo);
}

@ -2,6 +2,7 @@ package com.dxhy.order.consumer.dao;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -18,4 +19,8 @@ public interface YyOrderInfoMapper {
//删除订单
int delOrder(ReqParam reqParam);
int updateStatus(@Param("cdlcode") String cdlcode, @Param("status") String status);
YyOrderInfo getSaveOrder(String originDdh);
}

@ -1,6 +1,8 @@
package com.dxhy.order.consumer.dao;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import com.dxhy.order.consumer.modules.bespoke.model.yy.InvoiceBpmmap;
import com.dxhy.order.consumer.modules.bespoke.model.yy.NewTable;
import com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderInfo;
import com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderItemInfo;
@ -13,4 +15,10 @@ public interface YyOrderMapper {
//订单明细读取
List<YyOrderItemInfo> findOrderDetailList(String cdlcode);
//插入回写信息
int insertBackMsg(NewTable newTable);
//根据订单编号查询订单信息
List<InvoiceBpmmap> getDdbh(String cdlCode);
}

@ -0,0 +1,10 @@
package com.dxhy.order.consumer.modules.bespoke.model.req;
import lombok.Data;
@Data
public class FileModel {
private String code;
private String fileName;
private String filePath;
}

@ -81,4 +81,14 @@ public class SkOrderInfo {
* 修改时间
*/
private Date updateTime;
/**
* 发票号码
*/
private String fph;
/**
* 发票代码
*/
private String biaoshi;
}

@ -0,0 +1,13 @@
package com.dxhy.order.consumer.modules.bespoke.model.yy;
import lombok.Data;
@Data
public class InvoiceBpmmap {
private String cdlcode;
private String bpmno;
private String bpmlsno;
}

@ -0,0 +1,38 @@
package com.dxhy.order.consumer.modules.bespoke.model.yy;
import lombok.Data;
import java.util.Date;
@Data
public class NewTable {
//自增ID
private int autoId;
//发货单号
private String cDLCode;
//发票号
private String invoiceNo;
//发票代码
private String invoiceCode;
//开票时间
private Date invoiceTime;
//开票金额
private String invoiceAmount;
//发票图片,文件存储路径
private String invoicePhoto;
//发票文件名
private String invoiceFilename;
//订单明细id
private String bpmlsNo;
//订单号
private String bpmNo;
//开票人
private String operater;
//操作时间
private Date operateDate;
//开票主体,存储的税号
private String shipper;
//状态,系统对接的默认值为1
private String status;
}

@ -59,4 +59,9 @@ public class YyOrderItemInfo {
* 修改时间
*/
private Date updateTime;
/**
* 用友订单明细id
*/
private String yyItemId;
}

@ -1,8 +1,10 @@
package com.dxhy.order.consumer.modules.bespoke.service;
import cn.hutool.core.io.file.FileMode;
import com.dxhy.base.common.model.R;
import com.dxhy.order.baseservice.exception.OrderReceiveException;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.consumer.modules.bespoke.model.req.FileModel;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import java.util.List;
@ -47,7 +49,7 @@ public interface OrderHandleService {
int createOrderByCopyInvoice(String fpqqlsh, List<String> shList, List<String> entList,String fpzldm) throws OrderReceiveException;
String saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo);
FileModel saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo);
/**
* 发送邮件
@ -55,4 +57,12 @@ public interface OrderHandleService {
* @return
*/
int emailSend(ReqParam reqParam);
/**
* huixie
* @param msg
* @return
*/
R backMsg(String msg);
}

@ -1,8 +1,13 @@
package com.dxhy.order.consumer.modules.bespoke.service;
import com.dxhy.base.common.model.R;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.baseservice.model.OrderOriginExtendInfo;
import com.dxhy.order.consumer.modules.bespoke.model.req.FileModel;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import java.util.List;
public interface OrderService {
//订单读入
@ -16,4 +21,8 @@ public interface OrderService {
//生成预制发票
R orderExtract(ReqParam reqParam);
//订单回传
R backMsg(OrderInvoiceInfo orderInvoiceInfo,List<OrderOriginExtendInfo> orderOriginExtendInfos, FileModel fileModel);
}

@ -1,5 +1,6 @@
package com.dxhy.order.consumer.modules.bespoke.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.extra.spring.SpringUtil;
@ -20,12 +21,15 @@ import com.dxhy.order.baseservice.constant.NsrQueueEnum;
import com.dxhy.order.baseservice.exception.OrderReceiveException;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.baseservice.model.OrderOriginExtendInfo;
import com.dxhy.order.baseservice.model.queue.CommonTsMqData;
import com.dxhy.order.baseservice.model.queue.FpYxTsMqData;
import com.dxhy.order.consumer.dao.OrderOriginExtendInfoMapper;
import com.dxhy.order.consumer.dao.OrderProcessInfoMapper;
import com.dxhy.order.consumer.modules.bespoke.config.FtpConfig;
import com.dxhy.order.consumer.modules.bespoke.config.FtpProperties;
import com.dxhy.order.consumer.modules.bespoke.config.ServiceConfig;
import com.dxhy.order.consumer.modules.bespoke.config.datasource.config.DynamicContextHolder;
import com.dxhy.order.consumer.modules.bespoke.model.req.FileModel;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import com.dxhy.order.consumer.modules.bespoke.service.FtpProcessor;
import com.dxhy.order.consumer.modules.bespoke.service.OrderHandleService;
@ -41,6 +45,7 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@ -49,6 +54,7 @@ import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.jar.Pack200;
@ -257,7 +263,11 @@ public class OrderHandleServiceImpl implements OrderHandleService {
}
@Override
public String saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo) {
public FileModel saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo) {
//返回实体
FileModel fileModel = new FileModel();
//查询文件
Date kprq = orderInvoiceInfo.getKprq();
String xhfNsrsbh = orderInvoiceInfo.getXhfNsrsbh();
String entId = orderInvoiceInfo.getEntId();
@ -265,6 +275,10 @@ public class OrderHandleServiceImpl implements OrderHandleService {
TaxEquipmentInfo taxEquipmentInfo = simsBackService.queryTaxEquipment(xhfNsrsbh, entId);
//获取文件
List<FileDownLoad> invoiceFile = orderInvoiceInfoService.getInvoiceFile("", orderInvoiceInfo, taxEquipmentInfo.getSksbCode(), OrderInfoEnum.FILE_TYPE_PDF.getKey());
if (CollectionUtils.isEmpty(invoiceFile)) {
fileModel.setCode(ConfigureConstant.STRING_9999);
return fileModel;
}
FileDownLoad fileDownLoad = invoiceFile.get(ConfigureConstant.INT_0);
//拼接路径
StringBuilder path = new StringBuilder(ftpProperties.getBasePath());
@ -286,9 +300,13 @@ public class OrderHandleServiceImpl implements OrderHandleService {
boolean flag = ftpProcessor.uploadFile(path.toString(), fileDownLoad.getFileName(), utf8Stream);
if (flag){
return path.append(ConfigureConstant.STRING_SLASH_LINE).append(fileDownLoad.getFileName()).toString();
fileModel.setCode(ConfigureConstant.STRING_0000);
fileModel.setFilePath(path.toString());
fileModel.setFileName(fileDownLoad.getFileName());
return fileModel;
}
return "";
fileModel.setCode(ConfigureConstant.STRING_9999);
return fileModel;
}
@Override
@ -326,4 +344,71 @@ public class OrderHandleServiceImpl implements OrderHandleService {
return count;
}
@Override
public R backMsg(String message) {
CommonTsMqData commonTsMqData = JsonUtils.getInstance().parseObject(message, CommonTsMqData.class);
List<String> shList = Arrays.asList(commonTsMqData.getNsrsbh());
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpqqlsh(commonTsMqData.getFpTsMqData().getFpqqlsh(), shList);
if (ObjectUtils.isEmpty(orderInvoiceInfo)){
log.error("发票信息不存在无法进行推送");
updatePushErrorMsgToDb(commonTsMqData.getFpTsMqData().getFpqqlsh(),"发票信息不存在无法进行推送", shList);
return R.error("发票信息不存在");
}
//保存版式文件到ftp
FileModel fileModel = saveInvoiceFile(orderInvoiceInfo);
//获取原始订单信息
OrderOriginExtendInfo orderOriginExtendInfo = new OrderOriginExtendInfo();
orderOriginExtendInfo.setOrderId(orderInvoiceInfo.getOrderInfoId());
List<OrderOriginExtendInfo> orderOriginExtendInfos = orderOriginExtendInfoMapper.queryOriginOrderByOrder(orderOriginExtendInfo, shList);
if (CollectionUtils.isEmpty(orderOriginExtendInfos)){
updatePushErrorMsgToDb(commonTsMqData.getFpTsMqData().getFpqqlsh(),"原始订单信息不存在无法进行推送", shList);
log.error("原始订单信息不存在无法进行推送");
}
OrderService orderService = SpringUtil.getBean(ServiceConfig.getService(commonTsMqData.getNsrsbh()), OrderService.class);
R r;
try {
r = orderService.backMsg(orderInvoiceInfo,orderOriginExtendInfos,fileModel);
}catch (Exception e){
log.error("推送失败", e);
r = R.error("推送时发生异常");
}finally {
DynamicContextHolder.push(com.dxhy.management.common.constant.ConfigureConstant.MAIN);
}
if (ConfigureConstant.STRING_0000.equals(r.get(ConfigureConstant.CODE))){
updateSuccessMsg(commonTsMqData.getFpTsMqData().getFpqqlsh(), shList);
log.info("推送成功");
}
updatePushErrorMsgToDb(commonTsMqData.getFpTsMqData().getFpqqlsh(),r.get(ConfigureConstant.MSG).toString(), shList);
return r;
}
private void updatePushErrorMsgToDb(String fpqqlsh, String errorMessage, List<String> shList) {
if (StringUtils.isNotBlank(fpqqlsh) && CollUtil.isNotEmpty(shList)) {
OrderInvoiceInfo orderQuery = new OrderInvoiceInfo();
orderQuery.setFpqqlsh(fpqqlsh);
orderQuery.setPushStatus(OrderInfoEnum.PUSH_STATUS_2.getKey());
orderQuery.setInvoicePushSbyy(errorMessage);
int updateByPrimaryKeySelective = orderInvoiceInfoService.updateOrderInvoiceInfoByFpqqlsh(orderQuery, shList);
if (updateByPrimaryKeySelective <= 0) {
log.error("{}推送状态更新失败");
}
}
}
private void updateSuccessMsg(String fpqqlsh, List<String> shList) {
if (StringUtils.isNotBlank(fpqqlsh) && CollUtil.isNotEmpty(shList)) {
OrderInvoiceInfo orderQuery = new OrderInvoiceInfo();
orderQuery.setFpqqlsh(fpqqlsh);
orderQuery.setPushStatus(OrderInfoEnum.PUSH_STATUS_1.getKey());
int updateByPrimaryKeySelective = orderInvoiceInfoService.updateOrderInvoiceInfoByFpqqlsh(orderQuery, shList);
if (updateByPrimaryKeySelective <= 0) {
log.error("{}推送状态更新失败");
}
}
}
}

@ -18,10 +18,13 @@ import com.dxhy.management.common.constant.ConfigureConstant;
import com.dxhy.management.model.excel.InvoiceCountExcel;
import com.dxhy.order.baseservice.constant.ConfigurerInfo;
import com.dxhy.order.baseservice.constant.OrderValidateEnum;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.baseservice.model.OrderOriginExtendInfo;
import com.dxhy.order.consumer.dao.SkOrderInfoMapper;
import com.dxhy.order.consumer.dao.SkOrderItemInfoMapper;
import com.dxhy.order.consumer.dao.SkOrderMapper;
import com.dxhy.order.consumer.modules.bespoke.config.datasource.config.DynamicContextHolder;
import com.dxhy.order.consumer.modules.bespoke.model.req.FileModel;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import com.dxhy.order.consumer.modules.bespoke.model.sk.SkOrderInfo;
import com.dxhy.order.consumer.modules.bespoke.model.sk.SkOrderItemInfo;
@ -167,6 +170,19 @@ public class SkOrderServiceImpl implements OrderService {
return R.ok(backMessage);
}
@Override
public R backMsg(OrderInvoiceInfo orderInvoiceInfo, List<OrderOriginExtendInfo> orderOriginExtendInfos, FileModel fileModel) {
for (OrderOriginExtendInfo orderOriginExtendInfo : orderOriginExtendInfos) {
SkOrderInfo skOrderInfo = new SkOrderInfo();
skOrderInfo.setXsddm(orderOriginExtendInfo.getOriginDdh());
skOrderInfo.setFph(orderInvoiceInfo.getSdfphm());
skOrderInfo.setBiaoshi(orderInvoiceInfo.getKplx());
skOrderMapper.updateOrder(skOrderInfo);
}
return R.ok();
}
@Transactional
public int saveOrder(SkOrderInfo skOrderInfo, List<SkOrderItemInfo> skOrderItemInfoList, ReqParam reqParam) {

@ -1,7 +1,9 @@
package com.dxhy.order.consumer.modules.bespoke.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSON;
import com.dxhy.base.common.constant.OrderManagementConstant;
import com.dxhy.base.common.model.OrderItemInfo;
import com.dxhy.base.common.model.R;
import com.dxhy.base.common.utils.DecimalCalculateUtil;
import com.dxhy.base.service.module.buyer.model.BuyerEntity;
@ -16,31 +18,35 @@ import com.dxhy.base.thirdservice.module.base.service.BaseService;
import com.dxhy.management.common.constant.ConfigureConstant;
import com.dxhy.order.baseservice.constant.ConfigurerInfo;
import com.dxhy.order.baseservice.constant.OrderValidateEnum;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.baseservice.model.OrderOriginExtendInfo;
import com.dxhy.order.consumer.dao.YyOrderInfoMapper;
import com.dxhy.order.consumer.dao.YyOrderItemInfoMapper;
import com.dxhy.order.consumer.dao.YyOrderMapper;
import com.dxhy.order.consumer.modules.bespoke.config.datasource.config.DynamicContextHolder;
import com.dxhy.order.consumer.modules.bespoke.model.req.FileModel;
import com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam;
import com.dxhy.order.consumer.modules.bespoke.model.sk.SkOrderInfo;
import com.dxhy.order.consumer.modules.bespoke.model.sk.SkOrderItemInfo;
import com.dxhy.order.consumer.modules.bespoke.model.yy.InvoiceBpmmap;
import com.dxhy.order.consumer.modules.bespoke.model.yy.NewTable;
import com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderInfo;
import com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderItemInfo;
import com.dxhy.order.consumer.modules.bespoke.service.OrderService;
import com.dxhy.order.consumer.openapi.protocol.v4.order.*;
import com.dxhy.order.consumer.openapi.protocol.v6.order.QdTxxBO;
import com.dxhy.order.consumer.openapi.service.AllocateInvoiceInterfaceServiceV3;
import com.dxhy.order.invoice.module.invoice.dao.OrderItemInfoMapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.*;
@Slf4j
@Service("yyOrderService")
@ -70,6 +76,9 @@ public class YyOrderServiceImpl implements OrderService {
@Resource
private SimsBackService simsBackService;
@Resource
private OrderItemInfoMapper orderItemInfoMapper;
//订单读入
@Override
public R orderRead(ReqParam reqParam) {
@ -80,7 +89,7 @@ public class YyOrderServiceImpl implements OrderService {
List<YyOrderInfo> yyOrderInfoList = yyOrderMapper.findOrderHeadList(reqParam);
log.debug("查询到订单数据:{}", JSON.toJSONString(yyOrderInfoList));
if (CollectionUtils.isNotEmpty(yyOrderInfoList)){
if (CollectionUtils.isNotEmpty(yyOrderInfoList)) {
for (YyOrderInfo yyOrderInfo : yyOrderInfoList) {
@ -88,14 +97,14 @@ public class YyOrderServiceImpl implements OrderService {
List<YyOrderItemInfo> yyOrderItemInfoList = yyOrderMapper.findOrderDetailList(yyOrderInfo.getCdlcode());
log.debug("查询到订单明细数据:{}", JSON.toJSONString(yyOrderItemInfoList));
if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)){
if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)) {
DynamicContextHolder.push(ConfigureConstant.MAIN);
count+= saveOrder(yyOrderInfo, yyOrderItemInfoList, reqParam);
count += saveOrder(yyOrderInfo, yyOrderItemInfoList, reqParam);
}
}
}
return R.ok("成功读取"+count+"条订单数据");
return R.ok("成功读取" + count + "条订单数据");
}
@Override
@ -113,7 +122,7 @@ public class YyOrderServiceImpl implements OrderService {
public R delOrder(ReqParam reqParam) {
int count = yyOrderInfoMapper.delOrder(reqParam);
yyOrderItemInfoMapper.delOrder(reqParam.getIds());
return R.ok("成功删除"+count+"条订单数据");
return R.ok("成功删除" + count + "条订单数据");
}
@Override
@ -143,17 +152,19 @@ public class YyOrderServiceImpl implements OrderService {
for (YyOrderInfo yyOrderInfo : yyOrderInfoList) {
try {
List<YyOrderItemInfo> yyOrderItemInfoList = yyOrderItemInfoMapper.queryOrderItemInfo(yyOrderInfo.getId());
if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)){
DdpcxxReqBO ddpcxxReqBO = transitionReadData(yyOrderInfo,yyOrderItemInfoList, deptEntity);
if (CollectionUtils.isNotEmpty(yyOrderItemInfoList)) {
DdpcxxReqBO ddpcxxReqBO = transitionReadData(yyOrderInfo, yyOrderItemInfoList, deptEntity);
DdpcxxRspBO ddpcxxRspBO = allocateInvoiceInterfaceServiceImplV3.allocateInvoicesV3(ddpcxxReqBO, "", null, ConfigurerInfo.INTERFACE_VERSION_V6);
log.debug("V3生成预制返回信息:{}", JSON.toJSONString(ddpcxxRspBO));
String format = String.format(message, yyOrderInfo.getCdlcode(), ddpcxxRspBO.getZTXX());
if (ddpcxxRspBO.getZTDM().equals(OrderValidateEnum.INVOICE_ERROR_CODE_010000_V3.getKey())) {
backMessage.add(com.dxhy.base.common.constant.ConfigureConstant.INT_0, format);
//添加状态修改
yyOrderInfoMapper.updateStatus(yyOrderInfo.getCdlcode(), ConfigureConstant.STRING_1);
backMessage.add(ConfigureConstant.INT_0, format);
} else {
backMessage.add(format);
}
}else {
} else {
backMessage.add(String.format(message, yyOrderInfo.getCdlcode(), "订单明细信息丢失请删除重新读入"));
}
@ -167,11 +178,62 @@ public class YyOrderServiceImpl implements OrderService {
return R.ok(backMessage);
}
@Override
public R backMsg(OrderInvoiceInfo orderInvoiceInfo, List<OrderOriginExtendInfo> orderOriginExtendInfos, FileModel fileModel) {
List<NewTable> newTableList = new ArrayList<>();
for (OrderOriginExtendInfo orderOriginExtendInfo : orderOriginExtendInfos) {
NewTable newTable = new NewTable();
newTable.setCDLCode(orderOriginExtendInfo.getOriginDdh());
newTable.setInvoiceCode(orderInvoiceInfo.getSdfphm());
newTable.setInvoiceTime(orderInvoiceInfo.getKprq());
newTable.setInvoiceAmount(orderInvoiceInfo.getKphjje());
newTable.setInvoicePhoto(fileModel.getFilePath());
newTable.setInvoiceFilename(fileModel.getFileName());
newTable.setOperater(orderInvoiceInfo.getKpr());
newTable.setOperateDate(orderInvoiceInfo.getKprq());
newTableList.add(newTable);
}
log.debug("待回传数据:{}", JSON.toJSONString(newTableList));
DynamicContextHolder.push(orderInvoiceInfo.getXhfNsrsbh());
int count = accressReback(newTableList);
if (count >=newTableList.size()){
return R.ok("成功回传" + count + "条数据");
}
return R.error("回传失败");
}
@Transactional
public int accressReback(List<NewTable> newTableList) {
int count = ConfigureConstant.INT_0;
for (NewTable newTable : newTableList) {
List<InvoiceBpmmap> ddbhList = yyOrderMapper.getDdbh(newTable.getCDLCode());
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());
count+= yyOrderMapper.insertBackMsg(newTableFull);
}
}
}
return count;
}
@Transactional
public int saveOrder(YyOrderInfo yyOrderInfo, List<YyOrderItemInfo> yyOrderItemInfoList, ReqParam reqParam) {
YyOrderInfo checkOrderExist = yyOrderInfoMapper.checkOrderExist(yyOrderInfo.getCdlcode());
if (checkOrderExist != null){
if (checkOrderExist != null) {
log.debug("订单已存在,订单编号:{}", yyOrderInfo.getCdlcode());
return ConfigureConstant.INT_0;
}
@ -198,10 +260,10 @@ public class YyOrderServiceImpl implements OrderService {
yyOrderInfo.setDetailCount(String.valueOf(yyOrderItemInfoList.size()));
yyOrderInfo.setHsje(hsje.add(se).setScale(ConfigureConstant.INT_2).toPlainString());
yyOrderInfo.setSe(se.setScale(ConfigureConstant.INT_2).toPlainString());
if (yyOrderInfo.getCvouchtype().equals(ConfigureConstant.STRING_26)){
if (yyOrderInfo.getCvouchtype().equals(ConfigureConstant.STRING_26)) {
yyOrderInfo.setCvouchtype(ConfigureConstant.STRING_001);
}
if (yyOrderInfo.getCvouchtype().equals(ConfigureConstant.STRING_27)){
if (yyOrderInfo.getCvouchtype().equals(ConfigureConstant.STRING_27)) {
yyOrderInfo.setCvouchtype(ConfigureConstant.STRING_002);
}
yyOrderInfoMapper.insertYyOrderInfo(yyOrderInfo);
@ -276,6 +338,7 @@ public class YyOrderServiceImpl implements OrderService {
ddmxxxBO.setFPHXZ(ConfigureConstant.STRING_0);
ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1);
ddmxxxBO.setBYZD1(yyOrderItemInfo.getIunitprice());
ddmxxxBO.setBYZD2(yyOrderItemInfo.getYyItemId());
//累计求金额和税额
invoiceAmount = DecimalCalculateUtil.bigDecimalAdd(invoiceAmount, yyOrderItemInfo.getIsum(), ConfigureConstant.INT_2);
taxAmount = DecimalCalculateUtil.bigDecimalAdd(taxAmount, yyOrderItemInfo.getItax(), ConfigureConstant.INT_2);

@ -33,4 +33,8 @@
from v_invoice_detail_fp
where xsddm = #{xsddm}
</select>
<update id="updateOrder" parameterType="com.dxhy.order.consumer.modules.bespoke.model.sk.SkOrderInfo">
update v_invoice_head_fp set fph = #{fph},biaoshi = #{biaoshi} where XSDDM = #{xsddm}
</update>
</mapper>

@ -182,4 +182,16 @@
#{id}
</foreach>
</delete>
<update id="updateStatus">
update yy_order_info set status = #{status} where cdlcode = #{cdlcode}
</update>
<select id="getSaveOrder" resultMap="YyOrderInfoResult">
<include refid="selectYyOrderInfoVo"/>
where nsrsbh = #{nsrsbh}
and ent_id = #{entId}
and cdlcode = #{cdlcode}
and status = '1'
</select>
</mapper>

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.dxhy.order.consumer.dao.YyOrderMapper">
<select id="findOrderHeadList" resultType="com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderInfo" parameterType="com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam">
<select id="findOrderHeadList" resultType="com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderInfo"
parameterType="com.dxhy.order.consumer.modules.bespoke.model.req.ReqParam">
select cvouchtype,
ccusregcode,
ccusname,
@ -25,8 +25,10 @@
</where>
</select>
<select id="findOrderDetailList" resultType="com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderItemInfo" parameterType="java.lang.String">
select cinvname,
<select id="findOrderDetailList" resultType="com.dxhy.order.consumer.modules.bespoke.model.yy.YyOrderItemInfo"
parameterType="java.lang.String">
select id as yyItemId,
cinvname,
cinvstd,
ccomunitname,
iquantity,
@ -37,4 +39,96 @@
from v_invoice_detail
where cdlcode = #{xsddm}
</select>
<insert id="insertBackMsg" parameterType="com.dxhy.order.consumer.modules.bespoke.model.yy.NewTable">
insert into NewTable
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="cDLCode != null">
cDLCode,
</if>
<if test="invoiceNo != null">
invoiceNo,
</if>
<if test="invoiceCode != null">
invoiceCode,
</if>
<if test="invoiceTime != null">
invoiceTime,
</if>
<if test="invoiceAmount != null">
invoiceAmount,
</if>
<if test="invoicePhoto != null">
invoicePhoto,
</if>
<if test="invoiceFilename != null">
invoiceFilename,
</if>
<if test="bpmlsNo != null">
bpmlsNo,
</if>
<if test="bpmNo != null">
bpmNo,
</if>
<if test="operater != null">
operater,
</if>
<if test="operateDate != null">
operateDate,
</if>
<if test="shipper != null">
shipper,
</if>
<if test="status != null">
status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cDLCode != null">
#{cDLCode},
</if>
<if test="invoiceNo != null">
#{invoiceNo},
</if>
<if test="invoiceCode != null">
#{invoiceCode},
</if>
<if test="invoiceTime != null">
#{invoiceTime},
</if>
<if test="invoiceAmount != null">
#{invoiceAmount},
</if>
<if test="invoicePhoto != null">
#{invoicePhoto},
</if>
<if test="invoiceFilename != null">
#{invoiceFilename},
</if>
<if test="bpmlsNo != null">
#{bpmlsNo},
</if>
<if test="bpmNo != null">
#{bpmNo},
</if>
<if test="operater != null">
#{operater},
</if>
<if test="operateDate != null">
#{operateDate},
</if>
<if test="shipper != null">
#{shipper},
</if>
<if test="status != null">
#{status},
</if>
</trim>
</insert>
<select id="getDdbh" resultType="com.dxhy.order.consumer.modules.bespoke.model.yy.InvoiceBpmmap">
select cdlcode, bpmno,bpmlsno
from V_INVOICE_BPMMAP
where CDLCODE = #{cdlCode}
</select>
</mapper>

Loading…
Cancel
Save