帆软定时任务升级

release
路明慧 2 years ago
parent 130580e31e
commit 7751d50a31
  1. 7
      dxhy-core/src/main/java/com/dxhy/core/dao/frTask/QueryDetailDataDao.java
  2. 8
      dxhy-core/src/main/java/com/dxhy/core/dao/frTask/RecordToQueryDao.java
  3. 17
      dxhy-core/src/main/java/com/dxhy/core/dao/frTask/VoucherRecordItemDao.java
  4. 271
      dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordItemEntity.java
  5. 10
      dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQuery.java
  6. 5
      dxhy-core/src/main/java/com/dxhy/core/entity/frJob/VoucherRecordQueryDetail.java
  7. 9
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataService.java
  8. 46
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/QueryDetailDataServiceImpl.java
  9. 3
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryService.java
  10. 70
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/RecordToQueryServiceImpl.java
  11. 8
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemService.java
  12. 59
      dxhy-core/src/main/java/com/dxhy/core/service/frJob/VoucherRecordItemServiceImpl.java
  13. 2
      dxhy-core/src/main/java/com/dxhy/core/task/FrDataTask.java
  14. 247
      dxhy-core/src/main/resources/mapper/frJob/QueryDetailDataDao.xml
  15. 192
      dxhy-core/src/main/resources/mapper/frJob/RecordToQueryDao.xml
  16. 20
      dxhy-core/src/main/resources/mapper/frJob/VoucherRecordItemDao.xml
  17. 5
      dxhy-erp/pom.xml
  18. 1
      dxhy-oss/pom.xml

@ -1,5 +1,7 @@
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;
@ -19,8 +21,6 @@ public interface QueryDetailDataDao extends BaseMapper<VoucherRecordQueryDetail>
@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);
@ -28,4 +28,7 @@ public interface QueryDetailDataDao extends BaseMapper<VoucherRecordQueryDetail>
List<VoucherRecordQueryDetail> getDataFromRecordXx(@Param("beginTime") String beginTime,
@Param("endTime") String endTime,
@Param("kjkmbh") String kjkmbh);
void saveOrUpdate(List<VoucherRecordQueryDetail> dataFromRecordItems);
}

@ -1,5 +1,6 @@
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;
@ -20,8 +21,6 @@ public interface RecordToQueryDao extends BaseMapper<VoucherRecordQuery> {
Date getBeginTimefromRecord();
void insertDataToQuery(List<VoucherRecordQuery> voucherRecordQuerys);
List<FpTaxAmount> getTaxAmount(List<String> bzdhs);
List<VoucherRecordQuery> getDataXFromRecordItems(@Param("start") String start,
@ -30,8 +29,13 @@ public interface RecordToQueryDao extends BaseMapper<VoucherRecordQuery> {
List<FpTaxAmount> getXTaxAmount(List<String> bzdhs);
List<FpTaxAmount> getZTaxAmount(List<String> bzdhs);
List<VoucherRecordQuery> getDataZFromRecordItems(@Param("start") String start,
@Param("end") String end,
@Param("kjkmbh") String kjkmbh);
void insertOrUpdate(List<VoucherRecordQuery> voucherRecordQuerys);
List<String> getRzzt(@Param("uuids") List<String> uuids);
}

@ -1,17 +0,0 @@
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);
}

@ -1,271 +0,0 @@
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;
}

@ -32,6 +32,16 @@ public class VoucherRecordQuery {
*/
private String xfmc;
/**
* 供应商代码
*/
private String gysdm;
/**
* 供应商名称
*/
private String gysmc;
/**
* kb
*/

@ -89,4 +89,9 @@ public class VoucherRecordQueryDetail {
* 创建时间
*/
private String createTime;
/**
* 认证状态 1已认证0未认证
*/
private String rzzt;
}

@ -1,10 +1,12 @@
package com.dxhy.core.service.frJob;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail;
import java.text.ParseException;
import java.util.List;
public interface QueryDetailDataService extends IService<VoucherRecordQueryDetail> {
//插入进项数据
@ -18,4 +20,7 @@ public interface QueryDetailDataService extends IService<VoucherRecordQueryDetai
String[] getTime(String km);
List<String> getRzztDetail();
void updateRzzt(List<String> rzDetail);
}

@ -1,22 +1,19 @@
package com.dxhy.core.service.frJob;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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;
import java.util.stream.Collectors;
@Service("queryDetailDataService")
public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao, VoucherRecordQueryDetail>
@ -34,7 +31,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
@Override
public void insertJxDataToQueryDetail(){
//1.查询时间
String[] time = getTime(JXZZS);
//2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecord(time[0], time[1],JXZZS);
@ -42,13 +39,13 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems);
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
@Override
public void insertXxDataToQueryDetail(){
//1.查询时间
String[] time = getTime(XXZZS);
//2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecordXx(time[0], time[1],XXZZS);
@ -56,13 +53,13 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems);
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
@Override
public void insertZyDataToQueryDetail(){
//1.查询时间
String[] time = getTime(ZYYWSR);
//2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecordJe(time[0], time[1],ZYYWSR);
@ -70,7 +67,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems);
queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
}
}
@ -87,7 +84,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
//3.时间转换求结束日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(beginTime);
calendar.add(Calendar.DAY_OF_MONTH,-1);
calendar.add(Calendar.HOUR_OF_DAY,-1);
//4.开始时间减一天
String begin = format.format(calendar.getTime());
//5.结束时间为现在加一天
@ -98,4 +95,25 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
String[] time = {begin,end};
return time;
}
@Override
public List<String> getRzztDetail() {
LambdaQueryWrapper<VoucherRecordQueryDetail> querywrapper = new LambdaQueryWrapper<>();
querywrapper.select(VoucherRecordQueryDetail::getUuid);
querywrapper.eq(VoucherRecordQueryDetail::getRzzt,"0");
querywrapper.likeRight(VoucherRecordQueryDetail::getKjkmbh,JXZZS);
return this.list(querywrapper).stream().map(e -> e.getUuid()).distinct().collect(Collectors.toList());
}
@Override
public void updateRzzt(List<String> uuids) {
if (uuids!= null && uuids.size() > 0){
LambdaUpdateWrapper<VoucherRecordQueryDetail> updateWrap = new LambdaUpdateWrapper();
updateWrap.in(VoucherRecordQueryDetail::getUuid,uuids);
updateWrap.set(VoucherRecordQueryDetail::getRzzt,"1");
this.update(updateWrap);
}
}
}

@ -1,9 +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>{
public interface RecordToQueryService extends IService<VoucherRecordQuery> {
void getDataForFr();

@ -2,14 +2,12 @@ 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;
@ -27,8 +25,6 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
@Resource
private QueryDetailDataService queryDetailDataService;
@Resource
private VoucherRecordItemService voucherRecordItemService;
private final String JXZZS = "22210101";
@ -42,26 +38,43 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
@Override
public void getDataForFr() {
//清洗sap错误税率
boolean flag = voucherRecordItemService.refreshTax();
if (!flag){
throw new RuntimeException("刷新sap传送数据税率失败");
}
//开始插入主数据信息
boolean flag1 = this.insertJxDataToQuery();
if (flag1){
queryDetailDataService.insertJxDataToQueryDetail();
try {
boolean flag1 = this.insertJxDataToQuery();
if (flag1){
queryDetailDataService.insertJxDataToQueryDetail();
}
}catch (Exception e) {
log.error("帆软进项增值税数据获取异常",e);
}
boolean flag2 = this.insertXxDataToQuery();
if (flag2){
queryDetailDataService.insertXxDataToQueryDetail();
try {
boolean flag2 = this.insertXxDataToQuery();
if (flag2){
queryDetailDataService.insertXxDataToQueryDetail();
}
}catch (Exception e) {
log.error("帆软销项增值税数据获取异常",e);
}
boolean flag3 = this.insertZyDataToQuery();
if (flag3){
queryDetailDataService.insertZyDataToQueryDetail();
try {
boolean flag3 = this.insertZyDataToQuery();
if (flag3){
queryDetailDataService.insertZyDataToQueryDetail();
}
}catch (Exception e) {
log.error("帆软主营业务收入数据获取异常",e);
}
this.insertOutDataToQuery();
//更新发票认证状态
List<String> uuids = queryDetailDataService.getRzztDetail();
List<String> rzztList = recordToQueryDao.getRzzt(uuids);
queryDetailDataService.updateRzzt(rzztList);
}
public boolean insertJxDataToQuery() {
@ -78,7 +91,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
//3.查询税率
Map<String, String> taxMap = KjkmTaxEnmu.getTaxMap();
//4.清洗税率
voucherRecordQuerys.forEach(v->{v.setSl(taxMap.get(v.getKjkmbh()));});
voucherRecordQuerys.forEach(v->v.setSl(taxMap.get(v.getKjkmbh())));
//5.报账单号去重
List<String> bzdhs
@ -93,8 +106,8 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
voucherRecordQuerys.forEach(v->v.setFpse(amountMap.get(v.getSl()+v.getBzdh())==null?"0":amountMap.get(v.getSl()+v.getBzdh())));
}
//8.保存或更新
flag = this.saveOrUpdateBatch(voucherRecordQuerys);
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
flag = true;
}
return flag;
}
@ -132,7 +145,8 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
}
//8.保存或更新
flag = this.saveOrUpdateBatch(voucherRecordQuerys);
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
flag = true;
}
return flag;
}
@ -155,7 +169,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
.distinct().collect(Collectors.toList());
//4.根据报账单号获取发票税额
List<FpTaxAmount> taxAmounts = recordToQueryDao.getXTaxAmount(bzdhs);
List<FpTaxAmount> taxAmounts = recordToQueryDao.getZTaxAmount(bzdhs);
if (taxAmounts != null && taxAmounts.size() > 0) {
Map<String, String> amountMap = taxAmounts.stream().collect(Collectors.toMap(FpTaxAmount::getKey, FpTaxAmount::getFpje));
@ -164,7 +178,8 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
}
//6.保存或更新
flag = this.saveOrUpdateBatch(voucherRecordQuerys);
recordToQueryDao.insertOrUpdate(voucherRecordQuerys);
flag = true;
}
return flag;
}
@ -178,7 +193,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
this.saveOrUpdateBatch(dataFromRecordItems);
recordToQueryDao.insertOrUpdate(dataFromRecordItems);
}
@ -197,7 +212,7 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
Calendar cal = Calendar.getInstance();
cal.setTime(beginTime);
cal.add(Calendar.DAY_OF_MONTH,-1);
cal.add(Calendar.HOUR_OF_DAY,-1);
String start = sdf.format(cal.getTime());
//结束日期设置为明天
@ -208,4 +223,5 @@ public class RecordToQueryServiceImpl extends ServiceImpl<RecordToQueryDao, Vouc
String[] time = {start,end};
return time;
}
}

@ -1,8 +0,0 @@
package com.dxhy.core.service.frJob;
import java.text.ParseException;
public interface VoucherRecordItemService {
boolean refreshTax();
}

@ -1,59 +0,0 @@
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 {
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;
}
}

@ -1,7 +1,5 @@
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;

@ -1,7 +1,6 @@
<?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"/>
@ -18,54 +17,56 @@
<result property="fpdm" column="fpdm"/>
<result property="fpse" column="fpse"/>
<result property="sl" column="sl"/>
<result property="rzzt" column="rzzt"/>
<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
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,
CASE rzh_yesorno
WHEN '0' THEN '0'
ELSE '1'
END as rzzt
from t_dx_record_invoice t inner join t_dx_record_invoice_detail d
on t.uuid = d.uuid
inner join (
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
i.kbetr 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
on i.relation_id = r.id
where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != ''
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
) v on t.bzdh = v.zbzdh
where d.tax_rate = v.sl
and t.invoice_type in ('01','03','08','14','31','183')
and d.goods_name != '(详见销货清单)'
group by d.uuid,d.tax_rate
</select>
<select id="getBeginTime" resultType="java.util.Date" parameterType="java.lang.String">
@ -81,108 +82,100 @@
</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
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 t_dx_record_invoice_detail_sales d
on t.uuid = d.uuid
inner join (
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
i.kbetr 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
on i.relation_id = r.id
where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != ''
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 * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate
) v on t.bzdh = v.zbzdh
where d.tax_rate * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183')
and d.goods_name != '(详见销货清单)'
and t.invoice_status != '2'
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
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 t_dx_record_invoice_detail_sales d
on t.uuid = d.uuid
inner join (
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
i.kbetr 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
on i.relation_id = r.id
where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != ''
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 * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate
) v on t.bzdh = v.zbzdh
where d.tax_rate * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183')
and d.goods_name != '(详见销货清单)'
and t.invoice_status != '2'
group by d.uuid,d.tax_rate
</select>
<insert id="saveOrUpdate" parameterType="com.dxhy.core.entity.frJob.VoucherRecordQueryDetail">
REPLACE INTO voucher_record_query_detail(id,uuid,zq,xfdm,xfmc,kb,bzdh,kjpz,fpse,kjkm,kjkmbh,sl,fpdm,fphm,fplx,fplxmc,create_time,rzzt) values
<foreach collection="dataFromRecordItems" item="item" separator=",">
(#{item.id},#{item.uuid},#{item.zq},#{item.xfdm},#{item.xfmc},#{item.kb},#{item.bzdh},#{item.kjpz},#{item.fpse},#{item.kjkm},#{item.kjkmbh},#{item.sl},#{item.fpdm},#{item.fphm},#{item.fplx},#{item.fplxmc},#{item.createTime},#{item.rzzt})
</foreach>
</insert>
</mapper>

@ -1,7 +1,6 @@
<?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"/>
@ -14,38 +13,42 @@
<result property="sapse" column="sapse"/>
<result property="kjpz" column="pzh"/>
<result property="bzdh" column="bzdh"/>
<result property="gysdm" column="zbzcg"/>
<result property="gysmc" column="zbzcgt"/>
<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
voucher_record_item i
LEFT JOIN 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
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.zbzcgt,
v.zbzcg,
v.create_time
FROM
voucher_record_item i
LEFT JOIN 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 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>
@ -53,18 +56,6 @@
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 t_dx_record_invoice_detail d inner join t_dx_record_invoice t
@ -73,36 +64,37 @@
<foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")">
#{bzdh}
</foreach>
and d.goods_name != '(详见销货清单)'
and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate,t.bzdh
group by 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
voucher_record_item i
LEFT JOIN 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
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
voucher_record_item i
LEFT JOIN 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,
select CONCAT(d.tax_rate*100,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 t_dx_record_invoice_detail_sales d inner join t_dx_sale_record_invoice t
on d.uuid = t.uuid
@ -110,31 +102,65 @@
<foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")">
#{bzdh}
</foreach>
and t.invoice_status != '2'
and d.goods_name != '(详见销货清单)'
and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate,t.bzdh
group by d.tax_rate,t.bzdh
</select>
<select id="getZTaxAmount" parameterType="java.util.List" resultType="com.dxhy.core.entity.frJob.FpTaxAmount">
select CONCAT(d.tax_rate*100,t.bzdh) as `key`,sum(CAST(d.detail_amount as decimal(20,2))) as fpse,
sum(CAST(d.detail_amount as decimal(20,2))) as fpje
from 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')
and t.invoice_status != '2'
and d.goods_name != '(详见销货清单)'
group by 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
voucher_record_item i
LEFT JOIN 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
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
voucher_record_item i
LEFT JOIN 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>
<insert id="insertOrUpdate" parameterType="com.dxhy.core.entity.frJob.VoucherRecordQuery" >
REPLACE INTO voucher_record_query(id,zq,xfdm,xfmc,kb,kjkmbh,kjkm,sl,bzdh,kjpz,fpse,sapse,create_time,gysdm,gysmc) values
<foreach collection="voucherRecordQuerys" item="record" separator=",">
(#{record.id},#{record.zq},#{record.xfdm},#{record.xfmc},#{record.kb},#{record.kjkmbh},#{record.kjkm},#{record.sl},#{record.bzdh},#{record.kjpz},#{record.fpse},#{record.sapse},#{record.createTime},#{record.gysdm},#{record.gysmc})
</foreach>
</insert>
<select id="getRzzt" parameterType="java.lang.String" resultType="java.lang.String">
select uuid from t_dx_record_invoice
where uuid in
<foreach collection="uuids" item="uuid" open="(" separator="," close=")">
#{uuid}
</foreach>
and rzh_yesorno in ('1','2')
</select>
</mapper>

@ -1,20 +0,0 @@
<?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
voucher_record_item i
LEFT JOIN 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>

@ -156,6 +156,11 @@
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>

@ -6,6 +6,7 @@
<groupId>com.dxhy</groupId>
<artifactId>ofd</artifactId>
<version>3.2.1</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>

Loading…
Cancel
Save