commit
912cf27d94
@ -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<VoucherRecordQueryDetail> { |
||||||
|
|
||||||
|
Date getBeginTime(String kjkmbh); |
||||||
|
|
||||||
|
Date getBeginTimefromRecord(); |
||||||
|
|
||||||
|
List<VoucherRecordQueryDetail> getDataFromRecord(@Param("beginTime") String beginTime, |
||||||
|
@Param("endTime") String endTime, |
||||||
|
@Param("kjkmbh") String kjkmbh); |
||||||
|
|
||||||
|
void insertDataToItem(List<VoucherRecordQueryDetail> voucherRecordQueryDetails); |
||||||
|
|
||||||
|
List<VoucherRecordQueryDetail> getDataFromRecordJe(@Param("beginTime") String beginTime, |
||||||
|
@Param("endTime") String endTime, |
||||||
|
@Param("kjkmbh") String kjkmbh); |
||||||
|
|
||||||
|
List<VoucherRecordQueryDetail> getDataFromRecordXx(@Param("beginTime") String beginTime, |
||||||
|
@Param("endTime") String endTime, |
||||||
|
@Param("kjkmbh") String kjkmbh); |
||||||
|
} |
@ -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<VoucherRecordQuery> { |
||||||
|
|
||||||
|
List<VoucherRecordQuery> getDataFromRecordItems(@Param("start")String beginTime, |
||||||
|
@Param("end") String endTime, |
||||||
|
@Param("kjkmbh")String kjkmbh); |
||||||
|
|
||||||
|
Date getBeginTime(String kjkmbh); |
||||||
|
|
||||||
|
Date getBeginTimefromRecord(); |
||||||
|
|
||||||
|
void insertDataToQuery(List<VoucherRecordQuery> voucherRecordQuerys); |
||||||
|
|
||||||
|
List<FpTaxAmount> getTaxAmount(List<String> bzdhs); |
||||||
|
|
||||||
|
List<VoucherRecordQuery> getDataXFromRecordItems(@Param("start") String start, |
||||||
|
@Param("end") String end, |
||||||
|
@Param("kjkmbh")String kjkmbh); |
||||||
|
|
||||||
|
List<FpTaxAmount> getXTaxAmount(List<String> bzdhs); |
||||||
|
|
||||||
|
List<VoucherRecordQuery> getDataZFromRecordItems(@Param("start") String start, |
||||||
|
@Param("end") String end, |
||||||
|
@Param("kjkmbh") String kjkmbh); |
||||||
|
|
||||||
|
} |
@ -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<VoucherRecordItemEntity> { |
||||||
|
|
||||||
|
List<VoucherRecordItemEntity> getByTime(@Param("start")String start, |
||||||
|
@Param("end") String end, |
||||||
|
@Param("kjkmbh") String kjkmbh); |
||||||
|
} |
@ -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<String,String> getFplxMap(){ |
||||||
|
Map<String,String> fplxMap = Maps.newHashMap(); |
||||||
|
for (FplxEnmu value : FplxEnmu.values()) { |
||||||
|
fplxMap.put(value.fplxDm,value.fplxMc); |
||||||
|
} |
||||||
|
return fplxMap; |
||||||
|
} |
||||||
|
} |
@ -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<String,String> getTaxMap(){ |
||||||
|
Map<String,String> taxMap = Maps.newHashMap(); |
||||||
|
for (KjkmTaxEnmu value : KjkmTaxEnmu.values()) { |
||||||
|
taxMap.put(value.kjkm,value.tax); |
||||||
|
} |
||||||
|
return taxMap; |
||||||
|
} |
||||||
|
} |
@ -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; |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
package com.dxhy.core.entity.frJob; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class KjkmSl { |
||||||
|
|
||||||
|
private String kjkm; |
||||||
|
private String sl; |
||||||
|
} |
@ -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; |
||||||
|
} |
@ -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; |
||||||
|
} |
@ -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; |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
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<VoucherRecordQueryDetail> { |
||||||
|
//插入进项数据
|
||||||
|
void insertJxDataToQueryDetail(); |
||||||
|
|
||||||
|
//插入销项数据
|
||||||
|
void insertXxDataToQueryDetail(); |
||||||
|
|
||||||
|
//插入主营业务收入数据
|
||||||
|
void insertZyDataToQueryDetail(); |
||||||
|
|
||||||
|
String[] getTime(String km); |
||||||
|
|
||||||
|
} |
@ -0,0 +1,105 @@ |
|||||||
|
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; |
||||||
|
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<QueryDetailDataDao, VoucherRecordQueryDetail> |
||||||
|
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.查询时间
|
||||||
|
DynamicContextHolder.push("business"+ DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(JXZZS); |
||||||
|
//2.按照时间查询增量数据
|
||||||
|
List<VoucherRecordQueryDetail> 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.查询时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(XXZZS); |
||||||
|
//2.按照时间查询增量数据
|
||||||
|
List<VoucherRecordQueryDetail> 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.查询时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(ZYYWSR); |
||||||
|
//2.按照时间查询增量数据
|
||||||
|
List<VoucherRecordQueryDetail> 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); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getTime(String km){ |
||||||
|
//1.获取增量数据开始时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
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<VoucherRecordQuery>{ |
||||||
|
|
||||||
|
void getDataForFr(); |
||||||
|
|
||||||
|
} |
@ -0,0 +1,215 @@ |
|||||||
|
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.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; |
||||||
|
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<RecordToQueryDao, VoucherRecordQuery> 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错误税率
|
||||||
|
boolean flag = voucherRecordItemService.refreshTax(); |
||||||
|
if (!flag){ |
||||||
|
throw new RuntimeException("刷新sap传送数据税率失败"); |
||||||
|
} |
||||||
|
//开始插入主数据信息
|
||||||
|
boolean flag1 = this.insertJxDataToQuery(); |
||||||
|
if (flag1){ |
||||||
|
queryDetailDataService.insertJxDataToQueryDetail(); |
||||||
|
} |
||||||
|
boolean flag2 = this.insertXxDataToQuery(); |
||||||
|
if (flag2){ |
||||||
|
queryDetailDataService.insertXxDataToQueryDetail(); |
||||||
|
} |
||||||
|
boolean flag3 = this.insertZyDataToQuery(); |
||||||
|
if (flag3){ |
||||||
|
queryDetailDataService.insertZyDataToQueryDetail(); |
||||||
|
} |
||||||
|
this.insertOutDataToQuery(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public boolean insertJxDataToQuery() { |
||||||
|
|
||||||
|
boolean flag = false; |
||||||
|
//1.获取时间
|
||||||
|
DynamicContextHolder.push("business"+ DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(JXZZS); |
||||||
|
|
||||||
|
//2.查询数据
|
||||||
|
List<VoucherRecordQuery> voucherRecordQuerys = |
||||||
|
recordToQueryDao.getDataFromRecordItems(time[0], time[1],JXZZS); |
||||||
|
|
||||||
|
if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0){ |
||||||
|
//3.查询税率
|
||||||
|
Map<String, String> taxMap = KjkmTaxEnmu.getTaxMap(); |
||||||
|
//4.清洗税率
|
||||||
|
voucherRecordQuerys.forEach(v->{v.setSl(taxMap.get(v.getKjkmbh()));}); |
||||||
|
|
||||||
|
//5.报账单号去重
|
||||||
|
List<String> bzdhs |
||||||
|
= voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) |
||||||
|
.distinct().collect(Collectors.toList()); |
||||||
|
|
||||||
|
//6.根据报账单号获取发票税额
|
||||||
|
List<FpTaxAmount> taxAmounts = recordToQueryDao.getTaxAmount(bzdhs); |
||||||
|
if (taxAmounts != null && taxAmounts.size()>0){ |
||||||
|
Map<String, String> 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.保存或更新
|
||||||
|
flag = this.saveOrUpdateBatch(voucherRecordQuerys); |
||||||
|
|
||||||
|
} |
||||||
|
return flag; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public boolean insertXxDataToQuery() { |
||||||
|
boolean flag = false; |
||||||
|
//1.获取时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(XXZZS); |
||||||
|
|
||||||
|
//2.查询数据
|
||||||
|
List<VoucherRecordQuery> voucherRecordQuerys = |
||||||
|
recordToQueryDao.getDataXFromRecordItems(time[0],time[1],XXZZS); |
||||||
|
|
||||||
|
if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0) { |
||||||
|
//3.查询税率
|
||||||
|
Map<String, String> taxMap = KjkmTaxEnmu.getTaxMap(); |
||||||
|
//4.清洗税率
|
||||||
|
voucherRecordQuerys.forEach(v -> { |
||||||
|
v.setSl(taxMap.get(v.getKjkmbh())); |
||||||
|
}); |
||||||
|
|
||||||
|
//5.报账单号去重
|
||||||
|
List<String> bzdhs |
||||||
|
= voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) |
||||||
|
.distinct().collect(Collectors.toList()); |
||||||
|
|
||||||
|
//6.根据报账单号获取发票税额
|
||||||
|
List<FpTaxAmount> taxAmounts = recordToQueryDao.getXTaxAmount(bzdhs); |
||||||
|
if (taxAmounts != null && taxAmounts.size() > 0) { |
||||||
|
Map<String, String> 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.保存或更新
|
||||||
|
flag = this.saveOrUpdateBatch(voucherRecordQuerys); |
||||||
|
} |
||||||
|
return flag; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public boolean insertZyDataToQuery() { |
||||||
|
boolean flag = false; |
||||||
|
//1.获取时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] time = getTime(ZYYWSR); |
||||||
|
|
||||||
|
//2.查询数据
|
||||||
|
List<VoucherRecordQuery> voucherRecordQuerys = |
||||||
|
recordToQueryDao.getDataZFromRecordItems(time[0],time[1],ZYYWSR); |
||||||
|
|
||||||
|
if (voucherRecordQuerys != null && voucherRecordQuerys.size() > 0) { |
||||||
|
|
||||||
|
//3.报账单号去重
|
||||||
|
List<String> bzdhs |
||||||
|
= voucherRecordQuerys.stream().map(VoucherRecordQuery::getBzdh) |
||||||
|
.distinct().collect(Collectors.toList()); |
||||||
|
|
||||||
|
//4.根据报账单号获取发票税额
|
||||||
|
List<FpTaxAmount> taxAmounts = recordToQueryDao.getXTaxAmount(bzdhs); |
||||||
|
if (taxAmounts != null && taxAmounts.size() > 0) { |
||||||
|
Map<String, String> 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.保存或更新
|
||||||
|
flag = this.saveOrUpdateBatch(voucherRecordQuerys); |
||||||
|
} |
||||||
|
return flag; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public void insertOutDataToQuery() { |
||||||
|
//获取时间
|
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] time = this.getTime(JXSZC); |
||||||
|
//查询数据
|
||||||
|
List<VoucherRecordQuery> 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; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
package com.dxhy.core.service.frJob; |
||||||
|
|
||||||
|
import java.text.ParseException; |
||||||
|
|
||||||
|
public interface VoucherRecordItemService { |
||||||
|
|
||||||
|
boolean refreshTax(); |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
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; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
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; |
||||||
|
|
||||||
|
@Service("voucherRecordItemService") |
||||||
|
@Slf4j |
||||||
|
public class VoucherRecordItemServiceImpl extends ServiceImpl<VoucherRecordItemDao, VoucherRecordItemEntity> implements VoucherRecordItemService { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private VoucherRecordItemDao voucherRecordItemDao; |
||||||
|
|
||||||
|
@Resource |
||||||
|
private QueryDetailDataService queryDetailDataService; |
||||||
|
private static final String JXZZS = "22210101"; |
||||||
|
|
||||||
|
private static final String XXZZS = "22210102"; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean refreshTax(){ |
||||||
|
try { |
||||||
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
||||||
|
String[] jxTime = queryDetailDataService.getTime(JXZZS); |
||||||
|
//查询进项数据
|
||||||
|
List<VoucherRecordItemEntity> jxVoucherRecordItems = voucherRecordItemDao.getByTime(jxTime[0], jxTime[1], JXZZS); |
||||||
|
//税率枚举
|
||||||
|
Map<String, String> 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<VoucherRecordItemEntity> 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; |
||||||
|
} |
||||||
|
|
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -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); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,188 @@ |
|||||||
|
<?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.core.dao.frTask.QueryDetailDataDao"> |
||||||
|
|
||||||
|
<resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQueryDetail"> |
||||||
|
<id property="id" column="id"/> |
||||||
|
<result property="uuid" column="uuid"/> |
||||||
|
<result property="zq" column="zq"/> |
||||||
|
<result property="xfdm" column="xfdm"/> |
||||||
|
<result property="xfmc" column="xfmc"/> |
||||||
|
<result property="kb" column="kb"/> |
||||||
|
<result property="kjkmbh" column="kjkmbh"/> |
||||||
|
<result property="kjkm" column="kjkm"/> |
||||||
|
<result property="bzdh" column="bzdh"/> |
||||||
|
<result property="kjpz" column="kjpz"/> |
||||||
|
<result property="fplx" column="fplx"/> |
||||||
|
<result property="fphm" column="fphm"/> |
||||||
|
<result property="fpdm" column="fpdm"/> |
||||||
|
<result property="fpse" column="fpse"/> |
||||||
|
<result property="sl" column="sl"/> |
||||||
|
<result property="createTime" column="create_time"/> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<select id="getDataFromRecord" resultMap="RecordToQuery"> |
||||||
|
select CONCAT(v.kjkmbh,t.uuid) as id, |
||||||
|
t.uuid as uuid, |
||||||
|
LEFT(v.budat,7) as zq, |
||||||
|
v.xfdm, |
||||||
|
v.xfmc, |
||||||
|
v.kb, |
||||||
|
v.kjkmbh, |
||||||
|
v.kjkm, |
||||||
|
t.bzdh, |
||||||
|
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, |
||||||
|
t.invoice_type as fplx, |
||||||
|
t.invoice_no as fphm, |
||||||
|
t.invoice_code as fpdm, |
||||||
|
sum(CAST(d.tax_amount as decimal(16,2))) as fpse, |
||||||
|
v.sl, |
||||||
|
v.create_time |
||||||
|
from t_dx_record_invoice t inner join dxhy_detail.t_dx_record_invoice_detail d |
||||||
|
on t.uuid = d.uuid |
||||||
|
inner join ( |
||||||
|
select r.zbzdh, |
||||||
|
CASE |
||||||
|
WHEN LOCATE('.',i.kbetr) >0 |
||||||
|
THEN CAST(i.kbetr as decimal(4,1)) |
||||||
|
ELSE CAST(i.kbetr as decimal(3)) |
||||||
|
END as sl, |
||||||
|
r.bukrs as xfdm, |
||||||
|
r.butxt as xfmc, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, |
||||||
|
i.zkname as kb, |
||||||
|
SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse, |
||||||
|
r.budat, |
||||||
|
r.create_time |
||||||
|
from voucher_record_item i inner join voucher_record r |
||||||
|
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 |
||||||
|
and t.invoice_type in ('01','03','08','14','31','183') |
||||||
|
group by d.uuid,d.tax_rate |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getBeginTime" resultType="java.util.Date" parameterType="java.lang.String"> |
||||||
|
select STR_TO_DATE(create_time,'%Y-%m-%d %H:%i:%s') as createTime |
||||||
|
from voucher_record_query_detail |
||||||
|
where kjkmbh like CONCAT(#{kjkmbh},'%') |
||||||
|
order by create_time desc limit 1 |
||||||
|
</select> |
||||||
|
|
||||||
|
|
||||||
|
<select id="getBeginTimefromRecord" resultType="java.util.Date"> |
||||||
|
select create_time from voucher_record order by create_time limit 1 |
||||||
|
</select> |
||||||
|
|
||||||
|
|
||||||
|
<insert id="insertDataToItem" parameterType="com.dxhy.core.entity.frJob.VoucherRecordQueryDetail"> |
||||||
|
insert IGNORE into voucher_record_query_item( `id`, `uuid`, `bzdh`, `kjpz`, `fpdm`, `fphm`, `fplx`, |
||||||
|
`fpje`, `fpse`, `createTime`) values |
||||||
|
<foreach collection="voucherRecordQueryItemItems" item="voucherRecordQueryItem" separator=","> |
||||||
|
(#{voucherRecordQueryItem.id},#{voucherRecordQueryItem.uuid},#{voucherRecordQueryItem.bzdh}, |
||||||
|
#{voucherRecordQueryItem.kjpz},#{voucherRecordQueryItem.fpdm},#{voucherRecordQueryItem.fphm}, |
||||||
|
#{voucherRecordQueryItem.fplx},#{voucherRecordQueryItem.fpje},#{voucherRecordQueryItem.createTimev}) |
||||||
|
</foreach> |
||||||
|
</insert> |
||||||
|
|
||||||
|
|
||||||
|
<select id="getDataFromRecordJe" resultMap="RecordToQuery"> |
||||||
|
select CONCAT(v.kjkmbh,t.uuid) as id, |
||||||
|
t.uuid as uuid, |
||||||
|
LEFT(v.budat,7) as zq, |
||||||
|
v.xfdm, |
||||||
|
v.xfmc, |
||||||
|
v.kb, |
||||||
|
v.kjkmbh, |
||||||
|
v.kjkm, |
||||||
|
t.bzdh, |
||||||
|
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, |
||||||
|
t.invoice_type as fplx, |
||||||
|
t.invoice_no as fphm, |
||||||
|
t.invoice_code as fpdm, |
||||||
|
sum(CAST(d.detail_amount as decimal(16,2))) as fpse, |
||||||
|
v.sl, |
||||||
|
v.create_time |
||||||
|
from t_dx_sale_record_invoice t inner join dxhy_detail.t_dx_record_invoice_detail_sales d |
||||||
|
on t.uuid = d.uuid |
||||||
|
inner join ( |
||||||
|
select r.zbzdh, |
||||||
|
CASE |
||||||
|
WHEN LOCATE('.',i.kbetr) >0 |
||||||
|
THEN CAST(i.kbetr as decimal(4,1)) |
||||||
|
ELSE CAST(i.kbetr as decimal(3)) |
||||||
|
END as sl, |
||||||
|
r.bukrs as xfdm, |
||||||
|
r.butxt as xfmc, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, |
||||||
|
i.zkname as kb, |
||||||
|
SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse, |
||||||
|
r.budat, |
||||||
|
r.create_time |
||||||
|
from voucher_record_item i inner join voucher_record r |
||||||
|
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 |
||||||
|
and t.invoice_type in ('01','03','08','14','31','183') |
||||||
|
group by d.uuid,d.tax_rate |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getDataFromRecordXx" resultMap="RecordToQuery"> |
||||||
|
select CONCAT(v.kjkmbh,t.uuid) as id, |
||||||
|
t.uuid as uuid, |
||||||
|
LEFT(v.budat,7) as zq, |
||||||
|
v.xfdm, |
||||||
|
v.xfmc, |
||||||
|
v.kb, |
||||||
|
v.kjkmbh, |
||||||
|
v.kjkm, |
||||||
|
t.bzdh, |
||||||
|
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, |
||||||
|
t.invoice_type as fplx, |
||||||
|
t.invoice_no as fphm, |
||||||
|
t.invoice_code as fpdm, |
||||||
|
sum(CAST(d.tax_amount as decimal(16,2))) as fpse, |
||||||
|
v.sl, |
||||||
|
v.create_time |
||||||
|
from t_dx_sale_record_invoice t inner join dxhy_detail.t_dx_record_invoice_detail_sales d |
||||||
|
on t.uuid = d.uuid |
||||||
|
inner join ( |
||||||
|
select r.zbzdh, |
||||||
|
CASE |
||||||
|
WHEN LOCATE('.',i.kbetr) >0 |
||||||
|
THEN CAST(i.kbetr as decimal(4,1)) |
||||||
|
ELSE CAST(i.kbetr as decimal(3)) |
||||||
|
END as sl, |
||||||
|
r.bukrs as xfdm, |
||||||
|
r.butxt as xfmc, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, |
||||||
|
i.zkname as kb, |
||||||
|
SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse, |
||||||
|
r.budat, |
||||||
|
r.create_time |
||||||
|
from voucher_record_item i inner join voucher_record r |
||||||
|
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 |
||||||
|
and t.invoice_type in ('01','03','08','14','31','183') |
||||||
|
group by d.uuid,d.tax_rate |
||||||
|
</select> |
||||||
|
</mapper> |
@ -0,0 +1,140 @@ |
|||||||
|
<?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.core.dao.frTask.RecordToQueryDao"> |
||||||
|
|
||||||
|
<resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQuery"> |
||||||
|
<id property="id" column="id"/> |
||||||
|
<result property="zq" column="zq"/> |
||||||
|
<result property="sl" column="sl"/> |
||||||
|
<result property="xfdm" column="xfdm"/> |
||||||
|
<result property="xfmc" column="xfmc"/> |
||||||
|
<result property="kb" column="kb"/> |
||||||
|
<result property="kjkmbh" column="kjkmbh"/> |
||||||
|
<result property="kjkm" column="kjkm"/> |
||||||
|
<result property="sapse" column="sapse"/> |
||||||
|
<result property="kjpz" column="pzh"/> |
||||||
|
<result property="bzdh" column="bzdh"/> |
||||||
|
<result property="createTime" column="create_time"/> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<select id="getDataFromRecordItems" resultMap="RecordToQuery"> |
||||||
|
SELECT |
||||||
|
CONCAT(i.racct,v.zbzdh) as id, |
||||||
|
SUBSTRING(v.budat,1,7) zq, |
||||||
|
i.kbetr as sl, |
||||||
|
v.bukrs as xfdm, |
||||||
|
v.butxt as xfmc, |
||||||
|
i.zkname as kb, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
sum(CAST(i.zhslj as decimal(20,2))) as sapse, |
||||||
|
v.belnr as pzh, |
||||||
|
v.zbzdh as bzdh, |
||||||
|
v.create_time |
||||||
|
FROM |
||||||
|
dxhy_tertiary.voucher_record_item i |
||||||
|
LEFT JOIN dxhy_tertiary.voucher_record v |
||||||
|
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 |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getBeginTime" resultType="java.util.Date"> |
||||||
|
select STR_TO_DATE(create_time,'%Y-%m-%d %H:%i:%s') as create_time |
||||||
|
from voucher_record_query |
||||||
|
where kjkmbh like CONCAT(#{kjkmbh},'%') |
||||||
|
order by create_time desc limit 1 |
||||||
|
</select> |
||||||
|
|
||||||
|
|
||||||
|
<select id="getBeginTimefromRecord" resultType="java.util.Date"> |
||||||
|
select create_time from voucher_record order by create_time limit 1 |
||||||
|
</select> |
||||||
|
|
||||||
|
|
||||||
|
<insert id="insertDataToQuery" parameterType="com.dxhy.core.entity.frJob.VoucherRecordQuery"> |
||||||
|
insert IGNORE into voucher_record_query( `id`, `zq`, `xfdm`, `xfmc`, `kb`, `kjkmbh`, `kjkm`, |
||||||
|
`sapje`, `gysmc`, `gysdm`, `pzh` ,`gfmc`,`gsdm`,`bzdh`,`create_time`) values |
||||||
|
<foreach collection="voucherRecordQuerys" item="voucherRecordQuery" separator=","> |
||||||
|
(#{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}) |
||||||
|
</foreach> |
||||||
|
</insert> |
||||||
|
|
||||||
|
<select id="getTaxAmount" parameterType="java.util.List" resultType="com.dxhy.core.entity.frJob.FpTaxAmount"> |
||||||
|
select CONCAT(d.tax_rate,t.bzdh) as `key`,sum(CAST(d.tax_amount as decimal(20,2))) as fpse |
||||||
|
from dxhy_detail.t_dx_record_invoice_detail d inner join t_dx_record_invoice t |
||||||
|
on d.uuid = t.uuid |
||||||
|
where t.bzdh in |
||||||
|
<foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")"> |
||||||
|
#{bzdh} |
||||||
|
</foreach> |
||||||
|
and t.invoice_type in ('01','03','08','14','31','183') |
||||||
|
group by d.uuid,d.tax_rate,t.bzdh |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getDataXFromRecordItems" resultMap="RecordToQuery"> |
||||||
|
SELECT |
||||||
|
CONCAT(i.racct,v.zbzdh) as id, |
||||||
|
SUBSTRING(v.budat,1,7) zq, |
||||||
|
i.kbetr as sl, |
||||||
|
v.bukrs as xfdm, |
||||||
|
v.butxt as xfmc, |
||||||
|
i.zkname as kb, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
sum(CAST(i.zwsld as decimal(20,2))) as sapse, |
||||||
|
v.belnr as pzh, |
||||||
|
v.zbzdh as bzdh, |
||||||
|
v.create_time |
||||||
|
FROM |
||||||
|
dxhy_tertiary.voucher_record_item i |
||||||
|
LEFT JOIN dxhy_tertiary.voucher_record v |
||||||
|
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 |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getXTaxAmount" parameterType="java.util.List" resultType="com.dxhy.core.entity.frJob.FpTaxAmount"> |
||||||
|
select CONCAT(d.tax_rate,t.bzdh) as `key`,sum(CAST(d.tax_amount as decimal(20,2))) as fpse, |
||||||
|
sum(CAST(d.detail_amount as decimal(20,2))) as fpje |
||||||
|
from dxhy_detail.t_dx_record_invoice_detail_sales d inner join t_dx_sale_record_invoice t |
||||||
|
on d.uuid = t.uuid |
||||||
|
where t.bzdh in |
||||||
|
<foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")"> |
||||||
|
#{bzdh} |
||||||
|
</foreach> |
||||||
|
and t.invoice_type in ('01','03','08','14','31','183') |
||||||
|
group by d.uuid,d.tax_rate,t.bzdh |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getDataZFromRecordItems" resultMap="RecordToQuery"> |
||||||
|
SELECT |
||||||
|
CONCAT(i.racct,v.zbzdh) as id, |
||||||
|
SUBSTRING(v.budat,1,7) zq, |
||||||
|
i.kbetr as sl, |
||||||
|
v.bukrs as xfdm, |
||||||
|
v.butxt as xfmc, |
||||||
|
i.zkname as kb, |
||||||
|
i.racct as kjkmbh, |
||||||
|
i.txt50 as kjkm, |
||||||
|
sum(CAST(i.zwsld as decimal(20,2))) as sapse, |
||||||
|
v.belnr as pzh, |
||||||
|
v.zbzdh as bzdh, |
||||||
|
v.create_time |
||||||
|
FROM |
||||||
|
dxhy_tertiary.voucher_record_item i |
||||||
|
LEFT JOIN dxhy_tertiary.voucher_record v |
||||||
|
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 |
||||||
|
</select> |
||||||
|
</mapper> |
@ -0,0 +1,20 @@ |
|||||||
|
<?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.core.dao.frTask.VoucherRecordItemDao"> |
||||||
|
|
||||||
|
<resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordItemEntity"> |
||||||
|
<id property="id" column="id"/> |
||||||
|
<result property="racct" column="racct"/> |
||||||
|
</resultMap> |
||||||
|
<select id="getByTime" resultMap="RecordToQuery"> |
||||||
|
SELECT |
||||||
|
i.id, |
||||||
|
i.racct |
||||||
|
FROM |
||||||
|
dxhy_tertiary.voucher_record_item i |
||||||
|
LEFT JOIN dxhy_tertiary.voucher_record v |
||||||
|
ON v.id = i.relation_id |
||||||
|
where DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} |
||||||
|
and i.racct like CONCAT(#{kjkmbh},'%') |
||||||
|
</select> |
||||||
|
</mapper> |
Loading…
Reference in new issue