diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java index 83c94c10..28f08e8f 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java @@ -721,6 +721,16 @@ public enum OrderInfoEnum { SPECIAL_INVOICE_STATUS_TZD0082("TZD0082", "已撤销"), SPECIAL_INVOICE_STATUS_TZD0083("TZD0083", "已作废"), SPECIAL_INVOICE_STATUS_B900071("B900071", "红字发票信息表已成功上传,无需重复上传"), + + //全电红字确认单状态 + SPECIAL_INVOICE_STATUS_01("01", "无需确认"), + SPECIAL_INVOICE_STATUS_02("02", "销方录入待购方确认"), + SPECIAL_INVOICE_STATUS_03("03", "购方录入待销方确认"), + SPECIAL_INVOICE_STATUS_04("04", "购销双方已确认"), + SPECIAL_INVOICE_STATUS_05("05", "作废(销方录入购方否认)"), + SPECIAL_INVOICE_STATUS_06("06", "作废(购方录入销方否认)"), + SPECIAL_INVOICE_STATUS_07("07", "作废(超72小时未确认)"), + SPECIAL_INVOICE_STATUS_08("08", "发起方撤销"), /** * 方格上传税局失败 */ diff --git a/order-management-common/src/main/java/com/dxhy/order/model/SpecialInvoiceReversalItem.java b/order-management-common/src/main/java/com/dxhy/order/model/SpecialInvoiceReversalItem.java index a3fc2bf3..4d824286 100644 --- a/order-management-common/src/main/java/com/dxhy/order/model/SpecialInvoiceReversalItem.java +++ b/order-management-common/src/main/java/com/dxhy/order/model/SpecialInvoiceReversalItem.java @@ -58,4 +58,9 @@ public class SpecialInvoiceReversalItem implements Serializable { private Date createTime; + /** + * 全电-蓝字发票明细序号 + */ + private String lzmxxh; + } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/config/OpenApiConfig.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/config/OpenApiConfig.java index ff2f5365..40c25919 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/config/OpenApiConfig.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/config/OpenApiConfig.java @@ -228,6 +228,12 @@ public class OpenApiConfig { */ @Value("${order.security.handlerReuqestParamUrlPaths:}") private String handlerReuqestParamUrlPaths; + + /** + * 调用大B服务URL + */ + @Value("${dxhy.userCenter.bigB.dBUserInfoUrl}") + private String dBUserInfoUrl; /** * 对外二维码短码 @@ -327,6 +333,13 @@ public class OpenApiConfig { public String configInvoiceErrorMsgList() { return invoiceErrorMsgList; } + + /** + * 查询当前组织下所有组织信息 + */ + public String queryAllDeptInfo(){ + return dBUserInfoUrl+"/api/dept/queryAllDeptInfo"; + } } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/SyncQdHzqrdTask.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/SyncQdHzqrdTask.java new file mode 100644 index 00000000..933e052d --- /dev/null +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/handle/SyncQdHzqrdTask.java @@ -0,0 +1,418 @@ +package com.dxhy.order.consumer.handle; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.dxhy.order.baseservice.module.base.service.BaseService; +import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity; +import com.dxhy.order.constant.*; +import com.dxhy.order.consumer.config.OpenApiConfig; +import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6; +import com.dxhy.order.consumer.openapi.service.InterfaceServiceV6; +import com.dxhy.order.invoice.module.invoicespecial.model.CommonSpecialInvoice; +import com.dxhy.order.invoice.module.invoicespecial.model.SpecialInvoiceReversalEntity; +import com.dxhy.order.invoice.module.invoicespecial.service.SpecialInvoiceReversalService; +import com.dxhy.order.model.SpecialInvoiceReversalItem; +import com.dxhy.order.utils.HttpUtils; +import com.dxhy.order.utils.JsonUtils; +import com.google.common.collect.Maps; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.IJobHandler; +import com.xxl.job.core.handler.annotation.JobHandler; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.entity.ContentType; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Description: 同步全电红字确认单 + * @Author liufeilong + * @Date 2023-04-15 + **/ +@Slf4j +@Component +@JobHandler(value = "/qdHzqrdTask") +@RequestMapping(value = "/qdHzqrd") +public class SyncQdHzqrdTask extends IJobHandler { + private static final String LOGGER_MSG = "(定时同步全电红字确认单)"; + + @Resource + private InterfaceServiceV6 interfaceServiceV6; + @Resource + private BaseService baseService; + @Resource + private SpecialInvoiceReversalService specialInvoiceReversalService; + @Resource + private OpenApiConfig openApiConfig; + + @Override + @PostMapping("/sync") + public ReturnT execute(String param) { + log.debug("{}定时任务开始,请求参数:{}", LOGGER_MSG, param); + try { + /** + * { + * "YHJSLX": "用户角色类型", + * "XSFNSRSBH": "(销售方)统一社会信用代码/纳税人识别号/身份证件号码", + * "XSFMC": "(销售方)名称", + * "GMFNSRSBH": "(购买方)统一社会信用代码/纳税人识别号/身份证件号码", + * "GMFMC": "(购买方)名称", + * "LRFSF": "录入方身份", + * "LRRQQ": "录入日期起", + * "LRRQZ": "录入日期止", + * "LZFPDM": "蓝字发票代码", + * "LZFPHM": "蓝字发票号码", + * "HZFPXXQRDBH": "红字确认单编号", + * "HZQRXXZTDM": "红字确认信息状态代码", + * "PAGENUMBER": "页码", + * "PAGESIZE": "每页数量" + * } + */ + Map paramMap = JsonUtils.getInstance().parseObject(param, Map.class); + List paramList = new ArrayList<>(); + if (ObjectUtil.isNull(paramMap)) { + Map shMap = new HashMap(); + final List deptEntities = queryAllDeptInfo(); + deptEntities.stream().forEach(f -> { + if(!shMap.containsKey(f.getTaxpayerCode())){ + shMap.put(f.getTaxpayerCode(),f.getTaxpayerName()); + } + }); + final org.joda.time.DateTime dateTime = new org.joda.time.DateTime(); + final String endTime = dateTime.toString(ConfigureConstant.DATE_FORMAT_DATE); + final String startTime = dateTime.minusDays(5).toString(ConfigureConstant.DATE_FORMAT_DATE); + for(Map.Entry entry:shMap.entrySet()){ + Map paramMap001 = new HashMap(); + //用户角色类型 0:销方 1:购方 + paramMap001.put("YHJSLX","0"); + paramMap001.put("XSFNSRSBH",entry.getKey()); + paramMap001.put("XSFMC",entry.getValue()); + paramMap001.put("LRRQQ",startTime); + paramMap001.put("LRRQZ",endTime); + paramMap001.put("PAGENUMBER","1"); + paramMap001.put("PAGESIZE","100"); + paramList.add(paramMap001); + + Map paramMap101 = new HashMap(); + //用户角色类型 0:销方 1:购方 + paramMap101.put("YHJSLX","1"); + paramMap101.put("GMFNSRSBH",entry.getKey()); + paramMap101.put("GMFMC",entry.getValue()); + paramMap101.put("LRRQQ",startTime); + paramMap101.put("LRRQZ",endTime); + paramMap101.put("PAGENUMBER","1"); + paramMap101.put("PAGESIZE","100"); + paramList.add(paramMap101); + } + }else { + paramList.add(paramMap); + } + for(Map map:paramList){ + String queryMainParam = JsonUtils.getInstance().toJsonString(map); + syncQdSpecialInvoice(queryMainParam); + } + } catch (Exception e) { + log.error("{}定时任务执行异常:{}", LOGGER_MSG, e); + return FAIL; + } + log.debug("{}定时任务完成", LOGGER_MSG); + return SUCCESS; + + } + + private void syncQdSpecialInvoice(String queryMainParam){ + List commonSpecialInvoiceAddList = new ArrayList<>(); + List commonSpecialInvoiceEditList = new ArrayList<>(); + Map> mainMap = queryQdSpecialInvoiceMain(queryMainParam); + List addList = mainMap.get("add"); + List editList = mainMap.get("edit"); + addList.forEach(f -> { + CommonSpecialInvoice csi = new CommonSpecialInvoice(); + Map queryDetailMap = new HashMap<>(); + queryDetailMap.put("HZQRDUUID",f.getUuid()); + queryDetailMap.put("XSFNSRSBH",f.getXhfNsrsbh()); + String queryDetailParam = JsonUtils.getInstance().toJsonString(queryDetailMap); + List specialInvoiceReversalItems = queryQdSpecialInvoiceDetail(queryDetailParam, false, f.getId()); + String dslbz = specialInvoiceReversalItems.get(0).getSl(); + for(SpecialInvoiceReversalItem en:specialInvoiceReversalItems){ + if(!dslbz.equals(en.getSl())){ + dslbz = "多税率"; + break; + } + } + f.setDslbz(dslbz); + csi.setSpecialInvoiceReversalEntity(f); + csi.setSpecialInvoiceReversalItemEntities(specialInvoiceReversalItems); + commonSpecialInvoiceAddList.add(csi); + }); + editList.forEach(f -> { + CommonSpecialInvoice csi = new CommonSpecialInvoice(); + Map queryDetailMap = new HashMap<>(); + queryDetailMap.put("HZQRDUUID",f.getUuid()); + queryDetailMap.put("XSFNSRSBH",f.getXhfNsrsbh()); + String queryDetailParam = JsonUtils.getInstance().toJsonString(queryDetailMap); + List specialInvoiceReversalItems = queryQdSpecialInvoiceDetail(queryDetailParam, true, f.getId()); + String dslbz = specialInvoiceReversalItems.get(0).getSl(); + for(SpecialInvoiceReversalItem en:specialInvoiceReversalItems){ + if(!dslbz.equals(en.getSl())){ + dslbz = "多税率"; + break; + } + } + f.setDslbz(dslbz); + csi.setSpecialInvoiceReversalEntity(f); + csi.setSpecialInvoiceReversalItemEntities(specialInvoiceReversalItems); + commonSpecialInvoiceEditList.add(csi); + }); + //数据库字段长度问题,单条报错不影响其他数据插入 + for(CommonSpecialInvoice en:commonSpecialInvoiceAddList){ + List list = new ArrayList<>(); + list.add(en); + try { + specialInvoiceReversalService.processCommonSpecialInvoice(false,list); + }catch (Exception e){ + log.error("{},{}红字确认单同步失败:{}",LOGGER_MSG,en.getSpecialInvoiceReversalEntity().getXxbbh(),e); + } + } + for(CommonSpecialInvoice en:commonSpecialInvoiceEditList){ + List list = new ArrayList<>(); + list.add(en); + try { + specialInvoiceReversalService.processCommonSpecialInvoice(true,list); + }catch (Exception e){ + log.error("{},{}红字确认单同步失败:{}",LOGGER_MSG,en.getSpecialInvoiceReversalEntity().getXxbbh(),e); + } + } + } + + private Map> queryQdSpecialInvoiceMain(String param){ + Map> returnMap = new HashMap<>(); + List addList = new ArrayList<>(); + List editList = new ArrayList<>(); + QdCommonRspV6 hzqrdRspV6 = interfaceServiceV6.processProxyForQd(ConfigurerInfo.QUERY_RED_CONFIRMATION_LIST, param); + if(ConfigureConstant.STRING_000000.equals(hzqrdRspV6.getZTDM())){ + Map dataMap = JsonUtils.getInstance().parseObject(hzqrdRspV6.getDATA().toString(), Map.class);; + List list = (List) dataMap.get("LIST"); + for(Map en:list){ + Map enterMap = new HashMap<>(); + enterMap.put("uuid",en.get("UUID")); + List specialInvoiceReversalEntities = specialInvoiceReversalService.querySpecialInvoice(enterMap); + if(specialInvoiceReversalEntities.size() == 0){ + SpecialInvoiceReversalEntity hzxxbEn = createHzxxbEn(en); + addList.add(hzxxbEn); + }else if(specialInvoiceReversalEntities.size() == 1){ + SpecialInvoiceReversalEntity specialInvoiceReversalEntity = specialInvoiceReversalEntities.get(0); + specialInvoiceReversalEntity.setStatusCode((String)en.get("HZQRXXZTDM")); + specialInvoiceReversalEntity.setStatusMessage(getStatusMessage((String)en.get("HZQRXXZTDM"))); + specialInvoiceReversalEntity.setQrrq((String)en.get("QRRQ")); + specialInvoiceReversalEntity.setDataStatus("Y".equals((String)en.get("YXBZ"))?"0":"1"); + specialInvoiceReversalEntity.setEditorId("1"); + specialInvoiceReversalEntity.setEditorName("系统管理员 "); + specialInvoiceReversalEntity.setUpdateTime(new Date()); + editList.add(specialInvoiceReversalEntity); + }else { + log.info("{}根据uuid查询主表查出了多条,不做处理"); + } + } + } + returnMap.put("add",addList); + returnMap.put("edit",editList); + return returnMap; + } + + private List queryQdSpecialInvoiceDetail(String param,Boolean edit,String specialInvoiceId){ + if(edit){ + return specialInvoiceReversalService.querySpecialInvoiceReversalItems(specialInvoiceId); + }else { + List returnList = new ArrayList<>(); + QdCommonRspV6 hzqrdRspV6 = interfaceServiceV6.processProxyForQd(ConfigurerInfo.QUERY_RED_CONFIRMATION_ITEM_LIST, param); + if(ConfigureConstant.STRING_000000.equals(hzqrdRspV6.getZTDM())){ + Map detailMap = JsonUtils.getInstance().parseObject(hzqrdRspV6.getDATA().toString(), Map.class); + List list = (List) detailMap.get("HZQRXXMXLIST"); + for(Map en:list){ + SpecialInvoiceReversalItem hzxxbItem = createHzxxbItem(en, specialInvoiceId); + returnList.add(hzxxbItem); + + } + } + return returnList; + } + } + + private SpecialInvoiceReversalEntity createHzxxbEn(Map en){ + String uuid = (String)en.get("UUID"); + String hzfpxxqrdbh = (String)en.get("HZFPXXQRDBH"); + String lrfsf = (String)en.get("LRFSF"); + String xsfnsrsbh = (String)en.get("XSFNSRSBH"); + String xsfmc = (String)en.get("XSFMC"); + String gmfnsrsbh = (String)en.get("GMFNSRSBH"); + String gmfmc = (String)en.get("GMFMC"); + String lzfpdm = (String)en.get("LZFPDM"); + String lzfphm = (String)en.get("LZFPHM"); + String sfzzfpbz = (String)en.get("SFZZFPBZ"); + String lzkprq = (String)en.get("LZKPRQ"); + String lzhjje = (String)en.get("LZHJJE"); + String lzhjse = (String)en.get("LZHJSE"); + String lzfppzdm = (String)en.get("LZFPPZDM"); + String lzfptdyslxdm = (String)en.get("LZFPTDYSLXDM"); + String hzcxje = (String)en.get("HZCXJE"); + String hzcxse = (String)en.get("HZCXSE"); + String hzqrdmxsl = (String)en.get("HZQRDMXSL"); + String chyydm = (String)en.get("CHYYDM"); + String hzqrxxztdm = (String)en.get("HZQRXXZTDM"); + String qrrq = (String)en.get("QRRQ"); + String ykjhzfpbz = (String)en.get("YKJHZFPBZ"); + String hzfphm = (String)en.get("HZFPHM"); + String hzkprq = (String)en.get("HZKPRQ"); + String yxbz = (String)en.get("YXBZ"); + + SpecialInvoiceReversalEntity redEn = new SpecialInvoiceReversalEntity(); + String id = baseService.getGenerateShotKey(); + redEn.setId(id); + redEn.setType(ConfigureConstant.STRING_5); + redEn.setSqsm(lrfsf); + redEn.setUuid(uuid); + redEn.setXxbbh(hzfpxxqrdbh); + redEn.setLrfsf(lrfsf); + redEn.setXhfNsrsbh(xsfnsrsbh); + redEn.setXhfMc(xsfmc); + redEn.setGhfNsrsbh(gmfnsrsbh); + redEn.setGhfMc(gmfmc); + redEn.setYfpDm(lzfpdm); + redEn.setYfpHm(lzfphm); + redEn.setSfzzfpbz(sfzzfpbz); + if(StrUtil.isNotBlank(lzkprq)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + redEn.setYfpKprq(sdf.parse(lzkprq)); + } catch (ParseException e) { + log.error("{}格式化蓝字发票开票日期错误:{}",LOGGER_MSG,e); + } + } + redEn.setLzhjje(lzhjje); + redEn.setLzhjse(lzhjse); + redEn.setLzfppzdm(lzfppzdm); + redEn.setLzfptdyslxdm(lzfptdyslxdm); + redEn.setHjbhsje(hzcxje); + redEn.setHjse(hzcxse); + redEn.setKphjje(new BigDecimal(hzcxje).add(new BigDecimal(hzcxse)).toString()); + redEn.setHzqrdmxsl(hzqrdmxsl); + redEn.setChyy(chyydm); + redEn.setStatusCode(hzqrxxztdm); + redEn.setStatusMessage(getStatusMessage(hzqrxxztdm)); + redEn.setQrrq(qrrq); + redEn.setKpzt("Y".equals(ykjhzfpbz)?"2":"0"); + redEn.setFphm(hzfphm); + redEn.setDataStatus("Y".equals(yxbz)?"0":"1"); + redEn.setInvoiceType("1"); + redEn.setFpzlDm(lzfppzdm); + redEn.setNsrsbh(xsfnsrsbh); + redEn.setGhfqylx("01"); + redEn.setCreatorId("1"); + redEn.setCreatorName("系统管理员"); + redEn.setEditorId("1"); + redEn.setEditorName("系统管理员 "); + redEn.setCreateTime(new Date()); + redEn.setUpdateTime(new Date()); + redEn.setTksj(new Date()); + return redEn; + } + + private SpecialInvoiceReversalItem createHzxxbItem(Map en,String mainId){ + String xh = (String)en.get("XH"); + String lzmxxh = (String)en.get("LZMXXH"); + String sphfwssflhbbm = (String)en.get("SPHFWSSFLHBBM"); + String hwhyslwfwmc = (String)en.get("HWHYSLWFWMC"); + String spfwjc = (String)en.get("SPFWJC"); + String xmmc = (String)en.get("XMMC"); + String ggxh = (String)en.get("GGXH"); + String dw = (String)en.get("DW"); + String fpspdj = (String)en.get("FPSPDJ"); + String fpspsl = (String)en.get("FPSPSL"); + String je = (String)en.get("JE"); + String slv = (String)en.get("SLV"); + String se = (String)en.get("SE"); + + SpecialInvoiceReversalItem item = new SpecialInvoiceReversalItem(); + item.setId(baseService.getGenerateShotKey()); + item.setSpecialInvoiceReversalId(mainId); + item.setSpbm(sphfwssflhbbm); + item.setXmmc(xmmc); + item.setGgxh(ggxh); + item.setXmdw(dw); + item.setXmsl(fpspsl); + item.setXmdj(fpspdj); + item.setXmje(je); + item.setSl(slv.replaceAll("(0)+$", "")); + item.setSe(se); + item.setHsbz("0"); + item.setSphxh(xh); + item.setYhzcbs("0"); + item.setCreateTime(new Date()); + item.setLzmxxh(lzmxxh); + + return item; + } + + private String getStatusMessage(String status){ + String statusMessage = ""; + if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_01.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_01.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_02.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_02.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_03.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_03.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_04.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_04.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_05.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_05.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_06.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_06.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_07.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_07.getValue(); + }else if(OrderInfoEnum.SPECIAL_INVOICE_STATUS_08.getKey().equals(status)){ + statusMessage = OrderInfoEnum.SPECIAL_INVOICE_STATUS_08.getValue(); + } + return statusMessage; + } + + public List queryAllDeptInfo(){ + Map headMap = Maps.newHashMap(); + headMap.put("Content-Type", ContentType.APPLICATION_JSON.toString()); + + Map requestMap = Maps.newHashMap(); + requestMap.put("deptId","0"); + String result = HttpUtils.doPostWithHeader(openApiConfig.queryAllDeptInfo(), JSONObject.toJSONString(requestMap),headMap); + final String resultData = getDBResultData(result); + if(resultData != null){ + final JSONArray jsonArray = JSONObject.parseObject(resultData, JSONArray.class); + return jsonArray.toJavaList(DeptEntity.class); + } + return null; + } + + public String getDBResultData(String result){ + if(StringUtils.isNotBlank(result)){ + JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class); + Object code = jsonObject.get(OrderManagementConstant.CODE); + if(code != null && OrderInfoContentEnum.SUCCESS.getKey().equals((String) code)){ + Object data = jsonObject.get(OrderManagementConstant.DATA); + if(data != null){ + return JSONObject.toJSONString(data); + } + } + } + return null; + } + + +} diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/model/SpecialInvoiceReversalEntity.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/model/SpecialInvoiceReversalEntity.java index 1c3f418c..1ee16035 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/model/SpecialInvoiceReversalEntity.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/model/SpecialInvoiceReversalEntity.java @@ -171,4 +171,53 @@ public class SpecialInvoiceReversalEntity implements Serializable { * 蓝票entId */ private String entId; + + /** + * 全电-红字确认单UUID + */ + private String uuid; + + /** + * 全电-录入方身份 0:销方 1:购方 + */ + private String lrfsf; + + /** + * 全电-是否纸质发票标志 Y=纸质发票,N=电子发票 + */ + private String sfzzfpbz; + + /** + * 全电-蓝字发票合计金额 + */ + private String lzhjje; + + /** + * 全电-蓝字发票合计税额 + */ + private String lzhjse; + + /** + * 全电-蓝字发票票种代码 + * 01: 增值税专用发票 + * 02: 普通发票 + * 03: 机动车统一销售发票 + * 04: 二手车统一销售发票 + */ + private String lzfppzdm; + + /** + * 全电-蓝字发票特定要素类型代码 + */ + private String lzfptdyslxdm; + + /** + * 全电-红字确认单明细数量 + */ + private String hzqrdmxsl; + + /** + * 全电-确认日期 + */ + private String qrrq; } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/SpecialInvoiceReversalService.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/SpecialInvoiceReversalService.java index 3cd264ed..a11027ab 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/SpecialInvoiceReversalService.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/SpecialInvoiceReversalService.java @@ -192,4 +192,6 @@ public interface SpecialInvoiceReversalService { * @return */ SpecialInvoiceReversalEntity selectSpecialInvoiceReversalBySqdh(String sqdwybh); + + List querySpecialInvoice(Map params); } diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/impl/SpecialInvoiceReversalServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/impl/SpecialInvoiceReversalServiceImpl.java index 3d49a562..20a3a989 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/impl/SpecialInvoiceReversalServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoicespecial/service/impl/SpecialInvoiceReversalServiceImpl.java @@ -384,4 +384,10 @@ public class SpecialInvoiceReversalServiceImpl implements SpecialInvoiceReversal query.setSqdh(sqdwybh); return specialInvoiceReversalMapper.selectSpecialInvoiceReversal(query); } + + @Override + public List querySpecialInvoice(Map params){ + List list = specialInvoiceReversalMapper.selectSpecialInvoiceReversals(params); + return list; + } } diff --git a/order-management-invoice/src/main/resources/mybatis/mapper/SpecialInvoiceReversalItemMapper.xml b/order-management-invoice/src/main/resources/mybatis/mapper/SpecialInvoiceReversalItemMapper.xml index 75a712b4..b16df062 100644 --- a/order-management-invoice/src/main/resources/mybatis/mapper/SpecialInvoiceReversalItemMapper.xml +++ b/order-management-invoice/src/main/resources/mybatis/mapper/SpecialInvoiceReversalItemMapper.xml @@ -23,12 +23,13 @@ + id , special_invoice_reversal_id, spbm, zxbm, xmmc, ggxh, xmdw, xmsl, xmdj, kce, xmje, - sl, se, hsbz, fphxz, sphxh, lslbs, yhzcbs, zzstsgl, wcje, create_time + sl, se, hsbz, fphxz, sphxh, lslbs, yhzcbs, zzstsgl, wcje, create_time,lzmxxh