帆软定时任务升级

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; package com.dxhy.core.dao.frTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -19,8 +21,6 @@ public interface QueryDetailDataDao extends BaseMapper<VoucherRecordQueryDetail>
@Param("endTime") String endTime, @Param("endTime") String endTime,
@Param("kjkmbh") String kjkmbh); @Param("kjkmbh") String kjkmbh);
void insertDataToItem(List<VoucherRecordQueryDetail> voucherRecordQueryDetails);
List<VoucherRecordQueryDetail> getDataFromRecordJe(@Param("beginTime") String beginTime, List<VoucherRecordQueryDetail> getDataFromRecordJe(@Param("beginTime") String beginTime,
@Param("endTime") String endTime, @Param("endTime") String endTime,
@Param("kjkmbh") String kjkmbh); @Param("kjkmbh") String kjkmbh);
@ -28,4 +28,7 @@ public interface QueryDetailDataDao extends BaseMapper<VoucherRecordQueryDetail>
List<VoucherRecordQueryDetail> getDataFromRecordXx(@Param("beginTime") String beginTime, List<VoucherRecordQueryDetail> getDataFromRecordXx(@Param("beginTime") String beginTime,
@Param("endTime") String endTime, @Param("endTime") String endTime,
@Param("kjkmbh") String kjkmbh); @Param("kjkmbh") String kjkmbh);
void saveOrUpdate(List<VoucherRecordQueryDetail> dataFromRecordItems);
} }

@ -1,5 +1,6 @@
package com.dxhy.core.dao.frTask; package com.dxhy.core.dao.frTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.core.entity.frJob.FpTaxAmount; import com.dxhy.core.entity.frJob.FpTaxAmount;
import com.dxhy.core.entity.frJob.VoucherRecordQuery; import com.dxhy.core.entity.frJob.VoucherRecordQuery;
@ -20,8 +21,6 @@ public interface RecordToQueryDao extends BaseMapper<VoucherRecordQuery> {
Date getBeginTimefromRecord(); Date getBeginTimefromRecord();
void insertDataToQuery(List<VoucherRecordQuery> voucherRecordQuerys);
List<FpTaxAmount> getTaxAmount(List<String> bzdhs); List<FpTaxAmount> getTaxAmount(List<String> bzdhs);
List<VoucherRecordQuery> getDataXFromRecordItems(@Param("start") String start, 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> getXTaxAmount(List<String> bzdhs);
List<FpTaxAmount> getZTaxAmount(List<String> bzdhs);
List<VoucherRecordQuery> getDataZFromRecordItems(@Param("start") String start, List<VoucherRecordQuery> getDataZFromRecordItems(@Param("start") String start,
@Param("end") String end, @Param("end") String end,
@Param("kjkmbh") String kjkmbh); @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 xfmc;
/**
* 供应商代码
*/
private String gysdm;
/**
* 供应商名称
*/
private String gysmc;
/** /**
* kb * kb
*/ */

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

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

@ -1,22 +1,19 @@
package com.dxhy.core.service.frJob; 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.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.dao.frTask.QueryDetailDataDao;
import com.dxhy.core.enmu.FplxEnmu; import com.dxhy.core.enmu.FplxEnmu;
import com.dxhy.core.entity.frJob.VoucherRecordQueryDetail; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Service("queryDetailDataService") @Service("queryDetailDataService")
public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao, VoucherRecordQueryDetail> public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao, VoucherRecordQueryDetail>
@ -34,7 +31,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
@Override @Override
public void insertJxDataToQueryDetail(){ public void insertJxDataToQueryDetail(){
//1.查询时间
String[] time = getTime(JXZZS); String[] time = getTime(JXZZS);
//2.按照时间查询增量数据 //2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecord(time[0], time[1],JXZZS); 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){ if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库 //4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems); queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
} }
} }
@Override @Override
public void insertXxDataToQueryDetail(){ public void insertXxDataToQueryDetail(){
//1.查询时间
String[] time = getTime(XXZZS); String[] time = getTime(XXZZS);
//2.按照时间查询增量数据 //2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecordXx(time[0], time[1],XXZZS); 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){ if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库 //4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems); queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
} }
} }
@Override @Override
public void insertZyDataToQueryDetail(){ public void insertZyDataToQueryDetail(){
//1.查询时间
String[] time = getTime(ZYYWSR); String[] time = getTime(ZYYWSR);
//2.按照时间查询增量数据 //2.按照时间查询增量数据
List<VoucherRecordQueryDetail> dataFromRecordItems = queryDetailDataDao.getDataFromRecordJe(time[0], time[1],ZYYWSR); 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){ if (dataFromRecordItems != null && dataFromRecordItems.size() != 0){
dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx()))); dataFromRecordItems.stream().forEach(e->e.setFplxmc(FplxEnmu.getFplxMap().get(e.getFplx())));
//4.添加入库 //4.添加入库
this.saveOrUpdateBatch(dataFromRecordItems); queryDetailDataDao.saveOrUpdate(dataFromRecordItems);
} }
} }
@ -87,7 +84,7 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
//3.时间转换求结束日期 //3.时间转换求结束日期
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(beginTime); calendar.setTime(beginTime);
calendar.add(Calendar.DAY_OF_MONTH,-1); calendar.add(Calendar.HOUR_OF_DAY,-1);
//4.开始时间减一天 //4.开始时间减一天
String begin = format.format(calendar.getTime()); String begin = format.format(calendar.getTime());
//5.结束时间为现在加一天 //5.结束时间为现在加一天
@ -98,4 +95,25 @@ public class QueryDetailDataServiceImpl extends ServiceImpl<QueryDetailDataDao,
String[] time = {begin,end}; String[] time = {begin,end};
return time; 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; package com.dxhy.core.service.frJob;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dxhy.core.entity.frJob.VoucherRecordQuery; import com.dxhy.core.entity.frJob.VoucherRecordQuery;
public interface RecordToQueryService extends IService<VoucherRecordQuery>{ public interface RecordToQueryService extends IService<VoucherRecordQuery> {
void getDataForFr(); void getDataForFr();

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

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!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"> <mapper namespace="com.dxhy.core.dao.frTask.QueryDetailDataDao">
<resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQueryDetail"> <resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQueryDetail">
<id property="id" column="id"/> <id property="id" column="id"/>
<result property="uuid" column="uuid"/> <result property="uuid" column="uuid"/>
@ -18,54 +17,56 @@
<result property="fpdm" column="fpdm"/> <result property="fpdm" column="fpdm"/>
<result property="fpse" column="fpse"/> <result property="fpse" column="fpse"/>
<result property="sl" column="sl"/> <result property="sl" column="sl"/>
<result property="rzzt" column="rzzt"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
</resultMap> </resultMap>
<select id="getDataFromRecord" resultMap="RecordToQuery"> <select id="getDataFromRecord" resultMap="RecordToQuery">
select CONCAT(v.kjkmbh,t.uuid) as id, select CONCAT(v.kjkmbh,t.uuid) as id,
t.uuid as uuid, t.uuid as uuid,
LEFT(v.budat,7) as zq, LEFT(v.budat,7) as zq,
v.xfdm, v.xfdm,
v.xfmc, v.xfmc,
v.kb, v.kb,
v.kjkmbh, v.kjkmbh,
v.kjkm, v.kjkm,
t.bzdh, t.bzdh,
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, GROUP_CONCAT(DISTINCT v.kjpz) as kjpz,
t.invoice_type as fplx, t.invoice_type as fplx,
t.invoice_no as fphm, t.invoice_no as fphm,
t.invoice_code as fpdm, t.invoice_code as fpdm,
sum(CAST(d.tax_amount as decimal(16,2))) as fpse, sum(CAST(d.tax_amount as decimal(16,2))) as fpse,
v.sl, v.sl,
v.create_time 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 from t_dx_record_invoice t inner join t_dx_record_invoice_detail d
on t.uuid = d.uuid on t.uuid = d.uuid
inner join ( inner join (
select r.zbzdh, select r.zbzdh,
CASE i.kbetr as sl,
WHEN LOCATE('.',i.kbetr) >0 r.bukrs as xfdm,
THEN CAST(i.kbetr as decimal(4,1)) r.butxt as xfmc,
ELSE CAST(i.kbetr as decimal(3)) i.racct as kjkmbh,
END as sl, i.txt50 as kjkm,
r.bukrs as xfdm, GROUP_CONCAT(DISTINCT r.belnr) as kjpz,
r.butxt as xfmc, i.zkname as kb,
i.racct as kjkmbh, SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse,
i.txt50 as kjkm, r.budat,
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, r.create_time
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 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},'%') where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime} and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != '' and r.zbzdh != ''
group by r.zbzdh,i.racct group by r.zbzdh,i.racct
) v on t.bzdh = v.zbzdh ) v on t.bzdh = v.zbzdh
where d.tax_rate = v.sl where d.tax_rate = v.sl
and t.invoice_type in ('01','03','08','14','31','183') and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate and d.goods_name != '(详见销货清单)'
group by d.uuid,d.tax_rate
</select> </select>
<select id="getBeginTime" resultType="java.util.Date" parameterType="java.lang.String"> <select id="getBeginTime" resultType="java.util.Date" parameterType="java.lang.String">
@ -81,108 +82,100 @@
</select> </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 id="getDataFromRecordJe" resultMap="RecordToQuery">
select CONCAT(v.kjkmbh,t.uuid) as id, select CONCAT(v.kjkmbh,t.uuid) as id,
t.uuid as uuid, t.uuid as uuid,
LEFT(v.budat,7) as zq, LEFT(v.budat,7) as zq,
v.xfdm, v.xfdm,
v.xfmc, v.xfmc,
v.kb, v.kb,
v.kjkmbh, v.kjkmbh,
v.kjkm, v.kjkm,
t.bzdh, t.bzdh,
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, GROUP_CONCAT(DISTINCT v.kjpz) as kjpz,
t.invoice_type as fplx, t.invoice_type as fplx,
t.invoice_no as fphm, t.invoice_no as fphm,
t.invoice_code as fpdm, t.invoice_code as fpdm,
sum(CAST(d.detail_amount as decimal(16,2))) as fpse, sum(CAST(d.detail_amount as decimal(16,2))) as fpse,
v.sl, v.sl,
v.create_time v.create_time
from t_dx_sale_record_invoice t inner join t_dx_record_invoice_detail_sales d from t_dx_sale_record_invoice t inner join t_dx_record_invoice_detail_sales d
on t.uuid = d.uuid on t.uuid = d.uuid
inner join ( inner join (
select r.zbzdh, select r.zbzdh,
CASE i.kbetr as sl,
WHEN LOCATE('.',i.kbetr) >0 r.bukrs as xfdm,
THEN CAST(i.kbetr as decimal(4,1)) r.butxt as xfmc,
ELSE CAST(i.kbetr as decimal(3)) i.racct as kjkmbh,
END as sl, i.txt50 as kjkm,
r.bukrs as xfdm, GROUP_CONCAT(DISTINCT r.belnr) as kjpz,
r.butxt as xfmc, i.zkname as kb,
i.racct as kjkmbh, SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse,
i.txt50 as kjkm, r.budat,
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, r.create_time
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 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},'%') where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime} and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != '' and r.zbzdh != ''
group by r.zbzdh,i.racct group by r.zbzdh,i.racct
) v on t.bzdh = v.zbzdh ) v on t.bzdh = v.zbzdh
where d.tax_rate * 100 = v.sl where d.tax_rate * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183') and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate and d.goods_name != '(详见销货清单)'
and t.invoice_status != '2'
group by d.uuid,d.tax_rate
</select> </select>
<select id="getDataFromRecordXx" resultMap="RecordToQuery"> <select id="getDataFromRecordXx" resultMap="RecordToQuery">
select CONCAT(v.kjkmbh,t.uuid) as id, select CONCAT(v.kjkmbh,t.uuid) as id,
t.uuid as uuid, t.uuid as uuid,
LEFT(v.budat,7) as zq, LEFT(v.budat,7) as zq,
v.xfdm, v.xfdm,
v.xfmc, v.xfmc,
v.kb, v.kb,
v.kjkmbh, v.kjkmbh,
v.kjkm, v.kjkm,
t.bzdh, t.bzdh,
GROUP_CONCAT(DISTINCT v.kjpz) as kjpz, GROUP_CONCAT(DISTINCT v.kjpz) as kjpz,
t.invoice_type as fplx, t.invoice_type as fplx,
t.invoice_no as fphm, t.invoice_no as fphm,
t.invoice_code as fpdm, t.invoice_code as fpdm,
sum(CAST(d.tax_amount as decimal(16,2))) as fpse, sum(CAST(d.tax_amount as decimal(16,2))) as fpse,
v.sl, v.sl,
v.create_time v.create_time
from t_dx_sale_record_invoice t inner join t_dx_record_invoice_detail_sales d from t_dx_sale_record_invoice t inner join t_dx_record_invoice_detail_sales d
on t.uuid = d.uuid on t.uuid = d.uuid
inner join ( inner join (
select r.zbzdh, select r.zbzdh,
CASE i.kbetr as sl,
WHEN LOCATE('.',i.kbetr) >0 r.bukrs as xfdm,
THEN CAST(i.kbetr as decimal(4,1)) r.butxt as xfmc,
ELSE CAST(i.kbetr as decimal(3)) i.racct as kjkmbh,
END as sl, i.txt50 as kjkm,
r.bukrs as xfdm, GROUP_CONCAT(DISTINCT r.belnr) as kjpz,
r.butxt as xfmc, i.zkname as kb,
i.racct as kjkmbh, SUM(IFNULL(CAST(i.zhslj as DECIMAL(20,2)),0.00)) as sapse,
i.txt50 as kjkm, r.budat,
GROUP_CONCAT(DISTINCT r.belnr) as kjpz, r.create_time
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 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},'%') where i.racct like CONCAT(#{kjkmbh},'%')
and r.create_time between #{beginTime} and #{endTime} and r.create_time between #{beginTime} and #{endTime}
and r.zbzdh != '' and r.zbzdh != ''
group by r.zbzdh,i.racct group by r.zbzdh,i.racct
) v on t.bzdh = v.zbzdh ) v on t.bzdh = v.zbzdh
where d.tax_rate * 100 = v.sl where d.tax_rate * 100 = v.sl
and t.invoice_type in ('01','03','08','14','31','183') and t.invoice_type in ('01','03','08','14','31','183')
group by d.uuid,d.tax_rate and d.goods_name != '(详见销货清单)'
and t.invoice_status != '2'
group by d.uuid,d.tax_rate
</select> </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> </mapper>

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!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"> <mapper namespace="com.dxhy.core.dao.frTask.RecordToQueryDao">
<resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQuery"> <resultMap id="RecordToQuery" type="com.dxhy.core.entity.frJob.VoucherRecordQuery">
<id property="id" column="id"/> <id property="id" column="id"/>
<result property="zq" column="zq"/> <result property="zq" column="zq"/>
@ -14,38 +13,42 @@
<result property="sapse" column="sapse"/> <result property="sapse" column="sapse"/>
<result property="kjpz" column="pzh"/> <result property="kjpz" column="pzh"/>
<result property="bzdh" column="bzdh"/> <result property="bzdh" column="bzdh"/>
<result property="gysdm" column="zbzcg"/>
<result property="gysmc" column="zbzcgt"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
</resultMap> </resultMap>
<select id="getDataFromRecordItems" resultMap="RecordToQuery"> <select id="getDataFromRecordItems" resultMap="RecordToQuery">
SELECT SELECT
CONCAT(i.racct,v.zbzdh) as id, CONCAT(i.racct,v.zbzdh) as id,
SUBSTRING(v.budat,1,7) zq, SUBSTRING(v.budat,1,7) zq,
i.kbetr as sl, i.kbetr as sl,
v.bukrs as xfdm, v.bukrs as xfdm,
v.butxt as xfmc, v.butxt as xfmc,
i.zkname as kb, i.zkname as kb,
i.racct as kjkmbh, i.racct as kjkmbh,
i.txt50 as kjkm, i.txt50 as kjkm,
sum(CAST(i.zhslj as decimal(20,2))) as sapse, sum(CAST(i.zhslj as decimal(20,2))) as sapse,
v.belnr as pzh, v.belnr as pzh,
v.zbzdh as bzdh, v.zbzdh as bzdh,
v.create_time v.zbzcgt,
FROM v.zbzcg,
voucher_record_item i v.create_time
LEFT JOIN voucher_record v FROM
ON v.id = i.relation_id voucher_record_item i
where i.racct like CONCAT(#{kjkmbh},'%') LEFT JOIN voucher_record v
and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} ON v.id = i.relation_id
and v.zbzdh != '' where i.racct like CONCAT(#{kjkmbh},'%')
group by v.zbzdh,i.racct 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>
<select id="getBeginTime" resultType="java.util.Date"> <select id="getBeginTime" resultType="java.util.Date">
select STR_TO_DATE(create_time,'%Y-%m-%d %H:%i:%s') as create_time select STR_TO_DATE(create_time,'%Y-%m-%d %H:%i:%s') as create_time
from voucher_record_query from voucher_record_query
where kjkmbh like CONCAT(#{kjkmbh},'%') where kjkmbh like CONCAT(#{kjkmbh},'%')
order by create_time desc limit 1 order by create_time desc limit 1
</select> </select>
@ -53,18 +56,6 @@
select create_time from voucher_record order by create_time limit 1 select create_time from voucher_record order by create_time limit 1
</select> </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 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 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 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=")"> <foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")">
#{bzdh} #{bzdh}
</foreach> </foreach>
and d.goods_name != '(详见销货清单)'
and t.invoice_type in ('01','03','08','14','31','183') 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>
<select id="getDataXFromRecordItems" resultMap="RecordToQuery"> <select id="getDataXFromRecordItems" resultMap="RecordToQuery">
SELECT SELECT
CONCAT(i.racct,v.zbzdh) as id, CONCAT(i.racct,v.zbzdh) as id,
SUBSTRING(v.budat,1,7) zq, SUBSTRING(v.budat,1,7) zq,
i.kbetr as sl, i.kbetr as sl,
v.bukrs as xfdm, v.bukrs as xfdm,
v.butxt as xfmc, v.butxt as xfmc,
i.zkname as kb, i.zkname as kb,
i.racct as kjkmbh, i.racct as kjkmbh,
i.txt50 as kjkm, i.txt50 as kjkm,
sum(CAST(i.zwsld as decimal(20,2))) as sapse, sum(CAST(i.zwsld as decimal(20,2))) as sapse,
v.belnr as pzh, v.belnr as pzh,
v.zbzdh as bzdh, v.zbzdh as bzdh,
v.create_time v.create_time
FROM FROM
voucher_record_item i voucher_record_item i
LEFT JOIN voucher_record v LEFT JOIN voucher_record v
ON v.id = i.relation_id ON v.id = i.relation_id
where i.racct like CONCAT(#{kjkmbh},'%') where i.racct like CONCAT(#{kjkmbh},'%')
and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end}
and v.zbzdh != '' and v.zbzdh != ''
group by v.zbzdh,i.racct group by v.zbzdh,i.racct
</select> </select>
<select id="getXTaxAmount" parameterType="java.util.List" resultType="com.dxhy.core.entity.frJob.FpTaxAmount"> <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 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 from t_dx_record_invoice_detail_sales d inner join t_dx_sale_record_invoice t
on d.uuid = t.uuid on d.uuid = t.uuid
@ -110,31 +102,65 @@
<foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")"> <foreach collection="bzdhs" item="bzdh" open="(" separator="," close=")">
#{bzdh} #{bzdh}
</foreach> </foreach>
and t.invoice_status != '2'
and d.goods_name != '(详见销货清单)'
and t.invoice_type in ('01','03','08','14','31','183') 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>
<select id="getDataZFromRecordItems" resultMap="RecordToQuery"> <select id="getDataZFromRecordItems" resultMap="RecordToQuery">
SELECT SELECT
CONCAT(i.racct,v.zbzdh) as id, CONCAT(i.racct,v.zbzdh) as id,
SUBSTRING(v.budat,1,7) zq, SUBSTRING(v.budat,1,7) zq,
i.kbetr as sl, i.kbetr as sl,
v.bukrs as xfdm, v.bukrs as xfdm,
v.butxt as xfmc, v.butxt as xfmc,
i.zkname as kb, i.zkname as kb,
i.racct as kjkmbh, i.racct as kjkmbh,
i.txt50 as kjkm, i.txt50 as kjkm,
sum(CAST(i.zwsld as decimal(20,2))) as sapse, sum(CAST(i.zwsld as decimal(20,2))) as sapse,
v.belnr as pzh, v.belnr as pzh,
v.zbzdh as bzdh, v.zbzdh as bzdh,
v.create_time v.create_time
FROM FROM
voucher_record_item i voucher_record_item i
LEFT JOIN voucher_record v LEFT JOIN voucher_record v
ON v.id = i.relation_id ON v.id = i.relation_id
where i.racct like CONCAT(#{kjkmbh},'%') where i.racct like CONCAT(#{kjkmbh},'%')
and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end} and DATE_FORMAT(v.create_time,'%Y-%m-%d %H:%i:%s') between #{start} and #{end}
and v.zbzdh != '' and v.zbzdh != ''
group by v.zbzdh,i.racct 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> </select>
</mapper> </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> <artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.2</version> <version>3.0.2</version>
</dependency> </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>

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

Loading…
Cancel
Save