From b464b0de4313b820b92b7b4459a71a2ef89c0f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 14 Sep 2023 14:23:40 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=AE=9A=E6=98=AF=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8B=89=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/dao/frTask/QueryDetailDataDao.java | 31 ++ .../core/dao/frTask/RecordToQueryDao.java | 37 +++ .../core/dao/frTask/VoucherRecordItemDao.java | 17 ++ .../java/com/dxhy/core/enmu/FplxEnmu.java | 120 ++++++++ .../java/com/dxhy/core/enmu/KjkmTaxEnmu.java | 49 ++++ .../dxhy/core/entity/frJob/FpTaxAmount.java | 10 + .../com/dxhy/core/entity/frJob/KjkmSl.java | 10 + .../entity/frJob/VoucherRecordItemEntity.java | 271 ++++++++++++++++++ .../core/entity/frJob/VoucherRecordQuery.java | 79 +++++ .../frJob/VoucherRecordQueryDetail.java | 92 ++++++ .../service/frJob/QueryDetailDataService.java | 19 ++ .../frJob/QueryDetailDataServiceImpl.java | 98 +++++++ .../service/frJob/RecordToQueryService.java | 17 ++ .../frJob/RecordToQueryServiceImpl.java | 188 ++++++++++++ .../frJob/VoucherRecordItemService.java | 8 + .../frJob/VoucherRecordItemServiceImpl.java | 75 +++++ .../java/com/dxhy/core/task/FrDataTask.java | 44 +++ .../mapper/frJob/QueryDetailDataDao.xml | 185 ++++++++++++ .../mapper/frJob/RecordToQueryDao.xml | 137 +++++++++ .../mapper/frJob/VoucherRecordItemDao.xml | 20 ++ 20 files changed, 1507 insertions(+) create mode 100644 dxhy-core/src/main/java/com/dxhy/core/dao/frTask/QueryDetailDataDao.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/dao/frTask/RecordToQueryDao.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/dao/frTask/VoucherRecordItemDao.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/enmu/FplxEnmu.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/enmu/KjkmTaxEnmu.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/entity/frJob/FpTaxAmount.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/entity/frJob/KjkmSl.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordItemEntity.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQuery.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQueryDetail.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java create mode 100644 dxhy-core/src/main/java/com/dxhy/core/task/FrDataTask.java create mode 100644 dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml create mode 100644 dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml create mode 100644 dxhy-core/src/main/resources/mapper/frJob/VoucherRecordItemDao.xml diff --git a/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/QueryDetailDataDao.java b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/QueryDetailDataDao.java new file mode 100644 index 00000000..c2bd606b --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/QueryDetailDataDao.java @@ -0,0 +1,31 @@ +package com.dxhy.core.dao.frTask; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +@Mapper +public interface QueryDetailDataDao extends BaseMapper { + + Date getBeginTime(String kjkmbh); + + Date getBeginTimefromRecord(); + + List getDataFromRecord(@Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("kjkmbh") String kjkmbh); + + void insertDataToItem(List voucherRecordQueryDetails); + + List getDataFromRecordJe(@Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("kjkmbh") String kjkmbh); + + List getDataFromRecordXx(@Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("kjkmbh") String kjkmbh); +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/RecordToQueryDao.java b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/RecordToQueryDao.java new file mode 100644 index 00000000..b73a8bf6 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/RecordToQueryDao.java @@ -0,0 +1,37 @@ +package com.dxhy.core.dao.frTask; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dxhy.core.entity.frJob.FpTaxAmount; +import com.dxhy.core.entity.frJob.VoucherRecordQuery; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +@Mapper +public interface RecordToQueryDao extends BaseMapper { + + List getDataFromRecordItems(@Param("start")String beginTime, + @Param("end") String endTime, + @Param("kjkmbh")String kjkmbh); + + Date getBeginTime(String kjkmbh); + + Date getBeginTimefromRecord(); + + void insertDataToQuery(List voucherRecordQuerys); + + List getTaxAmount(List bzdhs); + + List getDataXFromRecordItems(@Param("start") String start, + @Param("end") String end, + @Param("kjkmbh")String kjkmbh); + + List getXTaxAmount(List bzdhs); + + List getDataZFromRecordItems(@Param("start") String start, + @Param("end") String end, + @Param("kjkmbh") String kjkmbh); + +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/VoucherRecordItemDao.java b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/VoucherRecordItemDao.java new file mode 100644 index 00000000..b1142d12 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/dao/frTask/VoucherRecordItemDao.java @@ -0,0 +1,17 @@ +package com.dxhy.core.dao.frTask; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dxhy.core.entity.frJob.VoucherRecordItemEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface VoucherRecordItemDao extends BaseMapper { + + List getByTime(@Param("start")String start, + @Param("end") String end, + @Param("kjkmbh") String kjkmbh); +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/enmu/FplxEnmu.java b/dxhy-core/src/main/java/com/dxhy/core/enmu/FplxEnmu.java new file mode 100644 index 00000000..80d0999b --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/enmu/FplxEnmu.java @@ -0,0 +1,120 @@ +package com.dxhy.core.enmu; + + +import com.google.common.collect.Maps; + +import java.util.Map; + +public enum FplxEnmu { + /** + * 专票代码 + */ + ZP("01", "增值税专用发票"), + /** + * 机动车代码 + */ + JDC("03","机动车销售统一发票"), + /** + * 普票代码 + */ + PP("04", "增值税普通发票"), + + /** + * 电子票代码 + */ + DZP("10", "增值税电子普通发票"), + /** + * 卷式发票代码 + */ + JSP("11", "增值税普通发票(卷票)"), + /** + * 通行费发票代码 + */ + TXF("14", "增值税电子普通发票(通行费)"), + + ESC("15", "二手车销售统一发票"), + /** + * 电子专票 + */ + DZZP("08", "增值税电子专用发票"), + /** + * 海关缴款书 + */ + HGJKS("17", "海关缴款书"), + /** + * 电子发票(增值税专用发票) + */ + QDZZP("31", "电子发票(增值税专用发票)"), + /** + * 电子发票(普通发票) + */ + QDPP("32", "电子发票(普通发票)"), + /** + * 机动车销售电子统一发票 + */ + JDCDZ("183", "机动车销售电子统一发票"), + /** + * 二手车销售电子统一发票 + */ + ESCDZ("184", "二手车销售电子统一发票"), + /** + * 纸质发票(增值税专用发票) + */ + ZZDZ("185", "纸质发票(增值税专用发票)"), + /** + * 纸质发票(普通发票) + */ + ZZPP("186", "纸质发票(普通发票)"), + /** + * 纸质发票(机动车销售统一发票) + */ + ZZJDC("187", "纸质发票(机动车销售统一发票)"), + /** + * 纸质发票(二手车销售统一发票) + */ + ZZESC("188", "纸质发票(二手车销售统一发票)"), + /** + * 增加电子发票(铁路电子客票) + */ + TLKP("283", "增加电子发票(铁路电子客票)"), + /** + * 电子发票(航空运输客票电子行程单) + */ + HKDZFP("161", "电子发票(航空运输客票电子行程单)"), + /** + * 货物运输业增值税专用发票 + */ + HWYH("02", "货物运输业增值税专用发票"); + + private String fplxDm; + private String fplxMc; + + FplxEnmu(String fplxDm, String fplxMc) { + this.fplxDm = fplxDm; + this.fplxMc = fplxMc; + } + + public String getFplxDm() { + return fplxDm; + } + + public void setFplxDm(String fplxDm) { + this.fplxDm = fplxDm; + } + + public String getfplxMc() { + return fplxMc; + } + + public void setFplxMc(String fplxMc) { + this.fplxMc = fplxMc; + } + + public static Map getFplxMap(){ + Map fplxMap = Maps.newHashMap(); + for (FplxEnmu value : FplxEnmu.values()) { + fplxMap.put(value.fplxDm,value.fplxMc); + } + return fplxMap; + } +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/enmu/KjkmTaxEnmu.java b/dxhy-core/src/main/java/com/dxhy/core/enmu/KjkmTaxEnmu.java new file mode 100644 index 00000000..549961a6 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/enmu/KjkmTaxEnmu.java @@ -0,0 +1,49 @@ +package com.dxhy.core.enmu; + +import com.google.common.collect.Maps; + +import java.util.Map; + +public enum KjkmTaxEnmu { + + YJJXZZSSL("2221010101","16"), + YJJXZZSSS("2221010102","13"), + YJJXZZSS("2221010103","10"), + YJJXZZSJ("2221010104","9"), + YJJXZZSL("2221010105","6"), + YJJXZZSW("2221010106","5"), + YJJXZZST("2221010107","3"), + YJJXZZSE("2221010108","2"), + YJJXZZSZ("2221010109","0"), + YJJXZZSSQ("2221010110","17"), + YJJXZZSSY("2221010111","11"), + YJJXZZSY("2221010112","1"), + YJJXZZSYW("2221010113","1.5"), + YJXXZZSSL("2221010201","16"), + YJXXZZSSS("2221010202","13"), + YJXXZZSS("2221010203","10"), + YJXXZZSJ("2221010204","9"), + YJXXZZSL("2221010205","6"), + YJXXZZSW("2221010206","5"), + YJXXZZST("2221010207","3"), + YJXXZZSE("2221010208","2"), + YJXXZZSZ("2221010209","0"), + YJXXZZSSQ("2221010210","17"), + YJXXZZSSY("2221010211","11"), + YJXXZZSY("2221010212","1"); + + private String kjkm; + private String tax; + KjkmTaxEnmu(String kjkm,String tax){ + this.kjkm = kjkm; + this.tax = tax; + } + + public static Map getTaxMap(){ + Map taxMap = Maps.newHashMap(); + for (KjkmTaxEnmu value : KjkmTaxEnmu.values()) { + taxMap.put(value.kjkm,value.tax); + } + return taxMap; + } +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/FpTaxAmount.java b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/FpTaxAmount.java new file mode 100644 index 00000000..22e77252 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/FpTaxAmount.java @@ -0,0 +1,10 @@ +package com.dxhy.core.entity.frJob; + +import lombok.Data; + +@Data +public class FpTaxAmount { + private String key; + private String fpse; + private String fpje; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/KjkmSl.java b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/KjkmSl.java new file mode 100644 index 00000000..65897e42 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/KjkmSl.java @@ -0,0 +1,10 @@ +package com.dxhy.core.entity.frJob; + +import lombok.Data; + +@Data +public class KjkmSl { + + private String kjkm; + private String sl; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordItemEntity.java b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordItemEntity.java new file mode 100644 index 00000000..684e9e33 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordItemEntity.java @@ -0,0 +1,271 @@ +package com.dxhy.core.entity.frJob; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("voucher_record_item") +public class VoucherRecordItemEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * 主键 + */ + private Long id; + + /** + * 和主键关联的id + */ + private Long relationId; + + /** + * 行项目编码 + */ + private String docln; + + /** + * 借贷标识 + */ + private String drcrk; + + /** + * 借贷描述 s借 h贷 + */ + private String zdrcrk; + + /** + * 科目编码 + */ + private String racct; + + /** + * 科目描述 + */ + private String txt50; + + /** + * 借方金额 + */ + private String zwslj; + + /** + * 贷方金额 + */ + private String zwsld; + + /** + * 公司代码货币 + */ + private String rhcur; + + /** + * 交易货币 + */ + private String rwcur; + + /** + * 本位币借方金额 + */ + private String zhslj; + + /** + * 本位币贷方金额 + */ + private String zhsld; + + /** + * 公司代码货币 + */ + private String phcur; + + /** + * 供应商编码 + */ + private String lifnr; + + /** + * 供应商名称 + */ + private String zname; + + /** + * 客户编码 + */ + private String kunnr; + + /** + * 物料编码 + */ + private String matnr; + + /** + * 物料名称 + */ + private String maktx; + + /** + * 客户名称 + */ + private String zname2; + + /** + * 供应商名称 + */ + private String zname1; + + /** + * 数量 + */ + private String msl; + + /** + * 单位 + */ + private String runit; + + /** + * 税码 + */ + private String mwskz; + + /** + * 税率 + */ + private String kbetr; + + /** + * 成本中心 + */ + private String rcntr; + + /** + * 成本中心名称 + */ + private String ktext; + + /** + * wbs编码 + */ + private String psPosid; + + /** + * wbs名称 + */ + private String post1; + + /** + * 订单编号 + */ + private String aufnr; + + /** + * 订单描述 + */ + private String zktext; + + /** + * 销售订单 + */ + private String kdauf; + + /** + * 销售订单行 + */ + private String kdpos; + + /** + * 是否是集成销售业务 + */ + private String zzjcfflag; + + /** + * 资产编码 + */ + private String anln1; + + /** + * 资产名称 + */ + private String zaatxt50; + + /** + * 功能范围 + */ + private String rfarea; + + /** + * 功能范围名称 + */ + private String fkbtx; + + /** + * 矿别 + */ + private String ktype; + + /** + * 是否是集成销售业务,如果有销售订单号,则认为是集成销售设置为x + */ + private String zzjcflag; + + /** + * 矿别名称 + */ + private String zkname; + + /** + * zzfld1 + */ + private String zzfld1; + + /** + * zzfld2 + */ + private String zzfld2; + + /** + * zzfld3 + */ + private String zzfld3; + + /** + * zzfld4 + */ + private String zzfld4; + + /** + * zzfld5 + */ + private String zzfld5; + + /** + * zzfld6 + */ + private String zzfld6; + + /** + * zzfld7 + */ + private String zzfld7; + + /** + * zzfld8 + */ + private String zzfld8; + + /** + * zzfld9 + */ + private String zzfld9; + + /** + * zzfld10 + */ + private String zzfld10; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQuery.java b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQuery.java new file mode 100644 index 00000000..cf5712ba --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQuery.java @@ -0,0 +1,79 @@ +package com.dxhy.core.entity.frJob; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("voucher_record_query") +public class VoucherRecordQuery { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + private String id; + + /** + * zq + */ + private String zq; + + /** + * xfdm + */ + private String xfdm; + + /** + * xfmc + */ + private String xfmc; + + /** + * kb + */ + private String kb; + + /** + * kjkmbh + */ + private String kjkmbh; + + /** + * 会计科目 + */ + private String kjkm; + + /** + * sl + */ + private String sl; + + /** + * 报账单号 + */ + private String bzdh; + + /** + * 会计凭证 + */ + private String kjpz; + + /** + * 发票税额 + */ + private String fpse; + + /** + * sap税额 + */ + private String sapse; + + /** + * 创建时间 + */ + private Date createTime; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQueryDetail.java b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQueryDetail.java new file mode 100644 index 00000000..ffe41bc4 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQueryDetail.java @@ -0,0 +1,92 @@ +package com.dxhy.core.entity.frJob; + +import lombok.Data; + +@Data +public class VoucherRecordQueryDetail { + private static final long serialVersionUID = 1L; + /** + * id + */ + private String id; + + /** + * uuid + */ + private String uuid; + + /** + * zq + */ + private String zq; + + /** + * xfdm + */ + private String xfdm; + + /** + * xfmc + */ + private String xfmc; + + /** + * kb + */ + private String kb; + + /** + * 报账单号 + */ + private String bzdh; + + /** + * 会计凭证 + */ + private String kjpz; + + /** + * 发票税额 + */ + private String fpse; + + /** + * 会计科目 + */ + private String kjkm; + + /** + * kjkmbh + */ + private String kjkmbh; + + /** + * sl + */ + private String sl; + + /** + * fpdm + */ + private String fpdm; + + /** + * fphm + */ + private String fphm; + + /** + * fplx + */ + private String fplx; + + /** + * fplxmc + */ + private String fplxmc; + + /** + * 创建时间 + */ + private String createTime; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java new file mode 100644 index 00000000..42891ecc --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java @@ -0,0 +1,19 @@ +package com.dxhy.core.service.frJob; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; + + +import java.text.ParseException; + +public interface QueryDetailDataService extends IService { + //插入进项数据 + void insertJxDataToQueryDetail(); + + //插入销项数据 + void insertXxDataToQueryDetail(); + + //插入主营业务收入数据 + void insertZyDataToQueryDetail(); + +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java new file mode 100644 index 00000000..95e6409d --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java @@ -0,0 +1,98 @@ +package com.dxhy.core.service.frJob; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + +import com.dxhy.core.dao.frTask.QueryDetailDataDao; +import com.dxhy.core.enmu.FplxEnmu; +import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; +import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +@Service("queryDetailDataService") +public class QueryDetailDataServiceImpl extends ServiceImpl + implements QueryDetailDataService { + + @Autowired + private QueryDetailDataDao queryDetailDataDao; + + private static final String JXZZS = "22210101"; + + private static final String XXZZS = "22210102"; + + private static final String ZYYWSR = "6001"; + + + @Override + public void insertJxDataToQueryDetail(){ + //1.查询时间 + String[] time = getTime(JXZZS); + //2.按照时间查询增量数据 + List dataFromRecordItems = queryDetailDataDao.getDataFromRecord(time[0], time[1],JXZZS); + //3.添加发票类型 + if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){ + dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); + //4.添加入库 + this.saveOrUpdateBatch(dataFromRecordItems); + } + } + + @Override + public void insertXxDataToQueryDetail(){ + //1.查询时间 + String[] time = getTime(XXZZS); + //2.按照时间查询增量数据 + List dataFromRecordItems = queryDetailDataDao.getDataFromRecordXx(time[0], time[1],XXZZS); + //3.添加发票类型 + if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){ + dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); + //4.添加入库 + this.saveOrUpdateBatch(dataFromRecordItems); + } + } + + @Override + public void insertZyDataToQueryDetail(){ + //1.查询时间 + String[] time = getTime(ZYYWSR); + //2.按照时间查询增量数据 + List dataFromRecordItems = queryDetailDataDao.getDataFromRecordJe(time[0], time[1],ZYYWSR); + //3添加发票类型 + if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){ + dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); + //4.添加入库 + this.saveOrUpdateBatch(dataFromRecordItems); + } + } + + String[] getTime(String km){ + //1.获取增量数据开始时间 + Date beginTime = queryDetailDataDao.getBeginTime(km); + //2.第一次取原表时间 + if (beginTime == null){ + beginTime = queryDetailDataDao.getBeginTimefromRecord(); + } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + //3.时间转换求结束日期 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(beginTime); + calendar.add(Calendar.DAY_OF_MONTH,-1); + //4.开始时间减一天 + String begin = format.format(calendar.getTime()); + //5.结束时间为现在加一天 + calendar.setTime(new Date()); + calendar.add(Calendar.DAY_OF_MONTH,1); + String end = format.format(calendar.getTime()); + + String[] time = {begin,end}; + return time; + } +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java new file mode 100644 index 00000000..34b82f79 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java @@ -0,0 +1,17 @@ +package com.dxhy.core.service.frJob; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dxhy.core.entity.frJob.VoucherRecordQuery; + +public interface RecordToQueryService extends IService{ + + void insertJxDataToQuery(); + + void insertXxDataToQuery(); + + void insertZyDataToQuery(); + + void insertOutDataToQuery(); + + void getDataForFr(); +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java new file mode 100644 index 00000000..3cfe436b --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -0,0 +1,188 @@ +package com.dxhy.core.service.frJob; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dxhy.core.dao.frTask.RecordToQueryDao; +import com.dxhy.core.enmu.KjkmTaxEnmu; +import com.dxhy.core.entity.frJob.FpTaxAmount; +import com.dxhy.core.entity.frJob.VoucherRecordQuery; +import jdk.nashorn.internal.ir.annotations.Reference; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("recordToQueryService") +public class RecordToQueryServiceImpl extends ServiceImpl implements RecordToQueryService { + + @Resource + private RecordToQueryDao recordToQueryDao; + + @Resource + private QueryDetailDataService queryDetailDataService; + + @Resource + private VoucherRecordItemService voucherRecordItemService; + + private final String JXZZS = "22210101"; + + private final String XXZZS = "22210102"; + + private final String ZYYWSR = "6001"; + + private final String JXSZC = "2221010900"; + + + + @Override + public void getDataForFr() { + //清洗sap错误税率 + voucherRecordItemService.refreshTax(); + + } + @Override + public void insertJxDataToQuery() { + + //1.获取时间 + String[] time = getTime(JXZZS); + + //2.查询数据 + List voucherRecordQuerys = + recordToQueryDao.getDataFromRecordItems(time[0], time[1],JXZZS); + + if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0){ + //3.查询税率 + Map taxMap = KjkmTaxEnmu.getTaxMap(); + //4.清洗税率 + voucherRecordQuerys.forEach(v->{v.setSl(taxMap.get(v.getKjkmbh()));}); + + //5.报账单号去重 + List bzdhs + = voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) + .distinct().collect(Collectors.toList()); + + //6.根据报账单号获取发票税额 + List taxAmounts = recordToQueryDao.getTaxAmount(bzdhs); + if (taxAmounts != null && taxAmounts.size()>0){ + Map amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpse)); + //7.添加税率 + voucherRecordQuerys.forEach(v->v.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); + } + //8.保存或更新 + this.saveOrUpdateBatch(voucherRecordQuerys); + + } + } + + @Override + public void insertXxDataToQuery() { + //1.获取时间 + String[] time = getTime(XXZZS); + + //2.查询数据 + List voucherRecordQuerys = + recordToQueryDao.getDataXFromRecordItems(time[0],time[1],XXZZS); + + if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0) { + //3.查询税率 + Map taxMap = KjkmTaxEnmu.getTaxMap(); + //4.清洗税率 + voucherRecordQuerys.forEach(v -> { + v.setSl(taxMap.get(v.getKjkmbh())); + }); + + //5.报账单号去重 + List bzdhs + = voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) + .distinct().collect(Collectors.toList()); + + //6.根据报账单号获取发票税额 + List taxAmounts = recordToQueryDao.getXTaxAmount(bzdhs); + if (taxAmounts != null && taxAmounts.size() > 0) { + Map amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpse)); + + //7.添加税率 + voucherRecordQuerys.forEach(v -> v.setFpse(amountMap.get(v.getSl() + v.getBzdh()) == null ? "0" : amountMap.get(v.getSl() + v.getBzdh()))); + } + + //8.保存或更新 + this.saveOrUpdateBatch(voucherRecordQuerys); + } + } + + @Override + public void insertZyDataToQuery() { + //1.获取时间 + String[] time = getTime(ZYYWSR); + + //2.查询数据 + List voucherRecordQuerys = + recordToQueryDao.getDataZFromRecordItems(time[0],time[1],ZYYWSR); + + if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0) { + + //3.报账单号去重 + List bzdhs + = voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) + .distinct().collect(Collectors.toList()); + + //4.根据报账单号获取发票税额 + List taxAmounts = recordToQueryDao.getXTaxAmount(bzdhs); + if (taxAmounts != null && taxAmounts.size() > 0) { + Map amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpje)); + + //5.添加税率 + voucherRecordQuerys.forEach(v -> v.setFpse(amountMap.get(v.getSl() + v.getBzdh()) == null ? "0" : amountMap.get(v.getSl() + v.getBzdh()))); + } + + //6.保存或更新 + this.saveOrUpdateBatch(voucherRecordQuerys); + } + } + + @Override + public void insertOutDataToQuery() { + //获取时间 + String[] time = this.getTime(JXSZC); + //查询数据 + List dataFromRecordItems = recordToQueryDao.getDataFromRecordItems(time[0], time[1], JXSZC); + + if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){ + + this.saveOrUpdateBatch(dataFromRecordItems); + + } + + } + + String[] getTime(String km){ + //1.获取增量数据对应时间 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + Date beginTime = recordToQueryDao.getBeginTime(km); + + //第一次数据为空 + if (beginTime == null){ + beginTime = recordToQueryDao.getBeginTimefromRecord(); + } + Calendar cal = Calendar.getInstance(); + + cal.setTime(beginTime); + cal.add(Calendar.DAY_OF_MONTH,-1); + + String start = sdf.format(cal.getTime()); + //结束日期设置为明天 + cal.setTime(new Date()); + cal.add(Calendar.DAY_OF_MONTH,1); + String end = sdf.format(cal.getTime()); + + String[] time = {start,end}; + return time; + } +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java new file mode 100644 index 00000000..a28c277f --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java @@ -0,0 +1,8 @@ +package com.dxhy.core.service.frJob; + +import java.text.ParseException; + +public interface VoucherRecordItemService { + + void refreshTax(); +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java new file mode 100644 index 00000000..6c9548c0 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java @@ -0,0 +1,75 @@ +package com.dxhy.core.service.frJob; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dxhy.core.dao.frTask.QueryDetailDataDao; +import com.dxhy.core.dao.frTask.VoucherRecordItemDao; +import com.dxhy.core.enmu.KjkmTaxEnmu; +import com.dxhy.core.entity.frJob.VoucherRecordItemEntity; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service("voucherRecordItemService") +public class VoucherRecordItemServiceImpl extends ServiceImpl implements VoucherRecordItemService { + + @Autowired + private VoucherRecordItemDao voucherRecordItemDao; + + @Autowired + private QueryDetailDataDao queryDetailDataDao; + + private static final String JXZZS = "22210101"; + + private static final String XXZZS = "22210102"; + + + @Override + public void refreshTax(){ + String[] jxTime = getTime(JXZZS); + //查询进项数据 + List jxVoucherRecordItems = voucherRecordItemDao.getByTime(jxTime[0], jxTime[1], JXZZS); + //税率枚举 + Map taxMap = KjkmTaxEnmu.getTaxMap(); + if (jxVoucherRecordItems != null && jxVoucherRecordItems.size() != 0){ + jxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); + this.updateBatchById(jxVoucherRecordItems); + } + String[] xxTime = getTime(XXZZS); + //查询销项数据 + List xxVoucherRecordItems = voucherRecordItemDao.getByTime(xxTime[0], xxTime[1], XXZZS); + if (xxVoucherRecordItems != null && xxVoucherRecordItems.size() != 0){ + xxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); + this.updateBatchById(xxVoucherRecordItems); + } + + } + + String[] getTime(String km){ + //1.获取增量数据开始时间 + Date beginTime = queryDetailDataDao.getBeginTime(km); + //2.第一次取原表时间 + if (beginTime == null){ + beginTime = queryDetailDataDao.getBeginTimefromRecord(); + } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //3.时间转换求结束日期 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(beginTime); + calendar.add(Calendar.DAY_OF_MONTH,-1); + //4.开始时间减一天 + String begin = format.format(calendar.getTime()); + //5.结束时间为现在加一天 + calendar.setTime(new Date()); + calendar.add(Calendar.DAY_OF_MONTH,1); + String end = format.format(calendar.getTime()); + + String[] time = {begin,end}; + return time; + } +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/task/FrDataTask.java b/dxhy-core/src/main/java/com/dxhy/core/task/FrDataTask.java new file mode 100644 index 00000000..bce76918 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/task/FrDataTask.java @@ -0,0 +1,44 @@ +package com.dxhy.core.task; + +import com.dxhy.common.constant.DbConstant; +import com.dxhy.common.datasource.config.DynamicContextHolder; +import com.dxhy.core.job.entity.ScheduleJobEntity; +import com.dxhy.core.job.service.ScheduleJobService; +import com.dxhy.core.service.frJob.RecordToQueryService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component("frDataTask") +@Slf4j +public class FrDataTask { + @Resource + private ScheduleJobService scheduleJobService; + @Resource + private RecordToQueryService recordToQueryService; + + public void frIncrementData() { + log.info("帆软抽取增量数据定时任务开始--"); + DynamicContextHolder.push(DbConstant.BASICS_READ); + ScheduleJobEntity scheduleJobEntity = scheduleJobService.queryByBeanName("frDataTask", "frIncrementData"); + if (scheduleJobEntity != null && "0".equals(scheduleJobEntity.getJobStatus())) { + try { + scheduleJobEntity.setJobStatus("1"); + DynamicContextHolder.push(DbConstant.BASICS_WRITE); + scheduleJobService.updateById(scheduleJobEntity); + recordToQueryService.getDataForFr(); + log.info("帆软抽取增量数据定时任务结束--"); + } catch (Exception e) { + e.printStackTrace(); + log.error("帆软定时任务异常信息{}",e.getMessage()); + } finally { + log.info("帆软抽取增量数据定时--重置执行状态"); + scheduleJobEntity.setJobStatus("0"); + DynamicContextHolder.push(DbConstant.BASICS_WRITE); + scheduleJobService.updateById(scheduleJobEntity); + } + } + } + +} diff --git a/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml b/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml new file mode 100644 index 00000000..74d38a5f --- /dev/null +++ b/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert IGNORE into voucher_record_query_item( `id`, `uuid`, `bzdh`, `kjpz`, `fpdm`, `fphm`, `fplx`, + `fpje`, `fpse`, `createTime`) values + + (#{voucherRecordQueryItem.id},#{voucherRecordQueryItem.uuid},#{voucherRecordQueryItem.bzdh}, + #{voucherRecordQueryItem.kjpz},#{voucherRecordQueryItem.fpdm},#{voucherRecordQueryItem.fphm}, + #{voucherRecordQueryItem.fplx},#{voucherRecordQueryItem.fpje},#{voucherRecordQueryItem.createTimev}) + + + + + + + + diff --git a/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml b/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml new file mode 100644 index 00000000..434d88f8 --- /dev/null +++ b/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert IGNORE into voucher_record_query( `id`, `zq`, `xfdm`, `xfmc`, `kb`, `kjkmbh`, `kjkm`, + `sapje`, `gysmc`, `gysdm`, `pzh` ,`gfmc`,`gsdm`,`bzdh`,`create_time`) values + + (#{voucherRecordQuery.id},#{voucherRecordQuery.zq},#{voucherRecordQuery.xfdm},#{voucherRecordQuery.xfmc}, + #{voucherRecordQuery.kb},#{voucherRecordQuery.kjkmbh},#{voucherRecordQuery.kjkm},#{voucherRecordQuery.sapje}, + #{voucherRecordQuery.gysmc},#{voucherRecordQuery.gysdm},#{voucherRecordQuery.pzh},#{voucherRecordQuery.gfmc}, + #{voucherRecordQuery.gsdm},#{voucherRecordQuery.bzdh},#{voucherRecordQuery.create_time}) + + + + + + + + + + + diff --git a/dxhy-core/src/main/resources/mapper/frJob/VoucherRecordItemDao.xml b/dxhy-core/src/main/resources/mapper/frJob/VoucherRecordItemDao.xml new file mode 100644 index 00000000..4abe76ce --- /dev/null +++ b/dxhy-core/src/main/resources/mapper/frJob/VoucherRecordItemDao.xml @@ -0,0 +1,20 @@ + + + + + + + + + + From 2754c94849593ad64294dc8da20f806f11e7d983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 14 Sep 2023 15:10:54 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/frJob/QueryDetailDataService.java | 2 + .../frJob/QueryDetailDataServiceImpl.java | 3 +- .../frJob/RecordToQueryServiceImpl.java | 34 ++++++++- .../frJob/VoucherRecordItemService.java | 2 +- .../frJob/VoucherRecordItemServiceImpl.java | 76 +++++++------------ 5 files changed, 64 insertions(+), 53 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java index 42891ecc..61a5c9b1 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java @@ -16,4 +16,6 @@ public interface QueryDetailDataService extends IService voucherRecordQuerys = + recordToQueryDao.getDataFromRecordItems(time[0], time[1],JXZZS); + + if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0){ + //3.查询税率 + Map taxMap = KjkmTaxEnmu.getTaxMap(); + //4.清洗税率 + voucherRecordQuerys.forEach(v->{v.setSl(taxMap.get(v.getKjkmbh()));}); + + //5.报账单号去重 + List bzdhs + = voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) + .distinct().collect(Collectors.toList()); + + //6.根据报账单号获取发票税额 + List taxAmounts = recordToQueryDao.getTaxAmount(bzdhs); + if (taxAmounts != null && taxAmounts.size()>0){ + Map amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpse)); + //7.添加税率 + voucherRecordQuerys.forEach(v->v.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); + } + //8.保存或更新 + this.saveOrUpdateBatch(voucherRecordQuerys); + + } } @Override @@ -75,7 +101,7 @@ public class RecordToQueryServiceImpl extends ServiceImplv.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); } //8.保存或更新 - this.saveOrUpdateBatch(voucherRecordQuerys); + boolean b = this.saveOrUpdateBatch(voucherRecordQuerys); } } diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java index a28c277f..01bcdeb9 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java @@ -4,5 +4,5 @@ import java.text.ParseException; public interface VoucherRecordItemService { - void refreshTax(); + boolean refreshTax(); } diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java index 6c9548c0..9a3d1390 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java @@ -1,14 +1,12 @@ package com.dxhy.core.service.frJob; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dxhy.core.dao.frTask.QueryDetailDataDao; import com.dxhy.core.dao.frTask.VoucherRecordItemDao; import com.dxhy.core.enmu.KjkmTaxEnmu; import com.dxhy.core.entity.frJob.VoucherRecordItemEntity; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.text.ParseException; +import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -16,60 +14,44 @@ import java.util.List; import java.util.Map; @Service("voucherRecordItemService") +@Slf4j public class VoucherRecordItemServiceImpl extends ServiceImpl implements VoucherRecordItemService { - @Autowired + @Resource private VoucherRecordItemDao voucherRecordItemDao; - @Autowired - private QueryDetailDataDao queryDetailDataDao; - + @Resource + private QueryDetailDataService queryDetailDataService; private static final String JXZZS = "22210101"; private static final String XXZZS = "22210102"; @Override - public void refreshTax(){ - String[] jxTime = getTime(JXZZS); - //查询进项数据 - List jxVoucherRecordItems = voucherRecordItemDao.getByTime(jxTime[0], jxTime[1], JXZZS); - //税率枚举 - Map taxMap = KjkmTaxEnmu.getTaxMap(); - if (jxVoucherRecordItems != null && jxVoucherRecordItems.size() != 0){ - jxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); - this.updateBatchById(jxVoucherRecordItems); - } - String[] xxTime = getTime(XXZZS); - //查询销项数据 - List xxVoucherRecordItems = voucherRecordItemDao.getByTime(xxTime[0], xxTime[1], XXZZS); - if (xxVoucherRecordItems != null && xxVoucherRecordItems.size() != 0){ - xxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); - this.updateBatchById(xxVoucherRecordItems); - } - - } - - String[] getTime(String km){ - //1.获取增量数据开始时间 - Date beginTime = queryDetailDataDao.getBeginTime(km); - //2.第一次取原表时间 - if (beginTime == null){ - beginTime = queryDetailDataDao.getBeginTimefromRecord(); + public boolean refreshTax(){ + try { + String[] jxTime = queryDetailDataService.getTime(JXZZS); + //查询进项数据 + List jxVoucherRecordItems = voucherRecordItemDao.getByTime(jxTime[0], jxTime[1], JXZZS); + //税率枚举 + Map taxMap = KjkmTaxEnmu.getTaxMap(); + if (jxVoucherRecordItems != null && jxVoucherRecordItems.size() != 0){ + jxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); + this.updateBatchById(jxVoucherRecordItems); + } + String[] xxTime = queryDetailDataService.getTime(XXZZS); + //查询销项数据 + List xxVoucherRecordItems = voucherRecordItemDao.getByTime(xxTime[0], xxTime[1], XXZZS); + if (xxVoucherRecordItems != null && xxVoucherRecordItems.size() != 0){ + xxVoucherRecordItems.stream().forEach(e->e.setKbetr(taxMap.get(e.getRacct()))); + this.updateBatchById(xxVoucherRecordItems); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("税率刷新时错误信息为{}",e.getMessage()); + return false; } - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //3.时间转换求结束日期 - Calendar calendar = Calendar.getInstance(); - calendar.setTime(beginTime); - calendar.add(Calendar.DAY_OF_MONTH,-1); - //4.开始时间减一天 - String begin = format.format(calendar.getTime()); - //5.结束时间为现在加一天 - calendar.setTime(new Date()); - calendar.add(Calendar.DAY_OF_MONTH,1); - String end = format.format(calendar.getTime()); - String[] time = {begin,end}; - return time; + return true; } } From 0a2c2fb96c07689be0fb3ba03ec61d36da594aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 14 Sep 2023 16:02:51 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/frJob/RecordToQueryService.java | 9 +--- .../frJob/RecordToQueryServiceImpl.java | 44 ++++--------------- 2 files changed, 10 insertions(+), 43 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java index 34b82f79..e801fc44 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java @@ -5,13 +5,6 @@ import com.dxhy.core.entity.frJob.VoucherRecordQuery; public interface RecordToQueryService extends IService{ - void insertJxDataToQuery(); - - void insertXxDataToQuery(); - - void insertZyDataToQuery(); - - void insertOutDataToQuery(); - void getDataForFr(); + } diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java index ece41196..3d7a69bd 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -40,41 +40,16 @@ public class RecordToQueryServiceImpl extends ServiceImpl voucherRecordQuerys = - recordToQueryDao.getDataFromRecordItems(time[0], time[1],JXZZS); - - if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0){ - //3.查询税率 - Map taxMap = KjkmTaxEnmu.getTaxMap(); - //4.清洗税率 - voucherRecordQuerys.forEach(v->{v.setSl(taxMap.get(v.getKjkmbh()));}); - - //5.报账单号去重 - List bzdhs - = voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) - .distinct().collect(Collectors.toList()); - - //6.根据报账单号获取发票税额 - List taxAmounts = recordToQueryDao.getTaxAmount(bzdhs); - if (taxAmounts != null && taxAmounts.size()>0){ - Map amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpse)); - //7.添加税率 - voucherRecordQuerys.forEach(v->v.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); - } - //8.保存或更新 - this.saveOrUpdateBatch(voucherRecordQuerys); - + boolean b = voucherRecordItemService.refreshTax(); + if (!b){ + throw new RuntimeException("刷新sap传送数据税率失败"); } + } - @Override - public void insertJxDataToQuery() { + public boolean insertJxDataToQuery() { + boolean flag = false; //1.获取时间 String[] time = getTime(JXZZS); @@ -101,12 +76,12 @@ public class RecordToQueryServiceImpl extends ServiceImplv.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh()))); } //8.保存或更新 - boolean b = this.saveOrUpdateBatch(voucherRecordQuerys); + flag = this.saveOrUpdateBatch(voucherRecordQuerys); } + return flag; } - @Override public void insertXxDataToQuery() { //1.获取时间 String[] time = getTime(XXZZS); @@ -142,7 +117,6 @@ public class RecordToQueryServiceImpl extends ServiceImpl Date: Thu, 14 Sep 2023 18:56:43 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frJob/RecordToQueryServiceImpl.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java index 3d7a69bd..abbdaec4 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -6,6 +6,7 @@ import com.dxhy.core.dao.frTask.RecordToQueryDao; import com.dxhy.core.enmu.KjkmTaxEnmu; import com.dxhy.core.entity.frJob.FpTaxAmount; import com.dxhy.core.entity.frJob.VoucherRecordQuery; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -40,13 +41,27 @@ public class RecordToQueryServiceImpl extends ServiceImpl Date: Thu, 14 Sep 2023 18:57:56 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/core/service/frJob/RecordToQueryServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java index abbdaec4..887c513b 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -61,7 +61,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl Date: Fri, 15 Sep 2023 09:29:03 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/core/service/frJob/QueryDetailDataServiceImpl.java | 6 ++++++ .../dxhy/core/service/frJob/RecordToQueryServiceImpl.java | 6 ++++++ .../core/service/frJob/VoucherRecordItemServiceImpl.java | 3 +++ .../src/main/resources/mapper/frJob/QueryDetailDataDao.xml | 3 +++ .../src/main/resources/mapper/frJob/RecordToQueryDao.xml | 2 ++ 5 files changed, 20 insertions(+) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java index d531d038..9bfd8996 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java @@ -3,6 +3,8 @@ package com.dxhy.core.service.frJob; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dxhy.common.constant.DbConstant; +import com.dxhy.common.datasource.config.DynamicContextHolder; import com.dxhy.core.dao.frTask.QueryDetailDataDao; import com.dxhy.core.enmu.FplxEnmu; import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; @@ -33,6 +35,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl dataFromRecordItems = queryDetailDataDao.getDataFromRecord(time[0], time[1],JXZZS); @@ -47,6 +50,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl dataFromRecordItems = queryDetailDataDao.getDataFromRecordXx(time[0], time[1],XXZZS); @@ -61,6 +65,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl dataFromRecordItems = queryDetailDataDao.getDataFromRecordJe(time[0], time[1],ZYYWSR); @@ -75,6 +80,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl dataFromRecordItems = recordToQueryDao.getDataFromRecordItems(time[0], time[1], JXSZC); diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java index 9a3d1390..398cf43d 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java @@ -1,6 +1,8 @@ package com.dxhy.core.service.frJob; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dxhy.common.constant.DbConstant; +import com.dxhy.common.datasource.config.DynamicContextHolder; import com.dxhy.core.dao.frTask.VoucherRecordItemDao; import com.dxhy.core.enmu.KjkmTaxEnmu; import com.dxhy.core.entity.frJob.VoucherRecordItemEntity; @@ -30,6 +32,7 @@ public class VoucherRecordItemServiceImpl extends ServiceImpl jxVoucherRecordItems = voucherRecordItemDao.getByTime(jxTime[0], jxTime[1], JXZZS); diff --git a/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml b/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml index 74d38a5f..3cbd9faf 100644 --- a/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml +++ b/dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml @@ -60,6 +60,7 @@ on i.relation_id = r.id where i.racct like CONCAT(#{kjkmbh},'%') and r.create_time between #{beginTime} and #{endTime} + and r.zbzdh != '' group by r.zbzdh,i.racct ) v on t.bzdh = v.zbzdh where d.tax_rate = v.sl @@ -130,6 +131,7 @@ on i.relation_id = r.id where i.racct like CONCAT(#{kjkmbh},'%') and r.create_time between #{beginTime} and #{endTime} + and r.zbzdh != '' group by r.zbzdh,i.racct ) v on t.bzdh = v.zbzdh where d.tax_rate = v.sl @@ -176,6 +178,7 @@ on i.relation_id = r.id where i.racct like CONCAT(#{kjkmbh},'%') and r.create_time between #{beginTime} and #{endTime} + and r.zbzdh != '' group by r.zbzdh,i.racct ) v on t.bzdh = v.zbzdh where d.tax_rate = v.sl diff --git a/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml b/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml index 434d88f8..4e65e378 100644 --- a/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml +++ b/dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml @@ -37,6 +37,7 @@ ON v.id = i.relation_id where i.racct like CONCAT(#{kjkmbh},'%') and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} + and v.zbzdh != '' group by v.zbzdh,i.racct @@ -96,6 +97,7 @@ ON v.id = i.relation_id where i.racct like CONCAT(#{kjkmbh},'%') and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} + and v.zbzdh != '' group by v.zbzdh,i.racct From cc85aa46c981e80abbc3400a3b5b51b235d1754c 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 09:53:22 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java | 2 +- dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java index 20ef4c5b..0b43b17d 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java @@ -54,7 +54,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl